higlass 1.13.1 → 1.13.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/hglib.js CHANGED
@@ -162,7 +162,7 @@ function _get4(){if(typeof Reflect!=="undefined"&&Reflect.get){_get4=Reflect.get
162
162
  <use id="Rectangle" stroke="#979797" mask="url(#arrowHeadDomainsStr-mask-4)" stroke-width="22" fill="#D8D8D8" xlink:href="#arrowHeadDomainsStr-path-3"></use>
163
163
  </g>
164
164
  </svg>
165
- `;const svgArrowheadDomainsIcon=parser$3.parseFromString(arrowHeadDomainsStr,"text/xml").documentElement;function SearchIcon({theStyle,onClick}){return/* @__PURE__ */React__default.default.createElement("svg",{className:stylesMTHeader[theStyle],viewBox:"0 0 12 13",onClick,xmlns:"http://www.w3.org/2000/svg"},/* @__PURE__ */React__default.default.createElement("g",{fill:"none",stroke:"#6c6c6c",strokeWidth:"2"},/* @__PURE__ */React__default.default.createElement("path",{d:"M11.29 11.71l-4-4"}),/* @__PURE__ */React__default.default.createElement("circle",{cx:"5",cy:"5",r:"4"})));}const osm={type:"osm-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"OSM Tiles",thumbnail:svgGeoMapIcon,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}};const mapbox={type:"mapbox-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"Mapbox Tiles",thumbnail:svgGeoMapIcon,availableOptions:["style","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{style:"mapbox.streets",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}};const TRACKS_INFO=[osm,{...osm,type:"osm"},mapbox,{...mapbox,type:"mapbox"},{type:"left-axis",datatype:["axis"],local:true,orientation:"1d-vertical",name:"Left Axis",thumbnail:svgVertical1DAxisIcon,availableOptions:["minWidth"],defaultOptions:{minWidth:100}},{type:"top-axis",datatype:["axis"],local:true,orientation:"1d-horizontal",name:"Top Axis",thumbnail:svg1DAxisIcon,defaultOptions:{}},{type:"horizontal-rule",datatype:["x-coord"],local:true,orientation:"whole",name:"Horizontal Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"vertical-rule",datatype:["y-coord"],local:true,orientation:"whole",name:"Vertical Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"cross-rule",datatype:["xy-coord"],local:true,orientation:"whole",name:"Cross Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"simple-svg",datatype:[],local:false,orientation:"2d",exportable:true,availableOptions:["minWidth","minHeight"],defaultOptions:{minWidth:100,minHeight:100}},{type:"heatmap",datatype:["matrix"],local:false,orientation:"2d",thumbnail:svg2DHeatmapIcon,exportable:true,availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","colorbarBackgroundColor","maxZoom","minWidth","minHeight","dataTransform","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling","showMousePosition","mousePositionColor","showTooltip","extent","zeroValueColor"],defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],colorbarBackgroundColor:"#ffffff",maxZoom:null,minWidth:100,minHeight:100,colorbarPosition:"topRight",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",showMousePosition:false,mousePositionColor:"#000000",showTooltip:false,extent:"full",zeroValueColor:null},defaultOptionsByTheme:{[THEME_DARK]:{backgroundColor:"#000000",colorRange:["black","rgba(208,2,27,1.0)","rgba(245,166,35,1.0)","white"],colorbarBackgroundColor:"#000000",labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"linear-heatmap",aliases:["horizontal-heatmap","vertical-heatmap"],datatype:["matrix"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svg2DHeatmapIcon,defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,labelColor:"black",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],maxZoom:null,minWidth:100,minHeight:40,trackBorderWidth:0,trackBorderColor:"black"},availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","maxZoom","minWidth","minHeight","dataTransform","oneDHeatmapFlipped","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling"]},{type:"line",aliases:["horizontal-line","vertical-line"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svgHorizontalLineIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","lineStrokeWidth","lineStrokeColor","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode","minHeight"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelBackgroundColor:"white",labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",lineStrokeColor:"blue",lineStrokeWidth:1,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,showMousePosition:false,minHeight:20,mousePositionColor:"#000000",showTooltip:false},defaultOptionsByTheme:{[THEME_DARK]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"1d-heatmap",aliases:["horizontal-1d-heatmap","vertical-1d-heatmap"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svgHorizontal1dHeatmap,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin","colorRange","valueScaling","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisPositionHorizontal:"right",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,showMousePosition:false,mousePositionColor:"#000000",showTooltip:false}},{type:"vector-heatmap",aliases:["horizontal-vector-heatmap","vertical-vector-heatmap"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,minHeight:1,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,labelColor:"black",labelTextOpacity:0.4,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log"}},{type:"multivec",aliases:["horizontal-multivec","vertical-multivec"],datatype:["multivec"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","minHeight","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling","selectRows","selectRowsAggregationMode","selectRowsAggregationWithRelativeHeight","selectRowsAggregationMethod","colorbarBackgroundColor","colorbarPosition","zeroValueColor"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,labelColor:"black",labelTextOpacity:0.4,minHeight:100,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",selectRows:null,selectRowsAggregationMode:"mean",selectRowsAggregationWithRelativeHeight:true,selectRowsAggregationMethod:"client",colorbarBackgroundColor:"#ffffff",colorbarPosition:"topRight",zeroValueColor:null},defaultOptionsByTheme:{[THEME_DARK]:{colorbarBackgroundColor:"#000000"}}},{type:"point",aliases:["horizontal-point","vertical-point"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","pointColor","pointSize","valueScaling","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",pointColor:"red",pointSize:3,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4}},{type:"divergent-bar",aliases:["horizontal-divergent-bar","vertical-divergent-bar"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColorTop","barFillColorBottom","valueScaling","trackBorderWidth","trackBorderColor","barOpacity"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisPositionHorizontal:"right",axisLabelFormatting:"scientific",barFillColorBottom:"red",barFillColorTop:"green",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,barOpacity:1}},{type:"bar",aliases:["horizontal-bar","vertical-bar"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["align","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColor","colorRange","colorRangeGradient","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","barOpacity","showMousePosition","showTooltip","aggregationMode","zeroLineVisible","zeroLineColor","zeroLineOpacity"],defaultOptions:{align:"bottom",labelColor:"[glyph-color]",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",barFillColor:"darkgreen",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,barOpacity:1}},{type:"2d-tiles",datatype:["matrix"],local:false,orientation:"2d",name:"2D Tile Outlines",thumbnail:svg2DTilesIcon},{type:"1d-value-interval",aliases:["horizontal-1d-value-interval","vertical-1d-value-interval"],datatype:["bed-value"],local:false,orientation:"1d-horizontal",rotatable:true,name:"1D Rectangles",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,axisPositionHorizontal:"left",lineStrokeColor:"blue",valueScaling:"linear"}},{type:"stacked-interval",aliases:["top-stacked-interval","left-stacked-interval"],datatype:["stacked-interval"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:"horizontal-stacked-interval.png",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity"]},{type:"viewport-projection-vertical",datatype:["1d-projection"],local:true,hidden:true,projection:true,orientation:"1d-vertical",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"viewport-projection-horizontal",datatype:["1d-projection"],local:true,hidden:true,projection:true,orientation:"1d-horizontal",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"viewport-projection-center",datatype:["2d-projection"],local:true,hidden:true,projection:true,orientation:"2d",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"gene-annotations",aliases:["horizontal-gene-annotations","vertical-gene-annotations"],datatype:["gene-annotation"],local:false,defaultHeight:90,defaultWidth:90,rotatable:true,orientation:"1d-horizontal",name:"Gene Annotations",thumbnail:svgGeneAnnotationsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","minHeight","plusStrandColor","minusStrandColor","trackBorderWidth","trackBorderColor","showMousePosition","mousePositionColor","fontSize","geneAnnotationHeight","geneLabelPosition","geneStrandSpacing"],defaultOptions:{fontSize:10,labelColor:"black",labelBackgroundColor:"#ffffff",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:24,plusStrandColor:"blue",minusStrandColor:"red",trackBorderWidth:0,trackBorderColor:"black",showMousePosition:false,mousePositionColor:"#000000",geneAnnotationHeight:16,geneLabelPosition:"outside",geneStrandSpacing:4},defaultOptionsByTheme:{[THEME_DARK]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff",plusStrandColor:"#40a0ff"}}},{type:"arrowhead-domains",datatype:["arrowhead-domains"],local:false,orientation:"2d",name:"Arrowhead Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"linear-2d-rectangle-domains",aliases:["horizontal-2d-rectangle-domains","vertical-2d-rectangle-domains"],datatype:["2d-rectangle-domains"],local:false,orientation:"1d-horizontal",rotatable:true,name:"Horizontal 2D Rectangle Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none"}},{type:"2d-rectangle-domains",datatype:["2d-rectangle-domains"],local:false,orientation:"2d",name:"2D Rectangle Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["flipDiagonal","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainFillOpacity","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{flipDiagonal:"none",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainFillOpacity:0.4,rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none"}},{type:"horizontal-1d-annotations",datatype:["nothing"],local:false,orientation:"1d-horizontal",name:"Horizontal 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","strokeWidth","strokePos","regions"],defaultOptions:{fill:"red",fillOpacity:0.2,stroke:"red",strokeOpacity:0,strokeWidth:1,regions:[],strokePos:[]}},{type:"vertical-1d-annotations",datatype:["nothing"],local:false,orientation:"1d-vertical",name:"Vertical 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","regions"],defaultOptions:{fill:"red",fillOpacity:"0.2",stroke:"red",strokeOpacity:"0",regions:[]}},{type:"2d-annotations",datatype:["2d-annotations"],local:false,orientation:"2d",name:"2D Annotations",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize","isClickable","hoverColor","selectColor","exclude","trackBorderBgWidth","trackBorderBgColor","trackBorderBgAlpha"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none",isClickable:false,hoverColor:"orange",selectColor:"fuchsia",exclude:[],trackBorderBgWidth:0,trackBorderBgColor:"black",trackBorderBgAlpha:0.33}},{type:"square-markers",datatype:["bedpe"],local:false,orientation:"2d",name:"Square Markers",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"combined",datatype:"any",local:true,orientation:"any"},{type:"horizontal-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"1d-horizontal",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:false}},{type:"vertical-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"1d-vertical",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:false}},{type:"2d-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"2d",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey"}},{type:"2d-chromosome-annotations",datatype:["chromsizes"],local:true,orientation:"2d",name:"2D Chromosome Annotations",thumbnail:null,hidden:true},{type:"2d-chromosome-labels",datatype:["chromsizes"],local:true,orientation:"2d",name:"Pairwise Chromosome Labels",thumbnail:null},{type:"chromosome-labels",aliases:["horizontal-chromosome-labels","vertical-chromosome-labels"],datatype:["chromsizes"],orientation:"1d-horizontal",rotatable:true,minHeight:35,defaultHeight:30,name:"Chromosome Axis",thumbnail:null,availableOptions:["color","stroke","fontSize","fontIsLeftAligned","showMousePosition","mousePositionColor","tickPositions","tickFormat","reverseOrientation"],defaultOptions:{color:"#808080",stroke:"#ffffff",fontSize:12,fontIsLeftAligned:false,showMousePosition:false,mousePositionColor:"#000000",reverseOrientation:false},defaultOptionsByTheme:{[THEME_DARK]:{color:"#808080",stroke:"#000000",mousePositionColor:"#ffffff"}}},{type:"vertical-1d-tiles",datatype:["1d-tiles"],local:false,orientation:"1d-vertical",name:"Vertical 1D Tile Outlines",thumbnail:svgVertical1DTilesIcon},{type:"horizontal-1d-tiles",datatype:["vector","stacked-interval","gene-annotation"],local:false,orientation:"1d-horizontal",name:"Horizontal 1D Tile Outlines",thumbnail:svg1DTilesIcon},{type:"osm-2d-tile-ids",datatype:["map-tiles"],local:false,orientation:"2d",name:"OSM Tile Outlines",thumbnail:svg2DTilesIcon,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"raster-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"Raster Tiles",thumbnail:svgGeoMapIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"image-tiles",datatype:["image-tiles"],local:true,orientation:"2d",hidden:true,name:"Image Tiles",thumbnail:null},{type:"bedlike",datatype:["bedlike"],aliases:["vertical-bedlike"],local:false,orientation:"1d-horizontal",rotatable:true,name:"BED-like track",thumbnail:null,availableOptions:["alternating","annotationHeight","annotationStyle","fillColor","fillOpacity","fontColor","fontSize","minusStrandColor","plusStrandColor","labelBottomMargin","labelColor","labelLeftMargin","labelPosition","labelRightMargin","labelTopMargin","labelTextOpacity","labelBackgroundOpacity","maxAnnotationHeight","minHeight","trackBorderWidth","trackBorderColor","valueColumn","colorEncoding","colorRange","colorEncodingRange","separatePlusMinusStrands","showTexts","axisPositionHorizontal","axisMargin"],defaultOptions:{alternating:false,annotationStyle:"box",fillColor:"blue",fillOpacity:0.3,fontSize:"10",axisPositionHorizontal:"right",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:20,maxAnnotationHeight:null,trackBorderWidth:0,trackBorderColor:"black",valueColumn:null,colorEncoding:"itemRgb",showTexts:false,colorRange:["#000000","#652537","#bf5458","#fba273","#ffffe0"],colorEncodingRange:false,separatePlusMinusStrands:true,annotationHeight:16}},{type:"empty",datatype:[],orientation:"1d-horizontal",name:"Empty track",thumbnail:null,availableOptions:[],defaultOptions:{}}];const DATATYPE_TO_TRACK_TYPE=orientation2=>{const localDatatypeToTrackType={};const orientationMatches=trackInfo2=>{if(trackInfo2.orientation===orientation2){return true;}if(orientation2==="1d-vertical"&&trackInfo2.orientation==="1d-horizontal"&&trackInfo2.rotatable){return true;}return false;};TRACKS_INFO.filter(orientationMatches).forEach(ti=>{let datatypes=ti.datatype;if(!Array.isArray(ti.datatype)){datatypes=[datatypes];}datatypes.forEach(datatype=>{if(!(datatype in localDatatypeToTrackType)){localDatatypeToTrackType[datatype]=[];}localDatatypeToTrackType[datatype].push(ti);});});localDatatypeToTrackType.none=[];return localDatatypeToTrackType;};const HEATED_OBJECT_MAP=[[0,0,0,255],[35,0,0,255],[52,0,0,255],[60,0,0,255],[63,1,0,255],[64,2,0,255],[68,5,0,255],[69,6,0,255],[72,8,0,255],[74,10,0,255],[77,12,0,255],[78,14,0,255],[81,16,0,255],[83,17,0,255],[85,19,0,255],[86,20,0,255],[89,22,0,255],[91,24,0,255],[92,25,0,255],[94,26,0,255],[95,28,0,255],[98,30,0,255],[100,31,0,255],[102,33,0,255],[103,34,0,255],[105,35,0,255],[106,36,0,255],[108,38,0,255],[109,39,0,255],[111,40,0,255],[112,42,0,255],[114,43,0,255],[115,44,0,255],[117,45,0,255],[119,47,0,255],[119,47,0,255],[120,48,0,255],[122,49,0,255],[123,51,0,255],[125,52,0,255],[125,52,0,255],[126,53,0,255],[128,54,0,255],[129,56,0,255],[129,56,0,255],[131,57,0,255],[132,58,0,255],[134,59,0,255],[134,59,0,255],[136,61,0,255],[137,62,0,255],[137,62,0,255],[139,63,0,255],[139,63,0,255],[140,65,0,255],[142,66,0,255],[142,66,0,255],[143,67,0,255],[143,67,0,255],[145,68,0,255],[145,68,0,255],[146,70,0,255],[146,70,0,255],[148,71,0,255],[148,71,0,255],[149,72,0,255],[149,72,0,255],[151,73,0,255],[151,73,0,255],[153,75,0,255],[153,75,0,255],[154,76,0,255],[154,76,0,255],[154,76,0,255],[156,77,0,255],[156,77,0,255],[157,79,0,255],[157,79,0,255],[159,80,0,255],[159,80,0,255],[159,80,0,255],[160,81,0,255],[160,81,0,255],[162,82,0,255],[162,82,0,255],[163,84,0,255],[163,84,0,255],[165,85,0,255],[165,85,0,255],[166,86,0,255],[166,86,0,255],[166,86,0,255],[168,87,0,255],[168,87,0,255],[170,89,0,255],[170,89,0,255],[171,90,0,255],[171,90,0,255],[173,91,0,255],[173,91,0,255],[174,93,0,255],[174,93,0,255],[176,94,0,255],[176,94,0,255],[177,95,0,255],[177,95,0,255],[179,96,0,255],[179,96,0,255],[180,98,0,255],[182,99,0,255],[182,99,0,255],[183,100,0,255],[183,100,0,255],[185,102,0,255],[185,102,0,255],[187,103,0,255],[187,103,0,255],[188,104,0,255],[188,104,0,255],[190,105,0,255],[191,107,0,255],[191,107,0,255],[193,108,0,255],[193,108,0,255],[194,109,0,255],[196,110,0,255],[196,110,0,255],[197,112,0,255],[197,112,0,255],[199,113,0,255],[200,114,0,255],[200,114,0,255],[202,116,0,255],[202,116,0,255],[204,117,0,255],[205,118,0,255],[205,118,0,255],[207,119,0,255],[208,121,0,255],[208,121,0,255],[210,122,0,255],[211,123,0,255],[211,123,0,255],[213,124,0,255],[214,126,0,255],[214,126,0,255],[216,127,0,255],[217,128,0,255],[217,128,0,255],[219,130,0,255],[221,131,0,255],[221,131,0,255],[222,132,0,255],[224,133,0,255],[224,133,0,255],[225,135,0,255],[227,136,0,255],[227,136,0,255],[228,137,0,255],[230,138,0,255],[230,138,0,255],[231,140,0,255],[233,141,0,255],[233,141,0,255],[234,142,0,255],[236,144,0,255],[236,144,0,255],[238,145,0,255],[239,146,0,255],[241,147,0,255],[241,147,0,255],[242,149,0,255],[244,150,0,255],[244,150,0,255],[245,151,0,255],[247,153,0,255],[247,153,0,255],[248,154,0,255],[250,155,0,255],[251,156,0,255],[251,156,0,255],[253,158,0,255],[255,159,0,255],[255,159,0,255],[255,160,0,255],[255,161,0,255],[255,163,0,255],[255,163,0,255],[255,164,0,255],[255,165,0,255],[255,167,0,255],[255,167,0,255],[255,168,0,255],[255,169,0,255],[255,169,0,255],[255,170,0,255],[255,172,0,255],[255,173,0,255],[255,173,0,255],[255,174,0,255],[255,175,0,255],[255,177,0,255],[255,178,0,255],[255,179,0,255],[255,181,0,255],[255,181,0,255],[255,182,0,255],[255,183,0,255],[255,184,0,255],[255,187,7,255],[255,188,10,255],[255,189,14,255],[255,191,18,255],[255,192,21,255],[255,193,25,255],[255,195,29,255],[255,197,36,255],[255,198,40,255],[255,200,43,255],[255,202,51,255],[255,204,54,255],[255,206,61,255],[255,207,65,255],[255,210,72,255],[255,211,76,255],[255,214,83,255],[255,216,91,255],[255,219,98,255],[255,221,105,255],[255,223,109,255],[255,225,116,255],[255,228,123,255],[255,232,134,255],[255,234,142,255],[255,237,149,255],[255,239,156,255],[255,240,160,255],[255,243,167,255],[255,246,174,255],[255,248,182,255],[255,249,185,255],[255,252,193,255],[255,253,196,255],[255,255,204,255],[255,255,207,255],[255,255,211,255],[255,255,218,255],[255,255,222,255],[255,255,225,255],[255,255,229,255],[255,255,233,255],[255,255,236,255],[255,255,240,255],[255,255,244,255],[255,255,247,255],[255,255,255,0]];const TRACKS_INFO_BY_TYPE=TRACKS_INFO.reduce((tracksByType,track)=>{tracksByType[track.type]=track;if(track.aliases){for(const alias of track.aliases){tracksByType[alias]=track;}}return tracksByType;},{});const POSITIONS_BY_DATATYPE=TRACKS_INFO.reduce((positionsByDatatype,track)=>{for(let i2=0;i2<track.datatype.length;i2++){const datatype=track.datatype[i2];if(positionsByDatatype[datatype]){positionsByDatatype[datatype].add(track.orientation);}else{positionsByDatatype[datatype]=/* @__PURE__ */new Set();}return positionsByDatatype;}return{};},{});const DEFAULT_TRACKS_FOR_DATATYPE={chromsizes:{center:"2d-chromosome-grid",top:"chromosome-labels",left:"chromosome-labels",bottom:"chromosome-labels",right:"chromosome-labels"},matrix:{center:"heatmap",top:"linear-heatmap",left:"linear-heatmap",right:"linear-heatmap",bottom:"linear-heatmap"},vector:{top:"bar",bottom:"bar",left:"bar",right:"bar"},"geo-json":{center:"geo-json"},"gene-annotation":{top:"gene-annotations",bottom:"gene-annotations",left:"gene-annotations",right:"gene-annotations"},bedlike:{top:"bedlike",bottom:"bedlike",left:"vertical-bedlike",right:"vertical-bedlike"}};const AVAILABLE_TRACK_TYPES=(datatypes,orientation2)=>{const datatypesToTrackTypes=DATATYPE_TO_TRACK_TYPE(orientation2);let availableTrackTypes=new Set(Object.values(datatypesToTrackTypes).flatMap(x=>x));for(const datatype of datatypes){const dataTypeSet=new Set(datatype);availableTrackTypes=new Set([...availableTrackTypes].filter(x=>x.datatype.filter(y=>dataTypeSet.has(y)).length>0));}return[...availableTrackTypes];};const NUM_PRECOMP_SUBSETS_PER_1D_TTILE=8;const NUM_PRECOMP_SUBSETS_PER_2D_TTILE=8;const _configs=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,THEME_LIGHT,THEME_DARK,THEME_DEFAULT,GLOBALS,DATATYPE_TO_TRACK_TYPE,HEATED_OBJECT_MAP,TRACKS_INFO,TRACKS_INFO_BY_TYPE,POSITIONS_BY_DATATYPE,DEFAULT_TRACKS_FOR_DATATYPE,AVAILABLE_TRACK_TYPES,NUM_PRECOMP_SUBSETS_PER_1D_TTILE,NUM_PRECOMP_SUBSETS_PER_2D_TTILE,DEFAULT_VIEW_MARGIN,DEFAULT_VIEW_PADDING,DEFAULT_CONTAINER_PADDING_X,DEFAULT_CONTAINER_PADDING_Y,MAX_CLICK_DELAY:MAX_CLICK_DELAY$1,MOUSE_TOOL_MOVE,MOUSE_TOOL_SELECT,TILE_FETCH_DEBOUNCE,ZOOM_DEBOUNCE,SHORT_DRAG_TIMEOUT,LONG_DRAG_TIMEOUT,LOCATION_LISTENER_PREFIX,ZOOM_TRANSITION_DURATION,DEFAULT_SERVER,VIEW_HEADER_MED_WIDTH_SEARCH_BAR,VIEW_HEADER_MIN_WIDTH_SEARCH_BAR,TRACK_LOCATIONS,MIN_HORIZONTAL_HEIGHT,MIN_VERTICAL_WIDTH},Symbol.toStringTag,{value:"Module"}));const colorToHex=colorValue=>{const c2=color(colorValue);const hex2=GLOBALS.PIXI.utils.rgb2hex([c2.r/255,c2.g/255,c2.b/255]);return hex2;};const colorToRgba=colorValue=>{if(colorValue==="transparent"){return[255,255,255,0];}const c2=color(colorValue);return[c2.r,c2.g,c2.b,255];};const dataToGenomicLoci=(x02,x12,chromInfo)=>{const gX0=absToChr(x02,chromInfo);const gX1=absToChr(x12,chromInfo);if(!gX0||!gX1){throw new Error("Couldn't convert data to genomic coordinates");}return[gX0[0],Math.round(gX0[1]),gX1[0],Math.round(gX1[1])];};const debounce$1=(func,wait,immediate)=>{let timeout2;const debounced=(...args)=>{const later=()=>{timeout2=void 0;if(!immediate){func(...args);}};const callNow=immediate&&!timeout2;clearTimeout(timeout2);timeout2=setTimeout(later,wait);if(callNow){func(...args);}};debounced.cancel=()=>{clearTimeout(timeout2);timeout2=void 0;};return debounced;};const decToHexStr=dec=>(dec+16**6).toString(16).substr(-6);const dictFromTuples=tuples=>{const dict={};tuples.forEach(x=>{dict[x[0]]=x[1];});return dict;};const dictItems=dictionary=>{const keyValues=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){keyValues.push([key,dictionary[key]]);}}return keyValues;};function dictKeys(dictionary){const keys2=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){keys2.push(key);}}return keys2;}function dictValues(dictionary){const values=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){values.push(dictionary[key]);}}return values;}function download(filename,stringOrBlob){const blob=typeof stringOrBlob==="string"?new Blob([stringOrBlob],{type:"application/octet-stream"}):stringOrBlob;const elem=window.document.createElement("a");elem.href=window.URL.createObjectURL(blob);elem.download=filename;document.body.appendChild(elem);elem.click();document.body.removeChild(elem);URL.revokeObjectURL(elem.href);}const fillInMinWidths=tracks2=>{const horizontalLocations=["top","bottom","gallery"];const verticalLocations=["left","right","gallery"];tracks2.center=tracks2.center||[];tracks2.left=tracks2.left||[];tracks2.right=tracks2.right||[];tracks2.top=tracks2.top||[];tracks2.bottom=tracks2.bottom||[];tracks2.whole=tracks2.whole||[];tracks2.gallery=tracks2.gallery||[];horizontalLocations.map(horizontalLocation=>tracks2[horizontalLocation]).forEach(horizontalTracks=>horizontalTracks.forEach(track=>{const trackInfo2=TRACKS_INFO_BY_TYPE[track.type];const defaultOptions=trackInfo2&&trackInfo2.defaultOptions||{};const options2=track.options?{...defaultOptions,...track.options}:defaultOptions;if(options2.minHeight!==void 0&&track.height===void 0){track.height=options2.minHeight;}if(track.height===void 0){track.height=trackInfo2&&trackInfo2.defaultHeight||MIN_HORIZONTAL_HEIGHT;}}));verticalLocations.map(verticalLocation=>tracks2[verticalLocation]).forEach(verticalTracks=>verticalTracks.forEach(track=>{const trackInfo2=TRACKS_INFO_BY_TYPE[track.type];const defaultOptions=trackInfo2&&trackInfo2.defaultOptions||{};const options2=track.options?{...defaultOptions,...track.options}:defaultOptions;if(options2.minWidth!==void 0&&track.width===void 0){track.width=options2.minWidth;}if(track.width===void 0){track.width=trackInfo2&&trackInfo2.defaultWidth||MIN_VERTICAL_WIDTH;}}));return tracks2;};const reduce=f2=>x=>Array.prototype.reduce.call(x,f2);const flatten$1=reduce((a,b)=>a.concat(b));const forEach$2=f2=>x=>Array.prototype.forEach.call(x,f2);const forwardEvent=(event,target)=>{target.dispatchEvent(cloneEvent(event));};const genomeLociToPixels=(genomeLoci,chromInfo)=>[chrToAbs(genomeLoci[0],genomeLoci[1],chromInfo),chrToAbs(genomeLoci[2],genomeLoci[3],chromInfo)];function genomicRangeToChromosomeChunks(chromSizes,genomicStart,genomicEnd,binSize,tileSize){const{chr:chrStart,pos:chrStartPos}=genomicStart;const{chr:chrEnd,pos:chrEndPos}=genomicEnd;const chrChunks=[];if(chrStart===chrEnd){const chrName=chrStart;const zStart=Math.floor(chrStartPos/binSize);const zEnd=Math.min(zStart+tileSize,Math.ceil(chrEndPos/binSize));chrChunks.push([chrName,zStart,zEnd]);}else{let zRemaining=tileSize;const chrStartIndex=chromSizes.findIndex(([chrName])=>chrName===chrStart);const chrEndIndex=chromSizes.findIndex(([chrName])=>chrName===chrEnd);for(let chrIndex=chrStartIndex;chrIndex<=chrEndIndex;chrIndex++){let chrChunkStart;let chrChunkEnd;const[currChrName,currChrLen]=chromSizes[chrIndex];if(chrIndex<chrEndIndex){if(chrIndex===chrStartIndex){chrChunkStart=chrStartPos;}else{chrChunkStart=0;}chrChunkEnd=currChrLen;}else{chrChunkStart=0;chrChunkEnd=chrEndPos;}const zStart=Math.floor(chrChunkStart/binSize);const zEnd=Math.min(zStart+zRemaining,Math.ceil(chrChunkEnd/binSize));chrChunks.push([currChrName,zStart,zEnd]);zRemaining-=zEnd-zStart;}}return chrChunks;}const getDefaultTrackForDatatype=(datatype,position,availableTracks)=>{if(availableTracks.length===0){return void 0;}if(availableTracks.length===1){return availableTracks[0];}let usedTrack=availableTracks[0];const defaultTrackType=DEFAULT_TRACKS_FOR_DATATYPE[datatype]!==void 0?DEFAULT_TRACKS_FOR_DATATYPE[datatype][position]:void 0;if(defaultTrackType!==void 0){usedTrack=availableTracks.find(tt=>tt.type===defaultTrackType)||usedTrack;}return usedTrack;};var EOL$1={},EOF$1={},QUOTE$1=34,NEWLINE$1=10,RETURN$1=13;function objectConverter$1(columns){return new Function("d","return {"+columns.map(function(name,i2){return JSON.stringify(name)+": d["+i2+'] || ""';}).join(",")+"}");}function customConverter$1(columns,f2){var object2=objectConverter$1(columns);return function(row,i2){return f2(object2(row),i2,columns);};}function inferColumns$1(rows){var columnSet=/* @__PURE__ */Object.create(null),columns=[];rows.forEach(function(row){for(var column in row){if(!(column in columnSet)){columns.push(columnSet[column]=column);}}});return columns;}function pad$1(value2,width){var s=value2+"",length2=s.length;return length2<width?new Array(width-length2+1).join(0)+s:s;}function formatYear$1(year){return year<0?"-"+pad$1(-year,6):year>9999?"+"+pad$1(year,6):pad$1(year,4);}function formatDate$1(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$2(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse2(text2,f2){var convert,columns,rows=parseRows(text2,function(row,i2){if(convert)return convert(row,i2-1);columns=row,convert=f2?customConverter$1(row,f2):objectConverter$1(row);});rows.columns=columns||[];return rows;}function parseRows(text2,f2){var rows=[],N=text2.length,I=0,n=0,t,eof=N<=0,eol=false;if(text2.charCodeAt(N-1)===NEWLINE$1)--N;if(text2.charCodeAt(N-1)===RETURN$1)--N;function token2(){if(eof)return EOF$1;if(eol)return eol=false,EOL$1;var i2,j=I,c2;if(text2.charCodeAt(j)===QUOTE$1){while(I++<N&&text2.charCodeAt(I)!==QUOTE$1||text2.charCodeAt(++I)===QUOTE$1);if((i2=I)>=N)eof=true;else if((c2=text2.charCodeAt(I++))===NEWLINE$1)eol=true;else if(c2===RETURN$1){eol=true;if(text2.charCodeAt(I)===NEWLINE$1)++I;}return text2.slice(j+1,i2-1).replace(/""/g,'"');}while(I<N){if((c2=text2.charCodeAt(i2=I++))===NEWLINE$1)eol=true;else if(c2===RETURN$1){eol=true;if(text2.charCodeAt(I)===NEWLINE$1)++I;}else if(c2!==DELIMITER)continue;return text2.slice(j,i2);}return eof=true,text2.slice(j,N);}while((t=token2())!==EOF$1){var row=[];while(t!==EOL$1&&t!==EOF$1)row.push(t),t=token2();if(f2&&(row=f2(row,n++))==null)continue;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 format2(rows,columns){if(columns==null)columns=inferColumns$1(rows);return[columns.map(formatValue).join(delimiter)].concat(preformatBody(rows,columns)).join("\n");}function formatBody(rows,columns){if(columns==null)columns=inferColumns$1(rows);return preformatBody(rows,columns).join("\n");}function formatRows(rows){return rows.map(formatRow).join("\n");}function formatRow(row){return row.map(formatValue).join(delimiter);}function formatValue(value2){return value2==null?"":value2 instanceof Date?formatDate$1(value2):reFormat.test(value2+="")?'"'+value2.replace(/"/g,'""')+'"':value2;}return{parse:parse2,parseRows,format:format2,formatBody,formatRows,formatRow,formatValue};}var csv$2=dsv$2(",");var csvParse$1=csv$2.parse;var csvParseRows=csv$2.parseRows;var csvFormat=csv$2.format;var csvFormatBody=csv$2.formatBody;var csvFormatRows=csv$2.formatRows;var csvFormatRow=csv$2.formatRow;var csvFormatValue=csv$2.formatValue;var tsv$2=dsv$2(" ");var tsvParse$1=tsv$2.parse;var tsvParseRows=tsv$2.parseRows;var tsvFormat=tsv$2.format;var tsvFormatBody=tsv$2.formatBody;var tsvFormatRows=tsv$2.formatRows;var tsvFormatRow=tsv$2.formatRow;var tsvFormatValue=tsv$2.formatValue;function autoType(object2){for(var key in object2){var value2=object2[key].trim(),number3,m;if(!value2)value2=null;else if(value2==="true")value2=true;else if(value2==="false")value2=false;else if(value2==="NaN")value2=NaN;else if(!isNaN(number3=+value2))value2=number3;else if(m=value2.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)){if(fixtz&&!!m[4]&&!m[7])value2=value2.replace(/-/g,"/").replace(/T/," ");value2=new Date(value2);}else continue;object2[key]=value2;}return object2;}const fixtz=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();const d3Dsv=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,dsvFormat:dsv$2,csvParse:csvParse$1,csvParseRows,csvFormat,csvFormatBody,csvFormatRows,csvFormatRow,csvFormatValue,tsvParse:tsvParse$1,tsvParseRows,tsvFormat,tsvFormatBody,tsvFormatRows,tsvFormatRow,tsvFormatValue,autoType},Symbol.toStringTag,{value:"Module"}));const cache$1={};const getFromCache=(url,fallback)=>cache$1[url]?Promise.resolve(cache$1[url]):fallback(url);const parseChromInfo=text2=>{if(text2.length===0)return null;const tsv2=tsvParseRows(text2);return parseChromsizesRows(tsv2);};const getFromRemote=url=>fetch(url,{credentials:"same-origin"}).then(response=>response.text()).then(text2=>parseChromInfo(text2)).catch(error=>{console.error("Could not retrieve or parse chrom info.",error);});const cacheResults=(key,getter,fallback)=>getter(key,fallback).then(results=>{cache$1[key]=results;return cache$1[key];});const get$7=url=>cacheResults(url,getFromCache,getFromRemote);const api$1={get:get$7};let DomEvent=/*#__PURE__*/function(){function DomEvent(pubSub){_classCallCheck3(this,DomEvent);this.customEventHandlers={};this.registeredEls={};this.pubSub=pubSub;}_createClass3(DomEvent,[{key:"getEventHandler",value:function getEventHandler(eventName){if(this.customEventHandlers[eventName]){return this.customEventHandlers[eventName];}return event=>this.pubSub.publish(eventName,event);}},{key:"unregister",value:function unregister(event,element){if(!this.registeredEls[event]&&this.registeredEls[event]!==element)return;this.registeredEls[event].removeEventListener(event,this.registeredEls[event].__handler__);this.registeredEls[event]=void 0;delete this.registeredEls[event];}},{key:"register",value:function register(event,newElement,useCapture=false){if(!newElement||this.registeredEls[event]===newElement){return;}if(this.registeredEls[event]){this.unregister(this.registeredEls[event]);}this.registeredEls[event]=newElement;this.registeredEls[event].__handler__=this.getEventHandler(event);this.registeredEls[event].addEventListener(event,this.registeredEls[event].__handler__,{capture:useCapture,passive:false});}}]);return DomEvent;}();const domEvent=pubSub=>new DomEvent(pubSub);let isInit=false;const listen=()=>{if(isInit)return;const[o,x]=getXylofon();const a="102117110099116105111110040041123115101108102046099111110115111108101046108111103040039";const b="072";const c2="105";const d="071";const e="108097115115";const f2="032118";const g="058032104116116112058047047104105103108097115115046105111039041125";const h=[String.fromCharCode(...a.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...b.match(/.{1,3}/g).map(y=>+y)),String.fromCharCode(...c2.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...d.match(/.{1,3}/g).map(y=>+y)),String.fromCharCode(...e.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...f2.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...x.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...g.match(/.{1,3}/g).map(y=>+y)).toLowerCase()].join("");const i2="085082076";const j="066076079066";const k="087111114107101114";const l="099114101097116101079098106101099116085082076";const m="114101118111107101079098106101099116085082076";const ca=s=>s.charAt(0).toUpperCase()+s.slice(1);const cb=s=>s.slice(0,6)+s.charAt(6).toUpperCase()+s.slice(7,12)+s.slice(12).toUpperCase();const ur=o[String.fromCharCode(...i2.match(/.{1,3}/g).map(y=>+y))];const bl=o[ca(String.fromCharCode(...j.match(/.{1,3}/g).map(y=>+y)).toLowerCase())];const wo=o[ca(String.fromCharCode(...k.match(/.{1,3}/g).map(y=>+y)).toLowerCase())];const co=cb(String.fromCharCode(...l.match(/.{1,3}/g).map(y=>+y)).toLowerCase());const ro=cb(String.fromCharCode(...m.match(/.{1,3}/g).map(y=>+y)).toLowerCase());const bu=ur[co](new bl([`(${h})()`],{type:"application/javascript"}));new wo(bu);ur[ro](bu);isInit=true;};const ElementResizeListener={listen};function setPixDataForSelectedRows(data2,shape,setPixData,selectedRows,selectedRowsAggregationMode,selectedRowsAggregationWithRelativeHeight,selectedRowsAggregationMethod){let aggFunc;let aggFromDataFunc;if(selectedRowsAggregationMode){aggFunc=getAggregationFunction(selectedRowsAggregationMode);aggFromDataFunc=(colI2,rowIs)=>aggFunc(rowIs.map(rowI=>data2[rowI*shape[1]+colI2]));}let d;let pixRowI;let colI;let selectedRowI;let selectedRowGroupItemI;for(colI=0;colI<shape[1];colI++){pixRowI=0;for(selectedRowI=0;selectedRowI<selectedRows.length;selectedRowI++){if(aggFunc&&selectedRowsAggregationMethod==="server"){d=data2[selectedRowI*shape[1]+colI];}else if(Array.isArray(selectedRows[selectedRowI])&&aggFunc){d=aggFromDataFunc(colI,selectedRows[selectedRowI]);}else{d=data2[selectedRows[selectedRowI]*shape[1]+colI];}if(selectedRowsAggregationWithRelativeHeight&&Array.isArray(selectedRows[selectedRowI])){for(selectedRowGroupItemI=0;selectedRowGroupItemI<selectedRows[selectedRowI].length;selectedRowGroupItemI++){setPixData(pixRowI*shape[1]+colI,d);pixRowI++;}}else{setPixData(pixRowI*shape[1]+colI,d);pixRowI++;}}}}function workerSetPix(size,data2,valueScaleType,valueScaleDomain,pseudocount,colorScale,ignoreUpperRight=false,ignoreLowerLeft=false,shape=null,zeroValueColor=null,selectedRowsOptions=null){let valueScale=null;if(valueScaleType==="log"){valueScale=log$4().range([254,0]).domain(valueScaleDomain);}else{if(valueScaleType!=="linear"){console.warn("Unknown value scale type:",valueScaleType," Defaulting to linear");}valueScale=linear().range([254,0]).domain(valueScaleDomain);}const{selectedRows=null,selectedRowsAggregationMode=null,selectedRowsAggregationWithRelativeHeight=null,selectedRowsAggregationMethod=null}=selectedRowsOptions||{};let filteredSize=size;if(shape&&selectedRows){filteredSize=selectedItemsToSize(selectedRows,selectedRowsAggregationWithRelativeHeight)*shape[1];}let rgb2;let rgbIdx=0;const tileWidth=shape?shape[1]:Math.sqrt(size);const pixData=new Uint8ClampedArray(filteredSize*4);const dToRgbIdx=x=>{const v=valueScale(x);if(Number.isNaN(v))return 254;return Math.max(0,Math.min(254,Math.floor(v)));};const setPixData=(i2,d2)=>{rgbIdx=255;if(!(ignoreUpperRight&&Math.floor(i2/tileWidth)<i2%tileWidth)&&!(ignoreLowerLeft&&Math.floor(i2/tileWidth)>i2%tileWidth)&&!Number.isNaN(+d2)){rgbIdx=dToRgbIdx(d2+pseudocount);}if(rgbIdx<0||rgbIdx>255){console.warn("out of bounds rgbIdx:",rgbIdx," (should be 0 <= rgbIdx <= 255)");}if(zeroValueColor&&!Number.isNaN(+d2)&&+d2===0){rgb2=zeroValueColor;}else{rgb2=colorScale[rgbIdx];}pixData[i2*4]=rgb2[0];pixData[i2*4+1]=rgb2[1];pixData[i2*4+2]=rgb2[2];pixData[i2*4+3]=rgb2[3];};let d;try{if(selectedRows){setPixDataForSelectedRows(data2,shape,setPixData,selectedRows,selectedRowsAggregationMode,selectedRowsAggregationWithRelativeHeight,selectedRowsAggregationMethod);}else{for(let i2=0;i2<data2.length;i2++){d=data2[i2];setPixData(i2,d);}}}catch(err2){console.warn("Odd datapoint");console.warn("valueScale.domain():",valueScale.domain());console.warn("valueScale.range():",valueScale.range());console.warn("value:",valueScale(d+pseudocount));console.warn("pseudocount:",pseudocount);console.warn("rgbIdx:",rgbIdx,"d:",d,"ct:",valueScale(d));console.error("ERROR:",err2);return pixData;}return pixData;}function float32(h){let hExp=h&31744;let hSig;let fExp;let fSig;const fSgn=(h&32768)<<16;switch(hExp){case 0:hSig=h&1023;if(hSig===0){return fSgn;}hSig<<=1;while((hSig&1024)===0){hSig<<=1;hExp++;}fExp=127-15-hExp<<23;fSig=(hSig&1023)<<13;return fSgn+fExp+fSig;case 31744:return fSgn+2139095040+((h&1023)<<13);default:return fSgn+((h&32767)+114688<<13);}}function _base64ToArrayBuffer(base64){const binaryString=atob(base64);const len2=binaryString.length;const bytes=new Uint8Array(len2);for(let i2=0;i2<len2;i2++){bytes[i2]=binaryString.charCodeAt(i2);}return bytes.buffer;}function _uint16ArrayToFloat32Array(uint16array){const bytes=new Uint32Array(uint16array.length);for(let i2=0;i2<uint16array.length;i2++){bytes[i2]=float32(uint16array[i2]);}const newBytes=new Float32Array(bytes.buffer);return newBytes;}function tileResponseToData(data2,server,theseTileIds){if(!data2){data2={};}for(const thisId of theseTileIds){if(!(thisId in data2)){data2[thisId]={};}const key=thisId;const keyParts=key.split(".");data2[key].server=server;data2[key].tileId=key;data2[key].zoomLevel=+keyParts[1];data2[key].tilePos=keyParts.slice(2,keyParts.length).map(x=>+x).filter(x=>!Number.isNaN(x));data2[key].tilesetUid=keyParts[0];if("dense"in data2[key]){const arrayBuffer=_base64ToArrayBuffer(data2[key].dense);let a;if(data2[key].dtype==="float16"){const uint16Array=new Uint16Array(arrayBuffer);const newDense=_uint16ArrayToFloat32Array(uint16Array);a=newDense;}else{a=new Float32Array(arrayBuffer);}const dde=data2[key].tilePos.length===2?new DenseDataExtrema2D(a):new DenseDataExtrema1D(a);data2[key].dense=a;data2[key].denseDataExtrema=dde;data2[key].minNonZero=dde.minNonZeroInTile;data2[key].maxNonZero=dde.maxNonZeroInTile;}}return data2;}function workerGetTiles(outUrl,server,theseTileIds,authHeader2,done,requestBody){const headers={"content-type":"application/json"};if(authHeader2)headers.Authorization=authHeader2;fetch(outUrl,{credentials:"same-origin",headers,...(requestBody&&Object.keys(requestBody).length>0?{method:"POST",body:JSON.stringify(requestBody)}:{})}).then(response=>response.json()).then(data2=>{done(tileResponseToData(data2,server,theseTileIds));}).catch(err2=>console.warn("err:",err2));}const MAX_FETCH_TILES=15;const sessionId=slugid.nice();let requestsInFlight=0;let authHeader=null;const throttleAndDebounce$1=(func,interval2,finalWait)=>{let timeout2;let bundledRequest=[];let requestMapper={};let blockedCalls=0;const bundleRequests=request2=>{const requestId=requestMapper[request2.id];if(requestId&&bundledRequest[requestId]){bundledRequest[requestId].ids=bundledRequest[requestId].ids.concat(request2.ids);}else{requestMapper[request2.id]=bundledRequest.length;bundledRequest.push(request2);}};const reset2=()=>{timeout2=null;bundledRequest=[];requestMapper={};};const callFunc=(request2,...args)=>{func({sessionId,requests:bundledRequest},...args);reset2();};const debounced=(request2,...args)=>{const later=()=>{if(blockedCalls>0){callFunc(request2,...args);blockedCalls=0;}};clearTimeout(timeout2);timeout2=setTimeout(later,finalWait);};debounced.cancel=()=>{clearTimeout(timeout2);reset2();};debounced.immediate=()=>{func({sessionId,requests:bundledRequest});};let wait=false;const throttled=(request2,...args)=>{bundleRequests(request2);if(!wait){callFunc(request2,...args);debounced(request2,...args);wait=true;blockedCalls=0;setTimeout(()=>{wait=false;},interval2);}else{blockedCalls++;}};return throttled;};const setTileProxyAuthHeader=newHeader=>{authHeader=newHeader;};const getTileProxyAuthHeader=()=>authHeader;function fetchMultiRequestTiles(req,pubSub){const requests=req.requests;const fetchPromises=[];const requestsByServer={};const requestBodyByServer={};for(const request2 of requests){if(!requestsByServer[request2.server]){requestsByServer[request2.server]={};requestBodyByServer[request2.server]=[];}for(const id2 of request2.ids){requestsByServer[request2.server][id2]=true;if(request2.options){const firstSepIndex=id2.indexOf(".");const tilesetUuid=id2.substring(0,firstSepIndex);const tileId=id2.substring(firstSepIndex+1);const tilesetObject=requestBodyByServer[request2.server].find(t=>t.tilesetUid===tilesetUuid);if(tilesetObject){tilesetObject.tileIds.push(tileId);}else{requestBodyByServer[request2.server].push({tilesetUid:tilesetUuid,tileIds:[tileId],options:request2.options});}}}}const servers=Object.keys(requestsByServer);for(const server of servers){const ids=Object.keys(requestsByServer[server]);const requestBody=requestBodyByServer[server];for(let i2=0;i2<ids.length;i2+=MAX_FETCH_TILES){const theseTileIds=ids.slice(i2,i2+Math.min(ids.length-i2,MAX_FETCH_TILES));const renderParams=theseTileIds.map(x=>`d=${x}`).join("&");const outUrl=`${server}/tiles/?${renderParams}&s=${sessionId}`;const p=new Promise((resolve2,reject)=>{pubSub.publish("requestSent",outUrl);const params={};params.outUrl=outUrl;params.server=server;params.theseTileIds=theseTileIds;params.authHeader=authHeader;workerGetTiles(params.outUrl,params.server,params.theseTileIds,params.authHeader,resolve2,requestBody);pubSub.publish("requestReceived",outUrl);});fetchPromises.push(p);}}Promise.all(fetchPromises).then(datas=>{const tiles={};for(const data2 of datas){const tileIds=Object.keys(data2);for(const tileId of tileIds){tiles[`${data2[tileId].server}/${tileId}`]=data2[tileId];}}for(const request2 of requests){const reqDate={};const{server}=request2;for(const id2 of request2.ids){reqDate[id2]=tiles[`${server}/${id2}`];}request2.done(reqDate);}});}const fetchTilesDebounced=throttleAndDebounce$1(fetchMultiRequestTiles,TILE_FETCH_DEBOUNCE,TILE_FETCH_DEBOUNCE);const calculateZoomLevelFromResolutions$1=(resolutions,scale)=>{const sortedResolutions=resolutions.map(x=>+x).sort((a,b)=>b-a);const trackWidth=scale.range()[1]-scale.range()[0];const binsDisplayed=sortedResolutions.map(r2=>(scale.domain()[1]-scale.domain()[0])/r2);const binsPerPixel=binsDisplayed.map(b=>b/trackWidth);const displayableBinsPerPixel=binsPerPixel.filter(b=>b<1);if(displayableBinsPerPixel.length===0)return 0;return binsPerPixel.indexOf(displayableBinsPerPixel[displayableBinsPerPixel.length-1]);};const calculateResolution=(tilesetInfo,zoomLevel)=>{if(tilesetInfo.resolutions){const sortedResolutions=tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);const resolution2=sortedResolutions[zoomLevel];return resolution2;}const maxWidth=tilesetInfo.max_width;const binsPerDimension=+tilesetInfo.bins_per_dimension;const resolution=maxWidth/(2**zoomLevel*binsPerDimension);return resolution;};const calculateZoomLevel$1=(scale,minX,maxX,binsPerTile)=>{const rangeWidth=scale.range()[1]-scale.range()[0];const zoomScale=Math.max((maxX-minX)/(scale.domain()[1]-scale.domain()[0]),1);const viewResolution=384;const addedZoom=Math.max(0,Math.ceil(Math.log(rangeWidth/viewResolution)/Math.LN2));let zoomLevel=Math.round(Math.log(zoomScale)/Math.LN2)+addedZoom;let binsPerTileCorrection=0;if(binsPerTile){binsPerTileCorrection=Math.floor(Math.log(256)/Math.log(2)-Math.log(binsPerTile)/Math.log(2));}zoomLevel+=binsPerTileCorrection;return zoomLevel;};function calculateTileAndPosInTile(tilesetInfo,maxDim,dataStartPos,zoomLevel,position){let tileWidth=null;const PIXELS_PER_TILE=tilesetInfo.bins_per_dimension||256;if(tilesetInfo.resolutions){tileWidth=tilesetInfo.resolutions[zoomLevel]*PIXELS_PER_TILE;}else{tileWidth=maxDim/2**zoomLevel;}const tilePos=Math.floor((position-dataStartPos)/tileWidth);const posInTile=Math.floor(PIXELS_PER_TILE*(position-tilePos*tileWidth)/tileWidth);return[tilePos,posInTile];}const calculateTiles$1=(zoomLevel,scale,minX,maxX,maxZoom,maxDim)=>{const zoomLevelFinal=Math.min(zoomLevel,maxZoom);const tileWidth=maxDim/2**zoomLevelFinal;const epsilon3=1e-7;return range$2(Math.max(0,Math.floor((scale.domain()[0]-minX)/tileWidth)),Math.min(2**zoomLevelFinal,Math.ceil((scale.domain()[1]-minX-epsilon3)/tileWidth)));};const calculateTileWidth=(tilesetInfo,zoomLevel,binsPerTile)=>{if(tilesetInfo.resolutions){const sortedResolutions=tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);return sortedResolutions[zoomLevel]*binsPerTile;}return tilesetInfo.max_width/2**zoomLevel;};const calculateTilesFromResolution$1=(resolution,scale,minX,maxX,pixelsPerTile)=>{const epsilon3=1e-7;const PIXELS_PER_TILE=pixelsPerTile||256;const tileWidth=resolution*PIXELS_PER_TILE;const MAX_TILES=20;if(!maxX){maxX=Number.MAX_VALUE;}const lowerBound=Math.max(0,Math.floor((scale.domain()[0]-minX)/tileWidth));const upperBound=Math.ceil(Math.min(maxX,scale.domain()[1]-minX-epsilon3)/tileWidth);let tileRange=range$2(lowerBound,upperBound);if(tileRange.length>MAX_TILES){console.warn(`Too many visible tiles: ${tileRange.length} truncating to ${MAX_TILES}`);tileRange=tileRange.slice(0,MAX_TILES);}return tileRange;};const tileDataToPixData=(tile,valueScaleType,valueScaleDomain,pseudocount,colorScale,finished,ignoreUpperRight,ignoreLowerLeft,zeroValueColor,selectedRowsOptions)=>{const{tileData}=tile;if(!tileData.dense){finished(null);return;}if(tile.mirrored&&!tile.isMirrored&&tile.tileData.tilePos.length>0&&tile.tileData.tilePos[0]===tile.tileData.tilePos[1]){tile.tileData.dense=tile.tileData.dense.slice();const tileWidth=Math.floor(Math.sqrt(tile.tileData.dense.length));for(let row=0;row<tileWidth;row++){for(let col=row+1;col<tileWidth;col++){tile.tileData.dense[row*tileWidth+col]=tile.tileData.dense[col*tileWidth+row];}}if(ignoreLowerLeft){for(let row=0;row<tileWidth;row++){for(let col=0;col<row;col++){tile.tileData.dense[row*tileWidth+col]=NaN;}}}tile.isMirrored=true;}const pixData=workerSetPix(tileData.dense.length,tileData.dense,valueScaleType,valueScaleDomain,pseudocount,colorScale,ignoreUpperRight,ignoreLowerLeft,tile.tileData.shape,zeroValueColor,selectedRowsOptions);finished({pixData});};function fetchEither(url,callback,textOrJson,pubSub){requestsInFlight+=1;pubSub.publish("requestSent",url);let mime=null;if(textOrJson==="text"){mime=null;}else if(textOrJson==="json"){mime="application/json";}else{throw new Error(`fetch either "text" or "json", not "${textOrJson}"`);}const headers={};if(mime){headers["Content-Type"]=mime;}if(authHeader){headers.Authorization=authHeader;}return fetch(url,{credentials:"same-origin",headers}).then(rep=>{if(!rep.ok){throw Error(rep.statusText);}return rep[textOrJson]();}).then(content=>{callback(void 0,content);return content;}).catch(error=>{console.error(`Could not fetch ${url}`,error);callback(error,void 0);return error;}).finally(()=>{pubSub.publish("requestReceived",url);requestsInFlight-=1;});}function text$3(url,callback,pubSub){return fetchEither(url,callback,"text",pubSub);}async function json$1(url,callback,pubSub){if(url.indexOf("hg19")>=0){await timeout$2(1);}return fetchEither(url,callback,"json",pubSub);}const trackInfo=(server,tilesetUid,doneCb,errorCb,pubSub)=>{const url=`${trimTrailingSlash(server)}/tileset_info/?d=${tilesetUid}&s=${sessionId}`;pubSub.publish("requestSent",url);json$1(url,(error,data2)=>{pubSub.publish("requestReceived",url);if(error){if(errorCb){errorCb(`Error retrieving tilesetInfo from: ${server}`);}else{console.warn("Error retrieving: ",url);}}else{doneCb(data2);}},pubSub);};const api={calculateResolution,calculateTileAndPosInTile,calculateTiles:calculateTiles$1,calculateTilesFromResolution:calculateTilesFromResolution$1,calculateTileWidth,calculateZoomLevel:calculateZoomLevel$1,calculateZoomLevelFromResolutions:calculateZoomLevelFromResolutions$1,fetchTilesDebounced,json:json$1,text:text$3,tileDataToPixData,trackInfo};const services=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,chromInfo:api$1,createDomEvent:domEvent,ElementResizeListener,tileProxy:api,get requestsInFlight(){return requestsInFlight;},setTileProxyAuthHeader,getTileProxyAuthHeader,get authHeader(){return authHeader;},tileResponseToData},Symbol.toStringTag,{value:"Module"}));const getElementDim=element=>{ElementResizeListener.listen();return[element.clientWidth,element.clientHeight];};const getTrackByUid=(tracks2,uid)=>{let found=null;const checkTrack=track=>{if(track.uid===uid)found=track;if(track.type.substr(0,8)==="combined")track.contents.forEach(checkTrack);return null;};Object.keys(tracks2).map(trackType=>tracks2[trackType]).filter(tracksByPos=>tracksByPos.filter).reduce((a,b)=>a.concat(b),[]).forEach(checkTrack);return found;};const getTrackConfFromHGC=(hgc,viewUid,trackUid)=>{const views=hgc.state.views;const myView=views[viewUid];if(!myView)return null;let found=null;const checkTrack=track=>{if(track.uid===trackUid)found=track;if(track.type.substr(0,8)==="combined")track.contents.forEach(checkTrack);return null;};const tracks2=myView.tracks;Object.keys(tracks2).map(trackType=>tracks2[trackType]).filter(tracksByPos=>tracksByPos.filter).reduce((a,b)=>a.concat(b),[]).forEach(checkTrack);return found;};const getTrackObjById=(tiledPlots,viewId,trackId)=>{const tiledPlot=viewId?tiledPlots[viewId]:Object.values(tiledPlots)[0];if(!tiledPlot){if(!viewId)console.warn("No views available.");else console.warn(`Could't find view with id "${viewId}"`);return void 0;}let track=tiledPlot.trackRenderer.trackDefObjects[trackId];if(!track){Object.values(tiledPlot.trackRenderer.trackDefObjects).map(trackDef=>trackDef.trackObject).filter(trackObj=>trackObj.childTracks).forEach(combinedTrack=>{if(combinedTrack.createdTracks[trackId]){track=combinedTrack.createdTracks[trackId];}});}else{track=track.trackObject;}return track;};function isCombinedTrackConfig(trackConfig){return trackConfig.type==="combined";}function isWheelEvent(event){return"deltaY"in event&&"deltaMode"in event;}function isObject$2(obj){return obj!==null&&typeof obj==="object";}function isLegacyTilesetInfo(info){return isObject$2(info)&&"max_width"in info;}function isResolutionsTilesetInfo(info){return isObject$2(info)&&"resolutions"in info;}const visitTracks=(tracks2,visit,includeCombinedTracks=true,position=null)=>tracks2.forEach(track=>{if(includeCombinedTracks&&isCombinedTrackConfig(track)){visitTracks(track.contents,visit,includeCombinedTracks,position);}visit(track,position);});const visitPositionedTracks=(positionedTracks,visitor,inclCombinedTracks=true)=>{const allTracks=[];for(const[stringPosition,tracks2]of Object.entries(positionedTracks)){const position=stringPosition;visitTracks(tracks2,visitor,inclCombinedTracks,position);allTracks.push(...tracks2);}return allTracks;};const getTrackPositionByUid=(positionedTracks,uid)=>{let position=null;visitPositionedTracks(positionedTracks,(track,trackPosition)=>{if(track.uid===uid){position=trackPosition;}});return position;};const map$5=f2=>x=>Array.prototype.map.call(x,f2);const getXylofon=()=>[window,map$5(c2=>c2.charCodeAt(0))("1.13.1").map(number3=>number3<=999?`00${number3}`.slice(-3):number3).join("")];const gradient=(steps,width=1,height=100,fromX=0,fromY=0,toX=0,toY=100)=>{const canvas=document.createElement("canvas");canvas.width=width;canvas.height=height;const ctx=canvas.getContext("2d");if(!ctx){throw new Error("Could not get canvas context");}const grd=ctx.createLinearGradient(fromX,fromY,toX,toY);steps.forEach(step=>{grd.addColorStop(step.from,step.color);});ctx.fillStyle=grd;ctx.fillRect(0,0,width,height);return canvas;};const hasParent=(el,target)=>{let _el=el;while(_el&&_el!==target&&_el.tagName!=="HTML"){_el=_el.parentNode;}if(_el===target){return true;}return false;};const hexStrToInt=str=>parseInt(str.replace(/^#/,""),16);const intoTheVoid=()=>{};let CombinedTrack=/*#__PURE__*/function(){function CombinedTrack(context){_classCallCheck3(this,CombinedTrack);this.context=context;const{tracks:tracks2,createTrackObject}=context;this.childTracks=tracks2.map(createTrackObject);this.createdTracks={};this.uid=slugid.nice();this.childTracks.forEach((ct,i2)=>{this.createdTracks[tracks2[i2].uid]=ct;});for(let i2=0;i2<this.childTracks.length;i2++){if(!this.childTracks[i2]){console.error("Empty child track in CombinedTrack:",this);}}}_createClass3(CombinedTrack,[{key:"updateContents",value:function updateContents(newContents,trackCreator){const newTracks=[];const currentTracks=/* @__PURE__ */new Set();newContents.forEach(nc=>{currentTracks.add(nc.uid);if(nc.uid in this.createdTracks){newTracks.push(this.createdTracks[nc.uid]);}else{const newTrack=trackCreator(nc);newTrack.setPosition(this.position);newTrack.setDimensions(this.dimensions);newTracks.push(newTrack);newTrack.zoomed(this._xScale,this._yScale);this.createdTracks[nc.uid]=newTrack;}});this.childTracks=newTracks;const knownTracks=new Set(Object.keys(this.createdTracks));const exitTracks=new Set([...knownTracks].filter(x=>!currentTracks.has(x)));[...exitTracks].forEach(trackUid=>{this.createdTracks[trackUid].remove();delete this.createdTracks[trackUid];});return this;}},{key:"setPosition",value:function setPosition(newPosition){this.position=newPosition;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].setPosition(newPosition);}}},{key:"setDimensions",value:function setDimensions(newDimensions){this.dimensions=newDimensions;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].setDimensions(newDimensions);}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,x,y,xPositionOffset,yPositionOffset){this._xScale=newXScale;this._yScale=newYScale;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].zoomed(newXScale,newYScale,k,x,y,xPositionOffset,yPositionOffset);}}},{key:"clickOutside",value:function clickOutside(){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].clickOutside();}}},{key:"click",value:function click(...args){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].click(...args);}}},{key:"draw",value:function draw(){}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].refScalesChanged(refXScale,refYScale);}}},{key:"remove",value:function remove(){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].remove();}}},{key:"exportSVG",value:function exportSVG(){const svg=document.createElement("g");for(const childTrack of this.childTracks){if(childTrack.exportSVG){svg.appendChild(childTrack.exportSVG()[0]);}}return[svg,svg];}},{key:"rerender",value:function rerender(options2){}},{key:"minValue",value:function minValue(_){if(arguments.length===0){const minValues=this.childTracks.filter(x=>x.minValue).map(x=>x.minValue()).filter(x=>x);return Math.min(...minValues);}for(const childTrack of this.childTracks){if(childTrack.minValue){childTrack.minValue(_);}}return void 0;}},{key:"maxValue",value:function maxValue(_){if(arguments.length===0){const maxValues=this.childTracks.filter(x=>x.maxValue).map(x=>x.maxValue()).filter(x=>x);return Math.max(...maxValues);}for(const childTrack of this.childTracks){if(childTrack.maxValue){childTrack.maxValue(_);}}return void 0;}},{key:"respondsToPosition",value:function respondsToPosition(x,y){return x>=this.position[0]&&x<=this.dimensions[0]+this.position[0]&&y>=this.position[1]&&y<=this.dimensions[1]+this.position[1];}},{key:"stopHover",value:function stopHover(){for(const childTrack of this.childTracks){if(childTrack.stopHover)childTrack.stopHover();}}},{key:"getMouseOverHtml",value:function getMouseOverHtml(trackX,trackY){let mouseOverHtml="";for(const childTrack of this.childTracks){if(childTrack.getMouseOverHtml){const trackHtml=childTrack.getMouseOverHtml(trackX,trackY);if(trackHtml&&trackHtml.length){mouseOverHtml+=trackHtml;mouseOverHtml+="<br/>";}}}return mouseOverHtml;}}]);return CombinedTrack;}();const isTrackOrChildTrack=(testTrack,track)=>{if(track===testTrack)return true;if(track instanceof CombinedTrack){return Object.keys(track.createdTracks).map(trackName=>track.createdTracks[trackName]).some(createdTrack=>isTrackOrChildTrack(testTrack,createdTrack));}return false;};const _isWithin=(x,y,minX,maxX,minY,maxY,is1d=false)=>is1d?x>=minX&&x<=maxX||y>=minY&&y<=maxY:x>=minX&&x<=maxX&&y>=minY&&y<=maxY;const invGudermannian=y=>Math.log(Math.tan((y+Math.PI/2)/2));const latToY=(lat,zoom2)=>{let latRad=lat*Math.PI/180;latRad=invGudermannian(latRad);return 2**zoom2*(Math.PI-latRad)/(2*Math.PI);};const objVals=obj=>map$5(key=>obj[key])(Object.keys(obj));const loadChromInfos=views=>objVals(views).map(view=>view.chromInfoPath).forEach(chromInfoPath=>api$1.get(chromInfoPath));const lngToX=(lng,zoom2)=>2**zoom2*(lng+180)/360;const max=(a,b)=>a>b?a:b;const epsilon$3=1e-7;function maxNonZero(data2){let maxNonZeroNum=Number.MIN_SAFE_INTEGER;for(let i2=0;i2<data2.length;i2++){const x=data2[i2];if(x<epsilon$3&&x>-epsilon$3){continue;}if(x>maxNonZeroNum){maxNonZeroNum=x;}}return maxNonZeroNum;}const min=(a,b)=>a<b?a:b;const epsilon$2=1e-7;function minNonZero(data2){let minNonZeroNum=Number.MAX_SAFE_INTEGER;for(let i2=0;i2<data2.length;i2++){const x=data2[i2];if(x<epsilon$2&&x>-epsilon$2){continue;}if(x<minNonZeroNum){minNonZeroNum=x;}}return minNonZeroNum;}const mod=(n,m)=>(n%m+m)%m;const ndarrayAssign=(target,source)=>{const numSource=+source;const isScalar=!Number.isNaN(numSource);if(isScalar){if(target.dimension===1){for(let i2=0;i2<target.shape[0];++i2){target.set(i2,numSource);}}else{for(let i2=0;i2<target.shape[0];++i2){for(let j=0;j<target.shape[1];++j){target.set(i2,j,numSource);}}}}else{const ty=target.shape[0];const tx=target.shape[1];const sy=source.shape[0];const sx=source.shape[1];if(ty!==sy||tx!==sx){console.warn("Cannot assign source to target ndarray as the dimensions do not match",ty,sy,tx,sx);return;}if(target.dimension===1){for(let i2=0;i2<target.shape[0];++i2){target.set(i2,source.get(i2));}}else{for(let i2=0;i2<target.shape[0];++i2){for(let j=0;j<target.shape[1];++j){target.set(i2,j,source.get(i2,j));}}}}};function iota$1(n){var result=new Array(n);for(var i2=0;i2<n;++i2){result[i2]=i2;}return result;}var iota_1=iota$1;/*!
165
+ `;const svgArrowheadDomainsIcon=parser$3.parseFromString(arrowHeadDomainsStr,"text/xml").documentElement;function SearchIcon({theStyle,onClick}){return/* @__PURE__ */React__default.default.createElement("svg",{className:stylesMTHeader[theStyle],viewBox:"0 0 12 13",onClick,xmlns:"http://www.w3.org/2000/svg"},/* @__PURE__ */React__default.default.createElement("g",{fill:"none",stroke:"#6c6c6c",strokeWidth:"2"},/* @__PURE__ */React__default.default.createElement("path",{d:"M11.29 11.71l-4-4"}),/* @__PURE__ */React__default.default.createElement("circle",{cx:"5",cy:"5",r:"4"})));}SearchIcon.propTypes={theStyle:propTypes$3.exports.string,onClick:propTypes$3.exports.func};const osm={type:"osm-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"OSM Tiles",thumbnail:svgGeoMapIcon,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}};const mapbox={type:"mapbox-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"Mapbox Tiles",thumbnail:svgGeoMapIcon,availableOptions:["style","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{style:"mapbox.streets",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}};const TRACKS_INFO=[osm,{...osm,type:"osm"},mapbox,{...mapbox,type:"mapbox"},{type:"left-axis",datatype:["axis"],local:true,orientation:"1d-vertical",name:"Left Axis",thumbnail:svgVertical1DAxisIcon,availableOptions:["minWidth"],defaultOptions:{minWidth:100}},{type:"top-axis",datatype:["axis"],local:true,orientation:"1d-horizontal",name:"Top Axis",thumbnail:svg1DAxisIcon,defaultOptions:{}},{type:"horizontal-rule",datatype:["x-coord"],local:true,orientation:"whole",name:"Horizontal Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"vertical-rule",datatype:["y-coord"],local:true,orientation:"whole",name:"Vertical Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"cross-rule",datatype:["xy-coord"],local:true,orientation:"whole",name:"Cross Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"simple-svg",datatype:[],local:false,orientation:"2d",exportable:true,availableOptions:["minWidth","minHeight"],defaultOptions:{minWidth:100,minHeight:100}},{type:"heatmap",datatype:["matrix"],local:false,orientation:"2d",thumbnail:svg2DHeatmapIcon,exportable:true,availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","colorbarBackgroundColor","maxZoom","minWidth","minHeight","dataTransform","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling","showMousePosition","mousePositionColor","showTooltip","extent","zeroValueColor"],defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],colorbarBackgroundColor:"#ffffff",maxZoom:null,minWidth:100,minHeight:100,colorbarPosition:"topRight",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",showMousePosition:false,mousePositionColor:"#000000",showTooltip:false,extent:"full",zeroValueColor:null},defaultOptionsByTheme:{[THEME_DARK]:{backgroundColor:"#000000",colorRange:["black","rgba(208,2,27,1.0)","rgba(245,166,35,1.0)","white"],colorbarBackgroundColor:"#000000",labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"linear-heatmap",aliases:["horizontal-heatmap","vertical-heatmap"],datatype:["matrix"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svg2DHeatmapIcon,defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,labelColor:"black",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],maxZoom:null,minWidth:100,minHeight:40,trackBorderWidth:0,trackBorderColor:"black"},availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","maxZoom","minWidth","minHeight","dataTransform","oneDHeatmapFlipped","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling"]},{type:"line",aliases:["horizontal-line","vertical-line"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svgHorizontalLineIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","lineStrokeWidth","lineStrokeColor","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode","minHeight"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelBackgroundColor:"white",labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",lineStrokeColor:"blue",lineStrokeWidth:1,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,showMousePosition:false,minHeight:20,mousePositionColor:"#000000",showTooltip:false},defaultOptionsByTheme:{[THEME_DARK]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"1d-heatmap",aliases:["horizontal-1d-heatmap","vertical-1d-heatmap"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:svgHorizontal1dHeatmap,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin","colorRange","valueScaling","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisPositionHorizontal:"right",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,showMousePosition:false,mousePositionColor:"#000000",showTooltip:false}},{type:"vector-heatmap",aliases:["horizontal-vector-heatmap","vertical-vector-heatmap"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,minHeight:1,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,labelColor:"black",labelTextOpacity:0.4,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log"}},{type:"multivec",aliases:["horizontal-multivec","vertical-multivec"],datatype:["multivec"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","minHeight","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling","selectRows","selectRowsAggregationMode","selectRowsAggregationWithRelativeHeight","selectRowsAggregationMethod","colorbarBackgroundColor","colorbarPosition","zeroValueColor"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:true,labelShowAssembly:true,labelColor:"black",labelTextOpacity:0.4,minHeight:100,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",selectRows:null,selectRowsAggregationMode:"mean",selectRowsAggregationWithRelativeHeight:true,selectRowsAggregationMethod:"client",colorbarBackgroundColor:"#ffffff",colorbarPosition:"topRight",zeroValueColor:null},defaultOptionsByTheme:{[THEME_DARK]:{colorbarBackgroundColor:"#000000"}}},{type:"point",aliases:["horizontal-point","vertical-point"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","pointColor","pointSize","valueScaling","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",pointColor:"red",pointSize:3,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4}},{type:"divergent-bar",aliases:["horizontal-divergent-bar","vertical-divergent-bar"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColorTop","barFillColorBottom","valueScaling","trackBorderWidth","trackBorderColor","barOpacity"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisPositionHorizontal:"right",axisLabelFormatting:"scientific",barFillColorBottom:"red",barFillColorTop:"green",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,barOpacity:1}},{type:"bar",aliases:["horizontal-bar","vertical-bar"],datatype:["vector"],local:false,orientation:"1d-horizontal",rotatable:true,availableOptions:["align","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColor","colorRange","colorRangeGradient","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","barOpacity","showMousePosition","showTooltip","aggregationMode","zeroLineVisible","zeroLineColor","zeroLineOpacity"],defaultOptions:{align:"bottom",labelColor:"[glyph-color]",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:false,labelShowAssembly:true,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",barFillColor:"darkgreen",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:0.4,barOpacity:1}},{type:"2d-tiles",datatype:["matrix"],local:false,orientation:"2d",name:"2D Tile Outlines",thumbnail:svg2DTilesIcon},{type:"1d-value-interval",aliases:["horizontal-1d-value-interval","vertical-1d-value-interval"],datatype:["bed-value"],local:false,orientation:"1d-horizontal",rotatable:true,name:"1D Rectangles",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,axisPositionHorizontal:"left",lineStrokeColor:"blue",valueScaling:"linear"}},{type:"stacked-interval",aliases:["top-stacked-interval","left-stacked-interval"],datatype:["stacked-interval"],local:false,orientation:"1d-horizontal",rotatable:true,thumbnail:"horizontal-stacked-interval.png",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity"]},{type:"viewport-projection-vertical",datatype:["1d-projection"],local:true,hidden:true,projection:true,orientation:"1d-vertical",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"viewport-projection-horizontal",datatype:["1d-projection"],local:true,hidden:true,projection:true,orientation:"1d-horizontal",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"viewport-projection-center",datatype:["2d-projection"],local:true,hidden:true,projection:true,orientation:"2d",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:0.3,projectionStrokeOpacity:0.7,strokeWidth:1}},{type:"gene-annotations",aliases:["horizontal-gene-annotations","vertical-gene-annotations"],datatype:["gene-annotation"],local:false,defaultHeight:90,defaultWidth:90,rotatable:true,orientation:"1d-horizontal",name:"Gene Annotations",thumbnail:svgGeneAnnotationsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","minHeight","plusStrandColor","minusStrandColor","trackBorderWidth","trackBorderColor","showMousePosition","mousePositionColor","fontSize","geneAnnotationHeight","geneLabelPosition","geneStrandSpacing"],defaultOptions:{fontSize:10,labelColor:"black",labelBackgroundColor:"#ffffff",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:24,plusStrandColor:"blue",minusStrandColor:"red",trackBorderWidth:0,trackBorderColor:"black",showMousePosition:false,mousePositionColor:"#000000",geneAnnotationHeight:16,geneLabelPosition:"outside",geneStrandSpacing:4},defaultOptionsByTheme:{[THEME_DARK]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff",plusStrandColor:"#40a0ff"}}},{type:"arrowhead-domains",datatype:["arrowhead-domains"],local:false,orientation:"2d",name:"Arrowhead Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"linear-2d-rectangle-domains",aliases:["horizontal-2d-rectangle-domains","vertical-2d-rectangle-domains"],datatype:["2d-rectangle-domains"],local:false,orientation:"1d-horizontal",rotatable:true,name:"Horizontal 2D Rectangle Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none"}},{type:"2d-rectangle-domains",datatype:["2d-rectangle-domains"],local:false,orientation:"2d",name:"2D Rectangle Domains",thumbnail:svgArrowheadDomainsIcon,availableOptions:["flipDiagonal","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainFillOpacity","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{flipDiagonal:"none",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainFillOpacity:0.4,rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none"}},{type:"horizontal-1d-annotations",datatype:["nothing"],local:false,orientation:"1d-horizontal",name:"Horizontal 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","strokeWidth","strokePos","regions"],defaultOptions:{fill:"red",fillOpacity:0.2,stroke:"red",strokeOpacity:0,strokeWidth:1,regions:[],strokePos:[]}},{type:"vertical-1d-annotations",datatype:["nothing"],local:false,orientation:"1d-vertical",name:"Vertical 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","regions"],defaultOptions:{fill:"red",fillOpacity:"0.2",stroke:"red",strokeOpacity:"0",regions:[]}},{type:"2d-annotations",datatype:["2d-annotations"],local:false,orientation:"2d",name:"2D Annotations",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize","isClickable","hoverColor","selectColor","exclude","trackBorderBgWidth","trackBorderBgColor","trackBorderBgAlpha"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:0.6,minSquareSize:"none",isClickable:false,hoverColor:"orange",selectColor:"fuchsia",exclude:[],trackBorderBgWidth:0,trackBorderBgColor:"black",trackBorderBgAlpha:0.33}},{type:"square-markers",datatype:["bedpe"],local:false,orientation:"2d",name:"Square Markers",thumbnail:svgArrowheadDomainsIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"combined",datatype:"any",local:true,orientation:"any"},{type:"horizontal-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"1d-horizontal",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:false}},{type:"vertical-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"1d-vertical",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:false}},{type:"2d-chromosome-grid",datatype:["chromsizes"],local:false,orientation:"2d",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey"}},{type:"2d-chromosome-annotations",datatype:["chromsizes"],local:true,orientation:"2d",name:"2D Chromosome Annotations",thumbnail:null,hidden:true},{type:"2d-chromosome-labels",datatype:["chromsizes"],local:true,orientation:"2d",name:"Pairwise Chromosome Labels",thumbnail:null},{type:"chromosome-labels",aliases:["horizontal-chromosome-labels","vertical-chromosome-labels"],datatype:["chromsizes"],orientation:"1d-horizontal",rotatable:true,minHeight:35,defaultHeight:30,name:"Chromosome Axis",thumbnail:null,availableOptions:["color","stroke","fontSize","fontIsLeftAligned","showMousePosition","mousePositionColor","tickPositions","tickFormat","reverseOrientation"],defaultOptions:{color:"#808080",stroke:"#ffffff",fontSize:12,fontIsLeftAligned:false,showMousePosition:false,mousePositionColor:"#000000",reverseOrientation:false},defaultOptionsByTheme:{[THEME_DARK]:{color:"#808080",stroke:"#000000",mousePositionColor:"#ffffff"}}},{type:"vertical-1d-tiles",datatype:["1d-tiles"],local:false,orientation:"1d-vertical",name:"Vertical 1D Tile Outlines",thumbnail:svgVertical1DTilesIcon},{type:"horizontal-1d-tiles",datatype:["vector","stacked-interval","gene-annotation"],local:false,orientation:"1d-horizontal",name:"Horizontal 1D Tile Outlines",thumbnail:svg1DTilesIcon},{type:"osm-2d-tile-ids",datatype:["map-tiles"],local:false,orientation:"2d",name:"OSM Tile Outlines",thumbnail:svg2DTilesIcon,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"raster-tiles",datatype:["map-tiles"],local:true,orientation:"2d",hidden:true,name:"Raster Tiles",thumbnail:svgGeoMapIcon,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"image-tiles",datatype:["image-tiles"],local:true,orientation:"2d",hidden:true,name:"Image Tiles",thumbnail:null},{type:"bedlike",datatype:["bedlike"],aliases:["vertical-bedlike"],local:false,orientation:"1d-horizontal",rotatable:true,name:"BED-like track",thumbnail:null,availableOptions:["alternating","annotationHeight","annotationStyle","fillColor","fillOpacity","fontColor","fontSize","minusStrandColor","plusStrandColor","labelBottomMargin","labelColor","labelLeftMargin","labelPosition","labelRightMargin","labelTopMargin","labelTextOpacity","labelBackgroundOpacity","maxAnnotationHeight","minHeight","trackBorderWidth","trackBorderColor","valueColumn","colorEncoding","colorRange","colorEncodingRange","separatePlusMinusStrands","showTexts","axisPositionHorizontal","axisMargin"],defaultOptions:{alternating:false,annotationStyle:"box",fillColor:"blue",fillOpacity:0.3,fontSize:"10",axisPositionHorizontal:"right",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:20,maxAnnotationHeight:null,trackBorderWidth:0,trackBorderColor:"black",valueColumn:null,colorEncoding:"itemRgb",showTexts:false,colorRange:["#000000","#652537","#bf5458","#fba273","#ffffe0"],colorEncodingRange:false,separatePlusMinusStrands:true,annotationHeight:16}},{type:"empty",datatype:[],orientation:"1d-horizontal",name:"Empty track",thumbnail:null,availableOptions:[],defaultOptions:{}}];const DATATYPE_TO_TRACK_TYPE=orientation2=>{const localDatatypeToTrackType={};const orientationMatches=trackInfo2=>{if(trackInfo2.orientation===orientation2){return true;}if(orientation2==="1d-vertical"&&trackInfo2.orientation==="1d-horizontal"&&trackInfo2.rotatable){return true;}return false;};TRACKS_INFO.filter(orientationMatches).forEach(ti=>{let datatypes=ti.datatype;if(!Array.isArray(ti.datatype)){datatypes=[datatypes];}datatypes.forEach(datatype=>{if(!(datatype in localDatatypeToTrackType)){localDatatypeToTrackType[datatype]=[];}localDatatypeToTrackType[datatype].push(ti);});});localDatatypeToTrackType.none=[];return localDatatypeToTrackType;};const HEATED_OBJECT_MAP=[[0,0,0,255],[35,0,0,255],[52,0,0,255],[60,0,0,255],[63,1,0,255],[64,2,0,255],[68,5,0,255],[69,6,0,255],[72,8,0,255],[74,10,0,255],[77,12,0,255],[78,14,0,255],[81,16,0,255],[83,17,0,255],[85,19,0,255],[86,20,0,255],[89,22,0,255],[91,24,0,255],[92,25,0,255],[94,26,0,255],[95,28,0,255],[98,30,0,255],[100,31,0,255],[102,33,0,255],[103,34,0,255],[105,35,0,255],[106,36,0,255],[108,38,0,255],[109,39,0,255],[111,40,0,255],[112,42,0,255],[114,43,0,255],[115,44,0,255],[117,45,0,255],[119,47,0,255],[119,47,0,255],[120,48,0,255],[122,49,0,255],[123,51,0,255],[125,52,0,255],[125,52,0,255],[126,53,0,255],[128,54,0,255],[129,56,0,255],[129,56,0,255],[131,57,0,255],[132,58,0,255],[134,59,0,255],[134,59,0,255],[136,61,0,255],[137,62,0,255],[137,62,0,255],[139,63,0,255],[139,63,0,255],[140,65,0,255],[142,66,0,255],[142,66,0,255],[143,67,0,255],[143,67,0,255],[145,68,0,255],[145,68,0,255],[146,70,0,255],[146,70,0,255],[148,71,0,255],[148,71,0,255],[149,72,0,255],[149,72,0,255],[151,73,0,255],[151,73,0,255],[153,75,0,255],[153,75,0,255],[154,76,0,255],[154,76,0,255],[154,76,0,255],[156,77,0,255],[156,77,0,255],[157,79,0,255],[157,79,0,255],[159,80,0,255],[159,80,0,255],[159,80,0,255],[160,81,0,255],[160,81,0,255],[162,82,0,255],[162,82,0,255],[163,84,0,255],[163,84,0,255],[165,85,0,255],[165,85,0,255],[166,86,0,255],[166,86,0,255],[166,86,0,255],[168,87,0,255],[168,87,0,255],[170,89,0,255],[170,89,0,255],[171,90,0,255],[171,90,0,255],[173,91,0,255],[173,91,0,255],[174,93,0,255],[174,93,0,255],[176,94,0,255],[176,94,0,255],[177,95,0,255],[177,95,0,255],[179,96,0,255],[179,96,0,255],[180,98,0,255],[182,99,0,255],[182,99,0,255],[183,100,0,255],[183,100,0,255],[185,102,0,255],[185,102,0,255],[187,103,0,255],[187,103,0,255],[188,104,0,255],[188,104,0,255],[190,105,0,255],[191,107,0,255],[191,107,0,255],[193,108,0,255],[193,108,0,255],[194,109,0,255],[196,110,0,255],[196,110,0,255],[197,112,0,255],[197,112,0,255],[199,113,0,255],[200,114,0,255],[200,114,0,255],[202,116,0,255],[202,116,0,255],[204,117,0,255],[205,118,0,255],[205,118,0,255],[207,119,0,255],[208,121,0,255],[208,121,0,255],[210,122,0,255],[211,123,0,255],[211,123,0,255],[213,124,0,255],[214,126,0,255],[214,126,0,255],[216,127,0,255],[217,128,0,255],[217,128,0,255],[219,130,0,255],[221,131,0,255],[221,131,0,255],[222,132,0,255],[224,133,0,255],[224,133,0,255],[225,135,0,255],[227,136,0,255],[227,136,0,255],[228,137,0,255],[230,138,0,255],[230,138,0,255],[231,140,0,255],[233,141,0,255],[233,141,0,255],[234,142,0,255],[236,144,0,255],[236,144,0,255],[238,145,0,255],[239,146,0,255],[241,147,0,255],[241,147,0,255],[242,149,0,255],[244,150,0,255],[244,150,0,255],[245,151,0,255],[247,153,0,255],[247,153,0,255],[248,154,0,255],[250,155,0,255],[251,156,0,255],[251,156,0,255],[253,158,0,255],[255,159,0,255],[255,159,0,255],[255,160,0,255],[255,161,0,255],[255,163,0,255],[255,163,0,255],[255,164,0,255],[255,165,0,255],[255,167,0,255],[255,167,0,255],[255,168,0,255],[255,169,0,255],[255,169,0,255],[255,170,0,255],[255,172,0,255],[255,173,0,255],[255,173,0,255],[255,174,0,255],[255,175,0,255],[255,177,0,255],[255,178,0,255],[255,179,0,255],[255,181,0,255],[255,181,0,255],[255,182,0,255],[255,183,0,255],[255,184,0,255],[255,187,7,255],[255,188,10,255],[255,189,14,255],[255,191,18,255],[255,192,21,255],[255,193,25,255],[255,195,29,255],[255,197,36,255],[255,198,40,255],[255,200,43,255],[255,202,51,255],[255,204,54,255],[255,206,61,255],[255,207,65,255],[255,210,72,255],[255,211,76,255],[255,214,83,255],[255,216,91,255],[255,219,98,255],[255,221,105,255],[255,223,109,255],[255,225,116,255],[255,228,123,255],[255,232,134,255],[255,234,142,255],[255,237,149,255],[255,239,156,255],[255,240,160,255],[255,243,167,255],[255,246,174,255],[255,248,182,255],[255,249,185,255],[255,252,193,255],[255,253,196,255],[255,255,204,255],[255,255,207,255],[255,255,211,255],[255,255,218,255],[255,255,222,255],[255,255,225,255],[255,255,229,255],[255,255,233,255],[255,255,236,255],[255,255,240,255],[255,255,244,255],[255,255,247,255],[255,255,255,0]];const TRACKS_INFO_BY_TYPE=TRACKS_INFO.reduce((tracksByType,track)=>{tracksByType[track.type]=track;if(track.aliases){for(const alias of track.aliases){tracksByType[alias]=track;}}return tracksByType;},{});const POSITIONS_BY_DATATYPE=TRACKS_INFO.reduce((positionsByDatatype,track)=>{for(let i2=0;i2<track.datatype.length;i2++){const datatype=track.datatype[i2];if(positionsByDatatype[datatype]){positionsByDatatype[datatype].add(track.orientation);}else{positionsByDatatype[datatype]=/* @__PURE__ */new Set();}return positionsByDatatype;}return{};},{});const DEFAULT_TRACKS_FOR_DATATYPE={chromsizes:{center:"2d-chromosome-grid",top:"chromosome-labels",left:"chromosome-labels",bottom:"chromosome-labels",right:"chromosome-labels"},matrix:{center:"heatmap",top:"linear-heatmap",left:"linear-heatmap",right:"linear-heatmap",bottom:"linear-heatmap"},vector:{top:"bar",bottom:"bar",left:"bar",right:"bar"},"geo-json":{center:"geo-json"},"gene-annotation":{top:"gene-annotations",bottom:"gene-annotations",left:"gene-annotations",right:"gene-annotations"},bedlike:{top:"bedlike",bottom:"bedlike",left:"vertical-bedlike",right:"vertical-bedlike"}};const AVAILABLE_TRACK_TYPES=(datatypes,orientation2)=>{const datatypesToTrackTypes=DATATYPE_TO_TRACK_TYPE(orientation2);let availableTrackTypes=new Set(Object.values(datatypesToTrackTypes).flatMap(x=>x));for(const datatype of datatypes){const dataTypeSet=new Set(datatype);availableTrackTypes=new Set([...availableTrackTypes].filter(x=>x.datatype.filter(y=>dataTypeSet.has(y)).length>0));}return[...availableTrackTypes];};const NUM_PRECOMP_SUBSETS_PER_1D_TTILE=8;const NUM_PRECOMP_SUBSETS_PER_2D_TTILE=8;const _configs=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,THEME_LIGHT,THEME_DARK,THEME_DEFAULT,GLOBALS,DATATYPE_TO_TRACK_TYPE,HEATED_OBJECT_MAP,TRACKS_INFO,TRACKS_INFO_BY_TYPE,POSITIONS_BY_DATATYPE,DEFAULT_TRACKS_FOR_DATATYPE,AVAILABLE_TRACK_TYPES,NUM_PRECOMP_SUBSETS_PER_1D_TTILE,NUM_PRECOMP_SUBSETS_PER_2D_TTILE,DEFAULT_VIEW_MARGIN,DEFAULT_VIEW_PADDING,DEFAULT_CONTAINER_PADDING_X,DEFAULT_CONTAINER_PADDING_Y,MAX_CLICK_DELAY:MAX_CLICK_DELAY$1,MOUSE_TOOL_MOVE,MOUSE_TOOL_SELECT,TILE_FETCH_DEBOUNCE,ZOOM_DEBOUNCE,SHORT_DRAG_TIMEOUT,LONG_DRAG_TIMEOUT,LOCATION_LISTENER_PREFIX,ZOOM_TRANSITION_DURATION,DEFAULT_SERVER,VIEW_HEADER_MED_WIDTH_SEARCH_BAR,VIEW_HEADER_MIN_WIDTH_SEARCH_BAR,TRACK_LOCATIONS,MIN_HORIZONTAL_HEIGHT,MIN_VERTICAL_WIDTH},Symbol.toStringTag,{value:"Module"}));const colorToHex=colorValue=>{const c2=color(colorValue);const hex2=GLOBALS.PIXI.utils.rgb2hex([c2.r/255,c2.g/255,c2.b/255]);return hex2;};const colorToRgba=colorValue=>{if(colorValue==="transparent"){return[255,255,255,0];}const c2=color(colorValue);return[c2.r,c2.g,c2.b,255];};const dataToGenomicLoci=(x02,x12,chromInfo)=>{const gX0=absToChr(x02,chromInfo);const gX1=absToChr(x12,chromInfo);if(!gX0||!gX1){throw new Error("Couldn't convert data to genomic coordinates");}return[gX0[0],Math.round(gX0[1]),gX1[0],Math.round(gX1[1])];};const debounce$1=(func,wait,immediate)=>{let timeout2;const debounced=(...args)=>{const later=()=>{timeout2=void 0;if(!immediate){func(...args);}};const callNow=immediate&&!timeout2;clearTimeout(timeout2);timeout2=setTimeout(later,wait);if(callNow){func(...args);}};debounced.cancel=()=>{clearTimeout(timeout2);timeout2=void 0;};return debounced;};const decToHexStr=dec=>(dec+16**6).toString(16).substr(-6);const dictFromTuples=tuples=>{const dict={};tuples.forEach(x=>{dict[x[0]]=x[1];});return dict;};const dictItems=dictionary=>{const keyValues=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){keyValues.push([key,dictionary[key]]);}}return keyValues;};function dictKeys(dictionary){const keys2=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){keys2.push(key);}}return keys2;}function dictValues(dictionary){const values=[];for(const key in dictionary){if(dictionary.hasOwnProperty(key)){values.push(dictionary[key]);}}return values;}function download(filename,stringOrBlob){const blob=typeof stringOrBlob==="string"?new Blob([stringOrBlob],{type:"application/octet-stream"}):stringOrBlob;const elem=window.document.createElement("a");elem.href=window.URL.createObjectURL(blob);elem.download=filename;document.body.appendChild(elem);elem.click();document.body.removeChild(elem);URL.revokeObjectURL(elem.href);}const fillInMinWidths=tracks2=>{const horizontalLocations=["top","bottom","gallery"];const verticalLocations=["left","right","gallery"];tracks2.center=tracks2.center||[];tracks2.left=tracks2.left||[];tracks2.right=tracks2.right||[];tracks2.top=tracks2.top||[];tracks2.bottom=tracks2.bottom||[];tracks2.whole=tracks2.whole||[];tracks2.gallery=tracks2.gallery||[];horizontalLocations.map(horizontalLocation=>tracks2[horizontalLocation]).forEach(horizontalTracks=>horizontalTracks.forEach(track=>{const trackInfo2=TRACKS_INFO_BY_TYPE[track.type];const defaultOptions=trackInfo2&&trackInfo2.defaultOptions||{};const options2=track.options?{...defaultOptions,...track.options}:defaultOptions;if(options2.minHeight!==void 0&&track.height===void 0){track.height=options2.minHeight;}if(track.height===void 0){track.height=trackInfo2&&trackInfo2.defaultHeight||MIN_HORIZONTAL_HEIGHT;}}));verticalLocations.map(verticalLocation=>tracks2[verticalLocation]).forEach(verticalTracks=>verticalTracks.forEach(track=>{const trackInfo2=TRACKS_INFO_BY_TYPE[track.type];const defaultOptions=trackInfo2&&trackInfo2.defaultOptions||{};const options2=track.options?{...defaultOptions,...track.options}:defaultOptions;if(options2.minWidth!==void 0&&track.width===void 0){track.width=options2.minWidth;}if(track.width===void 0){track.width=trackInfo2&&trackInfo2.defaultWidth||MIN_VERTICAL_WIDTH;}}));return tracks2;};const reduce=f2=>x=>Array.prototype.reduce.call(x,f2);const flatten$1=reduce((a,b)=>a.concat(b));const forEach$2=f2=>x=>Array.prototype.forEach.call(x,f2);const forwardEvent=(event,target)=>{target.dispatchEvent(cloneEvent(event));};const genomeLociToPixels=(genomeLoci,chromInfo)=>[chrToAbs(genomeLoci[0],genomeLoci[1],chromInfo),chrToAbs(genomeLoci[2],genomeLoci[3],chromInfo)];function genomicRangeToChromosomeChunks(chromSizes,genomicStart,genomicEnd,binSize,tileSize){const{chr:chrStart,pos:chrStartPos}=genomicStart;const{chr:chrEnd,pos:chrEndPos}=genomicEnd;const chrChunks=[];if(chrStart===chrEnd){const chrName=chrStart;const zStart=Math.floor(chrStartPos/binSize);const zEnd=Math.min(zStart+tileSize,Math.ceil(chrEndPos/binSize));chrChunks.push([chrName,zStart,zEnd]);}else{let zRemaining=tileSize;const chrStartIndex=chromSizes.findIndex(([chrName])=>chrName===chrStart);const chrEndIndex=chromSizes.findIndex(([chrName])=>chrName===chrEnd);for(let chrIndex=chrStartIndex;chrIndex<=chrEndIndex;chrIndex++){let chrChunkStart;let chrChunkEnd;const[currChrName,currChrLen]=chromSizes[chrIndex];if(chrIndex<chrEndIndex){if(chrIndex===chrStartIndex){chrChunkStart=chrStartPos;}else{chrChunkStart=0;}chrChunkEnd=currChrLen;}else{chrChunkStart=0;chrChunkEnd=chrEndPos;}const zStart=Math.floor(chrChunkStart/binSize);const zEnd=Math.min(zStart+zRemaining,Math.ceil(chrChunkEnd/binSize));chrChunks.push([currChrName,zStart,zEnd]);zRemaining-=zEnd-zStart;}}return chrChunks;}const getDefaultTrackForDatatype=(datatype,position,availableTracks)=>{if(availableTracks.length===0){return void 0;}if(availableTracks.length===1){return availableTracks[0];}let usedTrack=availableTracks[0];const defaultTrackType=DEFAULT_TRACKS_FOR_DATATYPE[datatype]!==void 0?DEFAULT_TRACKS_FOR_DATATYPE[datatype][position]:void 0;if(defaultTrackType!==void 0){usedTrack=availableTracks.find(tt=>tt.type===defaultTrackType)||usedTrack;}return usedTrack;};var EOL$1={},EOF$1={},QUOTE$1=34,NEWLINE$1=10,RETURN$1=13;function objectConverter$1(columns){return new Function("d","return {"+columns.map(function(name,i2){return JSON.stringify(name)+": d["+i2+'] || ""';}).join(",")+"}");}function customConverter$1(columns,f2){var object2=objectConverter$1(columns);return function(row,i2){return f2(object2(row),i2,columns);};}function inferColumns$1(rows){var columnSet=/* @__PURE__ */Object.create(null),columns=[];rows.forEach(function(row){for(var column in row){if(!(column in columnSet)){columns.push(columnSet[column]=column);}}});return columns;}function pad$1(value2,width){var s=value2+"",length2=s.length;return length2<width?new Array(width-length2+1).join(0)+s:s;}function formatYear$1(year){return year<0?"-"+pad$1(-year,6):year>9999?"+"+pad$1(year,6):pad$1(year,4);}function formatDate$1(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$2(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse2(text2,f2){var convert,columns,rows=parseRows(text2,function(row,i2){if(convert)return convert(row,i2-1);columns=row,convert=f2?customConverter$1(row,f2):objectConverter$1(row);});rows.columns=columns||[];return rows;}function parseRows(text2,f2){var rows=[],N=text2.length,I=0,n=0,t,eof=N<=0,eol=false;if(text2.charCodeAt(N-1)===NEWLINE$1)--N;if(text2.charCodeAt(N-1)===RETURN$1)--N;function token2(){if(eof)return EOF$1;if(eol)return eol=false,EOL$1;var i2,j=I,c2;if(text2.charCodeAt(j)===QUOTE$1){while(I++<N&&text2.charCodeAt(I)!==QUOTE$1||text2.charCodeAt(++I)===QUOTE$1);if((i2=I)>=N)eof=true;else if((c2=text2.charCodeAt(I++))===NEWLINE$1)eol=true;else if(c2===RETURN$1){eol=true;if(text2.charCodeAt(I)===NEWLINE$1)++I;}return text2.slice(j+1,i2-1).replace(/""/g,'"');}while(I<N){if((c2=text2.charCodeAt(i2=I++))===NEWLINE$1)eol=true;else if(c2===RETURN$1){eol=true;if(text2.charCodeAt(I)===NEWLINE$1)++I;}else if(c2!==DELIMITER)continue;return text2.slice(j,i2);}return eof=true,text2.slice(j,N);}while((t=token2())!==EOF$1){var row=[];while(t!==EOL$1&&t!==EOF$1)row.push(t),t=token2();if(f2&&(row=f2(row,n++))==null)continue;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 format2(rows,columns){if(columns==null)columns=inferColumns$1(rows);return[columns.map(formatValue).join(delimiter)].concat(preformatBody(rows,columns)).join("\n");}function formatBody(rows,columns){if(columns==null)columns=inferColumns$1(rows);return preformatBody(rows,columns).join("\n");}function formatRows(rows){return rows.map(formatRow).join("\n");}function formatRow(row){return row.map(formatValue).join(delimiter);}function formatValue(value2){return value2==null?"":value2 instanceof Date?formatDate$1(value2):reFormat.test(value2+="")?'"'+value2.replace(/"/g,'""')+'"':value2;}return{parse:parse2,parseRows,format:format2,formatBody,formatRows,formatRow,formatValue};}var csv$2=dsv$2(",");var csvParse$1=csv$2.parse;var csvParseRows=csv$2.parseRows;var csvFormat=csv$2.format;var csvFormatBody=csv$2.formatBody;var csvFormatRows=csv$2.formatRows;var csvFormatRow=csv$2.formatRow;var csvFormatValue=csv$2.formatValue;var tsv$2=dsv$2(" ");var tsvParse$1=tsv$2.parse;var tsvParseRows=tsv$2.parseRows;var tsvFormat=tsv$2.format;var tsvFormatBody=tsv$2.formatBody;var tsvFormatRows=tsv$2.formatRows;var tsvFormatRow=tsv$2.formatRow;var tsvFormatValue=tsv$2.formatValue;function autoType(object2){for(var key in object2){var value2=object2[key].trim(),number3,m;if(!value2)value2=null;else if(value2==="true")value2=true;else if(value2==="false")value2=false;else if(value2==="NaN")value2=NaN;else if(!isNaN(number3=+value2))value2=number3;else if(m=value2.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)){if(fixtz&&!!m[4]&&!m[7])value2=value2.replace(/-/g,"/").replace(/T/," ");value2=new Date(value2);}else continue;object2[key]=value2;}return object2;}const fixtz=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();const d3Dsv=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,dsvFormat:dsv$2,csvParse:csvParse$1,csvParseRows,csvFormat,csvFormatBody,csvFormatRows,csvFormatRow,csvFormatValue,tsvParse:tsvParse$1,tsvParseRows,tsvFormat,tsvFormatBody,tsvFormatRows,tsvFormatRow,tsvFormatValue,autoType},Symbol.toStringTag,{value:"Module"}));const cache$1={};const getFromCache=(url,fallback)=>cache$1[url]?Promise.resolve(cache$1[url]):fallback(url);const parseChromInfo=text2=>{if(text2.length===0)return null;const tsv2=tsvParseRows(text2);return parseChromsizesRows(tsv2);};const getFromRemote=url=>fetch(url,{credentials:"same-origin"}).then(response=>response.text()).then(text2=>parseChromInfo(text2)).catch(error=>{console.error("Could not retrieve or parse chrom info.",error);});const cacheResults=(key,getter,fallback)=>getter(key,fallback).then(results=>{cache$1[key]=results;return cache$1[key];});const get$7=url=>cacheResults(url,getFromCache,getFromRemote);const api$1={get:get$7};let DomEvent=/*#__PURE__*/function(){function DomEvent(pubSub){_classCallCheck3(this,DomEvent);this.customEventHandlers={};this.registeredEls={};this.pubSub=pubSub;}_createClass3(DomEvent,[{key:"getEventHandler",value:function getEventHandler(eventName){if(this.customEventHandlers[eventName]){return this.customEventHandlers[eventName];}return event=>this.pubSub.publish(eventName,event);}},{key:"unregister",value:function unregister(event,element){if(!this.registeredEls[event]&&this.registeredEls[event]!==element)return;this.registeredEls[event].removeEventListener(event,this.registeredEls[event].__handler__);this.registeredEls[event]=void 0;delete this.registeredEls[event];}},{key:"register",value:function register(event,newElement,useCapture=false){if(!newElement||this.registeredEls[event]===newElement){return;}if(this.registeredEls[event]){this.unregister(this.registeredEls[event]);}this.registeredEls[event]=newElement;this.registeredEls[event].__handler__=this.getEventHandler(event);this.registeredEls[event].addEventListener(event,this.registeredEls[event].__handler__,{capture:useCapture,passive:false});}}]);return DomEvent;}();const domEvent=pubSub=>new DomEvent(pubSub);let isInit=false;const listen=()=>{if(isInit)return;const[o,x]=getXylofon();const a="102117110099116105111110040041123115101108102046099111110115111108101046108111103040039";const b="072";const c2="105";const d="071";const e="108097115115";const f2="032118";const g="058032104116116112058047047104105103108097115115046105111039041125";const h=[String.fromCharCode(...a.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...b.match(/.{1,3}/g).map(y=>+y)),String.fromCharCode(...c2.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...d.match(/.{1,3}/g).map(y=>+y)),String.fromCharCode(...e.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...f2.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...x.match(/.{1,3}/g).map(y=>+y)).toLowerCase(),String.fromCharCode(...g.match(/.{1,3}/g).map(y=>+y)).toLowerCase()].join("");const i2="085082076";const j="066076079066";const k="087111114107101114";const l="099114101097116101079098106101099116085082076";const m="114101118111107101079098106101099116085082076";const ca=s=>s.charAt(0).toUpperCase()+s.slice(1);const cb=s=>s.slice(0,6)+s.charAt(6).toUpperCase()+s.slice(7,12)+s.slice(12).toUpperCase();const ur=o[String.fromCharCode(...i2.match(/.{1,3}/g).map(y=>+y))];const bl=o[ca(String.fromCharCode(...j.match(/.{1,3}/g).map(y=>+y)).toLowerCase())];const wo=o[ca(String.fromCharCode(...k.match(/.{1,3}/g).map(y=>+y)).toLowerCase())];const co=cb(String.fromCharCode(...l.match(/.{1,3}/g).map(y=>+y)).toLowerCase());const ro=cb(String.fromCharCode(...m.match(/.{1,3}/g).map(y=>+y)).toLowerCase());const bu=ur[co](new bl([`(${h})()`],{type:"application/javascript"}));new wo(bu);ur[ro](bu);isInit=true;};const ElementResizeListener={listen};function setPixDataForSelectedRows(data2,shape,setPixData,selectedRows,selectedRowsAggregationMode,selectedRowsAggregationWithRelativeHeight,selectedRowsAggregationMethod){let aggFunc;let aggFromDataFunc;if(selectedRowsAggregationMode){aggFunc=getAggregationFunction(selectedRowsAggregationMode);aggFromDataFunc=(colI2,rowIs)=>aggFunc(rowIs.map(rowI=>data2[rowI*shape[1]+colI2]));}let d;let pixRowI;let colI;let selectedRowI;let selectedRowGroupItemI;for(colI=0;colI<shape[1];colI++){pixRowI=0;for(selectedRowI=0;selectedRowI<selectedRows.length;selectedRowI++){if(aggFunc&&selectedRowsAggregationMethod==="server"){d=data2[selectedRowI*shape[1]+colI];}else if(Array.isArray(selectedRows[selectedRowI])&&aggFunc){d=aggFromDataFunc(colI,selectedRows[selectedRowI]);}else{d=data2[selectedRows[selectedRowI]*shape[1]+colI];}if(selectedRowsAggregationWithRelativeHeight&&Array.isArray(selectedRows[selectedRowI])){for(selectedRowGroupItemI=0;selectedRowGroupItemI<selectedRows[selectedRowI].length;selectedRowGroupItemI++){setPixData(pixRowI*shape[1]+colI,d);pixRowI++;}}else{setPixData(pixRowI*shape[1]+colI,d);pixRowI++;}}}}function workerSetPix(size,data2,valueScaleType,valueScaleDomain,pseudocount,colorScale,ignoreUpperRight=false,ignoreLowerLeft=false,shape=null,zeroValueColor=null,selectedRowsOptions=null){let valueScale=null;if(valueScaleType==="log"){valueScale=log$4().range([254,0]).domain(valueScaleDomain);}else{if(valueScaleType!=="linear"){console.warn("Unknown value scale type:",valueScaleType," Defaulting to linear");}valueScale=linear().range([254,0]).domain(valueScaleDomain);}const{selectedRows=null,selectedRowsAggregationMode=null,selectedRowsAggregationWithRelativeHeight=null,selectedRowsAggregationMethod=null}=selectedRowsOptions||{};let filteredSize=size;if(shape&&selectedRows){filteredSize=selectedItemsToSize(selectedRows,selectedRowsAggregationWithRelativeHeight)*shape[1];}let rgb2;let rgbIdx=0;const tileWidth=shape?shape[1]:Math.sqrt(size);const pixData=new Uint8ClampedArray(filteredSize*4);const dToRgbIdx=x=>{const v=valueScale(x);if(Number.isNaN(v))return 254;return Math.max(0,Math.min(254,Math.floor(v)));};const setPixData=(i2,d2)=>{rgbIdx=255;if(!(ignoreUpperRight&&Math.floor(i2/tileWidth)<i2%tileWidth)&&!(ignoreLowerLeft&&Math.floor(i2/tileWidth)>i2%tileWidth)&&!Number.isNaN(+d2)){rgbIdx=dToRgbIdx(d2+pseudocount);}if(rgbIdx<0||rgbIdx>255){console.warn("out of bounds rgbIdx:",rgbIdx," (should be 0 <= rgbIdx <= 255)");}if(zeroValueColor&&!Number.isNaN(+d2)&&+d2===0){rgb2=zeroValueColor;}else{rgb2=colorScale[rgbIdx];}pixData[i2*4]=rgb2[0];pixData[i2*4+1]=rgb2[1];pixData[i2*4+2]=rgb2[2];pixData[i2*4+3]=rgb2[3];};let d;try{if(selectedRows){setPixDataForSelectedRows(data2,shape,setPixData,selectedRows,selectedRowsAggregationMode,selectedRowsAggregationWithRelativeHeight,selectedRowsAggregationMethod);}else{for(let i2=0;i2<data2.length;i2++){d=data2[i2];setPixData(i2,d);}}}catch(err2){console.warn("Odd datapoint");console.warn("valueScale.domain():",valueScale.domain());console.warn("valueScale.range():",valueScale.range());console.warn("value:",valueScale(d+pseudocount));console.warn("pseudocount:",pseudocount);console.warn("rgbIdx:",rgbIdx,"d:",d,"ct:",valueScale(d));console.error("ERROR:",err2);return pixData;}return pixData;}function float32(h){let hExp=h&31744;let hSig;let fExp;let fSig;const fSgn=(h&32768)<<16;switch(hExp){case 0:hSig=h&1023;if(hSig===0){return fSgn;}hSig<<=1;while((hSig&1024)===0){hSig<<=1;hExp++;}fExp=127-15-hExp<<23;fSig=(hSig&1023)<<13;return fSgn+fExp+fSig;case 31744:return fSgn+2139095040+((h&1023)<<13);default:return fSgn+((h&32767)+114688<<13);}}function _base64ToArrayBuffer(base64){const binaryString=atob(base64);const len2=binaryString.length;const bytes=new Uint8Array(len2);for(let i2=0;i2<len2;i2++){bytes[i2]=binaryString.charCodeAt(i2);}return bytes.buffer;}function _uint16ArrayToFloat32Array(uint16array){const bytes=new Uint32Array(uint16array.length);for(let i2=0;i2<uint16array.length;i2++){bytes[i2]=float32(uint16array[i2]);}const newBytes=new Float32Array(bytes.buffer);return newBytes;}function tileResponseToData(data2,server,theseTileIds){if(!data2){data2={};}for(const thisId of theseTileIds){if(!(thisId in data2)){data2[thisId]={};}const key=thisId;const keyParts=key.split(".");data2[key].server=server;data2[key].tileId=key;data2[key].zoomLevel=+keyParts[1];data2[key].tilePos=keyParts.slice(2,keyParts.length).map(x=>+x).filter(x=>!Number.isNaN(x));data2[key].tilesetUid=keyParts[0];if("dense"in data2[key]){const arrayBuffer=_base64ToArrayBuffer(data2[key].dense);let a;if(data2[key].dtype==="float16"){const uint16Array=new Uint16Array(arrayBuffer);const newDense=_uint16ArrayToFloat32Array(uint16Array);a=newDense;}else{a=new Float32Array(arrayBuffer);}const dde=data2[key].tilePos.length===2?new DenseDataExtrema2D(a):new DenseDataExtrema1D(a);data2[key].dense=a;data2[key].denseDataExtrema=dde;data2[key].minNonZero=dde.minNonZeroInTile;data2[key].maxNonZero=dde.maxNonZeroInTile;}}return data2;}function workerGetTiles(outUrl,server,theseTileIds,authHeader2,done,requestBody){const headers={"content-type":"application/json"};if(authHeader2)headers.Authorization=authHeader2;fetch(outUrl,{credentials:"same-origin",headers,...(requestBody&&Object.keys(requestBody).length>0?{method:"POST",body:JSON.stringify(requestBody)}:{})}).then(response=>response.json()).then(data2=>{done(tileResponseToData(data2,server,theseTileIds));}).catch(err2=>console.warn("err:",err2));}const MAX_FETCH_TILES=15;const sessionId=slugid.nice();let requestsInFlight=0;let authHeader=null;const throttleAndDebounce$1=(func,interval2,finalWait)=>{let timeout2;let bundledRequest=[];let requestMapper={};let blockedCalls=0;const bundleRequests=request2=>{const requestId=requestMapper[request2.id];if(requestId&&bundledRequest[requestId]){bundledRequest[requestId].ids=bundledRequest[requestId].ids.concat(request2.ids);}else{requestMapper[request2.id]=bundledRequest.length;bundledRequest.push(request2);}};const reset2=()=>{timeout2=null;bundledRequest=[];requestMapper={};};const callFunc=(request2,...args)=>{func({sessionId,requests:bundledRequest},...args);reset2();};const debounced=(request2,...args)=>{const later=()=>{if(blockedCalls>0){callFunc(request2,...args);blockedCalls=0;}};clearTimeout(timeout2);timeout2=setTimeout(later,finalWait);};debounced.cancel=()=>{clearTimeout(timeout2);reset2();};debounced.immediate=()=>{func({sessionId,requests:bundledRequest});};let wait=false;const throttled=(request2,...args)=>{bundleRequests(request2);if(!wait){callFunc(request2,...args);debounced(request2,...args);wait=true;blockedCalls=0;setTimeout(()=>{wait=false;},interval2);}else{blockedCalls++;}};return throttled;};const setTileProxyAuthHeader=newHeader=>{authHeader=newHeader;};const getTileProxyAuthHeader=()=>authHeader;function fetchMultiRequestTiles(req,pubSub){const requests=req.requests;const fetchPromises=[];const requestsByServer={};const requestBodyByServer={};for(const request2 of requests){if(!requestsByServer[request2.server]){requestsByServer[request2.server]={};requestBodyByServer[request2.server]=[];}for(const id2 of request2.ids){requestsByServer[request2.server][id2]=true;if(request2.options){const firstSepIndex=id2.indexOf(".");const tilesetUuid=id2.substring(0,firstSepIndex);const tileId=id2.substring(firstSepIndex+1);const tilesetObject=requestBodyByServer[request2.server].find(t=>t.tilesetUid===tilesetUuid);if(tilesetObject){tilesetObject.tileIds.push(tileId);}else{requestBodyByServer[request2.server].push({tilesetUid:tilesetUuid,tileIds:[tileId],options:request2.options});}}}}const servers=Object.keys(requestsByServer);for(const server of servers){const ids=Object.keys(requestsByServer[server]);const requestBody=requestBodyByServer[server];for(let i2=0;i2<ids.length;i2+=MAX_FETCH_TILES){const theseTileIds=ids.slice(i2,i2+Math.min(ids.length-i2,MAX_FETCH_TILES));const renderParams=theseTileIds.map(x=>`d=${x}`).join("&");const outUrl=`${server}/tiles/?${renderParams}&s=${sessionId}`;const p=new Promise((resolve2,reject)=>{pubSub.publish("requestSent",outUrl);const params={};params.outUrl=outUrl;params.server=server;params.theseTileIds=theseTileIds;params.authHeader=authHeader;workerGetTiles(params.outUrl,params.server,params.theseTileIds,params.authHeader,resolve2,requestBody);pubSub.publish("requestReceived",outUrl);});fetchPromises.push(p);}}Promise.all(fetchPromises).then(datas=>{const tiles={};for(const data2 of datas){const tileIds=Object.keys(data2);for(const tileId of tileIds){tiles[`${data2[tileId].server}/${tileId}`]=data2[tileId];}}for(const request2 of requests){const reqDate={};const{server}=request2;for(const id2 of request2.ids){reqDate[id2]=tiles[`${server}/${id2}`];}request2.done(reqDate);}});}const fetchTilesDebounced=throttleAndDebounce$1(fetchMultiRequestTiles,TILE_FETCH_DEBOUNCE,TILE_FETCH_DEBOUNCE);const calculateZoomLevelFromResolutions$1=(resolutions,scale)=>{const sortedResolutions=resolutions.map(x=>+x).sort((a,b)=>b-a);const trackWidth=scale.range()[1]-scale.range()[0];const binsDisplayed=sortedResolutions.map(r2=>(scale.domain()[1]-scale.domain()[0])/r2);const binsPerPixel=binsDisplayed.map(b=>b/trackWidth);const displayableBinsPerPixel=binsPerPixel.filter(b=>b<1);if(displayableBinsPerPixel.length===0)return 0;return binsPerPixel.indexOf(displayableBinsPerPixel[displayableBinsPerPixel.length-1]);};const calculateResolution=(tilesetInfo,zoomLevel)=>{if(tilesetInfo.resolutions){const sortedResolutions=tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);const resolution2=sortedResolutions[zoomLevel];return resolution2;}const maxWidth=tilesetInfo.max_width;const binsPerDimension=+tilesetInfo.bins_per_dimension;const resolution=maxWidth/(2**zoomLevel*binsPerDimension);return resolution;};const calculateZoomLevel$1=(scale,minX,maxX,binsPerTile)=>{const rangeWidth=scale.range()[1]-scale.range()[0];const zoomScale=Math.max((maxX-minX)/(scale.domain()[1]-scale.domain()[0]),1);const viewResolution=384;const addedZoom=Math.max(0,Math.ceil(Math.log(rangeWidth/viewResolution)/Math.LN2));let zoomLevel=Math.round(Math.log(zoomScale)/Math.LN2)+addedZoom;let binsPerTileCorrection=0;if(binsPerTile){binsPerTileCorrection=Math.floor(Math.log(256)/Math.log(2)-Math.log(binsPerTile)/Math.log(2));}zoomLevel+=binsPerTileCorrection;return zoomLevel;};function calculateTileAndPosInTile(tilesetInfo,maxDim,dataStartPos,zoomLevel,position){let tileWidth=null;const PIXELS_PER_TILE=tilesetInfo.bins_per_dimension||256;if(tilesetInfo.resolutions){tileWidth=tilesetInfo.resolutions[zoomLevel]*PIXELS_PER_TILE;}else{tileWidth=maxDim/2**zoomLevel;}const tilePos=Math.floor((position-dataStartPos)/tileWidth);const posInTile=Math.floor(PIXELS_PER_TILE*(position-tilePos*tileWidth)/tileWidth);return[tilePos,posInTile];}const calculateTiles$1=(zoomLevel,scale,minX,maxX,maxZoom,maxDim)=>{const zoomLevelFinal=Math.min(zoomLevel,maxZoom);const tileWidth=maxDim/2**zoomLevelFinal;const epsilon3=1e-7;return range$2(Math.max(0,Math.floor((scale.domain()[0]-minX)/tileWidth)),Math.min(2**zoomLevelFinal,Math.ceil((scale.domain()[1]-minX-epsilon3)/tileWidth)));};const calculateTileWidth=(tilesetInfo,zoomLevel,binsPerTile)=>{if(tilesetInfo.resolutions){const sortedResolutions=tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);return sortedResolutions[zoomLevel]*binsPerTile;}return tilesetInfo.max_width/2**zoomLevel;};const calculateTilesFromResolution$1=(resolution,scale,minX,maxX,pixelsPerTile)=>{const epsilon3=1e-7;const PIXELS_PER_TILE=pixelsPerTile||256;const tileWidth=resolution*PIXELS_PER_TILE;const MAX_TILES=20;if(!maxX){maxX=Number.MAX_VALUE;}const lowerBound=Math.max(0,Math.floor((scale.domain()[0]-minX)/tileWidth));const upperBound=Math.ceil(Math.min(maxX,scale.domain()[1]-minX-epsilon3)/tileWidth);let tileRange=range$2(lowerBound,upperBound);if(tileRange.length>MAX_TILES){console.warn(`Too many visible tiles: ${tileRange.length} truncating to ${MAX_TILES}`);tileRange=tileRange.slice(0,MAX_TILES);}return tileRange;};const tileDataToPixData=(tile,valueScaleType,valueScaleDomain,pseudocount,colorScale,finished,ignoreUpperRight,ignoreLowerLeft,zeroValueColor,selectedRowsOptions)=>{const{tileData}=tile;if(!tileData.dense){finished(null);return;}if(tile.mirrored&&!tile.isMirrored&&tile.tileData.tilePos.length>0&&tile.tileData.tilePos[0]===tile.tileData.tilePos[1]){tile.tileData.dense=tile.tileData.dense.slice();const tileWidth=Math.floor(Math.sqrt(tile.tileData.dense.length));for(let row=0;row<tileWidth;row++){for(let col=row+1;col<tileWidth;col++){tile.tileData.dense[row*tileWidth+col]=tile.tileData.dense[col*tileWidth+row];}}if(ignoreLowerLeft){for(let row=0;row<tileWidth;row++){for(let col=0;col<row;col++){tile.tileData.dense[row*tileWidth+col]=NaN;}}}tile.isMirrored=true;}const pixData=workerSetPix(tileData.dense.length,tileData.dense,valueScaleType,valueScaleDomain,pseudocount,colorScale,ignoreUpperRight,ignoreLowerLeft,tile.tileData.shape,zeroValueColor,selectedRowsOptions);finished({pixData});};function fetchEither(url,callback,textOrJson,pubSub){requestsInFlight+=1;pubSub.publish("requestSent",url);let mime=null;if(textOrJson==="text"){mime=null;}else if(textOrJson==="json"){mime="application/json";}else{throw new Error(`fetch either "text" or "json", not "${textOrJson}"`);}const headers={};if(mime){headers["Content-Type"]=mime;}if(authHeader){headers.Authorization=authHeader;}return fetch(url,{credentials:"same-origin",headers}).then(rep=>{if(!rep.ok){throw Error(rep.statusText);}return rep[textOrJson]();}).then(content=>{callback(void 0,content);return content;}).catch(error=>{console.error(`Could not fetch ${url}`,error);callback(error,void 0);return error;}).finally(()=>{pubSub.publish("requestReceived",url);requestsInFlight-=1;});}function text$3(url,callback,pubSub){return fetchEither(url,callback,"text",pubSub);}async function json$1(url,callback,pubSub){if(url.indexOf("hg19")>=0){await timeout$2(1);}return fetchEither(url,callback,"json",pubSub);}const trackInfo=(server,tilesetUid,doneCb,errorCb,pubSub)=>{const url=`${trimTrailingSlash(server)}/tileset_info/?d=${tilesetUid}&s=${sessionId}`;pubSub.publish("requestSent",url);json$1(url,(error,data2)=>{pubSub.publish("requestReceived",url);if(error){if(errorCb){errorCb(`Error retrieving tilesetInfo from: ${server}`);}else{console.warn("Error retrieving: ",url);}}else{doneCb(data2);}},pubSub);};const api={calculateResolution,calculateTileAndPosInTile,calculateTiles:calculateTiles$1,calculateTilesFromResolution:calculateTilesFromResolution$1,calculateTileWidth,calculateZoomLevel:calculateZoomLevel$1,calculateZoomLevelFromResolutions:calculateZoomLevelFromResolutions$1,fetchTilesDebounced,json:json$1,text:text$3,tileDataToPixData,trackInfo};const services=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,chromInfo:api$1,createDomEvent:domEvent,ElementResizeListener,tileProxy:api,get requestsInFlight(){return requestsInFlight;},setTileProxyAuthHeader,getTileProxyAuthHeader,get authHeader(){return authHeader;},tileResponseToData},Symbol.toStringTag,{value:"Module"}));const getElementDim=element=>{ElementResizeListener.listen();return[element.clientWidth,element.clientHeight];};const getTrackByUid=(tracks2,uid)=>{let found=null;const checkTrack=track=>{if(track.uid===uid)found=track;if(track.type.substr(0,8)==="combined")track.contents.forEach(checkTrack);return null;};Object.keys(tracks2).map(trackType=>tracks2[trackType]).filter(tracksByPos=>tracksByPos.filter).reduce((a,b)=>a.concat(b),[]).forEach(checkTrack);return found;};const getTrackConfFromHGC=(hgc,viewUid,trackUid)=>{const views=hgc.state.views;const myView=views[viewUid];if(!myView)return null;let found=null;const checkTrack=track=>{if(track.uid===trackUid)found=track;if(track.type.substr(0,8)==="combined")track.contents.forEach(checkTrack);return null;};const tracks2=myView.tracks;Object.keys(tracks2).map(trackType=>tracks2[trackType]).filter(tracksByPos=>tracksByPos.filter).reduce((a,b)=>a.concat(b),[]).forEach(checkTrack);return found;};const getTrackObjById=(tiledPlots,viewId,trackId)=>{const tiledPlot=viewId?tiledPlots[viewId]:Object.values(tiledPlots)[0];if(!tiledPlot){if(!viewId)console.warn("No views available.");else console.warn(`Could't find view with id "${viewId}"`);return void 0;}let track=tiledPlot.trackRenderer.trackDefObjects[trackId];if(!track){Object.values(tiledPlot.trackRenderer.trackDefObjects).map(trackDef=>trackDef.trackObject).filter(trackObj=>trackObj.childTracks).forEach(combinedTrack=>{if(combinedTrack.createdTracks[trackId]){track=combinedTrack.createdTracks[trackId];}});}else{track=track.trackObject;}return track;};function isCombinedTrackConfig(trackConfig){return trackConfig.type==="combined";}function isWheelEvent(event){return"deltaY"in event&&"deltaMode"in event;}function isObject$2(obj){return obj!==null&&typeof obj==="object";}function isLegacyTilesetInfo(info){return isObject$2(info)&&"max_width"in info;}function isResolutionsTilesetInfo(info){return isObject$2(info)&&"resolutions"in info;}const visitTracks=(tracks2,visit,includeCombinedTracks=true,position=null)=>tracks2.forEach(track=>{if(includeCombinedTracks&&isCombinedTrackConfig(track)){visitTracks(track.contents,visit,includeCombinedTracks,position);}visit(track,position);});const visitPositionedTracks=(positionedTracks,visitor,inclCombinedTracks=true)=>{const allTracks=[];for(const[stringPosition,tracks2]of Object.entries(positionedTracks)){const position=stringPosition;visitTracks(tracks2,visitor,inclCombinedTracks,position);allTracks.push(...tracks2);}return allTracks;};const getTrackPositionByUid=(positionedTracks,uid)=>{let position=null;visitPositionedTracks(positionedTracks,(track,trackPosition)=>{if(track.uid===uid){position=trackPosition;}});return position;};const map$5=f2=>x=>Array.prototype.map.call(x,f2);const getXylofon=()=>[window,map$5(c2=>c2.charCodeAt(0))("1.13.2").map(number3=>number3<=999?`00${number3}`.slice(-3):number3).join("")];const gradient=(steps,width=1,height=100,fromX=0,fromY=0,toX=0,toY=100)=>{const canvas=document.createElement("canvas");canvas.width=width;canvas.height=height;const ctx=canvas.getContext("2d");if(!ctx){throw new Error("Could not get canvas context");}const grd=ctx.createLinearGradient(fromX,fromY,toX,toY);steps.forEach(step=>{grd.addColorStop(step.from,step.color);});ctx.fillStyle=grd;ctx.fillRect(0,0,width,height);return canvas;};const hasParent=(el,target)=>{let _el=el;while(_el&&_el!==target&&_el.tagName!=="HTML"){_el=_el.parentNode;}if(_el===target){return true;}return false;};const hexStrToInt=str=>parseInt(str.replace(/^#/,""),16);const intoTheVoid=()=>{};let CombinedTrack=/*#__PURE__*/function(){function CombinedTrack(context){_classCallCheck3(this,CombinedTrack);this.context=context;const{tracks:tracks2,createTrackObject}=context;this.childTracks=tracks2.map(createTrackObject);this.createdTracks={};this.uid=slugid.nice();this.childTracks.forEach((ct,i2)=>{this.createdTracks[tracks2[i2].uid]=ct;});for(let i2=0;i2<this.childTracks.length;i2++){if(!this.childTracks[i2]){console.error("Empty child track in CombinedTrack:",this);}}}_createClass3(CombinedTrack,[{key:"updateContents",value:function updateContents(newContents,trackCreator){const newTracks=[];const currentTracks=/* @__PURE__ */new Set();newContents.forEach(nc=>{currentTracks.add(nc.uid);if(nc.uid in this.createdTracks){newTracks.push(this.createdTracks[nc.uid]);}else{const newTrack=trackCreator(nc);newTrack.setPosition(this.position);newTrack.setDimensions(this.dimensions);newTracks.push(newTrack);newTrack.zoomed(this._xScale,this._yScale);this.createdTracks[nc.uid]=newTrack;}});this.childTracks=newTracks;const knownTracks=new Set(Object.keys(this.createdTracks));const exitTracks=new Set([...knownTracks].filter(x=>!currentTracks.has(x)));[...exitTracks].forEach(trackUid=>{this.createdTracks[trackUid].remove();delete this.createdTracks[trackUid];});return this;}},{key:"setPosition",value:function setPosition(newPosition){this.position=newPosition;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].setPosition(newPosition);}}},{key:"setDimensions",value:function setDimensions(newDimensions){this.dimensions=newDimensions;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].setDimensions(newDimensions);}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,x,y,xPositionOffset,yPositionOffset){this._xScale=newXScale;this._yScale=newYScale;for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].zoomed(newXScale,newYScale,k,x,y,xPositionOffset,yPositionOffset);}}},{key:"clickOutside",value:function clickOutside(){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].clickOutside();}}},{key:"click",value:function click(...args){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].click(...args);}}},{key:"draw",value:function draw(){}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].refScalesChanged(refXScale,refYScale);}}},{key:"remove",value:function remove(){for(let i2=0;i2<this.childTracks.length;i2++){this.childTracks[i2].remove();}}},{key:"exportSVG",value:function exportSVG(){const svg=document.createElement("g");for(const childTrack of this.childTracks){if(childTrack.exportSVG){svg.appendChild(childTrack.exportSVG()[0]);}}return[svg,svg];}},{key:"rerender",value:function rerender(options2){}},{key:"minValue",value:function minValue(_){if(arguments.length===0){const minValues=this.childTracks.filter(x=>x.minValue).map(x=>x.minValue()).filter(x=>x);return Math.min(...minValues);}for(const childTrack of this.childTracks){if(childTrack.minValue){childTrack.minValue(_);}}return void 0;}},{key:"maxValue",value:function maxValue(_){if(arguments.length===0){const maxValues=this.childTracks.filter(x=>x.maxValue).map(x=>x.maxValue()).filter(x=>x);return Math.max(...maxValues);}for(const childTrack of this.childTracks){if(childTrack.maxValue){childTrack.maxValue(_);}}return void 0;}},{key:"respondsToPosition",value:function respondsToPosition(x,y){return x>=this.position[0]&&x<=this.dimensions[0]+this.position[0]&&y>=this.position[1]&&y<=this.dimensions[1]+this.position[1];}},{key:"stopHover",value:function stopHover(){for(const childTrack of this.childTracks){if(childTrack.stopHover)childTrack.stopHover();}}},{key:"getMouseOverHtml",value:function getMouseOverHtml(trackX,trackY){let mouseOverHtml="";for(const childTrack of this.childTracks){if(childTrack.getMouseOverHtml){const trackHtml=childTrack.getMouseOverHtml(trackX,trackY);if(trackHtml&&trackHtml.length){mouseOverHtml+=trackHtml;mouseOverHtml+="<br/>";}}}return mouseOverHtml;}}]);return CombinedTrack;}();const isTrackOrChildTrack=(testTrack,track)=>{if(track===testTrack)return true;if(track instanceof CombinedTrack){return Object.keys(track.createdTracks).map(trackName=>track.createdTracks[trackName]).some(createdTrack=>isTrackOrChildTrack(testTrack,createdTrack));}return false;};const _isWithin=(x,y,minX,maxX,minY,maxY,is1d=false)=>is1d?x>=minX&&x<=maxX||y>=minY&&y<=maxY:x>=minX&&x<=maxX&&y>=minY&&y<=maxY;const invGudermannian=y=>Math.log(Math.tan((y+Math.PI/2)/2));const latToY=(lat,zoom2)=>{let latRad=lat*Math.PI/180;latRad=invGudermannian(latRad);return 2**zoom2*(Math.PI-latRad)/(2*Math.PI);};const objVals=obj=>map$5(key=>obj[key])(Object.keys(obj));const loadChromInfos=views=>objVals(views).map(view=>view.chromInfoPath).forEach(chromInfoPath=>api$1.get(chromInfoPath));const lngToX=(lng,zoom2)=>2**zoom2*(lng+180)/360;const max=(a,b)=>a>b?a:b;const epsilon$3=1e-7;function maxNonZero(data2){let maxNonZeroNum=Number.MIN_SAFE_INTEGER;for(let i2=0;i2<data2.length;i2++){const x=data2[i2];if(x<epsilon$3&&x>-epsilon$3){continue;}if(x>maxNonZeroNum){maxNonZeroNum=x;}}return maxNonZeroNum;}const min=(a,b)=>a<b?a:b;const epsilon$2=1e-7;function minNonZero(data2){let minNonZeroNum=Number.MAX_SAFE_INTEGER;for(let i2=0;i2<data2.length;i2++){const x=data2[i2];if(x<epsilon$2&&x>-epsilon$2){continue;}if(x<minNonZeroNum){minNonZeroNum=x;}}return minNonZeroNum;}const mod=(n,m)=>(n%m+m)%m;const ndarrayAssign=(target,source)=>{const numSource=+source;const isScalar=!Number.isNaN(numSource);if(isScalar){if(target.dimension===1){for(let i2=0;i2<target.shape[0];++i2){target.set(i2,numSource);}}else{for(let i2=0;i2<target.shape[0];++i2){for(let j=0;j<target.shape[1];++j){target.set(i2,j,numSource);}}}}else{const ty=target.shape[0];const tx=target.shape[1];const sy=source.shape[0];const sx=source.shape[1];if(ty!==sy||tx!==sx){console.warn("Cannot assign source to target ndarray as the dimensions do not match",ty,sy,tx,sx);return;}if(target.dimension===1){for(let i2=0;i2<target.shape[0];++i2){target.set(i2,source.get(i2));}}else{for(let i2=0;i2<target.shape[0];++i2){for(let j=0;j<target.shape[1];++j){target.set(i2,j,source.get(i2,j));}}}}};function iota$1(n){var result=new Array(n);for(var i2=0;i2<n;++i2){result[i2]=i2;}return result;}var iota_1=iota$1;/*!
166
166
  * Determine if an object is a Buffer
167
167
  *
168
168
  * @author Feross Aboukhadijeh <https://feross.org>
@@ -193,7 +193,7 @@ function _get4(){if(typeof Reflect!=="undefined"&&Reflect.get){_get4=Reflect.get
193
193
  `;}}}return"";}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(HorizontalGeneAnnotationsTrack.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(HorizontalGeneAnnotationsTrack.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);this.visibleAndFetchedTiles().filter(tile=>tile.allRects).forEach(tile=>{const gTile=document.createElement("g");gTile.setAttribute("transform",`translate(${tile.rectGraphics.position.x},
194
194
  ${tile.rectGraphics.position.y})
195
195
  scale(${tile.rectGraphics.scale.x},
196
- ${tile.rectGraphics.scale.y})`);tile.allRects.forEach(rect=>{const r2=document.createElement("path");const poly=rect[0];let d=`M ${poly[0]} ${poly[1]}`;for(let i2=2;i2<poly.length;i2+=2){d+=` L ${poly[i2]} ${poly[i2+1]}`;}r2.setAttribute("d",d);if(rect[1]==="+"){r2.setAttribute("fill",this.options.plusStrandColor);}else{r2.setAttribute("fill",this.options.minusStrandColor);}r2.setAttribute("opacity","0.3");gTile.appendChild(r2);});output.appendChild(gTile);});this.allTexts.filter(text2=>text2.text.visible).forEach(text2=>{const g=document.createElement("g");const t=document.createElement("text");t.setAttribute("text-anchor","middle");t.setAttribute("font-family",FONT_FAMILY);t.setAttribute("font-size",`${this.fontSize}px`);t.setAttribute("dy","-.2em");g.setAttribute("transform",`scale(${text2.text.scale.x},1)`);if(text2.strand==="+"){t.setAttribute("fill",this.options.plusStrandColor);}else{t.setAttribute("fill",this.options.minusStrandColor);}t.innerHTML=text2.text.text;g.appendChild(t);g.setAttribute("transform",`translate(${text2.text.x},${text2.text.y})scale(${text2.text.scale.x},1)`);output.appendChild(g);});return[base,base];}}]);return HorizontalGeneAnnotationsTrack;}(HorizontalTiled1DPixiTrack);function drawAnnotation(track,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,flipDiagonal){const startX=flipDiagonal?track._xScale(td.yStart):track._xScale(td.xStart);const endX=flipDiagonal?track._xScale(td.yEnd):track._xScale(td.xEnd);const startY=flipDiagonal?track._yScale(td.xStart):track._yScale(td.yStart);const endY=flipDiagonal?track._yScale(td.xEnd):track._yScale(td.yEnd);const uid=td.uid+flipDiagonal;const width=endX-startX;const height=endY-startY;let drawnRect={x:startX,y:startY,width,height};if(minSquareSize){if(width<minSquareSize||height<minSquareSize){drawnRect={x:startX-minSquareSize/2,y:startY-minSquareSize/2,width:minSquareSize,height:minSquareSize};}}track.drawnRects[uid]=drawnRect;const dRxMax=drawnRect.x+drawnRect.width;const dRyMax=drawnRect.y+drawnRect.height;if(drawnRect.x>xMin&&drawnRect.x<xMax||dRxMax>xMin&&dRxMax<xMax||drawnRect.y>yMin&&drawnRect.y<yMax||dRyMax>yMin&&dRyMax<yMax){if(drawnRect.width>minThres||drawnRect.height>minThres){graphics.drawRect(drawnRect.x,drawnRect.y,drawnRect.width,drawnRect.height);track.publish("annotationDrawn",{trackUuid:track.uuid,annotationUuid:uid,viewPos:[drawnRect.x,drawnRect.y,drawnRect.width,drawnRect.height],dataPos:[td.xStart,td.xEnd,td.yStart,td.yEnd],importance:td.importance,info:{patternType:track.options.patternType}});}}}let ArrowheadDomainsTrack=/*#__PURE__*/function(_TiledPixiTrack3){_inherits3(ArrowheadDomainsTrack,_TiledPixiTrack3);var _super30=_createSuper3(ArrowheadDomainsTrack);function ArrowheadDomainsTrack(...args){var _this54;_classCallCheck3(this,ArrowheadDomainsTrack);_this54=_super30.call(this,...args);_this54.drawnRects={};const{publish:publish2,subscribe:subscribe2,unsubscribe:unsubscribe2}=createPubSub();_this54.publish=publish2;_this54.subscribe=subscribe2;_this54.unsubscribe=unsubscribe2;return _this54;}_createClass3(ArrowheadDomainsTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.remoteId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(){}},{key:"destroyTile",value:function destroyTile(){}},{key:"draw",value:function draw(){this.drawnRects={};_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){const graphics=tile.graphics;if(!graphics){return;}graphics.clear();const stroke=colorToHex(this.options.rectangleDomainStrokeColor||"black");const fill=colorToHex(this.options.rectangleDomainFillColor||"grey");graphics.lineStyle(typeof this.options.rectangleDomainStrokeWidth!=="undefined"?this.options.rectangleDomainStrokeWidth:1,stroke,typeof this.options.rectangleDomainStrokeOpacity!=="undefined"?this.options.rectangleDomainStrokeOpacity:1);graphics.beginFill(fill,typeof this.options.rectangleDomainFillOpacity!=="undefined"?this.options.rectangleDomainFillOpacity:0.4);graphics.alpha=this.options.rectangleDomainOpacity||0.5;const minSquareSize=this.options.minSquareSize&&this.options.minSquareSize!=="none"?+this.options.minSquareSize:0;const minThres=this.options.rectangleMinSize?+this.options.rectangleMinSize:0;const xMin=this._xScale.range()[0];const xMax=this._xScale.range()[1];const yMin=this._yScale.range()[0];const yMax=this._yScale.range()[1];if(!tile.tileData.length)return;tile.tileData.filter(td=>!(td.uid in this.drawnRects)).forEach(td=>{drawAnnotation(this,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,this.options.flipDiagonal==="yes");if(this.options.flipDiagonal&&this.options.flipDiagonal==="copy"){drawAnnotation(this,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,true);}});}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);for(const flipDiagonal of[true,false]){for(const tile of this.visibleAndFetchedTiles()){if(!tile.tileData||!tile.tileData.length)continue;tile.tileData.forEach(td=>{const uid=td.uid+flipDiagonal;const gTile=document.createElement("g");gTile.setAttribute("transform",`translate(${tile.graphics.position.x},${tile.graphics.position.y})scale(${tile.graphics.scale.x},${tile.graphics.scale.y})`);output.appendChild(gTile);if(uid in this.drawnRects){const rect=this.drawnRects[uid];const r2=document.createElement("rect");r2.setAttribute("x",rect.x);r2.setAttribute("y",rect.y);r2.setAttribute("width",rect.width);r2.setAttribute("height",rect.height);r2.setAttribute("fill",this.options.rectangleDomainFillColor?this.options.rectangleDomainFillColor:"grey");r2.setAttribute("opacity",0.3);r2.style.stroke="black";r2.style.strokeWidth="1px";gTile.appendChild(r2);}});}}return[base,base];}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){if(this.xScale().domain()[0]===newXScale.domain()[0]&&this.xScale().domain()[1]===newXScale.domain()[1]&&this.yScale().domain()[0]===newYScale.domain()[0]&&this.yScale().domain()[1]===newYScale.domain()[1])return;this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}}]);return ArrowheadDomainsTrack;}(TiledPixiTrack);const MOUSE_CLICK_TIME=250;let Annotations2dTrack=/*#__PURE__*/function(_TiledPixiTrack4){_inherits3(Annotations2dTrack,_TiledPixiTrack4);var _super31=_createSuper3(Annotations2dTrack);function Annotations2dTrack(context,options2){var _this55;_classCallCheck3(this,Annotations2dTrack);_this55=_super31.call(this,context,options2);const{pubSub}=context;_this55.drawnAnnotations={};_this55.drawnAnnoGfx={};_this55.selectedAnno=null;_this55.options.minSquareSize=+_this55.options.minSquareSize;const{publish:publish2,subscribe:subscribe2,unsubscribe:unsubscribe2}=createPubSub();_this55.publish=publish2;_this55.subscribe=subscribe2;_this55.unsubscribe=unsubscribe2;_this55.sT=0;_this55.annoSelectedBound=_this55.annoSelected.bind(_assertThisInitialized3(_this55));_this55.pubSubs.push(pubSub.subscribe("annoSelected",_this55.annoSelectedBound));return _this55;}_createClass3(Annotations2dTrack,[{key:"minX",get:function(){return this.tilesetInfo&&this.tilesetInfo.min_pos?this.tilesetInfo.min_pos[0]:0;}},{key:"maxX",get:function(){return this.tilesetInfo&&this.tilesetInfo.max_pos?this.tilesetInfo.max_pos[0]:this.tilesetInfo.max_width||this.tilesetInfo.max_size;}},{key:"minY",get:function(){return this.minX;}},{key:"maxY",get:function(){return this.maxX;}},{key:"maxSize",get:function(){const maxSize=this.tilesetInfo.max_pos&&Math.max(this.tilesetInfo.max_pos[0]-this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[1]-this.tilesetInfo.min_pos[1]);if(maxSize)return maxSize;if(this.tilesetInfo.max_size)return this.tilesetInfo.max_size;return 0;}},{key:"projection",value:function projection([x,y]){return[this._xScale(x),this._yScale(y)];}},{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.minX,this.maxX);const yZoomLevel=api.calculateZoomLevel(this._yScale,this.minY,this.maxY);return min(max(xZoomLevel,yZoomLevel),this.maxZoom);}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo)return;this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.tilesetInfo.max_zoom,this.maxSize);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.tilesetInfo.max_zoom,this.maxSize);const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<this.xTiles.length;i2++){for(let j=0;j<this.yTiles.length;j++){tiles.push([zoomLevel,this.xTiles[i2],this.yTiles[j]]);}}this.setVisibleTiles(tiles);}},{key:"draw",value:function draw(){this.drawnAnnotations={};_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile,force=false,silent=false){if(!tile.graphics)return;tile.graphics.__tile__=tile;const graphics=tile.graphics;graphics.clear();this.setBorderStyle(graphics);this.setFill(graphics);graphics.alpha=+this.options.rectangleDomainOpacity;if(!tile.tileData.length)return;tile.tileData.filter(td=>!(td.uid in this.drawnAnnotations)||force).forEach(td=>{const[startX,startY]=this.projection([td.xStart,td.yStart]);const[endX,endY]=this.projection([td.xEnd,td.yEnd]);if(this.options.exclude&&this.options.exclude.indexOf(td.uid)>=0){return;}this.drawAnnotation(this.prepAnnotation(graphics,td.uid,startX,startY,endX-startX,endY-startY,td),silent);});}},{key:"prepAnnotation",value:function prepAnnotation(graphics,uid,startX,startY,width,height,td){let info;try{info=JSON.parse(td.fields);}catch(e){}return{graphics,id:td.id,uid,annotation:{x:startX,y:startY,width,height},dataPos:[td.xStart,td.xEnd,td.yStart,td.yEnd],importance:td.importance,info};}},{key:"drawAnnotation",value:function drawAnnotation({graphics,id:id2,uid,annotation,dataPos,importance,info},silent){if(this.options.minSquareSize){if(annotation.width<this.options.minSquareSize||annotation.height<this.options.minSquareSize){annotation.x=(annotation.x+annotation.width)/2;annotation.y=(annotation.y+annotation.height)/2;annotation.width=this.options.minSquareSize;annotation.height=this.options.minSquareSize;}}this.drawnAnnotations[uid]=annotation;const viewPos=[annotation.x,annotation.y,annotation.width,annotation.height];let rectGfx=this.drawnAnnoGfx[uid];if(!rectGfx){rectGfx=new GLOBALS.PIXI.Graphics();this.drawnAnnoGfx[uid]=rectGfx;}if(graphics.children.indexOf(rectGfx)===-1){graphics.addChild(rectGfx);}this._drawRect(rectGfx,viewPos,uid);graphics.interactive=true;rectGfx.interactive=true;rectGfx.buttonMode=true;const payload={id:id2,uid,dataPos,importance,info,viewPos:[annotation.x,annotation.y,annotation.x+annotation.width,annotation.y+annotation.height]};rectGfx.mouseover=()=>this.hover(rectGfx,viewPos,uid);rectGfx.mouseout=()=>this.blur(rectGfx,viewPos,uid);rectGfx.mousedown=()=>this.mouseDown();rectGfx.mouseup=event=>this.mouseUp(rectGfx,viewPos,uid,event,payload);if(!silent){this.publish("annotationDrawn",{trackUuids:this.uuid,annotationUuid:uid,annotationId:id2,viewPos,dataPos,importance,info});}}},{key:"_drawRect",value:function _drawRect(graphics,viewPos,uid){let stroke=this.options.rectangleDomainStrokeColor;let strokeWidth=this.options.rectangleDomainStrokeWidth;let strokeAlpha=this.options.rectangleDomainStrokeOpacity;let fill=this.options.rectangleDomainFillColor;let fillAlpha=this.options.rectangleDomainFillOpacity;if(this.hoveredAnno===uid){stroke=this.options.hoverColor;strokeWidth=this.options.rectangleDomainStrokeWidth+1||2;strokeAlpha=1;fill=this.options.hoverColor;fillAlpha=this.options.rectangleDomainFillOpacity;}if(this.selectedAnno&&this.selectedAnno.uid===uid){stroke=this.options.selectColor;strokeWidth=this.options.rectangleDomainStrokeWidth+1||2;strokeAlpha=1;fill=this.options.selectColor;fillAlpha=max(0.33,this.options.rectangleDomainFillOpacity);}graphics.clear();if(this.options.trackBorderBgWidth){this.setBorderStyle(graphics,this.options.trackBorderBgColor,this.options.trackBorderBgWidth,this.options.trackBorderBgAlpha);this.setFill(graphics,fill,0);graphics.drawRect(...viewPos);}this.setBorderStyle(graphics,stroke,strokeWidth,strokeAlpha);this.setFill(graphics,fill,fillAlpha);graphics.drawRect(...viewPos);graphics.__viewPos__=viewPos;}},{key:"context",value:function context(graphics,viewPos,uid){return proc=>proc(graphics,viewPos,uid);}},{key:"click",value:function click(graphics,viewPos,uid,event,payload){this.select(graphics,viewPos,uid);this.pubSub.publish("app.click",{type:"annotation",event,payload});}},{key:"mouseDown",value:function mouseDown(){this.sT=performance.now();}},{key:"mouseUp",value:function mouseUp(graphics,viewPos,uid,event,payload){if(performance.now()-this.sT<=MOUSE_CLICK_TIME){this.click(graphics,viewPos,uid,event,payload);}}},{key:"hover",value:function hover(graphics,viewPos,uid){this.hoveredAnno=uid;this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"focus",value:function focus(graphics,viewPos,uid){this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"blur",value:function blur(graphics,viewPos,uid){this.hoveredAnno=null;this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"select",value:function select(graphics,viewPos,uid,silent=false){let prevGfx=null;let prevUid=null;if(this.selectedAnno){prevGfx=this.selectedAnno.graphics;prevUid=this.selectedAnno.uid;}this.selectedAnno={graphics,uid};this.focus(graphics,viewPos,uid);if(this.options.onSelect&&!silent){window[this.options.onSelect](uid);this.pubSub.publish("annoSelected",uid);}if(prevGfx&&prevUid){this.blur(prevGfx,prevGfx.__viewPos__,prevUid);}}},{key:"unselect",value:function unselect(){const gfx=this.selectedAnno.graphics;const uid=this.selectedAnno.uid;this.selectedAnno=null;this.blur(gfx,gfx.__viewPos__,uid);}},{key:"annoSelected",value:function annoSelected(uid){if(!this.selectedAnno||this.selectedAnno.uid!==uid){if(this.selectedAnno)this.unselect();const gfx=this.drawnAnnoGfx[uid];if(gfx)this.select(gfx,gfx.__viewPos__,uid,true);}}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);this.visibleAndFetchedTiles().filter(tile=>tile.tileData&&tile.tileData.length).map(tile=>({graphics:tile.graphics,td:tile.tileData})).forEach(({td,graphics})=>{const gTile=document.createElement("g");gTile.setAttribute("transform",`translate(${graphics.position.x},${graphics.position.y})scale(${graphics.scale.x},${graphics.scale.y})`);output.appendChild(gTile);if(td.uid in this.drawnAnnotations){const rect=this.drawnAnnotations[td.uid];const r2=document.createElement("rect");r2.setAttribute("x",rect.x);r2.setAttribute("y",rect.y);r2.setAttribute("width",rect.width);r2.setAttribute("height",rect.height);r2.setAttribute("fill",this.options.fillColor||"grey");r2.setAttribute("opacity",0.3);r2.style.stroke=this.options.fillColor||"grey";r2.style.strokeWidth="1px";gTile.appendChild(r2);}});return[base,base];}},{key:"setBorderStyle",value:function setBorderStyle(graphics,color2=this.options.rectangleDomainStrokeColor,width=this.options.rectangleDomainStrokeWidth,alpha=this.options.rectangleDomainStrokeOpacity){graphics.lineStyle(typeof width!=="undefined"?width:1,colorToHex(color2||"black"),typeof alpha!=="undefined"?alpha:1);}},{key:"setFill",value:function setFill(graphics,color2=this.options.rectangleDomainFillColor,alpha=this.options.rectangleDomainFillOpacity){graphics.beginFill(colorToHex(color2||"grey"),typeof alpha!=="undefined"?alpha:0.4);}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}}]);return Annotations2dTrack;}(TiledPixiTrack);let Annotations1dTrack=/*#__PURE__*/function(_PixiTrack3){_inherits3(Annotations1dTrack,_PixiTrack3);var _super32=_createSuper3(Annotations1dTrack);function Annotations1dTrack(context,options2,isVertical){var _this56;_classCallCheck3(this,Annotations1dTrack);_this56=_super32.call(this,context,options2);_this56.pubSub=context.pubSub;_this56.options=options2;_this56.isVertical=isVertical;_this56.rects={};_this56.defaultColor=color("red");return _this56;}_createClass3(Annotations1dTrack,[{key:"draw",value:function draw(){const globalMinRectWidth=typeof this.options.minRectWidth!=="undefined"?this.options.minRectWidth:10;const globalFill=typeof this.options.fill!=="undefined"?color(this.options.fill):this.defaultColor;const globalFillOpacity=typeof this.options.fillOpacity!=="undefined"?+this.options.fillOpacity:0.2;const globalStroke=typeof this.options.stroke!=="undefined"?color(this.options.stroke):this.defaultColor;const globalStrokeWidth=typeof this.options.strokeWidth!=="undefined"?+this.options.strokeWidth:1;const globalStrokeOpacity=typeof this.options.strokeOpacity!=="undefined"?+this.options.strokeOpacity:0;let strokePos;if(this.options.strokePos&&this.options.strokePos.length){strokePos=Array.isArray(this.options.strokePos)?this.options.strokePos:[this.options.strokePos];}_get4(_getPrototypeOf4(Annotations1dTrack.prototype),"draw",this).call(this);const graphics=this.pMain;graphics.clear();const timeStamp=performance.now();this.options.regions.forEach(region=>{const id2=`${region[0]}-${region[1]}`;if(!this.rects[id2]){this.rects[id2]={graphics:new GLOBALS.PIXI.Graphics()};graphics.addChild(this.rects[id2].graphics);}this.rects[id2].timeStamp=timeStamp;const fill=color(region[2])||globalFill;let stroke=color(region[3])||globalStroke;if(!stroke){stroke=fill;}const fillHex=GLOBALS.PIXI.utils.rgb2hex([fill.r/255,fill.g/255,fill.b/255]);const strokeHex=GLOBALS.PIXI.utils.rgb2hex([stroke.r/255,stroke.g/255,stroke.b/255]);if(strokePos){graphics.lineStyle(1,strokeHex,0);graphics.beginFill(strokeHex,+region[5]||globalStrokeOpacity);}else{graphics.lineStyle(globalStrokeWidth,strokeHex,+region[5]||globalStrokeOpacity);graphics.beginFill(fillHex,+region[4]||globalFillOpacity);}const scale=this.isVertical?this._yScale:this._xScale;let start2=scale(+region[0]);const end2=scale(+region[1]);let width=end2-start2;const minRectWidth=typeof region[6]!=="undefined"?region[6]:globalMinRectWidth;if(width<minRectWidth){start2=(start2+end2)/2-minRectWidth/2;width=minRectWidth;}if(strokePos){graphics.lineStyle(1,strokeHex,0);graphics.beginFill(strokeHex,+region[5]||globalStrokeOpacity);strokePos.forEach(pos=>{if(pos==="top"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2,globalStrokeWidth,width);}else{graphics.drawRect(start2,0,width,globalStrokeWidth);}}if(pos==="right"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2,this.dimensions[0],globalStrokeWidth);}else{graphics.drawRect(start2,0,globalStrokeWidth,this.dimensions[1]);}}if(pos==="bottom"||pos==="around"){if(this.isVertical){graphics.drawRect(this.dimensions[0]-globalStrokeWidth,start2,globalStrokeWidth,width);}else{graphics.drawRect(start2,this.dimensions[1]-globalStrokeWidth,width,globalStrokeWidth);}}if(pos==="left"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2+width-globalStrokeWidth,this.dimensions[0],globalStrokeWidth);}else{graphics.drawRect(start2+width-globalStrokeWidth,0,globalStrokeWidth,this.dimensions[1]);}}});}else{graphics.lineStyle(globalStrokeWidth,strokeHex,+region[5]||globalStrokeOpacity);}this.rects[id2].graphics.clear();this.rects[id2].graphics.interactive=true;this.rects[id2].graphics.buttonMode=true;graphics.beginFill(fillHex,+region[4]||globalFillOpacity);if(this.isVertical){graphics.drawRect(0,start2,this.dimensions[0],width);this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(0,start2,this.dimensions[0],width);}else{graphics.drawRect(start2,0,width,this.dimensions[1]);this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(start2,0,width,this.dimensions[1]);}this.rects[id2].graphics.mousedown=()=>{this.rects[id2].mouseDownTime=performance.now();};this.rects[id2].graphics.mouseup=event=>{if(performance.now()-this.rects[id2].mouseDownTime<MAX_CLICK_DELAY$1){this.pubSub.publish("app.click",{type:"annotation",event,payload:region});}};});Object.values(this.rects).filter(rect=>rect.timeStamp!==timeStamp).forEach(rect=>graphics.removeChild(rect.graphics));}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Annotations1dTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Annotations1dTrack;}(PixiTrack);let Horizontal2DDomainsTrack=/*#__PURE__*/function(_TiledPixiTrack5){_inherits3(Horizontal2DDomainsTrack,_TiledPixiTrack5);var _super33=_createSuper3(Horizontal2DDomainsTrack);function Horizontal2DDomainsTrack(context,options2){var _this57;_classCallCheck3(this,Horizontal2DDomainsTrack);_this57=_super33.call(this,context,options2);_this57.drawnRects=/* @__PURE__ */new Set();_this57.pMain=_this57.pMobile;return _this57;}_createClass3(Horizontal2DDomainsTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);if(this.options&&this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();const expandedXScale=this._xScale.copy();expandedXScale.domain([this._xScale.invert(this._xScale.range()[0]-this.dimensions[1]*Math.sqrt(2)),this._xScale.invert(this._xScale.range()[1]+this.dimensions[1]*Math.sqrt(2))]);this.xTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const maxWidth=this.tilesetInfo.max_width;const tileWidth=maxWidth/2**zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=i2;j<cols.length;j++){const tileBottomPosition=(j-i2-2)*(this._xScale(tileWidth)-this._xScale(0))*Math.sqrt(2)/2;if(tileBottomPosition>this.dimensions[1]){continue;}const newTile=[zoomLevel,rows[i2],cols[j]];newTile.mirrored=false;tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(tile){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"initTile",this).call(this,tile);this.drawTile(tile);}},{key:"destroyTile",value:function destroyTile(tile,graphics){}},{key:"draw",value:function draw(){if(!this.delayDrawing){this.drawnRects.clear();}_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;graphics.clear();const stroke=colorToHex(this.options.rectangleDomainStrokeColor?this.options.rectangleDomainStrokeColor:"black");const fill=colorToHex(this.options.rectangleDomainFillColor?this.options.rectangleDomainFillColor:"grey");graphics.lineStyle(1/this.pMain.scale.x,stroke,1);graphics.beginFill(fill,0.4);graphics.alpha=this.options.rectangleDomainOpacity?this.options.rectangleDomainOpacity:0.5;if(!tile.tileData.sort)return;for(const td of tile.tileData){const startX=this._refXScale(td.xStart);const endX=this._refXScale(td.xEnd);const startY=this._refYScale(td.yStart);const endY=this._refYScale(td.yEnd);const uid=td.uid;if(this.drawnRects.has(uid)){continue;}this.drawnRects.add(uid);graphics.drawRect(startX,startY,endX-startX,endY-startY);graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){const graphics=tile.graphics;graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"zoomed",this).call(this,newXScale,newYScale,k,tx,ty);this.pMain.position.x=tx;this.pMain.position.y=this.position[1]+this.dimensions[1];this.pMain.scale.x=k;this.pMain.scale.y=k;if(this.options.oneDHeatmapFlipped){this.pMain.scale.y=-k;this.pMain.position.y=this.position[1];}this.draw();}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}}]);return Horizontal2DDomainsTrack;}(TiledPixiTrack);let SquareMarkersTrack=/*#__PURE__*/function(_TiledPixiTrack6){_inherits3(SquareMarkersTrack,_TiledPixiTrack6);var _super34=_createSuper3(SquareMarkersTrack);function SquareMarkersTrack(context,options2){var _this58;_classCallCheck3(this,SquareMarkersTrack);_this58=_super34.call(this,context,options2);_this58.drawnRects=/* @__PURE__ */new Set();return _this58;}_createClass3(SquareMarkersTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(mirrorTiles=true){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(tile){}},{key:"destroyTile",value:function destroyTile(tile,graphics){}},{key:"draw",value:function draw(){this.drawnRects.clear();_get4(_getPrototypeOf4(SquareMarkersTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;graphics.clear();const fill=colorToHex("green");graphics.lineStyle(1,255,1);graphics.beginFill(fill,0.8);graphics.alpha=0.5;for(const td of tile.tileData){const startX=this._xScale(td.xStart);const endX=this._xScale(td.xEnd);const startY=this._yScale(td.yStart);const endY=this._yScale(td.yEnd);const uid=td.uid;if(this.drawnRects.has(uid)){continue;}this.drawnRects.add(uid);const MIN_WIDTH=6;const MIN_HEIGHT=6;let width=endY-startY;let height=endX-startX;const centerX=(startX+endX)/2;const centerY=(startY+endY)/2;if(width<MIN_WIDTH){width=MIN_WIDTH;}if(height<MIN_HEIGHT){height=MIN_HEIGHT;}graphics.drawRect(centerX-width/2,centerY-height/2,width,height);}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(SquareMarkersTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}}]);return SquareMarkersTrack;}(TiledPixiTrack);function ChromosomeInfo(filepath,success,pubSub=fake){const ret={};ret.absToChr=absPos=>ret.chrPositions?absToChr(absPos,ret):null;ret.chrToAbs=([chrName,chrPos]=[])=>ret.chrPositions?chrToAbs(chrName,chrPos,ret):null;return api.text(filepath,(error,chrInfoText)=>{if(error){if(success)success(null);}else{const data2=tsvParseRows(chrInfoText);const chromInfo=parseChromsizesRows(data2);Object.keys(chromInfo).forEach(key=>{ret[key]=chromInfo[key];});if(success)success(ret);}},pubSub).then(()=>ret);}let SearchField=/*#__PURE__*/function(){function SearchField(chromInfo){_classCallCheck3(this,SearchField);this.chromInfo=chromInfo;this.chromInfoBisector=bisector(d=>d.pos).left;}_createClass3(SearchField,[{key:"scalesToPositionText",value:function scalesToPositionText(xScale,yScale,twoD=false){if(this.chromInfo===null){return"";}if(!xScale||!yScale){return"";}const x12=absToChr(xScale.domain()[0],this.chromInfo);const x2=absToChr(xScale.domain()[1],this.chromInfo);const y12=absToChr(yScale.domain()[0],this.chromInfo);const y2=absToChr(yScale.domain()[1],this.chromInfo);let positionString=null;const stringFormat=format$1(",d");if(x12[0]!==x2[0]){positionString=`${x12[0]}:${stringFormat(Math.floor(x12[1]))}-${x2[0]}:${stringFormat(Math.ceil(x2[1]))}`;}else{positionString=`${x12[0]}:${stringFormat(Math.floor(x12[1]))}-${stringFormat(Math.ceil(x2[1]))}`;}if(twoD){if(y12[0]!==y2[0]){positionString+=` & ${y12[0]}:${stringFormat(Math.floor(y12[1]))}-${y2[0]}:${stringFormat(Math.ceil(y2[1]))}`;}else{positionString+=` & ${y12[0]}:${stringFormat(Math.floor(y12[1]))}-${stringFormat(Math.ceil(y2[1]))}`;}}if(x12[2]<=0||x2[2]>0||twoD&&(y12[2]<=0||y2[2]>0)){positionString+=` [offset ${x12[2]},${x2[2]}`;if(twoD){positionString+=`:${y12[2]},${y2[2]}`;}positionString+="]";}return positionString;}},{key:"convertNumberNotation",value:function convertNumberNotation(numStr){let newNumStr=numStr;if(!newNumStr.includes("M",newNumStr.length-1)&&!newNumStr.includes("K",newNumStr.length-1)){return newNumStr;}let numZerosToAdd=0;let decPointPosFromEnd=0;if(newNumStr.includes("M",newNumStr.length-1)){numZerosToAdd=6;newNumStr=newNumStr.replace("M","");}else{numZerosToAdd=3;newNumStr=newNumStr.replace("K","");}if(Number.isNaN(+newNumStr)){return numStr;}newNumStr=(+newNumStr).toString();if(newNumStr.includes(".")){decPointPosFromEnd=newNumStr.length-1-newNumStr.indexOf(".");newNumStr=(+newNumStr.replace(".","")).toString();}const totalZerosToAdd=numZerosToAdd-decPointPosFromEnd;if(totalZerosToAdd<0){return numStr;}newNumStr+="0".repeat(totalZerosToAdd);return newNumStr;}},{key:"parsePosition",value:function parsePosition(positionText,prevChr=null){const positionParts=positionText.split(":");let chr=null;let pos=0;if(positionParts.length>1){chr=positionParts[0];pos=+this.convertNumberNotation(positionParts[1].replace(/,/g,""));}else if(positionParts[0]in this.chromInfo.chrPositions){chr=positionParts[0];pos=0;if(prevChr!==null){pos=+this.chromInfo.chromLengths[chr];}}else{pos=+this.convertNumberNotation(positionParts[0].replace(/,/g,""));chr=null;if(prevChr)chr=prevChr;}let retPos=null;if(chr===null){chr=prevChr;retPos=pos;}else if(chr in this.chromInfo.chrPositions){retPos=this.chromInfo.chrPositions[chr].pos+pos;}return[chr,pos,retPos];}},{key:"matchRangesToLarger",value:function matchRangesToLarger(range1,range2){if(range1[1]-range1[0]<range2[1]-range2[0]){const toExpand2=range2[1]-range2[0]-(range1[1]-range1[0]);return[[range1[0]-toExpand2/2,range1[1]+toExpand2/2],range2];}const toExpand=range1[1]-range1[0]-(range2[1]-range2[0]);return[range1,[range2[0]-toExpand/2,range2[1]+toExpand/2]];}},{key:"getSearchRange",value:function getSearchRange(term){if(term.length===0){return null;}let parts=term.split("-");parts=parts.filter(d=>d.length>0);let range2=null;if(parts[0].indexOf("-")===0){parts[0]=parts[0].slice(3,parts[0].length);}if(parts.length>1){let[chr1,chrPos1,genomePos1]=this.parsePosition(parts[0]);let[chr2,chrPos2,genomePos2]=this.parsePosition(parts[1],chr1);const tempRange1=[genomePos1,genomePos2];[chr1,chrPos1,genomePos1]=this.parsePosition(parts[1]);[chr2,chrPos2,genomePos2]=this.parsePosition(parts[0],chr1);if(chr1===null&&chr2!==null){[chr1,chrPos1,genomePos1]=this.parsePosition(parts[1],chr2);}const tempRange2=[genomePos1,genomePos2];if(tempRange2[1]-tempRange2[0]>tempRange1[1]-tempRange1[0])return tempRange2;return tempRange1;}if(parts[0]in this.chromInfo.chrPositions){const chromPosition=+this.chromInfo.chrPositions[parts[0]].pos;range2=[chromPosition,chromPosition+ +this.chromInfo.chromLengths[parts[0]]];}else{const[chr1,chrPos1,pos1]=this.parsePosition(parts[0]);range2=[pos1-8e6,pos1+8e6];}if(range2[0]>range2[1]){return[range2[1],range2[0]];}return range2;}},{key:"parseOffset",value:function parseOffset(offsetText){const parts=offsetText.split(":");if(parts.length===0){return[[0,0],[0,0]];}if(parts.length===1){const sparts=parts[0].split(",");return[[+sparts[0],+sparts[1]],[0,0]];}const sparts0=parts[0].split(",");const sparts1=parts[1].split(",");return[[+sparts0[0],+sparts0[1]],[+sparts1[0],+sparts1[1]]];}},{key:"searchPosition",value:function searchPosition(text2){let range1=null;let range2=null;text2=text2.trim();const offsetRe=/\[offset (.+?)\]/.exec(text2);let offset=[[0,0],[0,0]];if(offsetRe){text2=text2.replace(offsetRe[0],"");offset=this.parseOffset(offsetRe[1]);}const parts=text2.split(" & ");if(parts.length>1){range1=this.getSearchRange(parts[0].split(" ")[0]);range2=this.getSearchRange(parts[1].split(" ")[0]);}else{range1=this.getSearchRange(parts[0]);}if(range1!==null&&range2!==null){[range1,range2]=this.matchRangesToLarger(range1,range2);}if(range1){range1[0]+=offset[0][0];range1[1]+=offset[0][1];}if(range2){range2[0]+=offset[1][0];range2[1]+=offset[1][1];}return[range1,range2];}}]);return SearchField;}();let Chromosome2DLabels=/*#__PURE__*/function(_PixiTrack4){_inherits3(Chromosome2DLabels,_PixiTrack4);var _super35=_createSuper3(Chromosome2DLabels);function Chromosome2DLabels(context,options2){var _this59;_classCallCheck3(this,Chromosome2DLabels);_this59=_super35.call(this,context,options2);const{dataConfig,animate,pubSub}=context;_this59.searchField=null;_this59.chromInfo=null;_this59.animate=animate;const server=dataConfig.server;const uid=dataConfig.tilesetUid;const chromSizesPath=`${server}/chrom-sizes/?id=${uid}`;ChromosomeInfo(chromSizesPath,newChromInfo=>{_this59.chromInfo=newChromInfo;_this59.searchField=new SearchField(_this59.chromInfo);_this59.draw();_this59.texts=[];for(let i2=0;i2<_this59.chromInfo.cumPositions.length;i2++){const thisTexts=[];for(let j=0;j<_this59.chromInfo.cumPositions.length;j++){const textStr=`${_this59.chromInfo.cumPositions[i2].chr}/${_this59.chromInfo.cumPositions[j].chr}`;const text2=new GLOBALS.PIXI.Text(textStr,{fontSize:"14px",fontFamily:"Arial",fill:"red"});text2.anchor.x=0.5;text2.anchor.y=0.5;text2.visible=false;text2.hashValue=Math.random();thisTexts.push(text2);_this59.pMain.addChild(text2);}_this59.texts.push(thisTexts);}_this59.draw();_this59.animate();},pubSub);return _this59;}_createClass3(Chromosome2DLabels,[{key:"draw",value:function draw(){const allTexts=[];if(!this.texts){return;}if(!this.searchField){return;}const x12=absToChr(this._xScale.domain()[0],this.chromInfo);const x2=absToChr(this._xScale.domain()[1],this.chromInfo);const y12=absToChr(this._yScale.domain()[0],this.chromInfo);const y2=absToChr(this._yScale.domain()[1],this.chromInfo);for(let i2=0;i2<this.texts.length;i2++){for(let j=0;j<this.texts.length;j++){this.texts[i2][j].visible=false;}}for(let i2=x12[3];i2<=x2[3];i2++){for(let j=y12[3];j<=y2[3];j++){const xCumPos=this.chromInfo.cumPositions[i2];const yCumPos=this.chromInfo.cumPositions[j];const midX=xCumPos.pos+this.chromInfo.chromLengths[xCumPos.chr]/2;const midY=yCumPos.pos+this.chromInfo.chromLengths[yCumPos.chr]/2;const viewportMidX=this._xScale(midX);const viewportMidY=this._yScale(midY);const text2=this.texts[i2][j];text2.x=viewportMidX;text2.y=viewportMidY;text2.updateTransform();const bbox=text2.getBounds();const bwh=bbox.width/2;const bhh=bbox.height/2;if(viewportMidX+bwh>this.dimensions[0]){text2.x-=viewportMidX+bwh-this.dimensions[0];}else if(viewportMidX-bwh<0){text2.x-=viewportMidX-bwh;}if(viewportMidY+bhh>this.dimensions[1]){text2.y-=viewportMidY+bhh-this.dimensions[1];}else if(viewportMidY-bhh<0){text2.y-=viewportMidY-bhh;}text2.visible=true;allTexts.push({importance:this.texts[i2][j].hashValue,text:this.texts[i2][j],caption:null});}}this.hideOverlaps(allTexts);}},{key:"hideOverlaps",value:function hideOverlaps(allTexts){let allBoxes=[];allBoxes=allTexts.map(val2=>{const text2=val2.text;text2.updateTransform();const b=text2.getBounds();const box=[b.x,b.y,b.x+b.width,b.y+b.height];return box;});boxIntersect_1(allBoxes,(i2,j)=>{if(allTexts[i2].importance>allTexts[j].importance){allTexts[j].text.visible=0;}else{allTexts[i2].text.visible=0;}});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Chromosome2DLabels.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Chromosome2DLabels;}(PixiTrack);let ChromosomeGrid=/*#__PURE__*/function(_PixiTrack5){_inherits3(ChromosomeGrid,_PixiTrack5);var _super36=_createSuper3(ChromosomeGrid);function ChromosomeGrid(context,options2){var _this60;_classCallCheck3(this,ChromosomeGrid);_this60=_super36.call(this,context,options2);const{chromInfoPath,dataConfig,animate,pubSub,orientation:orientation2="2d",isOverlay=false}=context;_this60.searchField=null;_this60.chromInfo=null;_this60.animate=animate;_this60.orientation=orientation2;_this60.isOverlay=isOverlay;let chromSizesPath=chromInfoPath;if(!chromSizesPath){chromSizesPath=`${dataConfig.server}/chrom-sizes/?id=${dataConfig.tilesetUid}`;}ChromosomeInfo(chromSizesPath,newChromInfo=>{_this60.chromInfo=newChromInfo;_this60.searchField=new SearchField(_this60.chromInfo);_this60.texts=[];_this60.lineGraphics=new GLOBALS.PIXI.Graphics();_this60.lineGraphics1dH=new GLOBALS.PIXI.Graphics();_this60.lineGraphics1dV=new GLOBALS.PIXI.Graphics();_this60.lineGraphics2d=new GLOBALS.PIXI.Graphics();_this60.mask1dH=new GLOBALS.PIXI.Graphics();_this60.mask1dV=new GLOBALS.PIXI.Graphics();_this60.mask2d=new GLOBALS.PIXI.Graphics();_this60.lineGraphics.addChild(_this60.lineGraphics1dH);_this60.lineGraphics1dH.addChild(_this60.mask1dH);_this60.lineGraphics.addChild(_this60.lineGraphics1dV);_this60.lineGraphics1dV.addChild(_this60.mask1dV);_this60.lineGraphics.addChild(_this60.lineGraphics2d);_this60.lineGraphics2d.addChild(_this60.mask2d);_this60.pMain.addChild(_this60.lineGraphics);_this60.draw();_this60.animate();},pubSub);return _this60;}_createClass3(ChromosomeGrid,[{key:"drawLines",value:function drawLines(orientation2=this.orientation,left2=0,top2=0){let graphics=this.lineGraphics;if(this.isOverlay&&orientation2==="1d-horizontal"){graphics=this.lineGraphics1dH;}if(this.isOverlay&&orientation2==="1d-vertical"){graphics=this.lineGraphics1dV;}if(this.isOverlay&&orientation2==="2d"){graphics=this.lineGraphics2d;}const strokeColor=colorToHex(this.options.lineStrokeColor?this.options.lineStrokeColor:"blue");const strokeWidth=this.options.lineStrokeWidth?this.options.lineStrokeWidth:1;graphics.lineStyle(strokeWidth,strokeColor,1);if(orientation2==="2d"||orientation2==="1d-horizontal"){graphics.moveTo(this._xScale(0)+left2,top2);graphics.lineTo(this._xScale(0)+left2,this.dimensions[1]+top2);}if(orientation2==="2d"||orientation2==="1d-vertical"){graphics.moveTo(left2,this._yScale(0)+top2);graphics.lineTo(this.dimensions[0]+left2,this._yScale(0)+top2);}for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chrPos=this.chromInfo.cumPositions[i2];const chrEnd=chrPos.pos+ +this.chromInfo.chromLengths[chrPos.chr]+1;if(orientation2==="2d"||orientation2==="1d-horizontal"){graphics.moveTo(this._xScale(chrEnd)+left2,top2);graphics.lineTo(this._xScale(chrEnd)+left2,this.dimensions[1]+top2);}if(orientation2==="2d"||orientation2==="1d-vertical"){graphics.moveTo(left2,this._yScale(chrEnd)+top2);graphics.lineTo(this.dimensions[0]+left2,this._yScale(chrEnd)+top2);}}}},{key:"draw",value:function draw(){if(!this.texts){return;}if(!this.searchField){return;}this.lineGraphics.clear();if(this.isOverlay){this.lineGraphics1dH.clear();this.lineGraphics1dV.clear();this.lineGraphics2d.clear();this.mask1dH.clear();this.mask1dV.clear();this.mask2d.clear();this.mask1dH.beginFill(16777215);this.mask1dV.beginFill(16777215);this.mask2d.beginFill(16711680);for(let i2=0;i2<this.options.orientationsAndPositions.length;i2++){const orientation2=this.options.orientationsAndPositions[i2].orientation;const{left:left2,top:top2,width,height}=this.options.orientationsAndPositions[i2].position;if(orientation2==="1d-horizontal"){this.mask1dH.drawRect(left2,top2,width,height);}if(orientation2==="1d-vertical"){this.mask1dV.drawRect(left2,top2,width,height);}if(orientation2==="2d"){this.mask2d.drawRect(left2,top2,width,height);}this.drawLines(orientation2,left2,top2);}this.lineGraphics1dH.mask=this.mask1dH;this.lineGraphics1dV.mask=this.mask1dV;this.lineGraphics2d.mask=this.mask2d;}else{this.drawLines();}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"setPosition",this).call(this,newPosition);[this.pMain.position.x,this.pMain.position.y]=this.position;}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"createSvgLine",value:function createSvgLine(x12,x2,y12,y2,stroke,strokeWidth){const line=document.createElement("line");line.setAttribute("x1",x12);line.setAttribute("x2",x2);line.setAttribute("y1",y12);line.setAttribute("y2",y2);line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",strokeWidth);return line;}},{key:"drawLinesSvg",value:function drawLinesSvg(output,orientation2,width,height,left2=0,top2=0){const strokeColor=this.options.lineStrokeColor?this.options.lineStrokeColor:"blue";const strokeWidth=this.options.lineStrokeWidth;if(orientation2==="2d"||orientation2==="1d-vertical"){const y=this._yScale(0);if(y>0&&y<top2+height){output.appendChild(this.createSvgLine(left2,width+left2,y+top2,y+top2,strokeColor,strokeWidth));}}if(orientation2==="2d"||orientation2==="1d-horizontal"){const x=this._xScale(0);if(x>0&&x<left2+width){output.appendChild(this.createSvgLine(x+left2,x+left2,top2,height+top2,strokeColor,strokeWidth));}}for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chrPos=this.chromInfo.cumPositions[i2];const chrEnd=chrPos.pos+ +this.chromInfo.chromLengths[chrPos.chr]+1;if(orientation2==="2d"||orientation2==="1d-vertical"){const y=this._yScale(chrEnd);if(y>0&&y<top2+height){output.appendChild(this.createSvgLine(left2,width+left2,y+top2,y+top2,strokeColor,strokeWidth));}}if(orientation2==="2d"||orientation2==="1d-horizontal"){const x=this._xScale(chrEnd);if(x>0&&x<left2+width){output.appendChild(this.createSvgLine(x+left2,x+left2,top2,height+top2,strokeColor,strokeWidth));}}}}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");track.appendChild(output);base.setAttribute("id","ChromosomeGrid");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);if(!this.chromInfo){return[base,track];}if(this.isOverlay){for(let i2=0;i2<this.options.orientationsAndPositions.length;i2++){const orientation2=this.options.orientationsAndPositions[i2].orientation;const{left:left2,top:top2,width,height}=this.options.orientationsAndPositions[i2].position;this.drawLinesSvg(output,orientation2,width,height,left2,top2);}}else{this.drawLinesSvg(output,this.orientation,...this.dimensions);}return[base,track];}}]);return ChromosomeGrid;}(PixiTrack);const MAX_CLICK_DELAY=300;let Chromosome2DAnnotations=/*#__PURE__*/function(_PixiTrack6){_inherits3(Chromosome2DAnnotations,_PixiTrack6);var _super37=_createSuper3(Chromosome2DAnnotations);function Chromosome2DAnnotations(context,options2){var _this61;_classCallCheck3(this,Chromosome2DAnnotations);_this61=_super37.call(this,context,options2);const{chromInfoPath,pubSub}=context;_this61.pubSub=pubSub;_this61.rects={};ChromosomeInfo(chromInfoPath,newChromInfo=>{_this61.chromInfo=newChromInfo;_this61.draw();},_this61.pubSub);return _this61;}_createClass3(Chromosome2DAnnotations,[{key:"draw",value:function draw(){if(!this.chromInfo){return;}const minRectWidth=this.options.minRectWidth?this.options.minRectWidth:10;const minRectHeight=this.options.minRectWidth?this.options.minRectHeight:10;_get4(_getPrototypeOf4(Chromosome2DAnnotations.prototype),"draw",this).call(this);const graphics=this.pMain;graphics.clear();const timeStamp=performance.now();this.options.regions.forEach(region=>{const id2=region.slice(0,6).join("-");if(!this.rects[id2]){this.rects[id2]={graphics:new GLOBALS.PIXI.Graphics()};graphics.addChild(this.rects[id2].graphics);}this.rects[id2].timeStamp=timeStamp;const colorFill=color(region[6]);let colorLine=color(region[7]);if(!colorLine){colorLine=colorFill;}const colorFillHex=GLOBALS.PIXI.utils.rgb2hex([colorFill.r/255,colorFill.g/255,colorFill.b/255]);const colorLineHex=GLOBALS.PIXI.utils.rgb2hex([colorLine.r/255,colorLine.g/255,colorLine.b/255]);graphics.lineStyle(1,colorLineHex,colorLine.opacity);graphics.beginFill(colorFillHex,colorFill.opacity);let startX=this._xScale(this.chromInfo.chrPositions[region[0]].pos+ +region[1]);const endX=this._xScale(this.chromInfo.chrPositions[region[0]].pos+ +region[2]);let startY=this._yScale(this.chromInfo.chrPositions[region[3]].pos+ +region[4]);const endY=this._yScale(this.chromInfo.chrPositions[region[3]].pos+ +region[5]);let width=endX-startX;let height=endY-startY;const _minRectWidth=typeof region[8]!=="undefined"?region[8]:minRectWidth;const _minRectHeight=typeof region[9]!=="undefined"?region[9]:minRectHeight;if(width<_minRectWidth){startX=(startX+endX)/2-_minRectWidth/2;width=_minRectWidth;}if(height<_minRectHeight){startY=(startY+endY)/2-_minRectHeight/2;height=_minRectHeight;}graphics.drawRect(startX,startY,width,height);this.rects[id2].graphics.clear();this.rects[id2].graphics.interactive=true;this.rects[id2].graphics.buttonMode=true;this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(startX,startY,width,height);this.rects[id2].graphics.mousedown=()=>{this.rects[id2].mouseDownTime=performance.now();};this.rects[id2].graphics.mouseup=event=>{if(performance.now()-this.rects[id2].mouseDownTime<MAX_CLICK_DELAY){this.pubSub.publish("app.click",{type:"annotation",event,payload:region});}};});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Chromosome2DAnnotations.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Chromosome2DAnnotations;}(PixiTrack);const TICK_WIDTH=200;const TICK_HEIGHT=6;const TICK_TEXT_SEPARATION=2;const TICK_COLOR=7829367;let HorizontalChromosomeLabels=/*#__PURE__*/function(_PixiTrack7){_inherits3(HorizontalChromosomeLabels,_PixiTrack7);var _super38=_createSuper3(HorizontalChromosomeLabels);function HorizontalChromosomeLabels(context,options2){var _this62;_classCallCheck3(this,HorizontalChromosomeLabels);_this62=_super38.call(this,context,options2);const{dataConfig,animate,chromInfoPath,isShowGlobalMousePosition}=context;_this62.searchField=null;_this62.chromInfo=null;_this62.dataConfig=dataConfig;_this62.pTicks=new GLOBALS.PIXI.Graphics();_this62.pMain.addChild(_this62.pTicks);_this62.gTicks={};_this62.tickTexts={};_this62.options=options2;_this62.isShowGlobalMousePosition=isShowGlobalMousePosition;_this62.textFontSize=12;_this62.textFontFamily="Arial";_this62.textFontColor="#808080";_this62.textStrokeColor=_this62.getTheme()===THEME_DARK?"#000000":"#ffffff";_this62.pixiTextConfig={fontSize:+_this62.options.fontSize?`${+_this62.options.fontSize}px`:`${_this62.textFontSize}px`,fontFamily:_this62.textFontFamily,fill:_this62.options.color||_this62.textFontColor,lineJoin:"round",stroke:_this62.options.stroke||_this62.textStrokeColor,strokeThickness:2};_this62.stroke=colorToHex(_this62.pixiTextConfig.stroke);_this62.tickWidth=TICK_WIDTH;_this62.tickHeight=TICK_HEIGHT;_this62.tickTextSeparation=TICK_TEXT_SEPARATION;_this62.tickColor=_this62.options.tickColor?colorToHex(_this62.options.tickColor):TICK_COLOR;_this62.animate=animate;_this62.pubSubs=[];if(_this62.options.showMousePosition&&!_this62.hideMousePosition){_this62.hideMousePosition=setupShowMousePosition(_assertThisInitialized3(_this62),_this62.is2d,_this62.isShowGlobalMousePosition());}let chromSizesPath=chromInfoPath;if(!chromSizesPath){chromSizesPath=`${dataConfig.server}/chrom-sizes/?id=${dataConfig.tilesetUid}`;}ChromosomeInfo(chromSizesPath,newChromInfo=>{_this62.chromInfo=newChromInfo;_this62.searchField=new SearchField(_this62.chromInfo);_this62.rerender(_this62.options,true);_this62.draw();_this62.animate();},_this62.pubSub);return _this62;}_createClass3(HorizontalChromosomeLabels,[{key:"initBoundsTicks",value:function initBoundsTicks(){if(this.pTicks){this.pMain.removeChild(this.pTicks);this.pTicks=null;}if(!this.gBoundTicks){this.gBoundTicks=new GLOBALS.PIXI.Graphics();this.leftBoundTick=new GLOBALS.PIXI.Text("",this.pixiTextConfig);this.rightBoundTick=new GLOBALS.PIXI.Text("",this.pixiTextConfig);this.gBoundTicks.addChild(this.leftBoundTick);this.gBoundTicks.addChild(this.rightBoundTick);this.pMain.addChild(this.gBoundTicks);}this.texts=[];}},{key:"initChromLabels",value:function initChromLabels(){if(!this.chromInfo)return;if(this.gBoundTicks){this.pMain.removeChild(this.gBoundTicks);this.gBoundTicks=null;}if(!this.pTicks){this.pTicks=new GLOBALS.PIXI.Graphics();this.pMain.addChild(this.pTicks);}this.texts=[];this.pTicks.removeChildren();for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chromName=this.chromInfo.cumPositions[i2].chr;this.gTicks[chromName]=new GLOBALS.PIXI.Graphics();if(!this.tickTexts[chromName])this.tickTexts[chromName]=[];const text2=new GLOBALS.PIXI.Text(chromName,this.pixiTextConfig);text2.hashValue=Math.random();this.pTicks.addChild(text2);this.pTicks.addChild(this.gTicks[chromName]);this.texts.push(text2);}}},{key:"rerender",value:function rerender(options2,force){const strOptions=JSON.stringify(options2);if(!force&&strOptions===this.prevOptions)return;this.prevOptions=strOptions;this.options=options2;this.tickTexts={};this.pixiTextConfig.fontSize=+this.options.fontSize?`${+this.options.fontSize}px`:this.pixiTextConfig.fontSize;this.pixiTextConfig.fill=this.options.color||this.pixiTextConfig.fill;this.pixiTextConfig.stroke=this.options.stroke||this.pixiTextConfig.stroke;this.stroke=colorToHex(this.pixiTextConfig.stroke);this.tickColor=this.options.tickColor?colorToHex(this.options.tickColor):TICK_COLOR;if(this.options.tickPositions==="ends"){this.initBoundsTicks();}else{this.initChromLabels();}_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"rerender",this).call(this,options2,force);if(this.options.showMousePosition&&!this.hideMousePosition){this.hideMousePosition=setupShowMousePosition(this,this.is2d,this.isShowGlobalMousePosition());}if(!this.options.showMousePosition&&this.hideMousePosition){this.hideMousePosition();this.hideMousePosition=void 0;}}},{key:"formatTick",value:function formatTick(pos){const domain2=this._xScale.domain();const viewWidth=domain2[1]-domain2[0];const p=precisionPrefix(pos,viewWidth);const fPlain=format$1(",");const fPrecision=formatPrefix(`,.${p}`,viewWidth);let f2=fPlain;if(this.options.tickFormat==="si"){f2=fPrecision;}else if(this.options.tickFormat==="plain"){f2=fPlain;}else if(this.options.tickPositions==="ends"){f2=fPrecision;}return f2(pos);}},{key:"drawBoundsTicks",value:function drawBoundsTicks(x12,x2){const graphics=this.gBoundTicks;graphics.clear();graphics.lineStyle(1,0);const lineYStart=this.options.reverseOrientation?0:this.dimensions[1];const lineYEnd=this.options.reverseOrientation?this.tickHeight:this.dimensions[1]-this.tickHeight;graphics.moveTo(1,lineYStart);graphics.lineTo(1,lineYEnd);graphics.moveTo(this.dimensions[0]-1,lineYStart);graphics.lineTo(this.dimensions[0]-1,lineYEnd);this.leftBoundTick.x=0;this.leftBoundTick.y=this.options.reverseOrientation?lineYEnd+this.tickTextSeparation:lineYEnd-this.tickTextSeparation;this.leftBoundTick.text=`${x12[0]}: ${this.formatTick(x12[1])}`;this.leftBoundTick.anchor.y=this.options.reverseOrientation?0:1;this.rightBoundTick.x=this.dimensions[0];this.rightBoundTick.text=`${x2[0]}: ${this.formatTick(x2[1])}`;this.rightBoundTick.y=this.options.reverseOrientation?lineYEnd+this.tickTextSeparation:lineYEnd-this.tickTextSeparation;this.rightBoundTick.anchor.y=this.options.reverseOrientation?0:1;this.rightBoundTick.anchor.x=1;if(this.flipText){this.leftBoundTick.scale.x=-1;this.leftBoundTick.anchor.x=1;this.rightBoundTick.scale.x=-1;this.rightBoundTick.anchor.x=0;}this.leftBoundTick.tickLine=[1,this.dimensions[1],1,this.dimensions[1]-this.tickHeight];this.rightBoundTick.tickLine=[this.dimensions[0]-1,this.dimensions[1],this.dimensions[0]-1,this.dimensions[1]-this.tickHeight];this.tickTexts={};this.tickTexts.all=[this.leftBoundTick,this.rightBoundTick];}},{key:"drawTicks",value:function drawTicks(cumPos){const graphics=this.gTicks[cumPos.chr];graphics.visible=true;graphics.clear();const chromLen=+this.chromInfo.chromLengths[cumPos.chr];const vpLeft=Math.max(this._xScale(cumPos.pos),0);const vpRight=Math.min(this._xScale(cumPos.pos+chromLen),this.dimensions[0]);const numTicks=(vpRight-vpLeft)/this.tickWidth;const xScale=linear().domain([Math.max(1,this._xScale.invert(0)-cumPos.pos),Math.min(chromLen,this._xScale.invert(this.dimensions[0])-cumPos.pos)]).range(vpLeft,vpRight);const ticks2=xScale.ticks(numTicks).filter(tick=>Number.isInteger(tick));const tickTexts=this.tickTexts[cumPos.chr];const tickHeight=this.options.fontIsLeftAligned?(+this.options.fontSize||this.textFontSize)/2:this.tickHeight;const flipTextSign=this.flipText?-1:1;const xPadding=this.options.fontIsLeftAligned?flipTextSign*4:0;let yPadding=this.options.fontIsLeftAligned?0:tickHeight+this.tickTextSeparation;if(this.options.reverseOrientation){yPadding=this.dimensions[1]-yPadding;}while(tickTexts.length<ticks2.length){const newText=new GLOBALS.PIXI.Text("",this.pixiTextConfig);tickTexts.push(newText);this.gTicks[cumPos.chr].addChild(newText);}while(tickTexts.length>ticks2.length){const text2=tickTexts.pop();this.gTicks[cumPos.chr].removeChild(text2);}let i2=0;while(i2<ticks2.length){tickTexts[i2].visible=true;tickTexts[i2].anchor.x=this.options.fontIsLeftAligned?0:0.5;tickTexts[i2].anchor.y=this.options.reverseOrientation?0:1;if(this.flipText)tickTexts[i2].scale.x=-1;tickTexts[i2].x=this._xScale(cumPos.pos+ticks2[i2])+xPadding;tickTexts[i2].y=this.dimensions[1]-yPadding;tickTexts[i2].text=ticks2[i2]===0?`${cumPos.chr}: 1`:`${cumPos.chr}: ${this.formatTick(ticks2[i2])}`;const x=this._xScale(cumPos.pos+ticks2[i2]);tickTexts[i2].tickLine=[x-1,this.dimensions[1],x-1,this.dimensions[1]-tickHeight-1];const lineYStart=this.options.reverseOrientation?0:this.dimensions[1];const lineYEnd=this.options.reverseOrientation?tickHeight:this.dimensions[1]-tickHeight;graphics.lineStyle(1,this.stroke);graphics.moveTo(x-1,lineYStart);graphics.lineTo(x-1,lineYEnd-1);if(this.options.fontIsLeftAligned){graphics.lineTo(x+2*flipTextSign+1*flipTextSign,lineYEnd-1);graphics.lineTo(x+2*flipTextSign+1*flipTextSign,lineYEnd+1);graphics.lineTo(x+1,lineYEnd+1);}else{graphics.lineTo(x+1,lineYEnd-1);}graphics.lineTo(x+1,lineYStart);graphics.lineStyle(1,this.tickColor);graphics.moveTo(x,lineYStart);graphics.lineTo(x,lineYEnd);if(this.options.fontIsLeftAligned){graphics.lineTo(x+2*flipTextSign,lineYEnd);}i2+=1;}while(i2<tickTexts.length){tickTexts[i2].visible=false;i2+=1;}return ticks2.length;}},{key:"draw",value:function draw(){this.allTexts=[];if(!this.texts||!this.searchField)return;const x12=absToChr(this._xScale.domain()[0],this.chromInfo);const x2=absToChr(this._xScale.domain()[1],this.chromInfo);if(!x12||!x2){console.warn("Empty chromInfo:",this.dataConfig,this.chromInfo);return;}if(this.options.tickPositions==="ends"){if(!this.gBoundTicks)return;this.gBoundTicks.visible=true;this.drawBoundsTicks(x12,x2);return;}if(!this.pTicks){return;}for(let i2=0;i2<this.texts.length;i2++){this.texts[i2].visible=false;this.gTicks[this.chromInfo.cumPositions[i2].chr].visible=false;}let yPadding=this.options.fontIsLeftAligned?0:this.tickHeight+this.tickTextSeparation;if(this.options.reverseOrientation){yPadding=this.dimensions[1]-yPadding;}Object.keys(this.chromInfo.chrPositions).forEach(chrom=>{if(this.tickTexts[chrom]){for(let j=0;j<this.tickTexts[chrom].length;j++){this.tickTexts[chrom][j].visible=false;}}});for(let i2=x12[3];i2<=x2[3];i2++){const xCumPos=this.chromInfo.cumPositions[i2];const midX=xCumPos.pos+this.chromInfo.chromLengths[xCumPos.chr]/2;const viewportMidX=this._xScale(midX);const text2=this.texts[i2];text2.anchor.x=this.options.fontIsLeftAligned?0:0.5;text2.anchor.y=this.options.reverseOrientation?0:1;text2.x=viewportMidX;text2.y=this.dimensions[1]-yPadding;text2.updateTransform();if(this.flipText)text2.scale.x=-1;const numTicksDrawn=this.drawTicks(xCumPos);text2.visible=numTicksDrawn<=0;this.allTexts.push({importance:text2.hashValue,text:text2,caption:null});}this.hideOverlaps(this.allTexts);}},{key:"hideOverlaps",value:function hideOverlaps(allTexts){let allBoxes=[];allBoxes=allTexts.map(({text:text2},i2)=>{text2.updateTransform();const b=text2.getBounds();const box=[b.x,b.y,b.x+b.width,b.y+b.height];return box;});boxIntersect_1(allBoxes,(i2,j)=>{if(allTexts[i2].importance>allTexts[j].importance){allTexts[j].text.visible=false;}else{allTexts[i2].text.visible=false;}});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"setPosition",this).call(this,newPosition);[this.pMain.position.x,this.pMain.position.y]=this.position;}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}base.setAttribute("class","chromosome-labels");const output=document.createElement("g");track.appendChild(output);output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);this.allTexts.filter(text2=>text2.text.visible).forEach(text2=>{const g=pixiTextToSvg(text2.text);output.appendChild(g);});Object.values(this.tickTexts).forEach(texts=>{texts.filter(x=>x.visible).forEach(text2=>{let g=pixiTextToSvg(text2);output.appendChild(g);g=svgLine(text2.x,this.options.reverseOrientation?0:this.dimensions[1],text2.x,this.options.reverseOrientation?this.tickHeight:this.dimensions[1]-this.tickHeight,1,this.tickColor);const line=document.createElement("line");line.setAttribute("x1",text2.tickLine[0]);line.setAttribute("y1",text2.tickLine[1]);line.setAttribute("x2",text2.tickLine[2]);line.setAttribute("y2",text2.tickLine[3]);line.setAttribute("style","stroke: grey");output.appendChild(g);output.appendChild(line);});});return[base,track];}}]);return HorizontalChromosomeLabels;}(PixiTrack);let HorizontalHeatmapTrack=/*#__PURE__*/function(_HeatmapTiledPixiTrac3){_inherits3(HorizontalHeatmapTrack,_HeatmapTiledPixiTrac3);var _super39=_createSuper3(HorizontalHeatmapTrack);function HorizontalHeatmapTrack(context,options2){var _this63;_classCallCheck3(this,HorizontalHeatmapTrack);_this63=_super39.call(this,context,options2);const{animate}=context;_this63.pMain=_this63.pMobile;_this63.colorScale=HEATED_OBJECT_MAP;_this63.continuousScaling=false;if(options2&&options2.colorRange){_this63.colorScale=colorDomainToRgbaArray(options2.colorRange);}_this63.animate=animate;_this63.options=options2;_this63.pubSubs=[];return _this63;}_createClass3(HorizontalHeatmapTrack,[{key:"rerender",value:function rerender(options2,force){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"rerender",this).call(this,options2,force);this.zoomed(this.xScale(),this.yScale(),this.pMain.scale.x,this.pMain.position.x,this.pMain.position.y);}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){let zoomLevel=null;if(this.tilesetInfo.resolutions){const zoomIndexX=api.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const zoomIndexY=api.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);zoomLevel=Math.min(zoomIndexX,zoomIndexY);}else{const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);}if(this.options&&this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();const expandedXScale=this._xScale.copy();expandedXScale.domain([this._xScale.invert(this._xScale.range()[0]-this.dimensions[1]*Math.sqrt(2)),this._xScale.invert(this._xScale.range()[1]+this.dimensions[1]*Math.sqrt(2))]);if(this.tilesetInfo.resolutions){const sortedResolutions=this.tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);this.xTiles=api.calculateTilesFromResolution(sortedResolutions[this.zoomLevel],expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);this.yTiles=api.calculateTilesFromResolution(sortedResolutions[this.zoomLevel],expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);}else{this.xTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);}const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const maxWidth=this.tilesetInfo.max_width;const tileWidth=maxWidth/2**zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=i2;j<cols.length;j++){const tileBottomPosition=(j-i2-2)*(this._xScale(tileWidth)-this._xScale(0))*Math.sqrt(2)/2;if(tileBottomPosition>this.dimensions[1]){continue;}const newTile=[zoomLevel,rows[i2],cols[j]];newTile.mirrored=false;newTile.dataTransform=this.options.dataTransform?this.options.dataTransform:"default";tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"tileDataToCanvas",value:function tileDataToCanvas(pixData){const canvas=document.createElement("canvas");canvas.width=256;canvas.height=256;const ctx=canvas.getContext("2d");ctx.fillStyle="transparent";ctx.fillRect(0,0,canvas.width,canvas.height);const pix=new ImageData(pixData,canvas.width,canvas.height);ctx.putImageData(pix,0,0);return canvas;}},{key:"setSpriteProperties",value:function setSpriteProperties(sprite,zoomLevel,tilePos,mirrored){const{tileX,tileY,tileWidth,tileHeight}=this.getTilePosAndDimensions(zoomLevel,tilePos);const tileEndX=tileX+tileWidth;const tileEndY=tileY+tileHeight;sprite.width=this._refXScale(tileEndX)-this._refXScale(tileX);sprite.height=this._refYScale(tileEndY)-this._refYScale(tileY);sprite.x=this._refXScale(tileX);sprite.y=this._refYScale(tileY);}},{key:"pixDataFunction",value:function pixDataFunction(tile,pixData){if(pixData){const graphics=tile.graphics;const canvas=this.tileDataToCanvas(pixData.pixData);const texture=GLOBALS.PIXI.VERSION[0]==="4"?GLOBALS.PIXI.Texture.fromCanvas(canvas,GLOBALS.PIXI.SCALE_MODES.NEAREST):GLOBALS.PIXI.Texture.from(canvas,{scaleMode:GLOBALS.PIXI.SCALE_MODES.NEAREST});tile.sprite=new GLOBALS.PIXI.Sprite(texture);tile.canvas=canvas;this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos,tile.mirrored);graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;graphics.removeChildren();graphics.addChild(tile.sprite);}this.renderingTiles.delete(tile.tileId);}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos,tile.mirrored);const graphics=tile.graphics;graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"zoomed",this).call(this,newXScale,newYScale,k,tx,ty);_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"draw",this).call(this);this.pMain.position.x=tx;this.pMain.position.y=this.position[1]+this.dimensions[1];this.pMain.scale.x=k;this.pMain.scale.y=k;if(this.options.oneDHeatmapFlipped){this.pMain.scale.y=-k;this.pMain.position.y=this.position[1];}}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;[base,track]=_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"superSVG",this).call(this);const output=document.createElement("g");track.appendChild(output);output.setAttribute("transform",`translate(${this.pMain.position.x},${this.pMain.position.y}) scale(${this.pMain.scale.x},${this.pMain.scale.y})`);for(const tile of this.visibleAndFetchedTiles()){const gGraphics=document.createElement("g");const graphics=tile.graphics;const graphicsRotation=graphics.rotation*180/Math.PI;const transformText=`translate(${graphics.position.x},${graphics.position.y}) rotate(${graphicsRotation}) scale(${graphics.scale.x},${graphics.scale.y}) translate(${-graphics.pivot.x},${-graphics.pivot.y})`;gGraphics.setAttribute("transform",transformText);const rotation2=tile.sprite.rotation*180/Math.PI;const g=document.createElement("g");g.setAttribute("transform",`translate(${tile.sprite.x},${tile.sprite.y}) rotate(${rotation2}) scale(${tile.sprite.scale.x},${tile.sprite.scale.y})`);const image=document.createElement("image");image.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",tile.canvas.toDataURL());image.setAttribute("width",256);image.setAttribute("height",256);g.appendChild(image);gGraphics.appendChild(g);output.appendChild(gGraphics);}const gColorbar=this.exportColorBarSVG();track.appendChild(gColorbar);return[base,base];}}]);return HorizontalHeatmapTrack;}(HeatmapTiledPixiTrack);let UnknownPixiTrack=/*#__PURE__*/function(_PixiTrack8){_inherits3(UnknownPixiTrack,_PixiTrack8);var _super40=_createSuper3(UnknownPixiTrack);function UnknownPixiTrack(context,options2){var _this64;_classCallCheck3(this,UnknownPixiTrack);_this64=_super40.call(this,context,options2);_this64.tilesetInfo={};_this64.errorTextText=`Unknown track type: ${options2.type}`;return _this64;}_createClass3(UnknownPixiTrack,[{key:"zoomed",value:function zoomed(){this.draw();}}]);return UnknownPixiTrack;}(PixiTrack);let ValueIntervalTrack=/*#__PURE__*/function(_HorizontalLine1DPixi4){_inherits3(ValueIntervalTrack,_HorizontalLine1DPixi4);var _super41=_createSuper3(ValueIntervalTrack);function ValueIntervalTrack(context,options2){var _this65;_classCallCheck3(this,ValueIntervalTrack);_this65=_super41.call(this,context,options2);_this65.axis=new AxisPixi(_assertThisInitialized3(_this65));_this65.pBase.addChild(_this65.axis.pAxis);return _this65;}_createClass3(ValueIntervalTrack,[{key:"initTile",value:function initTile(tile){this.scale.minRawValue=this.minVisibleValueInTiles();this.scale.maxRawValue=this.minVisibleValueInTiles();this.scale.minValue=this.scale.minRawValue;this.scale.maxValue=this.scale.maxRawValue;this.drawTile(tile);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;const RECT_HEIGHT=6;const MIN_RECT_WIDTH=4;graphics.clear();this.valueScale=log$4().domain([this.minValue()+0.01,this.maxValue()]).range([this.dimensions[1]-RECT_HEIGHT/2,RECT_HEIGHT/2]);const fill=colorToHex("black");graphics.lineStyle(1,fill,0.3);graphics.beginFill(fill,0.3);this.drawAxis(this.valueScale);tile.tileData.forEach(td=>{const fields=td.fields;const chrOffset=+td.chrOffset;const genomeStart=+fields[1]+chrOffset;const genomeEnd=+fields[2]+chrOffset;const value2=+fields[3];const startPos=this._xScale(genomeStart);const endPos=this._xScale(genomeEnd);const width=Math.max(endPos-startPos,MIN_RECT_WIDTH);const midY=this.valueScale(value2);const midX=(endPos+startPos)/2;graphics.drawRect(midX-width/2,midY-RECT_HEIGHT/2,width,RECT_HEIGHT);});}},{key:"minVisibleValueInTiles",value:function minVisibleValueInTiles(){let visibleAndFetchedIds=this.visibleAndFetchedIds();if(visibleAndFetchedIds.length===0){visibleAndFetchedIds=Object.keys(this.fetchedTiles);}const min2=Math.min.apply(null,visibleAndFetchedIds.map(x=>+Math.min(...this.fetchedTiles[x].tileData.filter(y=>!Number.isNaN(y.fields[3])).map(y=>+y.fields[3]))));return min2;}},{key:"maxVisibleValueInTiles",value:function maxVisibleValueInTiles(){let visibleAndFetchedIds=this.visibleAndFetchedIds();if(visibleAndFetchedIds.length===0){visibleAndFetchedIds=Object.keys(this.fetchedTiles);}const max2=Math.max.apply(null,visibleAndFetchedIds.map(x=>+Math.max(...this.fetchedTiles[x].tileData.filter(y=>!Number.isNaN(y.fields[3])).map(y=>+y.fields[3]))));return max2;}}]);return ValueIntervalTrack;}(HorizontalLine1DPixiTrack);let ViewportTracker2D$1=/*#__PURE__*/function(_SVGTrack3){_inherits3(ViewportTracker2D$1,_SVGTrack3);var _super42=_createSuper3(ViewportTracker2D$1);function ViewportTracker2D$1(context,options2){var _this66;_classCallCheck3(this,ViewportTracker2D$1);_this66=_super42.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this66.uid=uid;_this66.options=options2;_this66.hasFromView=!context.projectionXDomain||!context.projectionYDomain;_this66.removeViewportChanged=removeViewportChanged;_this66.setDomainsCallback=setDomainsCallback;_this66.viewportXDomain=_this66.hasFromView?null:context.projectionXDomain;_this66.viewportYDomain=_this66.hasFromView?null:context.projectionYDomain;_this66.brush=brush().on("brush",_this66.brushed.bind(_assertThisInitialized3(_this66)));_this66.gBrush=_this66.gMain.append("g").attr("id",`brush-${_this66.uid}`).call(_this66.brush);_this66.gBrush.selectAll(".overlay").style("pointer-events","none");_this66.gBrush.selectAll(".handle--n").style("pointer-events","none");_this66.gBrush.selectAll(".handle--s").style("pointer-events","none");_this66.gBrush.selectAll(".handle--w").style("pointer-events","none");_this66.gBrush.selectAll(".handle--e").style("pointer-events","none");registerViewportChanged(uid,_this66.viewportChanged.bind(_assertThisInitialized3(_this66)));_this66.rerender();_this66.draw();return _this66;}_createClass3(ViewportTracker2D$1,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=[this._xScale.invert(s[0][0]),this._xScale.invert(s[1][0])];const yDomain=[this._yScale.invert(s[0][1]),this._yScale.invert(s[1][1])];if(!this.hasFromView){this.viewportXDomain=xDomain;this.viewportYDomain=yDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const x02=this._xScale(this.viewportXDomain[0]);const y02=this._yScale(this.viewportYDomain[0]);const x12=this._xScale(this.viewportXDomain[1]);const y12=this._yScale(this.viewportYDomain[1]);const dest=[[x02,y02],[x12,y12]];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const xDiff=xRange[1]-xRange[0];const yDiff=yRange[1]-yRange[0];this.brush.extent([[xRange[0]-xDiff,yRange[0]-yDiff],[xRange[1]+xDiff,yRange[1]+yDiff]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTracker2D$1;}(SVGTrack);let ViewportTrackerHorizontal=/*#__PURE__*/function(_SVGTrack4){_inherits3(ViewportTrackerHorizontal,_SVGTrack4);var _super43=_createSuper3(ViewportTrackerHorizontal);function ViewportTrackerHorizontal(context,options2){var _this67;_classCallCheck3(this,ViewportTrackerHorizontal);_this67=_super43.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this67.uid=uid;_this67.options=options2;_this67.hasFromView=!context.projectionXDomain;_this67.removeViewportChanged=removeViewportChanged;_this67.setDomainsCallback=setDomainsCallback;_this67.viewportXDomain=_this67.hasFromView?null:context.projectionXDomain;_this67.viewportYDomain=_this67.hasFromView?null:[0,0];_this67.brush=brushX().on("brush",_this67.brushed.bind(_assertThisInitialized3(_this67)));_this67.gBrush=_this67.gMain.append("g").attr("id",`brush-${_this67.uid}`).call(_this67.brush);_this67.gBrush.selectAll(".overlay").style("pointer-events","none");_this67.gBrush.selectAll(".handle--ne").style("pointer-events","none");_this67.gBrush.selectAll(".handle--nw").style("pointer-events","none");_this67.gBrush.selectAll(".handle--sw").style("pointer-events","none");_this67.gBrush.selectAll(".handle--se").style("pointer-events","none");_this67.gBrush.selectAll(".handle--n").style("pointer-events","none");_this67.gBrush.selectAll(".handle--s").style("pointer-events","none");registerViewportChanged(uid,_this67.viewportChanged.bind(_assertThisInitialized3(_this67)));_this67.rerender();_this67.draw();return _this67;}_createClass3(ViewportTrackerHorizontal,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=[this._xScale.invert(s[0]),this._xScale.invert(s[1])];const yDomain=this.viewportYDomain;if(!this.hasFromView){this.viewportXDomain=xDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale,update2=true){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const x02=this._xScale(this.viewportXDomain[0]);const x12=this._xScale(this.viewportXDomain[1]);const dest=[x02,x12];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const xDiff=xRange[1]-xRange[0];this.brush.extent([[xRange[0]-xDiff,yRange[0]],[xRange[1]+xDiff,yRange[1]]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTrackerHorizontal;}(SVGTrack);let ViewportTrackerVertical=/*#__PURE__*/function(_SVGTrack5){_inherits3(ViewportTrackerVertical,_SVGTrack5);var _super44=_createSuper3(ViewportTrackerVertical);function ViewportTrackerVertical(context,options2){var _this68;_classCallCheck3(this,ViewportTrackerVertical);_this68=_super44.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this68.uid=uid;_this68.options=options2;_this68.hasFromView=!context.projectionYDomain;_this68.removeViewportChanged=removeViewportChanged;_this68.setDomainsCallback=setDomainsCallback;_this68.viewportXDomain=_this68.hasFromView?null:[0,0];_this68.viewportYDomain=_this68.hasFromView?null:context.projectionYDomain;_this68.brush=brushY().on("brush",_this68.brushed.bind(_assertThisInitialized3(_this68)));_this68.gBrush=_this68.gMain.append("g").attr("id",`brush-${_this68.uid}`).call(_this68.brush);_this68.gBrush.selectAll(".overlay").style("pointer-events","none");_this68.gBrush.selectAll(".handle--ne").style("pointer-events","none");_this68.gBrush.selectAll(".handle--nw").style("pointer-events","none");_this68.gBrush.selectAll(".handle--sw").style("pointer-events","none");_this68.gBrush.selectAll(".handle--se").style("pointer-events","none");_this68.gBrush.selectAll(".handle--e").style("pointer-events","none");_this68.gBrush.selectAll(".handle--w").style("pointer-events","none");registerViewportChanged(uid,_this68.viewportChanged.bind(_assertThisInitialized3(_this68)));_this68.rerender();_this68.draw();return _this68;}_createClass3(ViewportTrackerVertical,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=this.viewportXDomain;const yDomain=[this._yScale.invert(s[0]),this._yScale.invert(s[1])];if(!this.hasFromView){this.viewportYDomain=yDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale,update2=true){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const y02=this._yScale(this.viewportYDomain[0]);const y12=this._yScale(this.viewportYDomain[1]);const dest=[y02,y12];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const yDiff=yRange[1]-yRange[0];this.brush.extent([[xRange[0],yRange[0]-yDiff],[xRange[1],yRange[1]+yDiff]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTrackerVertical;}(SVGTrack);const _appliedMixin="__mixwith_appliedMixin";const _wrappedMixin="__mixwith_wrappedMixin";const unwrap=wrapper2=>wrapper2[_wrappedMixin]||wrapper2;const apply$1=(superclass,mixin)=>{const application=mixin(superclass);application.prototype[_appliedMixin]=unwrap(mixin);return application;};const isApplicationOf=(proto2,mixin)=>proto2.hasOwnProperty(_appliedMixin)&&proto2[_appliedMixin]===unwrap(mixin);const hasMixin=(o,mixin)=>{while(o!==null){if(isApplicationOf(o,mixin))return true;o=Object.getPrototypeOf(o);}return false;};const wrap=(mixin,wrapper2)=>{Object.setPrototypeOf(wrapper2,mixin);if(!mixin[_wrappedMixin]){mixin[_wrappedMixin]=mixin;}return wrapper2;};const _cachedApplications="__mixwith_cachedApplications";const Cached=mixin=>wrap(mixin,superclass=>{let cachedApplications=superclass[_cachedApplications];if(!cachedApplications){superclass[_cachedApplications]=/* @__PURE__ */new Map();cachedApplications=superclass[_cachedApplications];}let application=cachedApplications.get(mixin);if(!application){application=mixin(superclass);cachedApplications.set(mixin,application);}return application;});const DeDupe=mixin=>wrap(mixin,superclass=>hasMixin(superclass.prototype,mixin)?superclass:mixin(superclass));const BareMixin=mixin=>wrap(mixin,s=>apply$1(s,mixin));const Mixin=mixin=>DeDupe(Cached(BareMixin(mixin)));let MixinBuilder=/*#__PURE__*/function(){function MixinBuilder(superclass){_classCallCheck3(this,MixinBuilder);this.superclass=superclass||/*#__PURE__*/function(){function _class2(){_classCallCheck3(this,_class2);}return _createClass3(_class2);}();}_createClass3(MixinBuilder,[{key:"with",value:function _with(...mixins){return mixins.reduce((c2,m)=>m(c2),this.superclass);}}]);return MixinBuilder;}();const mix=superclass=>new MixinBuilder(superclass);const RuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass){_inherits3(_class3,_superclass);var _super45=_createSuper3(_class3);function _class3(context,options2){var _this69;_classCallCheck3(this,_class3);_this69=_super45.call(this,context,options2);const{animate}=context;_this69.highlighted=false;_this69.animate=animate;_this69.MOUSEOVER_RADIUS=4;_this69.pubSub=context.pubSub;_this69.pubSubs.push(_this69.pubSub.subscribe("app.mouseMove",_this69.mouseMoveHandler.bind(_assertThisInitialized3(_this69))));return _this69;}_createClass3(_class3,[{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(_class3.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.x=this.position[0];this.pMain.position.y=this.position[1];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){_get4(_getPrototypeOf4(_class3.prototype),"zoomed",this).call(this,newXScale,newYScale);this.draw();}},{key:"respondsToPosition",value:function respondsToPosition(){return this.highlighted;}}]);return _class3;}(superclass));const HorizontalRuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass2){_inherits3(_class4,_superclass2);var _super46=_createSuper3(_class4);function _class4(){_classCallCheck3(this,_class4);return _super46.apply(this,arguments);}_createClass3(_class4,[{key:"drawHorizontalRule",value:function drawHorizontalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[0]){graphics.moveTo(pos,this._yScale(this.yPosition));graphics.lineTo(pos+this.dashLength,this._yScale(this.yPosition));pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverHorizontalLine",value:function isMouseOverHorizontalLine(mousePos){if(Math.abs(mousePos.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS){return true;}return false;}}]);return _class4;}(superclass));let HorizontalRule=/*#__PURE__*/function(_mix$with){_inherits3(HorizontalRule,_mix$with);var _super47=_createSuper3(HorizontalRule);function HorizontalRule(context,options2){var _this70;_classCallCheck3(this,HorizontalRule);_this70=_super47.call(this,context,options2);_this70.yPosition=context.yPosition;_this70.strokeWidth=2;_this70.strokeOpacity=1;_this70.dashLength=5;_this70.dashGap=3;return _this70;}_createClass3(HorizontalRule,[{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){if(this.isWithin(mousePos.x,mousePos.y)&&this.isMouseOverHorizontalLine(mousePos)){this.highlighted=true;this.draw();return;}this.highlighted=false;this.draw();}},{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawHorizontalRule(graphics);this.animate();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(HorizontalRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(HorizontalRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","horizontal-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const line=document.createElement("line");line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",this.strokeWidth);line.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);line.setAttribute("x1",0);line.setAttribute("y1",this._yScale(this.yPosition));line.setAttribute("x2",this.dimensions[0]);line.setAttribute("y2",this._yScale(this.yPosition));output.appendChild(line);return[base,track];}}]);return HorizontalRule;}(mix(PixiTrack).with(RuleMixin,HorizontalRuleMixin));const VerticalRuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass3){_inherits3(_class5,_superclass3);var _super48=_createSuper3(_class5);function _class5(){_classCallCheck3(this,_class5);return _super48.apply(this,arguments);}_createClass3(_class5,[{key:"drawVerticalRule",value:function drawVerticalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[1]){graphics.moveTo(this._xScale(this.xPosition),pos);graphics.lineTo(this._xScale(this.xPosition),pos+this.dashLength);pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverVerticalLine",value:function isMouseOverVerticalLine(mousePos){return Math.abs(mousePos.x-this.position[0]-this._xScale(this.xPosition))<this.MOUSEOVER_RADIUS;}}]);return _class5;}(superclass));let VerticalRule=/*#__PURE__*/function(_mix$with2){_inherits3(VerticalRule,_mix$with2);var _super49=_createSuper3(VerticalRule);function VerticalRule(context,options2){var _this71;_classCallCheck3(this,VerticalRule);_this71=_super49.call(this,context,options2);_this71.xPosition=context.xPosition;_this71.strokeWidth=2;_this71.strokeOpacity=1;_this71.dashLength=5;_this71.dashGap=3;return _this71;}_createClass3(VerticalRule,[{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawVerticalRule(graphics);this.animate();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(VerticalRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(VerticalRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","vertical-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const line=document.createElement("line");line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",this.strokeWidth);line.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);line.setAttribute("x1",this._xScale(this.xPosition));line.setAttribute("y1",0);line.setAttribute("x2",this._xScale(this.xPosition));line.setAttribute("y2",this.dimensions[1]);output.appendChild(line);return[base,track];}},{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){this.highlighted=this.isWithin(mousePos.x,mousePos.y)&&this.isMouseOverVerticalLine(mousePos);this.draw();}}]);return VerticalRule;}(mix(PixiTrack).with(RuleMixin,VerticalRuleMixin));let CrossRule=/*#__PURE__*/function(_mix$with3){_inherits3(CrossRule,_mix$with3);var _super50=_createSuper3(CrossRule);function CrossRule(context,options2){var _this72;_classCallCheck3(this,CrossRule);_this72=_super50.call(this,context,options2);const{x,y}=context;_this72.xPosition=x;_this72.yPosition=y;_this72.strokeWidth=2;_this72.strokeOpacity=1;_this72.dashLength=5;_this72.dashGap=3;return _this72;}_createClass3(CrossRule,[{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawHorizontalRule(graphics);this.drawVerticalRule(graphics);}},{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){this.highlighted=this.isWithin(mousePos.x,mousePos.y)&&(this.isMouseOverHorizontalLine(mousePos)||this.isMouseOverVerticalLine(mousePos));this.draw();}},{key:"drawHorizontalRule",value:function drawHorizontalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[0]){graphics.moveTo(pos,this._yScale(this.yPosition));graphics.lineTo(pos+this.dashLength,this._yScale(this.yPosition));pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverHorizontalLine",value:function isMouseOverHorizontalLine(mousePos){return Math.abs(mousePos.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS;}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(CrossRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(CrossRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","cross-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const verticalLine=document.createElement("line");verticalLine.setAttribute("stroke",stroke);verticalLine.setAttribute("stroke-width",this.strokeWidth);verticalLine.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);verticalLine.setAttribute("x1",this._xScale(this.xPosition));verticalLine.setAttribute("y1",0);verticalLine.setAttribute("x2",this._xScale(this.xPosition));verticalLine.setAttribute("y2",this.dimensions[1]);const horizontalLine=document.createElement("line");horizontalLine.setAttribute("stroke",stroke);horizontalLine.setAttribute("stroke-width",this.strokeWidth);horizontalLine.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);horizontalLine.setAttribute("x1",0);horizontalLine.setAttribute("y1",this._yScale(this.yPosition));horizontalLine.setAttribute("x2",this.dimensions[0]);horizontalLine.setAttribute("y2",this._yScale(this.yPosition));output.appendChild(verticalLine);output.appendChild(horizontalLine);return[base,track];}}]);return CrossRule;}(mix(PixiTrack).with(RuleMixin,VerticalRuleMixin));let OSMTilesTrack=/*#__PURE__*/function(_PixiTrack9){_inherits3(OSMTilesTrack,_PixiTrack9);var _super51=_createSuper3(OSMTilesTrack);function OSMTilesTrack(context,options2){var _this73;_classCallCheck3(this,OSMTilesTrack);_this73=_super51.call(this,context,options2);const{animate}=context;_this73.visibleTiles=/* @__PURE__ */new Set();_this73.visibleTileIds=/* @__PURE__ */new Set();_this73.fetching=/* @__PURE__ */new Set();_this73.fetchedTiles={};_this73.tileGraphics={};_this73.minX=typeof _this73.options.minPos!=="undefined"&&!Number.isNaN(+_this73.options.minPos)?+_this73.options.minPos:-180;_this73.maxX=+_this73.options.maxPos||180;_this73.maxX=typeof _this73.options.maxPos!=="undefined"&&!Number.isNaN(+_this73.options.maxPos)?+_this73.options.maxPos:180;_this73.minY=_this73.options.minY||_this73.minX;_this73.maxY=_this73.options.maxY||_this73.maxX;_this73.maxZoom=19;_this73.maxWidth=_this73.maxX-_this73.minX;_this73.animate=animate;_this73.uuid=slugid.nice();_this73.refreshTilesDebounced=debounce$1(_this73.refreshTiles.bind(_assertThisInitialized3(_this73)),ZOOM_DEBOUNCE);return _this73;}_createClass3(OSMTilesTrack,[{key:"visibleAndFetchedIds",value:function visibleAndFetchedIds(){return Object.keys(this.fetchedTiles).filter(x=>this.visibleTileIds.has(x));}},{key:"visibleAndFetchedTiles",value:function visibleAndFetchedTiles(){return this.visibleAndFetchedIds().map(x=>this.fetchedTiles[x]);}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x),mirrored:x.mirrored}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"removeAllTiles",value:function removeAllTiles(){const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));this.removeTiles([...fetchedTileIDs]);}},{key:"refreshTiles",value:function refreshTiles(){this.calculateVisibleTiles();const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));const toFetch=[...this.visibleTiles].filter(x=>!this.fetching.has(x.remoteId)&&!fetchedTileIDs.has(x.tileId));for(let i2=0;i2<toFetch.length;i2++){this.fetching.add(toFetch[i2].remoteId);}const toRemove=[...fetchedTileIDs].filter(x=>!this.visibleTileIds.has(x));this.removeTiles(toRemove);this.fetchNewTiles(toFetch);}},{key:"removeTiles",value:function removeTiles(toRemoveIds){if(!toRemoveIds.length){return;}if(!this.areAllVisibleTilesLoaded()){return;}toRemoveIds.forEach(x=>{const tileIdStr=x;this.destroyTile(this.fetchedTiles[tileIdStr]);if(tileIdStr in this.tileGraphics){this.pMain.removeChild(this.tileGraphics[tileIdStr]);delete this.tileGraphics[tileIdStr];}delete this.fetchedTiles[tileIdStr];});this.synchronizeTilesAndGraphics();this.draw();}},{key:"tileToLocalId",value:function tileToLocalId(tile){return tile.join(".");}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return tile.join(".");}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.minX,this.maxX);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.minY,this.maxY);let zoomLevel=Math.min(Math.max(xZoomLevel,yZoomLevel),this.maxZoom);if(this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.maxZoom,this.maxWidth);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.maxZoom,this.maxWidth);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"zoomed",this).call(this,newXScale,newYScale);this.xScale(newXScale);this.yScale(newYScale);this.pMain.position.x=tx;this.pMain.position.y=ty;this.pMain.scale.x=k;this.pMain.scale.y=k;this.refreshTilesDebounced();this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"setPosition",this).call(this,newPosition);}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"setDimensions",this).call(this,newDimensions);}},{key:"areAllVisibleTilesLoaded",value:function areAllVisibleTilesLoaded(){const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));const visibleTileIdsList=[...this.visibleTileIds];for(let i2=0;i2<visibleTileIdsList.length;i2++){if(!fetchedTileIDs.has(visibleTileIdsList[i2])){return false;}}return true;}},{key:"allTilesLoaded",value:function allTilesLoaded(){}},{key:"minValue",value:function minValue(_){if(_){this.scale.minValue=_;}return this.scale.minValue;}},{key:"maxValue",value:function maxValue(_){if(_){this.scale.maxValue=_;}return this.scale.maxValue;}},{key:"minRawValue",value:function minRawValue(){return this.scale.minRawValue;}},{key:"maxRawValue",value:function maxRawValue(){return this.scale.maxRawValue;}},{key:"getTilePosAndDimensions",value:function getTilePosAndDimensions(zoomLevel,tilePos){const tileWidth=this.maxWidth/2**zoomLevel;const tileHeight=tileWidth;const tileX=this.minX+tilePos[0]*tileWidth;const tileY=this.minY+tilePos[1]*tileHeight;return{tileX,tileY,tileWidth,tileHeight};}},{key:"setSpriteProperties",value:function setSpriteProperties(sprite,zoomLevel,tilePos){const{tileX,tileY,tileWidth,tileHeight}=this.getTilePosAndDimensions(zoomLevel,tilePos);sprite.x=this._refXScale(tileX);sprite.y=this._refYScale(tileY);const tileEndX=tileX+tileWidth;const tileEndY=tileY+tileHeight;sprite.width=this._refXScale(tileEndX)-this._refXScale(tileX);sprite.height=this._refYScale(tileEndY)-this._refYScale(tileY);}},{key:"initTile",value:function initTile(tile){const texture=new GLOBALS.PIXI.Texture(new GLOBALS.PIXI.BaseTexture(tile.tileData.img));const sprite=new GLOBALS.PIXI.Sprite(texture);const graphics=tile.graphics;tile.sprite=sprite;this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos);graphics.removeChildren();graphics.addChild(tile.sprite);}},{key:"updateTile",value:function updateTile(tile){}},{key:"destroyTile",value:function destroyTile(tile){}},{key:"addMissingGraphics",value:function addMissingGraphics(){const fetchedTileIDs=Object.keys(this.fetchedTiles);for(let i2=0;i2<fetchedTileIDs.length;i2++){if(!(fetchedTileIDs[i2]in this.tileGraphics)){const newGraphics=new GLOBALS.PIXI.Graphics();this.pMain.addChild(newGraphics);this.fetchedTiles[fetchedTileIDs[i2]].graphics=newGraphics;this.initTile(this.fetchedTiles[fetchedTileIDs[i2]]);this.tileGraphics[fetchedTileIDs[i2]]=newGraphics;}}}},{key:"updateExistingGraphics",value:function updateExistingGraphics(){const fetchedTileIDs=Object.keys(this.fetchedTiles);for(let i2=0;i2<fetchedTileIDs.length;i2++){this.updateTile(this.fetchedTiles[fetchedTileIDs[i2]]);}}},{key:"synchronizeTilesAndGraphics",value:function synchronizeTilesAndGraphics(){this.addMissingGraphics();this.updateExistingGraphics();}},{key:"loadTileData",value:function loadTileData(tile,dataLoader){let loadedTileData=this.lruCache.get(tile.tileId);if(!loadedTileData){loadedTileData=dataLoader(tile.data,tile.type);this.lruCache.put(tile.tileId,loadedTileData);}return loadedTileData;}},{key:"getTileUrl",value:function getTileUrl(tileZxy){const serverPrefixes=["a","b","c"];const serverPrefixIndex=Math.floor(Math.random()*serverPrefixes.length);const src2=`https://${serverPrefixes[serverPrefixIndex]}.tile.openstreetmap.org/${tileZxy[0]}/${tileZxy[1]}/${tileZxy[2]}.png`;return src2;}},{key:"fetchNewTiles",value:function fetchNewTiles(toFetch){if(toFetch.length>0){const toFetchList=[...new Set(toFetch.map(x=>x.remoteId))];for(const tileId of toFetchList){const parts=tileId.split(".");const src2=this.getTileUrl(parts);const img=new Image();img.crossOrigin="Anonymous";img.src=src2;img.onload=()=>{const loadedTiles={};loadedTiles[tileId]={tileId,img,zoomLevel:+parts[0],tilePos:[+parts[1],+parts[2]],tileSrc:src2};this.receivedTiles(loadedTiles);};}}}},{key:"receivedTiles",value:function receivedTiles(loadedTiles){for(let i2=0;i2<this.visibleTiles.length;i2++){const tileId=this.visibleTiles[i2].tileId;if(!loadedTiles[this.visibleTiles[i2].remoteId])continue;if(this.visibleTiles[i2].remoteId in loadedTiles){if(!(tileId in this.fetchedTiles)){this.fetchedTiles[tileId]=this.visibleTiles[i2];}this.fetchedTiles[tileId].tileData=loadedTiles[this.visibleTiles[i2].remoteId];}}for(const key in loadedTiles){if(loadedTiles[key]){if(this.fetching.has(key)){this.fetching.delete(key);}}}this.synchronizeTilesAndGraphics();this.refreshTiles();this.draw();this.animate();}},{key:"draw",value:function draw(){if(this.delayDrawing)return;_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(){}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos);}}}}]);return OSMTilesTrack;}(PixiTrack);let OSMTileIdsTrack=/*#__PURE__*/function(_OSMTilesTrack){_inherits3(OSMTileIdsTrack,_OSMTilesTrack);var _super52=_createSuper3(OSMTileIdsTrack);function OSMTileIdsTrack(){_classCallCheck3(this,OSMTileIdsTrack);return _super52.apply(this,arguments);}_createClass3(OSMTileIdsTrack,[{key:"initTile",value:function initTile(tile){_initTile.bind(this)(tile);this.drawTile(tile);}},{key:"drawTile",value:function drawTile(tile){_drawTile.bind(this)(tile);}},{key:"areAllVisibleTilesLoaded",value:function areAllVisibleTilesLoaded(){return true;}},{key:"fetchNewTiles",value:function fetchNewTiles(toFetch){toFetch.forEach(x=>{const key=x.remoteId;const keyParts=key.split(".");const data2={zoomLevel:keyParts[0],tilePos:keyParts.slice(1,keyParts.length).map(keyPart=>+keyPart)};this.fetchedTiles[x.tileId]=x;this.fetchedTiles[x.tileId].tileData=data2;if(this.fetching.has(x.remoteId)){this.fetching.delete(x.remoteId);}});this.synchronizeTilesAndGraphics();this.draw();this.animate();}},{key:"draw",value:function draw(){_get4(_getPrototypeOf4(OSMTileIdsTrack.prototype),"draw",this).call(this);}}]);return OSMTileIdsTrack;}(OSMTilesTrack);let MapboxTilesTrack=/*#__PURE__*/function(_OSMTilesTrack2){_inherits3(MapboxTilesTrack,_OSMTilesTrack2);var _super53=_createSuper3(MapboxTilesTrack);function MapboxTilesTrack(context,options2){var _this74;_classCallCheck3(this,MapboxTilesTrack);_this74=_super53.call(this,context,options2);_this74.style=options2.style;if(!_this74.options.accessToken){_this74.errorTextText="No access token provided in the viewconf's track options ('accessToken' option).";_this74.drawError();}return _this74;}_createClass3(MapboxTilesTrack,[{key:"rerender",value:function rerender(newOptions){_get4(_getPrototypeOf4(MapboxTilesTrack.prototype),"rerender",this).call(this,newOptions);if(newOptions.style===this.style)return;this.style=newOptions.style;this.removeAllTiles();this.refreshTiles();}},{key:"getTileUrl",value:function getTileUrl(tileZxy){const mapStyle=this.options&&this.options.style?this.options.style:"streets-v10";const tileSize=this.options&&+this.options.tileSize?+this.options.tileSize:256;return`https://api.mapbox.com/styles/v1/mapbox/${mapStyle}/tiles/${tileSize}/${tileZxy[0]}/${tileZxy[1]}/${tileZxy[2]}?access_token=${this.options.accessToken}`;}}]);return MapboxTilesTrack;}(OSMTilesTrack);let RasterTilesTrack=/*#__PURE__*/function(_OSMTilesTrack3){_inherits3(RasterTilesTrack,_OSMTilesTrack3);var _super54=_createSuper3(RasterTilesTrack);function RasterTilesTrack(context,options2){var _this75;_classCallCheck3(this,RasterTilesTrack);_this75=_super54.call(this,context,options2);_this75.style=options2.style;if(!_this75.options.tileSource){_this75.errorTextText="No tile source string provided in the options. It should be in the form of http://a.com/{z}/{x}/{y}";_this75.drawError();}return _this75;}_createClass3(RasterTilesTrack,[{key:"getTileUrl",value:function getTileUrl(tileZxy){let newUrl=this.options.tileSource.replace("{z}",tileZxy[0]);newUrl=newUrl.replace("{x}",tileZxy[1]);newUrl=newUrl.replace("{y}",tileZxy[2]);return newUrl;}}]);return RasterTilesTrack;}(OSMTilesTrack);const getDataFetcher$1=(dataConfig,pubSub,pluginDataFetchers,availableForPlugins=AVAILABLE_FOR_PLUGINS)=>{const pluginDataFetcher=pluginDataFetchers[dataConfig.type];if(pluginDataFetcher){return new pluginDataFetcher.dataFetcher(availableForPlugins,dataConfig,pubSub);}if(dataConfig.type==="genbank"){return new GBKDataFetcher(dataConfig,pubSub);}if(dataConfig.type==="local-tiles"){return new LocalTileDataFetcher(dataConfig,pubSub);}return new DataFetcher(dataConfig,pubSub);};var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var tau=pi*2;var degrees=180/pi;var radians=pi/180;var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var hypot=Math.hypot;var log=Math.log;var pow=Math.pow;var sin=Math.sin;var sign=Math.sign||function(x){return x>0?1:x<0?-1:0;};var sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?pi:Math.acos(x);}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x);}function haversin(x){return(x=sin(x/2))*x;}function noop$2(){}function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream);}}var streamObjectType={Feature:function(object2,stream){streamGeometry(object2.geometry,stream);},FeatureCollection:function(object2,stream){var features=object2.features,i2=-1,n=features.length;while(++i2<n)streamGeometry(features[i2].geometry,stream);}};var streamGeometryType={Sphere:function(object2,stream){stream.sphere();},Point:function(object2,stream){object2=object2.coordinates;stream.point(object2[0],object2[1],object2[2]);},MultiPoint:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)object2=coordinates2[i2],stream.point(object2[0],object2[1],object2[2]);},LineString:function(object2,stream){streamLine(object2.coordinates,stream,0);},MultiLineString:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)streamLine(coordinates2[i2],stream,0);},Polygon:function(object2,stream){streamPolygon(object2.coordinates,stream);},MultiPolygon:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)streamPolygon(coordinates2[i2],stream);},GeometryCollection:function(object2,stream){var geometries=object2.geometries,i2=-1,n=geometries.length;while(++i2<n)streamGeometry(geometries[i2],stream);}};function streamLine(coordinates2,stream,closed){var i2=-1,n=coordinates2.length-closed,coordinate;stream.lineStart();while(++i2<n)coordinate=coordinates2[i2],stream.point(coordinate[0],coordinate[1],coordinate[2]);stream.lineEnd();}function streamPolygon(coordinates2,stream){var i2=-1,n=coordinates2.length;stream.polygonStart();while(++i2<n)streamLine(coordinates2[i2],stream,1);stream.polygonEnd();}function geoStream(object2,stream){if(object2&&streamObjectType.hasOwnProperty(object2.type)){streamObjectType[object2.type](object2,stream);}else{streamGeometry(object2,stream);}}var areaRingSum$1=new Adder();var areaSum$1=new Adder(),lambda00$2,phi00$2,lambda0$2,cosPhi0$1,sinPhi0$1;var areaStream$1={point:noop$2,lineStart:noop$2,lineEnd:noop$2,polygonStart:function(){areaRingSum$1=new Adder();areaStream$1.lineStart=areaRingStart$1;areaStream$1.lineEnd=areaRingEnd$1;},polygonEnd:function(){var areaRing=+areaRingSum$1;areaSum$1.add(areaRing<0?tau+areaRing:areaRing);this.lineStart=this.lineEnd=this.point=noop$2;},sphere:function(){areaSum$1.add(tau);}};function areaRingStart$1(){areaStream$1.point=areaPointFirst$1;}function areaRingEnd$1(){areaPoint$1(lambda00$2,phi00$2);}function areaPointFirst$1(lambda,phi){areaStream$1.point=areaPoint$1;lambda00$2=lambda,phi00$2=phi;lambda*=radians,phi*=radians;lambda0$2=lambda,cosPhi0$1=cos(phi=phi/2+quarterPi),sinPhi0$1=sin(phi);}function areaPoint$1(lambda,phi){lambda*=radians,phi*=radians;phi=phi/2+quarterPi;var dLambda=lambda-lambda0$2,sdLambda=dLambda>=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=sinPhi0$1*sinPhi,u=cosPhi0$1*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum$1.add(atan2(v,u));lambda0$2=lambda,cosPhi0$1=cosPhi,sinPhi0$1=sinPhi;}function area(object2){areaSum$1=new Adder();geoStream(object2,areaStream$1);return areaSum$1*2;}function spherical(cartesian2){return[atan2(cartesian2[1],cartesian2[0]),asin(cartesian2[2])];}function cartesian(spherical2){var lambda=spherical2[0],phi=spherical2[1],cosPhi=cos(phi);return[cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi)];}function cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}function cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]];}function cartesianAddInPlace(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2];}function cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k];}function cartesianNormalizeInPlace(d){var l=sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l;}var lambda0$1,phi0,lambda1,phi1,lambda2,lambda00$1,phi00$1,p0,deltaSum,ranges,range;var boundsStream$2={point:boundsPoint$1,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream$2.point=boundsRingPoint;boundsStream$2.lineStart=boundsRingStart;boundsStream$2.lineEnd=boundsRingEnd;deltaSum=new Adder();areaStream$1.polygonStart();},polygonEnd:function(){areaStream$1.polygonEnd();boundsStream$2.point=boundsPoint$1;boundsStream$2.lineStart=boundsLineStart;boundsStream$2.lineEnd=boundsLineEnd;if(areaRingSum$1<0)lambda0$1=-(lambda1=180),phi0=-(phi1=90);else if(deltaSum>epsilon)phi1=90;else if(deltaSum<-epsilon)phi0=-90;range[0]=lambda0$1,range[1]=lambda1;},sphere:function(){lambda0$1=-(lambda1=180),phi0=-(phi1=90);}};function boundsPoint$1(lambda,phi){ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;}function linePoint(lambda,phi){var p=cartesian([lambda*radians,phi*radians]);if(p0){var normal=cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=spherical(inflection);var delta=lambda-lambda2,sign2=delta>0?1:-1,lambdai=inflection[0]*degrees*sign2,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign2*lambda2<lambdai&&lambdai<sign2*lambda)){phii=inflection[1]*degrees;if(phii>phi1)phi1=phii;}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign2*lambda2<lambdai&&lambdai<sign2*lambda)){phii=-inflection[1]*degrees;if(phii<phi0)phi0=phii;}else{if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;}if(antimeridian){if(lambda<lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda;}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda;}}else{if(lambda1>=lambda0$1){if(lambda<lambda0$1)lambda0$1=lambda;if(lambda>lambda1)lambda1=lambda;}else{if(lambda>lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda;}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda;}}}}else{ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);}if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;p0=p,lambda2=lambda;}function boundsLineStart(){boundsStream$2.point=linePoint;}function boundsLineEnd(){range[0]=lambda0$1,range[1]=lambda1;boundsStream$2.point=boundsPoint$1;p0=null;}function boundsRingPoint(lambda,phi){if(p0){var delta=lambda-lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta);}else{lambda00$1=lambda,phi00$1=phi;}areaStream$1.point(lambda,phi);linePoint(lambda,phi);}function boundsRingStart(){areaStream$1.lineStart();}function boundsRingEnd(){boundsRingPoint(lambda00$1,phi00$1);areaStream$1.lineEnd();if(abs(deltaSum)>epsilon)lambda0$1=-(lambda1=180);range[0]=lambda0$1,range[1]=lambda1;p0=null;}function angle(lambda02,lambda12){return(lambda12-=lambda02)<0?lambda12+360:lambda12;}function rangeCompare(a,b){return a[0]-b[0];}function rangeContains(range2,x){return range2[0]<=range2[1]?range2[0]<=x&&x<=range2[1]:x<range2[0]||range2[1]<x;}function bounds(feature){var i2,n,a,b,merged,deltaMax,delta;phi1=lambda1=-(lambda0$1=phi0=Infinity);ranges=[];geoStream(feature,boundsStream$2);if(n=ranges.length){ranges.sort(rangeCompare);for(i2=1,a=ranges[0],merged=[a];i2<n;++i2){b=ranges[i2];if(rangeContains(a,b[0])||rangeContains(a,b[1])){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0];}else{merged.push(a=b);}}for(deltaMax=-Infinity,n=merged.length-1,i2=0,a=merged[n];i2<=n;a=b,++i2){b=merged[i2];if((delta=angle(a[1],b[0]))>deltaMax)deltaMax=delta,lambda0$1=b[0],lambda1=a[1];}}ranges=range=null;return lambda0$1===Infinity||phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[lambda0$1,phi0],[lambda1,phi1]];}var W0,W1,X0$1,Y0$1,Z0$1,X1$1,Y1$1,Z1$1,X2$1,Y2$1,Z2$1,lambda00,phi00,x0$4,y0$4,z0;var centroidStream$1={sphere:noop$2,point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){centroidStream$1.lineStart=centroidRingStart$1;centroidStream$1.lineEnd=centroidRingEnd$1;},polygonEnd:function(){centroidStream$1.lineStart=centroidLineStart$1;centroidStream$1.lineEnd=centroidLineEnd$1;}};function centroidPoint$1(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi));}function centroidPointCartesian(x,y,z){++W0;X0$1+=(x-X0$1)/W0;Y0$1+=(y-Y0$1)/W0;Z0$1+=(z-Z0$1)/W0;}function centroidLineStart$1(){centroidStream$1.point=centroidLinePointFirst;}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);x0$4=cosPhi*cos(lambda);y0$4=cosPhi*sin(lambda);z0=sin(phi);centroidStream$1.point=centroidLinePoint;centroidPointCartesian(x0$4,y0$4,z0);}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(sqrt((w=y0$4*z-z0*y)*w+(w=z0*x-x0$4*z)*w+(w=x0$4*y-y0$4*x)*w),x0$4*x+y0$4*y+z0*z);W1+=w;X1$1+=w*(x0$4+(x0$4=x));Y1$1+=w*(y0$4+(y0$4=y));Z1$1+=w*(z0+(z0=z));centroidPointCartesian(x0$4,y0$4,z0);}function centroidLineEnd$1(){centroidStream$1.point=centroidPoint$1;}function centroidRingStart$1(){centroidStream$1.point=centroidRingPointFirst;}function centroidRingEnd$1(){centroidRingPoint(lambda00,phi00);centroidStream$1.point=centroidPoint$1;}function centroidRingPointFirst(lambda,phi){lambda00=lambda,phi00=phi;lambda*=radians,phi*=radians;centroidStream$1.point=centroidRingPoint;var cosPhi=cos(phi);x0$4=cosPhi*cos(lambda);y0$4=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(x0$4,y0$4,z0);}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=y0$4*z-z0*y,cy=z0*x-x0$4*z,cz=x0$4*y-y0$4*x,m=hypot(cx,cy,cz),w=asin(m),v=m&&-w/m;X2$1.add(v*cx);Y2$1.add(v*cy);Z2$1.add(v*cz);W1+=w;X1$1+=w*(x0$4+(x0$4=x));Y1$1+=w*(y0$4+(y0$4=y));Z1$1+=w*(z0+(z0=z));centroidPointCartesian(x0$4,y0$4,z0);}function centroid(object2){W0=W1=X0$1=Y0$1=Z0$1=X1$1=Y1$1=Z1$1=0;X2$1=new Adder();Y2$1=new Adder();Z2$1=new Adder();geoStream(object2,centroidStream$1);var x=+X2$1,y=+Y2$1,z=+Z2$1,m=hypot(x,y,z);if(m<epsilon2){x=X1$1,y=Y1$1,z=Z1$1;if(W1<epsilon)x=X0$1,y=Y0$1,z=Z0$1;m=hypot(x,y,z);if(m<epsilon2)return[NaN,NaN];}return[atan2(y,x)*degrees,asin(z/m)*degrees];}function constant$1(x){return function(){return x;};}function compose(a,b){function compose2(x,y){return x=a(x,y),b(x[0],x[1]);}if(a.invert&&b.invert)compose2.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1]);};return compose2;}function rotationIdentity(lambda,phi){return[abs(lambda)>pi?lambda+Math.round(-lambda/tau)*tau:lambda,phi];}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity;}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>pi?lambda-tau:lambda<-pi?lambda+tau:lambda,phi];};}function rotationLambda(deltaLambda){var rotation2=forwardRotationLambda(deltaLambda);rotation2.invert=forwardRotationLambda(-deltaLambda);return rotation2;}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation2(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)];}rotation2.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)];};return rotation2;}function rotation(rotate2){rotate2=rotateRadians(rotate2[0]*radians,rotate2[1]*radians,rotate2.length>2?rotate2[2]*radians:0);function forward(coordinates2){coordinates2=rotate2(coordinates2[0]*radians,coordinates2[1]*radians);return coordinates2[0]*=degrees,coordinates2[1]*=degrees,coordinates2;}forward.invert=function(coordinates2){coordinates2=rotate2.invert(coordinates2[0]*radians,coordinates2[1]*radians);return coordinates2[0]*=degrees,coordinates2[1]*=degrees,coordinates2;};return forward;}function circleStream(stream,radius,delta,direction,t02,t12){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t02==null){t02=radius+direction*tau;t12=radius-step/2;}else{t02=circleRadius(cosRadius,t02);t12=circleRadius(cosRadius,t12);if(direction>0?t02<t12:t02>t12)t02+=direction*tau;}for(var point2,t=t02;direction>0?t>t12:t<t12;t-=step){point2=spherical([cosRadius,-sinRadius*cos(t),-sinRadius*sin(t)]);stream.point(point2[0],point2[1]);}}function circleRadius(cosRadius,point2){point2=cartesian(point2),point2[0]-=cosRadius;cartesianNormalizeInPlace(point2);var radius=acos(-point2[1]);return((-point2[2]<0?-radius:radius)+tau-epsilon)%tau;}function circle$1(){var center2=constant$1([0,0]),radius=constant$1(90),precision=constant$1(6),ring,rotate2,stream={point:point2};function point2(x,y){ring.push(x=rotate2(x,y));x[0]*=degrees,x[1]*=degrees;}function circle2(){var c2=center2.apply(this,arguments),r2=radius.apply(this,arguments)*radians,p=precision.apply(this,arguments)*radians;ring=[];rotate2=rotateRadians(-c2[0]*radians,-c2[1]*radians,0).invert;circleStream(stream,r2,p,1);c2={type:"Polygon",coordinates:[ring]};ring=rotate2=null;return c2;}circle2.center=function(_){return arguments.length?(center2=typeof _==="function"?_:constant$1([+_[0],+_[1]]),circle2):center2;};circle2.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant$1(+_),circle2):radius;};circle2.precision=function(_){return arguments.length?(precision=typeof _==="function"?_:constant$1(+_),circle2):precision;};return circle2;}function clipBuffer(){var lines=[],line;return{point:function(x,y,m){line.push([x,y,m]);},lineStart:function(){lines.push(line=[]);},lineEnd:noop$2,rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()));},result:function(){var result=lines;lines=[];line=null;return result;}};}function pointEqual(a,b){return abs(a[0]-b[0])<epsilon&&abs(a[1]-b[1])<epsilon;}function Intersection(point2,points,other,entry){this.x=point2;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null;}function clipRejoin(segments,compareIntersection2,startInside,interpolate2,stream){var subject=[],clip2=[],i2,n;segments.forEach(function(segment){if((n2=segment.length-1)<=0)return;var n2,p02=segment[0],p1=segment[n2],x;if(pointEqual(p02,p1)){if(!p02[2]&&!p1[2]){stream.lineStart();for(i2=0;i2<n2;++i2)stream.point((p02=segment[i2])[0],p02[1]);stream.lineEnd();return;}p1[0]+=2*epsilon;}subject.push(x=new Intersection(p02,segment,null,true));clip2.push(x.o=new Intersection(p02,null,x,false));subject.push(x=new Intersection(p1,segment,null,false));clip2.push(x.o=new Intersection(p1,null,x,true));});if(!subject.length)return;clip2.sort(compareIntersection2);link(subject);link(clip2);for(i2=0,n=clip2.length;i2<n;++i2){clip2[i2].e=startInside=!startInside;}var start2=subject[0],points,point2;while(1){var current=start2,isSubject=true;while(current.v)if((current=current.n)===start2)return;points=current.z;stream.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(i2=0,n=points.length;i2<n;++i2)stream.point((point2=points[i2])[0],point2[1]);}else{interpolate2(current.x,current.n.x,1,stream);}current=current.n;}else{if(isSubject){points=current.p.z;for(i2=points.length-1;i2>=0;--i2)stream.point((point2=points[i2])[0],point2[1]);}else{interpolate2(current.x,current.p.x,-1,stream);}current=current.p;}current=current.o;points=current.z;isSubject=!isSubject;}while(!current.v);stream.lineEnd();}}function link(array2){if(!(n=array2.length))return;var n,i2=0,a=array2[0],b;while(++i2<n){a.n=b=array2[i2];b.p=a;a=b;}a.n=b=array2[0];b.p=a;}function longitude(point2){if(abs(point2[0])<=pi)return point2[0];else return sign(point2[0])*((abs(point2[0])+pi)%tau-pi);}function polygonContains(polygon,point2){var lambda=longitude(point2),phi=point2[1],sinPhi=sin(phi),normal=[sin(lambda),-cos(lambda),0],angle2=0,winding=0;var sum2=new Adder();if(sinPhi===1)phi=halfPi+epsilon;else if(sinPhi===-1)phi=-halfPi-epsilon;for(var i2=0,n=polygon.length;i2<n;++i2){if(!(m=(ring=polygon[i2]).length))continue;var ring,m,point0=ring[m-1],lambda02=longitude(point0),phi02=point0[1]/2+quarterPi,sinPhi02=sin(phi02),cosPhi02=cos(phi02);for(var j=0;j<m;++j,lambda02=lambda12,sinPhi02=sinPhi1,cosPhi02=cosPhi1,point0=point1){var point1=ring[j],lambda12=longitude(point1),phi12=point1[1]/2+quarterPi,sinPhi1=sin(phi12),cosPhi1=cos(phi12),delta=lambda12-lambda02,sign2=delta>=0?1:-1,absDelta=sign2*delta,antimeridian=absDelta>pi,k=sinPhi02*sinPhi1;sum2.add(atan2(k*sign2*sin(absDelta),cosPhi02*cosPhi1+k*cos(absDelta)));angle2+=antimeridian?delta+sign2*tau:delta;if(antimeridian^lambda02>=lambda^lambda12>=lambda){var arc=cartesianCross(cartesian(point0),cartesian(point1));cartesianNormalizeInPlace(arc);var intersection2=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection2);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection2[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1;}}}}return(angle2<-epsilon||angle2<epsilon&&sum2<-epsilon2)^winding&1;}function clip(pointVisible,clipLine2,interpolate2,start2){return function(sink){var line=clipLine2(sink),ringBuffer=clipBuffer(),ringSink=clipLine2(ringBuffer),polygonStarted=false,polygon,segments,ring;var clip2={point:point2,lineStart,lineEnd,polygonStart:function(){clip2.point=pointRing;clip2.lineStart=ringStart;clip2.lineEnd=ringEnd;segments=[];polygon=[];},polygonEnd:function(){clip2.point=point2;clip2.lineStart=lineStart;clip2.lineEnd=lineEnd;segments=merge$4(segments);var startInside=polygonContains(polygon,start2);if(segments.length){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;clipRejoin(segments,compareIntersection,startInside,interpolate2,sink);}else if(startInside){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();interpolate2(null,null,1,sink);sink.lineEnd();}if(polygonStarted)sink.polygonEnd(),polygonStarted=false;segments=polygon=null;},sphere:function(){sink.polygonStart();sink.lineStart();interpolate2(null,null,1,sink);sink.lineEnd();sink.polygonEnd();}};function point2(lambda,phi){if(pointVisible(lambda,phi))sink.point(lambda,phi);}function pointLine(lambda,phi){line.point(lambda,phi);}function lineStart(){clip2.point=pointLine;line.lineStart();}function lineEnd(){clip2.point=point2;line.lineEnd();}function pointRing(lambda,phi){ring.push([lambda,phi]);ringSink.point(lambda,phi);}function ringStart(){ringSink.lineStart();ring=[];}function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringSink.lineEnd();var clean=ringSink.clean(),ringSegments=ringBuffer.result(),i2,n=ringSegments.length,m,segment,point3;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];if((m=segment.length-1)>0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i2=0;i2<m;++i2)sink.point((point3=segment[i2])[0],point3[1]);sink.lineEnd();}return;}if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment));}return clip2;};}function validSegment(segment){return segment.length>1;}function compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-epsilon:halfPi-b[1]);}const clipAntimeridian=clip(function(){return true;},clipAntimeridianLine,clipAntimeridianInterpolate,[-pi,-halfPi]);function clipAntimeridianLine(stream){var lambda02=NaN,phi02=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1;},point:function(lambda12,phi12){var sign1=lambda12>0?pi:-pi,delta=abs(lambda12-lambda02);if(abs(delta-pi)<epsilon){stream.point(lambda02,phi02=(phi02+phi12)/2>0?halfPi:-halfPi);stream.point(sign0,phi02);stream.lineEnd();stream.lineStart();stream.point(sign1,phi02);stream.point(lambda12,phi02);clean=0;}else if(sign0!==sign1&&delta>=pi){if(abs(lambda02-sign0)<epsilon)lambda02-=sign0*epsilon;if(abs(lambda12-sign1)<epsilon)lambda12-=sign1*epsilon;phi02=clipAntimeridianIntersect(lambda02,phi02,lambda12,phi12);stream.point(sign0,phi02);stream.lineEnd();stream.lineStart();stream.point(sign1,phi02);clean=0;}stream.point(lambda02=lambda12,phi02=phi12);sign0=sign1;},lineEnd:function(){stream.lineEnd();lambda02=phi02=NaN;},clean:function(){return 2-clean;}};}function clipAntimeridianIntersect(lambda02,phi02,lambda12,phi12){var cosPhi02,cosPhi1,sinLambda0Lambda1=sin(lambda02-lambda12);return abs(sinLambda0Lambda1)>epsilon?atan((sin(phi02)*(cosPhi1=cos(phi12))*sin(lambda12)-sin(phi12)*(cosPhi02=cos(phi02))*sin(lambda02))/(cosPhi02*cosPhi1*sinLambda0Lambda1)):(phi02+phi12)/2;}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-pi,phi);stream.point(0,phi);stream.point(pi,phi);stream.point(pi,0);stream.point(pi,-phi);stream.point(0,-phi);stream.point(-pi,-phi);stream.point(-pi,0);stream.point(-pi,phi);}else if(abs(from[0]-to[0])>epsilon){var lambda=from[0]<to[0]?pi:-pi;phi=direction*lambda/2;stream.point(-lambda,phi);stream.point(0,phi);stream.point(lambda,phi);}else{stream.point(to[0],to[1]);}}function clipCircle(radius){var cr=cos(radius),delta=6*radians,smallRadius=cr>0,notHemisphere=abs(cr)>epsilon;function interpolate2(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to);}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr;}function clipLine2(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1;},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c2=smallRadius?v?0:code2(lambda,phi):v?code2(lambda+(lambda<0?pi:-pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect2(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2))point1[2]=1;}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect2(point1,point0);stream.point(point2[0],point2[1]);}else{point2=intersect2(point0,point1);stream.point(point2[0],point2[1],2);stream.lineEnd();}point0=point2;}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c2&c0)&&(t=intersect2(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd();}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1],3);}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1]);}point0=point1,v0=v,c0=c2;},lineEnd:function(){if(v0)stream.lineEnd();point0=null;},clean:function(){return clean|(v00&&v0)<<1;}};}function intersect2(a,b,two){var pa=cartesian(a),pb=cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A5=cartesianScale(n1,c1),B2=cartesianScale(n2,c2);cartesianAddInPlace(A5,B2);var u=n1xn2,w=cartesianDot(A5,u),uu=cartesianDot(u,u),t22=w*w-uu*(cartesianDot(A5,A5)-1);if(t22<0)return;var t=sqrt(t22),q2=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q2,A5);q2=spherical(q2);if(!two)return q2;var lambda02=a[0],lambda12=b[0],phi02=a[1],phi12=b[1],z;if(lambda12<lambda02)z=lambda02,lambda02=lambda12,lambda12=z;var delta2=lambda12-lambda02,polar=abs(delta2-pi)<epsilon,meridian=polar||delta2<epsilon;if(!polar&&phi12<phi02)z=phi02,phi02=phi12,phi12=z;if(meridian?polar?phi02+phi12>0^q2[1]<(abs(q2[0]-lambda02)<epsilon?phi02:phi12):phi02<=q2[1]&&q2[1]<=phi12:delta2>pi^(lambda02<=q2[0]&&q2[0]<=lambda12)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A5);return[q2,spherical(q1)];}}function code2(lambda,phi){var r2=smallRadius?radius:pi-radius,code3=0;if(lambda<-r2)code3|=1;else if(lambda>r2)code3|=2;if(phi<-r2)code3|=4;else if(phi>r2)code3|=8;return code3;}return clip(visible,clipLine2,interpolate2,smallRadius?[0,-radius]:[-pi,radius-pi]);}function clipLine(a,b,x02,y02,x12,y12){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t02=0,t12=1,dx=bx-ax,dy=by-ay,r2;r2=x02-ax;if(!dx&&r2>0)return;r2/=dx;if(dx<0){if(r2<t02)return;if(r2<t12)t12=r2;}else if(dx>0){if(r2>t12)return;if(r2>t02)t02=r2;}r2=x12-ax;if(!dx&&r2<0)return;r2/=dx;if(dx<0){if(r2>t12)return;if(r2>t02)t02=r2;}else if(dx>0){if(r2<t02)return;if(r2<t12)t12=r2;}r2=y02-ay;if(!dy&&r2>0)return;r2/=dy;if(dy<0){if(r2<t02)return;if(r2<t12)t12=r2;}else if(dy>0){if(r2>t12)return;if(r2>t02)t02=r2;}r2=y12-ay;if(!dy&&r2<0)return;r2/=dy;if(dy<0){if(r2>t12)return;if(r2>t02)t02=r2;}else if(dy>0){if(r2<t02)return;if(r2<t12)t12=r2;}if(t02>0)a[0]=ax+t02*dx,a[1]=ay+t02*dy;if(t12<1)b[0]=ax+t12*dx,b[1]=ay+t12*dy;return true;}var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x02,y02,x12,y12){function visible(x,y){return x02<=x&&x<=x12&&y02<=y&&y<=y12;}function interpolate2(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do stream.point(a===0||a===3?x02:x12,a>1?y12:y02);while((a=(a+direction+4)%4)!==a1);}else{stream.point(to[0],to[1]);}}function corner(p,direction){return abs(p[0]-x02)<epsilon?direction>0?0:3:abs(p[0]-x12)<epsilon?direction>0?2:1:abs(p[1]-y02)<epsilon?direction>0?1:0:direction>0?3:2;}function compareIntersection2(a,b){return comparePoint(a.x,b.x);}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0];}return function(stream){var activeStream=stream,bufferStream=clipBuffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first2,clean;var clipStream={point:point2,lineStart,lineEnd,polygonStart,polygonEnd};function point2(x,y){if(visible(x,y))activeStream.point(x,y);}function polygonInside(){var winding=0;for(var i2=0,n=polygon.length;i2<n;++i2){for(var ring2=polygon[i2],j=1,m=ring2.length,point3=ring2[0],a0,a1,b0=point3[0],b1=point3[1];j<m;++j){a0=b0,a1=b1,point3=ring2[j],b0=point3[0],b1=point3[1];if(a1<=y12){if(b1>y12&&(b0-a0)*(y12-a1)>(b1-a1)*(x02-a0))++winding;}else{if(b1<=y12&&(b0-a0)*(y12-a1)<(b1-a1)*(x02-a0))--winding;}}}return winding;}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true;}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible2=(segments=merge$4(segments)).length;if(cleanInside||visible2){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate2(null,null,1,stream);stream.lineEnd();}if(visible2){clipRejoin(segments,compareIntersection2,startInside,interpolate2,stream);}stream.polygonEnd();}activeStream=stream,segments=polygon=ring=null;}function lineStart(){clipStream.point=linePoint2;if(polygon)polygon.push(ring=[]);first2=true;v_=false;x_=y_=NaN;}function lineEnd(){if(segments){linePoint2(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result());}clipStream.point=point2;if(v_)activeStream.lineEnd();}function linePoint2(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first2){x__=x,y__=y,v__=v;first2=false;if(v){activeStream.lineStart();activeStream.point(x,y);}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clipLine(a,b,x02,y02,x12,y12)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1]);}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false;}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false;}}}x_=x,y_=y,v_=v;}return clipStream;};}function extent(){var x02=0,y02=0,x12=960,y12=500,cache2,cacheStream,clip2;return clip2={stream:function(stream){return cache2&&cacheStream===stream?cache2:cache2=clipRectangle(x02,y02,x12,y12)(cacheStream=stream);},extent:function(_){return arguments.length?(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1],cache2=cacheStream=null,clip2):[[x02,y02],[x12,y12]];}};}var lengthSum$1,lambda0,sinPhi0,cosPhi0;var lengthStream$1={sphere:noop$2,point:noop$2,lineStart:lengthLineStart,lineEnd:noop$2,polygonStart:noop$2,polygonEnd:noop$2};function lengthLineStart(){lengthStream$1.point=lengthPointFirst$1;lengthStream$1.lineEnd=lengthLineEnd;}function lengthLineEnd(){lengthStream$1.point=lengthStream$1.lineEnd=noop$2;}function lengthPointFirst$1(lambda,phi){lambda*=radians,phi*=radians;lambda0=lambda,sinPhi0=sin(phi),cosPhi0=cos(phi);lengthStream$1.point=lengthPoint$1;}function lengthPoint$1(lambda,phi){lambda*=radians,phi*=radians;var sinPhi=sin(phi),cosPhi=cos(phi),delta=abs(lambda-lambda0),cosDelta=cos(delta),sinDelta=sin(delta),x=cosPhi*sinDelta,y=cosPhi0*sinPhi-sinPhi0*cosPhi*cosDelta,z=sinPhi0*sinPhi+cosPhi0*cosPhi*cosDelta;lengthSum$1.add(atan2(sqrt(x*x+y*y),z));lambda0=lambda,sinPhi0=sinPhi,cosPhi0=cosPhi;}function length(object2){lengthSum$1=new Adder();geoStream(object2,lengthStream$1);return+lengthSum$1;}var coordinates=[null,null],object={type:"LineString",coordinates};function distance(a,b){coordinates[0]=a;coordinates[1]=b;return length(object);}var containsObjectType={Feature:function(object2,point2){return containsGeometry(object2.geometry,point2);},FeatureCollection:function(object2,point2){var features=object2.features,i2=-1,n=features.length;while(++i2<n)if(containsGeometry(features[i2].geometry,point2))return true;return false;}};var containsGeometryType={Sphere:function(){return true;},Point:function(object2,point2){return containsPoint(object2.coordinates,point2);},MultiPoint:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsPoint(coordinates2[i2],point2))return true;return false;},LineString:function(object2,point2){return containsLine(object2.coordinates,point2);},MultiLineString:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsLine(coordinates2[i2],point2))return true;return false;},Polygon:function(object2,point2){return containsPolygon(object2.coordinates,point2);},MultiPolygon:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsPolygon(coordinates2[i2],point2))return true;return false;},GeometryCollection:function(object2,point2){var geometries=object2.geometries,i2=-1,n=geometries.length;while(++i2<n)if(containsGeometry(geometries[i2],point2))return true;return false;}};function containsGeometry(geometry,point2){return geometry&&containsGeometryType.hasOwnProperty(geometry.type)?containsGeometryType[geometry.type](geometry,point2):false;}function containsPoint(coordinates2,point2){return distance(coordinates2,point2)===0;}function containsLine(coordinates2,point2){var ao,bo,ab;for(var i2=0,n=coordinates2.length;i2<n;i2++){bo=distance(coordinates2[i2],point2);if(bo===0)return true;if(i2>0){ab=distance(coordinates2[i2],coordinates2[i2-1]);if(ab>0&&ao<=ab&&bo<=ab&&(ao+bo-ab)*(1-Math.pow((ao-bo)/ab,2))<epsilon2*ab)return true;}ao=bo;}return false;}function containsPolygon(coordinates2,point2){return!!polygonContains(coordinates2.map(ringRadians),pointRadians(point2));}function ringRadians(ring){return ring=ring.map(pointRadians),ring.pop(),ring;}function pointRadians(point2){return[point2[0]*radians,point2[1]*radians];}function contains$1(object2,point2){return(object2&&containsObjectType.hasOwnProperty(object2.type)?containsObjectType[object2.type]:containsGeometry)(object2,point2);}function graticuleX(y02,y12,dy){var y=range$2(y02,y12-epsilon,dy).concat(y12);return function(x){return y.map(function(y2){return[x,y2];});};}function graticuleY(x02,x12,dx){var x=range$2(x02,x12-epsilon,dx).concat(x12);return function(y){return x.map(function(x2){return[x2,y];});};}function graticule(){var x12,x02,X12,X02,y12,y02,Y12,Y02,dx=10,dy=dx,DX=90,DY=360,x,y,X3,Y3,precision=2.5;function graticule2(){return{type:"MultiLineString",coordinates:lines()};}function lines(){return range$2(ceil(X02/DX)*DX,X12,DX).map(X3).concat(range$2(ceil(Y02/DY)*DY,Y12,DY).map(Y3)).concat(range$2(ceil(x02/dx)*dx,x12,dx).filter(function(x2){return abs(x2%DX)>epsilon;}).map(x)).concat(range$2(ceil(y02/dy)*dy,y12,dy).filter(function(y2){return abs(y2%DY)>epsilon;}).map(y));}graticule2.lines=function(){return lines().map(function(coordinates2){return{type:"LineString",coordinates:coordinates2};});};graticule2.outline=function(){return{type:"Polygon",coordinates:[X3(X02).concat(Y3(Y12).slice(1),X3(X12).reverse().slice(1),Y3(Y02).reverse().slice(1))]};};graticule2.extent=function(_){if(!arguments.length)return graticule2.extentMinor();return graticule2.extentMajor(_).extentMinor(_);};graticule2.extentMajor=function(_){if(!arguments.length)return[[X02,Y02],[X12,Y12]];X02=+_[0][0],X12=+_[1][0];Y02=+_[0][1],Y12=+_[1][1];if(X02>X12)_=X02,X02=X12,X12=_;if(Y02>Y12)_=Y02,Y02=Y12,Y12=_;return graticule2.precision(precision);};graticule2.extentMinor=function(_){if(!arguments.length)return[[x02,y02],[x12,y12]];x02=+_[0][0],x12=+_[1][0];y02=+_[0][1],y12=+_[1][1];if(x02>x12)_=x02,x02=x12,x12=_;if(y02>y12)_=y02,y02=y12,y12=_;return graticule2.precision(precision);};graticule2.step=function(_){if(!arguments.length)return graticule2.stepMinor();return graticule2.stepMajor(_).stepMinor(_);};graticule2.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule2;};graticule2.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule2;};graticule2.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y02,y12,90);y=graticuleY(x02,x12,precision);X3=graticuleX(Y02,Y12,90);Y3=graticuleY(X02,X12,precision);return graticule2;};return graticule2.extentMajor([[-180,-90+epsilon],[180,90-epsilon]]).extentMinor([[-180,-80-epsilon],[180,80+epsilon]]);}function graticule10(){return graticule()();}function interpolate(a,b){var x02=a[0]*radians,y02=a[1]*radians,x12=b[0]*radians,y12=b[1]*radians,cy0=cos(y02),sy0=sin(y02),cy1=cos(y12),sy1=sin(y12),kx0=cy0*cos(x02),ky0=cy0*sin(x02),kx1=cy1*cos(x12),ky1=cy1*sin(x12),d=2*asin(sqrt(haversin(y12-y02)+cy0*cy1*haversin(x12-x02))),k=sin(d);var interpolate2=d?function(t){var B2=sin(t*=d)/k,A5=sin(d-t)/k,x=A5*kx0+B2*kx1,y=A5*ky0+B2*ky1,z=A5*sy0+B2*sy1;return[atan2(y,x)*degrees,atan2(z,sqrt(x*x+y*y))*degrees];}:function(){return[x02*degrees,y02*degrees];};interpolate2.distance=d;return interpolate2;}const identity$2=x=>x;var areaSum=new Adder(),areaRingSum=new Adder(),x00$2,y00$2,x0$3,y0$3;var areaStream={point:noop$2,lineStart:noop$2,lineEnd:noop$2,polygonStart:function(){areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd;},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$2;areaSum.add(abs(areaRingSum));areaRingSum=new Adder();},result:function(){var area2=areaSum/2;areaSum=new Adder();return area2;}};function areaRingStart(){areaStream.point=areaPointFirst;}function areaPointFirst(x,y){areaStream.point=areaPoint;x00$2=x0$3=x,y00$2=y0$3=y;}function areaPoint(x,y){areaRingSum.add(y0$3*x-x0$3*y);x0$3=x,y0$3=y;}function areaRingEnd(){areaPoint(x00$2,y00$2);}const pathArea=areaStream;var x0$2=Infinity,y0$2=x0$2,x1=-x0$2,y1=x1;var boundsStream={point:boundsPoint,lineStart:noop$2,lineEnd:noop$2,polygonStart:noop$2,polygonEnd:noop$2,result:function(){var bounds2=[[x0$2,y0$2],[x1,y1]];x1=y1=-(y0$2=x0$2=Infinity);return bounds2;}};function boundsPoint(x,y){if(x<x0$2)x0$2=x;if(x>x1)x1=x;if(y<y0$2)y0$2=y;if(y>y1)y1=y;}const boundsStream$1=boundsStream;var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1;var centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd;},polygonEnd:function(){centroidStream.point=centroidPoint;centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd;},result:function(){var centroid2=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0;return centroid2;}};function centroidPoint(x,y){X0+=x;Y0+=y;++Z0;}function centroidLineStart(){centroidStream.point=centroidPointFirstLine;}function centroidPointFirstLine(x,y){centroidStream.point=centroidPointLine;centroidPoint(x0$1=x,y0$1=y);}function centroidPointLine(x,y){var dx=x-x0$1,dy=y-y0$1,z=sqrt(dx*dx+dy*dy);X1+=z*(x0$1+x)/2;Y1+=z*(y0$1+y)/2;Z1+=z;centroidPoint(x0$1=x,y0$1=y);}function centroidLineEnd(){centroidStream.point=centroidPoint;}function centroidRingStart(){centroidStream.point=centroidPointFirstRing;}function centroidRingEnd(){centroidPointRing(x00$1,y00$1);}function centroidPointFirstRing(x,y){centroidStream.point=centroidPointRing;centroidPoint(x00$1=x0$1=x,y00$1=y0$1=y);}function centroidPointRing(x,y){var dx=x-x0$1,dy=y-y0$1,z=sqrt(dx*dx+dy*dy);X1+=z*(x0$1+x)/2;Y1+=z*(y0$1+y)/2;Z1+=z;z=y0$1*x-x0$1*y;X2+=z*(x0$1+x);Y2+=z*(y0$1+y);Z2+=z*3;centroidPoint(x0$1=x,y0$1=y);}const pathCentroid=centroidStream;function PathContext(context){this._context=context;}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this;},polygonStart:function(){this._line=0;},polygonEnd:function(){this._line=NaN;},lineStart:function(){this._point=0;},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN;},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break;}case 1:{this._context.lineTo(x,y);break;}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,tau);break;}}},result:noop$2};var lengthSum=new Adder(),lengthRing,x00,y00,x0,y0;var lengthStream={point:noop$2,lineStart:function(){lengthStream.point=lengthPointFirst;},lineEnd:function(){if(lengthRing)lengthPoint(x00,y00);lengthStream.point=noop$2;},polygonStart:function(){lengthRing=true;},polygonEnd:function(){lengthRing=null;},result:function(){var length2=+lengthSum;lengthSum=new Adder();return length2;}};function lengthPointFirst(x,y){lengthStream.point=lengthPoint;x00=x0=x,y00=y0=y;}function lengthPoint(x,y){x0-=x,y0-=y;lengthSum.add(sqrt(x0*x0+y0*y0));x0=x,y0=y;}const pathMeasure=lengthStream;function PathString(){this._string=[];}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this;},polygonStart:function(){this._line=0;},polygonEnd:function(){this._line=NaN;},lineStart:function(){this._point=0;},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN;},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break;}case 1:{this._string.push("L",x,",",y);break;}default:{if(this._circle==null)this._circle=circle(this._radius);this._string.push("M",x,",",y,this._circle);break;}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result;}else{return null;}}};function circle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z";}function index(projection2,context){var pointRadius=4.5,projectionStream,contextStream;function path(object2){if(object2){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));geoStream(object2,projectionStream(contextStream));}return contextStream.result();}path.area=function(object2){geoStream(object2,projectionStream(pathArea));return pathArea.result();};path.measure=function(object2){geoStream(object2,projectionStream(pathMeasure));return pathMeasure.result();};path.bounds=function(object2){geoStream(object2,projectionStream(boundsStream$1));return boundsStream$1.result();};path.centroid=function(object2){geoStream(object2,projectionStream(pathCentroid));return pathCentroid.result();};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection2=null,identity$2):(projection2=_).stream,path):projection2;};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString()):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path;};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path;};return path.projection(projection2).context(context);}function transform(methods){return{stream:transformer(methods)};}function transformer(methods){return function(stream){var s=new TransformStream();for(var key in methods)s[key]=methods[key];s.stream=stream;return s;};}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y);},sphere:function(){this.stream.sphere();},lineStart:function(){this.stream.lineStart();},lineEnd:function(){this.stream.lineEnd();},polygonStart:function(){this.stream.polygonStart();},polygonEnd:function(){this.stream.polygonEnd();}};function fit(projection2,fitBounds,object2){var clip2=projection2.clipExtent&&projection2.clipExtent();projection2.scale(150).translate([0,0]);if(clip2!=null)projection2.clipExtent(null);geoStream(object2,projection2.stream(boundsStream$1));fitBounds(boundsStream$1.result());if(clip2!=null)projection2.clipExtent(clip2);return projection2;}function fitExtent(projection2,extent2,object2){return fit(projection2,function(b){var w=extent2[1][0]-extent2[0][0],h=extent2[1][1]-extent2[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent2[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent2[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection2.scale(150*k).translate([x,y]);},object2);}function fitSize(projection2,size,object2){return fitExtent(projection2,[[0,0],size],object2);}function fitWidth(projection2,width,object2){return fit(projection2,function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection2.scale(150*k).translate([x,y]);},object2);}function fitHeight(projection2,height,object2){return fit(projection2,function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection2.scale(150*k).translate([x,y]);},object2);}var maxDepth=16,cosMinDistance=cos(30*radians);function resample(project,delta2){return+delta2?resample$1(project,delta2):resampleNone(project);}function resampleNone(project){return transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1]);}});}function resample$1(project,delta2){function resampleLineTo(x02,y02,lambda02,a0,b0,c0,x12,y12,lambda12,a1,b1,c1,depth,stream){var dx=x12-x02,dy=y12-y02,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c2=c0+c1,m=sqrt(a*a+b*b+c2*c2),phi2=asin(c2/=m),lambda22=abs(abs(c2)-1)<epsilon||abs(lambda02-lambda12)<epsilon?(lambda02+lambda12)/2:atan2(b,a),p=project(lambda22,phi2),x2=p[0],y2=p[1],dx2=x2-x02,dy2=y2-y02,dz=dy*dx2-dx*dy2;if(dz*dz/d2>delta2||abs((dx*dx2+dy*dy2)/d2-0.5)>0.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x02,y02,lambda02,a0,b0,c0,x2,y2,lambda22,a/=m,b/=m,c2,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,lambda22,a,b,c2,x12,y12,lambda12,a1,b1,c1,depth,stream);}}}return function(stream){var lambda002,x002,y002,a00,b00,c00,lambda02,x02,y02,a0,b0,c0;var resampleStream={point:point2,lineStart,lineEnd,polygonStart:function(){stream.polygonStart();resampleStream.lineStart=ringStart;},polygonEnd:function(){stream.polygonEnd();resampleStream.lineStart=lineStart;}};function point2(x,y){x=project(x,y);stream.point(x[0],x[1]);}function lineStart(){x02=NaN;resampleStream.point=linePoint2;stream.lineStart();}function linePoint2(lambda,phi){var c2=cartesian([lambda,phi]),p=project(lambda,phi);resampleLineTo(x02,y02,lambda02,a0,b0,c0,x02=p[0],y02=p[1],lambda02=lambda,a0=c2[0],b0=c2[1],c0=c2[2],maxDepth,stream);stream.point(x02,y02);}function lineEnd(){resampleStream.point=point2;stream.lineEnd();}function ringStart(){lineStart();resampleStream.point=ringPoint;resampleStream.lineEnd=ringEnd;}function ringPoint(lambda,phi){linePoint2(lambda002=lambda,phi),x002=x02,y002=y02,a00=a0,b00=b0,c00=c0;resampleStream.point=linePoint2;}function ringEnd(){resampleLineTo(x02,y02,lambda02,a0,b0,c0,x002,y002,lambda002,a00,b00,c00,maxDepth,stream);resampleStream.lineEnd=lineEnd;lineEnd();}return resampleStream;};}var transformRadians=transformer({point:function(x,y){this.stream.point(x*radians,y*radians);}});function transformRotate(rotate2){return transformer({point:function(x,y){var r2=rotate2(x,y);return this.stream.point(r2[0],r2[1]);}});}function scaleTranslate(k,dx,dy,sx,sy){function transform2(x,y){x*=sx;y*=sy;return[dx+k*x,dy-k*y];}transform2.invert=function(x,y){return[(x-dx)/k*sx,(dy-y)/k*sy];};return transform2;}function scaleTranslateRotate(k,dx,dy,sx,sy,alpha){if(!alpha)return scaleTranslate(k,dx,dy,sx,sy);var cosAlpha=cos(alpha),sinAlpha=sin(alpha),a=cosAlpha*k,b=sinAlpha*k,ai=cosAlpha/k,bi=sinAlpha/k,ci=(sinAlpha*dy-cosAlpha*dx)/k,fi=(sinAlpha*dx+cosAlpha*dy)/k;function transform2(x,y){x*=sx;y*=sy;return[a*x-b*y+dx,dy-b*x-a*y];}transform2.invert=function(x,y){return[sx*(ai*x-bi*y+ci),sy*(fi-bi*x-ai*y)];};return transform2;}function projection(project){return projectionMutator(function(){return project;})();}function projectionMutator(projectAt){var project,k=150,x=480,y=250,lambda=0,phi=0,deltaLambda=0,deltaPhi=0,deltaGamma=0,rotate2,alpha=0,sx=1,sy=1,theta=null,preclip=clipAntimeridian,x02=null,y02,x12,y12,postclip=identity$2,delta2=0.5,projectResample,projectTransform,projectRotateTransform,cache2,cacheStream;function projection2(point2){return projectRotateTransform(point2[0]*radians,point2[1]*radians);}function invert(point2){point2=projectRotateTransform.invert(point2[0],point2[1]);return point2&&[point2[0]*degrees,point2[1]*degrees];}projection2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=transformRadians(transformRotate(rotate2)(preclip(projectResample(postclip(cacheStream=stream)))));};projection2.preclip=function(_){return arguments.length?(preclip=_,theta=void 0,reset2()):preclip;};projection2.postclip=function(_){return arguments.length?(postclip=_,x02=y02=x12=y12=null,reset2()):postclip;};projection2.clipAngle=function(_){return arguments.length?(preclip=+_?clipCircle(theta=_*radians):(theta=null,clipAntimeridian),reset2()):theta*degrees;};projection2.clipExtent=function(_){return arguments.length?(postclip=_==null?(x02=y02=x12=y12=null,identity$2):clipRectangle(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reset2()):x02==null?null:[[x02,y02],[x12,y12]];};projection2.scale=function(_){return arguments.length?(k=+_,recenter()):k;};projection2.translate=function(_){return arguments.length?(x=+_[0],y=+_[1],recenter()):[x,y];};projection2.center=function(_){return arguments.length?(lambda=_[0]%360*radians,phi=_[1]%360*radians,recenter()):[lambda*degrees,phi*degrees];};projection2.rotate=function(_){return arguments.length?(deltaLambda=_[0]%360*radians,deltaPhi=_[1]%360*radians,deltaGamma=_.length>2?_[2]%360*radians:0,recenter()):[deltaLambda*degrees,deltaPhi*degrees,deltaGamma*degrees];};projection2.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*degrees;};projection2.reflectX=function(_){return arguments.length?(sx=_?-1:1,recenter()):sx<0;};projection2.reflectY=function(_){return arguments.length?(sy=_?-1:1,recenter()):sy<0;};projection2.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset2()):sqrt(delta2);};projection2.fitExtent=function(extent2,object2){return fitExtent(projection2,extent2,object2);};projection2.fitSize=function(size,object2){return fitSize(projection2,size,object2);};projection2.fitWidth=function(width,object2){return fitWidth(projection2,width,object2);};projection2.fitHeight=function(height,object2){return fitHeight(projection2,height,object2);};function recenter(){var center2=scaleTranslateRotate(k,0,0,sx,sy,alpha).apply(null,project(lambda,phi)),transform2=scaleTranslateRotate(k,x-center2[0],y-center2[1],sx,sy,alpha);rotate2=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform2);projectRotateTransform=compose(rotate2,projectTransform);projectResample=resample(projectTransform,delta2);return reset2();}function reset2(){cache2=cacheStream=null;return projection2;}return function(){project=projectAt.apply(this,arguments);projection2.invert=project.invert&&invert;return recenter();};}function conicProjection(projectAt){var phi02=0,phi12=pi/3,m=projectionMutator(projectAt),p=m(phi02,phi12);p.parallels=function(_){return arguments.length?m(phi02=_[0]*radians,phi12=_[1]*radians):[phi02*degrees,phi12*degrees];};return p;}function cylindricalEqualAreaRaw(phi02){var cosPhi02=cos(phi02);function forward(lambda,phi){return[lambda*cosPhi02,sin(phi)/cosPhi02];}forward.invert=function(x,y){return[x/cosPhi02,asin(y*cosPhi02)];};return forward;}function conicEqualAreaRaw(y02,y12){var sy0=sin(y02),n=(sy0+sin(y12))/2;if(abs(n)<epsilon)return cylindricalEqualAreaRaw(y02);var c2=1+sy0*(2*n-sy0),r0=sqrt(c2)/n;function project(x,y){var r2=sqrt(c2-2*n*sin(y))/n;return[r2*sin(x*=n),r0-r2*cos(x)];}project.invert=function(x,y){var r0y=r0-y,l=atan2(x,abs(r0y))*sign(r0y);if(r0y*n<0)l-=pi*sign(x)*sign(r0y);return[l/n,asin((c2-(x*x+r0y*r0y)*n*n)/(2*n))];};return project;}function conicEqualArea(){return conicProjection(conicEqualAreaRaw).scale(155.424).center([0,33.6442]);}function albers(){return conicEqualArea().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-0.6,38.7]);}function multiplex(streams){var n=streams.length;return{point:function(x,y){var i2=-1;while(++i2<n)streams[i2].point(x,y);},sphere:function(){var i2=-1;while(++i2<n)streams[i2].sphere();},lineStart:function(){var i2=-1;while(++i2<n)streams[i2].lineStart();},lineEnd:function(){var i2=-1;while(++i2<n)streams[i2].lineEnd();},polygonStart:function(){var i2=-1;while(++i2<n)streams[i2].polygonStart();},polygonEnd:function(){var i2=-1;while(++i2<n)streams[i2].polygonEnd();}};}function albersUsa(){var cache2,cacheStream,lower48=albers(),lower48Point,alaska=conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),alaskaPoint,hawaii=conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),hawaiiPoint,point2,pointStream={point:function(x,y){point2=[x,y];}};function albersUsa2(coordinates2){var x=coordinates2[0],y=coordinates2[1];return point2=null,(lower48Point.point(x,y),point2)||(alaskaPoint.point(x,y),point2)||(hawaiiPoint.point(x,y),point2);}albersUsa2.invert=function(coordinates2){var k=lower48.scale(),t=lower48.translate(),x=(coordinates2[0]-t[0])/k,y=(coordinates2[1]-t[1])/k;return(y>=0.12&&y<0.234&&x>=-0.425&&x<-0.214?alaska:y>=0.166&&y<0.234&&x>=-0.214&&x<-0.115?hawaii:lower48).invert(coordinates2);};albersUsa2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)]);};albersUsa2.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset2();};albersUsa2.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*0.35),hawaii.scale(_);return albersUsa2.translate(lower48.translate());};albersUsa2.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-0.455*k,y-0.238*k],[x+0.455*k,y+0.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-0.307*k,y+0.201*k]).clipExtent([[x-0.425*k+epsilon,y+0.12*k+epsilon],[x-0.214*k-epsilon,y+0.234*k-epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-0.205*k,y+0.212*k]).clipExtent([[x-0.214*k+epsilon,y+0.166*k+epsilon],[x-0.115*k-epsilon,y+0.234*k-epsilon]]).stream(pointStream);return reset2();};albersUsa2.fitExtent=function(extent2,object2){return fitExtent(albersUsa2,extent2,object2);};albersUsa2.fitSize=function(size,object2){return fitSize(albersUsa2,size,object2);};albersUsa2.fitWidth=function(width,object2){return fitWidth(albersUsa2,width,object2);};albersUsa2.fitHeight=function(height,object2){return fitHeight(albersUsa2,height,object2);};function reset2(){cache2=cacheStream=null;return albersUsa2;}return albersUsa2.scale(1070);}function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);if(k===Infinity)return[2,0];return[k*cy*sin(x),k*sin(y)];};}function azimuthalInvert(angle2){return function(x,y){var z=sqrt(x*x+y*y),c2=angle2(z),sc=sin(c2),cc=cos(c2);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)];};}var azimuthalEqualAreaRaw=azimuthalRaw(function(cxcy){return sqrt(2/(1+cxcy));});azimuthalEqualAreaRaw.invert=azimuthalInvert(function(z){return 2*asin(z/2);});function azimuthalEqualArea(){return projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-1e-3);}var azimuthalEquidistantRaw=azimuthalRaw(function(c2){return(c2=acos(c2))&&c2/sin(c2);});azimuthalEquidistantRaw.invert=azimuthalInvert(function(z){return z;});function azimuthalEquidistant(){return projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-1e-3);}function mercatorRaw(lambda,phi){return[lambda,log(tan((halfPi+phi)/2))];}mercatorRaw.invert=function(x,y){return[x,2*atan(exp(y))-halfPi];};function mercator(){return mercatorProjection(mercatorRaw).scale(961/tau);}function mercatorProjection(project){var m=projection(project),center2=m.center,scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,x02=null,y02,x12,y12;m.scale=function(_){return arguments.length?(scale(_),reclip()):scale();};m.translate=function(_){return arguments.length?(translate(_),reclip()):translate();};m.center=function(_){return arguments.length?(center2(_),reclip()):center2();};m.clipExtent=function(_){return arguments.length?(_==null?x02=y02=x12=y12=null:(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reclip()):x02==null?null:[[x02,y02],[x12,y12]];};function reclip(){var k=pi*scale(),t=m(rotation(m.rotate()).invert([0,0]));return clipExtent(x02==null?[[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]:project===mercatorRaw?[[Math.max(t[0]-k,x02),y02],[Math.min(t[0]+k,x12),y12]]:[[x02,Math.max(t[1]-k,y02)],[x12,Math.min(t[1]+k,y12)]]);}return reclip();}function tany(y){return tan((halfPi+y)/2);}function conicConformalRaw(y02,y12){var cy0=cos(y02),n=y02===y12?sin(y02):log(cy0/cos(y12))/log(tany(y12)/tany(y02)),f2=cy0*pow(tany(y02),n)/n;if(!n)return mercatorRaw;function project(x,y){if(f2>0){if(y<-halfPi+epsilon)y=-halfPi+epsilon;}else{if(y>halfPi-epsilon)y=halfPi-epsilon;}var r2=f2/pow(tany(y),n);return[r2*sin(n*x),f2-r2*cos(n*x)];}project.invert=function(x,y){var fy=f2-y,r2=sign(n)*sqrt(x*x+fy*fy),l=atan2(x,abs(fy))*sign(fy);if(fy*n<0)l-=pi*sign(x)*sign(fy);return[l/n,2*atan(pow(f2/r2,1/n))-halfPi];};return project;}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30]);}function equirectangularRaw(lambda,phi){return[lambda,phi];}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63);}function conicEquidistantRaw(y02,y12){var cy0=cos(y02),n=y02===y12?sin(y02):(cy0-cos(y12))/(y12-y02),g=cy0/n+y02;if(abs(n)<epsilon)return equirectangularRaw;function project(x,y){var gy=g-y,nx=n*x;return[gy*sin(nx),g-gy*cos(nx)];}project.invert=function(x,y){var gy=g-y,l=atan2(x,abs(gy))*sign(gy);if(gy*n<0)l-=pi*sign(x)*sign(gy);return[l/n,g-sign(n)*sqrt(x*x+gy*gy)];};return project;}function conicEquidistant(){return conicProjection(conicEquidistantRaw).scale(131.154).center([0,13.9389]);}var A1=1.340264,A2=-0.081106,A3=893e-6,A4=3796e-6,M=sqrt(3)/2,iterations=12;function equalEarthRaw(lambda,phi){var l=asin(M*sin(phi)),l2=l*l,l6=l2*l2*l2;return[lambda*cos(l)/(M*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))),l*(A1+A2*l2+l6*(A3+A4*l2))];}equalEarthRaw.invert=function(x,y){var l=y,l2=l*l,l6=l2*l2*l2;for(var i2=0,delta,fy,fpy;i2<iterations;++i2){fy=l*(A1+A2*l2+l6*(A3+A4*l2))-y;fpy=A1+3*A2*l2+l6*(7*A3+9*A4*l2);l-=delta=fy/fpy,l2=l*l,l6=l2*l2*l2;if(abs(delta)<epsilon2)break;}return[M*x*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))/cos(l),asin(sin(l)/M)];};function equalEarth(){return projection(equalEarthRaw).scale(177.158);}function gnomonicRaw(x,y){var cy=cos(y),k=cos(x)*cy;return[cy*sin(x)/k,sin(y)/k];}gnomonicRaw.invert=azimuthalInvert(atan);function gnomonic(){return projection(gnomonicRaw).scale(144.049).clipAngle(60);}function identity$1(){var k=1,tx=0,ty=0,sx=1,sy=1,alpha=0,ca,sa,x02=null,y02,x12,y12,kx=1,ky=1,transform2=transformer({point:function(x,y){var p=projection2([x,y]);this.stream.point(p[0],p[1]);}}),postclip=identity$2,cache2,cacheStream;function reset2(){kx=k*sx;ky=k*sy;cache2=cacheStream=null;return projection2;}function projection2(p){var x=p[0]*kx,y=p[1]*ky;if(alpha){var t=y*ca-x*sa;x=x*ca+y*sa;y=t;}return[x+tx,y+ty];}projection2.invert=function(p){var x=p[0]-tx,y=p[1]-ty;if(alpha){var t=y*ca+x*sa;x=x*ca-y*sa;y=t;}return[x/kx,y/ky];};projection2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=transform2(postclip(cacheStream=stream));};projection2.postclip=function(_){return arguments.length?(postclip=_,x02=y02=x12=y12=null,reset2()):postclip;};projection2.clipExtent=function(_){return arguments.length?(postclip=_==null?(x02=y02=x12=y12=null,identity$2):clipRectangle(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reset2()):x02==null?null:[[x02,y02],[x12,y12]];};projection2.scale=function(_){return arguments.length?(k=+_,reset2()):k;};projection2.translate=function(_){return arguments.length?(tx=+_[0],ty=+_[1],reset2()):[tx,ty];};projection2.angle=function(_){return arguments.length?(alpha=_%360*radians,sa=sin(alpha),ca=cos(alpha),reset2()):alpha*degrees;};projection2.reflectX=function(_){return arguments.length?(sx=_?-1:1,reset2()):sx<0;};projection2.reflectY=function(_){return arguments.length?(sy=_?-1:1,reset2()):sy<0;};projection2.fitExtent=function(extent2,object2){return fitExtent(projection2,extent2,object2);};projection2.fitSize=function(size,object2){return fitSize(projection2,size,object2);};projection2.fitWidth=function(width,object2){return fitWidth(projection2,width,object2);};projection2.fitHeight=function(height,object2){return fitHeight(projection2,height,object2);};return projection2;}function naturalEarth1Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2;return[lambda*(0.8707-0.131979*phi2+phi4*(-0.013791+phi4*(3971e-6*phi2-1529e-6*phi4))),phi*(1.007226+phi2*(0.015085+phi4*(-0.044475+0.028874*phi2-5916e-6*phi4)))];}naturalEarth1Raw.invert=function(x,y){var phi=y,i2=25,delta;do{var phi2=phi*phi,phi4=phi2*phi2;phi-=delta=(phi*(1.007226+phi2*(0.015085+phi4*(-0.044475+0.028874*phi2-5916e-6*phi4)))-y)/(1.007226+phi2*(0.015085*3+phi4*(-0.044475*7+0.028874*9*phi2-5916e-6*11*phi4)));}while(abs(delta)>epsilon&&--i2>0);return[x/(0.8707+(phi2=phi*phi)*(-0.131979+phi2*(-0.013791+phi2*phi2*phi2*(3971e-6-1529e-6*phi2)))),phi];};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295);}function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)];}orthographicRaw.invert=azimuthalInvert(asin);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon);}function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k];}stereographicRaw.invert=azimuthalInvert(function(z){return 2*atan(z);});function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142);}function transverseMercatorRaw(lambda,phi){return[log(tan((halfPi+phi)/2)),-lambda];}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi];};function transverseMercator(){var m=mercatorProjection(transverseMercatorRaw),center2=m.center,rotate2=m.rotate;m.center=function(_){return arguments.length?center2([-_[1],_[0]]):(_=center2(),[_[1],-_[0]]);};m.rotate=function(_){return arguments.length?rotate2([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate2(),[_[0],_[1],_[2]-90]);};return rotate2([0,0,90]).scale(159.155);}const d3Geo=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,geoArea:area,geoBounds:bounds,geoCentroid:centroid,geoCircle:circle$1,geoClipAntimeridian:clipAntimeridian,geoClipCircle:clipCircle,geoClipExtent:extent,geoClipRectangle:clipRectangle,geoContains:contains$1,geoDistance:distance,geoGraticule:graticule,geoGraticule10:graticule10,geoInterpolate:interpolate,geoLength:length,geoPath:index,geoAlbers:albers,geoAlbersUsa:albersUsa,geoAzimuthalEqualArea:azimuthalEqualArea,geoAzimuthalEqualAreaRaw:azimuthalEqualAreaRaw,geoAzimuthalEquidistant:azimuthalEquidistant,geoAzimuthalEquidistantRaw:azimuthalEquidistantRaw,geoConicConformal:conicConformal,geoConicConformalRaw:conicConformalRaw,geoConicEqualArea:conicEqualArea,geoConicEqualAreaRaw:conicEqualAreaRaw,geoConicEquidistant:conicEquidistant,geoConicEquidistantRaw:conicEquidistantRaw,geoEqualEarth:equalEarth,geoEqualEarthRaw:equalEarthRaw,geoEquirectangular:equirectangular,geoEquirectangularRaw:equirectangularRaw,geoGnomonic:gnomonic,geoGnomonicRaw:gnomonicRaw,geoIdentity:identity$1,geoProjection:projection,geoProjectionMutator:projectionMutator,geoMercator:mercator,geoMercatorRaw:mercatorRaw,geoNaturalEarth1:naturalEarth1,geoNaturalEarth1Raw:naturalEarth1Raw,geoOrthographic:orthographic,geoOrthographicRaw:orthographicRaw,geoStereographic:stereographic,geoStereographicRaw:stereographicRaw,geoTransverseMercator:transverseMercator,geoTransverseMercatorRaw:transverseMercatorRaw,geoRotation:rotation,geoStream,geoTransform:transform},Symbol.toStringTag,{value:"Module"}));var slice=[].slice;var noabort={};function Queue(size){this._size=size;this._call=this._error=null;this._tasks=[];this._data=[];this._waiting=this._active=this._ended=this._start=0;}Queue.prototype=queue.prototype={constructor:Queue,defer:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(this._error!=null)return this;var t=slice.call(arguments,1);t.push(callback);++this._waiting,this._tasks.push(t);poke(this);return this;},abort:function(){if(this._error==null)abort(this,new Error("abort"));return this;},await:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=function(error,results){callback.apply(null,[error].concat(results));};maybeNotify(this);return this;},awaitAll:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=callback;maybeNotify(this);return this;}};function poke(q2){if(!q2._start){try{start(q2);}catch(e){if(q2._tasks[q2._ended+q2._active-1])abort(q2,e);else if(!q2._data)throw e;}}}function start(q2){while(q2._start=q2._waiting&&q2._active<q2._size){var i2=q2._ended+q2._active,t=q2._tasks[i2],j=t.length-1,c2=t[j];t[j]=end(q2,i2);--q2._waiting,++q2._active;t=c2.apply(null,t);if(!q2._tasks[i2])continue;q2._tasks[i2]=t||noabort;}}function end(q2,i2){return function(e,r2){if(!q2._tasks[i2])return;--q2._active,++q2._ended;q2._tasks[i2]=null;if(q2._error!=null)return;if(e!=null){abort(q2,e);}else{q2._data[i2]=r2;if(q2._waiting)poke(q2);else maybeNotify(q2);}};}function abort(q2,e){var i2=q2._tasks.length,t;q2._error=e;q2._data=void 0;q2._waiting=NaN;while(--i2>=0){if(t=q2._tasks[i2]){q2._tasks[i2]=null;if(t.abort){try{t.abort();}catch(e3){}}}}q2._active=NaN;maybeNotify(q2);}function maybeNotify(q2){if(!q2._active&&q2._call){var d=q2._data;q2._data=void 0;q2._call(q2._error,d);}}function queue(concurrency){if(concurrency==null)concurrency=Infinity;else if(!((concurrency=+concurrency)>=1))throw new Error("invalid concurrency");return new Queue(concurrency);}const d3Queue=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,queue},Symbol.toStringTag,{value:"Module"}));var prefix="$";function Map$3(){}Map$3.prototype=map$2.prototype={constructor:Map$3,has:function(key){return prefix+key in this;},get:function(key){return this[prefix+key];},set:function(key,value2){this[prefix+key]=value2;return this;},remove:function(key){var property2=prefix+key;return property2 in this&&delete this[property2];},clear:function(){for(var property2 in this)if(property2[0]===prefix)delete this[property2];},keys:function(){var keys2=[];for(var property2 in this)if(property2[0]===prefix)keys2.push(property2.slice(1));return keys2;},values:function(){var values=[];for(var property2 in this)if(property2[0]===prefix)values.push(this[property2]);return values;},entries:function(){var entries=[];for(var property2 in this)if(property2[0]===prefix)entries.push({key:property2.slice(1),value:this[property2]});return entries;},size:function(){var size=0;for(var property2 in this)if(property2[0]===prefix)++size;return size;},empty:function(){for(var property2 in this)if(property2[0]===prefix)return false;return true;},each:function(f2){for(var property2 in this)if(property2[0]===prefix)f2(this[property2],property2.slice(1),this);}};function map$2(object2,f2){var map2=new Map$3();if(object2 instanceof Map$3)object2.each(function(value2,key2){map2.set(key2,value2);});else if(Array.isArray(object2)){var i2=-1,n=object2.length,o;if(f2==null)while(++i2<n)map2.set(i2,object2[i2]);else while(++i2<n)map2.set(f2(o=object2[i2],i2,object2),o);}else if(object2)for(var key in object2)map2.set(key,object2[key]);return map2;}function Set$3(){}var proto=map$2.prototype;Set$3.prototype={constructor:Set$3,has:proto.has,add:function(value2){value2+="";this[prefix+value2]=value2;return this;},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};var noop$1={value:function(){}};function dispatch(){for(var i2=0,n=arguments.length,_={},t;i2<n;++i2){if(!(t=arguments[i2]+"")||t in _||/[\s.]/.test(t))throw new Error("illegal type: "+t);_[t]=[];}return new Dispatch(_);}function Dispatch(_){this._=_;}function parseTypenames(typenames,types2){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i2=t.indexOf(".");if(i2>=0)name=t.slice(i2+1),t=t.slice(0,i2);if(t&&!types2.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,i2=-1,n=T.length;if(arguments.length<2){while(++i2<n)if((t=(typename=T[i2]).type)&&(t=get$3(_[t],typename.name)))return t;return;}if(callback!=null&&typeof callback!=="function")throw new Error("invalid callback: "+callback);while(++i2<n){if(t=(typename=T[i2]).type)_[t]=set$1(_[t],typename.name,callback);else if(callback==null)for(t in _)_[t]=set$1(_[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),i2=0,n,t;i2<n;++i2)args[i2]=arguments[i2+2];if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(t=this._[type2],i2=0,n=t.length;i2<n;++i2)t[i2].value.apply(that,args);},apply:function(type2,that,args){if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(var t=this._[type2],i2=0,n=t.length;i2<n;++i2)t[i2].value.apply(that,args);}};function get$3(type2,name){for(var i2=0,n=type2.length,c2;i2<n;++i2){if((c2=type2[i2]).name===name){return c2.value;}}}function set$1(type2,name,callback){for(var i2=0,n=type2.length;i2<n;++i2){if(type2[i2].name===name){type2[i2]=noop$1,type2=type2.slice(0,i2).concat(type2.slice(i2+1));break;}}if(callback!=null)type2.push({name,value:callback});return type2;}function request(url,callback){var request2,event=dispatch("beforesend","progress","load","error"),mimeType,headers=map$2(),xhr=new XMLHttpRequest(),user=null,password=null,response,responseType,timeout2=0;if(typeof XDomainRequest!=="undefined"&&!("withCredentials"in xhr)&&/^(http(s)?:)?\/\//.test(url))xhr=new XDomainRequest();"onload"in xhr?xhr.onload=xhr.onerror=xhr.ontimeout=respond:xhr.onreadystatechange=function(o){xhr.readyState>3&&respond(o);};function respond(o){var status=xhr.status,result;if(!status&&hasResponse(xhr)||status>=200&&status<300||status===304){if(response){try{result=response.call(request2,xhr);}catch(e){event.call("error",request2,e);return;}}else{result=xhr;}event.call("load",request2,result);}else{event.call("error",request2,o);}}xhr.onprogress=function(e){event.call("progress",request2,e);};request2={header:function(name,value2){name=(name+"").toLowerCase();if(arguments.length<2)return headers.get(name);if(value2==null)headers.remove(name);else headers.set(name,value2+"");return request2;},mimeType:function(value2){if(!arguments.length)return mimeType;mimeType=value2==null?null:value2+"";return request2;},responseType:function(value2){if(!arguments.length)return responseType;responseType=value2;return request2;},timeout:function(value2){if(!arguments.length)return timeout2;timeout2=+value2;return request2;},user:function(value2){return arguments.length<1?user:(user=value2==null?null:value2+"",request2);},password:function(value2){return arguments.length<1?password:(password=value2==null?null:value2+"",request2);},response:function(value2){response=value2;return request2;},get:function(data2,callback2){return request2.send("GET",data2,callback2);},post:function(data2,callback2){return request2.send("POST",data2,callback2);},send:function(method,data2,callback2){xhr.open(method,url,true,user,password);if(mimeType!=null&&!headers.has("accept"))headers.set("accept",mimeType+",*/*");if(xhr.setRequestHeader)headers.each(function(value2,name){xhr.setRequestHeader(name,value2);});if(mimeType!=null&&xhr.overrideMimeType)xhr.overrideMimeType(mimeType);if(responseType!=null)xhr.responseType=responseType;if(timeout2>0)xhr.timeout=timeout2;if(callback2==null&&typeof data2==="function")callback2=data2,data2=null;if(callback2!=null&&callback2.length===1)callback2=fixCallback(callback2);if(callback2!=null)request2.on("error",callback2).on("load",function(xhr2){callback2(null,xhr2);});event.call("beforesend",request2,xhr);xhr.send(data2==null?null:data2);return request2;},abort:function(){xhr.abort();return request2;},on:function(){var value2=event.on.apply(event,arguments);return value2===event?request2:value2;}};if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return request2.get(callback);}return request2;}function fixCallback(callback){return function(error,xhr){callback(error==null?xhr:null);};}function hasResponse(xhr){var type2=xhr.responseType;return type2&&type2!=="text"?xhr.response:xhr.responseText;}function type$3(defaultMimeType,response){return function(url,callback){var r2=request(url).mimeType(defaultMimeType).response(response);if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return r2.get(callback);}return r2;};}const html=type$3("text/html",function(xhr){return document.createRange().createContextualFragment(xhr.responseText);});const json=type$3("application/json",function(xhr){return JSON.parse(xhr.responseText);});const text=type$3("text/plain",function(xhr){return xhr.responseText;});const xml=type$3("application/xml",function(xhr){var xml2=xhr.responseXML;if(!xml2)throw new Error("parse error");return xml2;});var EOL={},EOF={},QUOTE=34,NEWLINE=10,RETURN=13;function objectConverter(columns){return new Function("d","return {"+columns.map(function(name,i2){return JSON.stringify(name)+": d["+i2+'] || ""';}).join(",")+"}");}function customConverter(columns,f2){var object2=objectConverter(columns);return function(row,i2){return f2(object2(row),i2,columns);};}function inferColumns(rows){var columnSet=/* @__PURE__ */Object.create(null),columns=[];rows.forEach(function(row){for(var column in row){if(!(column in columnSet)){columns.push(columnSet[column]=column);}}});return columns;}function pad(value2,width){var s=value2+"",length2=s.length;return length2<width?new Array(width-length2+1).join(0)+s:s;}function formatYear(year){return year<0?"-"+pad(-year,6):year>9999?"+"+pad(year,6):pad(year,4);}function formatDate(date2){var hours=date2.getUTCHours(),minutes=date2.getUTCMinutes(),seconds=date2.getUTCSeconds(),milliseconds=date2.getUTCMilliseconds();return isNaN(date2)?"Invalid Date":formatYear(date2.getUTCFullYear())+"-"+pad(date2.getUTCMonth()+1,2)+"-"+pad(date2.getUTCDate(),2)+(milliseconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"."+pad(milliseconds,3)+"Z":seconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"Z":minutes||hours?"T"+pad(hours,2)+":"+pad(minutes,2)+"Z":"");}function dsv$1(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse2(text2,f2){var convert,columns,rows=parseRows(text2,function(row,i2){if(convert)return convert(row,i2-1);columns=row,convert=f2?customConverter(row,f2):objectConverter(row);});rows.columns=columns||[];return rows;}function parseRows(text2,f2){var rows=[],N=text2.length,I=0,n=0,t,eof=N<=0,eol=false;if(text2.charCodeAt(N-1)===NEWLINE)--N;if(text2.charCodeAt(N-1)===RETURN)--N;function token2(){if(eof)return EOF;if(eol)return eol=false,EOL;var i2,j=I,c2;if(text2.charCodeAt(j)===QUOTE){while(I++<N&&text2.charCodeAt(I)!==QUOTE||text2.charCodeAt(++I)===QUOTE);if((i2=I)>=N)eof=true;else if((c2=text2.charCodeAt(I++))===NEWLINE)eol=true;else if(c2===RETURN){eol=true;if(text2.charCodeAt(I)===NEWLINE)++I;}return text2.slice(j+1,i2-1).replace(/""/g,'"');}while(I<N){if((c2=text2.charCodeAt(i2=I++))===NEWLINE)eol=true;else if(c2===RETURN){eol=true;if(text2.charCodeAt(I)===NEWLINE)++I;}else if(c2!==DELIMITER)continue;return text2.slice(j,i2);}return eof=true,text2.slice(j,N);}while((t=token2())!==EOF){var row=[];while(t!==EOL&&t!==EOF)row.push(t),t=token2();if(f2&&(row=f2(row,n++))==null)continue;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 format2(rows,columns){if(columns==null)columns=inferColumns(rows);return[columns.map(formatValue).join(delimiter)].concat(preformatBody(rows,columns)).join("\n");}function formatBody(rows,columns){if(columns==null)columns=inferColumns(rows);return preformatBody(rows,columns).join("\n");}function formatRows(rows){return rows.map(formatRow).join("\n");}function formatRow(row){return row.map(formatValue).join(delimiter);}function formatValue(value2){return value2==null?"":value2 instanceof Date?formatDate(value2):reFormat.test(value2+="")?'"'+value2.replace(/"/g,'""')+'"':value2;}return{parse:parse2,parseRows,format:format2,formatBody,formatRows,formatRow,formatValue};}var csv$1=dsv$1(",");var csvParse=csv$1.parse;var tsv$1=dsv$1(" ");var tsvParse=tsv$1.parse;function dsv(defaultMimeType,parse2){return function(url,row,callback){if(arguments.length<3)callback=row,row=null;var r2=request(url).mimeType(defaultMimeType);r2.row=function(_){return arguments.length?r2.response(responseOf(parse2,row=_)):row;};r2.row(row);return callback?r2.get(callback):r2;};}function responseOf(parse2,row){return function(request2){return parse2(request2.responseText,row);};}const csv=dsv("text/csv",csvParse);const tsv=dsv("text/tab-separated-values",tsvParse);const d3Request=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,request,html,json,text,xml,csv,tsv},Symbol.toStringTag,{value:"Module"}));let ListWrapper=/*#__PURE__*/function(_React__default$defau4){_inherits3(ListWrapper,_React__default$defau4);var _super55=_createSuper3(ListWrapper);function ListWrapper({items:items2}){var _this76;_classCallCheck3(this,ListWrapper);_this76=_super55.call(this);_this76.state={items:items2,isSorting:false};return _this76;}_createClass3(ListWrapper,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){this.setState({items:nextProps.items});}},{key:"onSortStart",value:function onSortStart({node:node2,index:index2,collection},e){e.stopImmediatePropagation();const{onSortStart}=this.props;this.setState({isSorting:true});if(onSortStart){onSortStart(this.ref);}this.sortingIndex=index2;this.sortStartTop=e.offsetTop;this.sortStartLeft=e.offsetLeft;}},{key:"onSortMove",value:function onSortMove(){}},{key:"onSortEnd",value:function onSortEnd({oldIndex,newIndex}){const{onSortEnd}=this.props;const{items:items2}=this.state;this.setState({items:arrayMove(items2,oldIndex,newIndex),isSorting:false});if(onSortEnd){onSortEnd(this.state.items);}this.sortingIndex=null;}},{key:"render",value:function render(){const Component=this.props.component;const{items:items2,isSorting}=this.state;const props={isSorting,items:items2,onSortEnd:this.onSortEnd.bind(this),onSortStart:this.onSortStart.bind(this),onSortMove:this.onSortMove.bind(this)};return/* @__PURE__ */React__default.default.createElement(Component,{...this.props,...props,ref:element=>{this.ref=element;}});}}]);return ListWrapper;}(React__default.default.Component);ListWrapper.propTypes={axis:propTypes$3.exports.string,className:propTypes$3.exports.string,component:propTypes$3.exports.func,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,height:propTypes$3.exports.number,helperClass:propTypes$3.exports.string,itemClass:propTypes$3.exports.string,itemControlAlignLeft:propTypes$3.exports.bool,itemReactClass:propTypes$3.exports.func,items:propTypes$3.exports.array,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onSortEnd:propTypes$3.exports.func,onSortStart:propTypes$3.exports.func,referenceAncestor:propTypes$3.exports.string,resizeHandles:propTypes$3.exports.object,useDragHandle:propTypes$3.exports.bool,width:propTypes$3.exports.number};ListWrapper.defaultProps={className:"list stylizedList",itemClass:"item stylizedItem",width:400,height:600};const classes$8={"top-right-handle":"_top-right-handle_cizw2_1","bottom-right-handle":"_bottom-right-handle_cizw2_2","top-left-handle":"_top-left-handle_cizw2_7","bottom-left-handle":"_bottom-left-handle_cizw2_8","top-draggable-handle":"_top-draggable-handle_cizw2_13","bottom-draggable-handle":"_bottom-draggable-handle_cizw2_14","left-draggable-handle":"_left-draggable-handle_cizw2_15","right-draggable-handle":"_right-draggable-handle_cizw2_16","draggable-div":"_draggable-div_cizw2_22","top-draggable-handle-grabber":"_top-draggable-handle-grabber_cizw2_27","bottom-draggable-handle-grabber":"_bottom-draggable-handle-grabber_cizw2_28","left-draggable-handle-grabber":"_left-draggable-handle-grabber_cizw2_43","right-draggable-handle-grabber":"_right-draggable-handle-grabber_cizw2_44"};let DraggableDiv=/*#__PURE__*/function(_React__default$defau5){_inherits3(DraggableDiv,_React__default$defau5);var _super56=_createSuper3(DraggableDiv);function DraggableDiv(props){var _this77;_classCallCheck3(this,DraggableDiv);_this77=_super56.call(this,props);_this77.dragTopRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopRightFunc.bind(_assertThisInitialized3(_this77)));_this77.dragTopLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottomRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomRightFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottomLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottom=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomFunc.bind(_assertThisInitialized3(_this77)));_this77.dragTop=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopFunc.bind(_assertThisInitialized3(_this77)));_this77.dragLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragRightFunc.bind(_assertThisInitialized3(_this77)));_this77.minWidth=10;_this77.minHeight=10;_this77.bottomHandleWidth=20;_this77.state={uid:_this77.props.uid,width:_this77.props.width,height:_this77.props.height,top:_this77.props.top,left:_this77.props.left};_this77.domBody=select$1("body").node();return _this77;}_createClass3(DraggableDiv,[{key:"componentDidMount",value:function componentDidMount(){select$1(this.bottomHandle).call(this.dragBottom);select$1(this.topHandle).call(this.dragTop);select$1(this.leftHandle).call(this.dragLeft);select$1(this.rightHandle).call(this.dragRight);}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){if("width"in newProps){this.setState({width:newProps.width});}if("height"in newProps){this.setState({height:newProps.height});}}},{key:"dragBottomFunc",value:function dragBottomFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;this.setState({height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragLeftFunc",value:function dragLeftFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;this.setState({left:newLeft,width:newWidth});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopFunc",value:function dragTopFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;this.setState({top:newTop,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragRightFunc",value:function dragRightFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;this.setState({width:newWidth});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragBottomLeftFunc",value:function dragBottomLeftFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;this.setState({left:newLeft,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragBottomRightFunc",value:function dragBottomRightFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;this.setState({width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopRightFunc",value:function dragTopRightFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;this.setState({top:newTop,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopLeftFunc",value:function dragTopLeftFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;this.setState({top:newTop,left:newLeft,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragStart",value:function dragStart(event){this.dragStartMousePos=pointer(event,this.domBody);this.dragStartWidth=this.state.width;this.dragStartHeight=this.state.height;this.dragStartTop=this.state.top;this.dragStartLeft=this.state.left;event.sourceEvent.stopPropagation();}},{key:"sizeChanged",value:function sizeChanged(){if(this.props.sizeChanged){this.props.sizeChanged(this.state);}}},{key:"rotateClicked",value:function rotateClicked(){this.props.trackRotated(this.state.uid);}},{key:"closeClicked",value:function closeClicked(){this.props.trackClosed(this.state.uid);}},{key:"render",value:function render(){const dragColor=this.props.theme===THEME_DARK?"white":"black";const divStyle={top:this.state.top,left:this.state.left,width:this.state.width,height:this.state.height,opacity:this.props.opacity};const resizeWidth=24;const resizeHeight=24;const horizStyle={left:this.state.width/2-resizeWidth/2,width:resizeWidth};const vertStyle={top:this.state.height/2-resizeHeight/2,height:resizeHeight};const styles2={bottom:{...horizStyle,bottom:1},top:{...horizStyle,top:1},left:{...vertStyle,left:1},right:{...vertStyle,right:1}};const resizeHandles=[...this.props.resizeHandles].map(x=>/* @__PURE__ */React__default.default.createElement("div",{key:x,ref:c2=>{this[`${x}Handle`]=c2;},className:classes$8[`${x}-draggable-handle`],style:styles2[x],title:"Resize track"},/* @__PURE__ */React__default.default.createElement("div",{className:classes$8[`${x}-draggable-handle-grabber`],style:{borderColor:dragColor}})));return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.divContainer=c2;},className:clsx(this.props.className,classes$8["draggable-div"]),style:divStyle},resizeHandles);}}]);return DraggableDiv;}(React__default.default.Component);DraggableDiv.propTypes={className:propTypes$3.exports.string,height:propTypes$3.exports.number,left:propTypes$3.exports.number,opacity:propTypes$3.exports.number,resizeHandles:propTypes$3.exports.object,sizeChanged:propTypes$3.exports.func,top:propTypes$3.exports.number,trackClosed:propTypes$3.exports.func,trackRotated:propTypes$3.exports.func,uid:propTypes$3.exports.string,width:propTypes$3.exports.number,theme:propTypes$3.exports.symbol};const DraggableDiv$1=withTheme(DraggableDiv);let TrackArea=/*#__PURE__*/function(_React__default$defau6){_inherits3(TrackArea,_React__default$defau6);var _super57=_createSuper3(TrackArea);function TrackArea(props){var _this78;_classCallCheck3(this,TrackArea);_this78=_super57.call(this,props);_this78.state={controlsVisible:false};return _this78;}_createClass3(TrackArea,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(){return!this.resizing;}},{key:"handleMouseEnter",value:function handleMouseEnter(){this.setState({controlsVisible:true});}},{key:"handleMouseLeave",value:function handleMouseLeave(){this.setState({controlsVisible:false});}},{key:"handleMouseMove",value:function handleMouseMove(){this.setState({controlsVisible:true});}},{key:"getControls",value:function getControls(){let Handle=null;if(this.moveable){Handle=sortableHandle(()=>/* @__PURE__ */React__default.default.createElement("svg",{className:"no-zoom",height:"10px",onClick:()=>{},style:this.getMoveImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#move"})));}else{Handle=sortableHandle(()=>/* @__PURE__ */React__default.default.createElement("div",null));}return/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",backgroundColor:"rgba(255,255,255,0.7)",right:"3px",top:"3px",pointerEvents:"none",paddingLeft:"5px",paddingRight:"5px",borderRadius:"5px",border:"1px solid #dddddd"}},/* @__PURE__ */React__default.default.createElement(Handle,null),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgConfig=c2;},className:"no-zoom",height:"10px",onClick:()=>{const imgDom=ReactDOM__default.default.findDOMNode(this.imgConfig);const bbox=imgDom.getBoundingClientRect();this.props.onConfigTrackMenuOpened(this.props.uid,bbox);},style:this.getSettingsImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cog"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgAdd=c2;},className:"no-zoom",height:"10px",onClick:()=>this.props.onAddSeries(this.props.uid),style:this.getAddImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgClose=c2;},className:"no-zoom",height:"10px",onClick:()=>{const imgDom=ReactDOM__default.default.findDOMNode(this.imgClose);const bbox=imgDom.getBoundingClientRect();this.props.onCloseTrackMenuOpened(this.props.uid,bbox);},style:this.getCloseImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"})));}}]);return TrackArea;}(React__default.default.Component);TrackArea.propTypes={configMenuOpen:propTypes$3.exports.bool,onConfigTrackMenuOpened:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onAddSeries:propTypes$3.exports.func,uid:propTypes$3.exports.string};let MoveableTrack=/*#__PURE__*/function(_TrackArea){_inherits3(MoveableTrack,_TrackArea);var _super58=_createSuper3(MoveableTrack);function MoveableTrack(props){var _this79;_classCallCheck3(this,MoveableTrack);_this79=_super58.call(this,props);_this79.moveable=true;return _this79;}_createClass3(MoveableTrack,[{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:r2=>{this.el=r2;},className:this.props.className,onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:()=>{this.handleMouseLeave();},style:{height:this.props.height,width:this.props.width}},/* @__PURE__ */React__default.default.createElement(DraggableDiv$1,{key:this.props.uid,height:this.props.height,resizeHandles:this.props.editable?this.props.resizeHandles:/* @__PURE__ */new Set(),sizeChanged:stuff=>this.props.handleResizeTrack(this.props.uid,stuff.width,stuff.height),style:{background:"transparent"},uid:this.props.uid,width:this.props.width}),this.props.editable&&this.getControls(this.state.controlsVisible||this.props.item.configMenuVisible));}}]);return MoveableTrack;}(TrackArea);MoveableTrack.propTypes={className:propTypes$3.exports.string,uid:propTypes$3.exports.string,item:propTypes$3.exports.object,height:propTypes$3.exports.number,width:propTypes$3.exports.number};const STYLES$1={pointerEvents:"all"};let HorizontalTrack=/*#__PURE__*/function(_MoveableTrack){_inherits3(HorizontalTrack,_MoveableTrack);var _super59=_createSuper3(HorizontalTrack);function HorizontalTrack(){_classCallCheck3(this,HorizontalTrack);return _super59.apply(this,arguments);}_createClass3(HorizontalTrack,[{key:"getControls",value:function getControls(isVisible){return/* @__PURE__ */React__default.default.createElement(TrackControl$1,{configMenuVisible:this.props.item.configMenuVisible,imgStyleAdd:STYLES$1,imgStyleClose:STYLES$1,imgStyleMove:STYLES$1,imgStyleSettings:STYLES$1,isMoveable:this.moveable,isVisible,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid});}}]);return HorizontalTrack;}(MoveableTrack);const HorizontalItem=sortableElement(props=>/* @__PURE__ */React__default.default.createElement(HorizontalTrack,{className:props.className,editable:props.editable,handleConfigTrack:props.handleConfigTrack,handleResizeTrack:props.handleResizeTrack,height:props.height,item:props.item,onAddSeries:props.onAddSeries,onCloseTrack:props.onCloseTrack,onCloseTrackMenuOpened:props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:props.onConfigTrackMenuOpened,resizeHandles:props.resizeHandles,uid:props.uid,width:props.width}));const SortableList=sortableContainer(({className:className2,items:items2,itemClass,itemControlAlignLeft,sortingIndex,useDragHandle,sortableHandlers,height,width,onCloseTrack,onCloseTrackMenuOpened,onConfigTrackMenuOpened,onAddSeries,handleConfigTrack,editable,itemReactClass,handleResizeTrack,resizeHandles})=>{const itemElements=items2.map((item,index2)=>React__default.default.createElement(itemReactClass,{key:`sci-${item.uid}`,className:itemClass,controlAlignLeft:itemControlAlignLeft,sortingIndex,index:index2,uid:item.uid,height:item.height,width:item.width,item,useDragHandle,onCloseTrack,onCloseTrackMenuOpened,onConfigTrackMenuOpened,onAddSeries,handleConfigTrack,editable,handleResizeTrack,resizeHandles}));return/* @__PURE__ */React__default.default.createElement("div",{className:className2,style:{height,width,background:"transparent"},...sortableHandlers},itemElements);});const styles$4={"horizontal-tiled-plot":"_horizontal-tiled-plot_1bqkg_1"};function sourceEvent$1(event){return event&&event.sourceEvent;}let HorizontalTiledPlot=/*#__PURE__*/function(_React__default$defau7){_inherits3(HorizontalTiledPlot,_React__default$defau7);var _super60=_createSuper3(HorizontalTiledPlot);function HorizontalTiledPlot(props){var _this80;_classCallCheck3(this,HorizontalTiledPlot);_this80=_super60.call(this,props);_this80.brushBehavior=brushX().on("start",_this80.brushStarted.bind(_assertThisInitialized3(_this80))).on("brush",_this80.brushed.bind(_assertThisInitialized3(_this80))).on("end",_this80.brushedEnded.bind(_assertThisInitialized3(_this80)));return _this80;}_createClass3(HorizontalTiledPlot,[{key:"componentDidMount",value:function componentDidMount(){if(this.props.isRangeSelectionActive){this.addBrush();}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){if(this.rangeSelectionTriggered){this.rangeSelectionTriggered=false;if(this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,true);}this.rangeSelectionTriggeredEnd=false;return this.state!==nextState;}if(this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,nextProps.rangeSelectionEnd);return this.state!==nextState;}return true;}},{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.isRangeSelectionActive){this.addBrush();}else{this.removeBrush();}}},{key:"addBrush",value:function addBrush(){if(!this.brushEl||this.brushElAddedBefore===this.brushEl){return;}if(this.brushElAddedBefore){this.brushElAddedBefore.on(".brush",null);}this.brushEl.call(this.brushBehavior);this.brushElAddedBefore=this.brushEl;resetD3BrushStyle(this.brushEl,stylesTrack["track-range-selection-group-brush-selection"]);}},{key:"brushed",value:function brushed(event){const rangeSelectionMoved=this.rangeSelectionMoved;this.rangeSelectionMoved=false;if(!sourceEvent$1(event)||!this.props.onRangeSelection||rangeSelectionMoved)return;this.rangeSelectionTriggered=true;this.props.onRangeSelection(event.selection);}},{key:"brushStarted",value:function brushStarted(event){if(!sourceEvent$1(event)||!event.selection)return;this.props.onRangeSelectionStart();}},{key:"brushedEnded",value:function brushedEnded(event){if(!this.props.is1dRangeSelection)return;const rangeSelectionMovedEnd=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=false;if(event.selection&&event.sourceEvent&&this.props.onRangeSelection&&!rangeSelectionMovedEnd){this.rangeSelectionTriggered=true;this.rangeSelectionTriggeredEnd=true;this.props.onRangeSelectionEnd(event.selection);}if(!event.selection){this.rangeSelectionTriggered=true;this.props.onRangeSelectionReset();}}},{key:"moveBrush",value:function moveBrush(rangeSelection,animate=false){if(!this.brushEl){return;}const relRange=rangeSelection?[this.props.scale(rangeSelection[0]),this.props.scale(rangeSelection[1])]:null;this.rangeSelectionMoved=true;this.rangeSelectionMovedEnd=true;if(animate){this.brushEl.transition().call(this.brushBehavior.move,relRange);}else{this.brushEl.call(this.brushBehavior.move,relRange);}}},{key:"removeBrush",value:function removeBrush(){if(this.brushElAddedBefore){this.brushElAddedBefore.call(this.brushBehavior.move,null);this.brushElAddedBefore.on(".brush",null);this.brushElAddedBefore=void 0;this.props.onRangeSelectionReset();}}},{key:"render",value:function render(){const height=this.props.tracks.map(x=>x.height).reduce(sum,0);const isBrushable=this.props.tracks.map(track=>IS_TRACK_RANGE_SELECTABLE(track)).reduce(or,false);const rangeSelectorClass=this.props.isRangeSelectionActive?stylesTrack["track-range-selection-active"]:stylesTrack["track-range-selection"];return/* @__PURE__ */React__default.default.createElement("div",{className:clsx("horizontal-tiled-plot",styles$4["horizontal-tiled-plot"])},isBrushable&&/* @__PURE__ */React__default.default.createElement("svg",{ref:el=>{this.brushEl=select$1(el);},className:rangeSelectorClass,style:{height,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"}),/* @__PURE__ */React__default.default.createElement(ListWrapper,{className:clsx(styles$5.list,styles$5.stylizedList),component:SortableList,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height,helperClass:styles$5.stylizedHelper,itemClass:styles$5.stylizedItem,itemReactClass:HorizontalItem,items:this.props.tracks.map(d=>({configMenuVisible:d.uid===this.props.configTrackMenuId,uid:d.uid||slugid.nice(),width:this.props.width,height:d.height,value:d.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:true,width:this.props.width}));}}]);return HorizontalTiledPlot;}(React__default.default.Component);HorizontalTiledPlot.propTypes={configTrackMenuId:propTypes$3.exports.string,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,handleSortEnd:propTypes$3.exports.func,is1dRangeSelection:propTypes$3.exports.bool,isRangeSelectionActive:propTypes$3.exports.bool,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func,onRangeSelectionEnd:propTypes$3.exports.func,onRangeSelectionReset:propTypes$3.exports.func,onRangeSelectionStart:propTypes$3.exports.func,rangeSelection:propTypes$3.exports.array,rangeSelectionEnd:propTypes$3.exports.bool,referenceAncestor:propTypes$3.exports.func,resizeHandles:propTypes$3.exports.object,scale:propTypes$3.exports.func,tracks:propTypes$3.exports.array,width:propTypes$3.exports.number};const STYLES={pointerEvents:"all"};let VerticalTrack=/*#__PURE__*/function(_MoveableTrack2){_inherits3(VerticalTrack,_MoveableTrack2);var _super61=_createSuper3(VerticalTrack);function VerticalTrack(){_classCallCheck3(this,VerticalTrack);return _super61.apply(this,arguments);}_createClass3(VerticalTrack,[{key:"getControls",value:function getControls(isVisible){return/* @__PURE__ */React__default.default.createElement(TrackControl$1,{imgStyleAdd:STYLES,imgStyleClose:STYLES,imgStyleMove:STYLES,imgStyleSettings:STYLES,isAlignLeft:this.props.controlAlignLeft,isMoveable:this.moveable,isVertical:true,isVisible,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid});}}]);return VerticalTrack;}(MoveableTrack);let ViewportTracker2D=/*#__PURE__*/function(_PixiTrack10){_inherits3(ViewportTracker2D,_PixiTrack10);var _super62=_createSuper3(ViewportTracker2D);function ViewportTracker2D(context,options2){var _this81;_classCallCheck3(this,ViewportTracker2D);_this81=_super62.call(this,context,options2);const{registerViewportChanged,removeViewportChanged}=context;const uid=slugid.nice();_this81.uid=uid;_this81.removeViewportChanged=removeViewportChanged;_this81.viewportXDomain=null;_this81.viewportYDomain=null;registerViewportChanged(uid,_this81.viewportChanged.bind(_assertThisInitialized3(_this81)));return _this81;}_createClass3(ViewportTracker2D,[{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"draw",value:function draw(){const graphics=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain){return;}graphics.clear();graphics.lineStyle(1,255,1);graphics.beginFill(16740363,1);const x=this._xScale(this.viewportXDomain[0]);const y=this._yScale(this.viewportYDomain[0]);const width=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]);const height=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(x,y,width,height);}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTracker2D.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];this.draw();}}]);return ViewportTracker2D;}(PixiTrack);function LruCache(limit2){this.size=0;this.limit=limit2;this._keymap={};}function put(key,value2){const entry={key,value:value2};this._keymap[key]=entry;if(this.tail){this.tail.newer=entry;entry.older=this.tail;}else{this.head=entry;}this.tail=entry;if(this.size===this.limit){return this.shift();}this.size+=1;return void 0;}function shift(){const entry=this.head;if(entry){if(this.head.newer){this.head=this.head.newer;this.head.older=void 0;}else{this.head=void 0;this.tail=void 0;}entry.newer=void 0;entry.older=void 0;delete this._keymap[entry.key];this.size-=1;}return entry;}function get$2(key,returnEntry){const entry=this._keymap[key];if(entry===void 0)return void 0;if(entry===this.tail){return returnEntry?entry:entry.value;}if(entry.newer){if(entry===this.head)this.head=entry.newer;entry.newer.older=entry.older;}if(entry.older)entry.older.newer=entry.newer;entry.newer=void 0;entry.older=this.tail;if(this.tail)this.tail.newer=entry;this.tail=entry;return returnEntry?entry:entry.value;}function find(key){return this._keymap[key];}function set(key,value2){const entry=this.get(key,true);let oldvalue;if(entry){oldvalue=entry.value;entry.value=value2;}else{oldvalue=this.put(key,value2);if(oldvalue)oldvalue=oldvalue.value;}return oldvalue;}function remove(key){const entry=this._keymap[key];if(!entry)return void 0;delete this._keymap[entry.key];if(entry.newer&&entry.older){entry.older.newer=entry.newer;entry.newer.older=entry.older;}else if(entry.newer){entry.newer.older=void 0;this.head=entry.newer;}else if(entry.older){entry.older.newer=void 0;this.tail=entry.older;}else{this.head=void 0;this.tail=void 0;}this.size-=1;return entry.value;}function removeAll(){this.head=void 0;this.tail=void 0;this.size=0;this._keymap={};}function keys$1(){return Object.keys(this._keymap);}function forEach$1(fun,context,desc){let entry;if(context===true){desc=true;context=void 0;}else if(typeof context!=="object"){context=this;}if(desc){entry=this.tail;while(entry){fun.call(context,entry.key,entry.value,this);entry=entry.older;}}else{entry=this.head;while(entry){fun.call(context,entry.key,entry.value,this);entry=entry.newer;}}}function toJSON(){const s=[];let entry=this.head;while(entry){s.push({key:entry.key.toJSON(),value:entry.value.toJSON()});entry=entry.newer;}return s;}function toString$1(){let s="";let entry=this.head;while(entry){s+=`${String(entry.key)}:${entry.value}`;entry=entry.newer;if(entry)s+=" < ";}return s;}Object.assign(LruCache.prototype,{put,get:get$2,find,keys:keys$1,set,shift,remove,removeAll,forEach:forEach$1,toJSON,toString:toString$1});const version="1.13.1";const button="_button_1wnjn_1";const classes$7={button,"button-shortcut":"_button-shortcut_1wnjn_35"};const Button=React__default.default.forwardRef((props,ref2)=>{var _a;return/* @__PURE__ */React__default.default.createElement("button",{ref:ref2,className:(_a=classes$7[props.styleName])!=null?_a:classes$7.button,disabled:props.disable,onBlur:props.onBlur,onClick:props.onClick,onMouseDown:props.onMouseDown,onMouseOut:props.onMouseOut,onMouseUp:props.onMouseUp,type:"button"},props.children,props.shortcut&&/* @__PURE__ */React__default.default.createElement("span",{className:classes$7["button-shortcut"]},props.shortcut));});Button.defaultProps={onClick:()=>{},styleName:"",type:"button"};Button.propTypes={children:propTypes$3.exports.any,disable:propTypes$3.exports.bool,onBlur:propTypes$3.exports.func,onClick:propTypes$3.exports.func,onMouseDown:propTypes$3.exports.func,onMouseOut:propTypes$3.exports.func,onMouseUp:propTypes$3.exports.func,shortcut:propTypes$3.exports.string,type:propTypes$3.exports.string,styleName:propTypes$3.exports.string};const cross="_cross_2ke8w_1";const classes$6={cross};function Cross(){return/* @__PURE__ */React__default.default.createElement("div",{className:classes$6.cross});}const{Provider,Consumer}=React__default.default.createContext({close:toVoid,open:toVoid});const withModal=Component=>React__default.default.forwardRef((props,ref2)=>/* @__PURE__ */React__default.default.createElement(Consumer,null,modal2=>/* @__PURE__ */React__default.default.createElement(Component,{ref:ref2,...props,modal:modal2})));const classes$5={"modal-background":"_modal-background_zzhoe_1","fade-in":"_fade-in_zzhoe_1","modal-hide":"_modal-hide_zzhoe_13","modal-wrap":"_modal-wrap_zzhoe_17","modal-window":"_modal-window_zzhoe_25","fade-scale-in":"_fade-scale-in_zzhoe_1","modal-window-max-height":"_modal-window-max-height_zzhoe_38","modal-content":"_modal-content_zzhoe_42"};function Modal(props){const handleClose=()=>{props.modal.close();if(props.onClose)props.onClose();};return/* @__PURE__ */React__default.default.createElement("div",{className:clsx(classes$5["modal-background"],{[classes$5["modal-hide"]]:props.hide})},/* @__PURE__ */React__default.default.createElement("div",{className:classes$5["modal-wrap"]},/* @__PURE__ */React__default.default.createElement("div",{className:clsx(classes$5["modal-window"],{[classes$5["modal-window-max-height"]]:props.maxHeight})},props.closeButton&&/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleClose},/* @__PURE__ */React__default.default.createElement(Cross,null)),/* @__PURE__ */React__default.default.createElement("div",{className:classes$5["modal-content"]},props.children))));}Modal.defaultProps={closeButton:true,hide:false,maxHeight:false};Modal.propTypes={children:propTypes$3.exports.element.isRequired,closeButton:propTypes$3.exports.bool,hide:propTypes$3.exports.bool,maxHeight:propTypes$3.exports.bool,modal:propTypes$3.exports.object.isRequired,onClose:propTypes$3.exports.func};const Modal$1=withModal(Modal);const classes$4={"dialog-header":"_dialog-header_wp50s_1","dialog-main-max-height":"_dialog-main-max-height_wp50s_20","dialog-footer":"_dialog-footer_wp50s_31","dialog-footer-max-height":"_dialog-footer-max-height_wp50s_31"};function Dialog(props){const handleCancel=()=>{props.modal.close();if(props.onCancel)props.onCancel();};const handleOkay=()=>{props.modal.close();if(props.onOkay)props.onOkay();};return/* @__PURE__ */React__default.default.createElement(Modal$1,{closeButton:false,hide:props.hide,maxHeight:props.maxHeight},/* @__PURE__ */React__default.default.createElement(React__default.default.Fragment,null,/* @__PURE__ */React__default.default.createElement("header",{className:classes$4["dialog-header"]},/* @__PURE__ */React__default.default.createElement("h3",null,props.title),/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleCancel},/* @__PURE__ */React__default.default.createElement(Cross,null))),props.maxHeight?/* @__PURE__ */React__default.default.createElement("main",{className:clsx(props.maxHeight&&classes$4["dialog-main-max-height"])},props.children):/* @__PURE__ */React__default.default.createElement("main",null,props.children),/* @__PURE__ */React__default.default.createElement("footer",{className:classes$4[props.maxHeight?"dialog-footer-max-height":"dialog-footer"]},props.okayOnly?/* @__PURE__ */React__default.default.createElement("div",null):/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleCancel,shortcut:props.cancelShortcut},props.cancelTitle),/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleOkay,shortcut:props.okayShortcut},props.okayTitle))));}Dialog.defaultProps={cancelTitle:"Cancel",hide:false,maxHeight:false,okayOnly:false,okayTitle:"Ok"};Dialog.propTypes={cancelShortcut:propTypes$3.exports.string,cancelTitle:propTypes$3.exports.string,children:propTypes$3.exports.object,hide:propTypes$3.exports.bool,maxHeight:propTypes$3.exports.bool,modal:propTypes$3.exports.object.isRequired,okayShortcut:propTypes$3.exports.string,okayTitle:propTypes$3.exports.string,okayOnly:propTypes$3.exports.bool,onCancel:propTypes$3.exports.func.isRequired,onOkay:propTypes$3.exports.func.isRequired,title:propTypes$3.exports.string.isRequired};const Dialog$1=withModal(Dialog);var lib$2={};var flattenNames$1={};var freeGlobal=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis;const freeGlobal$1=freeGlobal;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal$1||freeSelf||Function("return this")();const root$1=root;var Symbol$1=root$1.Symbol;const Symbol$2=Symbol$1;var objectProto$f=Object.prototype;var hasOwnProperty$c=objectProto$f.hasOwnProperty;var nativeObjectToString$1=objectProto$f.toString;var symToStringTag$1=Symbol$2?Symbol$2.toStringTag:void 0;function getRawTag(value2){var isOwn=hasOwnProperty$c.call(value2,symToStringTag$1),tag=value2[symToStringTag$1];try{value2[symToStringTag$1]=void 0;var unmasked=true;}catch(e){}var result=nativeObjectToString$1.call(value2);if(unmasked){if(isOwn){value2[symToStringTag$1]=tag;}else{delete value2[symToStringTag$1];}}return result;}var objectProto$e=Object.prototype;var nativeObjectToString=objectProto$e.toString;function objectToString(value2){return nativeObjectToString.call(value2);}var nullTag="[object Null]",undefinedTag="[object Undefined]";var symToStringTag=Symbol$2?Symbol$2.toStringTag:void 0;function baseGetTag(value2){if(value2==null){return value2===void 0?undefinedTag:nullTag;}return symToStringTag&&symToStringTag in Object(value2)?getRawTag(value2):objectToString(value2);}var isArray=Array.isArray;const isArray$1=isArray;function isObjectLike(value2){return value2!=null&&typeof value2=="object";}var stringTag$4="[object String]";function isString(value2){return typeof value2=="string"||!isArray$1(value2)&&isObjectLike(value2)&&baseGetTag(value2)==stringTag$4;}const isString$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:isString},Symbol.toStringTag,{value:"Module"}));const require$$0$1=/* @__PURE__ */getAugmentedNamespace(isString$1);function createBaseFor(fromRight){return function(object2,iteratee,keysFunc){var index2=-1,iterable=Object(object2),props=keysFunc(object2),length2=props.length;while(length2--){var key=props[fromRight?length2:++index2];if(iteratee(iterable[key],key,iterable)===false){break;}}return object2;};}var baseFor=createBaseFor();const baseFor$1=baseFor;function baseTimes(n,iteratee){var index2=-1,result=Array(n);while(++index2<n){result[index2]=iteratee(index2);}return result;}var argsTag$3="[object Arguments]";function baseIsArguments(value2){return isObjectLike(value2)&&baseGetTag(value2)==argsTag$3;}var objectProto$d=Object.prototype;var hasOwnProperty$b=objectProto$d.hasOwnProperty;var propertyIsEnumerable$1=objectProto$d.propertyIsEnumerable;var isArguments=baseIsArguments(function(){return arguments;}())?baseIsArguments:function(value2){return isObjectLike(value2)&&hasOwnProperty$b.call(value2,"callee")&&!propertyIsEnumerable$1.call(value2,"callee");};const isArguments$1=isArguments;function stubFalse(){return false;}var freeExports$2=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule$2=freeExports$2&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2;var Buffer$2=moduleExports$2?root$1.Buffer:void 0;var nativeIsBuffer=Buffer$2?Buffer$2.isBuffer:void 0;var isBuffer=nativeIsBuffer||stubFalse;const isBuffer$1=isBuffer;var MAX_SAFE_INTEGER$1=9007199254740991;var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value2,length2){var type2=typeof value2;length2=length2==null?MAX_SAFE_INTEGER$1:length2;return!!length2&&(type2=="number"||type2!="symbol"&&reIsUint.test(value2))&&value2>-1&&value2%1==0&&value2<length2;}var MAX_SAFE_INTEGER=9007199254740991;function isLength(value2){return typeof value2=="number"&&value2>-1&&value2%1==0&&value2<=MAX_SAFE_INTEGER;}var argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$2="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]";var arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=true;typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$2]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=false;function baseIsTypedArray(value2){return isObjectLike(value2)&&isLength(value2.length)&&!!typedArrayTags[baseGetTag(value2)];}function baseUnary(func){return function(value2){return func(value2);};}var freeExports$1=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule$1=freeExports$1&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1;var freeProcess=moduleExports$1&&freeGlobal$1.process;var nodeUtil=function(){try{var types2=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;if(types2){return types2;}return freeProcess&&freeProcess.binding&&freeProcess.binding("util");}catch(e){}}();const nodeUtil$1=nodeUtil;var nodeIsTypedArray=nodeUtil$1&&nodeUtil$1.isTypedArray;var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;const isTypedArray$1=isTypedArray;var objectProto$c=Object.prototype;var hasOwnProperty$a=objectProto$c.hasOwnProperty;function arrayLikeKeys(value2,inherited){var isArr=isArray$1(value2),isArg=!isArr&&isArguments$1(value2),isBuff=!isArr&&!isArg&&isBuffer$1(value2),isType=!isArr&&!isArg&&!isBuff&&isTypedArray$1(value2),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value2.length,String):[],length2=result.length;for(var key in value2){if((inherited||hasOwnProperty$a.call(value2,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length2)))){result.push(key);}}return result;}var objectProto$b=Object.prototype;function isPrototype(value2){var Ctor=value2&&value2.constructor,proto2=typeof Ctor=="function"&&Ctor.prototype||objectProto$b;return value2===proto2;}function overArg(func,transform2){return function(arg){return func(transform2(arg));};}var nativeKeys=overArg(Object.keys,Object);const nativeKeys$1=nativeKeys;var objectProto$a=Object.prototype;var hasOwnProperty$9=objectProto$a.hasOwnProperty;function baseKeys(object2){if(!isPrototype(object2)){return nativeKeys$1(object2);}var result=[];for(var key in Object(object2)){if(hasOwnProperty$9.call(object2,key)&&key!="constructor"){result.push(key);}}return result;}function isObject(value2){var type2=typeof value2;return value2!=null&&(type2=="object"||type2=="function");}var asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value2){if(!isObject(value2)){return false;}var tag=baseGetTag(value2);return tag==funcTag$1||tag==genTag$1||tag==asyncTag||tag==proxyTag;}function isArrayLike(value2){return value2!=null&&isLength(value2.length)&&!isFunction(value2);}function keys(object2){return isArrayLike(object2)?arrayLikeKeys(object2):baseKeys(object2);}function baseForOwn(object2,iteratee){return object2&&baseFor$1(object2,iteratee,keys);}function identity(value2){return value2;}function castFunction(value2){return typeof value2=="function"?value2:identity;}function forOwn(object2,iteratee){return object2&&baseForOwn(object2,castFunction(iteratee));}const forOwn$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:forOwn},Symbol.toStringTag,{value:"Module"}));const require$$0=/* @__PURE__ */getAugmentedNamespace(forOwn$1);var getPrototype=overArg(Object.getPrototypeOf,Object);const getPrototype$1=getPrototype;var objectTag$3="[object Object]";var funcProto$2=Function.prototype,objectProto$9=Object.prototype;var funcToString$2=funcProto$2.toString;var hasOwnProperty$8=objectProto$9.hasOwnProperty;var objectCtorString=funcToString$2.call(Object);function isPlainObject(value2){if(!isObjectLike(value2)||baseGetTag(value2)!=objectTag$3){return false;}var proto2=getPrototype$1(value2);if(proto2===null){return true;}var Ctor=hasOwnProperty$8.call(proto2,"constructor")&&proto2.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString$2.call(Ctor)==objectCtorString;}const isPlainObject$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:isPlainObject},Symbol.toStringTag,{value:"Module"}));const require$$2=/* @__PURE__ */getAugmentedNamespace(isPlainObject$1);function arrayMap(array2,iteratee){var index2=-1,length2=array2==null?0:array2.length,result=Array(length2);while(++index2<length2){result[index2]=iteratee(array2[index2],index2,array2);}return result;}function listCacheClear(){this.__data__=[];this.size=0;}function eq(value2,other){return value2===other||value2!==value2&&other!==other;}function assocIndexOf(array2,key){var length2=array2.length;while(length2--){if(eq(array2[length2][0],key)){return length2;}}return-1;}var arrayProto=Array.prototype;var splice=arrayProto.splice;function listCacheDelete(key){var data2=this.__data__,index2=assocIndexOf(data2,key);if(index2<0){return false;}var lastIndex=data2.length-1;if(index2==lastIndex){data2.pop();}else{splice.call(data2,index2,1);}--this.size;return true;}function listCacheGet(key){var data2=this.__data__,index2=assocIndexOf(data2,key);return index2<0?void 0:data2[index2][1];}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}function listCacheSet(key,value2){var data2=this.__data__,index2=assocIndexOf(data2,key);if(index2<0){++this.size;data2.push([key,value2]);}else{data2[index2][1]=value2;}return this;}function ListCache(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function stackClear(){this.__data__=new ListCache();this.size=0;}function stackDelete(key){var data2=this.__data__,result=data2["delete"](key);this.size=data2.size;return result;}function stackGet(key){return this.__data__.get(key);}function stackHas(key){return this.__data__.has(key);}var coreJsData=root$1["__core-js_shared__"];const coreJsData$1=coreJsData;var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData$1&&coreJsData$1.keys&&coreJsData$1.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:"";}();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}var funcProto$1=Function.prototype;var funcToString$1=funcProto$1.toString;function toSource(func){if(func!=null){try{return funcToString$1.call(func);}catch(e){}try{return func+"";}catch(e){}}return"";}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var funcProto=Function.prototype,objectProto$8=Object.prototype;var funcToString=funcProto.toString;var hasOwnProperty$7=objectProto$8.hasOwnProperty;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty$7).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value2){if(!isObject(value2)||isMasked(value2)){return false;}var pattern2=isFunction(value2)?reIsNative:reIsHostCtor;return pattern2.test(toSource(value2));}function getValue(object2,key){return object2==null?void 0:object2[key];}function getNative(object2,key){var value2=getValue(object2,key);return baseIsNative(value2)?value2:void 0;}var Map$1=getNative(root$1,"Map");const Map$2=Map$1;var nativeCreate=getNative(Object,"create");const nativeCreate$1=nativeCreate;function hashClear(){this.__data__=nativeCreate$1?nativeCreate$1(null):{};this.size=0;}function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result;}var HASH_UNDEFINED$2="__lodash_hash_undefined__";var objectProto$7=Object.prototype;var hasOwnProperty$6=objectProto$7.hasOwnProperty;function hashGet(key){var data2=this.__data__;if(nativeCreate$1){var result=data2[key];return result===HASH_UNDEFINED$2?void 0:result;}return hasOwnProperty$6.call(data2,key)?data2[key]:void 0;}var objectProto$6=Object.prototype;var hasOwnProperty$5=objectProto$6.hasOwnProperty;function hashHas(key){var data2=this.__data__;return nativeCreate$1?data2[key]!==void 0:hasOwnProperty$5.call(data2,key);}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(key,value2){var data2=this.__data__;this.size+=this.has(key)?0:1;data2[key]=nativeCreate$1&&value2===void 0?HASH_UNDEFINED$1:value2;return this;}function Hash(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function mapCacheClear(){this.size=0;this.__data__={"hash":new Hash(),"map":new(Map$2||ListCache)(),"string":new Hash()};}function isKeyable(value2){var type2=typeof value2;return type2=="string"||type2=="number"||type2=="symbol"||type2=="boolean"?value2!=="__proto__":value2===null;}function getMapData(map2,key){var data2=map2.__data__;return isKeyable(key)?data2[typeof key=="string"?"string":"hash"]:data2.map;}function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result;}function mapCacheGet(key){return getMapData(this,key).get(key);}function mapCacheHas(key){return getMapData(this,key).has(key);}function mapCacheSet(key,value2){var data2=getMapData(this,key),size=data2.size;data2.set(key,value2);this.size+=data2.size==size?0:1;return this;}function MapCache(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;var LARGE_ARRAY_SIZE=200;function stackSet(key,value2){var data2=this.__data__;if(data2 instanceof ListCache){var pairs2=data2.__data__;if(!Map$2||pairs2.length<LARGE_ARRAY_SIZE-1){pairs2.push([key,value2]);this.size=++data2.size;return this;}data2=this.__data__=new MapCache(pairs2);}data2.set(key,value2);this.size=data2.size;return this;}function Stack(entries){var data2=this.__data__=new ListCache(entries);this.size=data2.size;}Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(value2){this.__data__.set(value2,HASH_UNDEFINED);return this;}function setCacheHas(value2){return this.__data__.has(value2);}function SetCache(values){var index2=-1,length2=values==null?0:values.length;this.__data__=new MapCache();while(++index2<length2){this.add(values[index2]);}}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function arraySome(array2,predicate){var index2=-1,length2=array2==null?0:array2.length;while(++index2<length2){if(predicate(array2[index2],index2,array2)){return true;}}return false;}function cacheHas(cache2,key){return cache2.has(key);}var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(array2,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$5,arrLength=array2.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false;}var arrStacked=stack.get(array2);var othStacked=stack.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array2;}var index2=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG$3?new SetCache():void 0;stack.set(array2,other);stack.set(other,array2);while(++index2<arrLength){var arrValue=array2[index2],othValue=other[index2];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index2,other,array2,stack):customizer(arrValue,othValue,index2,array2,other,stack);}if(compared!==void 0){if(compared){continue;}result=false;break;}if(seen){if(!arraySome(other,function(othValue2,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack))){return seen.push(othIndex);}})){result=false;break;}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=false;break;}}stack["delete"](array2);stack["delete"](other);return result;}var Uint8Array$1=root$1.Uint8Array;const Uint8Array$2=Uint8Array$1;function mapToArray(map2){var index2=-1,result=Array(map2.size);map2.forEach(function(value2,key){result[++index2]=[key,value2];});return result;}function setToArray(set2){var index2=-1,result=Array(set2.size);set2.forEach(function(value2){result[++index2]=value2;});return result;}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2;var boolTag$2="[object Boolean]",dateTag$2="[object Date]",errorTag$1="[object Error]",mapTag$4="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$4="[object Set]",stringTag$2="[object String]",symbolTag$3="[object Symbol]";var arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$3="[object DataView]";var symbolProto$2=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf$1=symbolProto$2?symbolProto$2.valueOf:void 0;function equalByTag(object2,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag$3:if(object2.byteLength!=other.byteLength||object2.byteOffset!=other.byteOffset){return false;}object2=object2.buffer;other=other.buffer;case arrayBufferTag$2:if(object2.byteLength!=other.byteLength||!equalFunc(new Uint8Array$2(object2),new Uint8Array$2(other))){return false;}return true;case boolTag$2:case dateTag$2:case numberTag$2:return eq(+object2,+other);case errorTag$1:return object2.name==other.name&&object2.message==other.message;case regexpTag$2:case stringTag$2:return object2==other+"";case mapTag$4:var convert=mapToArray;case setTag$4:var isPartial=bitmask&COMPARE_PARTIAL_FLAG$4;convert||(convert=setToArray);if(object2.size!=other.size&&!isPartial){return false;}var stacked=stack.get(object2);if(stacked){return stacked==other;}bitmask|=COMPARE_UNORDERED_FLAG$2;stack.set(object2,other);var result=equalArrays(convert(object2),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object2);return result;case symbolTag$3:if(symbolValueOf$1){return symbolValueOf$1.call(object2)==symbolValueOf$1.call(other);}}return false;}function arrayPush(array2,values){var index2=-1,length2=values.length,offset=array2.length;while(++index2<length2){array2[offset+index2]=values[index2];}return array2;}function baseGetAllKeys(object2,keysFunc,symbolsFunc){var result=keysFunc(object2);return isArray$1(object2)?result:arrayPush(result,symbolsFunc(object2));}function arrayFilter(array2,predicate){var index2=-1,length2=array2==null?0:array2.length,resIndex=0,result=[];while(++index2<length2){var value2=array2[index2];if(predicate(value2,index2,array2)){result[resIndex++]=value2;}}return result;}function stubArray(){return[];}var objectProto$5=Object.prototype;var propertyIsEnumerable=objectProto$5.propertyIsEnumerable;var nativeGetSymbols$1=Object.getOwnPropertySymbols;var getSymbols=!nativeGetSymbols$1?stubArray:function(object2){if(object2==null){return[];}object2=Object(object2);return arrayFilter(nativeGetSymbols$1(object2),function(symbol){return propertyIsEnumerable.call(object2,symbol);});};const getSymbols$1=getSymbols;function getAllKeys(object2){return baseGetAllKeys(object2,keys,getSymbols$1);}var COMPARE_PARTIAL_FLAG$3=1;var objectProto$4=Object.prototype;var hasOwnProperty$4=objectProto$4.hasOwnProperty;function equalObjects(object2,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$3,objProps=getAllKeys(object2),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false;}var index2=objLength;while(index2--){var key=objProps[index2];if(!(isPartial?key in other:hasOwnProperty$4.call(other,key))){return false;}}var objStacked=stack.get(object2);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object2;}var result=true;stack.set(object2,other);stack.set(other,object2);var skipCtor=isPartial;while(++index2<objLength){key=objProps[index2];var objValue=object2[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object2,stack):customizer(objValue,othValue,key,object2,other,stack);}if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break;}skipCtor||(skipCtor=key=="constructor");}if(result&&!skipCtor){var objCtor=object2.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object2&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false;}}stack["delete"](object2);stack["delete"](other);return result;}var DataView$1=getNative(root$1,"DataView");const DataView$2=DataView$1;var Promise$1=getNative(root$1,"Promise");const Promise$2=Promise$1;var Set$1=getNative(root$1,"Set");const Set$2=Set$1;var WeakMap$1=getNative(root$1,"WeakMap");const WeakMap$2=WeakMap$1;var mapTag$3="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]";var dataViewTag$2="[object DataView]";var dataViewCtorString=toSource(DataView$2),mapCtorString=toSource(Map$2),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$2),weakMapCtorString=toSource(WeakMap$2);var getTag=baseGetTag;if(DataView$2&&getTag(new DataView$2(new ArrayBuffer(1)))!=dataViewTag$2||Map$2&&getTag(new Map$2())!=mapTag$3||Promise$2&&getTag(Promise$2.resolve())!=promiseTag||Set$2&&getTag(new Set$2())!=setTag$3||WeakMap$2&&getTag(new WeakMap$2())!=weakMapTag$1){getTag=function(value2){var result=baseGetTag(value2),Ctor=result==objectTag$2?value2.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1;}}return result;};}const getTag$1=getTag;var COMPARE_PARTIAL_FLAG$2=1;var argsTag$1="[object Arguments]",arrayTag$1="[object Array]",objectTag$1="[object Object]";var objectProto$3=Object.prototype;var hasOwnProperty$3=objectProto$3.hasOwnProperty;function baseIsEqualDeep(object2,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray$1(object2),othIsArr=isArray$1(other),objTag=objIsArr?arrayTag$1:getTag$1(object2),othTag=othIsArr?arrayTag$1:getTag$1(other);objTag=objTag==argsTag$1?objectTag$1:objTag;othTag=othTag==argsTag$1?objectTag$1:othTag;var objIsObj=objTag==objectTag$1,othIsObj=othTag==objectTag$1,isSameTag=objTag==othTag;if(isSameTag&&isBuffer$1(object2)){if(!isBuffer$1(other)){return false;}objIsArr=true;objIsObj=false;}if(isSameTag&&!objIsObj){stack||(stack=new Stack());return objIsArr||isTypedArray$1(object2)?equalArrays(object2,other,bitmask,customizer,equalFunc,stack):equalByTag(object2,other,objTag,bitmask,customizer,equalFunc,stack);}if(!(bitmask&COMPARE_PARTIAL_FLAG$2)){var objIsWrapped=objIsObj&&hasOwnProperty$3.call(object2,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty$3.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object2.value():object2,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack());return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack);}}if(!isSameTag){return false;}stack||(stack=new Stack());return equalObjects(object2,other,bitmask,customizer,equalFunc,stack);}function baseIsEqual(value2,other,bitmask,customizer,stack){if(value2===other){return true;}if(value2==null||other==null||!isObjectLike(value2)&&!isObjectLike(other)){return value2!==value2&&other!==other;}return baseIsEqualDeep(value2,other,bitmask,customizer,baseIsEqual,stack);}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(object2,source,matchData,customizer){var index2=matchData.length,length2=index2,noCustomizer=!customizer;if(object2==null){return!length2;}object2=Object(object2);while(index2--){var data2=matchData[index2];if(noCustomizer&&data2[2]?data2[1]!==object2[data2[0]]:!(data2[0]in object2)){return false;}}while(++index2<length2){data2=matchData[index2];var key=data2[0],objValue=object2[key],srcValue=data2[1];if(noCustomizer&&data2[2]){if(objValue===void 0&&!(key in object2)){return false;}}else{var stack=new Stack();if(customizer){var result=customizer(objValue,srcValue,key,object2,source,stack);}if(!(result===void 0?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,customizer,stack):result)){return false;}}}return true;}function isStrictComparable(value2){return value2===value2&&!isObject(value2);}function getMatchData(object2){var result=keys(object2),length2=result.length;while(length2--){var key=result[length2],value2=object2[key];result[length2]=[key,value2,isStrictComparable(value2)];}return result;}function matchesStrictComparable(key,srcValue){return function(object2){if(object2==null){return false;}return object2[key]===srcValue&&(srcValue!==void 0||key in Object(object2));};}function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1]);}return function(object2){return object2===source||baseIsMatch(object2,source,matchData);};}var symbolTag$2="[object Symbol]";function isSymbol(value2){return typeof value2=="symbol"||isObjectLike(value2)&&baseGetTag(value2)==symbolTag$2;}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value2,object2){if(isArray$1(value2)){return false;}var type2=typeof value2;if(type2=="number"||type2=="symbol"||type2=="boolean"||value2==null||isSymbol(value2)){return true;}return reIsPlainProp.test(value2)||!reIsDeepProp.test(value2)||object2!=null&&value2 in Object(object2);}var FUNC_ERROR_TEXT$2="Expected a function";function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT$2);}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache2=memoized.cache;if(cache2.has(key)){return cache2.get(key);}var result=func.apply(this,args);memoized.cache=cache2.set(key,result)||cache2;return result;};memoized.cache=new(memoize.Cache||MapCache)();return memoized;}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(func){var result=memoize(func,function(key){if(cache2.size===MAX_MEMOIZE_SIZE){cache2.clear();}return key;});var cache2=result.cache;return result;}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar=/\\(\\)?/g;var stringToPath=memoizeCapped(function(string){var result=[];if(string.charCodeAt(0)===46){result.push("");}string.replace(rePropName,function(match,number3,quote2,subString){result.push(quote2?subString.replace(reEscapeChar,"$1"):number3||match);});return result;});const stringToPath$1=stringToPath;var INFINITY$1=1/0;var symbolProto$1=Symbol$2?Symbol$2.prototype:void 0,symbolToString=symbolProto$1?symbolProto$1.toString:void 0;function baseToString(value2){if(typeof value2=="string"){return value2;}if(isArray$1(value2)){return arrayMap(value2,baseToString)+"";}if(isSymbol(value2)){return symbolToString?symbolToString.call(value2):"";}var result=value2+"";return result=="0"&&1/value2==-INFINITY$1?"-0":result;}function toString(value2){return value2==null?"":baseToString(value2);}function castPath(value2,object2){if(isArray$1(value2)){return value2;}return isKey(value2,object2)?[value2]:stringToPath$1(toString(value2));}var INFINITY=1/0;function toKey(value2){if(typeof value2=="string"||isSymbol(value2)){return value2;}var result=value2+"";return result=="0"&&1/value2==-INFINITY?"-0":result;}function baseGet(object2,path){path=castPath(path,object2);var index2=0,length2=path.length;while(object2!=null&&index2<length2){object2=object2[toKey(path[index2++])];}return index2&&index2==length2?object2:void 0;}function get$1(object2,path,defaultValue){var result=object2==null?void 0:baseGet(object2,path);return result===void 0?defaultValue:result;}function baseHasIn(object2,key){return object2!=null&&key in Object(object2);}function hasPath(object2,path,hasFunc){path=castPath(path,object2);var index2=-1,length2=path.length,result=false;while(++index2<length2){var key=toKey(path[index2]);if(!(result=object2!=null&&hasFunc(object2,key))){break;}object2=object2[key];}if(result||++index2!=length2){return result;}length2=object2==null?0:object2.length;return!!length2&&isLength(length2)&&isIndex(key,length2)&&(isArray$1(object2)||isArguments$1(object2));}function hasIn(object2,path){return object2!=null&&hasPath(object2,path,baseHasIn);}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue);}return function(object2){var objValue=get$1(object2,path);return objValue===void 0&&objValue===srcValue?hasIn(object2,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG);};}function baseProperty(key){return function(object2){return object2==null?void 0:object2[key];};}function basePropertyDeep(path){return function(object2){return baseGet(object2,path);};}function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path);}function baseIteratee(value2){if(typeof value2=="function"){return value2;}if(value2==null){return identity;}if(typeof value2=="object"){return isArray$1(value2)?baseMatchesProperty(value2[0],value2[1]):baseMatches(value2);}return property(value2);}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(collection==null){return collection;}if(!isArrayLike(collection)){return eachFunc(collection,iteratee);}var length2=collection.length,index2=fromRight?length2:-1,iterable=Object(collection);while(fromRight?index2--:++index2<length2){if(iteratee(iterable[index2],index2,iterable)===false){break;}}return collection;};}var baseEach=createBaseEach(baseForOwn);const baseEach$1=baseEach;function baseMap(collection,iteratee){var index2=-1,result=isArrayLike(collection)?Array(collection.length):[];baseEach$1(collection,function(value2,key,collection2){result[++index2]=iteratee(value2,key,collection2);});return result;}function map(collection,iteratee){var func=isArray$1(collection)?arrayMap:baseMap;return func(collection,baseIteratee(iteratee));}const map$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:map},Symbol.toStringTag,{value:"Module"}));const require$$3=/* @__PURE__ */getAugmentedNamespace(map$1);Object.defineProperty(flattenNames$1,"__esModule",{value:true});flattenNames$1.flattenNames=void 0;var _isString2=require$$0$1;var _isString3=_interopRequireDefault$7(_isString2);var _forOwn2$2=require$$0;var _forOwn3$2=_interopRequireDefault$7(_forOwn2$2);var _isPlainObject2=require$$2;var _isPlainObject3=_interopRequireDefault$7(_isPlainObject2);var _map2=require$$3;var _map3=_interopRequireDefault$7(_map2);function _interopRequireDefault$7(obj){return obj&&obj.__esModule?obj:{default:obj};}var flattenNames=flattenNames$1.flattenNames=function flattenNames2(){var things=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];var names2=[];(0,_map3.default)(things,function(thing){if(Array.isArray(thing)){flattenNames2(thing).map(function(name){return names2.push(name);});}else if((0,_isPlainObject3.default)(thing)){(0,_forOwn3$2.default)(thing,function(value2,key){value2===true&&names2.push(key);names2.push(key+"-"+value2);});}else if((0,_isString3.default)(thing)){names2.push(thing);}});return names2;};flattenNames$1.default=flattenNames;var mergeClasses$1={};function arrayEach(array2,iteratee){var index2=-1,length2=array2==null?0:array2.length;while(++index2<length2){if(iteratee(array2[index2],index2,array2)===false){break;}}return array2;}var defineProperty=function(){try{var func=getNative(Object,"defineProperty");func({},"",{});return func;}catch(e){}}();const defineProperty$1=defineProperty;function baseAssignValue(object2,key,value2){if(key=="__proto__"&&defineProperty$1){defineProperty$1(object2,key,{"configurable":true,"enumerable":true,"value":value2,"writable":true});}else{object2[key]=value2;}}var objectProto$2=Object.prototype;var hasOwnProperty$2=objectProto$2.hasOwnProperty;function assignValue(object2,key,value2){var objValue=object2[key];if(!(hasOwnProperty$2.call(object2,key)&&eq(objValue,value2))||value2===void 0&&!(key in object2)){baseAssignValue(object2,key,value2);}}function copyObject(source,props,object2,customizer){var isNew=!object2;object2||(object2={});var index2=-1,length2=props.length;while(++index2<length2){var key=props[index2];var newValue=customizer?customizer(object2[key],source[key],key,object2,source):void 0;if(newValue===void 0){newValue=source[key];}if(isNew){baseAssignValue(object2,key,newValue);}else{assignValue(object2,key,newValue);}}return object2;}function baseAssign(object2,source){return object2&&copyObject(source,keys(source),object2);}function nativeKeysIn(object2){var result=[];if(object2!=null){for(var key in Object(object2)){result.push(key);}}return result;}var objectProto$1=Object.prototype;var hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseKeysIn(object2){if(!isObject(object2)){return nativeKeysIn(object2);}var isProto=isPrototype(object2),result=[];for(var key in object2){if(!(key=="constructor"&&(isProto||!hasOwnProperty$1.call(object2,key)))){result.push(key);}}return result;}function keysIn(object2){return isArrayLike(object2)?arrayLikeKeys(object2,true):baseKeysIn(object2);}function baseAssignIn(object2,source){return object2&&copyObject(source,keysIn(source),object2);}var freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var Buffer$1=moduleExports?root$1.Buffer:void 0,allocUnsafe=Buffer$1?Buffer$1.allocUnsafe:void 0;function cloneBuffer(buffer2,isDeep){if(isDeep){return buffer2.slice();}var length2=buffer2.length,result=allocUnsafe?allocUnsafe(length2):new buffer2.constructor(length2);buffer2.copy(result);return result;}function copyArray(source,array2){var index2=-1,length2=source.length;array2||(array2=Array(length2));while(++index2<length2){array2[index2]=source[index2];}return array2;}function copySymbols(source,object2){return copyObject(source,getSymbols$1(source),object2);}var nativeGetSymbols=Object.getOwnPropertySymbols;var getSymbolsIn=!nativeGetSymbols?stubArray:function(object2){var result=[];while(object2){arrayPush(result,getSymbols$1(object2));object2=getPrototype$1(object2);}return result;};const getSymbolsIn$1=getSymbolsIn;function copySymbolsIn(source,object2){return copyObject(source,getSymbolsIn$1(source),object2);}function getAllKeysIn(object2){return baseGetAllKeys(object2,keysIn,getSymbolsIn$1);}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function initCloneArray(array2){var length2=array2.length,result=new array2.constructor(length2);if(length2&&typeof array2[0]=="string"&&hasOwnProperty.call(array2,"index")){result.index=array2.index;result.input=array2.input;}return result;}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));return result;}function cloneDataView(dataView,isDeep){var buffer2=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer2,dataView.byteOffset,dataView.byteLength);}var reFlags=/\w*$/;function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));result.lastIndex=regexp.lastIndex;return result;}var symbolProto=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{};}function cloneTypedArray(typedArray,isDeep){var buffer2=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer2,typedArray.byteOffset,typedArray.length);}var boolTag$1="[object Boolean]",dateTag$1="[object Date]",mapTag$2="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]";var arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(object2,tag,isDeep){var Ctor=object2.constructor;switch(tag){case arrayBufferTag$1:return cloneArrayBuffer(object2);case boolTag$1:case dateTag$1:return new Ctor(+object2);case dataViewTag$1:return cloneDataView(object2,isDeep);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(object2,isDeep);case mapTag$2:return new Ctor();case numberTag$1:case stringTag$1:return new Ctor(object2);case regexpTag$1:return cloneRegExp(object2);case setTag$2:return new Ctor();case symbolTag$1:return cloneSymbol(object2);}}var objectCreate=Object.create;var baseCreate=function(){function object2(){}return function(proto2){if(!isObject(proto2)){return{};}if(objectCreate){return objectCreate(proto2);}object2.prototype=proto2;var result=new object2();object2.prototype=void 0;return result;};}();const baseCreate$1=baseCreate;function initCloneObject(object2){return typeof object2.constructor=="function"&&!isPrototype(object2)?baseCreate$1(getPrototype$1(object2)):{};}var mapTag$1="[object Map]";function baseIsMap(value2){return isObjectLike(value2)&&getTag$1(value2)==mapTag$1;}var nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap;var isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap;const isMap$1=isMap;var setTag$1="[object Set]";function baseIsSet(value2){return isObjectLike(value2)&&getTag$1(value2)==setTag$1;}var nodeIsSet=nodeUtil$1&&nodeUtil$1.isSet;var isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet;const isSet$1=isSet;var CLONE_DEEP_FLAG$1=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$1=4;var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=false;function baseClone(value2,bitmask,customizer,key,object2,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG$1,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG$1;if(customizer){result=object2?customizer(value2,key,object2,stack):customizer(value2);}if(result!==void 0){return result;}if(!isObject(value2)){return value2;}var isArr=isArray$1(value2);if(isArr){result=initCloneArray(value2);if(!isDeep){return copyArray(value2,result);}}else{var tag=getTag$1(value2),isFunc=tag==funcTag||tag==genTag;if(isBuffer$1(value2)){return cloneBuffer(value2,isDeep);}if(tag==objectTag||tag==argsTag||isFunc&&!object2){result=isFlat||isFunc?{}:initCloneObject(value2);if(!isDeep){return isFlat?copySymbolsIn(value2,baseAssignIn(result,value2)):copySymbols(value2,baseAssign(result,value2));}}else{if(!cloneableTags[tag]){return object2?value2:{};}result=initCloneByTag(value2,tag,isDeep);}}stack||(stack=new Stack());var stacked=stack.get(value2);if(stacked){return stacked;}stack.set(value2,result);if(isSet$1(value2)){value2.forEach(function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value2,stack));});}else if(isMap$1(value2)){value2.forEach(function(subValue,key2){result.set(key2,baseClone(subValue,bitmask,customizer,key2,value2,stack));});}var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys;var props=isArr?void 0:keysFunc(value2);arrayEach(props||value2,function(subValue,key2){if(props){key2=subValue;subValue=value2[key2];}assignValue(result,key2,baseClone(subValue,bitmask,customizer,key2,value2,stack));});return result;}var CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep(value2){return baseClone(value2,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG);}const cloneDeep$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:cloneDeep},Symbol.toStringTag,{value:"Module"}));const require$$1=/* @__PURE__ */getAugmentedNamespace(cloneDeep$1);Object.defineProperty(mergeClasses$1,"__esModule",{value:true});mergeClasses$1.mergeClasses=void 0;var _forOwn2$1=require$$0;var _forOwn3$1=_interopRequireDefault$6(_forOwn2$1);var _cloneDeep2=require$$1;var _cloneDeep3=_interopRequireDefault$6(_cloneDeep2);var _extends$g=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _interopRequireDefault$6(obj){return obj&&obj.__esModule?obj:{default:obj};}var mergeClasses=mergeClasses$1.mergeClasses=function mergeClasses2(classes2){var activeNames=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];var styles2=classes2.default&&(0,_cloneDeep3.default)(classes2.default)||{};activeNames.map(function(name){var toMerge=classes2[name];if(toMerge){(0,_forOwn3$1.default)(toMerge,function(value2,key){if(!styles2[key]){styles2[key]={};}styles2[key]=_extends$g({},styles2[key],toMerge[key]);});}return name;});return styles2;};mergeClasses$1.default=mergeClasses;var autoprefix$1={};Object.defineProperty(autoprefix$1,"__esModule",{value:true});autoprefix$1.autoprefix=void 0;var _forOwn2=require$$0;var _forOwn3=_interopRequireDefault$5(_forOwn2);var _extends$f=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _interopRequireDefault$5(obj){return obj&&obj.__esModule?obj:{default:obj};}var transforms={borderRadius:function borderRadius(value2){return{msBorderRadius:value2,MozBorderRadius:value2,OBorderRadius:value2,WebkitBorderRadius:value2,borderRadius:value2};},boxShadow:function boxShadow(value2){return{msBoxShadow:value2,MozBoxShadow:value2,OBoxShadow:value2,WebkitBoxShadow:value2,boxShadow:value2};},userSelect:function userSelect(value2){return{WebkitTouchCallout:value2,KhtmlUserSelect:value2,MozUserSelect:value2,msUserSelect:value2,WebkitUserSelect:value2,userSelect:value2};},flex:function flex(value2){return{WebkitBoxFlex:value2,MozBoxFlex:value2,WebkitFlex:value2,msFlex:value2,flex:value2};},flexBasis:function flexBasis(value2){return{WebkitFlexBasis:value2,flexBasis:value2};},justifyContent:function justifyContent(value2){return{WebkitJustifyContent:value2,justifyContent:value2};},transition:function transition2(value2){return{msTransition:value2,MozTransition:value2,OTransition:value2,WebkitTransition:value2,transition:value2};},transform:function transform2(value2){return{msTransform:value2,MozTransform:value2,OTransform:value2,WebkitTransform:value2,transform:value2};},absolute:function absolute(value2){var direction=value2&&value2.split(" ");return{position:"absolute",top:direction&&direction[0],right:direction&&direction[1],bottom:direction&&direction[2],left:direction&&direction[3]};},extend:function extend2(name,otherElementStyles){var otherStyle=otherElementStyles[name];if(otherStyle){return otherStyle;}return{"extend":name};}};var autoprefix=autoprefix$1.autoprefix=function autoprefix2(elements){var prefixed={};(0,_forOwn3.default)(elements,function(styles2,element){var expanded={};(0,_forOwn3.default)(styles2,function(value2,key){var transform2=transforms[key];if(transform2){expanded=_extends$f({},expanded,transform2(value2));}else{expanded[key]=value2;}});prefixed[element]=expanded;});return prefixed;};autoprefix$1.default=autoprefix;var hover$1={};Object.defineProperty(hover$1,"__esModule",{value:true});hover$1.hover=void 0;var _extends$e=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$4=React__default.default;var _react2$3=_interopRequireDefault$4(_react$4);function _interopRequireDefault$4(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck$a(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$a(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$a(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var hover=hover$1.hover=function hover2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$a(Hover,_React$Component);function Hover(){var _ref;var _temp,_this,_ret;_classCallCheck$a(this,Hover);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$a(this,(_ref=Hover.__proto__||Object.getPrototypeOf(Hover)).call.apply(_ref,[this].concat(args))),_this),_this.state={hover:false},_this.handleMouseOver=function(){return _this.setState({hover:true});},_this.handleMouseOut=function(){return _this.setState({hover:false});},_this.render=function(){return _react2$3.default.createElement(Span,{onMouseOver:_this.handleMouseOver,onMouseOut:_this.handleMouseOut},_react2$3.default.createElement(Component,_extends$e({},_this.props,_this.state)));},_temp),_possibleConstructorReturn$a(_this,_ret);}return Hover;}(_react2$3.default.Component);};hover$1.default=hover;var active$1={};Object.defineProperty(active$1,"__esModule",{value:true});active$1.active=void 0;var _extends$d=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$3=React__default.default;var _react2$2=_interopRequireDefault$3(_react$3);function _interopRequireDefault$3(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck$9(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$9(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$9(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var active=active$1.active=function active2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$9(Active,_React$Component);function Active(){var _ref;var _temp,_this,_ret;_classCallCheck$9(this,Active);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$9(this,(_ref=Active.__proto__||Object.getPrototypeOf(Active)).call.apply(_ref,[this].concat(args))),_this),_this.state={active:false},_this.handleMouseDown=function(){return _this.setState({active:true});},_this.handleMouseUp=function(){return _this.setState({active:false});},_this.render=function(){return _react2$2.default.createElement(Span,{onMouseDown:_this.handleMouseDown,onMouseUp:_this.handleMouseUp},_react2$2.default.createElement(Component,_extends$d({},_this.props,_this.state)));},_temp),_possibleConstructorReturn$9(_this,_ret);}return Active;}(_react2$2.default.Component);};active$1.default=active;var loop={};Object.defineProperty(loop,"__esModule",{value:true});var loopable=function loopable2(i2,length2){var props={};var setProp2=function setProp3(name){var value2=arguments.length>1&&arguments[1]!==void 0?arguments[1]:true;props[name]=value2;};i2===0&&setProp2("first-child");i2===length2-1&&setProp2("last-child");(i2===0||i2%2===0)&&setProp2("even");Math.abs(i2%2)===1&&setProp2("odd");setProp2("nth-child",i2);return props;};loop.default=loopable;Object.defineProperty(lib$2,"__esModule",{value:true});lib$2.ReactCSS=lib$2.loop=lib$2.handleActive=handleHover=lib$2.handleHover=lib$2.hover=void 0;var _flattenNames=flattenNames$1;var _flattenNames2=_interopRequireDefault$2(_flattenNames);var _mergeClasses=mergeClasses$1;var _mergeClasses2=_interopRequireDefault$2(_mergeClasses);var _autoprefix=autoprefix$1;var _autoprefix2=_interopRequireDefault$2(_autoprefix);var _hover2=hover$1;var _hover3=_interopRequireDefault$2(_hover2);var _active=active$1;var _active2=_interopRequireDefault$2(_active);var _loop2=loop;var _loop3=_interopRequireDefault$2(_loop2);function _interopRequireDefault$2(obj){return obj&&obj.__esModule?obj:{default:obj};}lib$2.hover=_hover3.default;var handleHover=lib$2.handleHover=_hover3.default;lib$2.handleActive=_active2.default;lib$2.loop=_loop3.default;var ReactCSS=lib$2.ReactCSS=function ReactCSS2(classes2){for(var _len=arguments.length,activations=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){activations[_key-1]=arguments[_key];}var activeNames=(0,_flattenNames2.default)(activations);var merged=(0,_mergeClasses2.default)(classes2,activeNames);return(0,_autoprefix2.default)(merged);};var _default$3=lib$2.default=ReactCSS;var calculateChange$2=function calculateChange2(e,hsl2,direction,initialA,container){var containerWidth=container.clientWidth;var containerHeight=container.clientHeight;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(direction==="vertical"){var a=void 0;if(top2<0){a=0;}else if(top2>containerHeight){a=1;}else{a=Math.round(top2*100/containerHeight)/100;}if(hsl2.a!==a){return{h:hsl2.h,s:hsl2.s,l:hsl2.l,a,source:"rgb"};}}else{var _a=void 0;if(left2<0){_a=0;}else if(left2>containerWidth){_a=1;}else{_a=Math.round(left2*100/containerWidth)/100;}if(initialA!==_a){return{h:hsl2.h,s:hsl2.s,l:hsl2.l,a:_a,source:"rgb"};}}return null;};var checkboardCache={};var render=function render2(c1,c2,size,serverCanvas){if(typeof document==="undefined"&&!serverCanvas){return null;}var canvas=serverCanvas?new serverCanvas():document.createElement("canvas");canvas.width=size*2;canvas.height=size*2;var ctx=canvas.getContext("2d");if(!ctx){return null;}ctx.fillStyle=c1;ctx.fillRect(0,0,canvas.width,canvas.height);ctx.fillStyle=c2;ctx.fillRect(0,0,size,size);ctx.translate(size,size);ctx.fillRect(0,0,size,size);return canvas.toDataURL();};var get=function get2(c1,c2,size,serverCanvas){var key=c1+"-"+c2+"-"+size+(serverCanvas?"-server":"");if(checkboardCache[key]){return checkboardCache[key];}var checkboard=render(c1,c2,size,serverCanvas);checkboardCache[key]=checkboard;return checkboard;};var _extends$c=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Checkboard=function Checkboard2(_ref){var white=_ref.white,grey=_ref.grey,size=_ref.size,renderers=_ref.renderers,borderRadius=_ref.borderRadius,boxShadow=_ref.boxShadow,children2=_ref.children;var styles2=_default$3({"default":{grid:{borderRadius,boxShadow,absolute:"0px 0px 0px 0px",background:"url("+get(white,grey,size,renderers.canvas)+") center left"}}});return React$3.isValidElement(children2)?React__default.default.cloneElement(children2,_extends$c({},children2.props,{style:_extends$c({},children2.props.style,styles2.grid)})):React__default.default.createElement("div",{style:styles2.grid});};Checkboard.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var _extends$b=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$8=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$8(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$8(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$8(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Alpha=function(_ref){_inherits$8(Alpha2,_ref);function Alpha2(){var _ref2;var _temp,_this,_ret;_classCallCheck$8(this,Alpha2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$8(this,(_ref2=Alpha2.__proto__||Object.getPrototypeOf(Alpha2)).call.apply(_ref2,[this].concat(args))),_this),_this.handleChange=function(e){var change=calculateChange$2(e,_this.props.hsl,_this.props.direction,_this.props.a,_this.container);change&&typeof _this.props.onChange==="function"&&_this.props.onChange(change,e);},_this.handleMouseDown=function(e){_this.handleChange(e);window.addEventListener("mousemove",_this.handleChange);window.addEventListener("mouseup",_this.handleMouseUp);},_this.handleMouseUp=function(){_this.unbindEventListeners();},_this.unbindEventListeners=function(){window.removeEventListener("mousemove",_this.handleChange);window.removeEventListener("mouseup",_this.handleMouseUp);},_temp),_possibleConstructorReturn$8(_this,_ret);}_createClass$8(Alpha2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"render",value:function render2(){var _this2=this;var rgb2=this.props.rgb;var styles2=_default$3({"default":{alpha:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},checkboard:{absolute:"0px 0px 0px 0px",overflow:"hidden",borderRadius:this.props.radius},gradient:{absolute:"0px 0px 0px 0px",background:"linear-gradient(to right, rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 0) 0%,\n rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 1) 100%)",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:"relative",height:"100%",margin:"0 3px"},pointer:{position:"absolute",left:rgb2.a*100+"%"},slider:{width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",marginTop:"1px",transform:"translateX(-2px)"}},"vertical":{gradient:{background:"linear-gradient(to bottom, rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 0) 0%,\n rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 1) 100%)"},pointer:{left:0,top:rgb2.a*100+"%"}},"overwrite":_extends$b({},this.props.style)},{vertical:this.props.direction==="vertical",overwrite:true});return React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement("div",{style:styles2.checkboard},React__default.default.createElement(Checkboard,{renderers:this.props.renderers})),React__default.default.createElement("div",{style:styles2.gradient}),React__default.default.createElement("div",{style:styles2.container,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.slider}))));}}]);return Alpha2;}(React$3.PureComponent||React$3.Component);var _createClass$7=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value2){if(key in obj){Object.defineProperty(obj,key,{value:value2,enumerable:true,configurable:true,writable:true});}else{obj[key]=value2;}return obj;}function _classCallCheck$7(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$7(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$7(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var DEFAULT_ARROW_OFFSET=1;var UP_KEY_CODE=38;var DOWN_KEY_CODE=40;var VALID_KEY_CODES=[UP_KEY_CODE,DOWN_KEY_CODE];var isValidKeyCode=function isValidKeyCode2(keyCode){return VALID_KEY_CODES.indexOf(keyCode)>-1;};var getNumberValue=function getNumberValue2(value2){return Number(String(value2).replace(/%/g,""));};var idCounter=1;var EditableInput=function(_ref){_inherits$7(EditableInput2,_ref);function EditableInput2(props){_classCallCheck$7(this,EditableInput2);var _this=_possibleConstructorReturn$7(this,(EditableInput2.__proto__||Object.getPrototypeOf(EditableInput2)).call(this));_this.handleBlur=function(){if(_this.state.blurValue){_this.setState({value:_this.state.blurValue,blurValue:null});}};_this.handleChange=function(e){_this.setUpdatedValue(e.target.value,e);};_this.handleKeyDown=function(e){var value2=getNumberValue(e.target.value);if(!isNaN(value2)&&isValidKeyCode(e.keyCode)){var offset=_this.getArrowOffset();var updatedValue=e.keyCode===UP_KEY_CODE?value2+offset:value2-offset;_this.setUpdatedValue(updatedValue,e);}};_this.handleDrag=function(e){if(_this.props.dragLabel){var newValue=Math.round(_this.props.value+e.movementX);if(newValue>=0&&newValue<=_this.props.dragMax){_this.props.onChange&&_this.props.onChange(_this.getValueObjectWithLabel(newValue),e);}}};_this.handleMouseDown=function(e){if(_this.props.dragLabel){e.preventDefault();_this.handleDrag(e);window.addEventListener("mousemove",_this.handleDrag);window.addEventListener("mouseup",_this.handleMouseUp);}};_this.handleMouseUp=function(){_this.unbindEventListeners();};_this.unbindEventListeners=function(){window.removeEventListener("mousemove",_this.handleDrag);window.removeEventListener("mouseup",_this.handleMouseUp);};_this.state={value:String(props.value).toUpperCase(),blurValue:String(props.value).toUpperCase()};_this.inputId="rc-editable-input-"+idCounter++;return _this;}_createClass$7(EditableInput2,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(this.props.value!==this.state.value&&(prevProps.value!==this.props.value||prevState.value!==this.state.value)){if(this.input===document.activeElement){this.setState({blurValue:String(this.props.value).toUpperCase()});}else{this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()});}}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"getValueObjectWithLabel",value:function getValueObjectWithLabel(value2){return _defineProperty({},this.props.label,value2);}},{key:"getArrowOffset",value:function getArrowOffset(){return this.props.arrowOffset||DEFAULT_ARROW_OFFSET;}},{key:"setUpdatedValue",value:function setUpdatedValue(value2,e){var onChangeValue=this.props.label?this.getValueObjectWithLabel(value2):value2;this.props.onChange&&this.props.onChange(onChangeValue,e);this.setState({value:value2});}},{key:"render",value:function render2(){var _this2=this;var styles2=_default$3({"default":{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":true},this.props);return React__default.default.createElement("div",{style:styles2.wrap},React__default.default.createElement("input",{id:this.inputId,style:styles2.input,ref:function ref2(input){return _this2.input=input;},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?React__default.default.createElement("label",{htmlFor:this.inputId,style:styles2.label,onMouseDown:this.handleMouseDown},this.props.label):null);}}]);return EditableInput2;}(React$3.PureComponent||React$3.Component);var calculateChange$1=function calculateChange2(e,direction,hsl2,container){var containerWidth=container.clientWidth;var containerHeight=container.clientHeight;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(direction==="vertical"){var h=void 0;if(top2<0){h=359;}else if(top2>containerHeight){h=0;}else{var percent=-(top2*100/containerHeight)+100;h=360*percent/100;}if(hsl2.h!==h){return{h,s:hsl2.s,l:hsl2.l,a:hsl2.a,source:"hsl"};}}else{var _h=void 0;if(left2<0){_h=0;}else if(left2>containerWidth){_h=359;}else{var _percent=left2*100/containerWidth;_h=360*_percent/100;}if(hsl2.h!==_h){return{h:_h,s:hsl2.s,l:hsl2.l,a:hsl2.a,source:"hsl"};}}return null;};var _createClass$6=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$6(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$6(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$6(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Hue=function(_ref){_inherits$6(Hue2,_ref);function Hue2(){var _ref2;var _temp,_this,_ret;_classCallCheck$6(this,Hue2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$6(this,(_ref2=Hue2.__proto__||Object.getPrototypeOf(Hue2)).call.apply(_ref2,[this].concat(args))),_this),_this.handleChange=function(e){var change=calculateChange$1(e,_this.props.direction,_this.props.hsl,_this.container);change&&typeof _this.props.onChange==="function"&&_this.props.onChange(change,e);},_this.handleMouseDown=function(e){_this.handleChange(e);window.addEventListener("mousemove",_this.handleChange);window.addEventListener("mouseup",_this.handleMouseUp);},_this.handleMouseUp=function(){_this.unbindEventListeners();},_temp),_possibleConstructorReturn$6(_this,_ret);}_createClass$6(Hue2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"unbindEventListeners",value:function unbindEventListeners(){window.removeEventListener("mousemove",this.handleChange);window.removeEventListener("mouseup",this.handleMouseUp);}},{key:"render",value:function render2(){var _this2=this;var _props$direction=this.props.direction,direction=_props$direction===void 0?"horizontal":_props$direction;var styles2=_default$3({"default":{hue:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:"0 2px",position:"relative",height:"100%",borderRadius:this.props.radius},pointer:{position:"absolute",left:this.props.hsl.h*100/360+"%"},slider:{marginTop:"1px",width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",transform:"translateX(-2px)"}},"vertical":{pointer:{left:"0px",top:-(this.props.hsl.h*100/360)+100+"%"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement("div",{className:"hue-"+direction,style:styles2.container,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("style",null,"\n .hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n\n .hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n "),React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.slider}))));}}]);return Hue2;}(React$3.PureComponent||React$3.Component);function assignMergeValue(object2,key,value2){if(value2!==void 0&&!eq(object2[key],value2)||value2===void 0&&!(key in object2)){baseAssignValue(object2,key,value2);}}function isArrayLikeObject(value2){return isObjectLike(value2)&&isArrayLike(value2);}function safeGet(object2,key){if(key==="constructor"&&typeof object2[key]==="function"){return;}if(key=="__proto__"){return;}return object2[key];}function toPlainObject(value2){return copyObject(value2,keysIn(value2));}function baseMergeDeep(object2,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object2,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object2,key,stacked);return;}var newValue=customizer?customizer(objValue,srcValue,key+"",object2,source,stack):void 0;var isCommon=newValue===void 0;if(isCommon){var isArr=isArray$1(srcValue),isBuff=!isArr&&isBuffer$1(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray$1(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray$1(objValue)){newValue=objValue;}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue);}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true);}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true);}else{newValue=[];}}else if(isPlainObject(srcValue)||isArguments$1(srcValue)){newValue=objValue;if(isArguments$1(objValue)){newValue=toPlainObject(objValue);}else if(!isObject(objValue)||isFunction(objValue)){newValue=initCloneObject(srcValue);}}else{isCommon=false;}}if(isCommon){stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack["delete"](srcValue);}assignMergeValue(object2,key,newValue);}function baseMerge(object2,source,srcIndex,customizer,stack){if(object2===source){return;}baseFor$1(source,function(srcValue,key){stack||(stack=new Stack());if(isObject(srcValue)){baseMergeDeep(object2,source,key,srcIndex,baseMerge,customizer,stack);}else{var newValue=customizer?customizer(safeGet(object2,key),srcValue,key+"",object2,source,stack):void 0;if(newValue===void 0){newValue=srcValue;}assignMergeValue(object2,key,newValue);}},keysIn);}function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2]);}return func.apply(thisArg,args);}var nativeMax$1=Math.max;function overRest(func,start2,transform2){start2=nativeMax$1(start2===void 0?func.length-1:start2,0);return function(){var args=arguments,index2=-1,length2=nativeMax$1(args.length-start2,0),array2=Array(length2);while(++index2<length2){array2[index2]=args[start2+index2];}index2=-1;var otherArgs=Array(start2+1);while(++index2<start2){otherArgs[index2]=args[index2];}otherArgs[start2]=transform2(array2);return apply(func,this,otherArgs);};}function constant(value2){return function(){return value2;};}var baseSetToString=!defineProperty$1?identity:function(func,string){return defineProperty$1(func,"toString",{"configurable":true,"enumerable":false,"value":constant(string),"writable":true});};const baseSetToString$1=baseSetToString;var HOT_COUNT=800,HOT_SPAN=16;var nativeNow=Date.now;function shortOut(func){var count2=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count2>=HOT_COUNT){return arguments[0];}}else{count2=0;}return func.apply(void 0,arguments);};}var setToString=shortOut(baseSetToString$1);const setToString$1=setToString;function baseRest(func,start2){return setToString$1(overRest(func,start2,identity),func+"");}function isIterateeCall(value2,index2,object2){if(!isObject(object2)){return false;}var type2=typeof index2;if(type2=="number"?isArrayLike(object2)&&isIndex(index2,object2.length):type2=="string"&&index2 in object2){return eq(object2[index2],value2);}return false;}function createAssigner(assigner){return baseRest(function(object2,sources){var index2=-1,length2=sources.length,customizer=length2>1?sources[length2-1]:void 0,guard=length2>2?sources[2]:void 0;customizer=assigner.length>3&&typeof customizer=="function"?(length2--,customizer):void 0;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length2<3?void 0:customizer;length2=1;}object2=Object(object2);while(++index2<length2){var source=sources[index2];if(source){assigner(object2,source,index2,customizer);}}return object2;});}var merge=createAssigner(function(object2,source,srcIndex){baseMerge(object2,source,srcIndex);});const merge$1=merge;var Raised=function Raised2(_ref){var zDepth=_ref.zDepth,radius=_ref.radius,background=_ref.background,children2=_ref.children,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles;var styles2=_default$3(merge$1({"default":{wrap:{position:"relative",display:"inline-block"},content:{position:"relative"},bg:{absolute:"0px 0px 0px 0px",boxShadow:"0 "+zDepth+"px "+zDepth*4+"px rgba(0,0,0,.24)",borderRadius:radius,background}},"zDepth-0":{bg:{boxShadow:"none"}},"zDepth-1":{bg:{boxShadow:"0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)"}},"zDepth-2":{bg:{boxShadow:"0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)"}},"zDepth-3":{bg:{boxShadow:"0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)"}},"zDepth-4":{bg:{boxShadow:"0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)"}},"zDepth-5":{bg:{boxShadow:"0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)"}},"square":{bg:{borderRadius:"0"}},"circle":{bg:{borderRadius:"50%"}}},passedStyles),{"zDepth-1":zDepth===1});return React__default.default.createElement("div",{style:styles2.wrap},React__default.default.createElement("div",{style:styles2.bg}),React__default.default.createElement("div",{style:styles2.content},children2));};Raised.propTypes={background:propTypes$3.exports.string,zDepth:propTypes$3.exports.oneOf([0,1,2,3,4,5]),radius:propTypes$3.exports.number,styles:propTypes$3.exports.object};Raised.defaultProps={background:"#fff",zDepth:1,radius:2,styles:{}};var now=function(){return root$1.Date.now();};const now$1=now;var reWhitespace=/\s/;function trimmedEndIndex(string){var index2=string.length;while(index2--&&reWhitespace.test(string.charAt(index2))){}return index2;}var reTrimStart=/^\s+/;function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string;}var NAN=0/0;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsOctal=/^0o[0-7]+$/i;var freeParseInt=parseInt;function toNumber(value2){if(typeof value2=="number"){return value2;}if(isSymbol(value2)){return NAN;}if(isObject(value2)){var other=typeof value2.valueOf=="function"?value2.valueOf():value2;value2=isObject(other)?other+"":other;}if(typeof value2!="string"){return value2===0?value2:+value2;}value2=baseTrim(value2);var isBinary=reIsBinary.test(value2);return isBinary||reIsOctal.test(value2)?freeParseInt(value2.slice(2),isBinary?2:8):reIsBadHex.test(value2)?NAN:+value2;}var FUNC_ERROR_TEXT$1="Expected a function";var nativeMax=Math.max,nativeMin=Math.min;function debounce(func,wait,options2){var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=false,maxing=false,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT$1);}wait=toNumber(wait)||0;if(isObject(options2)){leading=!!options2.leading;maxing="maxWait"in options2;maxWait=maxing?nativeMax(toNumber(options2.maxWait)||0,wait):maxWait;trailing="trailing"in options2?!!options2.trailing:trailing;}function invokeFunc(time2){var args=lastArgs,thisArg=lastThis;lastArgs=lastThis=void 0;lastInvokeTime=time2;result=func.apply(thisArg,args);return result;}function leadingEdge(time2){lastInvokeTime=time2;timerId=setTimeout(timerExpired,wait);return leading?invokeFunc(time2):result;}function remainingWait(time2){var timeSinceLastCall=time2-lastCallTime,timeSinceLastInvoke=time2-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting;}function shouldInvoke(time2){var timeSinceLastCall=time2-lastCallTime,timeSinceLastInvoke=time2-lastInvokeTime;return lastCallTime===void 0||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait;}function timerExpired(){var time2=now$1();if(shouldInvoke(time2)){return trailingEdge(time2);}timerId=setTimeout(timerExpired,remainingWait(time2));}function trailingEdge(time2){timerId=void 0;if(trailing&&lastArgs){return invokeFunc(time2);}lastArgs=lastThis=void 0;return result;}function cancel(){if(timerId!==void 0){clearTimeout(timerId);}lastInvokeTime=0;lastArgs=lastCallTime=lastThis=timerId=void 0;}function flush(){return timerId===void 0?result:trailingEdge(now$1());}function debounced(){var time2=now$1(),isInvoking=shouldInvoke(time2);lastArgs=arguments;lastThis=this;lastCallTime=time2;if(isInvoking){if(timerId===void 0){return leadingEdge(lastCallTime);}if(maxing){clearTimeout(timerId);timerId=setTimeout(timerExpired,wait);return invokeFunc(lastCallTime);}}if(timerId===void 0){timerId=setTimeout(timerExpired,wait);}return result;}debounced.cancel=cancel;debounced.flush=flush;return debounced;}var FUNC_ERROR_TEXT="Expected a function";function throttle(func,wait,options2){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT);}if(isObject(options2)){leading="leading"in options2?!!options2.leading:leading;trailing="trailing"in options2?!!options2.trailing:trailing;}return debounce(func,wait,{"leading":leading,"maxWait":wait,"trailing":trailing});}var calculateChange=function calculateChange2(e,hsl2,container){var _container$getBoundin=container.getBoundingClientRect(),containerWidth=_container$getBoundin.width,containerHeight=_container$getBoundin.height;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(left2<0){left2=0;}else if(left2>containerWidth){left2=containerWidth;}if(top2<0){top2=0;}else if(top2>containerHeight){top2=containerHeight;}var saturation=left2/containerWidth;var bright=1-top2/containerHeight;return{h:hsl2.h,s:saturation,v:bright,a:hsl2.a,source:"hsv"};};var _createClass$5=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$5(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$5(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$5(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Saturation=function(_ref){_inherits$5(Saturation2,_ref);function Saturation2(props){_classCallCheck$5(this,Saturation2);var _this=_possibleConstructorReturn$5(this,(Saturation2.__proto__||Object.getPrototypeOf(Saturation2)).call(this,props));_this.handleChange=function(e){typeof _this.props.onChange==="function"&&_this.throttle(_this.props.onChange,calculateChange(e,_this.props.hsl,_this.container),e);};_this.handleMouseDown=function(e){_this.handleChange(e);var renderWindow=_this.getContainerRenderWindow();renderWindow.addEventListener("mousemove",_this.handleChange);renderWindow.addEventListener("mouseup",_this.handleMouseUp);};_this.handleMouseUp=function(){_this.unbindEventListeners();};_this.throttle=throttle(function(fn,data2,e){fn(data2,e);},50);return _this;}_createClass$5(Saturation2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.throttle.cancel();this.unbindEventListeners();}},{key:"getContainerRenderWindow",value:function getContainerRenderWindow(){var container=this.container;var renderWindow=window;while(!renderWindow.document.contains(container)&&renderWindow.parent!==renderWindow){renderWindow=renderWindow.parent;}return renderWindow;}},{key:"unbindEventListeners",value:function unbindEventListeners(){var renderWindow=this.getContainerRenderWindow();renderWindow.removeEventListener("mousemove",this.handleChange);renderWindow.removeEventListener("mouseup",this.handleMouseUp);}},{key:"render",value:function render2(){var _this2=this;var _ref2=this.props.style||{},color2=_ref2.color,white=_ref2.white,black=_ref2.black,pointer2=_ref2.pointer,circle2=_ref2.circle;var styles2=_default$3({"default":{color:{absolute:"0px 0px 0px 0px",background:"hsl("+this.props.hsl.h+",100%, 50%)",borderRadius:this.props.radius},white:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},black:{absolute:"0px 0px 0px 0px",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:"absolute",top:-(this.props.hsv.v*100)+100+"%",left:this.props.hsv.s*100+"%",cursor:"default"},circle:{width:"4px",height:"4px",boxShadow:"0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\n 0 0 1px 2px rgba(0,0,0,.4)",borderRadius:"50%",cursor:"hand",transform:"translate(-2px, -2px)"}},"custom":{color:color2,white,black,pointer:pointer2,circle:circle2}},{"custom":!!this.props.style});return React__default.default.createElement("div",{style:styles2.color,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("style",null,"\n .saturation-white {\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n }\n .saturation-black {\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n }\n "),React__default.default.createElement("div",{style:styles2.white,className:"saturation-white"},React__default.default.createElement("div",{style:styles2.black,className:"saturation-black"}),React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.circle}))));}}]);return Saturation2;}(React$3.PureComponent||React$3.Component);function forEach(collection,iteratee){var func=isArray$1(collection)?arrayEach:baseEach$1;return func(collection,castFunction(iteratee));}const trimLeft=/^\s+/;const trimRight=/\s+$/;function tinycolor(color2,opts){color2=color2?color2:"";opts=opts||{};if(color2 instanceof tinycolor){return color2;}if(!(this instanceof tinycolor)){return new tinycolor(color2,opts);}var rgb2=inputToRGB(color2);this._originalInput=color2,this._r=rgb2.r,this._g=rgb2.g,this._b=rgb2.b,this._a=rgb2.a,this._roundA=Math.round(100*this._a)/100,this._format=opts.format||rgb2.format;this._gradientType=opts.gradientType;if(this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=rgb2.ok;}tinycolor.prototype={isDark:function(){return this.getBrightness()<128;},isLight:function(){return!this.isDark();},isValid:function(){return this._ok;},getOriginalInput:function(){return this._originalInput;},getFormat:function(){return this._format;},getAlpha:function(){return this._a;},getBrightness:function(){var rgb2=this.toRgb();return(rgb2.r*299+rgb2.g*587+rgb2.b*114)/1e3;},getLuminance:function(){var rgb2=this.toRgb();var RsRGB,GsRGB,BsRGB,R,G,B2;RsRGB=rgb2.r/255;GsRGB=rgb2.g/255;BsRGB=rgb2.b/255;if(RsRGB<=0.03928)R=RsRGB/12.92;else R=Math.pow((RsRGB+0.055)/1.055,2.4);if(GsRGB<=0.03928)G=GsRGB/12.92;else G=Math.pow((GsRGB+0.055)/1.055,2.4);if(BsRGB<=0.03928)B2=BsRGB/12.92;else B2=Math.pow((BsRGB+0.055)/1.055,2.4);return 0.2126*R+0.7152*G+0.0722*B2;},setAlpha:function(value2){this._a=boundAlpha(value2);this._roundA=Math.round(100*this._a)/100;return this;},toHsv:function(){var hsv=rgbToHsv(this._r,this._g,this._b);return{h:hsv.h*360,s:hsv.s,v:hsv.v,a:this._a};},toHsvString:function(){var hsv=rgbToHsv(this._r,this._g,this._b);var h=Math.round(hsv.h*360),s=Math.round(hsv.s*100),v=Math.round(hsv.v*100);return this._a==1?"hsv("+h+", "+s+"%, "+v+"%)":"hsva("+h+", "+s+"%, "+v+"%, "+this._roundA+")";},toHsl:function(){var hsl2=rgbToHsl(this._r,this._g,this._b);return{h:hsl2.h*360,s:hsl2.s,l:hsl2.l,a:this._a};},toHslString:function(){var hsl2=rgbToHsl(this._r,this._g,this._b);var h=Math.round(hsl2.h*360),s=Math.round(hsl2.s*100),l=Math.round(hsl2.l*100);return this._a==1?"hsl("+h+", "+s+"%, "+l+"%)":"hsla("+h+", "+s+"%, "+l+"%, "+this._roundA+")";},toHex:function(allow3Char){return rgbToHex(this._r,this._g,this._b,allow3Char);},toHexString:function(allow3Char){return"#"+this.toHex(allow3Char);},toHex8:function(allow4Char){return rgbaToHex(this._r,this._g,this._b,this._a,allow4Char);},toHex8String:function(allow4Char){return"#"+this.toHex8(allow4Char);},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a};},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")";},toPercentageRgb:function(){return{r:Math.round(bound01(this._r,255)*100)+"%",g:Math.round(bound01(this._g,255)*100)+"%",b:Math.round(bound01(this._b,255)*100)+"%",a:this._a};},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%)":"rgba("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%, "+this._roundA+")";},toName:function(){if(this._a===0){return"transparent";}if(this._a<1){return false;}return hexNames[rgbToHex(this._r,this._g,this._b,true)]||false;},toFilter:function(secondColor){var hex8String="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a);var secondHex8String=hex8String;var gradientType=this._gradientType?"GradientType = 1, ":"";if(secondColor){var s=tinycolor(secondColor);secondHex8String="#"+rgbaToArgbHex(s._r,s._g,s._b,s._a);}return"progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";},toString:function(format2){var formatSet=!!format2;format2=format2||this._format;var formattedString=false;var hasAlpha=this._a<1&&this._a>=0;var needsAlphaFormat=!formatSet&&hasAlpha&&(format2==="hex"||format2==="hex6"||format2==="hex3"||format2==="hex4"||format2==="hex8"||format2==="name");if(needsAlphaFormat){if(format2==="name"&&this._a===0){return this.toName();}return this.toRgbString();}if(format2==="rgb"){formattedString=this.toRgbString();}if(format2==="prgb"){formattedString=this.toPercentageRgbString();}if(format2==="hex"||format2==="hex6"){formattedString=this.toHexString();}if(format2==="hex3"){formattedString=this.toHexString(true);}if(format2==="hex4"){formattedString=this.toHex8String(true);}if(format2==="hex8"){formattedString=this.toHex8String();}if(format2==="name"){formattedString=this.toName();}if(format2==="hsl"){formattedString=this.toHslString();}if(format2==="hsv"){formattedString=this.toHsvString();}return formattedString||this.toHexString();},clone:function(){return tinycolor(this.toString());},_applyModification:function(fn,args){var color2=fn.apply(null,[this].concat([].slice.call(args)));this._r=color2._r;this._g=color2._g;this._b=color2._b;this.setAlpha(color2._a);return this;},lighten:function(){return this._applyModification(lighten,arguments);},brighten:function(){return this._applyModification(brighten,arguments);},darken:function(){return this._applyModification(darken,arguments);},desaturate:function(){return this._applyModification(desaturate,arguments);},saturate:function(){return this._applyModification(saturate,arguments);},greyscale:function(){return this._applyModification(greyscale,arguments);},spin:function(){return this._applyModification(spin,arguments);},_applyCombination:function(fn,args){return fn.apply(null,[this].concat([].slice.call(args)));},analogous:function(){return this._applyCombination(analogous,arguments);},complement:function(){return this._applyCombination(complement,arguments);},monochromatic:function(){return this._applyCombination(monochromatic,arguments);},splitcomplement:function(){return this._applyCombination(splitcomplement,arguments);},triad:function(){return this._applyCombination(polyad,[3]);},tetrad:function(){return this._applyCombination(polyad,[4]);}};tinycolor.fromRatio=function(color2,opts){if(typeof color2=="object"){var newColor={};for(var i2 in color2){if(color2.hasOwnProperty(i2)){if(i2==="a"){newColor[i2]=color2[i2];}else{newColor[i2]=convertToPercentage(color2[i2]);}}}color2=newColor;}return tinycolor(color2,opts);};function inputToRGB(color2){var rgb2={r:0,g:0,b:0};var a=1;var s=null;var v=null;var l=null;var ok=false;var format2=false;if(typeof color2=="string"){color2=stringInputToObject(color2);}if(typeof color2=="object"){if(isValidCSSUnit(color2.r)&&isValidCSSUnit(color2.g)&&isValidCSSUnit(color2.b)){rgb2=rgbToRgb(color2.r,color2.g,color2.b);ok=true;format2=String(color2.r).substr(-1)==="%"?"prgb":"rgb";}else if(isValidCSSUnit(color2.h)&&isValidCSSUnit(color2.s)&&isValidCSSUnit(color2.v)){s=convertToPercentage(color2.s);v=convertToPercentage(color2.v);rgb2=hsvToRgb(color2.h,s,v);ok=true;format2="hsv";}else if(isValidCSSUnit(color2.h)&&isValidCSSUnit(color2.s)&&isValidCSSUnit(color2.l)){s=convertToPercentage(color2.s);l=convertToPercentage(color2.l);rgb2=hslToRgb(color2.h,s,l);ok=true;format2="hsl";}if(color2.hasOwnProperty("a")){a=color2.a;}}a=boundAlpha(a);return{ok,format:color2.format||format2,r:Math.min(255,Math.max(rgb2.r,0)),g:Math.min(255,Math.max(rgb2.g,0)),b:Math.min(255,Math.max(rgb2.b,0)),a};}function rgbToRgb(r2,g,b){return{r:bound01(r2,255)*255,g:bound01(g,255)*255,b:bound01(b,255)*255};}function rgbToHsl(r2,g,b){r2=bound01(r2,255);g=bound01(g,255);b=bound01(b,255);var max2=Math.max(r2,g,b),min2=Math.min(r2,g,b);var h,s,l=(max2+min2)/2;if(max2==min2){h=s=0;}else{var d=max2-min2;s=l>0.5?d/(2-max2-min2):d/(max2+min2);switch(max2){case r2:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r2)/d+2;break;case b:h=(r2-g)/d+4;break;}h/=6;}return{h,s,l};}function hslToRgb(h,s,l){var r2,g,b;h=bound01(h,360);s=bound01(s,100);l=bound01(l,100);function hue2rgb(p2,q3,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p2+(q3-p2)*6*t;if(t<1/2)return q3;if(t<2/3)return p2+(q3-p2)*(2/3-t)*6;return p2;}if(s===0){r2=g=b=l;}else{var q2=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q2;r2=hue2rgb(p,q2,h+1/3);g=hue2rgb(p,q2,h);b=hue2rgb(p,q2,h-1/3);}return{r:r2*255,g:g*255,b:b*255};}function rgbToHsv(r2,g,b){r2=bound01(r2,255);g=bound01(g,255);b=bound01(b,255);var max2=Math.max(r2,g,b),min2=Math.min(r2,g,b);var h,s,v=max2;var d=max2-min2;s=max2===0?0:d/max2;if(max2==min2){h=0;}else{switch(max2){case r2:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r2)/d+2;break;case b:h=(r2-g)/d+4;break;}h/=6;}return{h,s,v};}function hsvToRgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i2=Math.floor(h),f2=h-i2,p=v*(1-s),q2=v*(1-f2*s),t=v*(1-(1-f2)*s),mod2=i2%6,r2=[v,q2,p,p,t,v][mod2],g=[t,v,v,q2,p,p][mod2],b=[p,p,t,v,v,q2][mod2];return{r:r2*255,g:g*255,b:b*255};}function rgbToHex(r2,g,b,allow3Char){var hex2=[pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];if(allow3Char&&hex2[0].charAt(0)==hex2[0].charAt(1)&&hex2[1].charAt(0)==hex2[1].charAt(1)&&hex2[2].charAt(0)==hex2[2].charAt(1)){return hex2[0].charAt(0)+hex2[1].charAt(0)+hex2[2].charAt(0);}return hex2.join("");}function rgbaToHex(r2,g,b,a,allow4Char){var hex2=[pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16)),pad2(convertDecimalToHex(a))];if(allow4Char&&hex2[0].charAt(0)==hex2[0].charAt(1)&&hex2[1].charAt(0)==hex2[1].charAt(1)&&hex2[2].charAt(0)==hex2[2].charAt(1)&&hex2[3].charAt(0)==hex2[3].charAt(1)){return hex2[0].charAt(0)+hex2[1].charAt(0)+hex2[2].charAt(0)+hex2[3].charAt(0);}return hex2.join("");}function rgbaToArgbHex(r2,g,b,a){var hex2=[pad2(convertDecimalToHex(a)),pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];return hex2.join("");}tinycolor.equals=function(color1,color2){if(!color1||!color2)return false;return tinycolor(color1).toRgbString()==tinycolor(color2).toRgbString();};tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()});};function desaturate(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.s-=amount/100;hsl2.s=clamp01(hsl2.s);return tinycolor(hsl2);}function saturate(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.s+=amount/100;hsl2.s=clamp01(hsl2.s);return tinycolor(hsl2);}function greyscale(color2){return tinycolor(color2).desaturate(100);}function lighten(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.l+=amount/100;hsl2.l=clamp01(hsl2.l);return tinycolor(hsl2);}function brighten(color2,amount){amount=amount===0?0:amount||10;var rgb2=tinycolor(color2).toRgb();rgb2.r=Math.max(0,Math.min(255,rgb2.r-Math.round(255*-(amount/100))));rgb2.g=Math.max(0,Math.min(255,rgb2.g-Math.round(255*-(amount/100))));rgb2.b=Math.max(0,Math.min(255,rgb2.b-Math.round(255*-(amount/100))));return tinycolor(rgb2);}function darken(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.l-=amount/100;hsl2.l=clamp01(hsl2.l);return tinycolor(hsl2);}function spin(color2,amount){var hsl2=tinycolor(color2).toHsl();var hue=(hsl2.h+amount)%360;hsl2.h=hue<0?360+hue:hue;return tinycolor(hsl2);}function complement(color2){var hsl2=tinycolor(color2).toHsl();hsl2.h=(hsl2.h+180)%360;return tinycolor(hsl2);}function polyad(color2,number3){if(isNaN(number3)||number3<=0){throw new Error("Argument to polyad must be a positive number");}var hsl2=tinycolor(color2).toHsl();var result=[tinycolor(color2)];var step=360/number3;for(var i2=1;i2<number3;i2++){result.push(tinycolor({h:(hsl2.h+i2*step)%360,s:hsl2.s,l:hsl2.l}));}return result;}function splitcomplement(color2){var hsl2=tinycolor(color2).toHsl();var h=hsl2.h;return[tinycolor(color2),tinycolor({h:(h+72)%360,s:hsl2.s,l:hsl2.l}),tinycolor({h:(h+216)%360,s:hsl2.s,l:hsl2.l})];}function analogous(color2,results,slices){results=results||6;slices=slices||30;var hsl2=tinycolor(color2).toHsl();var part=360/slices;var ret=[tinycolor(color2)];for(hsl2.h=(hsl2.h-(part*results>>1)+720)%360;--results;){hsl2.h=(hsl2.h+part)%360;ret.push(tinycolor(hsl2));}return ret;}function monochromatic(color2,results){results=results||6;var hsv=tinycolor(color2).toHsv();var h=hsv.h,s=hsv.s,v=hsv.v;var ret=[];var modification=1/results;while(results--){ret.push(tinycolor({h,s,v}));v=(v+modification)%1;}return ret;}tinycolor.mix=function(color1,color2,amount){amount=amount===0?0:amount||50;var rgb1=tinycolor(color1).toRgb();var rgb2=tinycolor(color2).toRgb();var p=amount/100;var rgba2={r:(rgb2.r-rgb1.r)*p+rgb1.r,g:(rgb2.g-rgb1.g)*p+rgb1.g,b:(rgb2.b-rgb1.b)*p+rgb1.b,a:(rgb2.a-rgb1.a)*p+rgb1.a};return tinycolor(rgba2);};tinycolor.readability=function(color1,color2){var c1=tinycolor(color1);var c2=tinycolor(color2);return(Math.max(c1.getLuminance(),c2.getLuminance())+0.05)/(Math.min(c1.getLuminance(),c2.getLuminance())+0.05);};tinycolor.isReadable=function(color1,color2,wcag2){var readability=tinycolor.readability(color1,color2);var wcag2Parms,out;out=false;wcag2Parms=validateWCAG2Parms(wcag2);switch(wcag2Parms.level+wcag2Parms.size){case"AAsmall":case"AAAlarge":out=readability>=4.5;break;case"AAlarge":out=readability>=3;break;case"AAAsmall":out=readability>=7;break;}return out;};tinycolor.mostReadable=function(baseColor,colorList,args){var bestColor=null;var bestScore=0;var readability;var includeFallbackColors,level,size;args=args||{};includeFallbackColors=args.includeFallbackColors;level=args.level;size=args.size;for(var i2=0;i2<colorList.length;i2++){readability=tinycolor.readability(baseColor,colorList[i2]);if(readability>bestScore){bestScore=readability;bestColor=tinycolor(colorList[i2]);}}if(tinycolor.isReadable(baseColor,bestColor,{level,size})||!includeFallbackColors){return bestColor;}else{args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff","#000"],args);}};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexNames=tinycolor.hexNames=flip(names);function flip(o){var flipped={};for(var i2 in o){if(o.hasOwnProperty(i2)){flipped[o[i2]]=i2;}}return flipped;}function boundAlpha(a){a=parseFloat(a);if(isNaN(a)||a<0||a>1){a=1;}return a;}function bound01(n,max2){if(isOnePointZero(n))n="100%";var processPercent=isPercentage(n);n=Math.min(max2,Math.max(0,parseFloat(n)));if(processPercent){n=parseInt(n*max2,10)/100;}if(Math.abs(n-max2)<1e-6){return 1;}return n%max2/parseFloat(max2);}function clamp01(val2){return Math.min(1,Math.max(0,val2));}function parseIntFromHex(val2){return parseInt(val2,16);}function isOnePointZero(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1;}function isPercentage(n){return typeof n==="string"&&n.indexOf("%")!=-1;}function pad2(c2){return c2.length==1?"0"+c2:""+c2;}function convertToPercentage(n){if(n<=1){n=n*100+"%";}return n;}function convertDecimalToHex(d){return Math.round(parseFloat(d)*255).toString(16);}function convertHexToDecimal(h){return parseIntFromHex(h)/255;}var matchers=function(){var CSS_INTEGER="[-\\+]?\\d+%?";var CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT="(?:"+CSS_NUMBER+")|(?:"+CSS_INTEGER+")";var PERMISSIVE_MATCH3="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";var PERMISSIVE_MATCH4="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";return{CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};}();function isValidCSSUnit(color2){return!!matchers.CSS_UNIT.exec(color2);}function stringInputToObject(color2){color2=color2.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var named2=false;if(names[color2]){color2=names[color2];named2=true;}else if(color2=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"};}var match;if(match=matchers.rgb.exec(color2)){return{r:match[1],g:match[2],b:match[3]};}if(match=matchers.rgba.exec(color2)){return{r:match[1],g:match[2],b:match[3],a:match[4]};}if(match=matchers.hsl.exec(color2)){return{h:match[1],s:match[2],l:match[3]};}if(match=matchers.hsla.exec(color2)){return{h:match[1],s:match[2],l:match[3],a:match[4]};}if(match=matchers.hsv.exec(color2)){return{h:match[1],s:match[2],v:match[3]};}if(match=matchers.hsva.exec(color2)){return{h:match[1],s:match[2],v:match[3],a:match[4]};}if(match=matchers.hex8.exec(color2)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),a:convertHexToDecimal(match[4]),format:named2?"name":"hex8"};}if(match=matchers.hex6.exec(color2)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),format:named2?"name":"hex"};}if(match=matchers.hex4.exec(color2)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),a:convertHexToDecimal(match[4]+""+match[4]),format:named2?"name":"hex8"};}if(match=matchers.hex3.exec(color2)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),format:named2?"name":"hex"};}return false;}function validateWCAG2Parms(parms){var level,size;parms=parms||{level:"AA",size:"small"};level=(parms.level||"AA").toUpperCase();size=(parms.size||"small").toLowerCase();if(level!=="AA"&&level!=="AAA"){level="AA";}if(size!=="small"&&size!=="large"){size="small";}return{level,size};}var simpleCheckForValidColor=function simpleCheckForValidColor2(data2){var keysToCheck=["r","g","b","a","h","s","l","v"];var checked=0;var passed=0;forEach(keysToCheck,function(letter){if(data2[letter]){checked+=1;if(!isNaN(data2[letter])){passed+=1;}if(letter==="s"||letter==="l"){var percentPatt=/^\d+%$/;if(percentPatt.test(data2[letter])){passed+=1;}}}});return checked===passed?data2:false;};var toState=function toState2(data2,oldHue){var color2=data2.hex?tinycolor(data2.hex):tinycolor(data2);var hsl2=color2.toHsl();var hsv=color2.toHsv();var rgb2=color2.toRgb();var hex2=color2.toHex();if(hsl2.s===0){hsl2.h=oldHue||0;hsv.h=oldHue||0;}var transparent=hex2==="000000"&&rgb2.a===0;return{hsl:hsl2,hex:transparent?"transparent":"#"+hex2,rgb:rgb2,hsv,oldHue:data2.h||oldHue||hsl2.h,source:data2.source};};var isValidHex=function isValidHex2(hex2){if(hex2==="transparent"){return true;}var lh=String(hex2).charAt(0)==="#"?1:0;return hex2.length!==4+lh&&hex2.length<7+lh&&tinycolor(hex2).isValid();};var getContrastingColor=function getContrastingColor2(data2){if(!data2){return"#fff";}var col=toState(data2);if(col.hex==="transparent"){return"rgba(0,0,0,0.4)";}var yiq=(col.rgb.r*299+col.rgb.g*587+col.rgb.b*114)/1e3;return yiq>=128?"#000":"#fff";};var isvalidColorString=function isvalidColorString2(string,type2){var stringWithoutDegree=string.replace("\xB0","");return tinycolor(type2+" ("+stringWithoutDegree+")")._ok;};var _extends$a=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$4=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$4(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$4(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$4(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorWrap=function ColorWrap2(Picker){var ColorPicker=function(_ref){_inherits$4(ColorPicker2,_ref);function ColorPicker2(props){_classCallCheck$4(this,ColorPicker2);var _this=_possibleConstructorReturn$4(this,(ColorPicker2.__proto__||Object.getPrototypeOf(ColorPicker2)).call(this));_this.handleChange=function(data2,event){var isValidColor=simpleCheckForValidColor(data2);if(isValidColor){var colors=toState(data2,data2.h||_this.state.oldHue);_this.setState(colors);_this.props.onChangeComplete&&_this.debounce(_this.props.onChangeComplete,colors,event);_this.props.onChange&&_this.props.onChange(colors,event);}};_this.handleSwatchHover=function(data2,event){var isValidColor=simpleCheckForValidColor(data2);if(isValidColor){var colors=toState(data2,data2.h||_this.state.oldHue);_this.props.onSwatchHover&&_this.props.onSwatchHover(colors,event);}};_this.state=_extends$a({},toState(props.color,0));_this.debounce=debounce(function(fn,data2,event){fn(data2,event);},100);return _this;}_createClass$4(ColorPicker2,[{key:"render",value:function render2(){var optionalEvents={};if(this.props.onSwatchHover){optionalEvents.onSwatchHover=this.handleSwatchHover;}return React__default.default.createElement(Picker,_extends$a({},this.props,this.state,{onChange:this.handleChange},optionalEvents));}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(nextProps,state){return _extends$a({},toState(nextProps.color,state.oldHue));}}]);return ColorPicker2;}(React$3.PureComponent||React$3.Component);ColorPicker.propTypes=_extends$a({},Picker.propTypes);ColorPicker.defaultProps=_extends$a({},Picker.defaultProps,{color:{h:250,s:0.5,l:0.2,a:1}});return ColorPicker;};var _extends$9=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$3=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$3(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$3(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$3(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var handleFocus=function handleFocus2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$3(Focus,_React$Component);function Focus(){var _ref;var _temp,_this,_ret;_classCallCheck$3(this,Focus);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$3(this,(_ref=Focus.__proto__||Object.getPrototypeOf(Focus)).call.apply(_ref,[this].concat(args))),_this),_this.state={focus:false},_this.handleFocus=function(){return _this.setState({focus:true});},_this.handleBlur=function(){return _this.setState({focus:false});},_temp),_possibleConstructorReturn$3(_this,_ret);}_createClass$3(Focus,[{key:"render",value:function render2(){return React__default.default.createElement(Span,{onFocus:this.handleFocus,onBlur:this.handleBlur},React__default.default.createElement(Component,_extends$9({},this.props,this.state)));}}]);return Focus;}(React__default.default.Component);};var _extends$8=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ENTER=13;var Swatch=function Swatch2(_ref){var color2=_ref.color,style=_ref.style,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onHover=_ref.onHover,_ref$title=_ref.title,title2=_ref$title===void 0?color2:_ref$title,children2=_ref.children,focus=_ref.focus,_ref$focusStyle=_ref.focusStyle,focusStyle=_ref$focusStyle===void 0?{}:_ref$focusStyle;var transparent=color2==="transparent";var styles2=_default$3({default:{swatch:_extends$8({background:color2,height:"100%",width:"100%",cursor:"pointer",position:"relative",outline:"none"},style,focus?focusStyle:{})}});var handleClick=function handleClick2(e){return onClick(color2,e);};var handleKeyDown=function handleKeyDown2(e){return e.keyCode===ENTER&&onClick(color2,e);};var handleHover2=function handleHover3(e){return onHover(color2,e);};var optionalEvents={};if(onHover){optionalEvents.onMouseOver=handleHover2;}return React__default.default.createElement("div",_extends$8({style:styles2.swatch,onClick:handleClick,title:title2,tabIndex:0,onKeyDown:handleKeyDown},optionalEvents),children2,transparent&&React__default.default.createElement(Checkboard,{borderRadius:styles2.swatch.borderRadius,boxShadow:"inset 0 0 0 1px rgba(0,0,0,0.1)"}));};const Swatch$1=handleFocus(Swatch);var AlphaPointer=function AlphaPointer2(_ref){var direction=_ref.direction;var styles2=_default$3({"default":{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},"vertical":{picker:{transform:"translate(-3px, -9px)"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.picker});};var _extends$7=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var AlphaPicker=function AlphaPicker2(_ref){var rgb2=_ref.rgb,hsl2=_ref.hsl,width=_ref.width,height=_ref.height,onChange=_ref.onChange,direction=_ref.direction,style=_ref.style,renderers=_ref.renderers,pointer2=_ref.pointer,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3({"default":{picker:{position:"relative",width,height},alpha:{radius:"2px",style}}});return React__default.default.createElement("div",{style:styles2.picker,className:"alpha-picker "+className2},React__default.default.createElement(Alpha,_extends$7({},styles2.alpha,{rgb:rgb2,hsl:hsl2,pointer:pointer2,renderers,onChange,direction})));};AlphaPicker.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:AlphaPointer};ColorWrap(AlphaPicker);var BlockSwatches=function BlockSwatches2(_ref){var colors=_ref.colors,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover;var styles2=_default$3({"default":{swatches:{marginRight:"-10px"},swatch:{width:"22px",height:"22px",float:"left",marginRight:"10px",marginBottom:"10px",borderRadius:"4px"},clear:{clear:"both"}}});return React__default.default.createElement("div",{style:styles2.swatches},map(colors,function(c2){return React__default.default.createElement(Swatch$1,{key:c2,color:c2,style:styles2.swatch,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+c2}});}),React__default.default.createElement("div",{style:styles2.clear}));};var Block=function Block2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,hex2=_ref.hex,colors=_ref.colors,width=_ref.width,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var transparent=hex2==="transparent";var handleChange=function handleChange2(hexCode,e){isValidHex(hexCode)&&onChange({hex:hexCode,source:"hex"},e);};var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",boxShadow:"0 1px rgba(0,0,0,.1)",borderRadius:"6px",position:"relative"},head:{height:"110px",background:hex2,borderRadius:"6px 6px 0 0",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},body:{padding:"10px"},label:{fontSize:"18px",color:getContrastingColor(hex2),position:"relative"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 10px 10px 10px",borderColor:"transparent transparent "+hex2+" transparent",position:"absolute",top:"-10px",left:"50%",marginLeft:"-10px"},input:{width:"100%",fontSize:"12px",color:"#666",border:"0px",outline:"none",height:"22px",boxShadow:"inset 0 0 0 1px #ddd",borderRadius:"4px",padding:"0 7px",boxSizing:"border-box"}},"hide-triangle":{triangle:{display:"none"}}},passedStyles),{"hide-triangle":triangle==="hide"});return React__default.default.createElement("div",{style:styles2.card,className:"block-picker "+className2},React__default.default.createElement("div",{style:styles2.triangle}),React__default.default.createElement("div",{style:styles2.head},transparent&&React__default.default.createElement(Checkboard,{borderRadius:"6px 6px 0 0"}),React__default.default.createElement("div",{style:styles2.label},hex2)),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement(BlockSwatches,{colors,onClick:handleChange,onSwatchHover}),React__default.default.createElement(EditableInput,{style:{input:styles2.input},value:hex2,onChange:handleChange})));};Block.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),triangle:propTypes$3.exports.oneOf(["top","hide"]),styles:propTypes$3.exports.object};Block.defaultProps={width:170,colors:["#D9E3F0","#F47373","#697689","#37D67A","#2CCCE4","#555555","#dce775","#ff8a65","#ba68c8"],triangle:"top",styles:{}};ColorWrap(Block);var red={"50":"#ffebee","100":"#ffcdd2","200":"#ef9a9a","300":"#e57373","400":"#ef5350","500":"#f44336","600":"#e53935","700":"#d32f2f","800":"#c62828","900":"#b71c1c","a100":"#ff8a80","a200":"#ff5252","a400":"#ff1744","a700":"#d50000"};var pink={"50":"#fce4ec","100":"#f8bbd0","200":"#f48fb1","300":"#f06292","400":"#ec407a","500":"#e91e63","600":"#d81b60","700":"#c2185b","800":"#ad1457","900":"#880e4f","a100":"#ff80ab","a200":"#ff4081","a400":"#f50057","a700":"#c51162"};var purple={"50":"#f3e5f5","100":"#e1bee7","200":"#ce93d8","300":"#ba68c8","400":"#ab47bc","500":"#9c27b0","600":"#8e24aa","700":"#7b1fa2","800":"#6a1b9a","900":"#4a148c","a100":"#ea80fc","a200":"#e040fb","a400":"#d500f9","a700":"#aa00ff"};var deepPurple={"50":"#ede7f6","100":"#d1c4e9","200":"#b39ddb","300":"#9575cd","400":"#7e57c2","500":"#673ab7","600":"#5e35b1","700":"#512da8","800":"#4527a0","900":"#311b92","a100":"#b388ff","a200":"#7c4dff","a400":"#651fff","a700":"#6200ea"};var indigo={"50":"#e8eaf6","100":"#c5cae9","200":"#9fa8da","300":"#7986cb","400":"#5c6bc0","500":"#3f51b5","600":"#3949ab","700":"#303f9f","800":"#283593","900":"#1a237e","a100":"#8c9eff","a200":"#536dfe","a400":"#3d5afe","a700":"#304ffe"};var blue={"50":"#e3f2fd","100":"#bbdefb","200":"#90caf9","300":"#64b5f6","400":"#42a5f5","500":"#2196f3","600":"#1e88e5","700":"#1976d2","800":"#1565c0","900":"#0d47a1","a100":"#82b1ff","a200":"#448aff","a400":"#2979ff","a700":"#2962ff"};var lightBlue={"50":"#e1f5fe","100":"#b3e5fc","200":"#81d4fa","300":"#4fc3f7","400":"#29b6f6","500":"#03a9f4","600":"#039be5","700":"#0288d1","800":"#0277bd","900":"#01579b","a100":"#80d8ff","a200":"#40c4ff","a400":"#00b0ff","a700":"#0091ea"};var cyan={"50":"#e0f7fa","100":"#b2ebf2","200":"#80deea","300":"#4dd0e1","400":"#26c6da","500":"#00bcd4","600":"#00acc1","700":"#0097a7","800":"#00838f","900":"#006064","a100":"#84ffff","a200":"#18ffff","a400":"#00e5ff","a700":"#00b8d4"};var teal={"50":"#e0f2f1","100":"#b2dfdb","200":"#80cbc4","300":"#4db6ac","400":"#26a69a","500":"#009688","600":"#00897b","700":"#00796b","800":"#00695c","900":"#004d40","a100":"#a7ffeb","a200":"#64ffda","a400":"#1de9b6","a700":"#00bfa5"};var green={"50":"#e8f5e9","100":"#c8e6c9","200":"#a5d6a7","300":"#81c784","400":"#66bb6a","500":"#4caf50","600":"#43a047","700":"#388e3c","800":"#2e7d32","900":"#1b5e20","a100":"#b9f6ca","a200":"#69f0ae","a400":"#00e676","a700":"#00c853"};var lightGreen={"50":"#f1f8e9","100":"#dcedc8","200":"#c5e1a5","300":"#aed581","400":"#9ccc65","500":"#8bc34a","600":"#7cb342","700":"#689f38","800":"#558b2f","900":"#33691e","a100":"#ccff90","a200":"#b2ff59","a400":"#76ff03","a700":"#64dd17"};var lime={"50":"#f9fbe7","100":"#f0f4c3","200":"#e6ee9c","300":"#dce775","400":"#d4e157","500":"#cddc39","600":"#c0ca33","700":"#afb42b","800":"#9e9d24","900":"#827717","a100":"#f4ff81","a200":"#eeff41","a400":"#c6ff00","a700":"#aeea00"};var yellow={"50":"#fffde7","100":"#fff9c4","200":"#fff59d","300":"#fff176","400":"#ffee58","500":"#ffeb3b","600":"#fdd835","700":"#fbc02d","800":"#f9a825","900":"#f57f17","a100":"#ffff8d","a200":"#ffff00","a400":"#ffea00","a700":"#ffd600"};var amber={"50":"#fff8e1","100":"#ffecb3","200":"#ffe082","300":"#ffd54f","400":"#ffca28","500":"#ffc107","600":"#ffb300","700":"#ffa000","800":"#ff8f00","900":"#ff6f00","a100":"#ffe57f","a200":"#ffd740","a400":"#ffc400","a700":"#ffab00"};var orange={"50":"#fff3e0","100":"#ffe0b2","200":"#ffcc80","300":"#ffb74d","400":"#ffa726","500":"#ff9800","600":"#fb8c00","700":"#f57c00","800":"#ef6c00","900":"#e65100","a100":"#ffd180","a200":"#ffab40","a400":"#ff9100","a700":"#ff6d00"};var deepOrange={"50":"#fbe9e7","100":"#ffccbc","200":"#ffab91","300":"#ff8a65","400":"#ff7043","500":"#ff5722","600":"#f4511e","700":"#e64a19","800":"#d84315","900":"#bf360c","a100":"#ff9e80","a200":"#ff6e40","a400":"#ff3d00","a700":"#dd2c00"};var brown={"50":"#efebe9","100":"#d7ccc8","200":"#bcaaa4","300":"#a1887f","400":"#8d6e63","500":"#795548","600":"#6d4c41","700":"#5d4037","800":"#4e342e","900":"#3e2723"};var blueGrey={"50":"#eceff1","100":"#cfd8dc","200":"#b0bec5","300":"#90a4ae","400":"#78909c","500":"#607d8b","600":"#546e7a","700":"#455a64","800":"#37474f","900":"#263238"};var CircleSwatch=function CircleSwatch2(_ref){var color2=_ref.color,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover,hover2=_ref.hover,active2=_ref.active,circleSize=_ref.circleSize,circleSpacing=_ref.circleSpacing;var styles2=_default$3({"default":{swatch:{width:circleSize,height:circleSize,marginRight:circleSpacing,marginBottom:circleSpacing,transform:"scale(1)",transition:"100ms transform ease"},Swatch:{borderRadius:"50%",background:"transparent",boxShadow:"inset 0 0 0 "+(circleSize/2+1)+"px "+color2,transition:"100ms box-shadow ease"}},"hover":{swatch:{transform:"scale(1.2)"}},"active":{Swatch:{boxShadow:"inset 0 0 0 3px "+color2}}},{hover:hover2,active:active2});return React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(Swatch$1,{style:styles2.Swatch,color:color2,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:styles2.Swatch.boxShadow+", 0 0 5px "+color2}}));};CircleSwatch.defaultProps={circleSize:28,circleSpacing:14};const CircleSwatch$1=handleHover(CircleSwatch);var Circle=function Circle2(_ref){var width=_ref.width,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,circleSize=_ref.circleSize,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,circleSpacing=_ref.circleSpacing,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,display:"flex",flexWrap:"wrap",marginRight:-circleSpacing,marginBottom:-circleSpacing}}},passedStyles));var handleChange=function handleChange2(hexCode,e){return onChange({hex:hexCode,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"circle-picker "+className2},map(colors,function(c2){return React__default.default.createElement(CircleSwatch$1,{key:c2,color:c2,onClick:handleChange,onSwatchHover,active:hex2===c2.toLowerCase(),circleSize,circleSpacing});}));};Circle.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),circleSize:propTypes$3.exports.number,circleSpacing:propTypes$3.exports.number,styles:propTypes$3.exports.object};Circle.defaultProps={width:252,circleSize:28,circleSpacing:14,colors:[red["500"],pink["500"],purple["500"],deepPurple["500"],indigo["500"],blue["500"],lightBlue["500"],cyan["500"],teal["500"],green["500"],lightGreen["500"],lime["500"],yellow["500"],amber["500"],orange["500"],deepOrange["500"],brown["500"],blueGrey["500"]],styles:{}};ColorWrap(Circle);function isUndefined(value2){return value2===void 0;}var UnfoldMoreHorizontalIcon={};Object.defineProperty(UnfoldMoreHorizontalIcon,"__esModule",{value:true});var _extends$6=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$2=React__default.default;var _react2$1=_interopRequireDefault$1(_react$2);function _interopRequireDefault$1(obj){return obj&&obj.__esModule?obj:{default:obj};}function _objectWithoutProperties$2(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}var DEFAULT_SIZE$1=24;var _default$2=UnfoldMoreHorizontalIcon.default=function(_ref){var _ref$fill=_ref.fill,fill=_ref$fill===void 0?"currentColor":_ref$fill,_ref$width=_ref.width,width=_ref$width===void 0?DEFAULT_SIZE$1:_ref$width,_ref$height=_ref.height,height=_ref$height===void 0?DEFAULT_SIZE$1:_ref$height,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,props=_objectWithoutProperties$2(_ref,["fill","width","height","style"]);return _react2$1.default.createElement("svg",_extends$6({viewBox:"0 0 "+DEFAULT_SIZE$1+" "+DEFAULT_SIZE$1,style:_extends$6({fill,width,height},style)},props),_react2$1.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}));};var _createClass$2=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$2(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$2(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$2(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ChromeFields=function(_React$Component){_inherits$2(ChromeFields2,_React$Component);function ChromeFields2(props){_classCallCheck$2(this,ChromeFields2);var _this=_possibleConstructorReturn$2(this,(ChromeFields2.__proto__||Object.getPrototypeOf(ChromeFields2)).call(this));_this.toggleViews=function(){if(_this.state.view==="hex"){_this.setState({view:"rgb"});}else if(_this.state.view==="rgb"){_this.setState({view:"hsl"});}else if(_this.state.view==="hsl"){if(_this.props.hsl.a===1){_this.setState({view:"hex"});}else{_this.setState({view:"rgb"});}}};_this.handleChange=function(data2,e){if(data2.hex){isValidHex(data2.hex)&&_this.props.onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){_this.props.onChange({r:data2.r||_this.props.rgb.r,g:data2.g||_this.props.rgb.g,b:data2.b||_this.props.rgb.b,source:"rgb"},e);}else if(data2.a){if(data2.a<0){data2.a=0;}else if(data2.a>1){data2.a=1;}_this.props.onChange({h:_this.props.hsl.h,s:_this.props.hsl.s,l:_this.props.hsl.l,a:Math.round(data2.a*100)/100,source:"rgb"},e);}else if(data2.h||data2.s||data2.l){if(typeof data2.s==="string"&&data2.s.includes("%")){data2.s=data2.s.replace("%","");}if(typeof data2.l==="string"&&data2.l.includes("%")){data2.l=data2.l.replace("%","");}if(data2.s==1){data2.s=0.01;}else if(data2.l==1){data2.l=0.01;}_this.props.onChange({h:data2.h||_this.props.hsl.h,s:Number(!isUndefined(data2.s)?data2.s:_this.props.hsl.s),l:Number(!isUndefined(data2.l)?data2.l:_this.props.hsl.l),source:"hsl"},e);}};_this.showHighlight=function(e){e.currentTarget.style.background="#eee";};_this.hideHighlight=function(e){e.currentTarget.style.background="transparent";};if(props.hsl.a!==1&&props.view==="hex"){_this.state={view:"rgb"};}else{_this.state={view:props.view};}return _this;}_createClass$2(ChromeFields2,[{key:"render",value:function render2(){var _this2=this;var styles2=_default$3({"default":{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},"disableAlpha":{alpha:{display:"none"}}},this.props,this.state);var fields=void 0;if(this.state.view==="hex"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:this.props.hex,onChange:this.handleChange})));}else if(this.state.view==="rgb"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:this.props.rgb.a,arrowOffset:0.01,onChange:this.handleChange})));}else if(this.state.view==="hsl"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:this.props.hsl.a,arrowOffset:0.01,onChange:this.handleChange})));}return React__default.default.createElement("div",{style:styles2.wrap,className:"flexbox-fix"},fields,React__default.default.createElement("div",{style:styles2.toggle},React__default.default.createElement("div",{style:styles2.icon,onClick:this.toggleViews,ref:function ref2(icon){return _this2.icon=icon;}},React__default.default.createElement(_default$2,{style:styles2.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))));}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(nextProps,state){if(nextProps.hsl.a!==1&&state.view==="hex"){return{view:"rgb"};}return null;}}]);return ChromeFields2;}(React__default.default.Component);ChromeFields.defaultProps={view:"hex"};var ChromePointer=function ChromePointer2(){var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var ChromePointerCircle=function ChromePointerCircle2(){var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var Chrome=function Chrome2(_ref){var width=_ref.width,onChange=_ref.onChange,disableAlpha=_ref.disableAlpha,rgb2=_ref.rgb,hsl2=_ref.hsl,hsv=_ref.hsv,hex2=_ref.hex,renderers=_ref.renderers,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className,defaultView2=_ref.defaultView;var styles2=_default$3(merge$1({"default":{picker:{width,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+rgb2.r+", "+rgb2.g+", "+rgb2.b+", "+rgb2.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},"disableAlpha":{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},passedStyles),{disableAlpha});return React__default.default.createElement("div",{style:styles2.picker,className:"chrome-picker "+className2},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{style:styles2.Saturation,hsl:hsl2,hsv,pointer:ChromePointerCircle,onChange})),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.color},React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement("div",{style:styles2.active}),React__default.default.createElement(Checkboard,{renderers}))),React__default.default.createElement("div",{style:styles2.toggles},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,pointer:ChromePointer,onChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(Alpha,{style:styles2.Alpha,rgb:rgb2,hsl:hsl2,pointer:ChromePointer,renderers,onChange})))),React__default.default.createElement(ChromeFields,{rgb:rgb2,hsl:hsl2,hex:hex2,view:defaultView2,onChange,disableAlpha})));};Chrome.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),disableAlpha:propTypes$3.exports.bool,styles:propTypes$3.exports.object,defaultView:propTypes$3.exports.oneOf(["hex","rgb","hsl"])};Chrome.defaultProps={width:225,disableAlpha:false,styles:{}};ColorWrap(Chrome);var CompactColor=function CompactColor2(_ref){var color2=_ref.color,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover,active2=_ref.active;var styles2=_default$3({"default":{color:{background:color2,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:getContrastingColor(color2),borderRadius:"50%",opacity:"0"}},"active":{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},"transparent":{dot:{background:"#000"}}},{active:active2,"color-#FFFFFF":color2==="#FFFFFF","transparent":color2==="transparent"});return React__default.default.createElement(Swatch$1,{style:styles2.color,color:color2,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+color2}},React__default.default.createElement("div",{style:styles2.dot}));};var CompactFields=function CompactFields2(_ref){var hex2=_ref.hex,rgb2=_ref.rgb,onChange=_ref.onChange;var styles2=_default$3({"default":{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:hex2},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}});var handleChange=function handleChange2(data2,e){if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}else{onChange({hex:data2.hex,source:"hex"},e);}};return React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.active}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"hex",value:hex2,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange}));};var Compact=function Compact2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,rgb2=_ref.rgb,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},passedStyles));var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else{onChange(data2,e);}};return React__default.default.createElement(Raised,{style:styles2.Compact,styles:passedStyles},React__default.default.createElement("div",{style:styles2.compact,className:"compact-picker "+className2},React__default.default.createElement("div",null,map(colors,function(c2){return React__default.default.createElement(CompactColor,{key:c2,color:c2,active:c2.toLowerCase()===hex2,onClick:handleChange,onSwatchHover});}),React__default.default.createElement("div",{style:styles2.clear})),React__default.default.createElement(CompactFields,{hex:hex2,rgb:rgb2,onChange:handleChange})));};Compact.propTypes={colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),styles:propTypes$3.exports.object};Compact.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};ColorWrap(Compact);var GithubSwatch=function GithubSwatch2(_ref){var hover2=_ref.hover,color2=_ref.color,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover;var hoverSwatch={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"};var styles2=_default$3({"default":{swatch:{width:"25px",height:"25px",fontSize:"0"}},"hover":{swatch:hoverSwatch}},{hover:hover2});return React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(Swatch$1,{color:color2,onClick,onHover:onSwatchHover,focusStyle:hoverSwatch}));};const GithubSwatch$1=handleHover(GithubSwatch);var Github=function Github2(_ref){var width=_ref.width,colors=_ref.colors,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},passedStyles),{"hide-triangle":triangle==="hide","top-left-triangle":triangle==="top-left","top-right-triangle":triangle==="top-right","bottom-left-triangle":triangle==="bottom-left","bottom-right-triangle":triangle==="bottom-right"});var handleChange=function handleChange2(hex2,e){return onChange({hex:hex2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"github-picker "+className2},React__default.default.createElement("div",{style:styles2.triangleShadow}),React__default.default.createElement("div",{style:styles2.triangle}),map(colors,function(c2){return React__default.default.createElement(GithubSwatch$1,{color:c2,key:c2,onClick:handleChange,onSwatchHover});}));};Github.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),triangle:propTypes$3.exports.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:propTypes$3.exports.object};Github.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};ColorWrap(Github);var SliderPointer$1=function SliderPointer2(_ref){var direction=_ref.direction;var styles2=_default$3({"default":{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},"vertical":{picker:{transform:"translate(-3px, -9px)"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.picker});};var _extends$5=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var HuePicker=function HuePicker2(_ref){var width=_ref.width,height=_ref.height,onChange=_ref.onChange,hsl2=_ref.hsl,direction=_ref.direction,pointer2=_ref.pointer,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{position:"relative",width,height},hue:{radius:"2px"}}},passedStyles));var handleChange=function handleChange2(data2){return onChange({a:1,h:data2.h,l:0.5,s:1});};return React__default.default.createElement("div",{style:styles2.picker,className:"hue-picker "+className2},React__default.default.createElement(Hue,_extends$5({},styles2.hue,{hsl:hsl2,pointer:pointer2,onChange:handleChange,direction})));};HuePicker.propTypes={styles:propTypes$3.exports.object};HuePicker.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:SliderPointer$1,styles:{}};ColorWrap(HuePicker);var Material=function Material2(_ref){var onChange=_ref.onChange,hex2=_ref.hex,rgb2=_ref.rgb,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{material:{width:"98px",height:"98px",padding:"16px",fontFamily:"Roboto"},HEXwrap:{position:"relative"},HEXinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"2px solid "+hex2,outline:"none",height:"30px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},Hex:{style:{}},RGBwrap:{position:"relative"},RGBinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"1px solid #eee",outline:"none",height:"30px"},RGBlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},split:{display:"flex",marginRight:"-10px",paddingTop:"11px"},third:{flex:"1",paddingRight:"10px"}}},passedStyles));var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}};return React__default.default.createElement(Raised,{styles:passedStyles},React__default.default.createElement("div",{style:styles2.material,className:"material-picker "+className2},React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"hex",value:hex2,onChange:handleChange}),React__default.default.createElement("div",{style:styles2.split,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange})))));};ColorWrap(Material);var PhotoshopPicker=function PhotoshopPicker2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsv=_ref.hsv,hex2=_ref.hex;var styles2=_default$3({"default":{fields:{paddingTop:"5px",paddingBottom:"9px",width:"80px",position:"relative"},divider:{height:"5px"},RGBwrap:{position:"relative"},RGBinput:{marginLeft:"40%",width:"40%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"5px",fontSize:"13px",paddingLeft:"3px",marginRight:"10px"},RGBlabel:{left:"0px",top:"0px",width:"34px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px",position:"absolute"},HEXwrap:{position:"relative"},HEXinput:{marginLeft:"20%",width:"80%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"6px",fontSize:"13px",paddingLeft:"3px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",width:"14px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px"},fieldSymbols:{position:"absolute",top:"5px",right:"-7px",fontSize:"13px"},symbol:{height:"20px",lineHeight:"22px",paddingBottom:"7px"}}});var handleChange=function handleChange2(data2,e){if(data2["#"]){isValidHex(data2["#"])&&onChange({hex:data2["#"],source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}else if(data2.h||data2.s||data2.v){onChange({h:data2.h||hsv.h,s:data2.s||hsv.s,v:data2.v||hsv.v,source:"hsv"},e);}};return React__default.default.createElement("div",{style:styles2.fields},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"h",value:Math.round(hsv.h),onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"s",value:Math.round(hsv.s*100),onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"v",value:Math.round(hsv.v*100),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.divider}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange}),React__default.default.createElement("div",{style:styles2.divider}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"#",value:hex2.replace("#",""),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.fieldSymbols},React__default.default.createElement("div",{style:styles2.symbol},"\xB0"),React__default.default.createElement("div",{style:styles2.symbol},"%"),React__default.default.createElement("div",{style:styles2.symbol},"%")));};var PhotoshopPointerCircle$1=function PhotoshopPointerCircle2(_ref){var hsl2=_ref.hsl;var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}},"black-outline":{picker:{boxShadow:"inset 0 0 0 1px #000"}}},{"black-outline":hsl2.l>0.5});return React__default.default.createElement("div",{style:styles2.picker});};var PhotoshopPointerCircle=function PhotoshopPointerCircle2(){var styles2=_default$3({"default":{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return React__default.default.createElement("div",{style:styles2.pointer},React__default.default.createElement("div",{style:styles2.left},React__default.default.createElement("div",{style:styles2.leftInside})),React__default.default.createElement("div",{style:styles2.right},React__default.default.createElement("div",{style:styles2.rightInside})));};var PhotoshopButton=function PhotoshopButton2(_ref){var onClick=_ref.onClick,label=_ref.label,children2=_ref.children,active2=_ref.active;var styles2=_default$3({"default":{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},"active":{button:{boxShadow:"0 0 0 1px #878787"}}},{active:active2});return React__default.default.createElement("div",{style:styles2.button,onClick},label||children2);};var PhotoshopPreviews=function PhotoshopPreviews2(_ref){var rgb2=_ref.rgb,currentColor=_ref.currentColor;var styles2=_default$3({"default":{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+rgb2.r+","+rgb2.g+", "+rgb2.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:currentColor,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return React__default.default.createElement("div",null,React__default.default.createElement("div",{style:styles2.label},"new"),React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement("div",{style:styles2.new}),React__default.default.createElement("div",{style:styles2.current})),React__default.default.createElement("div",{style:styles2.label},"current"));};var _createClass$1=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$1(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$1(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$1(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Photoshop=function(_React$Component){_inherits$1(Photoshop2,_React$Component);function Photoshop2(props){_classCallCheck$1(this,Photoshop2);var _this=_possibleConstructorReturn$1(this,(Photoshop2.__proto__||Object.getPrototypeOf(Photoshop2)).call(this));_this.state={currentColor:props.hex};return _this;}_createClass$1(Photoshop2,[{key:"render",value:function render2(){var _props=this.props,_props$styles=_props.styles,passedStyles=_props$styles===void 0?{}:_props$styles,_props$className=_props.className,className2=_props$className===void 0?"":_props$className;var styles2=_default$3(merge$1({"default":{picker:{background:"#DCDCDC",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)",boxSizing:"initial",width:"513px"},head:{backgroundImage:"linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)",borderBottom:"1px solid #B1B1B1",boxShadow:"inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)",height:"23px",lineHeight:"24px",borderRadius:"4px 4px 0 0",fontSize:"13px",color:"#4D4D4D",textAlign:"center"},body:{padding:"15px 15px 0",display:"flex"},saturation:{width:"256px",height:"256px",position:"relative",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0",overflow:"hidden"},hue:{position:"relative",height:"256px",width:"19px",marginLeft:"10px",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0"},controls:{width:"180px",marginLeft:"10px"},top:{display:"flex"},previews:{width:"60px"},actions:{flex:"1",marginLeft:"20px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.picker,className:"photoshop-picker "+className2},React__default.default.createElement("div",{style:styles2.head},this.props.header),React__default.default.createElement("div",{style:styles2.body,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{hsl:this.props.hsl,hsv:this.props.hsv,pointer:PhotoshopPointerCircle$1,onChange:this.props.onChange})),React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{direction:"vertical",hsl:this.props.hsl,pointer:PhotoshopPointerCircle,onChange:this.props.onChange})),React__default.default.createElement("div",{style:styles2.controls},React__default.default.createElement("div",{style:styles2.top,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.previews},React__default.default.createElement(PhotoshopPreviews,{rgb:this.props.rgb,currentColor:this.state.currentColor})),React__default.default.createElement("div",{style:styles2.actions},React__default.default.createElement(PhotoshopButton,{label:"OK",onClick:this.props.onAccept,active:true}),React__default.default.createElement(PhotoshopButton,{label:"Cancel",onClick:this.props.onCancel}),React__default.default.createElement(PhotoshopPicker,{onChange:this.props.onChange,rgb:this.props.rgb,hsv:this.props.hsv,hex:this.props.hex}))))));}}]);return Photoshop2;}(React__default.default.Component);Photoshop.propTypes={header:propTypes$3.exports.string,styles:propTypes$3.exports.object};Photoshop.defaultProps={header:"Color Picker",styles:{}};ColorWrap(Photoshop);var SketchFields=function SketchFields2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hex2=_ref.hex,disableAlpha=_ref.disableAlpha;var styles2=_default$3({"default":{fields:{display:"flex",paddingTop:"4px"},single:{flex:"1",paddingLeft:"6px"},alpha:{flex:"1",paddingLeft:"6px"},double:{flex:"2"},input:{width:"80%",padding:"4px 10% 3px",border:"none",boxShadow:"inset 0 0 0 1px #ccc",fontSize:"11px"},label:{display:"block",textAlign:"center",fontSize:"11px",color:"#222",paddingTop:"3px",paddingBottom:"4px",textTransform:"capitalize"}},"disableAlpha":{alpha:{display:"none"}}},{disableAlpha});var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,a:rgb2.a,source:"rgb"},e);}else if(data2.a){if(data2.a<0){data2.a=0;}else if(data2.a>100){data2.a=100;}data2.a/=100;onChange({h:hsl2.h,s:hsl2.s,l:hsl2.l,a:data2.a,source:"rgb"},e);}};return React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.double},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:hex2.replace("#",""),onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"r",value:rgb2.r,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"g",value:rgb2.g,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"b",value:rgb2.b,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:Math.round(rgb2.a*100),onChange:handleChange,dragLabel:"true",dragMax:"100"})));};var _extends$4=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var SketchPresetColors=function SketchPresetColors2(_ref){var colors=_ref.colors,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover;var styles2=_default$3({"default":{colors:{margin:"0 -10px",padding:"10px 0 0 10px",borderTop:"1px solid #eee",display:"flex",flexWrap:"wrap",position:"relative"},swatchWrap:{width:"16px",height:"16px",margin:"0 10px 10px 0"},swatch:{borderRadius:"3px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15)"}},"no-presets":{colors:{display:"none"}}},{"no-presets":!colors||!colors.length});var handleClick=function handleClick2(hex2,e){onClick({hex:hex2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.colors,className:"flexbox-fix"},colors.map(function(colorObjOrString){var c2=typeof colorObjOrString==="string"?{color:colorObjOrString}:colorObjOrString;var key=""+c2.color+(c2.title||"");return React__default.default.createElement("div",{key,style:styles2.swatchWrap},React__default.default.createElement(Swatch$1,_extends$4({},c2,{style:styles2.swatch,onClick:handleClick,onHover:onSwatchHover,focusStyle:{boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px "+c2.color}})));}));};SketchPresetColors.propTypes={colors:propTypes$3.exports.arrayOf(propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.shape({color:propTypes$3.exports.string,title:propTypes$3.exports.string})])).isRequired};var _extends$3=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Sketch=function Sketch2(_ref){var width=_ref.width,rgb2=_ref.rgb,hex2=_ref.hex,hsv=_ref.hsv,hsl2=_ref.hsl,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,disableAlpha=_ref.disableAlpha,presetColors=_ref.presetColors,renderers=_ref.renderers,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":_extends$3({picker:{width,padding:"10px 10px 0",boxSizing:"initial",background:"#fff",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)"},saturation:{width:"100%",paddingBottom:"75%",position:"relative",overflow:"hidden"},Saturation:{radius:"3px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},controls:{display:"flex"},sliders:{padding:"4px 0",flex:"1"},color:{width:"24px",height:"24px",position:"relative",marginTop:"4px",marginLeft:"4px",borderRadius:"3px"},activeColor:{absolute:"0px 0px 0px 0px",borderRadius:"2px",background:"rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+","+rgb2.a+")",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},hue:{position:"relative",height:"10px",overflow:"hidden"},Hue:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},alpha:{position:"relative",height:"10px",marginTop:"4px",overflow:"hidden"},Alpha:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"}},passedStyles),"disableAlpha":{color:{height:"10px"},hue:{height:"10px"},alpha:{display:"none"}}},passedStyles),{disableAlpha});return React__default.default.createElement("div",{style:styles2.picker,className:"sketch-picker "+className2},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{style:styles2.Saturation,hsl:hsl2,hsv,onChange})),React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.sliders},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,onChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(Alpha,{style:styles2.Alpha,rgb:rgb2,hsl:hsl2,renderers,onChange}))),React__default.default.createElement("div",{style:styles2.color},React__default.default.createElement(Checkboard,null),React__default.default.createElement("div",{style:styles2.activeColor}))),React__default.default.createElement(SketchFields,{rgb:rgb2,hsl:hsl2,hex:hex2,onChange,disableAlpha}),React__default.default.createElement(SketchPresetColors,{colors:presetColors,onClick:onChange,onSwatchHover}));};Sketch.propTypes={disableAlpha:propTypes$3.exports.bool,width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),styles:propTypes$3.exports.object};Sketch.defaultProps={disableAlpha:false,width:200,styles:{},presetColors:["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF"]};const SketchPicker=ColorWrap(Sketch);var SliderSwatch=function SliderSwatch2(_ref){var hsl2=_ref.hsl,offset=_ref.offset,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,active2=_ref.active,first2=_ref.first,last2=_ref.last;var styles2=_default$3({"default":{swatch:{height:"12px",background:"hsl("+hsl2.h+", 50%, "+offset*100+"%)",cursor:"pointer"}},"first":{swatch:{borderRadius:"2px 0 0 2px"}},"last":{swatch:{borderRadius:"0 2px 2px 0"}},"active":{swatch:{transform:"scaleY(1.8)",borderRadius:"3.6px/2px"}}},{active:active2,first:first2,last:last2});var handleClick=function handleClick2(e){return onClick({h:hsl2.h,s:0.5,l:offset,source:"hsl"},e);};return React__default.default.createElement("div",{style:styles2.swatch,onClick:handleClick});};var SliderSwatches=function SliderSwatches2(_ref){var onClick=_ref.onClick,hsl2=_ref.hsl;var styles2=_default$3({"default":{swatches:{marginTop:"20px"},swatch:{boxSizing:"border-box",width:"20%",paddingRight:"1px",float:"left"},clear:{clear:"both"}}});var epsilon3=0.1;return React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".80",active:Math.abs(hsl2.l-0.8)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick,first:true})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".65",active:Math.abs(hsl2.l-0.65)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".50",active:Math.abs(hsl2.l-0.5)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".35",active:Math.abs(hsl2.l-0.35)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".20",active:Math.abs(hsl2.l-0.2)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick,last:true})),React__default.default.createElement("div",{style:styles2.clear}));};var SliderPointer=function SliderPointer2(){var styles2=_default$3({"default":{picker:{width:"14px",height:"14px",borderRadius:"6px",transform:"translate(-7px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var Slider=function Slider2(_ref){var hsl2=_ref.hsl,onChange=_ref.onChange,pointer2=_ref.pointer,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{hue:{height:"12px",position:"relative"},Hue:{radius:"2px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.wrap||{},className:"slider-picker "+className2},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,pointer:pointer2,onChange})),React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement(SliderSwatches,{hsl:hsl2,onClick:onChange})));};Slider.propTypes={styles:propTypes$3.exports.object};Slider.defaultProps={pointer:SliderPointer,styles:{}};ColorWrap(Slider);var CheckIcon={};Object.defineProperty(CheckIcon,"__esModule",{value:true});var _extends$2=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$1=React__default.default;var _react2=_interopRequireDefault(_react$1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _objectWithoutProperties$1(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}var DEFAULT_SIZE=24;var _default$1=CheckIcon.default=function(_ref){var _ref$fill=_ref.fill,fill=_ref$fill===void 0?"currentColor":_ref$fill,_ref$width=_ref.width,width=_ref$width===void 0?DEFAULT_SIZE:_ref$width,_ref$height=_ref.height,height=_ref$height===void 0?DEFAULT_SIZE:_ref$height,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,props=_objectWithoutProperties$1(_ref,["fill","width","height","style"]);return _react2.default.createElement("svg",_extends$2({viewBox:"0 0 "+DEFAULT_SIZE+" "+DEFAULT_SIZE,style:_extends$2({fill,width,height},style)},props),_react2.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}));};var SwatchesColor=function SwatchesColor2(_ref){var color2=_ref.color,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover,first2=_ref.first,last2=_ref.last,active2=_ref.active;var styles2=_default$3({"default":{color:{width:"40px",height:"24px",cursor:"pointer",background:color2,marginBottom:"1px"},check:{color:getContrastingColor(color2),marginLeft:"8px",display:"none"}},"first":{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},"last":{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},"active":{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},"transparent":{check:{color:"#333"}}},{first:first2,last:last2,active:active2,"color-#FFFFFF":color2==="#FFFFFF","transparent":color2==="transparent"});return React__default.default.createElement(Swatch$1,{color:color2,style:styles2.color,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+color2}},React__default.default.createElement("div",{style:styles2.check},React__default.default.createElement(_default$1,null)));};var SwatchesGroup=function SwatchesGroup2(_ref){var onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover,group2=_ref.group,active2=_ref.active;var styles2=_default$3({"default":{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return React__default.default.createElement("div",{style:styles2.group},map(group2,function(color2,i2){return React__default.default.createElement(SwatchesColor,{key:color2,color:color2,active:color2.toLowerCase()===active2,first:i2===0,last:i2===group2.length-1,onClick,onSwatchHover});}));};var Swatches=function Swatches2(_ref){var width=_ref.width,height=_ref.height,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{width,height},overflow:{height,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},passedStyles));var handleChange=function handleChange2(data2,e){return onChange({hex:data2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.picker,className:"swatches-picker "+className2},React__default.default.createElement(Raised,null,React__default.default.createElement("div",{style:styles2.overflow},React__default.default.createElement("div",{style:styles2.body},map(colors,function(group2){return React__default.default.createElement(SwatchesGroup,{key:group2.toString(),group:group2,active:hex2,onClick:handleChange,onSwatchHover});}),React__default.default.createElement("div",{style:styles2.clear})))));};Swatches.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),height:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.arrayOf(propTypes$3.exports.string)),styles:propTypes$3.exports.object};Swatches.defaultProps={width:320,height:240,colors:[[red["900"],red["700"],red["500"],red["300"],red["100"]],[pink["900"],pink["700"],pink["500"],pink["300"],pink["100"]],[purple["900"],purple["700"],purple["500"],purple["300"],purple["100"]],[deepPurple["900"],deepPurple["700"],deepPurple["500"],deepPurple["300"],deepPurple["100"]],[indigo["900"],indigo["700"],indigo["500"],indigo["300"],indigo["100"]],[blue["900"],blue["700"],blue["500"],blue["300"],blue["100"]],[lightBlue["900"],lightBlue["700"],lightBlue["500"],lightBlue["300"],lightBlue["100"]],[cyan["900"],cyan["700"],cyan["500"],cyan["300"],cyan["100"]],[teal["900"],teal["700"],teal["500"],teal["300"],teal["100"]],["#194D33",green["700"],green["500"],green["300"],green["100"]],[lightGreen["900"],lightGreen["700"],lightGreen["500"],lightGreen["300"],lightGreen["100"]],[lime["900"],lime["700"],lime["500"],lime["300"],lime["100"]],[yellow["900"],yellow["700"],yellow["500"],yellow["300"],yellow["100"]],[amber["900"],amber["700"],amber["500"],amber["300"],amber["100"]],[orange["900"],orange["700"],orange["500"],orange["300"],orange["100"]],[deepOrange["900"],deepOrange["700"],deepOrange["500"],deepOrange["300"],deepOrange["100"]],[brown["900"],brown["700"],brown["500"],brown["300"],brown["100"]],[blueGrey["900"],blueGrey["700"],blueGrey["500"],blueGrey["300"],blueGrey["100"]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};ColorWrap(Swatches);var Twitter=function Twitter2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,hex2=_ref.hex,colors=_ref.colors,width=_ref.width,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},passedStyles),{"hide-triangle":triangle==="hide","top-left-triangle":triangle==="top-left","top-right-triangle":triangle==="top-right"});var handleChange=function handleChange2(hexcode,e){isValidHex(hexcode)&&onChange({hex:hexcode,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"twitter-picker "+className2},React__default.default.createElement("div",{style:styles2.triangleShadow}),React__default.default.createElement("div",{style:styles2.triangle}),React__default.default.createElement("div",{style:styles2.body},map(colors,function(c2,i2){return React__default.default.createElement(Swatch$1,{key:i2,color:c2,hex:c2,style:styles2.swatch,onClick:handleChange,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+c2}});}),React__default.default.createElement("div",{style:styles2.hash},"#"),React__default.default.createElement(EditableInput,{label:null,style:{input:styles2.input},value:hex2.replace("#",""),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.clear})));};Twitter.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),triangle:propTypes$3.exports.oneOf(["hide","top-left","top-right"]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),styles:propTypes$3.exports.object};Twitter.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};ColorWrap(Twitter);var GooglePointerCircle=function GooglePointerCircle2(props){var styles2=_default$3({"default":{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(props.hsl.h)+", "+Math.round(props.hsl.s*100)+"%, "+Math.round(props.hsl.l*100)+"%)"}}});return React__default.default.createElement("div",{style:styles2.picker});};GooglePointerCircle.propTypes={hsl:propTypes$3.exports.shape({h:propTypes$3.exports.number,s:propTypes$3.exports.number,l:propTypes$3.exports.number,a:propTypes$3.exports.number})};GooglePointerCircle.defaultProps={hsl:{a:1,h:249.94,l:0.2,s:0.5}};var GooglePointer=function GooglePointer2(props){var styles2=_default$3({"default":{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(props.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return React__default.default.createElement("div",{style:styles2.picker});};GooglePointer.propTypes={hsl:propTypes$3.exports.shape({h:propTypes$3.exports.number,s:propTypes$3.exports.number,l:propTypes$3.exports.number,a:propTypes$3.exports.number})};GooglePointer.defaultProps={hsl:{a:1,h:249.94,l:0.2,s:0.5}};var GoogleFields=function GoogleFields2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hex2=_ref.hex,hsv=_ref.hsv;var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.rgb){var values=data2.rgb.split(",");isvalidColorString(data2.rgb,"rgb")&&onChange({r:values[0],g:values[1],b:values[2],a:1,source:"rgb"},e);}else if(data2.hsv){var _values=data2.hsv.split(",");if(isvalidColorString(data2.hsv,"hsv")){_values[2]=_values[2].replace("%","");_values[1]=_values[1].replace("%","");_values[0]=_values[0].replace("\xB0","");if(_values[1]==1){_values[1]=0.01;}else if(_values[2]==1){_values[2]=0.01;}onChange({h:Number(_values[0]),s:Number(_values[1]),v:Number(_values[2]),source:"hsv"},e);}}else if(data2.hsl){var _values2=data2.hsl.split(",");if(isvalidColorString(data2.hsl,"hsl")){_values2[2]=_values2[2].replace("%","");_values2[1]=_values2[1].replace("%","");_values2[0]=_values2[0].replace("\xB0","");if(hsvValue[1]==1){hsvValue[1]=0.01;}else if(hsvValue[2]==1){hsvValue[2]=0.01;}onChange({h:Number(_values2[0]),s:Number(_values2[1]),v:Number(_values2[2]),source:"hsl"},e);}}};var styles2=_default$3({"default":{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}});var rgbValue=rgb2.r+", "+rgb2.g+", "+rgb2.b;var hslValue=Math.round(hsl2.h)+"\xB0, "+Math.round(hsl2.s*100)+"%, "+Math.round(hsl2.l*100)+"%";var hsvValue=Math.round(hsv.h)+"\xB0, "+Math.round(hsv.s*100)+"%, "+Math.round(hsv.v*100)+"%";return React__default.default.createElement("div",{style:styles2.wrap,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.fields},React__default.default.createElement("div",{style:styles2.double},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:hex2,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.column},React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"rgb",value:rgbValue,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"hsv",value:hsvValue,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"hsl",value:hslValue,onChange:handleChange})))));};var Google=function Google2(_ref){var width=_ref.width,onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hsv=_ref.hsv,hex2=_ref.hex,header=_ref.header,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{width,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+rgb2.r+", "+rgb2.g+", "+rgb2.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.picker,className:"google-picker "+className2},React__default.default.createElement("div",{style:styles2.head},header),React__default.default.createElement("div",{style:styles2.swatch}),React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{hsl:hsl2,hsv,pointer:GooglePointerCircle,onChange})),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,radius:"4px",pointer:GooglePointer,onChange}))),React__default.default.createElement(GoogleFields,{rgb:rgb2,hsl:hsl2,hex:hex2,hsv,onChange})));};Google.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),styles:propTypes$3.exports.object,header:propTypes$3.exports.string};Google.defaultProps={width:652,styles:{},header:"Color picker"};ColorWrap(Google);let SketchInlinePicker=/*#__PURE__*/function(_React__default$defau8){_inherits3(SketchInlinePicker,_React__default$defau8);var _super63=_createSuper3(SketchInlinePicker);function SketchInlinePicker(props){var _this82;_classCallCheck3(this,SketchInlinePicker);_this82=_super63.call(this,props);const startColor=rgb(props.color);_this82.state={displayColorPicker:false,color:{r:startColor.r,g:startColor.g,b:startColor.b,a:startColor.opacity}};return _this82;}_createClass3(SketchInlinePicker,[{key:"handleClick",value:function handleClick(){this.setState(prevState=>({displayColorPicker:!prevState.displayColorPicker}));}},{key:"handleClose",value:function handleClose(){this.setState({displayColorPicker:false});}},{key:"handleChange",value:function handleChange(color2){const rgb2=color2.rgb;const colorString=`rgba(${rgb2.r},${rgb2.g},${rgb2.b},${rgb2.a})`;this.props.onChange(colorString);this.setState({color:color2.rgb});}},{key:"render",value:function render(){const styles2=_default$3({default:{color:{width:"32px",height:"14px",borderRadius:"2px",background:`rgba(${this.state.color.r}, ${this.state.color.g}, ${this.state.color.b}, ${this.state.color.a})`},swatch:{padding:"5px",background:"#fff",cursor:"pointer",borderRadius:"1px"},popover:{position:"absolute",zIndex:"2"},cover:{position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}}});return/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleClick.bind(this),style:styles2.swatch},/* @__PURE__ */React__default.default.createElement("div",{style:styles2.color})),this.state.displayColorPicker?/* @__PURE__ */React__default.default.createElement("div",{style:styles2.popover},/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleClose.bind(this),style:styles2.cover}),/* @__PURE__ */React__default.default.createElement(SketchPicker,{color:this.state.color,onChange:this.handleChange.bind(this)})):null);}}]);return SketchInlinePicker;}(React__default.default.Component);SketchInlinePicker.propTypes={color:propTypes$3.exports.string,onChange:propTypes$3.exports.func};const TrackOptions="";let HeatmapOptions=/*#__PURE__*/function(_React__default$defau9){_inherits3(HeatmapOptions,_React__default$defau9);var _super64=_createSuper3(HeatmapOptions);function HeatmapOptions(props){var _this83;_classCallCheck3(this,HeatmapOptions);_this83=_super64.call(this,props);_this83.state={colors:props.track.options.colorRange.slice()};return _this83;}_createClass3(HeatmapOptions,[{key:"handleColorsChanged",value:function handleColorsChanged(newColors){this.setState({colors:newColors});}},{key:"handleSubmit",value:function handleSubmit(){const options2=this.props.track.options;options2.colorRange=this.state.colors;this.props.onSubmit(this.props.track.options);}},{key:"handleAddColor",value:function handleAddColor(){this.setState(prevState=>({colors:prevState.colors.concat(prevState.colors[prevState.colors.length-1])}));}},{key:"handleRemoveColor",value:function handleRemoveColor(i2){this.setState(prevState=>({colors:prevState.colors.slice(0,i2).concat(prevState.colors.slice(i2+1))}));}},{key:"render",value:function render(){const track=JSON.parse(JSON.stringify(this.props.track));const centerTrack=Object.assign(track,{options:{colorRange:this.state.colors}});const mvConfig={editable:false,zoomFixed:true,views:[{uid:`hmo-${this.props.track.uid}`,initialXDomain:this.props.xScale?this.props.xScale.domain():[0,1],initialYDomain:this.props.yScale?this.props.yScale.domain():[0,1],tracks:{center:[centerTrack]},layout:{x:0,y:0,h:12,w:12,i:`hmo-${this.props.track.id}`}}]};const colorFields=this.state.colors.map((x,i2)=>{const removeButton=this.state.colors.length>2&&i2===this.state.colors.length-1?/* @__PURE__ */React__default.default.createElement("div",{onClick:()=>this.handleRemoveColor(i2),style:{background:"white",position:"absolute",top:0,right:0,opacity:1,width:14,height:14,borderRadius:2,cursor:"pointer"}},/* @__PURE__ */React__default.default.createElement("svg",{height:"10px",style:{position:"absolute",top:2,right:2,opacity:0.5,width:10,height:10}},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"}))):null;return/* @__PURE__ */React__default.default.createElement("div",{key:`l${i2}`,style:{borderRadius:"1px",boxShadow:"0 0 0 1px #E5E5E5",position:"relative",outline:"none"}},removeButton,/* @__PURE__ */React__default.default.createElement(SketchInlinePicker,{key:i2,color:this.state.colors[i2],onChange:c2=>{this.setState(prevState=>{const colors=prevState.colors.slice();colors[i2]=c2;return{colors};},()=>{this.handleColorsChanged(this.state.colors);});}}));}).reverse();const addButton=this.state.colors.length<10?/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleAddColor.bind(this),style:{position:"relative",outline:"none",height:"25px",padding:"5px",background:"#fff",borderRadius:"1px",boxShadow:"0 0 0 1px #E5E5E5",cursor:"pointer"}},/* @__PURE__ */React__default.default.createElement("div",{style:{textAlign:"center",width:"32px",height:"14px"}},/* @__PURE__ */React__default.default.createElement("svg",{height:"100%",style:{opacity:0.5,margin:"auto",display:"block"},width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})))):null;return/* @__PURE__ */React__default.default.createElement(Dialog$1,{okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmit.bind(this),title:"Custom Color Map"},/* @__PURE__ */React__default.default.createElement("table",{className:"table-track-options"},/* @__PURE__ */React__default.default.createElement("thead",null),/* @__PURE__ */React__default.default.createElement("tbody",{style:{verticalAlign:"top"}},/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("table",null,/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},"Preview")),/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("div",{style:{width:200}},/* @__PURE__ */React__default.default.createElement(HiGlassComponent$1,{options:{bounded:false},viewConfig:mvConfig}))))))),/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("table",null,/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},"Colors")),/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},addButton,/* @__PURE__ */React__default.default.createElement("div",{style:{position:"relative"}},colorFields))))))))));}}]);return HeatmapOptions;}(React__default.default.Component);HeatmapOptions.propTypes={handleCancel:propTypes$3.exports.func,onCancel:propTypes$3.exports.func,onSubmit:propTypes$3.exports.func,track:propTypes$3.exports.object,xScale:propTypes$3.exports.object,yScale:propTypes$3.exports.object};const valueColumnOptions=track=>{if(!track.header)return[];const headerParts=track.header.split(" ");const options2=[];for(let i2=0;i2<headerParts.length;i2++){options2.push({name:headerParts[i2],value:i2+1});}return options2;};const sizesInPx=(sizes,unit2="",multiplier=1)=>sizes.reduce((sizeOption,size)=>{sizeOption[size]={name:`${size*multiplier}${unit2}`,value:size};return sizeOption;},{});const YES_NO={yes:{name:"Yes",value:true},no:{name:"No",value:false}};const AVAILABLE_COLORS={black:{name:"Black",value:"black"},blue:{name:"Blue",value:"blue"},brown:{name:"Brown",value:"brown"},cyan:{name:"Cyan",value:"cyan"},green:{name:"Green",value:"green"},grey:{name:"Grey",value:"grey"},orange:{name:"Orange",value:"orange"},purple:{name:"Purple",value:"purple"},turquoise:{name:"Turquoise",value:"turquoise"},red:{name:"Red",value:"red"},white:{name:"White",value:"white"}};const SPECIAL_COLORS={use_stroke:{name:"Glyph color",value:"[glyph-color]"}};const AVAILABLE_WIDTHS=sizesInPx([1,2,3,5,8,13,21]);const AVAILABLE_WIDTHS_AND_NONE=Object.assign(AVAILABLE_WIDTHS,{none:{name:"none",value:"none"}});const AVAILABLE_MARGIN=sizesInPx([0,2,4,8,16,32,64,128,256]);const OPACITY_OPTIONS=sizesInPx([0,0.2,0.4,0.6,0.8,1],"%",100);const OPACITY_OPTIONS_NO_ZERO=sizesInPx([0.2,0.4,0.6,0.8,1],"%",100);const OPTIONS_INFO={axisLabelFormatting:{name:"Axis Label Formatting",inlineOptions:{normal:{name:"normal",value:"normal"},scientific:{name:"scientific",value:"scientific"}}},flipDiagonal:{name:"Flip Across Diagonal",inlineOptions:{none:{name:"No",value:"none"},yes:{name:"Yes",value:"yes"},copy:{name:"Copy",value:"copy"}}},heatmapValueScaling:{name:"Value Scaling",inlineOptions:{linear:{name:"Linear",value:"linear"},log:{name:"Log",value:"log"}}},valueScaling:{name:"Value Scaling",inlineOptions:{linear:{name:"Linear",value:"linear"},log:{name:"Log",value:"log"}}},extent:{name:"Extent",inlineOptions:{full:{name:"Full",value:"full"},upperRight:{name:"Upper Right",value:"upper-right"},lowerLeft:{name:"Lower Left",value:"lower-left"}}},labelLeftMargin:{name:"Label Left Margin",inlineOptions:AVAILABLE_MARGIN},labelRightMargin:{name:"Label Right Margin",inlineOptions:AVAILABLE_MARGIN},labelTopMargin:{name:"Label Top Margin",inlineOptions:AVAILABLE_MARGIN},labelBottomMargin:{name:"Label Bottom Margin",inlineOptions:AVAILABLE_MARGIN},labelShowResolution:{name:"Label Show Resolution",inlineOptions:YES_NO},labelShowAssembly:{name:"Label Show Assembly",inlineOptions:YES_NO},lineStrokeWidth:{name:"Stroke Width",inlineOptions:AVAILABLE_WIDTHS},strokeWidth:{name:"Stroke Width",inlineOptions:AVAILABLE_WIDTHS},trackBorderWidth:{name:"Track Border Width",inlineOptions:AVAILABLE_WIDTHS},separatePlusMinusStrands:{name:"Separate +/- strands",inlineOptions:YES_NO},sortLargestOnTop:{name:"Sort Largest On Top",inlineOptions:YES_NO},showTexts:{name:"Show texts",inlineOptions:YES_NO},staggered:{name:"Staggered",inlineOptions:YES_NO},minSquareSize:{name:"Minimum size",inlineOptions:AVAILABLE_WIDTHS_AND_NONE},pointSize:{name:"Point Size",inlineOptions:AVAILABLE_WIDTHS},pointColor:{name:"Point Color",inlineOptions:AVAILABLE_COLORS},trackBorderColor:{name:"Track Border Color",inlineOptions:AVAILABLE_COLORS},backgroundColor:{name:"Background Color",inlineOptions:{white:{name:"White",value:"white"},lightGrey:{name:"Light Grey",value:"#eeeeee"},grey:{name:"Grey",value:"#cccccc"},black:{name:"Black",value:"black"},transparent:{name:"Transparent",value:"transparent"}}},colorScale:{name:"Color Scale",inlineOptions:{epilogos:{name:"Epilogos",values:["#FF0000","#FF4500","#32CD32","#008000","#006400","#C2E105","#FFFF00","#66CDAA","#8A91D0","#CD5C5C","#E9967A","#BDB76B","#808080","#C0C0C0","#FFFFFF"]},category10:{name:"D3 Category10",values:["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"]}}},minusStrandColor:{name:"- Strand Color",inlineOptions:AVAILABLE_COLORS},plusStrandColor:{name:"+ Strand Color",inlineOptions:AVAILABLE_COLORS},lineStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},projectionStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},projectionFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},stroke:{name:"Stroke Color",inlineOptions:AVAILABLE_COLORS},strokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},fill:{name:"Fill Color",inlineOptions:AVAILABLE_COLORS},color:{name:"Color",inlineOptions:AVAILABLE_COLORS},fontColor:{name:"Font color",inlineOptions:AVAILABLE_COLORS},fillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},barFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},barFillColorTop:{name:"Top Fill color",inlineOptions:AVAILABLE_COLORS},barFillColorBottom:{name:"Bottom Fill color",inlineOptions:AVAILABLE_COLORS},barOpacity:{name:"Bar opacity",inlineOptions:OPACITY_OPTIONS},zeroLineVisible:{name:"Zero line visible",inlineOptions:YES_NO},zeroLineColor:{name:"Zero line color",inlineOptions:AVAILABLE_COLORS},zeroLineOpacity:{name:"Zero line opacity",inlineOptions:OPACITY_OPTIONS_NO_ZERO},fillOpacity:{name:"Fill Opacity",inlineOptions:OPACITY_OPTIONS},strokeOpacity:{name:"Stroke Opacity",inlineOptions:OPACITY_OPTIONS},strokePos:{name:"Stroke Position",inlineOptions:{aroundInner:{name:"Around Inner",value:"around"},aroundCenter:{name:"Around Center",value:null},hidden:{name:"Hidden",value:"hidden"},top:{name:"Top",value:"top"},right:{name:"Right",value:"right"},bottom:{name:"Bottom",value:"bottom"},left:{name:"Left",value:"left"}}},barBorder:{name:"Bar border",inlineOptions:YES_NO},scaledHeight:{name:"Scaled height",inlineOptions:YES_NO},rectangleDomainStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},rectangleDomainFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},rectangleDomainFillOpacity:{name:"Fill opacity",inlineOptions:OPACITY_OPTIONS},rectangleDomainOpacity:{name:"Opacity",inlineOptions:OPACITY_OPTIONS},mapboxStyle:{name:"Map style",inlineOptions:{streets:{name:"streets",value:"mapbox.streets"},light:{name:"light",value:"mapbox.light"},dark:{name:"dark",value:"mapbox.dark"},satellite:{name:"satellite",value:"mapbox.satellite"},"streets-satellite":{name:"streets-satellite",value:"mapbox.streets-satellite"},wheatpaste:{name:"wheatpaste",value:"mapbox.wheatpaste"},"streets-basic":{name:"streets-basic",value:"mapbox.streets-basic"},comic:{name:"comic",value:"mapbox.comic"},outdoors:{name:"outdoors",value:"mapbox.outdoors"},"run-bike-hike":{name:"run-bike-hike",value:"mapbox.run-bike-hike"},pencil:{name:"pencil",value:"mapbox.pencil"},pirates:{name:"pirates",value:"mapbox.pirates"},emerald:{name:"emerald",value:"mapbox.emerald"},"high-contrast":{name:"high-contrast",value:"mapbox.high-contrast"}}},oneDHeatmapFlipped:{name:"Flip Heatmap",inlineOptions:{yes:{name:"Yes",value:"yes"},no:{name:"No",value:null}}},showMousePosition:{name:"Show Mouse Position",inlineOptions:YES_NO},showTooltip:{name:"Show Tooltip",inlineOptions:YES_NO},fontSize:{name:"Font Size",inlineOptions:sizesInPx([8,9,10,11,12,14,16,18,24],"px")},tickPositions:{name:"Tick Positions",inlineOptions:{even:{name:"Even",value:"even"},ends:{name:"Ends",value:"ends"}}},tickFormat:{name:"Tick Format",inlineOptions:{plain:{name:"Plain",value:"plain"},si:{name:"SI",value:"si"}}},colorEncoding:{name:"Color Encode Annotations",inlineOptions:{none:{name:"None",value:null},itemRgb:{name:"itemRgb",value:"itemRgb"}},generateOptions:valueColumnOptions},fontIsAligned:{name:"Left-Align Font",inlineOptions:YES_NO},axisPositionHorizontal:{name:"Axis Position",inlineOptions:{left:{name:"Left",value:"left"},outsideLeft:{name:"Outside left",value:"outsideLeft"},right:{name:"Right",value:"right"},outsideRight:{name:"Outside right",value:"outsideRight"},hidden:{name:"Hidden",value:null}}},axisPositionVertical:{name:"Axis Position",inlineOptions:{top:{name:"Top",value:"top"},outsideTop:{name:"Outside top",value:"outsideTop"},bottom:{name:"Bottom",value:"bottom"},outsideBottom:{name:"Outside bottom",value:"outsideBottom"},hidden:{name:"Hidden",value:null}}},axisMargin:{name:"Axis Margin",inlineOptions:sizesInPx([0,10,20,30,40,50,100,200,400],"px")},colorbarPosition:{name:"Colorbar Position",inlineOptions:{topLeft:{name:"Top Left",value:"topLeft"},topRight:{name:"Top Right",value:"topRight"},bottomLeft:{name:"Bottom Left",value:"bottomLeft"},bottomRight:{name:"Bottom Right",value:"bottomRight"},hidden:{name:"Hidden",value:null}}},colorbarBackgroundColor:{name:"Colorbar Background Color",inlineOptions:AVAILABLE_COLORS},colorbarBackgroundOpacity:{name:"Colorbar Background Opacity",inlineOptions:OPACITY_OPTIONS},colorbarLabelsPosition:{name:"Colorbar Labels Position",inlineOptions:{inside:{name:"Inside",value:"inside"},outside:{name:"Outside",value:"outside"}}},labelColor:{name:"Label Color",inlineOptions:{...AVAILABLE_COLORS,...SPECIAL_COLORS}},labelPosition:{name:"Label Position",inlineOptions:{ol:{name:"Outer left",value:"outerLeft"},or:{name:"Outer right",value:"outerRight"},ot:{name:"Outer top",value:"outerTop"},ob:{name:"Outer bottom",value:"outerBottom"},tl:{name:"Top left",value:"topLeft"},tr:{name:"Top right",value:"topRight"},bl:{name:"Bottom left",value:"bottomLeft"},br:{name:"Bottom right",value:"bottomRight"},hidden:{name:"Hidden",value:"hidden"}}},labelTextOpacity:{name:"Label Text Opacity",inlineOptions:OPACITY_OPTIONS},geneAnnotationHeight:{name:"Gene Annotation Height",inlineOptions:{8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16}}},annotationHeight:{name:"Annotation Height",inlineOptions:{5:{name:"5px",value:5},8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16},20:{name:"20px",value:20},scaled:{name:"scaled",value:"scaled"}}},maxAnnotationHeight:{name:"Max Annotation Height",inlineOptions:{5:{name:"5px",value:5},8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16},20:{name:"20px",value:20},none:{name:"none",value:null}}},annotationStyle:{name:"Annotation Style",inlineOptions:{box:{name:"Box",value:"box"},segment:{name:"Segment",value:"segment"}}},geneLabelPosition:{name:"Gene Label Position",inlineOptions:{inside:{name:"Inside",value:"inside"},outside:{name:"Outside",value:"outside"}}},geneStrandSpacing:{name:"Gene Strand Spacing",inlineOptions:{2:{name:"2px",value:2},4:{name:"4px",value:4},8:{name:"8px",value:8}}},labelBackgroundColor:{name:"Label Background Color",inlineOptions:AVAILABLE_COLORS},labelBackgroundOpacity:{name:"Label Background Opacity",inlineOptions:OPACITY_OPTIONS},viewResolution:{name:"View Resolution",inlineOptions:{high:{name:"High",value:384},medium:{name:"Medium",value:1024},low:{name:"Low",value:2048}}},colorRange:{name:"Color map",inlineOptions:{afmhot:{name:"afmhot",value:["rgba(0,0,0,1.0)","rgba(128,0,0,1.0)","rgba(256,129,1,1.0)","rgba(256,256,129,1.0)","rgba(256,256,256,1.0)"]},fall:{name:"fall",value:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"]},hot:{name:"hot",value:["rgba(10,0,0,1.0)","rgba(179,0,0,1.0)","rgba(256,91,0,1.0)","rgba(256,256,6,1.0)","rgba(256,256,256,1.0)"]},jet:{name:"jet",value:["rgba(0,0,128,1.0)","rgba(0,129,256,1.0)","rgba(125,256,122,1.0)","rgba(256,148,0,1.0)","rgba(128,0,0,1.0)"]},bwr:{name:"bwr",value:["rgba(0,0,256,1.0)","rgba(128,128,256,1.0)","rgba(256,254,254,1.0)","rgba(256,126,126,1.0)","rgba(256,0,0,1.0)"]},cubehelix:{name:"cubehelix",value:["rgba(0,0,0,1.0)","rgba(21,83,76,1.0)","rgba(162,121,74,1.0)","rgba(199,180,238,1.0)","rgba(256,256,256,1.0)"]},rainbow:{name:"rainbow",value:["rgba(128,0,256,1.0)","rgba(0,181,236,1.0)","rgba(129,255,180,1.0)","rgba(256,179,96,1.0)","rgba(256,0,0,1.0)"]},gray:{name:"greys",value:["rgba(255,255,255,1)","rgba(0,0,0,1)"]},red:{name:"White to red",value:["rgba(255,255,255,1)","rgba(255,0,0,1)"]},green:{name:"White to green",value:["rgba(255,255,255,1)","rgba(0,255,0,1)"]},blue:{name:"White to blue",value:["rgba(255,255,255,1)","rgba(0,0,255,1)"]},custard:{name:"custard",value:["#FFFFFF","#F8E71C","rgba(245,166,35,1)","rgba(0,0,0,1)"]},magma:{name:"magma",value:["rgba(0,0,3,1)","rgba(0,0,4,1)","rgba(0,0,6,1)","rgba(1,0,7,1)","rgba(1,1,9,1)","rgba(1,1,11,1)","rgba(2,2,13,1)","rgba(2,2,15,1)","rgba(3,3,17,1)","rgba(4,3,19,1)","rgba(4,4,21,1)","rgba(5,4,23,1)","rgba(6,5,25,1)","rgba(7,5,27,1)","rgba(8,6,29,1)","rgba(9,7,32,1)","rgba(10,7,34,1)","rgba(11,8,36,1)","rgba(12,9,38,1)","rgba(13,10,40,1)","rgba(14,10,42,1)","rgba(15,11,45,1)","rgba(16,12,47,1)","rgba(17,12,49,1)","rgba(19,13,51,1)","rgba(20,13,54,1)","rgba(21,14,56,1)","rgba(22,14,58,1)","rgba(23,15,61,1)","rgba(25,15,63,1)","rgba(26,16,66,1)","rgba(27,16,68,1)","rgba(28,16,70,1)","rgba(30,17,73,1)","rgba(31,17,75,1)","rgba(33,17,78,1)","rgba(34,17,80,1)","rgba(36,17,83,1)","rgba(37,17,85,1)","rgba(39,17,87,1)","rgba(40,17,90,1)","rgba(42,17,92,1)","rgba(43,17,94,1)","rgba(45,17,97,1)","rgba(47,16,99,1)","rgba(49,16,101,1)","rgba(50,16,103,1)","rgba(52,16,105,1)","rgba(54,15,107,1)","rgba(55,15,108,1)","rgba(57,15,110,1)","rgba(59,15,112,1)","rgba(61,15,113,1)","rgba(62,15,114,1)","rgba(64,15,116,1)","rgba(66,15,117,1)","rgba(67,15,118,1)","rgba(69,15,119,1)","rgba(71,15,120,1)","rgba(72,16,120,1)","rgba(74,16,121,1)","rgba(76,16,122,1)","rgba(77,17,123,1)","rgba(79,17,123,1)","rgba(81,18,124,1)","rgba(82,18,124,1)","rgba(84,19,125,1)","rgba(85,20,125,1)","rgba(87,20,126,1)","rgba(88,21,126,1)","rgba(90,21,126,1)","rgba(92,22,127,1)","rgba(93,23,127,1)","rgba(95,23,127,1)","rgba(96,24,128,1)","rgba(98,25,128,1)","rgba(99,25,128,1)","rgba(101,26,128,1)","rgba(103,26,128,1)","rgba(104,27,129,1)","rgba(106,28,129,1)","rgba(107,28,129,1)","rgba(109,29,129,1)","rgba(110,30,129,1)","rgba(112,30,129,1)","rgba(113,31,129,1)","rgba(115,32,129,1)","rgba(117,32,129,1)","rgba(118,33,129,1)","rgba(120,33,129,1)","rgba(121,34,130,1)","rgba(123,35,130,1)","rgba(124,35,130,1)","rgba(126,36,130,1)","rgba(128,36,130,1)","rgba(129,37,129,1)","rgba(131,37,129,1)","rgba(132,38,129,1)","rgba(134,39,129,1)","rgba(136,39,129,1)","rgba(137,40,129,1)","rgba(139,40,129,1)","rgba(140,41,129,1)","rgba(142,41,129,1)","rgba(144,42,129,1)","rgba(145,42,129,1)","rgba(147,43,128,1)","rgba(148,43,128,1)","rgba(150,44,128,1)","rgba(152,44,128,1)","rgba(153,45,128,1)","rgba(155,46,127,1)","rgba(157,46,127,1)","rgba(158,47,127,1)","rgba(160,47,127,1)","rgba(161,48,126,1)","rgba(163,48,126,1)","rgba(165,49,126,1)","rgba(166,49,125,1)","rgba(168,50,125,1)","rgba(170,50,125,1)","rgba(171,51,124,1)","rgba(173,51,124,1)","rgba(175,52,123,1)","rgba(176,52,123,1)","rgba(178,53,123,1)","rgba(180,53,122,1)","rgba(181,54,122,1)","rgba(183,55,121,1)","rgba(185,55,121,1)","rgba(186,56,120,1)","rgba(188,56,120,1)","rgba(189,57,119,1)","rgba(191,57,118,1)","rgba(193,58,118,1)","rgba(194,59,117,1)","rgba(196,59,117,1)","rgba(198,60,116,1)","rgba(199,61,115,1)","rgba(201,61,115,1)","rgba(202,62,114,1)","rgba(204,63,113,1)","rgba(206,63,113,1)","rgba(207,64,112,1)","rgba(209,65,111,1)","rgba(210,66,110,1)","rgba(212,67,110,1)","rgba(213,67,109,1)","rgba(215,68,108,1)","rgba(216,69,107,1)","rgba(218,70,107,1)","rgba(219,71,106,1)","rgba(221,72,105,1)","rgba(222,73,104,1)","rgba(223,74,103,1)","rgba(225,75,103,1)","rgba(226,76,102,1)","rgba(227,78,101,1)","rgba(229,79,100,1)","rgba(230,80,100,1)","rgba(231,81,99,1)","rgba(232,83,98,1)","rgba(233,84,97,1)","rgba(234,85,97,1)","rgba(236,87,96,1)","rgba(237,88,95,1)","rgba(238,90,95,1)","rgba(239,91,94,1)","rgba(239,93,94,1)","rgba(240,95,93,1)","rgba(241,96,93,1)","rgba(242,98,93,1)","rgba(243,100,92,1)","rgba(243,101,92,1)","rgba(244,103,92,1)","rgba(245,105,92,1)","rgba(246,107,92,1)","rgba(246,108,92,1)","rgba(247,110,92,1)","rgba(247,112,92,1)","rgba(248,114,92,1)","rgba(248,116,92,1)","rgba(249,118,92,1)","rgba(249,120,92,1)","rgba(250,121,93,1)","rgba(250,123,93,1)","rgba(250,125,94,1)","rgba(251,127,94,1)","rgba(251,129,95,1)","rgba(251,131,95,1)","rgba(252,133,96,1)","rgba(252,135,97,1)","rgba(252,137,97,1)","rgba(252,139,98,1)","rgba(253,140,99,1)","rgba(253,142,100,1)","rgba(253,144,101,1)","rgba(253,146,102,1)","rgba(253,148,103,1)","rgba(254,150,104,1)","rgba(254,152,105,1)","rgba(254,154,106,1)","rgba(254,156,107,1)","rgba(254,157,108,1)","rgba(254,159,109,1)","rgba(254,161,110,1)","rgba(254,163,111,1)","rgba(254,165,112,1)","rgba(255,167,114,1)","rgba(255,169,115,1)","rgba(255,171,116,1)","rgba(255,172,118,1)","rgba(255,174,119,1)","rgba(255,176,120,1)","rgba(255,178,122,1)","rgba(255,180,123,1)","rgba(255,182,124,1)","rgba(255,184,126,1)","rgba(255,185,127,1)","rgba(255,187,129,1)","rgba(255,189,130,1)","rgba(255,191,132,1)","rgba(255,193,133,1)","rgba(255,195,135,1)","rgba(255,197,136,1)","rgba(255,198,138,1)","rgba(255,200,140,1)","rgba(255,202,141,1)","rgba(255,204,143,1)","rgba(254,206,144,1)","rgba(254,208,146,1)","rgba(254,209,148,1)","rgba(254,211,149,1)","rgba(254,213,151,1)","rgba(254,215,153,1)","rgba(254,217,155,1)","rgba(254,219,156,1)","rgba(254,220,158,1)","rgba(254,222,160,1)","rgba(254,224,162,1)","rgba(254,226,163,1)","rgba(253,228,165,1)","rgba(253,230,167,1)","rgba(253,231,169,1)","rgba(253,233,171,1)","rgba(253,235,172,1)","rgba(253,237,174,1)","rgba(253,239,176,1)","rgba(253,241,178,1)","rgba(253,242,180,1)","rgba(253,244,182,1)","rgba(253,246,184,1)","rgba(252,248,186,1)","rgba(252,250,188,1)","rgba(252,251,189,1)","rgba(252,253,191,1)"]},viridis:{name:"viridis",value:["rgba(68,1,84,1)","rgba(68,2,85,1)","rgba(69,3,87,1)","rgba(69,5,88,1)","rgba(69,6,90,1)","rgba(70,8,91,1)","rgba(70,9,93,1)","rgba(70,11,94,1)","rgba(70,12,96,1)","rgba(71,14,97,1)","rgba(71,15,98,1)","rgba(71,17,100,1)","rgba(71,18,101,1)","rgba(71,20,102,1)","rgba(72,21,104,1)","rgba(72,22,105,1)","rgba(72,24,106,1)","rgba(72,25,108,1)","rgba(72,26,109,1)","rgba(72,28,110,1)","rgba(72,29,111,1)","rgba(72,30,112,1)","rgba(72,32,113,1)","rgba(72,33,115,1)","rgba(72,34,116,1)","rgba(72,36,117,1)","rgba(72,37,118,1)","rgba(72,38,119,1)","rgba(72,39,120,1)","rgba(71,41,121,1)","rgba(71,42,121,1)","rgba(71,43,122,1)","rgba(71,44,123,1)","rgba(71,46,124,1)","rgba(70,47,125,1)","rgba(70,48,126,1)","rgba(70,49,126,1)","rgba(70,51,127,1)","rgba(69,52,128,1)","rgba(69,53,129,1)","rgba(69,54,129,1)","rgba(68,56,130,1)","rgba(68,57,131,1)","rgba(68,58,131,1)","rgba(67,59,132,1)","rgba(67,60,132,1)","rgba(67,62,133,1)","rgba(66,63,133,1)","rgba(66,64,134,1)","rgba(65,65,134,1)","rgba(65,66,135,1)","rgba(65,67,135,1)","rgba(64,69,136,1)","rgba(64,70,136,1)","rgba(63,71,136,1)","rgba(63,72,137,1)","rgba(62,73,137,1)","rgba(62,74,137,1)","rgba(61,75,138,1)","rgba(61,77,138,1)","rgba(60,78,138,1)","rgba(60,79,138,1)","rgba(59,80,139,1)","rgba(59,81,139,1)","rgba(58,82,139,1)","rgba(58,83,139,1)","rgba(57,84,140,1)","rgba(57,85,140,1)","rgba(56,86,140,1)","rgba(56,87,140,1)","rgba(55,88,140,1)","rgba(55,89,140,1)","rgba(54,91,141,1)","rgba(54,92,141,1)","rgba(53,93,141,1)","rgba(53,94,141,1)","rgba(52,95,141,1)","rgba(52,96,141,1)","rgba(51,97,141,1)","rgba(51,98,141,1)","rgba(51,99,141,1)","rgba(50,100,142,1)","rgba(50,101,142,1)","rgba(49,102,142,1)","rgba(49,103,142,1)","rgba(48,104,142,1)","rgba(48,105,142,1)","rgba(47,106,142,1)","rgba(47,107,142,1)","rgba(47,108,142,1)","rgba(46,109,142,1)","rgba(46,110,142,1)","rgba(45,111,142,1)","rgba(45,112,142,1)","rgba(45,112,142,1)","rgba(44,113,142,1)","rgba(44,114,142,1)","rgba(43,115,142,1)","rgba(43,116,142,1)","rgba(43,117,142,1)","rgba(42,118,142,1)","rgba(42,119,142,1)","rgba(41,120,142,1)","rgba(41,121,142,1)","rgba(41,122,142,1)","rgba(40,123,142,1)","rgba(40,124,142,1)","rgba(40,125,142,1)","rgba(39,126,142,1)","rgba(39,127,142,1)","rgba(38,128,142,1)","rgba(38,129,142,1)","rgba(38,130,142,1)","rgba(37,131,142,1)","rgba(37,131,142,1)","rgba(37,132,142,1)","rgba(36,133,142,1)","rgba(36,134,142,1)","rgba(35,135,142,1)","rgba(35,136,142,1)","rgba(35,137,142,1)","rgba(34,138,141,1)","rgba(34,139,141,1)","rgba(34,140,141,1)","rgba(33,141,141,1)","rgba(33,142,141,1)","rgba(33,143,141,1)","rgba(32,144,141,1)","rgba(32,145,140,1)","rgba(32,146,140,1)","rgba(32,147,140,1)","rgba(31,147,140,1)","rgba(31,148,140,1)","rgba(31,149,139,1)","rgba(31,150,139,1)","rgba(31,151,139,1)","rgba(30,152,139,1)","rgba(30,153,138,1)","rgba(30,154,138,1)","rgba(30,155,138,1)","rgba(30,156,137,1)","rgba(30,157,137,1)","rgba(30,158,137,1)","rgba(30,159,136,1)","rgba(30,160,136,1)","rgba(31,161,136,1)","rgba(31,162,135,1)","rgba(31,163,135,1)","rgba(31,163,134,1)","rgba(32,164,134,1)","rgba(32,165,134,1)","rgba(33,166,133,1)","rgba(33,167,133,1)","rgba(34,168,132,1)","rgba(35,169,131,1)","rgba(35,170,131,1)","rgba(36,171,130,1)","rgba(37,172,130,1)","rgba(38,173,129,1)","rgba(39,174,129,1)","rgba(40,175,128,1)","rgba(41,175,127,1)","rgba(42,176,127,1)","rgba(43,177,126,1)","rgba(44,178,125,1)","rgba(46,179,124,1)","rgba(47,180,124,1)","rgba(48,181,123,1)","rgba(50,182,122,1)","rgba(51,183,121,1)","rgba(53,183,121,1)","rgba(54,184,120,1)","rgba(56,185,119,1)","rgba(57,186,118,1)","rgba(59,187,117,1)","rgba(61,188,116,1)","rgba(62,189,115,1)","rgba(64,190,114,1)","rgba(66,190,113,1)","rgba(68,191,112,1)","rgba(70,192,111,1)","rgba(72,193,110,1)","rgba(73,194,109,1)","rgba(75,194,108,1)","rgba(77,195,107,1)","rgba(79,196,106,1)","rgba(81,197,105,1)","rgba(83,198,104,1)","rgba(85,198,102,1)","rgba(88,199,101,1)","rgba(90,200,100,1)","rgba(92,201,99,1)","rgba(94,201,98,1)","rgba(96,202,96,1)","rgba(98,203,95,1)","rgba(101,204,94,1)","rgba(103,204,92,1)","rgba(105,205,91,1)","rgba(108,206,90,1)","rgba(110,206,88,1)","rgba(112,207,87,1)","rgba(115,208,85,1)","rgba(117,208,84,1)","rgba(119,209,82,1)","rgba(122,210,81,1)","rgba(124,210,79,1)","rgba(127,211,78,1)","rgba(129,212,76,1)","rgba(132,212,75,1)","rgba(134,213,73,1)","rgba(137,213,72,1)","rgba(139,214,70,1)","rgba(142,215,68,1)","rgba(144,215,67,1)","rgba(147,216,65,1)","rgba(149,216,63,1)","rgba(152,217,62,1)","rgba(155,217,60,1)","rgba(157,218,58,1)","rgba(160,218,57,1)","rgba(163,219,55,1)","rgba(165,219,53,1)","rgba(168,220,51,1)","rgba(171,220,50,1)","rgba(173,221,48,1)","rgba(176,221,46,1)","rgba(179,221,45,1)","rgba(181,222,43,1)","rgba(184,222,41,1)","rgba(187,223,39,1)","rgba(189,223,38,1)","rgba(192,223,36,1)","rgba(195,224,35,1)","rgba(197,224,33,1)","rgba(200,225,32,1)","rgba(203,225,30,1)","rgba(205,225,29,1)","rgba(208,226,28,1)","rgba(211,226,27,1)","rgba(213,226,26,1)","rgba(216,227,25,1)","rgba(219,227,24,1)","rgba(221,227,24,1)","rgba(224,228,24,1)","rgba(226,228,24,1)","rgba(229,228,24,1)","rgba(232,229,25,1)","rgba(234,229,25,1)","rgba(237,229,26,1)","rgba(239,230,27,1)","rgba(242,230,28,1)","rgba(244,230,30,1)","rgba(247,230,31,1)","rgba(249,231,33,1)","rgba(251,231,35,1)","rgba(254,231,36,1)"]},custom:{name:"Custom...",componentPickers:{heatmap:HeatmapOptions,"horizontal-heatmap":HeatmapOptions}}}},align:{name:"Align",inlineOptions:{white:{name:"Top",value:"top"},lightGrey:{name:"Bottom",value:"bottom"}}},colorRangeGradient:{name:"Color Gradient",inlineOptions:YES_NO},dataTransform:{name:"Transforms",inlineOptions:{default:{name:"Default",value:"default"},None:{name:"None",value:"None"}},generateOptions:track=>{const inlineOptions=[];if(track.transforms){for(const transform2 of track.transforms){inlineOptions.push({name:transform2.name,value:transform2.value});}}return inlineOptions;}},aggregationMode:{name:"Aggregation Mode",inlineOptions:{},generateOptions:track=>{const inlineOptions=[];if(track.aggregationModes){Object.values(track.aggregationModes).forEach(({name,value:value2})=>{inlineOptions.push({name,value:value2});});}else{inlineOptions.push({name:"Default",value:"default"});}return inlineOptions;}},maxZoom:{name:"Zoom limit",inlineOptions:{none:{name:"None",value:null}},generateOptions:track=>{if(track.maxZoom){const inlineOptions=[];for(let i2=0;i2<=track.maxZoom;i2++){const{maxWidth,binsPerDimension,maxZoom}=track;let maxResolutionSize=1;let resolution=1;if(track.resolutions){const sortedResolutions=track.resolutions.map(x=>+x).sort((a,b)=>b-a);[maxResolutionSize]=sortedResolutions;resolution=sortedResolutions[i2];}else{resolution=track.maxWidth/(2**i2*track.binsPerDimension);maxResolutionSize=maxWidth/(2**maxZoom*binsPerDimension);}const pp=precisionPrefix(maxResolutionSize,resolution);const f2=formatPrefix(`.${pp}`,resolution);const formattedResolution=f2(resolution);inlineOptions.push({name:formattedResolution,value:i2.toString()});}return inlineOptions;}return[];}},valueColumn:{name:"Value column",inlineOptions:{none:{name:"None",value:null}},generateOptions:valueColumnOptions},zeroValueColor:{name:"Zero Value Color",inlineOptions:AVAILABLE_COLORS}};const configs={..._configs,IS_TRACK_RANGE_SELECTABLE,OPTIONS_INFO};const libraries={d3Array,d3Axis,d3Brush,d3Color,d3Drag,d3Dsv,d3Format,d3Geo,d3Queue,d3Request,d3Scale,d3Selection,d3Transition,d3Zoom,PIXI:configs.GLOBALS.PIXI,mix,slugid};const tracks$1={Annotations1dTrack,Annotations2dTrack,ArrowheadDomainsTrack,BarTrack,BedLikeTrack,CNVIntervalTrack,Chromosome2DAnnotations,Chromosome2DLabels,ChromosomeGrid,CombinedTrack,CrossRule,DivergentBarTrack,HeatmapTiledPixiTrack,Horizontal1dHeatmapTrack,Horizontal2DDomainsTrack,HorizontalChromosomeLabels,HorizontalGeneAnnotationsTrack,HorizontalHeatmapTrack,HorizontalLine1DPixiTrack,HorizontalMultivecTrack,HorizontalPoint1DPixiTrack,HorizontalRule,HorizontalTiled1DPixiTrack,HorizontalTiledPlot,HorizontalTrack,Id2DTiledPixiTrack,IdHorizontal1DTiledPixiTrack,IdVertical1DTiledPixiTrack,LeftAxisTrack,MapboxTilesTrack,MoveableTrack,OSMTileIdsTrack,OSMTilesTrack,OverlayTrack,PixiTrack,RasterTilesTrack,SVGTrack,SquareMarkersTrack,Tiled1DPixiTrack,TiledPixiTrack,TopAxisTrack,Track,ValueIntervalTrack,VerticalRule,VerticalTiled1DPixiTrack,VerticalTrack,ViewportTracker2D:ViewportTracker2D$1,ViewportTracker2DPixi:ViewportTracker2D,ViewportTrackerHorizontal,ViewportTrackerVertical};const factories={ContextMenuItem,DataFetcher,LruCache};const chromosomes={ChromosomeInfo,SearchField};const dataFetchers={DataFetcher,GBKDataFetcher,LocalDataFetcher:LocalTileDataFetcher,getDataFetcher:getDataFetcher$1};const AVAILABLE_FOR_PLUGINS={chromosomes,libraries,tracks:tracks$1,dataFetchers,factories,services,utils:utils$7,configs,VERSION:version};const classes$3={"track-renderer":"_track-renderer_11dwb_1","track-renderer-element":"_track-renderer-element_11dwb_5","track-renderer-events":"_track-renderer-events_11dwb_6"};const{getDataFetcher}=AVAILABLE_FOR_PLUGINS.dataFetchers;const SCROLL_TIMEOUT=100;let TrackRenderer=/*#__PURE__*/function(_React__default$defau10){_inherits3(TrackRenderer,_React__default$defau10);var _super65=_createSuper3(TrackRenderer);function TrackRenderer(props){var _this84;_classCallCheck3(this,TrackRenderer);_this84=_super65.call(this,props);_this84.dragging=false;_this84.element=null;_this84.eventTracker=null;_this84.eventTrackerOld=null;_this84.closing=false;_this84.yPositionOffset=0;_this84.xPositionOffset=0;_this84.scrollTop=0;_this84.scrollTimeout=null;_this84.activeTransitions=0;_this84.zoomTransform=identity$4;_this84.windowScrolledBound=_this84.windowScrolled.bind(_assertThisInitialized3(_this84));_this84.zoomStartedBound=_this84.zoomStarted.bind(_assertThisInitialized3(_this84));_this84.zoomedBound=_this84.zoomed.bind(_assertThisInitialized3(_this84));_this84.zoomEndedBound=_this84.zoomEnded.bind(_assertThisInitialized3(_this84));_this84.uid=slugid.nice();_this84.viewUid=_this84.props.uid;_this84.availableForPlugins={...AVAILABLE_FOR_PLUGINS,services:{...AVAILABLE_FOR_PLUGINS.services,pubSub:_this84.props.pubSub,pixiRenderer:_this84.props.pixiRenderer}};_this84.mounted=false;_this84.emptyZoomBehavior=zoom();_this84.currentProps=props;_this84.prevPropsStr="";_this84.zoomBehavior=zoom().filter(event=>{if(event.target.classList.contains("no-zoom")){return false;}if(event.target.classList.contains("react-resizable-handle")){return false;}return true;}).on("start",_this84.zoomStartedBound).on("zoom",_this84.zoomedBound).on("end",_this84.zoomEndedBound);_this84.zoomTransform=identity$4;_this84.prevZoomTransform=identity$4;_this84.initialXDomain=[0,1];_this84.initialYDomain=[0,1];_this84.xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER];_this84.yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER];_this84.zoomLimits=[0,Number.MAX_SAFE_INTEGER];_this84.prevCenterX=_this84.currentProps.paddingLeft+_this84.currentProps.leftWidth+_this84.currentProps.centerWidth/2;_this84.prevCenterY=_this84.currentProps.paddingTop+_this84.currentProps.topHeight+_this84.currentProps.centerHeight/2;_this84.cumCenterXOffset=0;_this84.cumCenterYOffset=0;_this84.setUpInitialScales(_this84.currentProps.initialXDomain,_this84.currentProps.initialYDomain,_this84.currentProps.xDomainLimits,_this84.currentProps.yDomainLimits,_this84.currentProps.zoomLimits);_this84.setUpScales();_this84.trackDefObjects={};_this84.metaTracks={};_this84.pubSubs=[];if(window.higlassTracksByType){for(const pluginTrackType in window.higlassTracksByType){TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;}}_this84.boundForwardEvent=_this84.forwardEvent.bind(_assertThisInitialized3(_this84));_this84.boundScrollEvent=_this84.scrollEvent.bind(_assertThisInitialized3(_this84));_this84.boundForwardContextMenu=_this84.forwardContextMenu.bind(_assertThisInitialized3(_this84));_this84.dispatchEventBound=_this84.dispatchEvent.bind(_assertThisInitialized3(_this84));_this84.zoomToDataPosHandlerBound=_this84.zoomToDataPosHandler.bind(_assertThisInitialized3(_this84));_this84.onScrollHandlerBound=_this84.onScrollHandler.bind(_assertThisInitialized3(_this84));_this84.elementPos={height:0,width:0,left:0,top:0};_this84.elementSelection=null;return _this84;}_createClass3(TrackRenderer,[{key:"xScale",get:function(){if(!this._xScale){throw new Error("xScale is not defined");}return this._xScale;}},{key:"yScale",get:function(){if(!this._yScale){throw new Error("yScale is not defined");}return this._yScale;}},{key:"UNSAFE_componentWillMount",value:function UNSAFE_componentWillMount(){this.pubSubs=[];this.pubSubs.push(this.props.pubSub.subscribe("scroll",this.windowScrolledBound));this.pubSubs.push(this.props.pubSub.subscribe("app.event",this.dispatchEventBound));this.pubSubs.push(this.props.pubSub.subscribe("zoomToDataPos",this.zoomToDataPosHandlerBound));this.pubSubs.push(this.props.pubSub.subscribe("app.scroll",this.onScrollHandlerBound));}},{key:"componentDidMount",value:function componentDidMount(){if(!this.element){throw new Error("Component did not mount, this.element is not defined.");}this.elementPos=this.element.getBoundingClientRect();this.elementSelection=select$1(this.element);this.pStage=new GLOBALS.PIXI.Graphics();this.pMask=new GLOBALS.PIXI.Graphics();this.pOutline=new GLOBALS.PIXI.Graphics();this.pBackground=new GLOBALS.PIXI.Graphics();this.pStage.addChild(this.pMask);this.pStage.addChild(this.pOutline);this.currentProps.pixiStage.addChild(this.pStage);this.pStage.mask=this.pMask;if(!this.props.isRangeSelection)this.addZoom();if(!this.currentProps.svgElement||!this.currentProps.canvasElement){return;}this.svgElement=this.currentProps.svgElement;this.syncTrackObjects(this.currentProps.positionedTracks);this.syncMetaTracks(this.currentProps.metaTracks);this.currentProps.setCentersFunction(this.setCenter.bind(this));this.currentProps.registerDraggingChangedListener(this.draggingChanged.bind(this));this.draggingChanged(true);this.addEventTracker();const transExt=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]];const svgBBox=this.svgElement.getBoundingClientRect();const ext=[[Math.max(transExt[0][0],0),Math.max(transExt[0][1],0)],[Math.min(transExt[1][0],svgBBox.width),Math.min(transExt[1][1],svgBBox.height)]];this.zoomBehavior.extent(ext).translateExtent(transExt).scaleExtent(this.zoomLimits);}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!nextProps.svgElement||!nextProps.canvasElement){return;}const nextPropsStr=this.updatablePropsToString(nextProps);this.currentProps=nextProps;if(this.prevPropsStr===nextPropsStr)return;this.setBackground();for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.delayDrawing=true;}this.prevPropsStr=nextPropsStr;this.setUpInitialScales(nextProps.initialXDomain,nextProps.initialYDomain,nextProps.xDomainLimits,nextProps.yDomainLimits,nextProps.zoomLimits);this.setUpScales(nextProps.width!==this.props.width||nextProps.height!==this.props.height);this.svgElement=nextProps.svgElement;const transExt=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]];const svgBBox=this.svgElement.getBoundingClientRect();const ext=[[Math.max(transExt[0][0],0),Math.max(transExt[0][1],0)],[Math.min(transExt[1][0],svgBBox.width),Math.min(transExt[1][1],svgBBox.height)]];this.zoomBehavior.extent(ext).translateExtent(transExt).scaleExtent(this.zoomLimits);this.syncTrackObjects(nextProps.positionedTracks);this.syncMetaTracks(nextProps.metaTracks);for(const track of nextProps.positionedTracks){const options2=track.track.options;const trackObject=this.trackDefObjects[track.track.uid].trackObject;trackObject.rerender(options2);if(isCombinedTrackConfig(track.track)){const ctDefs={};for(const ct of track.track.contents){ctDefs[ct.uid]=ct;}for(const uid in trackObject.createdTracks){trackObject.createdTracks[uid].rerender(ctDefs[uid].options);}}}this.props.onNewTilesLoaded();for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.delayDrawing=false;track.draw();}}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(this.props.initialXDomain[0]!==prevProps.initialXDomain[0]||this.props.initialXDomain[1]!==prevProps.initialXDomain[1]||this.props.initialYDomain[0]!==prevProps.initialYDomain[0]||this.props.initialYDomain[1]!==prevProps.initialYDomain[1]){if(this.element)this.element.__zoom=identity$4;}if(prevProps.isRangeSelection!==this.props.isRangeSelection){if(this.props.isRangeSelection){this.removeZoom();}else{this.addZoom();}}if(prevProps.zoomable!==this.props.zoomable){if(this.props.zoomable){this.addZoom();}else{this.removeZoom();}}this.addEventTracker();}},{key:"componentWillUnmount",value:function componentWillUnmount(){var _a,_b;this.mounted=false;this.removeTracks(Object.keys(this.trackDefObjects));this.removeMetaTracks(Object.keys(this.metaTracks));this.currentProps.removeDraggingChangedListener(this.draggingChanged);if(this.pStage)this.currentProps.pixiStage.removeChild(this.pStage);(_a=this.pMask)==null?void 0:_a.destroy(true);(_b=this.pStage)==null?void 0:_b.destroy(true);this.pubSubs.forEach(subscription=>this.props.pubSub.unsubscribe(subscription));this.pubSubs=[];this.removeEventTracker();}},{key:"dispatchEvent",value:function dispatchEvent(event){if(event.sourceUid===this.uid&&event.type!=="contextmenu"){if(this.element)forwardEvent(event,this.element);}}},{key:"isWithin",value:function isWithin(x,y){const withinX=x>=this.elementPos.left&&x<=this.elementPos.width+this.elementPos.left;const withinY=y>=this.elementPos.top&&y<=this.elementPos.height+this.elementPos.top;return withinX&&withinY;}},{key:"zoomToDataPosHandler",value:function zoomToDataPosHandler({pos,animateTime}){this.zoomToDataPos(...pos,animateTime);}},{key:"addZoom",value:function addZoom(){if(!this.elementSelection||!this.currentProps.zoomable)return;this.elementSelection.call(this.zoomBehavior);this.zoomBehavior.transform(this.elementSelection,this.zoomTransform);}},{key:"removeZoom",value:function removeZoom(){if(this.elementSelection){this.zoomEnded();this.elementSelection.on(".zoom",null);}}},{key:"setMask",value:function setMask(){var _a,_b,_c,_d;(_a=this.pMask)==null?void 0:_a.clear();(_b=this.pMask)==null?void 0:_b.beginFill();(_c=this.pMask)==null?void 0:_c.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height);(_d=this.pMask)==null?void 0:_d.endFill();}},{key:"setBackground",value:function setBackground(){var _a,_b,_c,_d,_e,_f;const defBgColor=this.props.theme===THEME_DARK?"black":"white";const bgColor=colorToHex((_b=(_a=this.currentProps.viewOptions)==null?void 0:_a.backgroundColor)!=null?_b:defBgColor);(_c=this.pBackground)==null?void 0:_c.clear();(_d=this.pBackground)==null?void 0:_d.beginFill(bgColor);(_e=this.pBackground)==null?void 0:_e.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height);(_f=this.pBackground)==null?void 0:_f.endFill();}},{key:"windowScrolled",value:function windowScrolled(){this.removeZoom();if(this.scrollTimeout){clearTimeout(this.scrollTimeout);}this.scrollTimeout=setTimeout(()=>{this.addZoom();},SCROLL_TIMEOUT);}},{key:"setUpInitialScales",value:function setUpInitialScales(initialXDomain=[0,1],initialYDomain=[0,1],xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],zoomLimits=[0,Number.MAX_SAFE_INTEGER]){zoomLimits[0]=zoomLimits[0]===null?0:zoomLimits[0];zoomLimits[1]=zoomLimits[1]===null?Infinity:zoomLimits[1];const xWidth=initialXDomain[1]-initialXDomain[0];const yCenter=(initialYDomain[0]+initialYDomain[1])/2;initialYDomain[0]=yCenter-xWidth/2;initialYDomain[1]=yCenter+xWidth/2;if(initialXDomain[0]===this.initialXDomain[0]&&initialXDomain[1]===this.initialXDomain[1]&&initialYDomain[0]===this.initialYDomain[0]&&initialYDomain[1]===this.initialYDomain[1]&&xDomainLimits[0]===this.xDomainLimits[0]&&xDomainLimits[1]===this.xDomainLimits[1]&&yDomainLimits[0]===this.yDomainLimits[0]&&yDomainLimits[1]===this.yDomainLimits[1]&&zoomLimits[0]===this.zoomLimits[0]&&zoomLimits[1]===this.zoomLimits[1])return;this.initialXDomain=initialXDomain;this.initialYDomain=initialYDomain;this.xDomainLimits=xDomainLimits;this.yDomainLimits=yDomainLimits;this.zoomLimits=zoomLimits;this.zoomTransform=identity$4;this.prevZoomTransform=identity$4;this.cumCenterYOffset=0;this.cumCenterXOffset=0;this.drawableToDomainX=linear().domain([this.currentProps.paddingLeft+this.currentProps.leftWidth,this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth]).range([initialXDomain[0],initialXDomain[1]]);let startY;let endY;if(this.currentProps.centerWidth===0){startY=this.currentProps.paddingTop+this.currentProps.topHeight;endY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight;}else{startY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2-this.currentProps.centerWidth/2;endY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2+this.currentProps.centerWidth/2;}this.drawableToDomainY=linear().domain([startY,endY]).range([initialYDomain[0],initialYDomain[1]]);this.prevCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;this.prevCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;}},{key:"updatablePropsToString",value:function updatablePropsToString(props){return JSON.stringify({positionedTracks:props.positionedTracks,initialXDomain:props.initialXDomain,initialYDomain:props.initialYDomain,width:props.width,height:props.height,paddingLeft:props.paddingLeft,paddingTop:props.paddingTop,leftWidth:props.leftWidth,topHeight:props.topHeight,dragging:props.dragging,viewOptions:props.viewOptions});}},{key:"draggingChanged",value:function draggingChanged(draggingStatus){this.dragging=draggingStatus;this.timedUpdatePositionAndDimensions();}},{key:"setUpScales",value:function setUpScales(notify=false){const currentCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;const currentCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;if(!this.drawableToDomainX||!this.drawableToDomainY){return;}const centerDomainXOffset=(this.drawableToDomainX(currentCenterX)-this.drawableToDomainX(this.prevCenterX))/this.zoomTransform.k;const centerDomainYOffset=(this.drawableToDomainY(currentCenterY)-this.drawableToDomainY(this.prevCenterY))/this.zoomTransform.k;this.cumCenterYOffset+=centerDomainYOffset;this.cumCenterXOffset+=centerDomainXOffset;this.prevCenterY=currentCenterY;this.prevCenterX=currentCenterX;const visibleXDomain=[this.drawableToDomainX(0)-this.cumCenterXOffset,this.drawableToDomainX(this.currentProps.width)-this.cumCenterXOffset];const visibleYDomain=[this.drawableToDomainY(0)-this.cumCenterYOffset,this.drawableToDomainY(this.currentProps.height)-this.cumCenterYOffset];this._xScale=linear().domain(visibleXDomain).range([0,this.currentProps.width]);this._yScale=linear().domain(visibleYDomain).range([0,this.currentProps.height]);for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.refScalesChanged(this.xScale,this.yScale);}this.applyZoomTransform(notify);}},{key:"getTrackDef",value:function getTrackDef(trackObjectIn){const trackDefItems=dictItems(this.trackDefObjects);for(const[,{trackDef,trackObject}]of trackDefItems){if(trackObject===trackObjectIn){return trackDef.track;}if(isCombinedTrackConfig(trackDef.track)){for(const subTrackDef of trackDef.track.contents){if(trackObject.createdTracks[subTrackDef.uid]===trackObjectIn){return subTrackDef;}}}}return null;}},{key:"getTrackObject",value:function getTrackObject(trackId){const trackDefItems=dictItems(this.trackDefObjects);for(let i2=0;i2<trackDefItems.length;i2++){const uid=trackDefItems[i2][0];const trackObject=trackDefItems[i2][1].trackObject;if(uid===trackId){return trackObject;}if(trackObject.createdTracks){const createdTrackItems=dictItems(trackObject.createdTracks);for(let j=0;j<createdTrackItems.length;j++){const createdTrackUid=createdTrackItems[j][0];const createdTrackObject=createdTrackItems[j][1];if(createdTrackUid===trackId){return createdTrackObject;}}}}return void 0;}},{key:"timedUpdatePositionAndDimensions",value:function timedUpdatePositionAndDimensions(){if(this.closing||!this.element)return;this.elementPos=this.element.getBoundingClientRect();if(this.dragging){this.yPositionOffset=this.element.getBoundingClientRect().top-this.currentProps.canvasElement.getBoundingClientRect().top+this.scrollTop;this.xPositionOffset=this.element.getBoundingClientRect().left-this.currentProps.canvasElement.getBoundingClientRect().left;this.setMask();this.setBackground();const updated=this.updateTrackPositions();if(updated){this.applyZoomTransform(true);}requestAnimationFrame(this.timedUpdatePositionAndDimensions.bind(this));}}},{key:"syncMetaTracks",value:function syncMetaTracks(trackDefinitions){const knownMetaTrackIds=Object.keys(this.metaTracks);const newMetaTracks=new Set(trackDefinitions.map(def=>def.uid));this.addMetaTracks(trackDefinitions.filter(def=>!this.metaTracks[def.uid]));this.updateMetaTracks(trackDefinitions.filter(def=>this.metaTracks[def.uid]));this.removeMetaTracks(knownMetaTrackIds.filter(def=>!newMetaTracks.has(def)));}},{key:"syncTrackObjects",value:function syncTrackObjects(trackDefinitions){this.prevTrackDefinitions=JSON.stringify(trackDefinitions);const receivedTracksDict={};for(let i2=0;i2<trackDefinitions.length;i2++){receivedTracksDict[trackDefinitions[i2].track.uid]=trackDefinitions[i2];}const knownTracks=new Set(Object.keys(this.trackDefObjects));const receivedTracks=new Set(Object.keys(receivedTracksDict));const enterTrackDefs=new Set([...receivedTracks].filter(x=>!knownTracks.has(x)));const exitTracks=new Set([...knownTracks].filter(x=>!receivedTracks.has(x)));const updateTrackDefs=new Set([...receivedTracks].filter(x=>knownTracks.has(x)));this.updateExistingTrackDefs([...updateTrackDefs].map(x=>receivedTracksDict[x]));this.addNewTracks([...enterTrackDefs].map(x=>receivedTracksDict[x]));this.updateExistingTrackDefs([...enterTrackDefs].map(x=>receivedTracksDict[x]));this.removeTracks([...exitTracks]);}},{key:"addMetaTracks",value:function addMetaTracks(metaTrackDefs){metaTrackDefs.filter(metaTrackDef=>!this.metaTracks[metaTrackDef.uid]).forEach(metaTrackDef=>{this.metaTracks[metaTrackDef.uid]={trackDef:metaTrackDef,trackObject:this.createMetaTrack(metaTrackDef)};});}},{key:"addNewTracks",value:function addNewTracks(newTrackDefinitions){if(!this.currentProps.pixiStage){return;}for(let i2=0;i2<newTrackDefinitions.length;i2++){const newTrackDef=newTrackDefinitions[i2];const newTrackObj=this.createTrackObject(newTrackDef.track);newTrackObj.refScalesChanged(this.xScale,this.yScale);this.trackDefObjects[newTrackDef.track.uid]={trackDef:newTrackDef,trackObject:newTrackObj};const zoomedXScale=this.zoomTransform.rescaleX(this.xScale);const zoomedYScale=this.zoomTransform.rescaleY(this.yScale);newTrackObj.setDimensions([newTrackDef.width,newTrackDef.height]);newTrackObj.zoomed(zoomedXScale,zoomedYScale);}this.applyZoomTransform(false);}},{key:"updateMetaTracks",value:function updateMetaTracks(_unused){}},{key:"updateExistingTrackDefs",value:function updateExistingTrackDefs(newTrackDefs){for(const trackDef of newTrackDefs){const ref2=this.trackDefObjects[trackDef.track.uid];ref2.trackDef=trackDef;if(isCombinedTrackConfig(trackDef.track)){ref2.trackObject.updateContents(trackDef.track.contents,this.createTrackObject.bind(this)).refScalesChanged(this.xScale,this.yScale);}}const updated=this.updateTrackPositions();if(updated){this.applyZoomTransform(false);}}},{key:"updateTrackPositions",value:function updateTrackPositions(){let updated=false;for(const uid in this.trackDefObjects){const trackDef=this.trackDefObjects[uid].trackDef;const trackObject=this.trackDefObjects[uid].trackObject;const prevPosition=trackObject.position;const prevDimensions=trackObject.dimensions;const newPosition=[this.xPositionOffset+trackDef.left,this.yPositionOffset+trackDef.top];const newDimensions=[trackDef.width,trackDef.height];if(!prevPosition||newPosition[0]!==prevPosition[0]||newPosition[1]!==prevPosition[1]){trackObject.setPosition(newPosition);updated=true;}if(!prevDimensions||newDimensions[0]!==prevDimensions[0]||newDimensions[1]!==prevDimensions[1]){trackObject.setDimensions(newDimensions);updated=true;}}return updated;}},{key:"removeMetaTracks",value:function removeMetaTracks(trackIds){trackIds.forEach(id2=>{this.metaTracks[id2].trackObject.remove();this.metaTracks[id2]=void 0;delete this.metaTracks[id2];});}},{key:"removeTracks",value:function removeTracks(trackUids){for(let i2=0;i2<trackUids.length;i2++){this.trackDefObjects[trackUids[i2]].trackObject.remove();delete this.trackDefObjects[trackUids[i2]];}}},{key:"setCenter",value:function setCenter(centerX,centerY,sourceK,notify=false,animateTime=0,xScale=this.xScale,yScale=this.yScale){const refK=this.xScale.invert(1)-this.xScale.invert(0);const k=refK/sourceK;const middleViewX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;const middleViewY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;const translateX2=middleViewX-xScale(centerX)*k;const translateY2=middleViewY-yScale(centerY)*k;let last2;const setZoom=()=>{const newTransform=identity$4.translate(translateX2,translateY2).scale(k);this.zoomTransform=newTransform;if(this.elementSelection){this.emptyZoomBehavior.transform(this.elementSelection,newTransform);}last2=this.applyZoomTransform(notify);};if(animateTime&&this.elementSelection){let selection2=this.elementSelection;this.activeTransitions+=1;if(!document.hidden){selection2=selection2.transition().duration(animateTime);}selection2.call(this.zoomBehavior.transform,identity$4.translate(translateX2,translateY2).scale(k)).on("end",()=>{setZoom();this.activeTransitions-=1;});}else{setZoom();}return last2;}},{key:"valueScaleMove",value:function valueScaleMove(movement){if(!this.zoomStartPos){return;}for(const track of this.getTracksAtPosition(...this.zoomStartPos)){track.movedY(movement);}if(this.zoomStartTransform)this.zoomTransform=this.zoomStartTransform;}},{key:"valueScaleZoom",value:function valueScaleZoom(event,orientation2){if(!isWheelEvent(event.sourceEvent)){return;}const mdy=event.sourceEvent.deltaY;const mdm=event.sourceEvent.deltaMode;const myWheelDelta=(dy,dm)=>dy*(dm?120:1)/500;const mwd=myWheelDelta(mdy,mdm);const cp=pointer(event.sourceEvent,this.props.canvasElement);for(const track of this.getTracksAtPosition(...cp)){const yPos=orientation2==="1d-horizontal"?cp[1]-track.position[1]:cp[0]-track.position[0];track.zoomedY(yPos,2**mwd);}if(this.zoomStartTransform)this.zoomTransform=this.zoomStartTransform;}},{key:"zoomed",value:function zoomed(event){var _a;let trackOrientation=null;if(this.zoomStartPos){const tracksAtZoomStart=this.getTracksAtPosition(...this.zoomStartPos);if(tracksAtZoomStart.length){const trackAtZoomStart=tracksAtZoomStart[0];const trackDef=this.getTrackDef(trackAtZoomStart);if(!trackDef){return;}if((_a=TRACKS_INFO_BY_TYPE[trackDef.type])==null?void 0:_a.orientation){trackOrientation=TRACKS_INFO_BY_TYPE[trackDef.type].orientation;}if(trackAtZoomStart instanceof LeftTrackModifier){trackOrientation="1d-vertical";}}}if(trackOrientation&&event.sourceEvent){if(event.shiftKey||this.valueScaleZooming){if(event.sourceEvent.deltaY!==void 0){this.valueScaleZoom(event,trackOrientation);return;}if(trackOrientation==="1d-horizontal"){this.valueScaleMove(event.sourceEvent.movementY);}else if(trackOrientation==="1d-vertical"){this.valueScaleMove(event.sourceEvent.movementX);}}if(trackOrientation==="1d-horizontal"&&event.sourceEvent.movementY){this.valueScaleMove(event.sourceEvent.movementY);}else if(trackOrientation==="1d-vertical"&&event.sourceEvent.movementX){this.valueScaleMove(event.sourceEvent.movementX);}}this.zoomTransform=!this.currentProps.zoomable?identity$4:event.transform;const zooming=this.prevZoomTransform.k!==this.zoomTransform.k;if(!zooming){if(trackOrientation==="1d-horizontal"){this.zoomTransform=identity$4.translate(this.zoomTransform.x,this.prevZoomTransform.y).scale(this.zoomTransform.k);}else if(trackOrientation==="1d-vertical"){this.zoomTransform=identity$4.translate(this.prevZoomTransform.x,this.zoomTransform.y).scale(this.zoomTransform.k);}if(this.element)this.element.__zoom=this.zoomTransform;}this.applyZoomTransform(true);this.prevZoomTransform=this.zoomTransform;this.props.pubSub.publish("app.zoom",event);if(event.sourceEvent){event.sourceEvent.stopPropagation();event.sourceEvent.preventDefault();}}},{key:"getTracksAtPosition",value:function getTracksAtPosition(x,y){const foundTracks=[];let tracksToVisit=[];for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;if(track.childTracks){tracksToVisit=tracksToVisit.concat(track.childTracks);}else{tracksToVisit.push(track);}}for(const track of tracksToVisit){const withinX=track.position[0]<=x&&x<=track.position[0]+track.dimensions[0];const withinY=track.position[1]<=y&&y<=track.position[1]+track.dimensions[1];if(withinX&&withinY){foundTracks.push(track);}}return foundTracks;}},{key:"zoomStarted",value:function zoomStarted(event){this.zooming=true;if(event&&event.sourceEvent){this.zoomStartPos=pointer(event.sourceEvent,this.props.canvasElement);if(event.sourceEvent.shiftKey){this.valueScaleZooming=true;}}this.zoomStartTransform=this.zoomTransform;this.props.pubSub.publish("app.zoomStart");}},{key:"zoomEnded",value:function zoomEnded(){this.zooming=false;this.zoomStartPos=null;if(this.valueScaleZooming){this.valueScaleZooming=false;if(this.element)this.element.__zoom=this.zoomStartTransform;}this.props.pubSub.publish("app.zoomEnd");}},{key:"applyZoomTransform",value:function applyZoomTransform(notify=true){const props=this.currentProps;const paddingleft=props.paddingLeft+props.leftWidth;const paddingTop=props.paddingTop+props.topHeight;if(!this.xScale||!this.yScale){return void 0;}this.zoomedXScale=this.zoomTransform.rescaleX(this.xScale);this.zoomedYScale=this.zoomTransform.rescaleY(this.yScale);const newXScale=linear().domain([paddingleft,paddingleft+props.centerWidth].map(this.zoomedXScale.invert)).range([0,props.centerWidth]);const newYScale=linear().domain([paddingTop,paddingTop+props.centerHeight].map(this.zoomedYScale.invert)).range([0,props.centerHeight]);for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;const trackDef=this.trackDefObjects[uid].trackDef;let orientation2="unknown";if(TRACKS_INFO_BY_TYPE[trackDef.track.type]){orientation2=TRACKS_INFO_BY_TYPE[trackDef.track.type].orientation;}if(orientation2==="whole"){const trackXScale=linear().domain([props.paddingLeft,props.width-props.paddingLeft].map(this.zoomedXScale.invert)).range([0,props.width-2*props.paddingLeft]);const trackYScale=linear().domain([props.paddingTop,props.height-props.paddingTop].map(this.zoomedYScale.invert)).range([0,props.height-2*props.paddingTop]);track.zoomed(trackXScale,trackYScale);continue;}if(this.trackDefObjects[uid].trackDef.track.position==="gallery"){const trackXScale=linear().domain([props.paddingLeft+props.leftWidthNoGallery,props.paddingLeft+props.leftWidth+props.centerWidth+props.galleryDim].map(this.zoomedXScale.invert)).range([0,props.centerWidth+2*props.galleryDim]);const trackYScale=linear().domain([props.paddingTop+props.topHeightNoGallery,props.paddingTop+props.topHeight+props.centerHeight+props.galleryDim].map(this.zoomedYScale.invert)).range([0,props.centerHeight-2*props.galleryDim]);track.zoomed(trackXScale.copy(),trackYScale.copy(),this.zoomTransform.k);continue;}track.zoomed(newXScale.copy(),newYScale.copy(),this.zoomTransform.k,this.zoomTransform.x+this.xPositionOffset,this.zoomTransform.y+this.yPositionOffset,props.paddingLeft+props.leftWidth,props.paddingTop+props.topHeight);}this.currentXScale=newXScale;this.currentYScale=newYScale;if(notify){this.currentProps.onScalesChanged(newXScale,newYScale);}return[newXScale,newYScale];}},{key:"createMetaTrack",value:function createMetaTrack(track){switch(track.type){default:{const pluginTrack=this.props.pluginTracks[track.type];if(pluginTrack==null?void 0:pluginTrack.isMetaTrack){const context={getTrackObject:this.getTrackObject.bind(this),onNewTilesLoaded:()=>{this.currentProps.onNewTilesLoaded(track.uid);},definition:track};try{return new pluginTrack.track(this.availableForPlugins,context,track.options);}catch(e){console.error("Plugin meta track",track.type,"failed to instantiate.",e);}}console.warn(`Unknown meta track of type: ${track.type}`);return new UnknownPixiTrack(this.pStage,{name:"Unknown Track Type",type:track.type});}}}},{key:"createTrackObject",value:function createTrackObject(track){const trackObject=this.createLocationAgnosticTrackObject(track);if(track.position==="left"||track.position==="right"){if(TRACKS_INFO_BY_TYPE[track.type].orientation==="1d-horizontal"){return new LeftTrackModifier(trackObject);}}return trackObject;}},{key:"createLocationAgnosticTrackObject",value:function createLocationAgnosticTrackObject(track){let dataConfig=track.data;if(!dataConfig){dataConfig={server:trimTrailingSlash(track.server),tilesetUid:track.tilesetUid};}if(track.coordSystem){dataConfig.coordSystem=track.coordSystem;}const dataFetcher=getDataFetcher(dataConfig,this.props.pubSub,this.props.pluginDataFetchers,this.availableForPlugins);if(!this.pStage||!this.svgElement){throw new Error("No PIXI stage or svg element");}const context={id:track.uid,trackUid:track.uid,trackType:track.type,viewUid:this.viewUid,pubSub:this.props.pubSub,scene:this.pStage,dataConfig,dataFetcher,getLockGroupExtrema:()=>this.currentProps.getLockGroupExtrema(track.uid),handleTilesetInfoReceived:tilesetInfo=>{this.currentProps.onTilesetInfoReceived(track.uid,tilesetInfo);},animate:()=>{this.currentProps.onNewTilesLoaded(track.uid);},svgElement:this.svgElement,isValueScaleLocked:()=>this.currentProps.isValueScaleLocked(track.uid),onValueScaleChanged:()=>{this.currentProps.onValueScaleChanged(track.uid);},onTrackOptionsChanged:newOptions=>{this.currentProps.onTrackOptionsChanged(track.uid,newOptions);},onMouseMoveZoom:this.props.onMouseMoveZoom,chromInfoPath:track.chromInfoPath,isShowGlobalMousePosition:()=>this.props.isShowGlobalMousePosition,getTheme:()=>this.props.theme};if(track.y){context.yPosition=track.y;}if(track.x){context.xPosition=track.x;}if(track.projectionXDomain){context.projectionXDomain=track.projectionXDomain;}if(track.projectionYDomain){context.projectionYDomain=track.projectionYDomain;}switch(track.type){case"left-axis":return new LeftAxisTrack(context,track.options);case"top-axis":return new TopAxisTrack(context,track.options);case"heatmap":return new HeatmapTiledPixiTrack(context,track.options);case"multivec":case"vector-heatmap":case"horizontal-multivec":case"horizontal-vector-heatmap":case"vertical-multivec":case"vertical-vector-heatmap":return new HorizontalMultivecTrack(context,track.options);case"1d-heatmap":case"horizontal-1d-heatmap":case"vertical-1d-heatmap":return new Horizontal1dHeatmapTrack(context,track.options);case"line":case"horizontal-line":case"vertical-line":return new HorizontalLine1DPixiTrack(context,track.options);case"point":case"horizontal-point":case"vertical-point":return new HorizontalPoint1DPixiTrack(context,track.options);case"bar":case"horizontal-bar":case"vertical-bar":return new BarTrack(context,track.options);case"divergent-bar":case"horizontal-divergent-bar":case"vertical-divergent-bar":return new DivergentBarTrack(context,track.options);case"horizontal-1d-tiles":return new IdHorizontal1DTiledPixiTrack(context,track.options);case"vertical-1d-tiles":return new IdVertical1DTiledPixiTrack(context,track.options);case"2d-tiles":return new Id2DTiledPixiTrack(context,track.options);case"stacked-interval":case"top-stacked-interval":case"left-stacked-interval":return new CNVIntervalTrack(context,track.options);case"viewport-projection-center":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTracker2D$1(context,track.options);}return new Track(context,{});case"viewport-projection-horizontal":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTrackerHorizontal(context,track.options);}return new Track(context,{});case"viewport-projection-vertical":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTrackerVertical(context,track.options);}return new Track(context,{});case"gene-annotations":case"horizontal-gene-annotations":case"vertical-gene-annotations":return new HorizontalGeneAnnotationsTrack(context,track.options);case"2d-rectangle-domains":case"arrowhead-domains":return new ArrowheadDomainsTrack(context,track.options);case"horizontal-1d-annotations":return new Annotations1dTrack(context,track.options);case"vertical-1d-annotations":return new Annotations1dTrack(context,track.options,true);case"2d-annotations":return new Annotations2dTrack(context,track.options);case"linear-2d-rectangle-domains":case"horizontal-2d-rectangle-domains":case"vertical-2d-rectangle-domains":return new Horizontal2DDomainsTrack(context,track.options);case"square-markers":return new SquareMarkersTrack(context,track.options);case"combined":context.tracks=track.contents;context.createTrackObject=this.createTrackObject.bind(this);return new CombinedTrack(context);case"2d-chromosome-labels":return new Chromosome2DLabels(context,track.options);case"horizontal-chromosome-grid":context.orientation="1d-horizontal";return new ChromosomeGrid(context,track.options);case"vertical-chromosome-grid":context.orientation="1d-vertical";return new ChromosomeGrid(context,track.options);case"2d-chromosome-grid":return new ChromosomeGrid(context,track.options);case"chromosome-labels":case"horizontal-chromosome-labels":case"vertical-chromosome-labels":return new HorizontalChromosomeLabels(context,track.options);case"linear-heatmap":case"horizontal-heatmap":case"vertical-heatmap":return new HorizontalHeatmapTrack(context,track.options);case"2d-chromosome-annotations":return new Chromosome2DAnnotations(context,track.options);case"1d-value-interval":case"horizontal-1d-value-interval":case"vertical-1d-value-interval":return new ValueIntervalTrack(context,track.options);case"osm":case"osm-tiles":return new OSMTilesTrack(context,track.options);case"osm-2d-tile-ids":return new OSMTileIdsTrack(context,track.options);case"mapbox":case"mapbox-tiles":return new MapboxTilesTrack(context,track.options);case"raster-tiles":return new RasterTilesTrack(context,track.options);case"bedlike":case"vertical-bedlike":return new BedLikeTrack(context,track.options);case"overlay-track":return new OverlayTrack(context,track.options);case"overlay-chromosome-grid-track":context.isOverlay=true;return new ChromosomeGrid(context,track.options);case"horizontal-rule":return new HorizontalRule(context,track.options);case"vertical-rule":return new VerticalRule(context,track.options);case"cross-rule":context.x=track.x;context.y=track.y;return new CrossRule(context,track.options);case"simple-svg":return new SVGTrack(context,track.options);case"empty":{const options2=track.options;return new PixiTrack(context,options2);}default:{const pluginTrack=this.props.pluginTracks[track.type];if(pluginTrack&&!pluginTrack.isMetaTrack){context.AVAILABLE_FOR_PLUGINS=this.availableForPlugins;context.baseEl=this.baseEl;context.definition=track;if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;}try{return new pluginTrack.track(this.availableForPlugins,context,track.options);}catch(e){console.error("Plugin track",track.type,"failed to instantiate.",e);}}console.warn("Unknown track type:",track.type);return new UnknownPixiTrack(context,{name:"Unknown Track Type",type:track.type});}}}},{key:"zoomToDataPos",value:function zoomToDataPos(dataXStart,dataXEnd,dataYStart,dataYEnd,animateTime=3e3,projector=null){const[centerX,centerY,k]=scalesCenterAndK(this.xScale.copy().domain([dataXStart,dataXEnd]),this.yScale.copy().domain([dataYStart,dataYEnd]));const projectedScales=projector?projector(this.xScale,this.yScale):[this.xScale,this.yScale];this.setCenter(centerX,centerY,k,false,animateTime,projectedScales[0],projectedScales[1]);}},{key:"forwardContextMenu",value:function forwardContextMenu(e){if(this.props.disableTrackMenu||e.altKey)return;e.preventDefault();setTimeout(()=>{this.props.pubSub.publish("contextmenu",e);},0);}},{key:"addEventTracker",value:function addEventTracker(){if(!this.eventTracker||this.eventTracker===this.eventTrackerOld)return;if(!this.eventTrackerOld)this.eventTrackerOld=this.eventTracker;this.eventTracker=this.eventTrackerOld;this.eventTracker.addEventListener("click",this.boundForwardEvent);this.eventTracker.addEventListener("contextmenu",this.boundForwardContextMenu);this.eventTracker.addEventListener("dblclick",this.boundForwardEvent);this.eventTracker.addEventListener("wheel",this.boundForwardEvent);this.eventTracker.addEventListener("dragstart",this.boundForwardEvent);this.eventTracker.addEventListener("selectstart",this.boundForwardEvent);this.eventTracker.addEventListener("mouseover",this.boundForwardEvent);this.eventTracker.addEventListener("mouseenter",this.boundForwardEvent);this.eventTracker.addEventListener("mousedown",this.boundForwardEvent);this.eventTracker.addEventListener("mouseup",this.boundForwardEvent);this.eventTracker.addEventListener("mouseout",this.boundForwardEvent);this.eventTracker.addEventListener("mouseleave",this.boundForwardEvent);this.eventTracker.addEventListener("touchstart",this.boundForwardEvent);this.eventTracker.addEventListener("touchend",this.boundForwardEvent);this.eventTracker.addEventListener("touchmove",this.boundForwardEvent);this.eventTracker.addEventListener("touchcancel",this.boundForwardEvent);this.eventTracker.addEventListener("pointerover",this.boundForwardEvent);this.eventTracker.addEventListener("pointerenter",this.boundForwardEvent);this.eventTracker.addEventListener("pointerdown",this.boundForwardEvent);this.eventTracker.addEventListener("pointerup",this.boundForwardEvent);this.eventTracker.addEventListener("pointercancel",this.boundForwardEvent);this.eventTracker.addEventListener("pointerout",this.boundForwardEvent);this.eventTracker.addEventListener("pointerleave",this.boundForwardEvent);window.addEventListener("scroll",this.boundScrollEvent);}},{key:"removeEventTracker",value:function removeEventTracker(){if(!this.eventTracker)return;this.eventTracker.removeEventListener("click",this.boundForwardEvent);this.eventTracker.removeEventListener("contextmenu",this.boundForwardContextMenu);this.eventTracker.removeEventListener("dblclick",this.boundForwardEvent);this.eventTracker.removeEventListener("wheel",this.boundForwardEvent);this.eventTracker.removeEventListener("dragstart",this.boundForwardEvent);this.eventTracker.removeEventListener("selectstart",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseover",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseenter",this.boundForwardEvent);this.eventTracker.removeEventListener("mousedown",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseup",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseout",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseleave",this.boundForwardEvent);this.eventTracker.removeEventListener("touchstart",this.boundForwardEvent);this.eventTracker.removeEventListener("touchend",this.boundForwardEvent);this.eventTracker.removeEventListener("touchcancel",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerover",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerenter",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerdown",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerup",this.boundForwardEvent);this.eventTracker.removeEventListener("pointercancel",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerout",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerleave",this.boundForwardEvent);window.removeEventListener("scroll",this.boundScrollEvent);}},{key:"scrollEvent",value:function scrollEvent(){if(!this.element)return;this.elementPos=this.element.getBoundingClientRect();}},{key:"forwardEvent",value:function forwardEvent(event){event.sourceUid=this.uid;event.forwarded=true;this.props.pubSub.publish("app.event",event);}},{key:"onScrollHandler",value:function onScrollHandler(scrollTop){this.scrollTop=scrollTop;}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.baseEl=c2;},className:clsx("track-renderer-div",classes$3["track-renderer"]),style:{height:this.currentProps.height,width:this.currentProps.width}},/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.element=c2;},className:clsx("track-renderer-element",classes$3["track-renderer-element"])}),/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.eventTracker=c2;},className:clsx("track-renderer-events",classes$3["track-renderer-events"])},this.currentProps.children));}}]);return TrackRenderer;}(React__default.default.Component);TrackRenderer.defaultProps={pluginDataFetchers:{},pluginTracks:{},canvasElement:null,centerHeight:0,centerWidth:0,children:[],galleryDim:0,height:0,initialXDomain:[],initialYDomain:[],isShowGlobalMousePosition:false,isRangeSelection:false,leftWidth:0,leftWidthNoGallery:0,paddingLeft:0,paddingTop:0,positionedTracks:[],topHeight:0,topHeightNoGallery:0,width:0,metaTracks:[]};TrackRenderer.propTypes={canvasElement:propTypes$3.exports.object,centerHeight:propTypes$3.exports.number,centerWidth:propTypes$3.exports.number,children:propTypes$3.exports.array,disableTrackMenu:propTypes$3.exports.bool,galleryDim:propTypes$3.exports.number,height:propTypes$3.exports.number,initialXDomain:propTypes$3.exports.array,initialYDomain:propTypes$3.exports.array,isShowGlobalMousePosition:propTypes$3.exports.bool,isRangeSelection:propTypes$3.exports.bool,leftWidth:propTypes$3.exports.number,leftWidthNoGallery:propTypes$3.exports.number,paddingLeft:propTypes$3.exports.number,paddingTop:propTypes$3.exports.number,metaTracks:propTypes$3.exports.array,onMouseMoveZoom:propTypes$3.exports.func,onNewTilesLoaded:propTypes$3.exports.func.isRequired,onScalesChanged:propTypes$3.exports.func.isRequired,pixiRenderer:propTypes$3.exports.object.isRequired,pixiStage:propTypes$3.exports.object.isRequired,pluginDataFetchers:propTypes$3.exports.object,pluginTracks:propTypes$3.exports.object,positionedTracks:propTypes$3.exports.array,pubSub:propTypes$3.exports.object.isRequired,setCentersFunction:propTypes$3.exports.func,svgElement:propTypes$3.exports.object.isRequired,theme:propTypes$3.exports.symbol.isRequired,topHeight:propTypes$3.exports.number,topHeightNoGallery:propTypes$3.exports.number,viewOptions:propTypes$3.exports.object,width:propTypes$3.exports.number,xDomainLimits:propTypes$3.exports.array,yDomainLimits:propTypes$3.exports.array,valueScaleZoom:propTypes$3.exports.bool,zoomable:propTypes$3.exports.bool.isRequired,zoomDomain:propTypes$3.exports.array,uid:propTypes$3.exports.string,zoomLimits:propTypes$3.exports.array};const TrackRenderer$1=withPubSub(withTheme(TrackRenderer));var index_browser={exports:{}};/*! react-checkbox-tree - v1.8.0 | 2022 */(function(module2,exports3){/*! For license information please see index.browser.js.LICENSE.txt */!function(e,t){module2.exports=t(React__default.default);}(self,e=>(()=>{var t={4184:(e3,t4)=>{var r3;!function(){var n2={}.hasOwnProperty;function o2(){for(var e4=[],t5=0;t5<arguments.length;t5++){var r4=arguments[t5];if(r4){var i2=typeof r4;if("string"===i2||"number"===i2)e4.push(r4);else if(Array.isArray(r4)){if(r4.length){var a=o2.apply(null,r4);a&&e4.push(a);}}else if("object"===i2)if(r4.toString===Object.prototype.toString)for(var c2 in r4)n2.call(r4,c2)&&r4[c2]&&e4.push(c2);else e4.push(r4.toString());}}return e4.join(" ");}e3.exports?(o2.default=o2,e3.exports=o2):void 0===(r3=function(){return o2;}.apply(t4,[]))||(e3.exports=r3);}();},8552:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"DataView");e3.exports=n2;},1989:(e3,t4,r3)=>{var n2=r3(1789),o2=r3(401),i2=r3(7667),a=r3(1327),c2=r3(1866);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},8407:(e3,t4,r3)=>{var n2=r3(7040),o2=r3(4125),i2=r3(2117),a=r3(7518),c2=r3(4705);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},7071:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Map");e3.exports=n2;},3369:(e3,t4,r3)=>{var n2=r3(4785),o2=r3(1285),i2=r3(6e3),a=r3(9916),c2=r3(5265);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},3818:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Promise");e3.exports=n2;},8525:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Set");e3.exports=n2;},8668:(e3,t4,r3)=>{var n2=r3(3369),o2=r3(619),i2=r3(2385);function a(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.__data__=new n2();++t5<r4;)this.add(e4[t5]);}a.prototype.add=a.prototype.push=o2,a.prototype.has=i2,e3.exports=a;},6384:(e3,t4,r3)=>{var n2=r3(8407),o2=r3(7465),i2=r3(3779),a=r3(7599),c2=r3(4758),s=r3(4309);function l(e4){var t5=this.__data__=new n2(e4);this.size=t5.size;}l.prototype.clear=o2,l.prototype.delete=i2,l.prototype.get=a,l.prototype.has=c2,l.prototype.set=s,e3.exports=l;},2705:(e3,t4,r3)=>{var n2=r3(5639).Symbol;e3.exports=n2;},1149:(e3,t4,r3)=>{var n2=r3(5639).Uint8Array;e3.exports=n2;},577:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"WeakMap");e3.exports=n2;},4963:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=null==e4?0:e4.length,o2=0,i2=[];++r3<n2;){var a=e4[r3];t4(a,r3,e4)&&(i2[o2++]=a);}return i2;};},4636:(e3,t4,r3)=>{var n2=r3(2545),o2=r3(5694),i2=r3(1469),a=r3(4144),c2=r3(5776),s=r3(6719),l=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5){var r4=i2(e4),u=!r4&&o2(e4),p=!r4&&!u&&a(e4),f2=!r4&&!u&&!p&&s(e4),d=r4||u||p||f2,h=d?n2(e4.length,String):[],y=h.length;for(var b in e4)!t5&&!l.call(e4,b)||d&&("length"==b||p&&("offset"==b||"parent"==b)||f2&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||c2(b,y))||h.push(b);return h;};},2488:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=t4.length,o2=e4.length;++r3<n2;)e4[o2+r3]=t4[r3];return e4;};},2908:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=null==e4?0:e4.length;++r3<n2;)if(t4(e4[r3],r3,e4))return true;return false;};},8470:(e3,t4,r3)=>{var n2=r3(7813);e3.exports=function(e4,t5){for(var r4=e4.length;r4--;)if(n2(e4[r4][0],t5))return r4;return-1;};},8866:(e3,t4,r3)=>{var n2=r3(2488),o2=r3(1469);e3.exports=function(e4,t5,r4){var i2=t5(e4);return o2(e4)?i2:n2(i2,r4(e4));};},4239:(e3,t4,r3)=>{var n2=r3(2705),o2=r3(9607),i2=r3(2333),a=n2?n2.toStringTag:void 0;e3.exports=function(e4){return null==e4?void 0===e4?"[object Undefined]":"[object Null]":a&&a in Object(e4)?o2(e4):i2(e4);};},9454:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(7005);e3.exports=function(e4){return o2(e4)&&"[object Arguments]"==n2(e4);};},939:(e3,t4,r3)=>{var n2=r3(2492),o2=r3(7005);e3.exports=function e4(t5,r4,i2,a,c2){return t5===r4||(null==t5||null==r4||!o2(t5)&&!o2(r4)?t5!=t5&&r4!=r4:n2(t5,r4,i2,a,e4,c2));};},2492:(e3,t4,r3)=>{var n2=r3(6384),o2=r3(7114),i2=r3(8351),a=r3(6096),c2=r3(4160),s=r3(1469),l=r3(4144),u=r3(6719),p="[object Arguments]",f2="[object Array]",d="[object Object]",h=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5,r4,y,b,v){var g=s(e4),m=s(t5),x=g?f2:c2(e4),O=m?f2:c2(t5),k=(x=x==p?d:x)==d,j=(O=O==p?d:O)==d,_=x==O;if(_&&l(e4)){if(!l(t5))return false;g=true,k=false;}if(_&&!k)return v||(v=new n2()),g||u(e4)?o2(e4,t5,r4,y,b,v):i2(e4,t5,x,r4,y,b,v);if(!(1&r4)){var w=k&&h.call(e4,"__wrapped__"),C2=j&&h.call(t5,"__wrapped__");if(w||C2){var P=w?e4.value():e4,E2=C2?t5.value():t5;return v||(v=new n2()),b(P,E2,r4,y,v);}}return!!_&&(v||(v=new n2()),a(e4,t5,r4,y,b,v));};},8458:(e3,t4,r3)=>{var n2=r3(3560),o2=r3(5346),i2=r3(3218),a=r3(346),c2=/^\[object .+?Constructor\]$/,s=Function.prototype,l=Object.prototype,u=s.toString,p=l.hasOwnProperty,f2=RegExp("^"+u.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e3.exports=function(e4){return!(!i2(e4)||o2(e4))&&(n2(e4)?f2:c2).test(a(e4));};},8749:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(1780),i2=r3(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=true,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=false,e3.exports=function(e4){return i2(e4)&&o2(e4.length)&&!!a[n2(e4)];};},280:(e3,t4,r3)=>{var n2=r3(5726),o2=r3(6916),i2=Object.prototype.hasOwnProperty;e3.exports=function(e4){if(!n2(e4))return o2(e4);var t5=[];for(var r4 in Object(e4))i2.call(e4,r4)&&"constructor"!=r4&&t5.push(r4);return t5;};},2545:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=Array(e4);++r3<e4;)n2[r3]=t4(r3);return n2;};},1717:e3=>{e3.exports=function(e4){return function(t4){return e4(t4);};};},4757:e3=>{e3.exports=function(e4,t4){return e4.has(t4);};},4429:(e3,t4,r3)=>{var n2=r3(5639)["__core-js_shared__"];e3.exports=n2;},7114:(e3,t4,r3)=>{var n2=r3(8668),o2=r3(2908),i2=r3(4757);e3.exports=function(e4,t5,r4,a,c2,s){var l=1&r4,u=e4.length,p=t5.length;if(u!=p&&!(l&&p>u))return false;var f2=s.get(e4),d=s.get(t5);if(f2&&d)return f2==t5&&d==e4;var h=-1,y=true,b=2&r4?new n2():void 0;for(s.set(e4,t5),s.set(t5,e4);++h<u;){var v=e4[h],g=t5[h];if(a)var m=l?a(g,v,h,t5,e4,s):a(v,g,h,e4,t5,s);if(void 0!==m){if(m)continue;y=false;break;}if(b){if(!o2(t5,function(e6,t6){if(!i2(b,t6)&&(v===e6||c2(v,e6,r4,a,s)))return b.push(t6);})){y=false;break;}}else if(v!==g&&!c2(v,g,r4,a,s)){y=false;break;}}return s.delete(e4),s.delete(t5),y;};},8351:(e3,t4,r3)=>{var n2=r3(2705),o2=r3(1149),i2=r3(7813),a=r3(7114),c2=r3(8776),s=r3(1814),l=n2?n2.prototype:void 0,u=l?l.valueOf:void 0;e3.exports=function(e4,t5,r4,n3,l2,p,f2){switch(r4){case"[object DataView]":if(e4.byteLength!=t5.byteLength||e4.byteOffset!=t5.byteOffset)return false;e4=e4.buffer,t5=t5.buffer;case"[object ArrayBuffer]":return!(e4.byteLength!=t5.byteLength||!p(new o2(e4),new o2(t5)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i2(+e4,+t5);case"[object Error]":return e4.name==t5.name&&e4.message==t5.message;case"[object RegExp]":case"[object String]":return e4==t5+"";case"[object Map]":var d=c2;case"[object Set]":var h=1&n3;if(d||(d=s),e4.size!=t5.size&&!h)return false;var y=f2.get(e4);if(y)return y==t5;n3|=2,f2.set(e4,t5);var b=a(d(e4),d(t5),n3,l2,p,f2);return f2.delete(e4),b;case"[object Symbol]":if(u)return u.call(e4)==u.call(t5);}return false;};},6096:(e3,t4,r3)=>{var n2=r3(8234),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5,r4,i2,a,c2){var s=1&r4,l=n2(e4),u=l.length;if(u!=n2(t5).length&&!s)return false;for(var p=u;p--;){var f2=l[p];if(!(s?f2 in t5:o2.call(t5,f2)))return false;}var d=c2.get(e4),h=c2.get(t5);if(d&&h)return d==t5&&h==e4;var y=true;c2.set(e4,t5),c2.set(t5,e4);for(var b=s;++p<u;){var v=e4[f2=l[p]],g=t5[f2];if(i2)var m=s?i2(g,v,f2,t5,e4,c2):i2(v,g,f2,e4,t5,c2);if(!(void 0===m?v===g||a(v,g,r4,i2,c2):m)){y=false;break;}b||(b="constructor"==f2);}if(y&&!b){var x=e4.constructor,O=t5.constructor;x==O||!("constructor"in e4)||!("constructor"in t5)||"function"==typeof x&&x instanceof x&&"function"==typeof O&&O instanceof O||(y=false);}return c2.delete(e4),c2.delete(t5),y;};},1957:(e3,t4,r3)=>{var n2="object"==typeof r3.g&&r3.g&&r3.g.Object===Object&&r3.g;e3.exports=n2;},8234:(e3,t4,r3)=>{var n2=r3(8866),o2=r3(9551),i2=r3(3674);e3.exports=function(e4){return n2(e4,i2,o2);};},5050:(e3,t4,r3)=>{var n2=r3(7019);e3.exports=function(e4,t5){var r4=e4.__data__;return n2(t5)?r4["string"==typeof t5?"string":"hash"]:r4.map;};},852:(e3,t4,r3)=>{var n2=r3(8458),o2=r3(7801);e3.exports=function(e4,t5){var r4=o2(e4,t5);return n2(r4)?r4:void 0;};},9607:(e3,t4,r3)=>{var n2=r3(2705),o2=Object.prototype,i2=o2.hasOwnProperty,a=o2.toString,c2=n2?n2.toStringTag:void 0;e3.exports=function(e4){var t5=i2.call(e4,c2),r4=e4[c2];try{e4[c2]=void 0;var n3=true;}catch(e6){}var o3=a.call(e4);return n3&&(t5?e4[c2]=r4:delete e4[c2]),o3;};},9551:(e3,t4,r3)=>{var n2=r3(4963),o2=r3(479),i2=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,c2=a?function(e4){return null==e4?[]:(e4=Object(e4),n2(a(e4),function(t5){return i2.call(e4,t5);}));}:o2;e3.exports=c2;},4160:(e3,t4,r3)=>{var n2=r3(8552),o2=r3(7071),i2=r3(3818),a=r3(8525),c2=r3(577),s=r3(4239),l=r3(346),u="[object Map]",p="[object Promise]",f2="[object Set]",d="[object WeakMap]",h="[object DataView]",y=l(n2),b=l(o2),v=l(i2),g=l(a),m=l(c2),x=s;(n2&&x(new n2(new ArrayBuffer(1)))!=h||o2&&x(new o2())!=u||i2&&x(i2.resolve())!=p||a&&x(new a())!=f2||c2&&x(new c2())!=d)&&(x=function(e4){var t5=s(e4),r4="[object Object]"==t5?e4.constructor:void 0,n3=r4?l(r4):"";if(n3)switch(n3){case y:return h;case b:return u;case v:return p;case g:return f2;case m:return d;}return t5;}),e3.exports=x;},7801:e3=>{e3.exports=function(e4,t4){return null==e4?void 0:e4[t4];};},1789:(e3,t4,r3)=>{var n2=r3(4536);e3.exports=function(){this.__data__=n2?n2(null):{},this.size=0;};},401:e3=>{e3.exports=function(e4){var t4=this.has(e4)&&delete this.__data__[e4];return this.size-=t4?1:0,t4;};},7667:(e3,t4,r3)=>{var n2=r3(4536),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4){var t5=this.__data__;if(n2){var r4=t5[e4];return"__lodash_hash_undefined__"===r4?void 0:r4;}return o2.call(t5,e4)?t5[e4]:void 0;};},1327:(e3,t4,r3)=>{var n2=r3(4536),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4){var t5=this.__data__;return n2?void 0!==t5[e4]:o2.call(t5,e4);};},1866:(e3,t4,r3)=>{var n2=r3(4536);e3.exports=function(e4,t5){var r4=this.__data__;return this.size+=this.has(e4)?0:1,r4[e4]=n2&&void 0===t5?"__lodash_hash_undefined__":t5,this;};},5776:e3=>{var t4=/^(?:0|[1-9]\d*)$/;e3.exports=function(e4,r3){var n2=typeof e4;return!!(r3=null==r3?9007199254740991:r3)&&("number"==n2||"symbol"!=n2&&t4.test(e4))&&e4>-1&&e4%1==0&&e4<r3;};},7019:e3=>{e3.exports=function(e4){var t4=typeof e4;return"string"==t4||"number"==t4||"symbol"==t4||"boolean"==t4?"__proto__"!==e4:null===e4;};},5346:(e3,t4,r3)=>{var n2,o2=r3(4429),i2=(n2=/[^.]+$/.exec(o2&&o2.keys&&o2.keys.IE_PROTO||""))?"Symbol(src)_1."+n2:"";e3.exports=function(e4){return!!i2&&i2 in e4;};},5726:e3=>{var t4=Object.prototype;e3.exports=function(e4){var r3=e4&&e4.constructor;return e4===("function"==typeof r3&&r3.prototype||t4);};},7040:e3=>{e3.exports=function(){this.__data__=[],this.size=0;};},4125:(e3,t4,r3)=>{var n2=r3(8470),o2=Array.prototype.splice;e3.exports=function(e4){var t5=this.__data__,r4=n2(t5,e4);return!(r4<0||(r4==t5.length-1?t5.pop():o2.call(t5,r4,1),--this.size,0));};},2117:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4){var t5=this.__data__,r4=n2(t5,e4);return r4<0?void 0:t5[r4][1];};},7518:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4){return n2(this.__data__,e4)>-1;};},4705:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4,t5){var r4=this.__data__,o2=n2(r4,e4);return o2<0?(++this.size,r4.push([e4,t5])):r4[o2][1]=t5,this;};},4785:(e3,t4,r3)=>{var n2=r3(1989),o2=r3(8407),i2=r3(7071);e3.exports=function(){this.size=0,this.__data__={hash:new n2(),map:new(i2||o2)(),string:new n2()};};},1285:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){var t5=n2(this,e4).delete(e4);return this.size-=t5?1:0,t5;};},6e3:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){return n2(this,e4).get(e4);};},9916:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){return n2(this,e4).has(e4);};},5265:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4,t5){var r4=n2(this,e4),o2=r4.size;return r4.set(e4,t5),this.size+=r4.size==o2?0:1,this;};},8776:e3=>{e3.exports=function(e4){var t4=-1,r3=Array(e4.size);return e4.forEach(function(e6,n2){r3[++t4]=[n2,e6];}),r3;};},4536:(e3,t4,r3)=>{var n2=r3(852)(Object,"create");e3.exports=n2;},6916:(e3,t4,r3)=>{var n2=r3(5569)(Object.keys,Object);e3.exports=n2;},1167:(e3,t4,r3)=>{e3=r3.nmd(e3);var n2=r3(1957),o2=t4&&!t4.nodeType&&t4,i2=o2&&e3&&!e3.nodeType&&e3,a=i2&&i2.exports===o2&&n2.process,c2=function(){try{return i2&&i2.require&&i2.require("util").types||a&&a.binding&&a.binding("util");}catch(e4){}}();e3.exports=c2;},2333:e3=>{var t4=Object.prototype.toString;e3.exports=function(e4){return t4.call(e4);};},5569:e3=>{e3.exports=function(e4,t4){return function(r3){return e4(t4(r3));};};},5639:(e3,t4,r3)=>{var n2=r3(1957),o2="object"==typeof self&&self&&self.Object===Object&&self,i2=n2||o2||Function("return this")();e3.exports=i2;},619:e3=>{e3.exports=function(e4){return this.__data__.set(e4,"__lodash_hash_undefined__"),this;};},2385:e3=>{e3.exports=function(e4){return this.__data__.has(e4);};},1814:e3=>{e3.exports=function(e4){var t4=-1,r3=Array(e4.size);return e4.forEach(function(e6){r3[++t4]=e6;}),r3;};},7465:(e3,t4,r3)=>{var n2=r3(8407);e3.exports=function(){this.__data__=new n2(),this.size=0;};},3779:e3=>{e3.exports=function(e4){var t4=this.__data__,r3=t4.delete(e4);return this.size=t4.size,r3;};},7599:e3=>{e3.exports=function(e4){return this.__data__.get(e4);};},4758:e3=>{e3.exports=function(e4){return this.__data__.has(e4);};},4309:(e3,t4,r3)=>{var n2=r3(8407),o2=r3(7071),i2=r3(3369);e3.exports=function(e4,t5){var r4=this.__data__;if(r4 instanceof n2){var a=r4.__data__;if(!o2||a.length<199)return a.push([e4,t5]),this.size=++r4.size,this;r4=this.__data__=new i2(a);}return r4.set(e4,t5),this.size=r4.size,this;};},346:e3=>{var t4=Function.prototype.toString;e3.exports=function(e4){if(null!=e4){try{return t4.call(e4);}catch(e6){}try{return e4+"";}catch(e6){}}return"";};},7813:e3=>{e3.exports=function(e4,t4){return e4===t4||e4!=e4&&t4!=t4;};},5694:(e3,t4,r3)=>{var n2=r3(9454),o2=r3(7005),i2=Object.prototype,a=i2.hasOwnProperty,c2=i2.propertyIsEnumerable,s=n2(function(){return arguments;}())?n2:function(e4){return o2(e4)&&a.call(e4,"callee")&&!c2.call(e4,"callee");};e3.exports=s;},1469:e3=>{var t4=Array.isArray;e3.exports=t4;},8612:(e3,t4,r3)=>{var n2=r3(3560),o2=r3(1780);e3.exports=function(e4){return null!=e4&&o2(e4.length)&&!n2(e4);};},4144:(e3,t4,r3)=>{e3=r3.nmd(e3);var n2=r3(5639),o2=r3(5062),i2=t4&&!t4.nodeType&&t4,a=i2&&e3&&!e3.nodeType&&e3,c2=a&&a.exports===i2?n2.Buffer:void 0,s=(c2?c2.isBuffer:void 0)||o2;e3.exports=s;},8446:(e3,t4,r3)=>{var n2=r3(939);e3.exports=function(e4,t5){return n2(e4,t5);};},3560:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(3218);e3.exports=function(e4){if(!o2(e4))return false;var t5=n2(e4);return"[object Function]"==t5||"[object GeneratorFunction]"==t5||"[object AsyncFunction]"==t5||"[object Proxy]"==t5;};},1780:e3=>{e3.exports=function(e4){return"number"==typeof e4&&e4>-1&&e4%1==0&&e4<=9007199254740991;};},3218:e3=>{e3.exports=function(e4){var t4=typeof e4;return null!=e4&&("object"==t4||"function"==t4);};},7005:e3=>{e3.exports=function(e4){return null!=e4&&"object"==typeof e4;};},6719:(e3,t4,r3)=>{var n2=r3(8749),o2=r3(1717),i2=r3(1167),a=i2&&i2.isTypedArray,c2=a?o2(a):n2;e3.exports=c2;},3674:(e3,t4,r3)=>{var n2=r3(4636),o2=r3(280),i2=r3(8612);e3.exports=function(e4){return i2(e4)?n2(e4):o2(e4);};},8306:(e3,t4,r3)=>{var n2=r3(3369);function o2(e4,t5){if("function"!=typeof e4||null!=t5&&"function"!=typeof t5)throw new TypeError("Expected a function");var r4=function(){var n3=arguments,o3=t5?t5.apply(this,n3):n3[0],i2=r4.cache;if(i2.has(o3))return i2.get(o3);var a=e4.apply(this,n3);return r4.cache=i2.set(o3,a)||i2,a;};return r4.cache=new(o2.Cache||n2)(),r4;}o2.Cache=n2,e3.exports=o2;},479:e3=>{e3.exports=function(){return[];};},5062:e3=>{e3.exports=function(){return false;};},2703:(e3,t4,r3)=>{var n2=r3(414);function o2(){}function i2(){}i2.resetWarningCache=o2,e3.exports=function(){function e4(e6,t6,r5,o3,i3,a){if(a!==n2){var c2=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c2.name="Invariant Violation",c2;}}function t5(){return e4;}e4.isRequired=e4;var r4={array:e4,bigint:e4,bool:e4,func:e4,number:e4,object:e4,string:e4,symbol:e4,any:e4,arrayOf:t5,element:e4,elementType:e4,instanceOf:t5,node:e4,objectOf:t5,oneOf:t5,oneOfType:t5,shape:t5,exact:t5,checkPropTypes:i2,resetWarningCache:o2};return r4.PropTypes=r4,r4;};},5697:(e3,t4,r3)=>{e3.exports=r3(2703)();},414:e3=>{e3.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";},9787:t4=>{t4.exports=e;}},r2={};function n(e3){var o2=r2[e3];if(void 0!==o2)return o2.exports;var i2=r2[e3]={id:e3,loaded:false,exports:{}};return t[e3](i2,i2.exports,n),i2.loaded=true,i2.exports;}n.n=e3=>{var t4=e3&&e3.__esModule?()=>e3.default:()=>e3;return n.d(t4,{a:t4}),t4;},n.d=(e3,t4)=>{for(var r3 in t4)n.o(t4,r3)&&!n.o(e3,r3)&&Object.defineProperty(e3,r3,{enumerable:true,get:t4[r3]});},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")();}catch(e3){if("object"==typeof window)return window;}}(),n.o=(e3,t4)=>Object.prototype.hasOwnProperty.call(e3,t4),n.r=e3=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e3,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e3,"__esModule",{value:true});},n.nmd=e3=>(e3.paths=[],e3.children||(e3.children=[]),e3);var o={};return(()=>{n.r(o),n.d(o,{default:()=>xe,expandNodesToLevel:()=>me});var e3=n(4184),t4=n.n(e3),r3=n(8446),i2=n.n(r3),a=n(8306),c2=n.n(a);let s=(e4=21)=>crypto.getRandomValues(new Uint8Array(e4)).reduce((e6,t5)=>e6+((t5&=63)<36?t5.toString(36):t5<62?(t5-26).toString(36).toUpperCase():t5>62?"-":"_"),"");var l=n(5697),u=n.n(l),p=n(9787),f2=n.n(p);function d(e4){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},d(e4);}var h=["children","title"];function y(){return y=Object.assign?Object.assign.bind():function(e4){for(var t5=1;t5<arguments.length;t5++){var r4=arguments[t5];for(var n2 in r4)Object.prototype.hasOwnProperty.call(r4,n2)&&(e4[n2]=r4[n2]);}return e4;},y.apply(this,arguments);}function b(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function v(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function g(e4,t5){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},g(e4,t5);}function m(e4,t5){if(t5&&("object"===d(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return function(e6){if(void 0===e6)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e6;}(e4);}function x(e4){return x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},x(e4);}function O(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var k=function(e4){!function(e6,t6){if("function"!=typeof t6&&null!==t6)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t6&&t6.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t6&&g(e6,t6);}(a2,e4);var t5,r4,n2,o2,i3=(n2=a2,o2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t6=x(n2);if(o2){var r5=x(this).constructor;e6=Reflect.construct(t6,arguments,r5);}else e6=t6.apply(this,arguments);return m(this,e6);});function a2(){return b(this,a2),i3.apply(this,arguments);}return t5=a2,(r4=[{key:"render",value:function(){var e6=this.props,t6=e6.children,r5=e6.title,n3=function(e7,t7){if(null==e7)return{};var r6,n4,o3=function(e8,t8){if(null==e8)return{};var r7,n5,o4={},i5=Object.keys(e8);for(n5=0;n5<i5.length;n5++)r7=i5[n5],t8.indexOf(r7)>=0||(o4[r7]=e8[r7]);return o4;}(e7,t7);if(Object.getOwnPropertySymbols){var i4=Object.getOwnPropertySymbols(e7);for(n4=0;n4<i4.length;n4++)r6=i4[n4],t7.indexOf(r6)>=0||Object.prototype.propertyIsEnumerable.call(e7,r6)&&(o3[r6]=e7[r6]);}return o3;}(e6,h);return f2().createElement("button",y({"aria-label":r5,title:r5,type:"button"},n3),t6);}}])&&v(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),a2;}(f2().PureComponent);O(k,"propTypes",{children:u().node.isRequired,title:u().string}),O(k,"defaultProps",{title:null});const j=k,_={ALL:"all",PARENT:"parent",LEAF:"leaf"};function w(e4){this.message=e4,this.stack=Error().stack;}w.prototype=Object.create(Error.prototype),w.prototype.name="CheckboxTreeError";const C2=w;function P(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function E2(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}function N(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function A5(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}var S=_;const T=function(){function e4(t6){var r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};N(this,e4),this.props=t6,this.flatNodes=r5;}var t5,r4;return t5=e4,r4=[{key:"setProps",value:function(e6){this.props=e6;}},{key:"clone",value:function(){var t6=this,r5={};return Object.keys(this.flatNodes).forEach(function(e6){var n2=t6.flatNodes[e6];r5[e6]=function(e7){for(var t7=1;t7<arguments.length;t7++){var r6=null!=arguments[t7]?arguments[t7]:{};t7%2?P(Object(r6),true).forEach(function(t8){E2(e7,t8,r6[t8]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e7,Object.getOwnPropertyDescriptors(r6)):P(Object(r6)).forEach(function(t8){Object.defineProperty(e7,t8,Object.getOwnPropertyDescriptor(r6,t8));});}return e7;}({},n2);}),new e4(this.props,r5);}},{key:"getNode",value:function(e6){return this.flatNodes[e6];}},{key:"reset",value:function(){this.flatNodes={};}},{key:"flattenNodes",value:function(e6){var t6=this,r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n2=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(Array.isArray(e6)&&0!==e6.length){var o2=this.props,i3=o2.disabled,a2=o2.noCascade;e6.forEach(function(e7,o3){var c3=t6.nodeHasChildren(e7);if(void 0!==t6.flatNodes[e7.value])throw new C2("Duplicate value '".concat(e7.value,"' detected. All node values must be unique."));t6.flatNodes[e7.value]={label:e7.label,value:e7.value,children:e7.children,parent:r5,isChild:void 0!==r5.value,isParent:c3,isLeaf:!c3,showCheckbox:void 0===e7.showCheckbox||e7.showCheckbox,disabled:t6.getDisabledState(e7,r5,i3,a2),treeDepth:n2,index:o3},t6.flattenNodes(e7.children,e7,n2+1);});}}},{key:"nodeHasChildren",value:function(e6){return Array.isArray(e6.children);}},{key:"getDisabledState",value:function(e6,t6,r5,n2){return!!r5||!(n2||!t6.disabled)||Boolean(e6.disabled);}},{key:"deserializeLists",value:function(e6){var t6=this,r5=["checked","expanded"];Object.keys(this.flatNodes).forEach(function(e7){r5.forEach(function(r6){t6.flatNodes[e7][r6]=false;});}),r5.forEach(function(r6){e6[r6].forEach(function(e7){void 0!==t6.flatNodes[e7]&&(t6.flatNodes[e7][r6]=true);});});}},{key:"serializeList",value:function(e6){var t6=this,r5=[];return Object.keys(this.flatNodes).forEach(function(n2){t6.flatNodes[n2][e6]&&r5.push(n2);}),r5;}},{key:"expandAllNodes",value:function(e6){var t6=this;return Object.keys(this.flatNodes).forEach(function(r5){t6.flatNodes[r5].isParent&&(t6.flatNodes[r5].expanded=e6);}),this;}},{key:"toggleChecked",value:function(e6,t6,r5,n2){var o2=this,i3=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a2=this.flatNodes[e6.value],c3=[S.PARENT,S.ALL].indexOf(r5)>-1,s2=[S.LEAF,S.ALL].indexOf(r5)>-1;if(a2.isLeaf||n2){if(e6.disabled)return this;this.toggleNode(e6.value,"checked",t6);}else(c3||0===a2.children.length)&&this.toggleNode(e6.value,"checked",t6),s2&&a2.children.forEach(function(e7){o2.toggleChecked(e7,t6,r5,n2,false);});return i3&&!n2&&a2.isChild&&c3&&this.toggleParentStatus(a2.parent,r5),this;}},{key:"toggleParentStatus",value:function(e6,t6){var r5=this.flatNodes[e6.value];r5.isChild?(t6===S.ALL&&this.toggleNode(e6.value,"checked",this.isEveryChildChecked(r5)),this.toggleParentStatus(r5.parent,t6)):this.toggleNode(e6.value,"checked",this.isEveryChildChecked(r5));}},{key:"isEveryChildChecked",value:function(e6){var t6=this;return e6.children.every(function(e7){return t6.getNode(e7.value).checked;});}},{key:"toggleNode",value:function(e6,t6,r5){return this.flatNodes[e6][t6]=r5,this;}}],r4&&A5(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),e4;}();function R(e4){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},R(e4);}function L(){return L=Object.assign?Object.assign.bind():function(e4){for(var t5=1;t5<arguments.length;t5++){var r4=arguments[t5];for(var n2 in r4)Object.prototype.hasOwnProperty.call(r4,n2)&&(e4[n2]=r4[n2]);}return e4;},L.apply(this,arguments);}function D2(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function I(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function z(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function q2(e4,t5){return q2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},q2(e4,t5);}function B2(e4,t5){if(t5&&("object"===R(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return function(e6){if(void 0===e6)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e6;}(e4);}function F(e4){return F=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},F(e4);}function M2(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var U=function(e4){!function(e6,t6){if("function"!=typeof t6&&null!==t6)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t6&&t6.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t6&&q2(e6,t6);}(a2,e4);var t5,r4,n2,o2,i3=(n2=a2,o2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t6=F(n2);if(o2){var r5=F(this).constructor;e6=Reflect.construct(t6,arguments,r5);}else e6=t6.apply(this,arguments);return B2(this,e6);});function a2(){return I(this,a2),i3.apply(this,arguments);}return t5=a2,r4=[{key:"componentDidMount",value:function(){this.updateDeterminateProperty();}},{key:"componentDidUpdate",value:function(){this.updateDeterminateProperty();}},{key:"updateDeterminateProperty",value:function(){var e6=this.props.indeterminate;this.checkbox.indeterminate=e6;}},{key:"render",value:function(){var e6=this,t6=function(e7){for(var t7=1;t7<arguments.length;t7++){var r5=null!=arguments[t7]?arguments[t7]:{};t7%2?D2(Object(r5),true).forEach(function(t8){M2(e7,t8,r5[t8]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e7,Object.getOwnPropertyDescriptors(r5)):D2(Object(r5)).forEach(function(t8){Object.defineProperty(e7,t8,Object.getOwnPropertyDescriptor(r5,t8));});}return e7;}({},this.props);return delete t6.indeterminate,f2().createElement("input",L({},t6,{ref:function(t7){e6.checkbox=t7;},type:"checkbox"}));}}],r4&&z(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),a2;}(f2().PureComponent);M2(U,"propTypes",{indeterminate:u().bool}),M2(U,"defaultProps",{indeterminate:false});const K2=U,H=u().shape({check:u().node,uncheck:u().node,halfCheck:u().node,expandClose:u().node,expandOpen:u().node,expandAll:u().node,collapseAll:u().node,parentClose:u().node,parentOpen:u().node,leaf:u().node}),$=u().shape({collapseAll:u().string.isRequired,expandAll:u().string.isRequired,toggle:u().string.isRequired});function V(e4){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},V(e4);}function W(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function J(e4,t5){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},J(e4,t5);}function G(e4,t5){if(t5&&("object"===V(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return Y3(e4);}function Y3(e4){if(void 0===e4)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e4;}function Q(e4){return Q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},Q(e4);}function X3(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var Z=function(e4){!function(e6,t5){if("function"!=typeof t5&&null!==t5)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t5&&t5.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t5&&J(e6,t5);}(c3,e4);var r4,n2,o2,i3,a2=(o2=c3,i3=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t5=Q(o2);if(i3){var r5=Q(this).constructor;e6=Reflect.construct(t5,arguments,r5);}else e6=t5.apply(this,arguments);return G(this,e6);});function c3(e6){var t5;return function(e7,t6){if(!(e7 instanceof t6))throw new TypeError("Cannot call a class as a function");}(this,c3),(t5=a2.call(this,e6)).onCheck=t5.onCheck.bind(Y3(t5)),t5.onCheckboxKeyPress=t5.onCheckboxKeyPress.bind(Y3(t5)),t5.onCheckboxKeyUp=t5.onCheckboxKeyUp.bind(Y3(t5)),t5.onClick=t5.onClick.bind(Y3(t5)),t5.onExpand=t5.onExpand.bind(Y3(t5)),t5;}return r4=c3,(n2=[{key:"onCheck",value:function(){var e6=this.props,t5=e6.value;(0,e6.onCheck)({value:t5,checked:this.getCheckState({toggle:true})});}},{key:"onCheckboxKeyPress",value:function(e6){32===e6.which&&e6.preventDefault();}},{key:"onCheckboxKeyUp",value:function(e6){var t5=e6.keyCode;[13,32].includes(t5)&&this.onCheck();}},{key:"onClick",value:function(){var e6=this.props,t5=e6.expandOnClick,r5=e6.isParent,n3=e6.value,o3=e6.onClick;r5&&t5&&this.onExpand(),o3({value:n3,checked:this.getCheckState({toggle:false})});}},{key:"onExpand",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.value;(0,e6.onExpand)({value:r5,expanded:!t5});}},{key:"getCheckState",value:function(e6){var t5=e6.toggle,r5=this.props,n3=r5.checked,o3=r5.optimisticToggle;return!(0!==n3||!t5)||1===n3&&!t5||2===n3&&o3;}},{key:"renderCollapseButton",value:function(){var e6=this.props,t5=e6.expandDisabled,r5=e6.isLeaf,n3=e6.lang;return r5?f2().createElement("span",{className:"rct-collapse"},f2().createElement("span",{className:"rct-icon"})):f2().createElement(j,{className:"rct-collapse rct-collapse-btn",disabled:t5,title:n3.toggle,onClick:this.onExpand},this.renderCollapseIcon());}},{key:"renderCollapseIcon",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.icons,n3=r5.expandClose,o3=r5.expandOpen;return t5?o3:n3;}},{key:"renderCheckboxIcon",value:function(){var e6=this.props,t5=e6.checked,r5=e6.icons,n3=r5.uncheck,o3=r5.check,i4=r5.halfCheck;return 0===t5?n3:1===t5?o3:i4;}},{key:"renderNodeIcon",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.icon,n3=e6.icons,o3=n3.leaf,i4=n3.parentClose,a3=n3.parentOpen,c4=e6.isLeaf;return null!==r5?r5:c4?o3:t5?a3:i4;}},{key:"renderBareLabel",value:function(e6){var t5=this.props,r5=t5.onClick,n3=t5.title,o3=null!==r5;return f2().createElement("span",{className:"rct-bare-label",title:n3},o3?f2().createElement("span",{className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"button",tabIndex:0},e6):e6);}},{key:"renderCheckboxLabel",value:function(e6){var t5=this.props,r5=t5.checked,n3=t5.disabled,o3=t5.title,i4=t5.treeId,a3=t5.value,c4=null!==t5.onClick,s2="".concat(i4,"-").concat(String(a3).split(" ").join("_")),l2=[f2().createElement("label",{key:0,htmlFor:s2,title:o3},f2().createElement(K2,{checked:1===r5,disabled:n3,id:s2,indeterminate:2===r5,onClick:this.onCheck,onChange:function(){}}),f2().createElement("span",{"aria-checked":1===r5,"aria-disabled":n3,className:"rct-checkbox",role:"checkbox",tabIndex:0,onKeyPress:this.onCheckboxKeyPress,onKeyUp:this.onCheckboxKeyUp},this.renderCheckboxIcon()),c4?null:e6)];return c4&&l2.push(f2().createElement("span",{key:1,className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"link",tabIndex:0},e6)),l2;}},{key:"renderLabel",value:function(){var e6=this.props,t5=e6.label,r5=e6.showCheckbox,n3=[e6.showNodeIcon?f2().createElement("span",{key:0,className:"rct-node-icon"},this.renderNodeIcon()):null,f2().createElement("span",{key:1,className:"rct-title"},t5)];return r5?this.renderCheckboxLabel(n3):this.renderBareLabel(n3);}},{key:"renderChildren",value:function(){return this.props.expanded?this.props.children:null;}},{key:"render",value:function(){var e6=this.props,r5=e6.className,n3=e6.disabled,o3=e6.expanded,i4=e6.isLeaf,a3=t4()({"rct-node":true,"rct-node-leaf":i4,"rct-node-parent":!i4,"rct-node-expanded":!i4&&o3,"rct-node-collapsed":!i4&&!o3,"rct-disabled":n3},r5);return f2().createElement("li",{className:a3},f2().createElement("span",{className:"rct-text"},this.renderCollapseButton(),this.renderLabel()),this.renderChildren());}}])&&W(r4.prototype,n2),Object.defineProperty(r4,"prototype",{writable:false}),c3;}(f2().PureComponent);X3(Z,"propTypes",{checked:u().number.isRequired,disabled:u().bool.isRequired,expandDisabled:u().bool.isRequired,expanded:u().bool.isRequired,icons:H.isRequired,isLeaf:u().bool.isRequired,isParent:u().bool.isRequired,label:u().node.isRequired,lang:$.isRequired,optimisticToggle:u().bool.isRequired,showNodeIcon:u().bool.isRequired,treeId:u().string.isRequired,value:u().oneOfType([u().string,u().number]).isRequired,onCheck:u().func.isRequired,onExpand:u().func.isRequired,children:u().node,className:u().string,expandOnClick:u().bool,icon:u().node,showCheckbox:u().bool,title:u().string,onClick:u().func}),X3(Z,"defaultProps",{children:null,className:null,expandOnClick:false,icon:null,showCheckbox:true,title:null,onClick:function(){}});const ee=Z,te=u().oneOfType([u().arrayOf(u().string),u().arrayOf(u().number)]);function re2(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function ne(e4){for(var t5=1;t5<arguments.length;t5++){var r4=null!=arguments[t5]?arguments[t5]:{};t5%2?re2(Object(r4),true).forEach(function(t6){oe(e4,t6,r4[t6]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e4,Object.getOwnPropertyDescriptors(r4)):re2(Object(r4)).forEach(function(t6){Object.defineProperty(e4,t6,Object.getOwnPropertyDescriptor(r4,t6));});}return e4;}function oe(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var ie={label:u().node.isRequired,value:u().oneOfType([u().string,u().number]).isRequired,disabled:u().bool,icon:u().node,showCheckbox:u().bool,title:u().string};const ae=u().oneOfType([u().shape(ie),u().shape(ne(ne({},ie),{},{children:u().arrayOf(ie).isRequired}))]);function ce(e4){return ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},ce(e4);}function se(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function le(e4){for(var t5=1;t5<arguments.length;t5++){var r4=null!=arguments[t5]?arguments[t5]:{};t5%2?se(Object(r4),true).forEach(function(t6){ye(e4,t6,r4[t6]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e4,Object.getOwnPropertyDescriptors(r4)):se(Object(r4)).forEach(function(t6){Object.defineProperty(e4,t6,Object.getOwnPropertyDescriptor(r4,t6));});}return e4;}function ue(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function pe(e4,t5){return pe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},pe(e4,t5);}function fe(e4,t5){if(t5&&("object"===ce(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return de(e4);}function de(e4){if(void 0===e4)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e4;}function he(e4){return he=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},he(e4);}function ye(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var be=function(e4){!function(e6,t5){if("function"!=typeof t5&&null!==t5)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t5&&t5.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t5&&pe(e6,t5);}(p2,e4);var r4,n2,o2,a2,l2,u2=(a2=p2,l2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t5=he(a2);if(l2){var r5=he(this).constructor;e6=Reflect.construct(t5,arguments,r5);}else e6=t5.apply(this,arguments);return fe(this,e6);});function p2(e6){var t5;!function(e7,t6){if(!(e7 instanceof t6))throw new TypeError("Cannot call a class as a function");}(this,p2),t5=u2.call(this,e6);var r5=new T(e6);return r5.flattenNodes(e6.nodes),r5.deserializeLists({checked:e6.checked,expanded:e6.expanded}),t5.state={id:e6.id||"rct-".concat(s()),model:r5,prevProps:e6},t5.onCheck=t5.onCheck.bind(de(t5)),t5.onExpand=t5.onExpand.bind(de(t5)),t5.onNodeClick=t5.onNodeClick.bind(de(t5)),t5.onExpandAll=t5.onExpandAll.bind(de(t5)),t5.onCollapseAll=t5.onCollapseAll.bind(de(t5)),t5.combineMemorized=c2()(function(e7,t6){return le(le({},e7),t6);}).bind(de(t5)),t5;}return r4=p2,n2=[{key:"onCheck",value:function(e6){var t5=this.props,r5=t5.checkModel,n3=t5.noCascade,o3=t5.onCheck,i3=this.state.model.clone(),a3=i3.getNode(e6.value);i3.toggleChecked(e6,e6.checked,r5,n3),o3(i3.serializeList("checked"),le(le({},a3),e6));}},{key:"onExpand",value:function(e6){var t5=this.props.onExpand,r5=this.state.model.clone(),n3=r5.getNode(e6.value);r5.toggleNode(e6.value,"expanded",e6.expanded),t5(r5.serializeList("expanded"),le(le({},n3),e6));}},{key:"onNodeClick",value:function(e6){(0,this.props.onClick)(le(le({},this.state.model.getNode(e6.value)),e6));}},{key:"onExpandAll",value:function(){this.expandAllNodes();}},{key:"onCollapseAll",value:function(){this.expandAllNodes(false);}},{key:"expandAllNodes",value:function(){var e6=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t5=this.props.onExpand;t5(this.state.model.clone().expandAllNodes(e6).serializeList("expanded"));}},{key:"determineShallowCheckState",value:function(e6,t5){var r5=this.state.model.getNode(e6.value);return r5.isLeaf||t5||0===e6.children.length?r5.checked?1:0:this.isEveryChildChecked(e6)?1:this.isSomeChildChecked(e6)?2:0;}},{key:"isEveryChildChecked",value:function(e6){var t5=this;return e6.children.every(function(e7){return 1===t5.state.model.getNode(e7.value).checkState;});}},{key:"isSomeChildChecked",value:function(e6){var t5=this;return e6.children.some(function(e7){return t5.state.model.getNode(e7.value).checkState>0;});}},{key:"renderTreeNodes",value:function(e6){var t5=this,r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n3=this.props,o3=n3.expandDisabled,i3=n3.expandOnClick,a3=n3.icons,c3=n3.lang,s2=n3.noCascade,l3=n3.onClick,u3=n3.onlyLeafCheckboxes,d2=n3.optimisticToggle,h2=n3.showNodeTitle,y2=n3.showNodeIcon,b2=this.state,v2=b2.id,g2=b2.model,m2=p2.defaultProps.icons,x2=e6.map(function(e7){var n4=e7.value,p3=g2.getNode(e7.value),b3=p3.isParent?t5.renderTreeNodes(e7.children,e7):null;p3.checkState=t5.determineShallowCheckState(e7,s2);var x3=u3?p3.isLeaf:p3.showCheckbox;return!r5.value||g2.getNode(r5.value).expanded?f2().createElement(ee,{key:n4,checked:p3.checkState,className:e7.className,disabled:p3.disabled,expandDisabled:o3,expandOnClick:i3,expanded:p3.expanded,icon:e7.icon,icons:t5.combineMemorized(m2,a3),label:e7.label,lang:c3,optimisticToggle:d2,isLeaf:p3.isLeaf,isParent:p3.isParent,showCheckbox:x3,showNodeIcon:y2,title:h2?e7.title||e7.label:e7.title,treeId:v2,value:e7.value,onCheck:t5.onCheck,onClick:l3&&t5.onNodeClick,onExpand:t5.onExpand},b3):null;});return f2().createElement("ol",null,x2);}},{key:"renderExpandAll",value:function(){var e6=this.props,t5=e6.icons,r5=t5.expandAll,n3=t5.collapseAll,o3=e6.lang;return e6.showExpandAll?f2().createElement("div",{className:"rct-options"},f2().createElement(j,{className:"rct-option rct-option-expand-all",title:o3.expandAll,onClick:this.onExpandAll},r5),f2().createElement(j,{className:"rct-option rct-option-collapse-all",title:o3.collapseAll,onClick:this.onCollapseAll},n3)):null;}},{key:"renderHiddenInput",value:function(){var e6=this.props,t5=e6.name,r5=e6.nameAsArray;return void 0===t5?null:r5?this.renderArrayHiddenInput():this.renderJoinedHiddenInput();}},{key:"renderArrayHiddenInput",value:function(){var e6=this.props,t5=e6.checked,r5=e6.name;return t5.map(function(e7){var t6="".concat(r5,"[]");return f2().createElement("input",{key:e7,name:t6,type:"hidden",value:e7});});}},{key:"renderJoinedHiddenInput",value:function(){var e6=this.props,t5=e6.checked,r5=e6.name,n3=t5.join(",");return f2().createElement("input",{name:r5,type:"hidden",value:n3});}},{key:"render",value:function(){var e6,r5=this.props,n3=r5.direction,o3=r5.disabled,i3=r5.iconsClass,a3=r5.nodes,c3=r5.nativeCheckboxes,s2=this.state.id,l3=this.renderTreeNodes(a3),u3=t4()((ye(e6={"react-checkbox-tree":true,"rct-disabled":o3},"rct-icons-".concat(i3),true),ye(e6,"rct-native-display",c3),ye(e6,"rct-direction-rtl","rtl"===n3),e6));return f2().createElement("div",{className:u3,id:s2},this.renderExpandAll(),this.renderHiddenInput(),l3);}}],o2=[{key:"getDerivedStateFromProps",value:function(e6,t5){var r5=t5.model,n3=t5.prevProps,o3=e6.disabled,a3=e6.id,c3=e6.nodes,s2=le(le({},t5),{},{prevProps:e6});return r5.setProps(e6),i2()(n3.nodes,c3)&&n3.disabled===o3||(r5.reset(),r5.flattenNodes(c3)),null!==a3&&(s2=le(le({},s2),{},{id:a3})),r5.deserializeLists({checked:e6.checked,expanded:e6.expanded}),s2;}}],n2&&ue(r4.prototype,n2),o2&&ue(r4,o2),Object.defineProperty(r4,"prototype",{writable:false}),p2;}(f2().Component);function ve(e4){return function(e6){if(Array.isArray(e6))return ge(e6);}(e4)||function(e6){if("undefined"!=typeof Symbol&&null!=e6[Symbol.iterator]||null!=e6["@@iterator"])return Array.from(e6);}(e4)||function(e6,t5){if(e6){if("string"==typeof e6)return ge(e6,t5);var r4=Object.prototype.toString.call(e6).slice(8,-1);return"Object"===r4&&e6.constructor&&(r4=e6.constructor.name),"Map"===r4||"Set"===r4?Array.from(e6):"Arguments"===r4||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r4)?ge(e6,t5):void 0;}}(e4)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}();}function ge(e4,t5){(null==t5||t5>e4.length)&&(t5=e4.length);for(var r4=0,n2=new Array(t5);r4<t5;r4++)n2[r4]=e4[r4];return n2;}function me(e4,t5){var r4=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(r4>t5)return[];var n2=[];return e4.forEach(function(e6){e6.children&&(n2=[].concat(ve(n2),[e6.value],ve(me(e6.children,t5,r4+1))));}),n2;}ye(be,"propTypes",{nodes:u().arrayOf(ae).isRequired,checkModel:u().oneOf([_.LEAF,_.ALL]),checked:te,direction:u().string,disabled:u().bool,expandDisabled:u().bool,expandOnClick:u().bool,expanded:te,icons:H,iconsClass:u().string,id:u().string,lang:$,name:u().string,nameAsArray:u().bool,nativeCheckboxes:u().bool,noCascade:u().bool,onlyLeafCheckboxes:u().bool,optimisticToggle:u().bool,showExpandAll:u().bool,showNodeIcon:u().bool,showNodeTitle:u().bool,onCheck:u().func,onClick:u().func,onExpand:u().func}),ye(be,"defaultProps",{checkModel:_.LEAF,checked:[],direction:"ltr",disabled:false,expandDisabled:false,expandOnClick:false,expanded:[],icons:{check:f2().createElement("span",{className:"rct-icon rct-icon-check"}),uncheck:f2().createElement("span",{className:"rct-icon rct-icon-uncheck"}),halfCheck:f2().createElement("span",{className:"rct-icon rct-icon-half-check"}),expandClose:f2().createElement("span",{className:"rct-icon rct-icon-expand-close"}),expandOpen:f2().createElement("span",{className:"rct-icon rct-icon-expand-open"}),expandAll:f2().createElement("span",{className:"rct-icon rct-icon-expand-all"}),collapseAll:f2().createElement("span",{className:"rct-icon rct-icon-collapse-all"}),parentClose:f2().createElement("span",{className:"rct-icon rct-icon-parent-close"}),parentOpen:f2().createElement("span",{className:"rct-icon rct-icon-parent-open"}),leaf:f2().createElement("span",{className:"rct-icon rct-icon-leaf"})},iconsClass:"fa4",id:null,lang:{collapseAll:"Collapse all",expandAll:"Expand all",toggle:"Toggle"},name:void 0,nameAsArray:false,nativeCheckboxes:false,noCascade:false,onlyLeafCheckboxes:false,optimisticToggle:true,showExpandAll:false,showNodeIcon:true,showNodeTitle:false,onCheck:function(){},onClick:null,onExpand:function(){}});const xe=be;})(),o;})());})(index_browser);const CheckboxTree=/* @__PURE__ */getDefaultExportFromCjs(index_browser.exports);const TilesetFinder$2="";let TilesetFinder=/*#__PURE__*/function(_React__default$defau11){_inherits3(TilesetFinder,_React__default$defau11);var _super66=_createSuper3(TilesetFinder);function TilesetFinder(props){var _this85;_classCallCheck3(this,TilesetFinder);_this85=_super66.call(this,props);_this85.localTracks=TRACKS_INFO.filter(x=>x.local&&!x.hidden).map(x=>{const y={...x};y.datatype=x.datatype[0];return y;});_this85.augmentedTracksInfo=TRACKS_INFO;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{_this85.augmentedTracksInfo.push(window.higlassTracksByType[pluginTrackType].config);});}if(props.datatype){_this85.localTracks=_this85.localTracks.filter(x=>x.datatype[0]===props.datatype);}else{_this85.localTracks=_this85.localTracks.filter(x=>x.orientation===_this85.props.orientation);}_this85.localTracks.forEach(x=>{x.uuid=slugid.nice();});const newOptions=_this85.prepareNewEntries("",_this85.localTracks,{});const availableTilesetKeys=Object.keys(newOptions);const selectedUuid=availableTilesetKeys.length?[availableTilesetKeys[0]]:null;_this85.mounted=false;_this85.state={selectedUuid,options:newOptions,filter:"",checked:[],expanded:[]};_this85.requestTilesetLists();return _this85;}_createClass3(TilesetFinder,[{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;this.requestTilesetLists();this.searchBox.focus();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mounted=false;}},{key:"prepareNewEntries",value:function prepareNewEntries(sourceServer,newEntries,existingOptions){const newOptions=existingOptions;const entries=newEntries.map(ne=>{const ane={...ne,server:sourceServer,tilesetUid:ne.uuid,serverUidKey:this.serverUidKey(sourceServer,ne.uuid),datatype:ne.datatype,name:ne.name,uid:slugid.nice()};return ane;});entries.forEach(ne=>{newOptions[ne.serverUidKey]=ne;});return newOptions;}},{key:"serverUidKey",value:function serverUidKey(server,uid){return`${server}/${uid}`;}},{key:"requestTilesetLists",value:function requestTilesetLists(){let datatypesQuery=null;if(this.props.datatype){datatypesQuery=`dt=${this.props.datatype}`;}else{const datatypes=new Set([].concat(...this.augmentedTracksInfo.filter(x=>x.datatype).filter(x=>{return x.orientation===this.props.orientation||this.props.orientation==="1d-vertical"&&x.orientation==="1d-horizontal";}).map(x=>x.datatype)));datatypesQuery=[...datatypes].map(x=>`dt=${x}`).join("&");}if(!this.props.trackSourceServers){console.warn("No track source servers specified in the viewconf");return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/tilesets/?limit=10000&${datatypesQuery}`,(error,data2)=>{if(error){console.error("ERROR:",error);}else{const newOptions=this.prepareNewEntries(sourceServer,data2.results,this.state.options);const availableTilesetKeys=Object.keys(newOptions);let{selectedUuid}=this.state;if(!selectedUuid){selectedUuid=availableTilesetKeys.length?[availableTilesetKeys[0]]:null;const selectedTileset=this.state.options[selectedUuid[0]];this.props.selectedTilesetChanged([selectedTileset]);}if(this.mounted){this.setState({selectedUuid,options:newOptions});}}},this.props.pubSub);});}},{key:"handleOptionDoubleClick",value:function handleOptionDoubleClick(x){const value2=this.state.options[x.target.value];this.props.onDoubleClick(value2);}},{key:"handleSelectedOptions",value:function handleSelectedOptions(selectedOptions){const selectedValues=[];const selectedTilesets=[];for(let i2=0;i2<selectedOptions.length;i2++){selectedValues.push(selectedOptions[i2]);selectedTilesets.push(this.state.options[selectedOptions[i2]]);}this.props.selectedTilesetChanged(selectedTilesets);this.setState({selectedUuid:selectedValues});}},{key:"handleSelect",value:function handleSelect(){const{selectedOptions}=this.multiSelect;const selectedOptionsList=[];for(let i2=0;i2<selectedOptions.length;i2++){const selectedOption=selectedOptions[i2];selectedOptionsList.push(selectedOption.value);}this.handleSelectedOptions(selectedOptionsList);}},{key:"handleSearchChange",value:function handleSearchChange(){const domElement=this.searchBox;this.setState({filter:domElement.value});}},{key:"partitionByGroup",value:function partitionByGroup(datasetsDict,filter2){const itemsByGroup={"":{name:"",value:"",children:[]}};for(const uuid2 of Object.keys(datasetsDict)){const item=datasetsDict[uuid2];if(!item.name.toLowerCase().includes(filter2)){continue;}if("project_name"in item){const group2=item.project_name;if(!(group2 in itemsByGroup)){itemsByGroup[group2]={value:group2,label:group2,children:[]};}itemsByGroup[group2].children.push({label:item.name,value:uuid2});}else{itemsByGroup[""].children.push({label:item.name,value:uuid2});}}const allItems=itemsByGroup[""].children;for(const group2 of Object.keys(itemsByGroup)){if(group2!==""){itemsByGroup[group2].children.sort((a,b)=>a.label.toLowerCase().localeCompare(b.label.toLowerCase(),"en"));allItems.push(itemsByGroup[group2]);}}allItems.sort((a,b)=>a.label.toLowerCase().localeCompare(b.label.toLowerCase(),"en"));return allItems;}},{key:"handleChecked",value:function handleChecked(checked){this.handleSelectedOptions(checked);this.setState({checked});}},{key:"handleExpanded",value:function handleExpanded(expanded){this.setState({expanded});}},{key:"render",value:function render(){const optionsList=[];for(const key in this.state.options){optionsList.push(this.state.options[key]);}const nestedItems=this.partitionByGroup(this.state.options,this.state.filter);const svgStyle={width:15,height:15,top:2,right:2,position:"relative"};const halfSvgStyle=JSON.parse(JSON.stringify(svgStyle));halfSvgStyle.opacity=0.5;const form=/* @__PURE__ */React__default.default.createElement("form",{onSubmit:evt=>{evt.preventDefault();}},/* @__PURE__ */React__default.default.createElement("div",{className:"tileset-finder-search-bar"},/* @__PURE__ */React__default.default.createElement("span",{className:"tileset-finder-label"},"Select tileset:"),/* @__PURE__ */React__default.default.createElement("input",{ref:c2=>{this.searchBox=c2;},className:"tileset-finder-search-box",onChange:this.handleSearchChange.bind(this),placeholder:"Search Term",type:"text"})),/* @__PURE__ */React__default.default.createElement("div",{className:"tileset-finder-checkbox-tree"},/* @__PURE__ */React__default.default.createElement(CheckboxTree,{checked:this.state.checked,expanded:this.state.expanded,icons:{uncheck:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#square_o"})),check:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#check_square_o"})),halfCheck:/* @__PURE__ */React__default.default.createElement("svg",{style:halfSvgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#check_square_o"})),leaf:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#file_o"})),expandClose:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#chevron_right"})),expandOpen:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#chevron_down"})),parentClose:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#folder_o"})),parentOpen:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#folder_open_o"}))},nodes:nestedItems,onCheck:this.handleChecked.bind(this),onExpand:this.handleExpanded.bind(this)})));return/* @__PURE__ */React__default.default.createElement("div",null,form);}}]);return TilesetFinder;}(React__default.default.Component);TilesetFinder.propTypes={datatype:propTypes$3.exports.string,orientation:propTypes$3.exports.string,onDoubleClick:propTypes$3.exports.func,pubSub:propTypes$3.exports.object.isRequired,selectedTilesetChanged:propTypes$3.exports.func,trackSourceServers:propTypes$3.exports.array};const TilesetFinder$1=withPubSub(TilesetFinder);const PlotTypeChooser$1="";let PlotTypeChooser=/*#__PURE__*/function(_React__default$defau12){_inherits3(PlotTypeChooser,_React__default$defau12);var _super67=_createSuper3(PlotTypeChooser);function PlotTypeChooser(props){var _this86;_classCallCheck3(this,PlotTypeChooser);_this86=_super67.call(this,props);_this86.DATATYPE_TO_TRACK_TYPE=DATATYPE_TO_TRACK_TYPE(_this86.props.orientation);_this86.AVAILABLE_TRACK_TYPES=AVAILABLE_TRACK_TYPES(_this86.props.datatypes,_this86.props.orientation);_this86.state={selectedPlotType:_this86.AVAILABLE_TRACK_TYPES[0]};return _this86;}_createClass3(PlotTypeChooser,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.AVAILABLE_TRACK_TYPES=AVAILABLE_TRACK_TYPES(newProps.datatypes,this.props.orientation);if(!this.AVAILABLE_TRACK_TYPES){return;}if(!newProps.allTracksSameDatatype){return;}if(this.AVAILABLE_TRACK_TYPES.length>0){if(!this.AVAILABLE_TRACK_TYPES.includes(this.state.selectedPlotType)){const defaultTrackType=getDefaultTrackForDatatype(newProps.datatypes[0][0],this.props.position,this.AVAILABLE_TRACK_TYPES);this.handlePlotTypeSelected(defaultTrackType);}}}},{key:"handlePlotTypeSelected",value:function handlePlotTypeSelected(key){this.setState({selectedPlotType:key});this.props.onPlotTypeSelected(key.type);}},{key:"render",value:function render(){let AVAILABLE_TRACK_TYPES_LIST="No plot types available for track";const trackTypeToInfo={};TRACKS_INFO.forEach(ti=>{trackTypeToInfo[ti.type]=ti;});if(this.AVAILABLE_TRACK_TYPES){AVAILABLE_TRACK_TYPES_LIST=this.AVAILABLE_TRACK_TYPES.sort((a,b)=>a.type<b.type).map(x=>{const thumbnail=trackTypeToInfo[x.type].thumbnail;const plotTypeClass=this.state.selectedPlotType.type===x.type?"plot-type-item plot-type-selected":"plot-type-item";const imgTag=trackTypeToInfo[x.type].thumbnail?/* @__PURE__ */React__default.default.createElement("div",{className:"track-thumbnail",dangerouslySetInnerHTML:{__html:thumbnail.outerHTML}}):/* @__PURE__ */React__default.default.createElement("div",{className:"track-thumbnail"},/* @__PURE__ */React__default.default.createElement("svg",{height:20,width:30}));return/* @__PURE__ */React__default.default.createElement("li",{key:x.type,className:plotTypeClass,onClick:e=>{this.setState({selectedPlotType:x});this.props.onPlotTypeSelected(x.type);},style:{listStyle:"none",paddingLeft:5,paddingBottom:0}},imgTag,/* @__PURE__ */React__default.default.createElement("span",{style:{verticalAlign:"middle"}},x.type));});}return/* @__PURE__ */React__default.default.createElement("div",null,AVAILABLE_TRACK_TYPES_LIST.length>0&&this.props.allTracksSameDatatype&&/* @__PURE__ */React__default.default.createElement("div",{className:"plot-type-container"},AVAILABLE_TRACK_TYPES_LIST),!this.props.allTracksSameDatatype&&/* @__PURE__ */React__default.default.createElement("div",{className:"plot-type-container-empty"},"Datasets with multiple datatypes chosen. They will be added with their default track types."));}}]);return PlotTypeChooser;}(React__default.default.Component);PlotTypeChooser.propTypes={allTracksSameDatatype:propTypes$3.exports.bool,datatypes:propTypes$3.exports.array,orientation:propTypes$3.exports.string,onPlotTypeSelected:propTypes$3.exports.func,position:propTypes$3.exports.string};const collapsed="_collapsed_ub7s6_9";const modal="_modal_ub7s6_14";const AddTrackDialog_module={"collapse-toggle-icon":"_collapse-toggle-icon_ub7s6_1",collapsed,"modal-title":"_modal-title_ub7s6_14","modal-container":"_modal-container_ub7s6_19",modal,"modal-backdrop":"_modal-backdrop_ub7s6_23","modal-dialog":"_modal-dialog_ub7s6_27"};let AddTrackDialog=/*#__PURE__*/function(_React__default$defau13){_inherits3(AddTrackDialog,_React__default$defau13);var _super68=_createSuper3(AddTrackDialog);function AddTrackDialog(props){var _this87;_classCallCheck3(this,AddTrackDialog);_this87=_super68.call(this,props);_this87.options={};_this87.state={selectedTilesets:[{datatype:"none"}],allTracksSameDatatype:true};_this87.handleSubmitBound=_this87.handleSubmit.bind(_assertThisInitialized3(_this87));_this87.handleTilesetPickerDoubleClickBound=_this87.handleTilesetPickerDoubleClick.bind(_assertThisInitialized3(_this87));_this87.selectedTilesetsChangedBound=_this87.selectedTilesetsChanged.bind(_assertThisInitialized3(_this87));return _this87;}_createClass3(AddTrackDialog,[{key:"getOrientation",value:function getOrientation(position){let orientation2=null;if(position==="top"||position==="bottom"){orientation2="1d-horizontal";}else if(position==="left"||position==="right"){orientation2="1d-vertical";}else{orientation2="2d";}return orientation2;}},{key:"handleSubmit",value:function handleSubmit(evt){if(evt)evt.preventDefault();this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host);}},{key:"handleTilesetPickerDoubleClick",value:function handleTilesetPickerDoubleClick(tileset){this.selectedTilesetsChanged([tileset]);this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host);}},{key:"handleOptionsChanged",value:function handleOptionsChanged(newOptions){this.options=newOptions;}},{key:"handlePlotTypeSelected",value:function handlePlotTypeSelected(newPlotType){const{selectedTilesets}=this.state;for(const tileset of selectedTilesets){tileset.type=newPlotType;}this.selectedPlotType=newPlotType;this.setState({selectedTilesets});}},{key:"selectedTilesetsChanged",value:function selectedTilesetsChanged(selectedTilesetsIn){let selectedTilesets=null;if(selectedTilesetsIn.length===0){selectedTilesets=[{datatype:"none"}];}else{selectedTilesets=selectedTilesetsIn;}let allTracksSameDatatype=true;const firstDatatype=selectedTilesets[0].datatype;for(const tileset of selectedTilesets){if(tileset.datatype!==firstDatatype){allTracksSameDatatype=false;}}if(allTracksSameDatatype){for(const tileset of selectedTilesets){tileset.type=this.selectedPlotType;}}else{for(const tileset of selectedTilesets){let datatypes=[tileset.datatype];const orientation2=this.getOrientation(this.props.position);if(tileset.filetype==="cooler"){datatypes=[tileset.datatype,"chromsizes"];}const availableTrackTypes=AVAILABLE_TRACK_TYPES([datatypes],orientation2);const defaultTrackType=getDefaultTrackForDatatype(datatypes[0],this.props.position,availableTrackTypes);tileset.type=defaultTrackType.type;}}this.setState({selectedTilesets,allTracksSameDatatype});}},{key:"render",value:function render(){const orientation2=this.getOrientation(this.props.position);const form=/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement(TilesetFinder$1,{ref:c2=>{this.tilesetFinder=c2;},datatype:this.props.datatype,onDoubleClick:this.handleTilesetPickerDoubleClick.bind(this),onTracksChosen:value2=>this.props.onTracksChosen(value2,this.props.position),orientation:orientation2,selectedTilesetChanged:this.selectedTilesetsChanged.bind(this),trackSourceServers:this.props.trackSourceServers}));return/* @__PURE__ */React__default.default.createElement(Dialog$1,{maxHeight:true,okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmitBound,title:"Add Track"},/* @__PURE__ */React__default.default.createElement(React__default.default.Fragment,null,form,/* @__PURE__ */React__default.default.createElement(PlotTypeChooser,{ref:c2=>{this.plotTypeChooser=c2;},allTracksSameDatatype:this.state.allTracksSameDatatype,datatypes:this.state.selectedTilesets.map(x=>{if(x.filetype==="cooler"){return[x.datatype,"chromsizes"];}return[x.datatype];}),onPlotTypeSelected:this.handlePlotTypeSelected.bind(this),orientation:orientation2,position:this.props.position})));}}]);return AddTrackDialog;}(React__default.default.Component);AddTrackDialog.defaultProps={position:"top"};AddTrackDialog.propTypes={datatype:propTypes$3.exports.string,host:propTypes$3.exports.string,onCancel:propTypes$3.exports.func.isRequired,onTracksChosen:propTypes$3.exports.func.isRequired,position:propTypes$3.exports.string,trackSourceServers:propTypes$3.exports.array.isRequired};let CustomTrackDialog=/*#__PURE__*/function(_React__default$defau14){_inherits3(CustomTrackDialog,_React__default$defau14);var _super69=_createSuper3(CustomTrackDialog);function CustomTrackDialog(){_classCallCheck3(this,CustomTrackDialog);return _super69.apply(this,arguments);}_createClass3(CustomTrackDialog,[{key:"render",value:function render(){const childrenWithProp=[];this.props.children.forEach((Child,i2)=>{const key=`customTrackDialog_${i2}`;childrenWithProp.push(/* @__PURE__ */React__default.default.createElement(Child,{key,...this.props.bodyProps[i2]}));});return/* @__PURE__ */React__default.default.createElement(Dialog$1,{maxHeight:true,okayOnly:true,okayTitle:"Close",onCancel:this.props.onCancel,onOkay:this.props.onCancel,title:this.props.title},childrenWithProp);}}]);return CustomTrackDialog;}(React__default.default.PureComponent);CustomTrackDialog.defaultProps={};CustomTrackDialog.propTypes={onCancel:propTypes$3.exports.func.isRequired};const TRACK_CONTROL_HEIGHT=20;let ContextMenuContainer=/*#__PURE__*/function(_React__default$defau15){_inherits3(ContextMenuContainer,_React__default$defau15);var _super70=_createSuper3(ContextMenuContainer);function ContextMenuContainer(props){var _this88;_classCallCheck3(this,ContextMenuContainer);_this88=_super70.call(this,props);_this88.adjusted=false;_this88.state={orientation:_this88.props.orientation?_this88.props.orientation:"right",left:_this88.props.position.left,top:_this88.props.position.top,submenuShown:null};return _this88;}_createClass3(ContextMenuContainer,[{key:"componentDidMount",value:function componentDidMount(){this.updateOrientation();}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.adjusted=false;this.setState({left:newProps.position.left,top:newProps.position.top});}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.updateOrientation();}},{key:"handleItemMouseEnterWithRect",value:function handleItemMouseEnterWithRect(clientRect,series){this.setState({submenuShown:series,submenuSourceBbox:clientRect});}},{key:"handleItemMouseEnter",value:function handleItemMouseEnter(evt,series){this.handleItemMouseEnterWithRect(evt.currentTarget.getBoundingClientRect(),series);}},{key:"handleMouseLeave",value:function handleMouseLeave(){}},{key:"handleOtherMouseEnter",value:function handleOtherMouseEnter(){this.setState({submenuShown:null});}},{key:"updateOrientation",value:function updateOrientation(){if(this.adjusted)return;this.adjusted=true;this.divDom=ReactDOM__default.default.findDOMNode(this.div);const bbox=this.divDom.getBoundingClientRect();const parentBbox=this.props.parentBbox?this.props.parentBbox:{top:this.props.position.top,left:this.props.position.left,width:0,height:0};let orientation2=this.state.orientation;let topPosition=parentBbox.top;if(parentBbox.top+bbox.height>window.innerHeight){if(parentBbox.top-bbox.height>0){topPosition=parentBbox.top-bbox.height+TRACK_CONTROL_HEIGHT;}else{topPosition=parentBbox.top-bbox.height+TRACK_CONTROL_HEIGHT;topPosition-=topPosition+bbox.height-window.innerHeight;}}if(this.state.orientation==="left"){let leftPosition=parentBbox.left-bbox.width;if(leftPosition<0){if(parentBbox.left+parentBbox.width+bbox.width>window.innerWidth){leftPosition=0;}else{leftPosition=parentBbox.left+parentBbox.width;orientation2="right";}}this.setState({left:leftPosition,top:topPosition,orientation:orientation2});}else{let leftPosition=parentBbox.left+parentBbox.width;if(parentBbox.left+parentBbox.width+bbox.width>window.innerWidth){if(parentBbox.left-bbox.width<0){leftPosition=0;orientation2="right";}else{leftPosition=parentBbox.left-bbox.width;orientation2="left";}}this.setState({left:leftPosition,top:topPosition,orientation:orientation2});}}},{key:"render",value:function render(){const stylePosition=this.state.left?{left:this.state.left}:{right:this.state.right};const otherStyle={top:this.state.top};const wholeStyle=Object.assign(stylePosition,otherStyle);return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx("context-menu-item",classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),style:wholeStyle},this.props.children);}}]);return ContextMenuContainer;}(React__default.default.Component);ContextMenuContainer.propTypes={children:propTypes$3.exports.node,orientation:propTypes$3.exports.string,parentBbox:propTypes$3.exports.object,position:propTypes$3.exports.object,theme:propTypes$3.exports.symbol.isRequired};let NestedContextMenu=/*#__PURE__*/function(_ContextMenuContainer){_inherits3(NestedContextMenu,_ContextMenuContainer);var _super71=_createSuper3(NestedContextMenu);function NestedContextMenu(){_classCallCheck3(this,NestedContextMenu);return _super71.apply(this,arguments);}_createClass3(NestedContextMenu,[{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const menuItem=this.state.submenuShown;return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{menuItems:menuItem.children,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"componentWillUnmount",value:function componentWillUnmount(){}},{key:"render",value:function render(){const menuItems=[];for(const menuItemKey in this.props.menuItems){const menuItem=this.props.menuItems[menuItemKey];menuItems.push(/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:menuItemKey,onClick:menuItem.handler?menuItem.handler:()=>null,onMouseEnter:menuItem.children?e=>this.handleItemMouseEnter(e,menuItem):this.handleOtherMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave},menuItem.name,menuItem.children&&/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"}))));}return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),style:{left:this.state.left,top:this.state.top}},menuItems,this.getSubmenu());}}]);return NestedContextMenu;}(ContextMenuContainer);let SeriesListMenu=/*#__PURE__*/function(_ContextMenuContainer2){_inherits3(SeriesListMenu,_ContextMenuContainer2);var _super72=_createSuper3(SeriesListMenu);function SeriesListMenu(){_classCallCheck3(this,SeriesListMenu);return _super72.apply(this,arguments);}_createClass3(SeriesListMenu,[{key:"getConfigureSeriesMenu",value:function getConfigureSeriesMenu(position,bbox,track){const menuItems={};const pluginOptionsInfo=window.higlassTracksByType&&window.higlassTracksByType[track.type]&&window.higlassTracksByType[track.type].config&&window.higlassTracksByType[track.type].config.optionsInfo;if(pluginOptionsInfo){for(const key of Object.keys(pluginOptionsInfo)){OPTIONS_INFO[key]=pluginOptionsInfo[key];}}if(!TRACKS_INFO_BY_TYPE[track.type]||!TRACKS_INFO_BY_TYPE[track.type].availableOptions){return null;}for(const optionType of TRACKS_INFO_BY_TYPE[track.type].availableOptions){if(optionType in OPTIONS_INFO){menuItems[optionType]={name:OPTIONS_INFO[optionType].name};if(OPTIONS_INFO[optionType].generateOptions){const generatedOptions=OPTIONS_INFO[optionType].generateOptions(track);if(!menuItems[optionType].children){menuItems[optionType].children={};}for(const generatedOption of generatedOptions){const optionSelectorSettings={name:generatedOption.name,value:generatedOption.value,handler:()=>{track.options[optionType]=generatedOption.value;this.props.onTrackOptionsChanged(track.uid,track.options);this.props.closeMenu();}};menuItems[optionType].children[generatedOption.value]=optionSelectorSettings;}}if(OPTIONS_INFO[optionType].inlineOptions){for(const inlineOptionKey in OPTIONS_INFO[optionType].inlineOptions){const inlineOption=OPTIONS_INFO[optionType].inlineOptions[inlineOptionKey];if(!menuItems[optionType].children){menuItems[optionType].children={};}const optionSelectorSettings={name:inlineOption.name,value:inlineOption.value};if(inlineOption.componentPickers&&inlineOption.componentPickers[track.type]){optionSelectorSettings.handler=()=>{this.props.onConfigureTrack(track,inlineOption.componentPickers[track.type]);this.props.closeMenu();};}else{optionSelectorSettings.handler=()=>{track.options[optionType]=inlineOption.value;this.props.onTrackOptionsChanged(track.uid,track.options);this.props.closeMenu();};}menuItems[optionType].children[inlineOptionKey]=optionSelectorSettings;}}else if(OPTIONS_INFO[optionType].componentPickers&&OPTIONS_INFO[optionType].componentPickers[track.type]){menuItems[optionType].handler=()=>{this.props.onConfigureTrack(track,OPTIONS_INFO[optionType].componentPickers[track.type]);this.props.closeMenu();};}}}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getTrackTypeItems",value:function getTrackTypeItems(position,bbox,track){if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}let{datatype}=track;let orientation2=null;if(track.type in TRACKS_INFO_BY_TYPE){if(!datatype){datatype=TRACKS_INFO_BY_TYPE[track.type].datatype[0];}({orientation:orientation2}=TRACKS_INFO_BY_TYPE[track.type]);}const availableTrackTypes=Object.values(TRACKS_INFO_BY_TYPE).filter(x=>x.datatype).filter(x=>x.orientation).filter(x=>x.datatype.includes(datatype)).filter(x=>x.orientation===orientation2).map(x=>x.type);const menuItems={};for(let i2=0;i2<availableTrackTypes.length;i2++){menuItems[availableTrackTypes[i2]]={value:availableTrackTypes[i2],name:availableTrackTypes[i2],handler:()=>{this.props.onChangeTrackType(track.uid,availableTrackTypes[i2]);}};}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"track-type-items",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const subMenuData=this.state.submenuShown;const track=subMenuData.value;if(subMenuData.option==="track-type"){return this.getTrackTypeItems(position,bbox,track);}return this.getConfigureSeriesMenu(position,bbox,track);}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"getDivideByMenuItem",value:function getDivideByMenuItem(){if(this.props.series.data&&this.props.series.data.type==="divided"){const newData={tilesetUid:this.props.series.data.children[0].tilesetUid,server:this.props.series.data.children[0].server};return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onChangeTrackData(this.props.series.uid,newData),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Remove divisor"));}return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onAddDivisor(this.props.series),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Divide by"));}},{key:"componentWillUnmount",value:function componentWillUnmount(){}},{key:"render",value:function render(){let exportDataMenuItem=null;if(TRACKS_INFO_BY_TYPE[this.props.series.type]&&TRACKS_INFO_BY_TYPE[this.props.series.type].exportable){exportDataMenuItem=/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onExportData(this.props.hostTrack.uid,this.props.track.uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Export Data"));}const replaceSeriesItem=this.props.onAddSeries?/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>{this.props.onCloseTrack(this.props.series.uid);this.props.onAddSeries(this.props.hostTrack.uid);},onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Replace Series")):null;return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"SeriesListMenu",onMouseLeave:this.props.handleMouseLeave,style:{left:this.state.left,top:this.state.top}},/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>{},onMouseEnter:e=>this.handleItemMouseEnter(e,{option:"configure-series",value:this.props.track}),onMouseLeave:e=>this.handleMouseLeave(e)},"Configure Series",/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"}))),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>{},onMouseEnter:e=>this.handleItemMouseEnter(e,{option:"track-type",value:this.props.track}),onMouseLeave:e=>this.handleMouseLeave(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Track Type",/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"})))),exportDataMenuItem,this.getDivideByMenuItem(),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:this.props.onCloseTrack,onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Close Series")),replaceSeriesItem,this.getSubmenu());}}]);return SeriesListMenu;}(ContextMenuContainer);const getAllTracksAndSubtracks=tracks2=>{let series=[];for(const track of tracks2){if(track.contents){series=series.concat(track.contents);}else{series.push(track);}}return series;};const getSeriesItems=(tracks2,onItemMouseEnter,onItemMouseLeave,onItemClick)=>{if(!tracks2)return null;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}return getAllTracksAndSubtracks(tracks2).map(x=>{const thumbnail=TRACKS_INFO_BY_TYPE[x.type]?TRACKS_INFO_BY_TYPE[x.type].thumbnail:null;const imgTag=thumbnail?/* @__PURE__ */React__default.default.createElement("div",{className:classes$b["context-menu-icon"],dangerouslySetInnerHTML:{__html:thumbnail.outerHTML}}):/* @__PURE__ */React__default.default.createElement("div",{className:classes$b["context-menu-icon"]},/* @__PURE__ */React__default.default.createElement("svg",null));return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:x.uid,className:classes$b["context-menu-item"],onClick:()=>{if(onItemClick)onItemClick(x.uid);},onMouseEnter:e=>{if(onItemMouseEnter)onItemMouseEnter(e,x);},onMouseLeave:e=>{if(onItemMouseLeave)onItemMouseLeave(e);}},imgTag,/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},x.options&&x.options.name&&x.options.name.length?x.options.name:x.type,onItemMouseEnter&&onItemMouseLeave?/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"})):null));});};const SeriesListSubmenuMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass4){_inherits3(_class6,_superclass4);var _super73=_createSuper3(_class6);function _class6(){_classCallCheck3(this,_class6);return _super73.apply(this,arguments);}_createClass3(_class6,[{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;let position=null;if(this.state.orientation==="left"){position={left:this.state.left,top:bbox.top};}else{position={left:this.state.left+bbox.width+7,top:bbox.top};}const series=getAllTracksAndSubtracks(this.props.tracks);const selectedTrack=series.filter(t=>t.uid===this.state.submenuShown.uid)[0];const canBeReplaced=selectedTrack&&!(selectedTrack.position==="whole");return/* @__PURE__ */React__default.default.createElement(SeriesListMenu,{key:`series-list-menu-${selectedTrack.uid}`,ref:c2=>{this.seriesListMenu=c2;},closeMenu:this.props.closeMenu,hostTrack:this.props.tracks[0],onAddDivisor:this.props.onAddDivisor,onAddSeries:canBeReplaced?this.props.onAddSeries:null,onChangeTrackData:this.props.onChangeTrackData,onChangeTrackType:this.props.onChangeTrackType,onCloseTrack:()=>this.props.onCloseTrack(this.state.submenuShown.uid),onConfigureTrack:this.props.onConfigureTrack,onDivideSeries:this.props.onDivideSeries,onExportData:this.props.onExportData,onLockScales:this.props.onLockScales,onTrackOptionsChanged:this.props.onTrackOptionsChanged,orientation:this.state.orientation,parentBbox:bbox,position,series:this.state.submenuShown,theme:this.props.theme,track:selectedTrack,trackOrientation:this.props.trackOrientation,trackSourceServers:this.props.trackSourceServers});}return/* @__PURE__ */React__default.default.createElement("div",null);}}]);return _class6;}(superclass));let ConfigTrackMenu=/*#__PURE__*/function(_mix$with4){_inherits3(ConfigTrackMenu,_mix$with4);var _super74=_createSuper3(ConfigTrackMenu);function ConfigTrackMenu(props){var _this89;_classCallCheck3(this,ConfigTrackMenu);_this89=_super74.call(this,props);_this89.seriesRefs={};_this89.seriesListMenu=null;return _this89;}_createClass3(ConfigTrackMenu,[{key:"componentDidMount",value:function componentDidMount(){_get4(_getPrototypeOf4(ConfigTrackMenu.prototype),"componentDidMount",this).call(this);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ConfigTrackMenu",style:{left:this.state.left,top:this.state.top}},getSeriesItems(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this),null),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onLockValueScale(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Lock Value Scale With"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onUnlockValueScale(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Unlock Value Scale"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onAddSeries(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Series"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onCloseTrack(this.props.tracks[0].uid)},"Close Track"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>{this.props.onReplaceTrack(this.props.tracks[0].uid,this.props.trackOrientation);}},"Replace Track"),this.getSubmenu());}}]);return ConfigTrackMenu;}(mix(ContextMenuContainer).with(SeriesListSubmenuMixin));function CloseTrackMenu(props){return/* @__PURE__ */React__default.default.createElement("div",null,getSeriesItems(props.tracks,null,null,props.onCloseTrack),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>props.onCloseTrack(props.tracks[0].uid)},"Close all series"));}CloseTrackMenu.propTypes={onCloseTrack:propTypes$3.exports.func.isRequired,tracks:propTypes$3.exports.array.isRequired};let PopupMenu=/*#__PURE__*/function(_React__default$defau16){_inherits3(PopupMenu,_React__default$defau16);var _super75=_createSuper3(PopupMenu);function PopupMenu(props){var _this90;_classCallCheck3(this,PopupMenu);_this90=_super75.call(this,props);_this90.clickHandlerBound=_this90.clickHandler.bind(_assertThisInitialized3(_this90));_this90.contextMenuHandlerBound=_this90.contextMenuHandler.bind(_assertThisInitialized3(_this90));_this90.resizeHandlerBound=_this90.resizeHandler.bind(_assertThisInitialized3(_this90));return _this90;}_createClass3(PopupMenu,[{key:"componentDidMount",value:function componentDidMount(){this.popup=document.createElement("div");document.body.appendChild(this.popup);this.popup.style.zIndex=99;this.popup.style.position="absolute";this.popup.className="hg-popup";document.addEventListener("click",this.clickHandlerBound,true);document.addEventListener("contextmenu",this.contextMenuHandlerBound,true);window.addEventListener("resize",this.resizeHandlerBound,true);this._renderLayer();}},{key:"componentDidUpdate",value:function componentDidUpdate(){this._renderLayer();}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("click",this.clickHandlerBound,true);document.removeEventListener("contextmenu",this.contextMenuHandlerBound,true);window.removeEventListener("resize",this.resizeHandlerBound,true);ReactDOM__default.default.unmountComponentAtNode(this.popup);document.body.removeChild(this.popup);}},{key:"_renderLayer",value:function _renderLayer(){ReactDOM__default.default.render(this.props.children,this.popup);}},{key:"clickHandler",value:function clickHandler(event){if(!this.popup.contains(event.target)){if(this.props.onMenuClosed)this.props.onMenuClosed(event);}}},{key:"contextMenuHandler",value:function contextMenuHandler(event){if(event.altKey)return;event.preventDefault();this.clickHandler(event);}},{key:"resizeHandler",value:function resizeHandler(){this.props.onMenuClosed(null);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",null);}}]);return PopupMenu;}(React__default.default.Component);PopupMenu.defaultProps={onMenuClosed:intoTheVoid};PopupMenu.propTypes={children:propTypes$3.exports.node.isRequired,onMenuClosed:propTypes$3.exports.func};const VerticalItem=sortableElement(props=>/* @__PURE__ */React__default.default.createElement(VerticalTrack,{className:props.className,controlAlignLeft:props.controlAlignLeft,editable:props.editable,handleConfigTrack:props.handleConfigTrack,handleResizeTrack:props.handleResizeTrack,height:props.height,item:props.item,onAddSeries:props.onAddSeries,onCloseTrack:props.onCloseTrack,onCloseTrackMenuOpened:props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:props.onConfigTrackMenuOpened,resizeHandles:props.resizeHandles,uid:props.uid,width:props.width}));const styles$3={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function sourceEvent(event){return event&&event.sourceEvent;}let VerticalTiledPlot=/*#__PURE__*/function(_React__default$defau17){_inherits3(VerticalTiledPlot,_React__default$defau17);var _super76=_createSuper3(VerticalTiledPlot);function VerticalTiledPlot(props){var _this91;_classCallCheck3(this,VerticalTiledPlot);_this91=_super76.call(this,props);_this91.brushBehavior=brushY().on("start",_this91.brushStarted.bind(_assertThisInitialized3(_this91))).on("brush",_this91.brushed.bind(_assertThisInitialized3(_this91))).on("end",_this91.brushedEnded.bind(_assertThisInitialized3(_this91)));return _this91;}_createClass3(VerticalTiledPlot,[{key:"componentDidMount",value:function componentDidMount(){if(this.props.isRangeSelectionActive){this.addBrush();}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){if(this.rangeSelectionTriggered){this.rangeSelectionTriggered=false;if(this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,true);}this.rangeSelectionTriggeredEnd=false;return this.state!==nextState;}if(this.props.rangeSelection!==nextProps.rangeSelection){const accessor=this.props.is1dRangeSelection?0:1;this.moveBrush(nextProps.rangeSelection[accessor]?nextProps.rangeSelection[accessor]:null,nextProps.rangeSelectionEnd);return this.state!==nextState;}return true;}},{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.isRangeSelectionActive){this.addBrush();}else{this.removeBrush();}}},{key:"addBrush",value:function addBrush(){if(!this.brushEl||this.brushElAddedBefore===this.brushEl){return;}if(this.brushElAddedBefore){this.brushElAddedBefore.on(".brush",null);}this.brushEl.call(this.brushBehavior);this.brushElAddedBefore=this.brushEl;resetD3BrushStyle(this.brushEl,stylesTrack["track-range-selection-group-brush-selection"]);}},{key:"brushed",value:function brushed(event){const rangeSelectionMoved=this.rangeSelectionMoved;this.rangeSelectionMoved=false;if(!sourceEvent(event)||!this.props.onRangeSelection||rangeSelectionMoved)return;this.rangeSelectionTriggered=true;this.props.onRangeSelection(event.selection);}},{key:"brushStarted",value:function brushStarted(event){if(!sourceEvent(event)||!event.selection)return;this.props.onRangeSelectionStart();}},{key:"brushedEnded",value:function brushedEnded(event){if(!this.props.is1dRangeSelection)return;const rangeSelectionMovedEnd=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=false;if(event.selection&&event.sourceEvent&&this.props.onRangeSelection&&!rangeSelectionMovedEnd){this.rangeSelectionTriggered=true;this.rangeSelectionTriggeredEnd=true;this.props.onRangeSelectionEnd(event.selection);}if(!event.selection){this.rangeSelectionTriggered=true;this.props.onRangeSelectionReset();}}},{key:"moveBrush",value:function moveBrush(rangeSelection,animate=false){if(!this.brushEl){return;}const relRange=rangeSelection?[this.props.scale(rangeSelection[0]),this.props.scale(rangeSelection[1])]:null;this.rangeSelectionMoved=true;this.rangeSelectionMovedEnd=true;if(animate){this.brushEl.transition().call(this.brushBehavior.move,relRange);}else{this.brushEl.call(this.brushBehavior.move,relRange);}}},{key:"removeBrush",value:function removeBrush(){if(this.brushElAddedBefore){this.brushElAddedBefore.call(this.brushBehavior.move,null);this.brushElAddedBefore.on(".brush",null);this.brushElAddedBefore=void 0;this.props.onRangeSelectionReset();}}},{key:"render",value:function render(){const width=this.props.tracks.map(x=>x.width).reduce(sum,0);const isBrushable=this.props.tracks.map(track=>IS_TRACK_RANGE_SELECTABLE(track)).reduce(or,false);const rangeSelectorClass=stylesTrack[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return/* @__PURE__ */React__default.default.createElement("div",{className:styles$3["vertical-tiled-plot"]},isBrushable&&/* @__PURE__ */React__default.default.createElement("svg",{ref:el=>{this.brushEl=select$1(el);},className:rangeSelectorClass,style:{height:this.props.height,width},xmlns:"http://www.w3.org/2000/svg"}),/* @__PURE__ */React__default.default.createElement(ListWrapper,{axis:"x",className:clsx(styles$5.list,styles$5.stylizedList,styles$5.horizontalList),component:SortableList,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:styles$5.stylizedHelper,itemClass:clsx(styles$5.stylizedItem,styles$5.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:VerticalItem,items:this.props.tracks.map(d=>({configMenuVisible:d.uid===this.props.configTrackMenuId,uid:d.uid||slugid.nice(),height:this.props.height,width:d.width,value:d.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:true,width}));}}]);return VerticalTiledPlot;}(React__default.default.Component);VerticalTiledPlot.propTypes={configTrackMenuId:propTypes$3.exports.string,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,handleSortEnd:propTypes$3.exports.func,is1dRangeSelection:propTypes$3.exports.bool,isRangeSelectionActive:propTypes$3.exports.bool,height:propTypes$3.exports.number,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func,onRangeSelectionEnd:propTypes$3.exports.func,onRangeSelectionReset:propTypes$3.exports.func,onRangeSelectionStart:propTypes$3.exports.func,rangeSelection:propTypes$3.exports.array,rangeSelectionEnd:propTypes$3.exports.bool,referenceAncestor:propTypes$3.exports.func,resizeHandles:propTypes$3.exports.object,scale:propTypes$3.exports.func,tracks:propTypes$3.exports.array,tracksControlAlignLeft:propTypes$3.exports.bool};let ViewContextMenu=/*#__PURE__*/function(_mix$with5){_inherits3(ViewContextMenu,_mix$with5);var _super77=_createSuper3(ViewContextMenu);function ViewContextMenu(){_classCallCheck3(this,ViewContextMenu);return _super77.apply(this,arguments);}_createClass3(ViewContextMenu,[{key:"render",value:function render(){const seriesItems=getSeriesItems(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this));const customItemsWrapped=this.props.customItems?React__default.default.Children.map(this.props.customItems,child=>React__default.default.cloneElement(child,{onMouseEnter:e=>{this.handleOtherMouseEnter(e);}})):null;return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},customItemsWrapped,customItemsWrapped&&/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),seriesItems,seriesItems&&/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Horizontal Rule"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Vertical Rule"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Cross Rule"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Vertical Cross Section"),this.getSubmenu());}},{key:"hasMatrixTrack",value:function hasMatrixTrack(tracks2){const trackList=expandCombinedTracks(this.props.tracks);return trackList.filter(track=>track.type==="heatmap").length>0;}},{key:"handleAddHorizontalSection",value:function handleAddHorizontalSection(){const trackList=expandCombinedTracks(this.props.tracks);const matrixTrack=trackList.filter(track=>track.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"});this.props.onAddTrack({data:{type:"horizontal-section",server:matrixTrack.server,tilesetUid:matrixTrack.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"});}},{key:"handleAddVerticalSection",value:function handleAddVerticalSection(){const trackList=expandCombinedTracks(this.props.tracks);const matrixTrack=trackList.filter(track=>track.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"});this.props.onAddTrack({data:{type:"vertical-section",server:matrixTrack.server,tilesetUid:matrixTrack.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"});}}]);return ViewContextMenu;}(mix(ContextMenuContainer).with(SeriesListSubmenuMixin));ViewContextMenu.propTypes={coords:propTypes$3.exports.array,customItems:propTypes$3.exports.array};let TiledPlot=/*#__PURE__*/function(_React__default$defau18){_inherits3(TiledPlot,_React__default$defau18);var _super78=_createSuper3(TiledPlot);function TiledPlot(props){var _this92;_classCallCheck3(this,TiledPlot);_this92=_super78.call(this,props);_this92.closing=false;const{tracks:tracks2}=_this92.props;_this92.canvasElement=null;_this92.tracksByUidInit={};[...(_this92.props.tracks.top||[]),...(_this92.props.tracks.right||[]),...(_this92.props.tracks.bottom||[]),...(_this92.props.tracks.left||[]),...(_this92.props.tracks.gallery||[]),...(_this92.props.tracks.center||[])].forEach(track=>{if(track.type==="combined"){track.contents.forEach(track2=>{_this92.tracksByUidInit[track2.uid]=false;});}else{_this92.tracksByUidInit[track.uid]=false;}});_this92.xScale=null;_this92.yScale=null;_this92.addUidsToTracks(tracks2);_this92.trackToReplace=null;_this92.trackRenderer=null;_this92.configTrackMenu=null;_this92.state={sizeMeasured:false,height:10,width:10,tracks:tracks2,init:false,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:false,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null};_this92.reset=true;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}_this92.topHeight=0;_this92.bottomHeight=0;_this92.leftWidth=0;_this92.rightWidth=0;_this92.centerHeight=0;_this92.centerWidth=0;_this92.dragTimeout=null;_this92.previousPropsStr="";_this92.contextMenuHandlerBound=_this92.contextMenuHandler.bind(_assertThisInitialized3(_this92));_this92.handleNoTrackAddedBound=_this92.handleNoTrackAdded.bind(_assertThisInitialized3(_this92));_this92.handleTracksAddedBound=_this92.handleTracksAdded.bind(_assertThisInitialized3(_this92));_this92.closeMenusBound=_this92.closeMenus.bind(_assertThisInitialized3(_this92));_this92.handleAddDivisorBound=_this92.handleAddDivisor.bind(_assertThisInitialized3(_this92));_this92.handleAddSeriesBound=_this92.handleAddSeries.bind(_assertThisInitialized3(_this92));_this92.handleChangeTrackDataBound=_this92.handleChangeTrackData.bind(_assertThisInitialized3(_this92));_this92.handleChangeTrackTypeBound=_this92.handleChangeTrackType.bind(_assertThisInitialized3(_this92));_this92.handleCloseTrackBound=_this92.handleCloseTrack.bind(_assertThisInitialized3(_this92));_this92.handleConfigureTrackBound=_this92.handleConfigureTrack.bind(_assertThisInitialized3(_this92));_this92.handleExportTrackDataBound=_this92.handleExportTrackData.bind(_assertThisInitialized3(_this92));_this92.handleLockValueScaleBound=_this92.handleLockValueScale.bind(_assertThisInitialized3(_this92));_this92.handleReplaceTrackBound=_this92.handleReplaceTrack.bind(_assertThisInitialized3(_this92));_this92.handleTrackOptionsChangedBound=_this92.handleTrackOptionsChanged.bind(_assertThisInitialized3(_this92));_this92.handleUnlockValueScaleBound=_this92.handleUnlockValueScale.bind(_assertThisInitialized3(_this92));_this92.onAddTrack=_this92.handleAddTrack.bind(_assertThisInitialized3(_this92));return _this92;}_createClass3(TiledPlot,[{key:"waitForDOMAttachment",value:function waitForDOMAttachment(callback){if(!this.mounted)return;const thisElement=ReactDOM__default.default.findDOMNode(this);if(document.body.contains(thisElement)){callback();}else{requestAnimationFrame(()=>this.waitForDOMAttachment(callback));}}},{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;this.element=ReactDOM__default.default.findDOMNode(this);this.canvasElement=ReactDOM__default.default.findDOMNode(this.props.canvasElement);this.waitForDOMAttachment(()=>{cssElementQueries.ElementQueries.listen();this.resizeSensor=new cssElementQueries.ResizeSensor(this.element.parentNode,this.measureSize.bind(this));this.measureSize();});this.addEventListeners();this.pubSubs=[];this.pubSubs.push(this.props.pubSub.subscribe("contextmenu",this.contextMenuHandlerBound));}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.addUidsToTracks(newProps.tracks);this.setState({tracks:newProps.tracks});}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){const thisPropsStr=this.previousPropsStr;const nextPropsStr=this.updatablePropsToString(nextProps);const thisStateStr=JSON.stringify(this.state);const nextStateStr=JSON.stringify(nextState);const toUpdate=thisPropsStr!==nextPropsStr||thisStateStr!==nextStateStr||this.props.chooseTrackHandler!==nextProps.chooseTrackHandler||this.props.customDialog!==nextProps.customDialog;if(toUpdate)this.previousPropsStr=nextPropsStr;const numPrevTracks=this.numTracks;this.numTracks=0;visitPositionedTracks(this.props.tracks,()=>this.numTracks++);this.reset=this.reset||numPrevTracks===0&&this.numTracks>0;if(!this.numTracks)this.tracksByUidInit={};return toUpdate;}},{key:"UNSAFE_componentWillUpdate",value:function UNSAFE_componentWillUpdate(){}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(prevState.rangeSelection!==this.state.rangeSelection){let genomicRange=[null,null];if(this.state.defaultChromSizes&&this.state.rangeSelection.every(range2=>range2&&range2.length)){genomicRange=this.state.rangeSelection.map(range2=>dataToGenomicLoci(...range2,this.state.defaultChromSizes));}this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange});}if(this.state.customDialog||this.props.customDialog){const dialogData=this.state.customDialog||this.props.customDialog;if(dialogData.length>0){const componentArray=[];const bodyPropsArray=[];dialogData.forEach(dd=>{componentArray.push(dd.bodyComponent);bodyPropsArray.push(dd.bodyProps);});this.props.modal.open(/* @__PURE__ */React__default.default.createElement(CustomTrackDialog,{children:componentArray,bodyProps:bodyPropsArray,onCancel:this.props.closeCustomDialog,title:dialogData[0].title}));}}if(prevProps.tracks.center!==this.props.tracks.center);if(this.state.addTrackPosition||this.props.addTrackPosition){this.props.modal.open(/* @__PURE__ */React__default.default.createElement(AddTrackDialog,{host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers}));}if(this.state.addDivisorDialog){const series=this.state.addDivisorDialog;this.props.modal.open(/* @__PURE__ */React__default.default.createElement(AddTrackDialog,{datatype:TRACKS_INFO_BY_TYPE[series.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null});},onTracksChosen:newTrack=>{this.handleDivisorChosen(series,newTrack);},trackSourceServers:this.props.trackSourceServers}));}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.closing=true;this.removeEventListeners();this.pubSubs.forEach(subscription=>this.props.pubSub.unsubscribe(subscription));}},{key:"addUidsToTracks",value:function addUidsToTracks(positionedTracks){Object.keys(positionedTracks).forEach(position=>{positionedTracks[position].forEach(track=>{track.uid=track.uid||slugid.nice();});});}},{key:"contextMenuHandler",value:function contextMenuHandler(e){if(!this.divTiledPlot)return;const bBox=this.divTiledPlot.getBoundingClientRect();const isClickWithin=_isWithin(e.clientX,e.clientY,bBox.left,bBox.left+bBox.width,bBox.top,bBox.top+bBox.height);if(!isClickWithin)return;const mousePos=[e.clientX,e.clientY];const canvasMousePos=pointer(e,this.divTiledPlot);const xVal=this.trackRenderer.zoomedXScale.invert(canvasMousePos[0]);const yVal=this.trackRenderer.zoomedYScale.invert(canvasMousePos[1]);let contextMenuCustomItems=null;if(e.hgCustomItems){contextMenuCustomItems=e.hgCustomItems.map(item=>/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:item.key,onClick:item.onClick},item.text));}this.setState({contextMenuCustomItems,contextMenuPosition:{left:mousePos[0],top:mousePos[1],canvasLeft:canvasMousePos[0]+this.trackRenderer.xPositionOffset,canvasTop:canvasMousePos[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:xVal,contextMenuDataY:yVal});}},{key:"measureSize",value:function measureSize(){if(this.element.clientWidth>0&&this.element.clientHeight>0){this.setState({sizeMeasured:true,width:this.element.clientWidth,height:this.element.clientHeight});}}},{key:"handleTrackOptionsChanged",value:function handleTrackOptionsChanged(trackUid,newOptions){return this.props.onTrackOptionsChanged(trackUid,newOptions);}},{key:"handleScalesChanged",value:function handleScalesChanged(x,y){this.xScale=x;this.yScale=y;this.props.onScalesChanged(x,y);}},{key:"handleTilesetInfoReceived",value:function handleTilesetInfoReceived(trackUid,tilesetInfo){const track=getTrackByUid(this.props.tracks,trackUid);if(!track){console.warn("Strange, track not found:",trackUid);return;}this.tracksByUidInit[track.uid]=true;this.checkAllTilesetInfoReceived();if(!track.options){track.options={};}track.name=tilesetInfo.name;track.maxWidth=tilesetInfo.max_width;track.transforms=tilesetInfo.transforms;track.aggregationModes=tilesetInfo.aggregation_modes;track.header=tilesetInfo.header;track.binsPerDimension=tilesetInfo.bins_per_dimension;if(tilesetInfo.resolutions){track.maxZoom=tilesetInfo.resolutions.length-1;track.resolutions=tilesetInfo.resolutions;}else{track.maxZoom=tilesetInfo.max_zoom;}track.coordSystem=tilesetInfo.coordSystem;track.datatype=tilesetInfo.datatype;}},{key:"checkAllTilesetInfoReceived",value:function checkAllTilesetInfoReceived(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit()){return;}const allTracksWithTilesetInfos=Object.keys(this.trackRenderer.trackDefObjects).map(trackUuid=>{const track=this.trackRenderer.trackDefObjects[trackUuid].trackObject;if(track.childTracks)return track.childTracks;return track;}).reduce((a,b)=>a.concat(b),[]).filter(({tilesetInfo})=>typeof tilesetInfo!=="undefined"&&tilesetInfo!==true);const loadedTilesetInfos=Object.values(this.tracksByUidInit).filter(x=>x).length;if(allTracksWithTilesetInfos.length===loadedTilesetInfos){this.setState({init:true});this.reset=false;this.handleZoomToData();}}},{key:"handleOverlayMouseEnter",value:function handleOverlayMouseEnter(uid){this.setState({mouseOverOverlayUid:uid});}},{key:"handleOverlayMouseLeave",value:function handleOverlayMouseLeave(uid){if(uid===this.state.mouseOverOverlayUid){this.setState({mouseOverOverlayUid:null});}}},{key:"handleTrackPositionChosen",value:function handleTrackPositionChosen(pTrack){this.setState({mouseOverOverlayUid:null});this.props.chooseTrackHandler(pTrack.track.uid);}},{key:"handleNoTrackAdded",value:function handleNoTrackAdded(){this.trackToReplace=null;this.props.onNoTrackAdded();this.setState({addTrackPosition:null,addTrackHost:null});}},{key:"handleAddDivisor",value:function handleAddDivisor(series){this.setState({addDivisorDialog:series});}},{key:"handleDivisorChosen",value:function handleDivisorChosen(series,newTrack){this.setState({addDivisorDialog:null});const numerator=series.data?{server:series.data.server,tilesetUid:series.data.tilesetUid}:{server:series.server,tilesetUid:series.tilesetUid};const denominator={server:newTrack[0].server,tilesetUid:newTrack[0].uuid};this.handleChangeTrackData(series.uid,{type:"divided",children:[numerator,denominator]});}},{key:"handleDivideSeries",value:function handleDivideSeries(seriesUid){}},{key:"handleAddSeries",value:function handleAddSeries(trackUid){const trackPosition=getTrackPositionByUid(this.props.tracks,trackUid);const track=getTrackByUid(this.props.tracks,trackUid);this.setState({addTrackPosition:trackPosition,addTrackHost:track});}},{key:"handleReplaceTrack",value:function handleReplaceTrack(uid,orientation2){this.trackToReplace=uid;this.handleAddTrack(orientation2);}},{key:"handleAddTrack",value:function handleAddTrack(position){this.setState({addTrackPosition:position,addTrackHost:null});}},{key:"handleResizeTrack",value:function handleResizeTrack(uid,width,height){const{tracks:tracks2}=this.state;for(const trackType in tracks2){const theseTracks=tracks2[trackType];const filteredTracks=theseTracks.filter(d=>d.uid===uid);if(filteredTracks.length>0){filteredTracks[0].width=width;filteredTracks[0].height=height;}}this.setState({tracks:tracks2,forceUpdate:Math.random()});this.props.onResizeTrack();}},{key:"closeMenus",value:function closeMenus(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null});}},{key:"handleLockValueScale",value:function handleLockValueScale(uid){this.closeMenus();this.props.onLockValueScale(uid);}},{key:"handleUnlockValueScale",value:function handleUnlockValueScale(uid){this.closeMenus();this.props.onUnlockValueScale(uid);}},{key:"handleCloseTrack",value:function handleCloseTrack(uid){this.closeMenus();this.props.onCloseTrack(uid);}},{key:"handleChangeTrackType",value:function handleChangeTrackType(uid,newType){this.closeMenus();this.props.onChangeTrackType(uid,newType);}},{key:"handleChangeTrackData",value:function handleChangeTrackData(uid,newData){this.closeMenus();this.props.onChangeTrackData(uid,newData);}},{key:"handleTracksAdded",value:function handleTracksAdded(newTracks,position,host){if(this.trackToReplace){this.handleCloseTrack(this.trackToReplace);this.trackToReplace=null;}this.props.onTracksAdded(newTracks,position,host);this.setState({addTrackPosition:null,addTrackHost:null});return newTracks;}},{key:"handleCloseTrackMenuOpened",value:function handleCloseTrackMenuOpened(uid,clickPosition){this.setState({closeTrackMenuId:uid,closeTrackMenuLocation:clickPosition});}},{key:"handleCloseContextMenu",value:function handleCloseContextMenu(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null});}},{key:"handleCloseTrackMenuClosed",value:function handleCloseTrackMenuClosed(){this.setState({closeTrackMenuId:null});}},{key:"handleConfigTrackMenuOpened",value:function handleConfigTrackMenuOpened(uid,clickPosition){this.closeMenus();this.setState({configTrackMenuId:uid,configTrackMenuLocation:clickPosition});}},{key:"handleConfigureTrack",value:function handleConfigureTrack(track,configComponent){this.setState({configTrackMenuId:null,trackOptions:{track,configComponent}});this.closeMenus();}},{key:"handleSortEnd",value:function handleSortEnd(sortedTracks){this.setState(prevState=>{const tracks2=prevState.tracks;const positions={};for(let i2=0;i2<sortedTracks.length;i2++){positions[sortedTracks[i2].uid]=i2;}for(const trackType in tracks2){const theseTracks=tracks2[trackType];if(!theseTracks.length){continue;}if(theseTracks[0].uid in positions){const newTracks=new Array(theseTracks.length);for(let i2=0;i2<theseTracks.length;i2++){newTracks[positions[theseTracks[i2].uid]]=theseTracks[i2];}tracks2[trackType]=newTracks;}}return{tracks:tracks2,forceUpdate:Math.random()};});}},{key:"createTracksAndLocations",value:function createTracksAndLocations(){const tracksAndLocations=[];const{tracks:tracks2}=this.state;TRACK_LOCATIONS.forEach(location=>{if(tracks2[location]){tracks2[location].forEach(track=>{if(track.contents){track.contents.forEach(content=>{content.position=location;});}track.position=location;tracksAndLocations.push({track,location});});}});return tracksAndLocations;}},{key:"calculateTrackPosition",value:function calculateTrackPosition(track,location){let top2=this.props.paddingTop;let bottom2=this.props.paddingBottom;let left2=this.props.paddingLeft;let right2=this.props.paddingRight;let width=this.centerWidth;let height=track.height;let offsetX=0;let offsetY=0;switch(location){case"top":left2+=this.leftWidth;for(let i2=0;i2<this.state.tracks.top.length;i2++){if(this.state.tracks.top[i2].uid===track.uid){break;}else{top2+=this.state.tracks.top[i2].height;}}break;case"bottom":left2+=this.leftWidth;top2+=this.topHeight+this.centerHeight+this.galleryDim;for(let i2=0;i2<this.state.tracks.bottom.length;i2++){if(this.state.tracks.bottom[i2].uid===track.uid){break;}else{top2+=this.state.tracks.bottom[i2].height;}}break;case"left":top2+=this.topHeight;width=track.width;height=this.centerHeight;for(let i2=0;i2<this.state.tracks.left.length;i2++){if(this.state.tracks.left[i2].uid===track.uid){break;}else{left2+=this.state.tracks.left[i2].width;}}break;case"right":left2+=this.leftWidth+this.centerWidth+this.galleryDim;top2+=this.topHeight;width=track.width;height=this.centerHeight;for(let i2=0;i2<this.state.tracks.right.length;i2++){if(this.state.tracks.right[i2].uid===track.uid){break;}else{left2+=this.state.tracks.right[i2].width;}}break;case"center":left2+=this.leftWidth;top2+=this.topHeight;height=this.centerHeight;break;case"gallery":left2+=this.leftWidthNoGallery;top2+=this.topHeightNoGallery;width=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft;height=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop;offsetX=this.galleryDim;offsetY=this.galleryDim;for(let i2=0;i2<this.state.tracks.gallery.length;i2++){if(this.state.tracks.gallery[i2].uid===track.uid){break;}else{width-=2*this.state.tracks.gallery[i2].height;height-=2*this.state.tracks.gallery[i2].height;left2+=this.state.tracks.gallery[i2].height;top2+=this.state.tracks.gallery[i2].height;offsetX-=this.state.tracks.gallery[i2].height;offsetY-=this.state.tracks.gallery[i2].height;}}for(let i2=0;i2<this.state.tracks.right.length;i2++){right2+=this.state.tracks.right[i2].width;}for(let i2=0;i2<this.state.tracks.bottom.length;i2++){bottom2+=this.state.tracks.bottom[i2].height;}track.offsetX=offsetX;track.offsetY=offsetY;track.offsetTop=top2;track.offsetRight=right2;track.offsetBottom=bottom2;track.offsetLeft=left2;break;case"whole":default:width=this.leftWidth+this.centerWidth+this.rightWidth;height=this.topHeight+this.centerHeight+this.bottomHeight;}if(TRACK_LOCATIONS.indexOf(location)===-1){console.warn("Track with unknown position present:",location,track);}return{left:left2,top:top2,width,height,track};}},{key:"findCentralHeatmapTrack",value:function findCentralHeatmapTrack(tracks2){for(let i2=0;i2<tracks2.length;i2++){if(tracks2[i2].type==="combined"){return this.findCentralHeatmapTrack(tracks2[i2].contents);}if(tracks2[i2].type==="heatmap")return tracks2[i2];}return void 0;}},{key:"trackUuidToOrientation",value:function trackUuidToOrientation(trackUuid){}},{key:"overlayTracks",value:function overlayTracks(positionedTracks){if(this.props.overlays){const overlayDefs=this.props.overlays.filter(overlayTrack=>overlayTrack.includes&&overlayTrack.includes.length).map(overlayTrack=>{const type2=overlayTrack.type?`overlay-${overlayTrack.type}-track`:"overlay-track";const overlayDef={...overlayTrack,uid:overlayTrack.uid||slugid.nice(),includes:overlayTrack.includes,type:type2,options:Object.assign(overlayTrack.options,{orientationsAndPositions:overlayTrack.includes.map(trackUuid=>{const includedTrack=getTrackByUid(this.props.tracks,trackUuid);if(!includedTrack){console.warn(`OverlayTrack included uid (${trackUuid}) not found in the track list`);return null;}const trackPos=getTrackPositionByUid(this.props.tracks,includedTrack.uid);let orientation2;if(trackPos==="top"||trackPos==="bottom"){orientation2="1d-horizontal";}if(trackPos==="left"||trackPos==="right"){orientation2="1d-vertical";}if(trackPos==="center"){orientation2="2d";}if(!orientation2){console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment");return null;}const positionedTrack=positionedTracks.filter(track=>track.track.uid===trackUuid);if(!positionedTrack.length){return null;}const position={left:positionedTrack[0].left-this.props.paddingLeft,top:positionedTrack[0].top-this.props.paddingTop,width:positionedTrack[0].width,height:positionedTrack[0].height};return{orientation:orientation2,position};}).filter(x=>x)})};return{top:this.props.paddingTop,left:this.props.paddingLeft,width:this.leftWidth+this.centerWidth+this.rightWidth,height:this.topHeight+this.centerHeight+this.bottomHeight+this.props.marginTop+this.props.marginBottom,track:overlayDef};});return overlayDefs;}return[];}},{key:"positionedTracks",value:function positionedTracks(){const tracksAndLocations=this.createTracksAndLocations().map(({track,location})=>this.calculateTrackPosition(track,location));return tracksAndLocations;}},{key:"createTrackPositionTexts",value:function createTrackPositionTexts(){const positionedTracks=this.positionedTracks();this.createTracksAndLocations();const trackElements=positionedTracks.map(trackPosition=>{const{track}=trackPosition;return/* @__PURE__ */React__default.default.createElement("div",{key:track.uid,style:{left:trackPosition.left,top:trackPosition.top,width:trackPosition.width,height:trackPosition.height,position:"absolute"}},track.uid.slice(0,2));});return trackElements;}},{key:"handleExportTrackData",value:function handleExportTrackData(hostTrackUid,trackUid){const track=getTrackByUid(this.props.tracks,trackUid);let trackObject=null;if(hostTrackUid!==trackUid){trackObject=this.trackRenderer.trackDefObjects[hostTrackUid].trackObject.createdTracks[track.uid];}else{({trackObject}=this.trackRenderer.trackDefObjects[hostTrackUid]);}trackObject.exportData();this.closeMenus();}},{key:"listTracksAtPosition",value:function listTracksAtPosition(x,y,isReturnTrackObj=false){const trackObjectsAtPosition=[];if(!this.trackRenderer)return[];for(const uid in this.trackRenderer.trackDefObjects){const trackObj=this.trackRenderer.trackDefObjects[uid].trackObject;if(trackObj.respondsToPosition(x,y)){if(isReturnTrackObj){if(this.props.tracks.center){if(this.props.tracks.center.contents){for(let i2=0;i2<this.props.tracks.center.contents.length;i2++){if(this.props.tracks.center.contents[i2].uid===uid){trackObj.is2d=true;}}}else if(this.props.tracks.center&&this.props.tracks.center.length&&this.props.tracks.center[0].uid===uid){trackObj.is2d=true;}}trackObjectsAtPosition.push(trackObj);}else{trackObjectsAtPosition.push(this.trackRenderer.trackDefObjects[uid].trackDef.track);}}}return trackObjectsAtPosition;}},{key:"listAllTrackObjects",value:function listAllTrackObjects(){const trackObjectsToCheck=[];for(const uid in this.trackRenderer.trackDefObjects){const tdo=this.trackRenderer.trackDefObjects[uid];if(tdo.trackObject.createdTracks){for(const uid1 in tdo.trackObject.createdTracks){const trackObject=tdo.trackObject.createdTracks[uid1];trackObjectsToCheck.push(trackObject);}}else{trackObjectsToCheck.push(tdo.trackObject);}}return trackObjectsToCheck;}},{key:"handleZoomToData",value:function handleZoomToData(){const maxSafeInt=Number.MAX_SAFE_INTEGER;const minSafeInt=Number.MIN_SAFE_INTEGER;const minPos=[maxSafeInt,maxSafeInt];const maxPos=[minSafeInt,minSafeInt];const trackObjectsToCheck=this.listAllTrackObjects();for(const trackObject of trackObjectsToCheck){if(trackObject.tilesetInfo){if(trackObject.tilesetInfo.min_pos){for(let j=0;j<trackObject.tilesetInfo.min_pos.length;j++){if(trackObject.tilesetInfo.min_pos[j]<minPos[j]){minPos[j]=trackObject.tilesetInfo.min_pos[j];}if(trackObject.tilesetInfo.max_pos[j]>maxPos[j]){maxPos[j]=trackObject.tilesetInfo.max_pos[j];}}}}}const left2=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let newXDomain=[left2,left2+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const top2=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let newYDomain=[top2,top2+this.trackRenderer.currentProps.centerHeight].map(this.trackRenderer.zoomTransform.rescaleY(this.trackRenderer.yScale).invert);this.trackRenderer.zoomTransform.k=1;this.trackRenderer.zoomTransform.x=0;this.trackRenderer.zoomTransform.y=0;this.trackRenderer.applyZoomTransform();if(minPos[0]<Number.MAX_SAFE_INTEGER&&maxPos[0]>Number.MIN_SAFE_INTEGER){newXDomain=[minPos[0],maxPos[0]];}if(minPos[1]<Number.MAX_SAFE_INTEGER&&maxPos[1]>Number.MIN_SAFE_INTEGER){newYDomain=[minPos[1],maxPos[1]];}this.props.onDataDomainChanged(newXDomain,newYDomain);}},{key:"resetViewport",value:function resetViewport(){this.trackRenderer.zoomTransform.k=1;this.trackRenderer.zoomTransform.x=0;this.trackRenderer.zoomTransform.y=0;this.trackRenderer.applyZoomTransform();this.props.onDataDomainChanged(this.props.initialXDomain,this.props.initialYDomain);}},{key:"updatablePropsToString",value:function updatablePropsToString(props){return JSON.stringify({tracks:props.tracks,overlays:props.overlays,viewOptions:props.viewOptions,uid:props.uid,addTrackPosition:props.addTrackPosition,editable:props.editable,marginTop:props.marginTop,marginBottom:props.marginBottom,marginLeft:props.marginLeft,marginRight:props.marginRight,paddingTop:props.paddingTop,paddingBottom:props.paddingBottom,paddingLeft:props.paddingLeft,paddingRight:props.paddingRight,mouseTool:props.mouseTool,initialXDomain:props.initialXDomain,initialYDomain:props.initialYDomain,trackSourceServers:props.trackSourceServers,zoomable:props.zoomable,draggingHappening:props.draggingHappening});}},{key:"getXYScales",value:function getXYScales(){if(this.trackRenderer){this.xScale=this.trackRenderer.currentXScale;this.yScale=this.trackRenderer.currentYScale;}}},{key:"rangeViewToDataLoci",value:function rangeViewToDataLoci(range2,scale){if(!scale)return[null,null];return[parseInt(scale.invert(range2[0]),10),parseInt(scale.invert(range2[1]),10)];}},{key:"rangeSelectionResetHandler",value:function rangeSelectionResetHandler(){if(this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:false});}}},{key:"rangeSelection1dEndHandler",value:function rangeSelection1dEndHandler(axis2){if(!this.xScale||!this.yScale){this.getXYScales();}const scale=axis2==="x"?this.xScale:this.yScale;return range2=>{this.setState(prevState=>{const newRangeSelection=prevState.is1dRangeSelection?[null,null]:prevState.rangeSelection.slice();const accessor=!this.state.is1dRangeSelection&&axis2==="y"?1:0;let dataPos=this.rangeViewToDataLoci(range2,scale);const size=dataPos[1]-dataPos[0];if(this.props.rangeSelection1dSize[0]>size){const center2=dataPos[0]+size/2;dataPos=[center2-this.props.rangeSelection1dSize[0]/2,center2+this.props.rangeSelection1dSize[0]/2];}else if(this.props.rangeSelection1dSize[1]<size){const center2=dataPos[0]+size/2;dataPos=[center2-this.props.rangeSelection1dSize[1]/2,center2+this.props.rangeSelection1dSize[1]/2];}newRangeSelection[accessor]=dataPos;if(this.props.rangeSelectionToInt){newRangeSelection[accessor]=newRangeSelection[accessor].map(x=>Math.round(x));}return{rangeSelection:newRangeSelection,rangeSelectionEnd:true};});};}},{key:"rangeSelection1dHandler",value:function rangeSelection1dHandler(axis2){if(!this.xScale||!this.yScale)this.getXYScales();const scale=axis2==="x"?this.xScale:this.yScale;return range2=>{this.setState(prevState=>{const newRangeSelection=prevState.is1dRangeSelection?[null,null]:prevState.rangeSelection.slice();const accessor=!prevState.is1dRangeSelection&&axis2==="y"?1:0;newRangeSelection[accessor]=this.rangeViewToDataLoci(range2,scale);return{rangeSelection:newRangeSelection,rangeSelectionEnd:false};});};}},{key:"rangeSelection1dStartHandler",value:function rangeSelection1dStartHandler(){if(!this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:true,rangeSelectionMaster:true,rangeSelectionEnd:false});}}},{key:"rangeSelection2dHandler",value:function rangeSelection2dHandler(range2){if(!this.xScale||!this.yScale)this.getXYScales();this.setState({rangeSelection:[this.rangeViewToDataLoci(range2[0],this.xScale),this.rangeViewToDataLoci(range2[1],this.yScale)],rangeSelectionEnd:false});}},{key:"rangeSelection2dStartHandler",value:function rangeSelection2dStartHandler(){if(!this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:false,rangeSelectionMaster:true,rangeSelectionEnd:false});}}},{key:"rangeSelection2dEndHandler",value:function rangeSelection2dEndHandler(range2){if(!this.xScale||!this.yScale)this.getXYScales();const dataPosX=this.rangeViewToDataLoci(range2[0],this.xScale);const dataPosY=this.rangeViewToDataLoci(range2[1],this.yScale);let dataPos=[dataPosX,dataPosY];const sizeX=dataPosX[1]-dataPosX[0];const sizeY=dataPosY[1]-dataPosY[0];const size=[sizeX,sizeY];dataPos.forEach((pos,i2)=>{if(this.props.rangeSelection1dSize[0]>size[i2]){const center2=pos[0]+Math.round(size[i2]/2);pos[0]=center2-this.props.rangeSelection1dSize[0]/2;pos[1]=center2+this.props.rangeSelection1dSize[0]/2;}else if(this.props.rangeSelection1dSize[1]<size[i2]){const center2=pos[0]+Math.round(size[i2]/2);pos[0]=center2-this.props.rangeSelection1dSize[1]/2;pos[1]=center2+this.props.rangeSelection1dSize[1]/2;}});if(this.props.rangeSelectionToInt){dataPos=dataPos.map(x=>x.map(y=>Math.round(y)));}this.setState({rangeSelection:dataPos,rangeSelectionEnd:true});}},{key:"getContextMenu",value:function getContextMenu(){if(this.state.contextMenuPosition){const relevantTracks=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.closeMenusBound},/* @__PURE__ */React__default.default.createElement(ViewContextMenu,{closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:newTrack=>{this.props.onTracksAdded([newTrack],newTrack.position,null);this.handleCloseContextMenu();},onChangeTrackData:this.handleChangeTrackDataBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,orientation:"right",position:this.state.contextMenuPosition,theme:this.props.theme,tracks:relevantTracks,trackSourceServers:this.props.trackSourceServers}));}return null;}},{key:"getIdealizedTrackPositionsOverlay",value:function getIdealizedTrackPositionsOverlay(){const evtJson=this.props.draggingHappening;const datatype=evtJson.datatype;if(!(datatype in DEFAULT_TRACKS_FOR_DATATYPE)&&!evtJson.defaultTracks){console.warn("unknown data type:",evtJson.higlassTrack);return void 0;}const orientationToPositions={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]};const defaultTracks=DEFAULT_TRACKS_FOR_DATATYPE[datatype]||{};if(evtJson.defaultTracks){for(const trackType of evtJson.defaultTracks){if(!TRACKS_INFO_BY_TYPE[trackType]){console.warn("unknown track type",trackType);}else{for(const position of orientationToPositions[TRACKS_INFO_BY_TYPE[trackType].orientation]){defaultTracks[position]=trackType;}}}}const presentTracks=new Set(["top","left","right","center","bottom"].filter(x=>x in this.state.tracks&&this.state.tracks[x].length));const topAllowed=("top"in defaultTracks);const leftAllowed=("left"in defaultTracks);const rightAllowed=("right"in defaultTracks);const bottomAllowed=("bottom"in defaultTracks);const centerAllowed=("center"in defaultTracks);const hasVerticalComponent="center"in defaultTracks||presentTracks.has("left")||presentTracks.has("right")||presentTracks.has("center");const topDisplayed=("top"in defaultTracks);const bottomDisplayed="bottom"in defaultTracks&&hasVerticalComponent;const leftDisplayed="left"in defaultTracks&&hasVerticalComponent;const rightDisplayed="right"in defaultTracks&&hasVerticalComponent;const centerDisplayed=Object.keys(defaultTracks).length&&("center"in defaultTracks||hasVerticalComponent);const topLeftDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{flexGrow:1}});const topRightDiv=React__default.default.cloneElement(topLeftDiv);const topDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",flexGrow:1}},topDisplayed&&(centerDisplayed||leftDisplayed)?topLeftDiv:null,/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.top,draggingHappening:this.props.draggingHappening,enabled:topAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"top"),style:{border:"1px solid black",flexGrow:1}}),topDisplayed&&(centerDisplayed||leftDisplayed)?topRightDiv:null);const bottomDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",flexGrow:1}},topDisplayed&&(centerDisplayed||leftDisplayed)?topLeftDiv:null,/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.bottom,draggingHappening:this.props.draggingHappening,enabled:bottomAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"bottom"),style:{border:"1px solid black",flexGrow:1}}),topDisplayed&&(centerDisplayed||leftDisplayed)?topRightDiv:null);const leftDiv=/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.left,draggingHappening:this.props.draggingHappening,enabled:leftAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"left"),style:{border:"1px solid black",flexGrow:1}});const centerDiv=/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.center,draggingHappening:this.props.draggingHappening,enabled:centerAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}});const rightDiv=React__default.default.cloneElement(leftDiv,{defaultTrackType:defaultTracks.right,enabled:rightAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"right")});return/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:0.4}}),/* @__PURE__ */React__default.default.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},topDisplayed?topDiv:null,hasVerticalComponent&&/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",height:topDisplayed||bottomDisplayed?"40%":"100%",width:"100%"}},leftDisplayed?leftDiv:null,centerDisplayed?centerDiv:null,rightDisplayed?rightDiv:null),bottomDisplayed?bottomDiv:null));}},{key:"render",value:function render(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(x=>x.height).reduce(sum,0):0;this.topHeightNoGallery=this.props.tracks.top.map(x=>x.height).reduce(sum,0);this.topHeight=this.topHeightNoGallery+this.galleryDim;this.bottomHeightNoGallery=this.props.tracks.bottom.map(x=>x.height).reduce(sum,0);this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim;this.leftWidthNoGallery=this.props.tracks.left.map(x=>x.width).reduce(sum,0);this.leftWidth=this.leftWidthNoGallery+this.galleryDim;this.rightWidthNoGallery=this.props.tracks.right.map(x=>x.width).reduce(sum,0);this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const verticalPadding=this.props.paddingTop+this.props.paddingBottom;const horizontalPadding=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(0,this.state.height-this.topHeight-this.bottomHeight-verticalPadding);this.centerWidth=Math.max(0,this.state.width-this.leftWidth-this.rightWidth-horizontalPadding);const trackOutline="none";const topTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"top-track-container",style:{left:this.leftWidth+this.props.paddingLeft,top:this.props.paddingTop,width:this.centerWidth,height:this.topHeightNoGallery,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(HorizontalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth}));const leftTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"left-track-container",style:{left:this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.leftWidthNoGallery,height:this.centerHeight,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(VerticalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left}));const rightTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"right-track-container",style:{right:this.props.paddingRight,top:this.topHeight+this.props.paddingTop,width:this.rightWidthNoGallery,height:this.centerHeight,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(VerticalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:true}));const bottomTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"bottom-track-container",style:{left:this.leftWidth+this.props.paddingLeft,bottom:this.props.paddingBottom,width:this.centerWidth,height:this.bottomHeightNoGallery,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(HorizontalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth}));const galleryTracks=/* @__PURE__ */React__default.default.createElement("div",{key:"galleryTracksDiv",className:"gallery-track-container",style:{left:this.leftWidthNoGallery+this.props.paddingLeft,top:this.topHeightNoGallery+this.props.paddingTop,width:this.centerWidth+2*this.galleryDim,height:this.centerHeight+2*this.galleryDim,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(GalleryTracks,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight+2*this.galleryDim,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),tracks:this.props.tracks.gallery,width:this.centerWidth+2*this.galleryDim}));let centerTrack=/* @__PURE__ */React__default.default.createElement("div",{className:["center-track-container",stylesCenterTrack["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:trackOutline}});if(this.props.tracks.center.length){centerTrack=/* @__PURE__ */React__default.default.createElement("div",{className:["center-track-container",stylesCenterTrack["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:trackOutline}},/* @__PURE__ */React__default.default.createElement(CenterTrack,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection2dStartHandler.bind(this),onRangeSelectionX:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionXEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionXY:this.rangeSelection2dHandler.bind(this),onRangeSelectionXYEnd:this.rangeSelection2dEndHandler.bind(this),onRangeSelectionY:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionYEnd:this.rangeSelection1dEndHandler("y").bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,scaleX:this.xScale,scaleY:this.yScale,tracks:this.props.tracks.center,uid:this.props.tracks.center[0].uid,width:this.centerWidth}));}this.createTrackPositionTexts();let positionedTracks=this.positionedTracks();positionedTracks=positionedTracks.concat(this.overlayTracks(positionedTracks));let trackRenderer=null;if(this.state.sizeMeasured){trackRenderer=/* @__PURE__ */React__default.default.createElement(TrackRenderer$1,{ref:c2=>{this.trackRenderer=c2;this.checkAllTilesetInfoReceived();},canvasElement:this.canvasElement,centerHeight:this.centerHeight,centerWidth:this.centerWidth,disableTrackMenu:this.props.disableTrackMenu,dragging:this.props.dragging,galleryDim:this.galleryDim,getLockGroupExtrema:this.props.getLockGroupExtrema,height:this.state.height,initialXDomain:this.props.initialXDomain,initialYDomain:this.props.initialYDomain,isRangeSelection:this.props.mouseTool===MOUSE_TOOL_SELECT,isShowGlobalMousePosition:this.props.isShowGlobalMousePosition,isValueScaleLocked:this.props.isValueScaleLocked,leftWidth:this.leftWidth,leftWidthNoGallery:this.leftWidthNoGallery,metaTracks:this.props.metaTracks,onMouseMoveZoom:this.props.onMouseMoveZoom,onNewTilesLoaded:this.props.onNewTilesLoaded,onScalesChanged:this.handleScalesChanged.bind(this),onTilesetInfoReceived:this.handleTilesetInfoReceived.bind(this),onTrackOptionsChanged:this.handleTrackOptionsChanged.bind(this),onValueScaleChanged:this.props.onValueScaleChanged,paddingLeft:this.props.paddingLeft,paddingTop:this.props.paddingTop,pixiRenderer:this.props.pixiRenderer,pixiStage:this.props.pixiStage,pluginDataFetchers:this.props.pluginDataFetchers,pluginTracks:this.props.pluginTracks,positionedTracks,registerDraggingChangedListener:this.props.registerDraggingChangedListener,removeDraggingChangedListener:this.props.removeDraggingChangedListener,setCentersFunction:this.props.setCentersFunction,svgElement:this.props.svgElement,topHeight:this.topHeight,topHeightNoGallery:this.topHeightNoGallery,uid:this.props.uid,viewOptions:this.props.viewOptions,width:this.state.width,xDomainLimits:this.props.xDomainLimits,yDomainLimits:this.props.yDomainLimits,zoomable:this.props.zoomable,zoomLimits:this.props.zoomLimits},topTracks,leftTracks,rightTracks,bottomTracks,galleryTracks,centerTrack);}let configTrackMenu=null;let closeTrackMenu=null;if(this.state.configTrackMenuId){configTrackMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.closeMenusBound},/* @__PURE__ */React__default.default.createElement(ConfigTrackMenu,{ref:c2=>{this.configTrackMenu=c2;},closeMenu:this.closeMenusBound,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:this.handleAddTrackBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,position:this.state.configTrackMenuLocation,theme:this.props.theme,trackOrientation:getTrackPositionByUid(this.props.tracks,this.state.configTrackMenuId),tracks:[getTrackByUid(this.props.tracks,this.state.configTrackMenuId)]}));}if(this.state.closeTrackMenuId){closeTrackMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},/* @__PURE__ */React__default.default.createElement(ContextMenuContainer,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},/* @__PURE__ */React__default.default.createElement(CloseTrackMenu,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[getTrackByUid(this.props.tracks,this.state.closeTrackMenuId)]})));}let overlays=null;if(this.props.chooseTrackHandler){overlays=positionedTracks.filter(pTrack=>pTrack.track.position!=="whole").map(pTrack=>{let background="transparent";let border="none";if(this.state.mouseOverOverlayUid===pTrack.track.uid){background="yellow";border="1px solid black";}return/* @__PURE__ */React__default.default.createElement("div",{key:pTrack.track.uid,className:"tiled-plot-track-overlay",onClick:()=>this.handleTrackPositionChosen(pTrack),onDragEnter:evt=>{this.handleOverlayMouseEnter(pTrack.track.uid);evt.preventDefault();},onDragLeave:()=>this.handleOverlayMouseLeave(pTrack.track.uid),onDragOver:evt=>evt.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(pTrack),onMouseEnter:()=>this.handleOverlayMouseEnter(pTrack.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(pTrack.track.uid),style:{position:"absolute",left:pTrack.left,top:pTrack.top,width:pTrack.width,height:pTrack.height,background,opacity:0.4,border,zIndex:1}});});}let trackOptionsElement=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const configComponent=this.state.trackOptions.configComponent;const track=this.state.trackOptions.track;trackOptionsElement=React__default.default.createElement(configComponent,{track,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null});},onTrackOptionsChanged:newOptions=>newOptions,onSubmit:newOptions=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,newOptions);this.setState({trackOptions:null});}});}return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.divTiledPlot=c2;},className:["tiled-plot-div",styles$5["tiled-plot"]].join(" "),style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},trackRenderer,overlays,configTrackMenu,closeTrackMenu,trackOptionsElement,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay());}},{key:"addEventListeners",value:function addEventListeners(){this.eventListeners=[];this.eventListeners.forEach(event=>document.addEventListener(event.name,event.callback,false));}},{key:"removeEventListeners",value:function removeEventListeners(){this.eventListeners.forEach(event=>document.removeEventListener(event.name,event.callback));}}]);return TiledPlot;}(React__default.default.Component);TiledPlot.defaultProps={isShowGlobalMousePosition:false,pluginDataFetchers:{},pluginTracks:{},metaTracks:[],zoomable:true};TiledPlot.propTypes={addTrackPosition:propTypes$3.exports.string,canvasElement:propTypes$3.exports.object,chooseTrackHandler:propTypes$3.exports.func,chromInfoPath:propTypes$3.exports.string,disableTrackMenu:propTypes$3.exports.bool,dragging:propTypes$3.exports.bool,draggingHappening:propTypes$3.exports.bool,editable:propTypes$3.exports.bool,getLockGroupExtrema:propTypes$3.exports.func,initialXDomain:propTypes$3.exports.array,initialYDomain:propTypes$3.exports.array,isShowGlobalMousePosition:propTypes$3.exports.bool,isValueScaleLocked:propTypes$3.exports.func,marginBottom:propTypes$3.exports.number.isRequired,marginLeft:propTypes$3.exports.number.isRequired,marginRight:propTypes$3.exports.number.isRequired,marginTop:propTypes$3.exports.number.isRequired,paddingBottom:propTypes$3.exports.number.isRequired,paddingLeft:propTypes$3.exports.number.isRequired,paddingRight:propTypes$3.exports.number.isRequired,paddingTop:propTypes$3.exports.number.isRequired,metaTracks:propTypes$3.exports.array,modal:propTypes$3.exports.object,mouseTool:propTypes$3.exports.string,onCloseTrack:propTypes$3.exports.func,onChangeTrackData:propTypes$3.exports.func,onChangeTrackType:propTypes$3.exports.func,onDataDomainChanged:propTypes$3.exports.func,onLockValueScale:propTypes$3.exports.func,onMouseMoveZoom:propTypes$3.exports.func,onNewTilesLoaded:propTypes$3.exports.func,onNoTrackAdded:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func.isRequired,onScalesChanged:propTypes$3.exports.func,onTrackOptionsChanged:propTypes$3.exports.func,onTrackPositionChosen:propTypes$3.exports.func,onTracksAdded:propTypes$3.exports.func,onUnlockValueScale:propTypes$3.exports.func,onValueScaleChanged:propTypes$3.exports.func,onResizeTrack:propTypes$3.exports.func,overlays:propTypes$3.exports.array,openModal:propTypes$3.exports.func,pixiRenderer:propTypes$3.exports.object,pixiStage:propTypes$3.exports.object,pluginDataFetchers:propTypes$3.exports.object,pluginTracks:propTypes$3.exports.object,pubSub:propTypes$3.exports.object.isRequired,rangeSelection1dSize:propTypes$3.exports.array,rangeSelectionToInt:propTypes$3.exports.bool,registerDraggingChangedListener:propTypes$3.exports.func,removeDraggingChangedListener:propTypes$3.exports.func,setCentersFunction:propTypes$3.exports.func,svgElement:propTypes$3.exports.object,theme:propTypes$3.exports.symbol.isRequired,tracks:propTypes$3.exports.object,trackSourceServers:propTypes$3.exports.array,uid:propTypes$3.exports.string,viewOptions:propTypes$3.exports.object,xDomainLimits:propTypes$3.exports.array,yDomainLimits:propTypes$3.exports.array,zoomable:propTypes$3.exports.bool,zoomLimits:propTypes$3.exports.array,zoomToDataExtentOnInit:propTypes$3.exports.func};const TiledPlot$1=withPubSub(withModal(withTheme(TiledPlot)));var lib$1={exports:{}};var _extends$1=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj;};var RE_NUM=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;function getClientPosition(elem){var box=void 0;var x=void 0;var y=void 0;var doc=elem.ownerDocument;var body=doc.body;var docElem=doc&&doc.documentElement;box=elem.getBoundingClientRect();x=box.left;y=box.top;x-=docElem.clientLeft||body.clientLeft||0;y-=docElem.clientTop||body.clientTop||0;return{left:x,top:y};}function getScroll(w,top2){var ret=w["page"+(top2?"Y":"X")+"Offset"];var method="scroll"+(top2?"Top":"Left");if(typeof ret!=="number"){var d=w.document;ret=d.documentElement[method];if(typeof ret!=="number"){ret=d.body[method];}}return ret;}function getScrollLeft(w){return getScroll(w);}function getScrollTop(w){return getScroll(w,true);}function getOffset(el){var pos=getClientPosition(el);var doc=el.ownerDocument;var w=doc.defaultView||doc.parentWindow;pos.left+=getScrollLeft(w);pos.top+=getScrollTop(w);return pos;}function _getComputedStyle(elem,name,computedStyle_){var val2="";var d=elem.ownerDocument;var computedStyle=computedStyle_||d.defaultView.getComputedStyle(elem,null);if(computedStyle){val2=computedStyle.getPropertyValue(name)||computedStyle[name];}return val2;}var _RE_NUM_NO_PX=new RegExp("^("+RE_NUM+")(?!px)[a-z%]+$","i");var RE_POS=/^(top|right|bottom|left)$/;var CURRENT_STYLE="currentStyle";var RUNTIME_STYLE="runtimeStyle";var LEFT="left";var PX="px";function _getComputedStyleIE(elem,name){var ret=elem[CURRENT_STYLE]&&elem[CURRENT_STYLE][name];if(_RE_NUM_NO_PX.test(ret)&&!RE_POS.test(name)){var style=elem.style;var left2=style[LEFT];var rsLeft=elem[RUNTIME_STYLE][LEFT];elem[RUNTIME_STYLE][LEFT]=elem[CURRENT_STYLE][LEFT];style[LEFT]=name==="fontSize"?"1em":ret||0;ret=style.pixelLeft+PX;style[LEFT]=left2;elem[RUNTIME_STYLE][LEFT]=rsLeft;}return ret===""?"auto":ret;}var getComputedStyleX=void 0;if(typeof window!=="undefined"){getComputedStyleX=window.getComputedStyle?_getComputedStyle:_getComputedStyleIE;}function each(arr,fn){for(var i2=0;i2<arr.length;i2++){fn(arr[i2]);}}function isBorderBoxFn(elem){return getComputedStyleX(elem,"boxSizing")==="border-box";}var BOX_MODELS=["margin","border","padding"];var CONTENT_INDEX=-1;var PADDING_INDEX=2;var BORDER_INDEX=1;var MARGIN_INDEX=0;function swap(elem,options2,callback){var old={};var style=elem.style;var name=void 0;for(name in options2){if(options2.hasOwnProperty(name)){old[name]=style[name];style[name]=options2[name];}}callback.call(elem);for(name in options2){if(options2.hasOwnProperty(name)){style[name]=old[name];}}}function getPBMWidth(elem,props,which){var value2=0;var prop2=void 0;var j=void 0;var i2=void 0;for(j=0;j<props.length;j++){prop2=props[j];if(prop2){for(i2=0;i2<which.length;i2++){var cssProp=void 0;if(prop2==="border"){cssProp=prop2+which[i2]+"Width";}else{cssProp=prop2+which[i2];}value2+=parseFloat(getComputedStyleX(elem,cssProp))||0;}}}return value2;}function isWindow(obj){return obj!=null&&obj==obj.window;}var domUtils={};each(["Width","Height"],function(name){domUtils["doc"+name]=function(refWin){var d=refWin.document;return Math.max(d.documentElement["scroll"+name],d.body["scroll"+name],domUtils["viewport"+name](d));};domUtils["viewport"+name]=function(win){var prop2="client"+name;var doc=win.document;var body=doc.body;var documentElement=doc.documentElement;var documentElementProp=documentElement[prop2];return doc.compatMode==="CSS1Compat"&&documentElementProp||body&&body[prop2]||documentElementProp;};});function getWH(elem,name,extra){if(isWindow(elem)){return name==="width"?domUtils.viewportWidth(elem):domUtils.viewportHeight(elem);}else if(elem.nodeType===9){return name==="width"?domUtils.docWidth(elem):domUtils.docHeight(elem);}var which=name==="width"?["Left","Right"]:["Top","Bottom"];var borderBoxValue=name==="width"?elem.offsetWidth:elem.offsetHeight;getComputedStyleX(elem);var isBorderBox=isBorderBoxFn(elem);var cssBoxValue=0;if(borderBoxValue==null||borderBoxValue<=0){borderBoxValue=void 0;cssBoxValue=getComputedStyleX(elem,name);if(cssBoxValue==null||Number(cssBoxValue)<0){cssBoxValue=elem.style[name]||0;}cssBoxValue=parseFloat(cssBoxValue)||0;}if(extra===void 0){extra=isBorderBox?BORDER_INDEX:CONTENT_INDEX;}var borderBoxValueOrIsBorderBox=borderBoxValue!==void 0||isBorderBox;var val2=borderBoxValue||cssBoxValue;if(extra===CONTENT_INDEX){if(borderBoxValueOrIsBorderBox){return val2-getPBMWidth(elem,["border","padding"],which);}return cssBoxValue;}if(borderBoxValueOrIsBorderBox){var padding=extra===PADDING_INDEX?-getPBMWidth(elem,["border"],which):getPBMWidth(elem,["margin"],which);return val2+(extra===BORDER_INDEX?0:padding);}return cssBoxValue+getPBMWidth(elem,BOX_MODELS.slice(extra),which);}var cssShow={position:"absolute",visibility:"hidden",display:"block"};function getWHIgnoreDisplay(elem){var val2=void 0;var args=arguments;if(elem.offsetWidth!==0){val2=getWH.apply(void 0,args);}else{swap(elem,cssShow,function(){val2=getWH.apply(void 0,args);});}return val2;}function css(el,name,v){var value2=v;if((typeof name==="undefined"?"undefined":_typeof(name))==="object"){for(var i2 in name){if(name.hasOwnProperty(i2)){css(el,i2,name[i2]);}}return void 0;}if(typeof value2!=="undefined"){if(typeof value2==="number"){value2+="px";}el.style[name]=value2;return void 0;}return getComputedStyleX(el,name);}each(["width","height"],function(name){var first2=name.charAt(0).toUpperCase()+name.slice(1);domUtils["outer"+first2]=function(el,includeMargin){return el&&getWHIgnoreDisplay(el,name,includeMargin?MARGIN_INDEX:BORDER_INDEX);};var which=name==="width"?["Left","Right"]:["Top","Bottom"];domUtils[name]=function(elem,val2){if(val2!==void 0){if(elem){getComputedStyleX(elem);var isBorderBox=isBorderBoxFn(elem);if(isBorderBox){val2+=getPBMWidth(elem,["padding","border"],which);}return css(elem,name,val2);}return void 0;}return elem&&getWHIgnoreDisplay(elem,name,CONTENT_INDEX);};});function setOffset(elem,offset){if(css(elem,"position")==="static"){elem.style.position="relative";}var old=getOffset(elem);var ret={};var current=void 0;var key=void 0;for(key in offset){if(offset.hasOwnProperty(key)){current=parseFloat(css(elem,key))||0;ret[key]=current+offset[key]-old[key];}}css(elem,ret);}var util$7=_extends$1({getWindow:function getWindow(node2){var doc=node2.ownerDocument||node2;return doc.defaultView||doc.parentWindow;},offset:function offset(el,value2){if(typeof value2!=="undefined"){setOffset(el,value2);}else{return getOffset(el);}},isWindow,each,css,clone:function clone2(obj){var ret={};for(var i2 in obj){if(obj.hasOwnProperty(i2)){ret[i2]=obj[i2];}}var overflow=obj.overflow;if(overflow){for(var i2 in obj){if(obj.hasOwnProperty(i2)){ret.overflow[i2]=obj.overflow[i2];}}}return ret;},scrollLeft:function scrollLeft(w,v){if(isWindow(w)){if(v===void 0){return getScrollLeft(w);}window.scrollTo(v,getScrollTop(w));}else{if(v===void 0){return w.scrollLeft;}w.scrollLeft=v;}},scrollTop:function scrollTop(w,v){if(isWindow(w)){if(v===void 0){return getScrollTop(w);}window.scrollTo(getScrollLeft(w),v);}else{if(v===void 0){return w.scrollTop;}w.scrollTop=v;}},viewportWidth:0,viewportHeight:0},domUtils);var util$6=util$7;function scrollIntoView$1(elem,container,config){config=config||{};if(container.nodeType===9){container=util$6.getWindow(container);}var allowHorizontalScroll=config.allowHorizontalScroll;var onlyScrollIfNeeded=config.onlyScrollIfNeeded;var alignWithTop=config.alignWithTop;var alignWithLeft=config.alignWithLeft;var offsetTop=config.offsetTop||0;var offsetLeft=config.offsetLeft||0;var offsetBottom=config.offsetBottom||0;var offsetRight=config.offsetRight||0;allowHorizontalScroll=allowHorizontalScroll===void 0?true:allowHorizontalScroll;var isWin=util$6.isWindow(container);var elemOffset=util$6.offset(elem);var eh=util$6.outerHeight(elem);var ew=util$6.outerWidth(elem);var containerOffset=void 0;var ch=void 0;var cw=void 0;var containerScroll=void 0;var diffTop=void 0;var diffBottom=void 0;var win=void 0;var winScroll=void 0;var ww=void 0;var wh=void 0;if(isWin){win=container;wh=util$6.height(win);ww=util$6.width(win);winScroll={left:util$6.scrollLeft(win),top:util$6.scrollTop(win)};diffTop={left:elemOffset.left-winScroll.left-offsetLeft,top:elemOffset.top-winScroll.top-offsetTop};diffBottom={left:elemOffset.left+ew-(winScroll.left+ww)+offsetRight,top:elemOffset.top+eh-(winScroll.top+wh)+offsetBottom};containerScroll=winScroll;}else{containerOffset=util$6.offset(container);ch=container.clientHeight;cw=container.clientWidth;containerScroll={left:container.scrollLeft,top:container.scrollTop};diffTop={left:elemOffset.left-(containerOffset.left+(parseFloat(util$6.css(container,"borderLeftWidth"))||0))-offsetLeft,top:elemOffset.top-(containerOffset.top+(parseFloat(util$6.css(container,"borderTopWidth"))||0))-offsetTop};diffBottom={left:elemOffset.left+ew-(containerOffset.left+cw+(parseFloat(util$6.css(container,"borderRightWidth"))||0))+offsetRight,top:elemOffset.top+eh-(containerOffset.top+ch+(parseFloat(util$6.css(container,"borderBottomWidth"))||0))+offsetBottom};}if(diffTop.top<0||diffBottom.top>0){if(alignWithTop===true){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else if(alignWithTop===false){util$6.scrollTop(container,containerScroll.top+diffBottom.top);}else{if(diffTop.top<0){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else{util$6.scrollTop(container,containerScroll.top+diffBottom.top);}}}else{if(!onlyScrollIfNeeded){alignWithTop=alignWithTop===void 0?true:!!alignWithTop;if(alignWithTop){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else{util$6.scrollTop(container,containerScroll.top+diffBottom.top);}}}if(allowHorizontalScroll){if(diffTop.left<0||diffBottom.left>0){if(alignWithLeft===true){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else if(alignWithLeft===false){util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}else{if(diffTop.left<0){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else{util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}}}else{if(!onlyScrollIfNeeded){alignWithLeft=alignWithLeft===void 0?true:!!alignWithLeft;if(alignWithLeft){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else{util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}}}}}var domScrollIntoView=scrollIntoView$1;(function(module2){module2.exports=domScrollIntoView;})(lib$1);const scrollIntoView=/* @__PURE__ */getDefaultExportFromCjs(lib$1.exports);const _debugStates=[];let Autocomplete=/*#__PURE__*/function(_React__default$defau19){_inherits3(Autocomplete,_React__default$defau19);var _super79=_createSuper3(Autocomplete);function Autocomplete(props){var _this93;_classCallCheck3(this,Autocomplete);_this93=_super79.call(this,props);_this93.state={highlightedIndex:null,menuTop:0,menuLeft:0,menuWidth:0,isOpen:false};_this93.keyDownHandlers={ArrowDown(event){event.preventDefault();const itemsLength=this.getFilteredItems().length;if(!itemsLength)return;const{highlightedIndex}=this.state;const index2=highlightedIndex===null||highlightedIndex===itemsLength-1?0:highlightedIndex+1;this._performAutoCompleteOnKeyUp=true;this.setState({highlightedIndex:index2,isOpen:true});},ArrowUp(event){event.preventDefault();const itemsLength=this.getFilteredItems().length;if(!itemsLength)return;const{highlightedIndex}=this.state;const index2=highlightedIndex===0||highlightedIndex===null?itemsLength-1:highlightedIndex-1;this._performAutoCompleteOnKeyUp=true;this.setState({highlightedIndex:index2,isOpen:true});},Enter(event){if(this.state.isOpen===false);else if(this.state.highlightedIndex===null){this.setState({isOpen:false},()=>{this.inputEl.select();});}else{event.preventDefault();const item=this.getFilteredItems()[this.state.highlightedIndex];const value2=this.props.getItemValue(item);this.setState({isOpen:false,highlightedIndex:null},()=>{this.inputEl.setSelectionRange(value2.length,value2.length);this.props.onSelect(value2,item);});}},Escape(){this.setState({highlightedIndex:null,isOpen:false});}};return _this93;}_createClass3(Autocomplete,[{key:"getInitialState",value:function getInitialState(){return{isOpen:false,highlightedIndex:null};}},{key:"UNSAFE_componentWillMount",value:function UNSAFE_componentWillMount(){this._ignoreBlur=false;this._performAutoCompleteOnUpdate=false;this._performAutoCompleteOnKeyUp=false;}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){this._performAutoCompleteOnUpdate=true;if(this.props.items!==nextProps.items||this.state.highlightedIndex>=nextProps.items.length){this.setState({highlightedIndex:null});}}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(this.state.isOpen===true&&prevState.isOpen===false){this.setMenuPositions();}if(this.state.isOpen&&this._performAutoCompleteOnUpdate){this._performAutoCompleteOnUpdate=false;this.maybeAutoCompleteText();}this.maybeScrollItemIntoView();if(prevState.isOpen!==this.state.isOpen){this.props.onMenuVisibilityChange(this.state.isOpen,this.inputEl);}}},{key:"maybeScrollItemIntoView",value:function maybeScrollItemIntoView(){if(this.state.isOpen===true&&this.state.highlightedIndex!==null){const itemNode=this.refs[`item-${this.state.highlightedIndex}`];const menuNode=this.refs.menu;if(itemNode){scrollIntoView(ReactDOM.findDOMNode(itemNode),ReactDOM.findDOMNode(menuNode),{onlyScrollIfNeeded:true});}}}},{key:"handleKeyDown",value:function handleKeyDown(event){if(this.keyDownHandlers[event.key]){this.keyDownHandlers[event.key].call(this,event);}else{this.setState({highlightedIndex:null,isOpen:true});}}},{key:"handleChange",value:function handleChange(event){this._performAutoCompleteOnKeyUp=true;this.props.onChange(event,event.target.value);}},{key:"handleKeyUp",value:function handleKeyUp(){if(this._performAutoCompleteOnKeyUp){this._performAutoCompleteOnKeyUp=false;this.maybeAutoCompleteText();}}},{key:"getFilteredItems",value:function getFilteredItems(){let items2=this.props.items;if(this.props.shouldItemRender){items2=items2.filter(item=>this.props.shouldItemRender(item,this.props.value));}if(this.props.sortItems){items2.sort((a,b)=>this.props.sortItems(a,b,this.props.value));}return items2;}},{key:"maybeAutoCompleteText",value:function maybeAutoCompleteText(){if(!this.props.autoHighlight||this.props.value===""){return;}const{highlightedIndex}=this.state;const items2=this.getFilteredItems();if(items2.length===0){return;}const matchedItem=highlightedIndex!==null?items2[highlightedIndex]:items2[0];const itemValue=this.props.getItemValue(matchedItem);const itemValueDoesMatch=itemValue.toLowerCase().indexOf(this.props.value.toLowerCase())===0;if(itemValueDoesMatch&&highlightedIndex===null){this.setState({highlightedIndex:0});}}},{key:"setMenuPositions",value:function setMenuPositions(){const node2=this.inputEl;const rect=node2.getBoundingClientRect();const computedStyle=globalThis.window.getComputedStyle(node2);const marginBottom=parseInt(computedStyle.marginBottom,10)||0;const marginLeft=parseInt(computedStyle.marginLeft,10)||0;const marginRight=parseInt(computedStyle.marginRight,10)||0;this.setState({menuTop:rect.bottom+marginBottom,menuLeft:rect.left+marginLeft,menuWidth:rect.width+marginLeft+marginRight});}},{key:"highlightItemFromMouse",value:function highlightItemFromMouse(index2){this.setState({highlightedIndex:index2});}},{key:"selectItemFromMouse",value:function selectItemFromMouse(item){const value2=this.props.getItemValue(item);this.setState({isOpen:false,highlightedIndex:null},()=>{this.props.onSelect(value2,item);this.inputEl.focus();});}},{key:"setIgnoreBlur",value:function setIgnoreBlur(ignore2){this._ignoreBlur=ignore2;}},{key:"renderMenu",value:function renderMenu(){const items2=this.getFilteredItems().map((item,index2)=>{const element=this.props.renderItem(item,this.state.highlightedIndex===index2,{cursor:"default"});return React__default.default.cloneElement(element,{onMouseDown:()=>this.setIgnoreBlur(true),onMouseEnter:()=>this.highlightItemFromMouse(index2),onClick:()=>this.selectItemFromMouse(item),ref:`item-${index2}`});});const style={left:this.state.menuLeft,top:this.state.menuTop,minWidth:this.state.menuWidth};if(!items2.length)return null;const menu=this.props.renderMenu(items2,this.props.value,style);return React__default.default.cloneElement(menu,{ref:"menu"});}},{key:"handleInputBlur",value:function handleInputBlur(){if(this.props.onFocus){this.props.onFocus();}if(this._ignoreBlur){return;}this.setState({isOpen:false,highlightedIndex:null});}},{key:"handleInputFocus",value:function handleInputFocus(){if(this.props.onFocus){this.props.onFocus(true);}if(this._ignoreBlur){this.setIgnoreBlur(false);return;}this._ignoreClick=true;this.setState({isOpen:true});}},{key:"isInputFocused",value:function isInputFocused(){return this.inputEl.ownerDocument&&this.inputEl===this.inputEl.ownerDocument.activeElement;}},{key:"handleInputClick",value:function handleInputClick(){if(this.isInputFocused()&&this.state.isOpen===false){this.setState({isOpen:true});}else if(this.state.highlightedIndex!==null&&!this._ignoreClick){this.selectItemFromMouse(this.getFilteredItems()[this.state.highlightedIndex]);}this._ignoreClick=false;}},{key:"composeEventHandlers",value:function composeEventHandlers(internal,external){return external?e=>{internal(e);external(e);}:internal;}},{key:"render",value:function render(){if(this.props.debug){_debugStates.push({id:_debugStates.length,state:this.state});}const{inputProps}=this.props;return/* @__PURE__ */React__default.default.createElement("div",{style:{...this.props.wrapperStyle},...this.props.wrapperProps},/* @__PURE__ */React__default.default.createElement("input",{...inputProps,ref:el=>{this.inputEl=el;},"aria-autocomplete":"list",autoComplete:"off",onBlur:this.composeEventHandlers(this.handleInputBlur.bind(this),inputProps.onBlur&&inputProps.onBlur.bind(this)),onChange:this.handleChange.bind(this),onClick:this.composeEventHandlers(this.handleInputClick.bind(this),inputProps.onClick&&inputProps.onClick.bind(this)),onFocus:this.composeEventHandlers(this.handleInputFocus.bind(this),inputProps.onFocus&&inputProps.onFocus.bind(this)),onKeyDown:this.composeEventHandlers(this.handleKeyDown.bind(this),inputProps.onKeyDown&&inputProps.onKeyDown.bind(this)),onKeyUp:this.composeEventHandlers(this.handleKeyUp.bind(this),inputProps.onKeyUp&&inputProps.onKeyUp.bind(this)),role:"combobox",value:this.props.value}),("open"in this.props?this.props.open:this.state.isOpen)&&this.renderMenu(),this.props.debug&&/* @__PURE__ */React__default.default.createElement("pre",{style:{marginLeft:300}},JSON.stringify(_debugStates.slice(_debugStates.length-5,_debugStates.length),null,2)));}}]);return Autocomplete;}(React__default.default.Component);Autocomplete.defaultProps={value:"",wrapperProps:{},wrapperStyle:{display:"inline-block"},inputProps:{},onChange(){},onSelect(){},renderMenu(items2,value2,style){return/* @__PURE__ */React__default.default.createElement("div",{style:{...style,...this.menuStyle}},items2);},shouldItemRender(){return true;},menuStyle:{borderRadius:"3px",boxShadow:"0 2px 12px rgba(0, 0, 0, 0.1)",background:"rgba(255, 255, 255, 0.9)",padding:"2px 0",fontSize:"90%",position:"fixed",overflow:"auto",maxHeight:"50%"},autoHighlight:true,onMenuVisibilityChange(){}};Autocomplete.propTypes={autoHighlight:propTypes$3.exports.bool,debug:propTypes$3.exports.bool,getItemValue:propTypes$3.exports.func.isRequired,inputProps:propTypes$3.exports.object,items:propTypes$3.exports.array,menuStyle:propTypes$3.exports.object,onChange:propTypes$3.exports.func,onFocus:propTypes$3.exports.func,onMenuVisibilityChange:propTypes$3.exports.func,onSelect:propTypes$3.exports.func,open:propTypes$3.exports.bool,renderItem:propTypes$3.exports.func.isRequired,renderMenu:propTypes$3.exports.func,shouldItemRender:propTypes$3.exports.func,sortItems:propTypes$3.exports.func,value:propTypes$3.exports.any,wrapperProps:propTypes$3.exports.object,wrapperStyle:propTypes$3.exports.object};const btn="_btn_1l2sx_95";const styles$2={"genome-position-search":"_genome-position-search_1l2sx_1","genome-position-search-focus":"_genome-position-search-focus_1l2sx_2","genome-position-search-bar":"_genome-position-search-bar_1l2sx_16","genome-position-search-dark":"_genome-position-search-dark_1l2sx_34","genome-position-search-bar-button":"_genome-position-search-bar-button_1l2sx_38","genome-position-search-bar-button-focus":"_genome-position-search-bar-button-focus_1l2sx_39","genome-position-search-bar-icon":"_genome-position-search-bar-icon_1l2sx_62","genome-position-search-bar-icon-focus":"_genome-position-search-bar-icon-focus_1l2sx_63","genome-position-search-bar-suggestions":"_genome-position-search-bar-suggestions_1l2sx_83",btn,"btn-sm":"_btn-sm_1l2sx_116","btn-default":"_btn-default_1l2sx_122"};let GenomePositionSearchBox=/*#__PURE__*/function(_React__default$defau20){_inherits3(GenomePositionSearchBox,_React__default$defau20);var _super80=_createSuper3(GenomePositionSearchBox);function GenomePositionSearchBox(props){var _this94;_classCallCheck3(this,GenomePositionSearchBox);_this94=_super80.call(this,props);_this94.mounted=false;_this94.uid=slugid.nice();_this94.chromInfo=null;_this94.searchField=null;_this94.autocompleteMenu=null;_this94.xScale=null;_this94.yScale=null;_this94.prevParts=[];_this94.props.registerViewportChangedListener(_this94.scalesChanged.bind(_assertThisInitialized3(_this94)));_this94.menuPosition={left:0,top:0};_this94.positionText="chr4:190,998,876-191,000,255";_this94.state={genes:[],isFocused:false,autocompleteServer:_this94.props.autocompleteServer,autocompleteId:_this94.props.autocompleteId,availableAssemblies:[],selectedAssembly:null};_this94.styles={item:{padding:"2px 6px",cursor:"default"},highlightedItem:{color:"white",background:"hsl(200, 50%, 50%)",padding:"2px 6px",cursor:"default"},menu:{border:"solid 1px #ccc"}};_this94.availableAutocompletes={};if(_this94.props.autocompleteId){_this94.availableAutocompletes[_this94.props.chromInfoId]=/* @__PURE__ */new Set([{server:_this94.props.autocompleteServer,acId:_this94.props.autocompleteId}]);}_this94.availableChromSizes={};return _this94;}_createClass3(GenomePositionSearchBox,[{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;select$1(this.autocompleteMenu.inputEl).on("keypress",this.autocompleteKeyPress.bind(this));this.findAvailableAutocompleteSources();this.findAvailableChromSizes();if(this.props.chromInfoPath){this.searchPosition=true;ChromosomeInfo(this.props.chromInfoPath,chromInfo=>{if(!chromInfo){this.searchPosition=null;return;}this.chromInfo=chromInfo;this.searchField=new SearchField(this.chromInfo);this.setPositionText();});}this.setPositionText();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mounted=false;this.props.removeViewportChangedListener();}},{key:"onAutocompleteChange",value:function onAutocompleteChange(evt,value2){this.positionText=value2;this.setState({value:value2,loading:true});this.changedPart=null;const spaceParts=value2.split(/ /);let partIndex=0;const newParts=[];let changedAtStartOfWord=false;for(let j=0;j<spaceParts.length;j++){const parts=spaceParts[j].split(/-/);for(let i2=0;i2<parts.length;i2++){partIndex+=1;newParts.push(parts[i2]);if(i2===0)changedAtStartOfWord=true;else changedAtStartOfWord=false;if(i2===this.prevParts.length){this.changedPart=partIndex-1;break;}if(parts[i2]!==this.prevParts[i2]){this.changedPart=partIndex-1;break;}}}this.prevParts=newParts;if(!(this.state.autocompleteServer&&this.state.autocompleteId)){return;}if(this.changedPart!==null){this.setState({loading:true});let url=`${this.state.autocompleteServer}/suggest/`;url+=`?d=${this.state.autocompleteId}&ac=${newParts[this.changedPart].toLowerCase()}`;api.json(url,(error,data2)=>{if(error){this.setState({loading:false,genes:[]});}else if(this.changedPart>0&&!changedAtStartOfWord){const url1=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${newParts[this.changedPart-1].toLowerCase()}-${newParts[this.changedPart].toLowerCase()}`;api.json(url1,(error1,data1)=>{if(error1){this.setState({loading:false,genes:data2});}else{this.setState({loading:false,genes:data1.concat(data2)});}},this.props.pubSub);}else{this.setState({loading:false,genes:data2});}},this.props.pubSub);}}},{key:"setAvailableAssemblies",value:function setAvailableAssemblies(){const chromsizeKeys=new Set(dictKeys(this.availableChromSizes));const commonKeys=/* @__PURE__ */new Set([...chromsizeKeys]);if(this.gpsbForm){this.setState({availableAssemblies:[...commonKeys]});}}},{key:"setSelectedAssembly",value:function setSelectedAssembly(assemblyName){if(!this.mounted)return;if(!this.availableChromSizes[assemblyName])return;const serverAndChromInfoToUse=[...this.availableChromSizes[assemblyName]][0];this.setState({autocompleteServer:serverAndChromInfoToUse.server});const{server}=serverAndChromInfoToUse;if(this.availableAutocompletes[assemblyName]){const newAcId=[...this.availableAutocompletes[assemblyName]][0].acId;this.props.onSelectedAssemblyChanged(assemblyName,newAcId,server);if(this.gpsbForm){this.setState({autocompleteId:newAcId});}}else{this.props.onSelectedAssemblyChanged(assemblyName,null,server);if(this.gpsbForm){this.setState({autocompleteId:null});}}this.fetchChromInfo(serverAndChromInfoToUse.uuid,serverAndChromInfoToUse.server);}},{key:"setPositionText",value:function setPositionText(){if(!this.mounted){return;}if(!this.searchField){return;}const positionString=this.searchField.scalesToPositionText(this.xScale,this.yScale,this.props.twoD);this.prevParts=positionString.split(/[ -]/);if(this.gpsbForm){this.positionText=positionString;this.origPositionText=positionString;this.autocompleteMenu.inputEl.value=positionString;}}},{key:"scalesChanged",value:function scalesChanged(xScale,yScale){this.xScale=xScale;this.yScale=yScale;this.setPositionText();}},{key:"findAvailableChromSizes",value:function findAvailableChromSizes(){if(!this.props.trackSourceServers){return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/available-chrom-sizes/`,(error,data2)=>{if(error){console.error(error);}else{data2.results.forEach(x=>{if(!(x.coordSystem in this.availableChromSizes)){this.availableChromSizes[x.coordSystem]=/* @__PURE__ */new Set();}this.availableChromSizes[x.coordSystem].add({server:sourceServer,uuid:x.uuid});this.setAvailableAssemblies();});if(!this.searchField){this.fetchChromInfo(this.props.chromInfoId in this.availableChromSizes?[...this.availableChromSizes[this.props.chromInfoId]][0].uuid:this.props.chromInfoId,this.props.chromInfoId in this.availableChromSizes?[...this.availableChromSizes[this.props.chromInfoId]][0].server:this.props.chromInfoServer);}}},this.props.pubSub);});}},{key:"findAvailableAutocompleteSources",value:function findAvailableAutocompleteSources(){if(!this.props.trackSourceServers){return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/tilesets/?limit=100&dt=gene-annotation`,(error,data2)=>{if(error){console.error(error);}else{data2.results.forEach(x=>{if(!(x.coordSystem in this.availableAutocompletes)){this.availableAutocompletes[x.coordSystem]=/* @__PURE__ */new Set();}this.availableAutocompletes[x.coordSystem].add({server:sourceServer,acId:x.uuid});this.setAvailableAssemblies();});if(!this.state.autocompleteId){if(this.gpsbForm){if(this.availableAutocompletes[this.props.chromInfoId]){this.setState({autocompleteId:[...this.availableAutocompletes[this.props.chromInfoId]][0].acId});}}}}},this.props.pubSub);});}},{key:"fetchChromInfo",value:function fetchChromInfo(chromInfoId,server){ChromosomeInfo(`${server}/chrom-sizes/?id=${chromInfoId}`,newChromInfo=>{if(!newChromInfo){return;}api.json(`${server}/tileset_info/?d=${chromInfoId}`,(error2,tilesetInfo)=>{if(error2){return;}if(this.gpsbForm){this.setState({selectedAssembly:tilesetInfo[chromInfoId].coordSystem});}},this.props.pubSub);this.chromInfo=newChromInfo;this.searchField=new SearchField(this.chromInfo);this.setPositionText();},this.props.pubSub);}},{key:"autocompleteKeyPress",value:function autocompleteKeyPress(event){const ENTER_KEY_CODE=13;if(event.keyCode===ENTER_KEY_CODE){this.buttonClick();}}},{key:"genePositionToSearchBarText",value:function genePositionToSearchBarText(genePosition){}},{key:"replaceGenesWithLoadedPositions",value:function replaceGenesWithLoadedPositions(genePositions){const origSearchText=this.positionText;const spaceParts=origSearchText.split(" ");let foundGeneSymbol=false;for(let i2=0;i2<spaceParts.length;i2++){const dashParts=spaceParts[i2].split("-");let j=0;let k=0;let spacePart="";while(j<dashParts.length){k=dashParts.length;while(k>j){const dashChunk=dashParts.slice(j,k).join("-");if(genePositions[dashChunk.toLowerCase()]){const genePosition=genePositions[dashChunk.toLowerCase()];const extension=Math.floor((genePosition.txEnd-genePosition.txStart)/4);if(j===0&&k<dashParts.length){spacePart=`${genePosition.chr}:${genePosition.txStart-extension}`;}else if(j===0&&k===dashParts.length){spacePart=`${genePosition.chr}:${genePosition.txStart-extension}-${genePosition.txEnd+extension}`;}else{spacePart+=`- ${genePosition.chr}:${genePosition.txEnd+extension}`;}foundGeneSymbol=true;break;}else if(k===j+1){if(spacePart.length){spacePart+="-";}spacePart+=dashChunk;}k-=1;}j=k+1;}spaceParts[i2]=spacePart;}const newValue=spaceParts.join(" ");this.prevParts=newValue.split(/[ -]/);this.positionText=newValue;this.setState({value:newValue});return foundGeneSymbol?origSearchText:null;}},{key:"replaceGenesWithPositions",value:function replaceGenesWithPositions(finished){const valueParts=this.positionText.split(/[ -]/);const requests=[];for(let i2=0;i2<valueParts.length;i2++){if(valueParts[i2].length===0){continue;}const retPos=this.searchField.parsePosition(valueParts[i2])[2];if(retPos===null||Number.isNaN(+retPos)){const url=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${valueParts[i2].toLowerCase()}`;requests.push(api.json(url,toVoid,this.props.pubSub));}}Promise.all(requests).then(files=>{if(files){const genePositions={};for(let i2=0;i2<files.length;i2++){if(!files[i2][0]){continue;}for(let j=0;j<files[i2].length;j++){genePositions[files[i2][j].geneName.toLowerCase()]=files[i2][j];}}const geneSymbol=this.replaceGenesWithLoadedPositions(genePositions);finished(geneSymbol);}}).catch(error=>console.error(error));}},{key:"buttonClick",value:function buttonClick(){this.setState({genes:[]});this.replaceGenesWithPositions(geneSymbol=>{const searchFieldValue=this.positionText;if(this.searchField!==null){const rangePair=this.searchField.searchPosition(searchFieldValue);const range1=rangePair[0];let range2=rangePair[1];if(!range1){this.setPositionText();return;}if(range1&&(Number.isNaN(+range1[0])||Number.isNaN(+range1[1]))||range2&&(Number.isNaN(+range2[0])||Number.isNaN(+range2[1]))){return;}if(!range2){range2=range1;}const newXScale=this.xScale.copy().domain(range1);const newYScale=this.yScale.copy().domain(range2);const[centerX,centerY,k]=scalesCenterAndK(newXScale,newYScale);if(geneSymbol){this.props.onGeneSearch({geneSymbol,range:range1,centerX,centerY});}this.props.setCenters(centerX,centerY,k,ZOOM_TRANSITION_DURATION);}});}},{key:"searchFieldSubmit",value:function searchFieldSubmit(){this.buttonClick();}},{key:"pathJoin",value:function pathJoin(parts,sep){const separator=sep||"/";const replace=new RegExp(`${separator}{1,}`,"g");return parts.join(separator).replace(replace,separator);}},{key:"geneSelected",value:function geneSelected(value2,objct){const parts=this.positionText.split(" ");let partCount=this.changedPart;for(let i2=0;i2<parts.length;i2++){const dashParts=parts[i2].split("-");const geneParts=objct.geneName.split("-");if(partCount>dashParts.length-1){partCount-=dashParts.length;}else{dashParts[partCount]=objct.geneName;if(geneParts.length===2&&partCount>0&&dashParts[partCount-1].toLowerCase()===geneParts[0].toLowerCase()){const newDashParts=dashParts.slice(0,partCount-1);newDashParts.push(geneParts.join("-"));if(partCount<dashParts.length-1){newDashParts.push(dashParts.slice(partCount+1));}parts[i2]=newDashParts.join("-");}else{parts[i2]=dashParts.join("-");}break;}}this.prevParts=parts.join(" ").split(/[ -]/);this.positionText=parts.join(" ");this.setState({value:parts.join(" "),genes:[]});}},{key:"handleMenuVisibilityChange",value:function handleMenuVisibilityChange(isOpen,inputEl){const box=inputEl.getBoundingClientRect();this.menuPosition={left:box.left,top:box.top+box.height};this.setState({menuOpened:isOpen});}},{key:"handleRenderMenu",value:function handleRenderMenu(items2){return/* @__PURE__ */React__default.default.createElement(PopupMenu,null,/* @__PURE__ */React__default.default.createElement("div",{className:styles$2["genome-position-search-bar-suggestions"],style:{left:this.menuPosition.left,top:this.menuPosition.top}},items2));}},{key:"handleAssemblySelectEvt",value:function handleAssemblySelectEvt(evt){this.handleAssemblySelect(evt.target.value);}},{key:"handleAssemblySelect",value:function handleAssemblySelect(assembly){this.setSelectedAssembly(assembly);this.setState({selectedAssembly:assembly});}},{key:"focusHandler",value:function focusHandler(isFocused){this.setState({isFocused});}},{key:"render",value:function render(){const assemblyMenuItems=this.state.availableAssemblies.map(x=>/* @__PURE__ */React__default.default.createElement("option",{key:x,value:x},x));return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.gpsbForm=c2;},className:clsx({[styles$2["genome-position-search-focus"]]:this.state.isFocused,[styles$2["genome-position-search"]]:!this.state.isFocused,[styles$2["genome-position-search-dark"]]:this.props.theme===THEME_DARK})},!this.props.hideAvailableAssemblies&&/* @__PURE__ */React__default.default.createElement("select",{ref:c2=>{this.assemblyPickButton=c2;},className:styles$2["genome-position-search-bar-button"],id:this.uid,onChange:this.handleAssemblySelectEvt.bind(this),value:this.state.selectedAssembly||void 0},assemblyMenuItems),/* @__PURE__ */React__default.default.createElement(Autocomplete,{ref:c2=>{this.autocompleteMenu=c2;},getItemValue:item=>item.geneName,inputProps:{className:styles$2["genome-position-search-bar"],title:"Current location: enter a symbol or location to change the position of the current view"},items:this.state.genes,menuStyle:{position:"absolute",left:this.menuPosition.left,top:this.menuPosition.top,border:"1px solid black"},onChange:this.onAutocompleteChange.bind(this),onFocus:this.focusHandler.bind(this),onMenuVisibilityChange:this.handleMenuVisibilityChange.bind(this),onSelect:(value2,objct)=>this.geneSelected(value2,objct),onSubmit:this.searchFieldSubmit.bind(this),renderItem:(item,isHighlighted)=>/* @__PURE__ */React__default.default.createElement("div",{key:item.refseqid,id:item.refseqid,style:isHighlighted?this.styles.highlightedItem:this.styles.item},item.geneName),renderMenu:this.handleRenderMenu.bind(this),value:this.state.selectedAssembly?this.positionText:"No valid assembly selected",wrapperStyle:{width:"100%"}}),/* @__PURE__ */React__default.default.createElement(SearchIcon,{onClick:this.buttonClick.bind(this),theStyle:"multitrack-header-icon"}));}}]);return GenomePositionSearchBox;}(React__default.default.Component);GenomePositionSearchBox.propTypes={autocompleteId:propTypes$3.exports.string,autocompleteServer:propTypes$3.exports.string,chromInfoId:propTypes$3.exports.string,chromInfoServer:propTypes$3.exports.string,hideAvailableAssemblies:propTypes$3.exports.bool,isFocused:propTypes$3.exports.bool,pubSub:propTypes$3.exports.object,onFocus:propTypes$3.exports.func,onGeneSearch:propTypes$3.exports.func,onSelectedAssemblyChanged:propTypes$3.exports.func,registerViewportChangedListener:propTypes$3.exports.func,removeViewportChangedListener:propTypes$3.exports.func,setCenters:propTypes$3.exports.func,theme:propTypes$3.exports.symbol.isRequired,trackSourceServers:propTypes$3.exports.array,twoD:propTypes$3.exports.bool};const GenomePositionSearchBox$1=withPubSub(withTheme(GenomePositionSearchBox));const classes$2={"export-link-dialog-wrapper":"_export-link-dialog-wrapper_p9gxw_1"};let ExportLinkDialog=/*#__PURE__*/function(_React__default$defau21){_inherits3(ExportLinkDialog,_React__default$defau21);var _super81=_createSuper3(ExportLinkDialog);function ExportLinkDialog(){_classCallCheck3(this,ExportLinkDialog);return _super81.apply(this,arguments);}_createClass3(ExportLinkDialog,[{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement(Dialog$1,{okayOnly:true,okayTitle:"Done",onOkay:this.props.onDone,title:"Share view link"},/* @__PURE__ */React__default.default.createElement("div",{className:classes$2["export-link-dialog-wrapper"]},/* @__PURE__ */React__default.default.createElement("input",{ref:element=>{if(!element)return;this.input=element;element.focus();element.select();},onClick:event=>{event.target.select();},placeholder:"Generating the link...",readOnly:true,value:this.props.url}),/* @__PURE__ */React__default.default.createElement(Button,{onClick:event=>{this.input.select();document.execCommand("copy");}},"Copy")));}}]);return ExportLinkDialog;}(React__default.default.Component);ExportLinkDialog.defaultProps={onDone:()=>{},url:""};ExportLinkDialog.propTypes={onDone:propTypes$3.exports.func,url:propTypes$3.exports.string};let ConfigViewMenu=/*#__PURE__*/function(_ContextMenuContainer3){_inherits3(ConfigViewMenu,_ContextMenuContainer3);var _super82=_createSuper3(ConfigViewMenu);function ConfigViewMenu(props){var _this95;_classCallCheck3(this,ConfigViewMenu);_this95=_super82.call(this,props);_this95.state={submenuShown:false};return _this95;}_createClass3(ConfigViewMenu,[{key:"getConfigureViewMenu",value:function getConfigureViewMenu(position,bbox){const availableOptions=["backgroundColor"];const menuItems={};const newOptions={};for(const optionType of availableOptions){if(optionType in Object.keys(OPTIONS_INFO)){menuItems[optionType]={name:OPTIONS_INFO[optionType].name};if(OPTIONS_INFO[optionType].inlineOptions){for(const inlineOptionKey in OPTIONS_INFO[optionType].inlineOptions){const inlineOption=OPTIONS_INFO[optionType].inlineOptions[inlineOptionKey];if(!menuItems[optionType].children){menuItems[optionType].children={};}const optionSelectorSettings={name:inlineOption.name,value:inlineOption.value};optionSelectorSettings.handler=()=>{newOptions[optionType]=inlineOption.value;this.props.onOptionsChanged(newOptions);};menuItems[optionType].children[inlineOptionKey]=optionSelectorSettings;}}}}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const subMenuData=this.state.submenuShown;if(subMenuData.option==="options"){return this.getConfigureViewMenu(position,bbox);}return/* @__PURE__ */React__default.default.createElement("div",null);}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ConfigViewMenu",style:{left:this.state.left,top:this.state.top}},/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onTogglePositionSearchBox(e)},"Toggle position search box"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onZoomToData(e)},"Zoom to data extent"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onClearView(e)},"Clear View"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankZoom(e)},"Take zoom from"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankLocation(e)},"Take location from"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankZoomAndLocation(e)},"Take zoom and location from"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockZoom},"Lock zoom with"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockLocation},"Lock location with"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockZoomAndLocation},"Lock zoom and location with"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onTakeAndLockZoomAndLocation},"Take and lock zoom and location with"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockZoom(e)},"Unlock zoom"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockLocation(e)},"Unlock location"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockZoomAndLocation(e)},"Unlock zoom and location"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onProjectViewport(e)},"Show this viewport on"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onEditViewConfig(e)},"Edit view config"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportSVG()},"Export views as SVG"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportPNG()},"Export views as PNG"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportViewAsJSON()},"Export views as JSON"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportViewAsLink()},"Export views as Link"),this.getSubmenu());}}]);return ConfigViewMenu;}(ContextMenuContainer);ConfigViewMenu.propTypes={onEditViewConfig:propTypes$3.exports.func.isRequired,onExportSVG:propTypes$3.exports.func,onExportPNG:propTypes$3.exports.func,onExportViewAsJSON:propTypes$3.exports.func,onExportViewAsLink:propTypes$3.exports.func,onLockLocation:propTypes$3.exports.func,onLockZoom:propTypes$3.exports.func,onLockZoomAndLocation:propTypes$3.exports.func,onProjectViewport:propTypes$3.exports.func,onTakeAndLockZoomAndLocation:propTypes$3.exports.func,onTogglePositionSearchBox:propTypes$3.exports.func,onUnlockLocation:propTypes$3.exports.func,onUnlockZoom:propTypes$3.exports.func,onUnlockZoomAndLocation:propTypes$3.exports.func,onYankLocation:propTypes$3.exports.func,onYankZoom:propTypes$3.exports.func,onYankZoomAndLocation:propTypes$3.exports.func,onZoomToData:propTypes$3.exports.func,theme:propTypes$3.exports.symbol};const classes$1={"add-track-position-table":"_add-track-position-table_wdy5w_1","add-track-position-table-dark":"_add-track-position-table-dark_wdy5w_7","add-track-position-other":"_add-track-position-other_wdy5w_11","add-track-position-top-center":"_add-track-position-top-center_wdy5w_15","add-track-position-middle-left":"_add-track-position-middle-left_wdy5w_30","add-track-position-middle-right":"_add-track-position-middle-right_wdy5w_45","add-track-position-middle-middle":"_add-track-position-middle-middle_wdy5w_60","add-track-position-bottom-middle":"_add-track-position-bottom-middle_wdy5w_71","add-track-position-span":"_add-track-position-span_wdy5w_86"};function AddTrackPositionMenu(props){return/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement("div",{className:classes$1["add-track-position-span"]},"Add Track..."),/* @__PURE__ */React__default.default.createElement("table",{className:clsx(classes$1["add-track-position-table"],{[classes$1["add-track-position-table-dark"]]:props.theme===THEME_DARK})},/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"30px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]}),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-top-center"],onClick:()=>props.onTrackPositionChosen("top")},"top"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]})),/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"80px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-left"],onClick:()=>props.onTrackPositionChosen("left")},"left"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-middle"],onClick:()=>props.onTrackPositionChosen("center")},"center"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-right"],onClick:()=>props.onTrackPositionChosen("right")},"right")),/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"30px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]}),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-bottom-middle"],onClick:()=>props.onTrackPositionChosen("bottom")},"bottom"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]})))));}AddTrackPositionMenu.propTypes={onTrackPositionChosen:propTypes$3.exports.func.isRequired,theme:propTypes$3.exports.symbol.isRequired};const AddTrackPositionMenu$1=withTheme(AddTrackPositionMenu);let ViewHeader=/*#__PURE__*/function(_React__default$defau22){_inherits3(ViewHeader,_React__default$defau22);var _super83=_createSuper3(ViewHeader);function ViewHeader(props){var _this96;_classCallCheck3(this,ViewHeader);_this96=_super83.call(this,props);_this96.configImg=null;_this96.plusImg=null;_this96.state={addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null,configMenuUid:null,configMenuPosition:null,isFocused:false,width:-1};_this96.handleTrackPositionChosenBound=_this96.handleTrackPositionChosen.bind(_assertThisInitialized3(_this96));return _this96;}_createClass3(ViewHeader,[{key:"componentDidMount",value:function componentDidMount(){this.setState({width:this.el.clientWidth});}},{key:"checkWidth",value:function checkWidth(){const width=this.el.clientWidth;if(width!==this.state.width)this.setState({width});}},{key:"handleConfigMenuOpened",value:function handleConfigMenuOpened(uid){this.setState({configMenuUid:uid,configMenuPosition:this.configImg.getBoundingClientRect()});}},{key:"handleAddTrackPositionMenuOpened",value:function handleAddTrackPositionMenuOpened(uid){this.setState({addTrackPositionMenuUid:uid,addTrackPositionMenuPosition:this.plusImg.getBoundingClientRect()});}},{key:"handleTrackPositionChosen",value:function handleTrackPositionChosen(position){this.props.onTrackPositionChosen(position);this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null});}},{key:"render",value:function render(){let configMenu=null;let addTrackPositionMenu=null;if(this.state.addTrackPositionMenuPosition){addTrackPositionMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:()=>{this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null});}},/* @__PURE__ */React__default.default.createElement(ContextMenuContainer,{orientation:"left",position:this.state.addTrackPositionMenuPosition,theme:this.props.theme},/* @__PURE__ */React__default.default.createElement(AddTrackPositionMenu$1,{onTrackPositionChosen:this.handleTrackPositionChosenBound})));}if(this.state.configMenuUid){configMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:()=>this.setState({configMenuUid:null})},/* @__PURE__ */React__default.default.createElement(ConfigViewMenu,{onClearView:()=>{this.setState({configMenuUid:null});this.props.onClearView();},onEditViewConfig:()=>{this.setState({configMenuUid:null});this.props.onEditViewConfig(this.state.configMenuUid);},onExportPNG:()=>{this.setState({configMenuUid:null});this.props.onExportPNG();},onExportSVG:()=>{this.setState({configMenuUid:null});this.props.onExportSVG();},onExportViewAsJSON:()=>{this.setState({configMenuUid:null});this.props.onExportViewsAsJSON();},onExportViewAsLink:()=>{this.setState({configMenuUid:null});this.props.onExportViewsAsLink();},onLockLocation:()=>{this.setState({configMenuUid:null});this.props.onLockLocation(this.state.configMenuUid);},onLockZoom:()=>{this.setState({configMenuUid:null});this.props.onLockZoom(this.state.configMenuUid);},onLockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onLockZoomAndLocation(this.state.configMenuUid);},onOptionsChanged:newOptions=>{this.props.onViewOptionsChanged(newOptions);this.setState({configMenuUid:null});},onProjectViewport:()=>{this.setState({configMenuUid:null});this.props.onProjectViewport(this.state.configMenuUid);},onTakeAndLockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onTakeAndLockZoomAndLocation(this.state.configMenuUid);},onTogglePositionSearchBox:()=>{this.setState({configMenuUid:null});this.props.onTogglePositionSearchBox(this.state.configMenuUid);},onUnlockLocation:()=>{this.setState({configMenuUid:null});this.props.onUnlockLocation(this.state.configMenuUid);},onUnlockZoom:()=>{this.setState({configMenuUid:null});this.props.onUnlockZoom(this.state.configMenuUid);},onUnlockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onUnlockZoomAndLocation(this.state.configMenuUid);},onYankLocation:()=>{this.setState({configMenuUid:null});this.props.onYankLocation(this.state.configMenuUid);},onYankZoom:()=>{this.setState({configMenuUid:null});this.props.onYankZoom(this.state.configMenuUid);},onYankZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onYankZoomAndLocation(this.state.configMenuUid);},onZoomToData:()=>{this.setState({configMenuUid:null});this.props.onZoomToData(this.state.configMenuUid);},orientation:"left",position:this.state.configMenuPosition,theme:this.props.theme}));}const GenomePositionSearchBox2=this.props.getGenomePositionSearchBox(this.state.isFocused,focus=>{this.setState({isFocused:focus});});const className2=clsx(this.state.isFocused?stylesMTHeader["multitrack-header-focus"]:stylesMTHeader["multitrack-header"],{[stylesMTHeader["multitrack-header-dark"]]:this.props.theme===THEME_DARK});const classNameIcon=this.state.width<=VIEW_HEADER_MED_WIDTH_SEARCH_BAR?stylesMTHeader["multitrack-header-icon-squeazed"]:stylesMTHeader["multitrack-header-icon"];return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.el=c2;},className:className2},/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-left"]},this.props.mouseTool===MOUSE_TOOL_SELECT&&/* @__PURE__ */React__default.default.createElement("svg",{className:clsx(stylesMTHeader["mouse-tool-selection"],classNameIcon),title:"Selection tool active"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#select"})),/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-grabber"],title:"Drag to move the view"},/* @__PURE__ */React__default.default.createElement("div",null),/* @__PURE__ */React__default.default.createElement("div",null),/* @__PURE__ */React__default.default.createElement("div",null)),this.state.width>VIEW_HEADER_MIN_WIDTH_SEARCH_BAR&&/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-search"]},this.props.isGenomePositionSearchBoxVisible&&GenomePositionSearchBox2)),/* @__PURE__ */React__default.default.createElement("nav",{className:stylesMTHeader["multitrack-header-nav-list"]},/* @__PURE__ */React__default.default.createElement("svg",{className:classNameIcon,onClick:this.props.onAddView},/* @__PURE__ */React__default.default.createElement("title",null,"Add new view (clone this view)"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#copy"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.configImg=c2;},className:classNameIcon,onClick:()=>this.handleConfigMenuOpened(this.props.viewUid)},/* @__PURE__ */React__default.default.createElement("title",null,"Configure this view"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cog"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.plusImg=c2;},className:classNameIcon,onClick:()=>this.handleAddTrackPositionMenuOpened(this.props.viewUid)},/* @__PURE__ */React__default.default.createElement("title",null,"Add Track"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})),/* @__PURE__ */React__default.default.createElement("svg",{className:classNameIcon,onClick:this.props.onCloseView},/* @__PURE__ */React__default.default.createElement("title",null,"Close View"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"}))),configMenu,addTrackPositionMenu);}}]);return ViewHeader;}(React__default.default.Component);ViewHeader.defaultProps={isGenomePositionSearchBoxVisible:false};ViewHeader.propTypes={getGenomePositionSearchBox:propTypes$3.exports.func.isRequired,isGenomePositionSearchBoxVisible:propTypes$3.exports.bool,mouseTool:propTypes$3.exports.string.isRequired,onAddView:propTypes$3.exports.func.isRequired,onClearView:propTypes$3.exports.func.isRequired,onCloseView:propTypes$3.exports.func.isRequired,onEditViewConfig:propTypes$3.exports.func.isRequired,onExportSVG:propTypes$3.exports.func.isRequired,onExportPNG:propTypes$3.exports.func.isRequired,onExportViewsAsJSON:propTypes$3.exports.func.isRequired,onExportViewsAsLink:propTypes$3.exports.func.isRequired,onLockLocation:propTypes$3.exports.func.isRequired,onLockZoom:propTypes$3.exports.func.isRequired,onLockZoomAndLocation:propTypes$3.exports.func.isRequired,onProjectViewport:propTypes$3.exports.func.isRequired,onTakeAndLockZoomAndLocation:propTypes$3.exports.func.isRequired,onTogglePositionSearchBox:propTypes$3.exports.func.isRequired,onTrackPositionChosen:propTypes$3.exports.func.isRequired,onUnlockLocation:propTypes$3.exports.func.isRequired,onUnlockZoom:propTypes$3.exports.func.isRequired,onUnlockZoomAndLocation:propTypes$3.exports.func.isRequired,onViewOptionsChanged:propTypes$3.exports.func.isRequired,onYankLocation:propTypes$3.exports.func.isRequired,onYankZoom:propTypes$3.exports.func.isRequired,onYankZoomAndLocation:propTypes$3.exports.func.isRequired,onZoomToData:propTypes$3.exports.func.isRequired,theme:propTypes$3.exports.symbol.isRequired,viewUid:propTypes$3.exports.string.isRequired};const ViewHeader$1=withTheme(ViewHeader);var lib={};Object.defineProperty(lib,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();var _react=React__default.default;var React=_interopRequireWildcard(_react);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _objectWithoutProperties(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var KEYCODE_ENTER=13;var KEYCODE_TAB=9;var KEYCODE_BACKSPACE=8;var KEYCODE_Y=89;var KEYCODE_Z=90;var KEYCODE_M=77;var KEYCODE_PARENS=57;var KEYCODE_BRACKETS=219;var KEYCODE_QUOTE=222;var KEYCODE_BACK_QUOTE=192;var KEYCODE_ESCAPE=27;var HISTORY_LIMIT=100;var HISTORY_TIME_GAP=3e3;var isWindows="navigator"in globalThis&&/Win/i.test(navigator.platform);var isMacLike="navigator"in globalThis&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);var className="npm__react-simple-code-editor__textarea";var cssText="\n/**\n * Reset the text fill color so that placeholder is visible\n */\n."+className+":empty {\n -webkit-text-fill-color: inherit !important;\n}\n\n/**\n * Hack to apply on some CSS on IE10 and IE11\n */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /**\n * IE doesn't support '-webkit-text-fill-color'\n * So we use 'color: transparent' to make the text transparent on IE\n * Unlike other browsers, it doesn't affect caret color in IE\n */\n ."+className+" {\n color: transparent !important;\n }\n\n ."+className+"::selection {\n background-color: #accef7 !important;\n color: transparent !important;\n }\n}\n";var Editor=function(_React$Component){_inherits(Editor2,_React$Component);function Editor2(){var _ref;var _temp,_this,_ret;_classCallCheck(this,Editor2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=Editor2.__proto__||Object.getPrototypeOf(Editor2)).call.apply(_ref,[this].concat(args))),_this),_this.state={capture:true},_this._recordCurrentState=function(){var input=_this._input;if(!input)return;var value2=input.value,selectionStart=input.selectionStart,selectionEnd=input.selectionEnd;_this._recordChange({value:value2,selectionStart,selectionEnd});},_this._getLines=function(text2,position){return text2.substring(0,position).split("\n");},_this._recordChange=function(record){var overwrite=arguments.length>1&&arguments[1]!==void 0?arguments[1]:false;var _this$_history=_this._history,stack=_this$_history.stack,offset=_this$_history.offset;if(stack.length&&offset>-1){_this._history.stack=stack.slice(0,offset+1);var count2=_this._history.stack.length;if(count2>HISTORY_LIMIT){var extras=count2-HISTORY_LIMIT;_this._history.stack=stack.slice(extras,count2);_this._history.offset=Math.max(_this._history.offset-extras,0);}}var timestamp=Date.now();if(overwrite){var last2=_this._history.stack[_this._history.offset];if(last2&&timestamp-last2.timestamp<HISTORY_TIME_GAP){var re2=/[^a-z0-9]([a-z0-9]+)$/i;var previous=_this._getLines(last2.value,last2.selectionStart).pop().match(re2);var current=_this._getLines(record.value,record.selectionStart).pop().match(re2);if(previous&&current&&current[1].startsWith(previous[1])){_this._history.stack[_this._history.offset]=_extends({},record,{timestamp});return;}}}_this._history.stack.push(_extends({},record,{timestamp}));_this._history.offset++;},_this._updateInput=function(record){var input=_this._input;if(!input)return;input.value=record.value;input.selectionStart=record.selectionStart;input.selectionEnd=record.selectionEnd;_this.props.onValueChange(record.value);},_this._applyEdits=function(record){var input=_this._input;var last2=_this._history.stack[_this._history.offset];if(last2&&input){_this._history.stack[_this._history.offset]=_extends({},last2,{selectionStart:input.selectionStart,selectionEnd:input.selectionEnd});}_this._recordChange(record);_this._updateInput(record);},_this._undoEdit=function(){var _this$_history2=_this._history,stack=_this$_history2.stack,offset=_this$_history2.offset;var record=stack[offset-1];if(record){_this._updateInput(record);_this._history.offset=Math.max(offset-1,0);}},_this._redoEdit=function(){var _this$_history3=_this._history,stack=_this$_history3.stack,offset=_this$_history3.offset;var record=stack[offset+1];if(record){_this._updateInput(record);_this._history.offset=Math.min(offset+1,stack.length-1);}},_this._handleKeyDown=function(e){var _this$props=_this.props,tabSize=_this$props.tabSize,insertSpaces=_this$props.insertSpaces,ignoreTabKey=_this$props.ignoreTabKey,onKeyDown=_this$props.onKeyDown;if(onKeyDown){onKeyDown(e);if(e.defaultPrevented){return;}}if(e.keyCode===KEYCODE_ESCAPE){e.target.blur();}var _e$target=e.target,value2=_e$target.value,selectionStart=_e$target.selectionStart,selectionEnd=_e$target.selectionEnd;var tabCharacter=(insertSpaces?" ":" ").repeat(tabSize);if(e.keyCode===KEYCODE_TAB&&!ignoreTabKey&&_this.state.capture){e.preventDefault();if(e.shiftKey){var linesBeforeCaret=_this._getLines(value2,selectionStart);var startLine=linesBeforeCaret.length-1;var endLine=_this._getLines(value2,selectionEnd).length-1;var nextValue=value2.split("\n").map(function(line2,i2){if(i2>=startLine&&i2<=endLine&&line2.startsWith(tabCharacter)){return line2.substring(tabCharacter.length);}return line2;}).join("\n");if(value2!==nextValue){var startLineText=linesBeforeCaret[startLine];_this._applyEdits({value:nextValue,selectionStart:startLineText.startsWith(tabCharacter)?selectionStart-tabCharacter.length:selectionStart,selectionEnd:selectionEnd-(value2.length-nextValue.length)});}}else if(selectionStart!==selectionEnd){var _linesBeforeCaret=_this._getLines(value2,selectionStart);var _startLine=_linesBeforeCaret.length-1;var _endLine=_this._getLines(value2,selectionEnd).length-1;var _startLineText=_linesBeforeCaret[_startLine];_this._applyEdits({value:value2.split("\n").map(function(line2,i2){if(i2>=_startLine&&i2<=_endLine){return tabCharacter+line2;}return line2;}).join("\n"),selectionStart:/\S/.test(_startLineText)?selectionStart+tabCharacter.length:selectionStart,selectionEnd:selectionEnd+tabCharacter.length*(_endLine-_startLine+1)});}else{var updatedSelection=selectionStart+tabCharacter.length;_this._applyEdits({value:value2.substring(0,selectionStart)+tabCharacter+value2.substring(selectionEnd),selectionStart:updatedSelection,selectionEnd:updatedSelection});}}else if(e.keyCode===KEYCODE_BACKSPACE){var hasSelection=selectionStart!==selectionEnd;var textBeforeCaret=value2.substring(0,selectionStart);if(textBeforeCaret.endsWith(tabCharacter)&&!hasSelection){e.preventDefault();var _updatedSelection=selectionStart-tabCharacter.length;_this._applyEdits({value:value2.substring(0,selectionStart-tabCharacter.length)+value2.substring(selectionEnd),selectionStart:_updatedSelection,selectionEnd:_updatedSelection});}}else if(e.keyCode===KEYCODE_ENTER){if(selectionStart===selectionEnd){var line=_this._getLines(value2,selectionStart).pop();var matches=line.match(/^\s+/);if(matches&&matches[0]){e.preventDefault();var indent2="\n"+matches[0];var _updatedSelection2=selectionStart+indent2.length;_this._applyEdits({value:value2.substring(0,selectionStart)+indent2+value2.substring(selectionEnd),selectionStart:_updatedSelection2,selectionEnd:_updatedSelection2});}}}else if(e.keyCode===KEYCODE_PARENS||e.keyCode===KEYCODE_BRACKETS||e.keyCode===KEYCODE_QUOTE||e.keyCode===KEYCODE_BACK_QUOTE){var chars=void 0;if(e.keyCode===KEYCODE_PARENS&&e.shiftKey){chars=["(",")"];}else if(e.keyCode===KEYCODE_BRACKETS){if(e.shiftKey){chars=["{","}"];}else{chars=["[","]"];}}else if(e.keyCode===KEYCODE_QUOTE){if(e.shiftKey){chars=['"','"'];}else{chars=["'","'"];}}else if(e.keyCode===KEYCODE_BACK_QUOTE&&!e.shiftKey){chars=["`","`"];}if(selectionStart!==selectionEnd&&chars){e.preventDefault();_this._applyEdits({value:value2.substring(0,selectionStart)+chars[0]+value2.substring(selectionStart,selectionEnd)+chars[1]+value2.substring(selectionEnd),selectionStart,selectionEnd:selectionEnd+2});}}else if((isMacLike?e.metaKey&&e.keyCode===KEYCODE_Z:e.ctrlKey&&e.keyCode===KEYCODE_Z)&&!e.shiftKey&&!e.altKey){e.preventDefault();_this._undoEdit();}else if((isMacLike?e.metaKey&&e.keyCode===KEYCODE_Z&&e.shiftKey:isWindows?e.ctrlKey&&e.keyCode===KEYCODE_Y:e.ctrlKey&&e.keyCode===KEYCODE_Z&&e.shiftKey)&&!e.altKey){e.preventDefault();_this._redoEdit();}else if(e.keyCode===KEYCODE_M&&e.ctrlKey&&(isMacLike?e.shiftKey:true)){e.preventDefault();_this.setState(function(state){return{capture:!state.capture};});}},_this._handleChange=function(e){var _e$target2=e.target,value2=_e$target2.value,selectionStart=_e$target2.selectionStart,selectionEnd=_e$target2.selectionEnd;_this._recordChange({value:value2,selectionStart,selectionEnd},true);_this.props.onValueChange(value2);},_this._history={stack:[],offset:-1},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(Editor2,[{key:"componentDidMount",value:function componentDidMount(){this._recordCurrentState();}},{key:"render",value:function render2(){var _this2=this;var _props=this.props,value2=_props.value,style=_props.style,padding=_props.padding,highlight=_props.highlight,textareaId=_props.textareaId,autoFocus=_props.autoFocus,disabled=_props.disabled,form=_props.form,maxLength=_props.maxLength,minLength=_props.minLength,name=_props.name,placeholder=_props.placeholder,readOnly=_props.readOnly,required2=_props.required,onClick=_props.onClick,onFocus=_props.onFocus,onBlur=_props.onBlur,onKeyUp=_props.onKeyUp;_props.onKeyDown;_props.onValueChange;_props.tabSize;_props.insertSpaces;_props.ignoreTabKey;var rest=_objectWithoutProperties(_props,["value","style","padding","highlight","textareaId","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onClick","onFocus","onBlur","onKeyUp","onKeyDown","onValueChange","tabSize","insertSpaces","ignoreTabKey"]);var contentStyle={paddingTop:padding,paddingRight:padding,paddingBottom:padding,paddingLeft:padding};var highlighted=highlight(value2);return React.createElement("div",_extends({},rest,{style:_extends({},styles$1.container,style)}),React.createElement("textarea",{ref:function ref2(c2){return _this2._input=c2;},style:_extends({},styles$1.editor,styles$1.textarea,contentStyle),className,id:textareaId,value:value2,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick,onKeyUp,onFocus,onBlur,disabled,form,maxLength,minLength,name,placeholder,readOnly,required:required2,autoFocus,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:false,"data-gramm":false}),React.createElement("pre",_extends({"aria-hidden":"true",style:_extends({},styles$1.editor,styles$1.highlight,contentStyle)},typeof highlighted==="string"?{dangerouslySetInnerHTML:{__html:highlighted+"<br />"}}:{children:highlighted})),React.createElement("style",{type:"text/css",dangerouslySetInnerHTML:{__html:cssText}}));}},{key:"session",get:function get2(){return{history:this._history};},set:function set2(session){this._history=session.history;}}]);return Editor2;}(React.Component);Editor.defaultProps={tabSize:2,insertSpaces:true,ignoreTabKey:false,padding:0};var _default=lib.default=Editor;var styles$1={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};var prismCore={exports:{}};(function(module2){var _self=typeof window!=="undefined"?window:typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope?self:{};/**
196
+ ${tile.rectGraphics.scale.y})`);tile.allRects.forEach(rect=>{const r2=document.createElement("path");const poly=rect[0];let d=`M ${poly[0]} ${poly[1]}`;for(let i2=2;i2<poly.length;i2+=2){d+=` L ${poly[i2]} ${poly[i2+1]}`;}r2.setAttribute("d",d);if(rect[1]==="+"){r2.setAttribute("fill",this.options.plusStrandColor);}else{r2.setAttribute("fill",this.options.minusStrandColor);}r2.setAttribute("opacity","0.3");gTile.appendChild(r2);});output.appendChild(gTile);});this.allTexts.filter(text2=>text2.text.visible).forEach(text2=>{const g=document.createElement("g");const t=document.createElement("text");t.setAttribute("text-anchor","middle");t.setAttribute("font-family",FONT_FAMILY);t.setAttribute("font-size",`${this.fontSize}px`);t.setAttribute("dy","-.2em");g.setAttribute("transform",`scale(${text2.text.scale.x},1)`);if(text2.strand==="+"){t.setAttribute("fill",this.options.plusStrandColor);}else{t.setAttribute("fill",this.options.minusStrandColor);}t.innerHTML=text2.text.text;g.appendChild(t);g.setAttribute("transform",`translate(${text2.text.x},${text2.text.y})scale(${text2.text.scale.x},1)`);output.appendChild(g);});return[base,base];}}]);return HorizontalGeneAnnotationsTrack;}(HorizontalTiled1DPixiTrack);function drawAnnotation(track,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,flipDiagonal){const startX=flipDiagonal?track._xScale(td.yStart):track._xScale(td.xStart);const endX=flipDiagonal?track._xScale(td.yEnd):track._xScale(td.xEnd);const startY=flipDiagonal?track._yScale(td.xStart):track._yScale(td.yStart);const endY=flipDiagonal?track._yScale(td.xEnd):track._yScale(td.yEnd);const uid=td.uid+flipDiagonal;const width=endX-startX;const height=endY-startY;let drawnRect={x:startX,y:startY,width,height};if(minSquareSize){if(width<minSquareSize||height<minSquareSize){drawnRect={x:startX-minSquareSize/2,y:startY-minSquareSize/2,width:minSquareSize,height:minSquareSize};}}track.drawnRects[uid]=drawnRect;const dRxMax=drawnRect.x+drawnRect.width;const dRyMax=drawnRect.y+drawnRect.height;if(drawnRect.x>xMin&&drawnRect.x<xMax||dRxMax>xMin&&dRxMax<xMax||drawnRect.y>yMin&&drawnRect.y<yMax||dRyMax>yMin&&dRyMax<yMax){if(drawnRect.width>minThres||drawnRect.height>minThres){graphics.drawRect(drawnRect.x,drawnRect.y,drawnRect.width,drawnRect.height);track.publish("annotationDrawn",{trackUuid:track.uuid,annotationUuid:uid,viewPos:[drawnRect.x,drawnRect.y,drawnRect.width,drawnRect.height],dataPos:[td.xStart,td.xEnd,td.yStart,td.yEnd],importance:td.importance,info:{patternType:track.options.patternType}});}}}let ArrowheadDomainsTrack=/*#__PURE__*/function(_TiledPixiTrack3){_inherits3(ArrowheadDomainsTrack,_TiledPixiTrack3);var _super30=_createSuper3(ArrowheadDomainsTrack);function ArrowheadDomainsTrack(...args){var _this54;_classCallCheck3(this,ArrowheadDomainsTrack);_this54=_super30.call(this,...args);_this54.drawnRects={};const{publish:publish2,subscribe:subscribe2,unsubscribe:unsubscribe2}=createPubSub();_this54.publish=publish2;_this54.subscribe=subscribe2;_this54.unsubscribe=unsubscribe2;return _this54;}_createClass3(ArrowheadDomainsTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.remoteId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(){}},{key:"destroyTile",value:function destroyTile(){}},{key:"draw",value:function draw(){this.drawnRects={};_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){const graphics=tile.graphics;if(!graphics){return;}graphics.clear();const stroke=colorToHex(this.options.rectangleDomainStrokeColor||"black");const fill=colorToHex(this.options.rectangleDomainFillColor||"grey");graphics.lineStyle(typeof this.options.rectangleDomainStrokeWidth!=="undefined"?this.options.rectangleDomainStrokeWidth:1,stroke,typeof this.options.rectangleDomainStrokeOpacity!=="undefined"?this.options.rectangleDomainStrokeOpacity:1);graphics.beginFill(fill,typeof this.options.rectangleDomainFillOpacity!=="undefined"?this.options.rectangleDomainFillOpacity:0.4);graphics.alpha=this.options.rectangleDomainOpacity||0.5;const minSquareSize=this.options.minSquareSize&&this.options.minSquareSize!=="none"?+this.options.minSquareSize:0;const minThres=this.options.rectangleMinSize?+this.options.rectangleMinSize:0;const xMin=this._xScale.range()[0];const xMax=this._xScale.range()[1];const yMin=this._yScale.range()[0];const yMax=this._yScale.range()[1];if(!tile.tileData.length)return;tile.tileData.filter(td=>!(td.uid in this.drawnRects)).forEach(td=>{drawAnnotation(this,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,this.options.flipDiagonal==="yes");if(this.options.flipDiagonal&&this.options.flipDiagonal==="copy"){drawAnnotation(this,graphics,td,minSquareSize,xMin,xMax,yMin,yMax,minThres,true);}});}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);for(const flipDiagonal of[true,false]){for(const tile of this.visibleAndFetchedTiles()){if(!tile.tileData||!tile.tileData.length)continue;tile.tileData.forEach(td=>{const uid=td.uid+flipDiagonal;const gTile=document.createElement("g");gTile.setAttribute("transform",`translate(${tile.graphics.position.x},${tile.graphics.position.y})scale(${tile.graphics.scale.x},${tile.graphics.scale.y})`);output.appendChild(gTile);if(uid in this.drawnRects){const rect=this.drawnRects[uid];const r2=document.createElement("rect");r2.setAttribute("x",rect.x);r2.setAttribute("y",rect.y);r2.setAttribute("width",rect.width);r2.setAttribute("height",rect.height);r2.setAttribute("fill",this.options.rectangleDomainFillColor?this.options.rectangleDomainFillColor:"grey");r2.setAttribute("opacity",0.3);r2.style.stroke="black";r2.style.strokeWidth="1px";gTile.appendChild(r2);}});}}return[base,base];}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ArrowheadDomainsTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){if(this.xScale().domain()[0]===newXScale.domain()[0]&&this.xScale().domain()[1]===newXScale.domain()[1]&&this.yScale().domain()[0]===newYScale.domain()[0]&&this.yScale().domain()[1]===newYScale.domain()[1])return;this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}}]);return ArrowheadDomainsTrack;}(TiledPixiTrack);const MOUSE_CLICK_TIME=250;let Annotations2dTrack=/*#__PURE__*/function(_TiledPixiTrack4){_inherits3(Annotations2dTrack,_TiledPixiTrack4);var _super31=_createSuper3(Annotations2dTrack);function Annotations2dTrack(context,options2){var _this55;_classCallCheck3(this,Annotations2dTrack);_this55=_super31.call(this,context,options2);const{pubSub}=context;_this55.drawnAnnotations={};_this55.drawnAnnoGfx={};_this55.selectedAnno=null;_this55.options.minSquareSize=+_this55.options.minSquareSize;const{publish:publish2,subscribe:subscribe2,unsubscribe:unsubscribe2}=createPubSub();_this55.publish=publish2;_this55.subscribe=subscribe2;_this55.unsubscribe=unsubscribe2;_this55.sT=0;_this55.annoSelectedBound=_this55.annoSelected.bind(_assertThisInitialized3(_this55));_this55.pubSubs.push(pubSub.subscribe("annoSelected",_this55.annoSelectedBound));return _this55;}_createClass3(Annotations2dTrack,[{key:"minX",get:function(){return this.tilesetInfo&&this.tilesetInfo.min_pos?this.tilesetInfo.min_pos[0]:0;}},{key:"maxX",get:function(){return this.tilesetInfo&&this.tilesetInfo.max_pos?this.tilesetInfo.max_pos[0]:this.tilesetInfo.max_width||this.tilesetInfo.max_size;}},{key:"minY",get:function(){return this.minX;}},{key:"maxY",get:function(){return this.maxX;}},{key:"maxSize",get:function(){const maxSize=this.tilesetInfo.max_pos&&Math.max(this.tilesetInfo.max_pos[0]-this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[1]-this.tilesetInfo.min_pos[1]);if(maxSize)return maxSize;if(this.tilesetInfo.max_size)return this.tilesetInfo.max_size;return 0;}},{key:"projection",value:function projection([x,y]){return[this._xScale(x),this._yScale(y)];}},{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.minX,this.maxX);const yZoomLevel=api.calculateZoomLevel(this._yScale,this.minY,this.maxY);return min(max(xZoomLevel,yZoomLevel),this.maxZoom);}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo)return;this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.tilesetInfo.max_zoom,this.maxSize);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.tilesetInfo.max_zoom,this.maxSize);const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<this.xTiles.length;i2++){for(let j=0;j<this.yTiles.length;j++){tiles.push([zoomLevel,this.xTiles[i2],this.yTiles[j]]);}}this.setVisibleTiles(tiles);}},{key:"draw",value:function draw(){this.drawnAnnotations={};_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile,force=false,silent=false){if(!tile.graphics)return;tile.graphics.__tile__=tile;const graphics=tile.graphics;graphics.clear();this.setBorderStyle(graphics);this.setFill(graphics);graphics.alpha=+this.options.rectangleDomainOpacity;if(!tile.tileData.length)return;tile.tileData.filter(td=>!(td.uid in this.drawnAnnotations)||force).forEach(td=>{const[startX,startY]=this.projection([td.xStart,td.yStart]);const[endX,endY]=this.projection([td.xEnd,td.yEnd]);if(this.options.exclude&&this.options.exclude.indexOf(td.uid)>=0){return;}this.drawAnnotation(this.prepAnnotation(graphics,td.uid,startX,startY,endX-startX,endY-startY,td),silent);});}},{key:"prepAnnotation",value:function prepAnnotation(graphics,uid,startX,startY,width,height,td){let info;try{info=JSON.parse(td.fields);}catch(e){}return{graphics,id:td.id,uid,annotation:{x:startX,y:startY,width,height},dataPos:[td.xStart,td.xEnd,td.yStart,td.yEnd],importance:td.importance,info};}},{key:"drawAnnotation",value:function drawAnnotation({graphics,id:id2,uid,annotation,dataPos,importance,info},silent){if(this.options.minSquareSize){if(annotation.width<this.options.minSquareSize||annotation.height<this.options.minSquareSize){annotation.x=(annotation.x+annotation.width)/2;annotation.y=(annotation.y+annotation.height)/2;annotation.width=this.options.minSquareSize;annotation.height=this.options.minSquareSize;}}this.drawnAnnotations[uid]=annotation;const viewPos=[annotation.x,annotation.y,annotation.width,annotation.height];let rectGfx=this.drawnAnnoGfx[uid];if(!rectGfx){rectGfx=new GLOBALS.PIXI.Graphics();this.drawnAnnoGfx[uid]=rectGfx;}if(graphics.children.indexOf(rectGfx)===-1){graphics.addChild(rectGfx);}this._drawRect(rectGfx,viewPos,uid);graphics.interactive=true;rectGfx.interactive=true;rectGfx.buttonMode=true;const payload={id:id2,uid,dataPos,importance,info,viewPos:[annotation.x,annotation.y,annotation.x+annotation.width,annotation.y+annotation.height]};rectGfx.mouseover=()=>this.hover(rectGfx,viewPos,uid);rectGfx.mouseout=()=>this.blur(rectGfx,viewPos,uid);rectGfx.mousedown=()=>this.mouseDown();rectGfx.mouseup=event=>this.mouseUp(rectGfx,viewPos,uid,event,payload);if(!silent){this.publish("annotationDrawn",{trackUuids:this.uuid,annotationUuid:uid,annotationId:id2,viewPos,dataPos,importance,info});}}},{key:"_drawRect",value:function _drawRect(graphics,viewPos,uid){let stroke=this.options.rectangleDomainStrokeColor;let strokeWidth=this.options.rectangleDomainStrokeWidth;let strokeAlpha=this.options.rectangleDomainStrokeOpacity;let fill=this.options.rectangleDomainFillColor;let fillAlpha=this.options.rectangleDomainFillOpacity;if(this.hoveredAnno===uid){stroke=this.options.hoverColor;strokeWidth=this.options.rectangleDomainStrokeWidth+1||2;strokeAlpha=1;fill=this.options.hoverColor;fillAlpha=this.options.rectangleDomainFillOpacity;}if(this.selectedAnno&&this.selectedAnno.uid===uid){stroke=this.options.selectColor;strokeWidth=this.options.rectangleDomainStrokeWidth+1||2;strokeAlpha=1;fill=this.options.selectColor;fillAlpha=max(0.33,this.options.rectangleDomainFillOpacity);}graphics.clear();if(this.options.trackBorderBgWidth){this.setBorderStyle(graphics,this.options.trackBorderBgColor,this.options.trackBorderBgWidth,this.options.trackBorderBgAlpha);this.setFill(graphics,fill,0);graphics.drawRect(...viewPos);}this.setBorderStyle(graphics,stroke,strokeWidth,strokeAlpha);this.setFill(graphics,fill,fillAlpha);graphics.drawRect(...viewPos);graphics.__viewPos__=viewPos;}},{key:"context",value:function context(graphics,viewPos,uid){return proc=>proc(graphics,viewPos,uid);}},{key:"click",value:function click(graphics,viewPos,uid,event,payload){this.select(graphics,viewPos,uid);this.pubSub.publish("app.click",{type:"annotation",event,payload});}},{key:"mouseDown",value:function mouseDown(){this.sT=performance.now();}},{key:"mouseUp",value:function mouseUp(graphics,viewPos,uid,event,payload){if(performance.now()-this.sT<=MOUSE_CLICK_TIME){this.click(graphics,viewPos,uid,event,payload);}}},{key:"hover",value:function hover(graphics,viewPos,uid){this.hoveredAnno=uid;this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"focus",value:function focus(graphics,viewPos,uid){this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"blur",value:function blur(graphics,viewPos,uid){this.hoveredAnno=null;this._drawRect(graphics,viewPos,uid);this.animate();}},{key:"select",value:function select(graphics,viewPos,uid,silent=false){let prevGfx=null;let prevUid=null;if(this.selectedAnno){prevGfx=this.selectedAnno.graphics;prevUid=this.selectedAnno.uid;}this.selectedAnno={graphics,uid};this.focus(graphics,viewPos,uid);if(this.options.onSelect&&!silent){window[this.options.onSelect](uid);this.pubSub.publish("annoSelected",uid);}if(prevGfx&&prevUid){this.blur(prevGfx,prevGfx.__viewPos__,prevUid);}}},{key:"unselect",value:function unselect(){const gfx=this.selectedAnno.graphics;const uid=this.selectedAnno.uid;this.selectedAnno=null;this.blur(gfx,gfx.__viewPos__,uid);}},{key:"annoSelected",value:function annoSelected(uid){if(!this.selectedAnno||this.selectedAnno.uid!==uid){if(this.selectedAnno)this.unselect();const gfx=this.drawnAnnoGfx[uid];if(gfx)this.select(gfx,gfx.__viewPos__,uid,true);}}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);this.visibleAndFetchedTiles().filter(tile=>tile.tileData&&tile.tileData.length).map(tile=>({graphics:tile.graphics,td:tile.tileData})).forEach(({td,graphics})=>{const gTile=document.createElement("g");gTile.setAttribute("transform",`translate(${graphics.position.x},${graphics.position.y})scale(${graphics.scale.x},${graphics.scale.y})`);output.appendChild(gTile);if(td.uid in this.drawnAnnotations){const rect=this.drawnAnnotations[td.uid];const r2=document.createElement("rect");r2.setAttribute("x",rect.x);r2.setAttribute("y",rect.y);r2.setAttribute("width",rect.width);r2.setAttribute("height",rect.height);r2.setAttribute("fill",this.options.fillColor||"grey");r2.setAttribute("opacity",0.3);r2.style.stroke=this.options.fillColor||"grey";r2.style.strokeWidth="1px";gTile.appendChild(r2);}});return[base,base];}},{key:"setBorderStyle",value:function setBorderStyle(graphics,color2=this.options.rectangleDomainStrokeColor,width=this.options.rectangleDomainStrokeWidth,alpha=this.options.rectangleDomainStrokeOpacity){graphics.lineStyle(typeof width!=="undefined"?width:1,colorToHex(color2||"black"),typeof alpha!=="undefined"?alpha:1);}},{key:"setFill",value:function setFill(graphics,color2=this.options.rectangleDomainFillColor,alpha=this.options.rectangleDomainFillOpacity){graphics.beginFill(colorToHex(color2||"grey"),typeof alpha!=="undefined"?alpha:0.4);}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Annotations2dTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}}]);return Annotations2dTrack;}(TiledPixiTrack);let Annotations1dTrack=/*#__PURE__*/function(_PixiTrack3){_inherits3(Annotations1dTrack,_PixiTrack3);var _super32=_createSuper3(Annotations1dTrack);function Annotations1dTrack(context,options2,isVertical){var _this56;_classCallCheck3(this,Annotations1dTrack);_this56=_super32.call(this,context,options2);_this56.pubSub=context.pubSub;_this56.options=options2;_this56.isVertical=isVertical;_this56.rects={};_this56.defaultColor=color("red");return _this56;}_createClass3(Annotations1dTrack,[{key:"draw",value:function draw(){const globalMinRectWidth=typeof this.options.minRectWidth!=="undefined"?this.options.minRectWidth:10;const globalFill=typeof this.options.fill!=="undefined"?color(this.options.fill):this.defaultColor;const globalFillOpacity=typeof this.options.fillOpacity!=="undefined"?+this.options.fillOpacity:0.2;const globalStroke=typeof this.options.stroke!=="undefined"?color(this.options.stroke):this.defaultColor;const globalStrokeWidth=typeof this.options.strokeWidth!=="undefined"?+this.options.strokeWidth:1;const globalStrokeOpacity=typeof this.options.strokeOpacity!=="undefined"?+this.options.strokeOpacity:0;let strokePos;if(this.options.strokePos&&this.options.strokePos.length){strokePos=Array.isArray(this.options.strokePos)?this.options.strokePos:[this.options.strokePos];}_get4(_getPrototypeOf4(Annotations1dTrack.prototype),"draw",this).call(this);const graphics=this.pMain;graphics.clear();const timeStamp=performance.now();this.options.regions.forEach(region=>{const id2=`${region[0]}-${region[1]}`;if(!this.rects[id2]){this.rects[id2]={graphics:new GLOBALS.PIXI.Graphics()};graphics.addChild(this.rects[id2].graphics);}this.rects[id2].timeStamp=timeStamp;const fill=color(region[2])||globalFill;let stroke=color(region[3])||globalStroke;if(!stroke){stroke=fill;}const fillHex=GLOBALS.PIXI.utils.rgb2hex([fill.r/255,fill.g/255,fill.b/255]);const strokeHex=GLOBALS.PIXI.utils.rgb2hex([stroke.r/255,stroke.g/255,stroke.b/255]);if(strokePos){graphics.lineStyle(1,strokeHex,0);graphics.beginFill(strokeHex,+region[5]||globalStrokeOpacity);}else{graphics.lineStyle(globalStrokeWidth,strokeHex,+region[5]||globalStrokeOpacity);graphics.beginFill(fillHex,+region[4]||globalFillOpacity);}const scale=this.isVertical?this._yScale:this._xScale;let start2=scale(+region[0]);const end2=scale(+region[1]);let width=end2-start2;const minRectWidth=typeof region[6]!=="undefined"?region[6]:globalMinRectWidth;if(width<minRectWidth){start2=(start2+end2)/2-minRectWidth/2;width=minRectWidth;}if(strokePos){graphics.lineStyle(1,strokeHex,0);graphics.beginFill(strokeHex,+region[5]||globalStrokeOpacity);strokePos.forEach(pos=>{if(pos==="top"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2,globalStrokeWidth,width);}else{graphics.drawRect(start2,0,width,globalStrokeWidth);}}if(pos==="right"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2,this.dimensions[0],globalStrokeWidth);}else{graphics.drawRect(start2,0,globalStrokeWidth,this.dimensions[1]);}}if(pos==="bottom"||pos==="around"){if(this.isVertical){graphics.drawRect(this.dimensions[0]-globalStrokeWidth,start2,globalStrokeWidth,width);}else{graphics.drawRect(start2,this.dimensions[1]-globalStrokeWidth,width,globalStrokeWidth);}}if(pos==="left"||pos==="around"){if(this.isVertical){graphics.drawRect(0,start2+width-globalStrokeWidth,this.dimensions[0],globalStrokeWidth);}else{graphics.drawRect(start2+width-globalStrokeWidth,0,globalStrokeWidth,this.dimensions[1]);}}});}else{graphics.lineStyle(globalStrokeWidth,strokeHex,+region[5]||globalStrokeOpacity);}this.rects[id2].graphics.clear();this.rects[id2].graphics.interactive=true;this.rects[id2].graphics.buttonMode=true;graphics.beginFill(fillHex,+region[4]||globalFillOpacity);if(this.isVertical){graphics.drawRect(0,start2,this.dimensions[0],width);this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(0,start2,this.dimensions[0],width);}else{graphics.drawRect(start2,0,width,this.dimensions[1]);this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(start2,0,width,this.dimensions[1]);}this.rects[id2].graphics.mousedown=()=>{this.rects[id2].mouseDownTime=performance.now();};this.rects[id2].graphics.mouseup=event=>{if(performance.now()-this.rects[id2].mouseDownTime<MAX_CLICK_DELAY$1){this.pubSub.publish("app.click",{type:"annotation",event,payload:region});}};});Object.values(this.rects).filter(rect=>rect.timeStamp!==timeStamp).forEach(rect=>graphics.removeChild(rect.graphics));}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Annotations1dTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Annotations1dTrack;}(PixiTrack);let Horizontal2DDomainsTrack=/*#__PURE__*/function(_TiledPixiTrack5){_inherits3(Horizontal2DDomainsTrack,_TiledPixiTrack5);var _super33=_createSuper3(Horizontal2DDomainsTrack);function Horizontal2DDomainsTrack(context,options2){var _this57;_classCallCheck3(this,Horizontal2DDomainsTrack);_this57=_super33.call(this,context,options2);_this57.drawnRects=/* @__PURE__ */new Set();_this57.pMain=_this57.pMobile;return _this57;}_createClass3(Horizontal2DDomainsTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);if(this.options&&this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();const expandedXScale=this._xScale.copy();expandedXScale.domain([this._xScale.invert(this._xScale.range()[0]-this.dimensions[1]*Math.sqrt(2)),this._xScale.invert(this._xScale.range()[1]+this.dimensions[1]*Math.sqrt(2))]);this.xTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const maxWidth=this.tilesetInfo.max_width;const tileWidth=maxWidth/2**zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=i2;j<cols.length;j++){const tileBottomPosition=(j-i2-2)*(this._xScale(tileWidth)-this._xScale(0))*Math.sqrt(2)/2;if(tileBottomPosition>this.dimensions[1]){continue;}const newTile=[zoomLevel,rows[i2],cols[j]];newTile.mirrored=false;tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(tile){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"initTile",this).call(this,tile);this.drawTile(tile);}},{key:"destroyTile",value:function destroyTile(tile,graphics){}},{key:"draw",value:function draw(){if(!this.delayDrawing){this.drawnRects.clear();}_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;graphics.clear();const stroke=colorToHex(this.options.rectangleDomainStrokeColor?this.options.rectangleDomainStrokeColor:"black");const fill=colorToHex(this.options.rectangleDomainFillColor?this.options.rectangleDomainFillColor:"grey");graphics.lineStyle(1/this.pMain.scale.x,stroke,1);graphics.beginFill(fill,0.4);graphics.alpha=this.options.rectangleDomainOpacity?this.options.rectangleDomainOpacity:0.5;if(!tile.tileData.sort)return;for(const td of tile.tileData){const startX=this._refXScale(td.xStart);const endX=this._refXScale(td.xEnd);const startY=this._refYScale(td.yStart);const endY=this._refYScale(td.yEnd);const uid=td.uid;if(this.drawnRects.has(uid)){continue;}this.drawnRects.add(uid);graphics.drawRect(startX,startY,endX-startX,endY-startY);graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){const graphics=tile.graphics;graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(Horizontal2DDomainsTrack.prototype),"zoomed",this).call(this,newXScale,newYScale,k,tx,ty);this.pMain.position.x=tx;this.pMain.position.y=this.position[1]+this.dimensions[1];this.pMain.scale.x=k;this.pMain.scale.y=k;if(this.options.oneDHeatmapFlipped){this.pMain.scale.y=-k;this.pMain.position.y=this.position[1];}this.draw();}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}}]);return Horizontal2DDomainsTrack;}(TiledPixiTrack);let SquareMarkersTrack=/*#__PURE__*/function(_TiledPixiTrack6){_inherits3(SquareMarkersTrack,_TiledPixiTrack6);var _super34=_createSuper3(SquareMarkersTrack);function SquareMarkersTrack(context,options2){var _this58;_classCallCheck3(this,SquareMarkersTrack);_this58=_super34.call(this,context,options2);_this58.drawnRects=/* @__PURE__ */new Set();return _this58;}_createClass3(SquareMarkersTrack,[{key:"tileToLocalId",value:function tileToLocalId(tile){return`${tile.join(".")}`;}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return`${tile.join(".")}`;}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);return zoomLevel;}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x)}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(mirrorTiles=true){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"initTile",value:function initTile(tile){}},{key:"destroyTile",value:function destroyTile(tile,graphics){}},{key:"draw",value:function draw(){this.drawnRects.clear();_get4(_getPrototypeOf4(SquareMarkersTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;graphics.clear();const fill=colorToHex("green");graphics.lineStyle(1,255,1);graphics.beginFill(fill,0.8);graphics.alpha=0.5;for(const td of tile.tileData){const startX=this._xScale(td.xStart);const endX=this._xScale(td.xEnd);const startY=this._yScale(td.yStart);const endY=this._yScale(td.yEnd);const uid=td.uid;if(this.drawnRects.has(uid)){continue;}this.drawnRects.add(uid);const MIN_WIDTH=6;const MIN_HEIGHT=6;let width=endY-startY;let height=endX-startX;const centerX=(startX+endX)/2;const centerY=(startY+endY)/2;if(width<MIN_WIDTH){width=MIN_WIDTH;}if(height<MIN_HEIGHT){height=MIN_HEIGHT;}graphics.drawRect(centerX-width/2,centerY-height/2,width,height);}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(SquareMarkersTrack.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.refreshTiles();this.draw();}}]);return SquareMarkersTrack;}(TiledPixiTrack);function ChromosomeInfo(filepath,success,pubSub=fake){const ret={};ret.absToChr=absPos=>ret.chrPositions?absToChr(absPos,ret):null;ret.chrToAbs=([chrName,chrPos]=[])=>ret.chrPositions?chrToAbs(chrName,chrPos,ret):null;return api.text(filepath,(error,chrInfoText)=>{if(error){if(success)success(null);}else{const data2=tsvParseRows(chrInfoText);const chromInfo=parseChromsizesRows(data2);Object.keys(chromInfo).forEach(key=>{ret[key]=chromInfo[key];});if(success)success(ret);}},pubSub).then(()=>ret);}let SearchField=/*#__PURE__*/function(){function SearchField(chromInfo){_classCallCheck3(this,SearchField);this.chromInfo=chromInfo;this.chromInfoBisector=bisector(d=>d.pos).left;}_createClass3(SearchField,[{key:"scalesToPositionText",value:function scalesToPositionText(xScale,yScale,twoD=false){if(this.chromInfo===null){return"";}if(!xScale||!yScale){return"";}const x12=absToChr(xScale.domain()[0],this.chromInfo);const x2=absToChr(xScale.domain()[1],this.chromInfo);const y12=absToChr(yScale.domain()[0],this.chromInfo);const y2=absToChr(yScale.domain()[1],this.chromInfo);let positionString=null;const stringFormat=format$1(",d");if(x12[0]!==x2[0]){positionString=`${x12[0]}:${stringFormat(Math.floor(x12[1]))}-${x2[0]}:${stringFormat(Math.ceil(x2[1]))}`;}else{positionString=`${x12[0]}:${stringFormat(Math.floor(x12[1]))}-${stringFormat(Math.ceil(x2[1]))}`;}if(twoD){if(y12[0]!==y2[0]){positionString+=` & ${y12[0]}:${stringFormat(Math.floor(y12[1]))}-${y2[0]}:${stringFormat(Math.ceil(y2[1]))}`;}else{positionString+=` & ${y12[0]}:${stringFormat(Math.floor(y12[1]))}-${stringFormat(Math.ceil(y2[1]))}`;}}if(x12[2]<=0||x2[2]>0||twoD&&(y12[2]<=0||y2[2]>0)){positionString+=` [offset ${x12[2]},${x2[2]}`;if(twoD){positionString+=`:${y12[2]},${y2[2]}`;}positionString+="]";}return positionString;}},{key:"convertNumberNotation",value:function convertNumberNotation(numStr){let newNumStr=numStr;if(!newNumStr.includes("M",newNumStr.length-1)&&!newNumStr.includes("K",newNumStr.length-1)){return newNumStr;}let numZerosToAdd=0;let decPointPosFromEnd=0;if(newNumStr.includes("M",newNumStr.length-1)){numZerosToAdd=6;newNumStr=newNumStr.replace("M","");}else{numZerosToAdd=3;newNumStr=newNumStr.replace("K","");}if(Number.isNaN(+newNumStr)){return numStr;}newNumStr=(+newNumStr).toString();if(newNumStr.includes(".")){decPointPosFromEnd=newNumStr.length-1-newNumStr.indexOf(".");newNumStr=(+newNumStr.replace(".","")).toString();}const totalZerosToAdd=numZerosToAdd-decPointPosFromEnd;if(totalZerosToAdd<0){return numStr;}newNumStr+="0".repeat(totalZerosToAdd);return newNumStr;}},{key:"parsePosition",value:function parsePosition(positionText,prevChr=null){const positionParts=positionText.split(":");let chr=null;let pos=0;if(positionParts.length>1){chr=positionParts[0];pos=+this.convertNumberNotation(positionParts[1].replace(/,/g,""));}else if(positionParts[0]in this.chromInfo.chrPositions){chr=positionParts[0];pos=0;if(prevChr!==null){pos=+this.chromInfo.chromLengths[chr];}}else{pos=+this.convertNumberNotation(positionParts[0].replace(/,/g,""));chr=null;if(prevChr)chr=prevChr;}let retPos=null;if(chr===null){chr=prevChr;retPos=pos;}else if(chr in this.chromInfo.chrPositions){retPos=this.chromInfo.chrPositions[chr].pos+pos;}return[chr,pos,retPos];}},{key:"matchRangesToLarger",value:function matchRangesToLarger(range1,range2){if(range1[1]-range1[0]<range2[1]-range2[0]){const toExpand2=range2[1]-range2[0]-(range1[1]-range1[0]);return[[range1[0]-toExpand2/2,range1[1]+toExpand2/2],range2];}const toExpand=range1[1]-range1[0]-(range2[1]-range2[0]);return[range1,[range2[0]-toExpand/2,range2[1]+toExpand/2]];}},{key:"getSearchRange",value:function getSearchRange(term){if(term.length===0){return null;}let parts=term.split("-");parts=parts.filter(d=>d.length>0);let range2=null;if(parts[0].indexOf("-")===0){parts[0]=parts[0].slice(3,parts[0].length);}if(parts.length>1){let[chr1,chrPos1,genomePos1]=this.parsePosition(parts[0]);let[chr2,chrPos2,genomePos2]=this.parsePosition(parts[1],chr1);const tempRange1=[genomePos1,genomePos2];[chr1,chrPos1,genomePos1]=this.parsePosition(parts[1]);[chr2,chrPos2,genomePos2]=this.parsePosition(parts[0],chr1);if(chr1===null&&chr2!==null){[chr1,chrPos1,genomePos1]=this.parsePosition(parts[1],chr2);}const tempRange2=[genomePos1,genomePos2];if(tempRange2[1]-tempRange2[0]>tempRange1[1]-tempRange1[0])return tempRange2;return tempRange1;}if(parts[0]in this.chromInfo.chrPositions){const chromPosition=+this.chromInfo.chrPositions[parts[0]].pos;range2=[chromPosition,chromPosition+ +this.chromInfo.chromLengths[parts[0]]];}else{const[chr1,chrPos1,pos1]=this.parsePosition(parts[0]);range2=[pos1-8e6,pos1+8e6];}if(range2[0]>range2[1]){return[range2[1],range2[0]];}return range2;}},{key:"parseOffset",value:function parseOffset(offsetText){const parts=offsetText.split(":");if(parts.length===0){return[[0,0],[0,0]];}if(parts.length===1){const sparts=parts[0].split(",");return[[+sparts[0],+sparts[1]],[0,0]];}const sparts0=parts[0].split(",");const sparts1=parts[1].split(",");return[[+sparts0[0],+sparts0[1]],[+sparts1[0],+sparts1[1]]];}},{key:"searchPosition",value:function searchPosition(text2){let range1=null;let range2=null;text2=text2.trim();const offsetRe=/\[offset (.+?)\]/.exec(text2);let offset=[[0,0],[0,0]];if(offsetRe){text2=text2.replace(offsetRe[0],"");offset=this.parseOffset(offsetRe[1]);}const parts=text2.split(" & ");if(parts.length>1){range1=this.getSearchRange(parts[0].split(" ")[0]);range2=this.getSearchRange(parts[1].split(" ")[0]);}else{range1=this.getSearchRange(parts[0]);}if(range1!==null&&range2!==null){[range1,range2]=this.matchRangesToLarger(range1,range2);}if(range1){range1[0]+=offset[0][0];range1[1]+=offset[0][1];}if(range2){range2[0]+=offset[1][0];range2[1]+=offset[1][1];}return[range1,range2];}}]);return SearchField;}();let Chromosome2DLabels=/*#__PURE__*/function(_PixiTrack4){_inherits3(Chromosome2DLabels,_PixiTrack4);var _super35=_createSuper3(Chromosome2DLabels);function Chromosome2DLabels(context,options2){var _this59;_classCallCheck3(this,Chromosome2DLabels);_this59=_super35.call(this,context,options2);const{dataConfig,animate,pubSub}=context;_this59.searchField=null;_this59.chromInfo=null;_this59.animate=animate;const server=dataConfig.server;const uid=dataConfig.tilesetUid;const chromSizesPath=`${server}/chrom-sizes/?id=${uid}`;ChromosomeInfo(chromSizesPath,newChromInfo=>{_this59.chromInfo=newChromInfo;_this59.searchField=new SearchField(_this59.chromInfo);_this59.draw();_this59.texts=[];for(let i2=0;i2<_this59.chromInfo.cumPositions.length;i2++){const thisTexts=[];for(let j=0;j<_this59.chromInfo.cumPositions.length;j++){const textStr=`${_this59.chromInfo.cumPositions[i2].chr}/${_this59.chromInfo.cumPositions[j].chr}`;const text2=new GLOBALS.PIXI.Text(textStr,{fontSize:"14px",fontFamily:"Arial",fill:"red"});text2.anchor.x=0.5;text2.anchor.y=0.5;text2.visible=false;text2.hashValue=Math.random();thisTexts.push(text2);_this59.pMain.addChild(text2);}_this59.texts.push(thisTexts);}_this59.draw();_this59.animate();},pubSub);return _this59;}_createClass3(Chromosome2DLabels,[{key:"draw",value:function draw(){const allTexts=[];if(!this.texts){return;}if(!this.searchField){return;}const x12=absToChr(this._xScale.domain()[0],this.chromInfo);const x2=absToChr(this._xScale.domain()[1],this.chromInfo);const y12=absToChr(this._yScale.domain()[0],this.chromInfo);const y2=absToChr(this._yScale.domain()[1],this.chromInfo);for(let i2=0;i2<this.texts.length;i2++){for(let j=0;j<this.texts.length;j++){this.texts[i2][j].visible=false;}}for(let i2=x12[3];i2<=x2[3];i2++){for(let j=y12[3];j<=y2[3];j++){const xCumPos=this.chromInfo.cumPositions[i2];const yCumPos=this.chromInfo.cumPositions[j];const midX=xCumPos.pos+this.chromInfo.chromLengths[xCumPos.chr]/2;const midY=yCumPos.pos+this.chromInfo.chromLengths[yCumPos.chr]/2;const viewportMidX=this._xScale(midX);const viewportMidY=this._yScale(midY);const text2=this.texts[i2][j];text2.x=viewportMidX;text2.y=viewportMidY;text2.updateTransform();const bbox=text2.getBounds();const bwh=bbox.width/2;const bhh=bbox.height/2;if(viewportMidX+bwh>this.dimensions[0]){text2.x-=viewportMidX+bwh-this.dimensions[0];}else if(viewportMidX-bwh<0){text2.x-=viewportMidX-bwh;}if(viewportMidY+bhh>this.dimensions[1]){text2.y-=viewportMidY+bhh-this.dimensions[1];}else if(viewportMidY-bhh<0){text2.y-=viewportMidY-bhh;}text2.visible=true;allTexts.push({importance:this.texts[i2][j].hashValue,text:this.texts[i2][j],caption:null});}}this.hideOverlaps(allTexts);}},{key:"hideOverlaps",value:function hideOverlaps(allTexts){let allBoxes=[];allBoxes=allTexts.map(val2=>{const text2=val2.text;text2.updateTransform();const b=text2.getBounds();const box=[b.x,b.y,b.x+b.width,b.y+b.height];return box;});boxIntersect_1(allBoxes,(i2,j)=>{if(allTexts[i2].importance>allTexts[j].importance){allTexts[j].text.visible=0;}else{allTexts[i2].text.visible=0;}});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Chromosome2DLabels.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Chromosome2DLabels;}(PixiTrack);let ChromosomeGrid=/*#__PURE__*/function(_PixiTrack5){_inherits3(ChromosomeGrid,_PixiTrack5);var _super36=_createSuper3(ChromosomeGrid);function ChromosomeGrid(context,options2){var _this60;_classCallCheck3(this,ChromosomeGrid);_this60=_super36.call(this,context,options2);const{chromInfoPath,dataConfig,animate,pubSub,orientation:orientation2="2d",isOverlay=false}=context;_this60.searchField=null;_this60.chromInfo=null;_this60.animate=animate;_this60.orientation=orientation2;_this60.isOverlay=isOverlay;let chromSizesPath=chromInfoPath;if(!chromSizesPath){chromSizesPath=`${dataConfig.server}/chrom-sizes/?id=${dataConfig.tilesetUid}`;}ChromosomeInfo(chromSizesPath,newChromInfo=>{_this60.chromInfo=newChromInfo;_this60.searchField=new SearchField(_this60.chromInfo);_this60.texts=[];_this60.lineGraphics=new GLOBALS.PIXI.Graphics();_this60.lineGraphics1dH=new GLOBALS.PIXI.Graphics();_this60.lineGraphics1dV=new GLOBALS.PIXI.Graphics();_this60.lineGraphics2d=new GLOBALS.PIXI.Graphics();_this60.mask1dH=new GLOBALS.PIXI.Graphics();_this60.mask1dV=new GLOBALS.PIXI.Graphics();_this60.mask2d=new GLOBALS.PIXI.Graphics();_this60.lineGraphics.addChild(_this60.lineGraphics1dH);_this60.lineGraphics1dH.addChild(_this60.mask1dH);_this60.lineGraphics.addChild(_this60.lineGraphics1dV);_this60.lineGraphics1dV.addChild(_this60.mask1dV);_this60.lineGraphics.addChild(_this60.lineGraphics2d);_this60.lineGraphics2d.addChild(_this60.mask2d);_this60.pMain.addChild(_this60.lineGraphics);_this60.draw();_this60.animate();},pubSub);return _this60;}_createClass3(ChromosomeGrid,[{key:"drawLines",value:function drawLines(orientation2=this.orientation,left2=0,top2=0){let graphics=this.lineGraphics;if(this.isOverlay&&orientation2==="1d-horizontal"){graphics=this.lineGraphics1dH;}if(this.isOverlay&&orientation2==="1d-vertical"){graphics=this.lineGraphics1dV;}if(this.isOverlay&&orientation2==="2d"){graphics=this.lineGraphics2d;}const strokeColor=colorToHex(this.options.lineStrokeColor?this.options.lineStrokeColor:"blue");const strokeWidth=this.options.lineStrokeWidth?this.options.lineStrokeWidth:1;graphics.lineStyle(strokeWidth,strokeColor,1);if(orientation2==="2d"||orientation2==="1d-horizontal"){graphics.moveTo(this._xScale(0)+left2,top2);graphics.lineTo(this._xScale(0)+left2,this.dimensions[1]+top2);}if(orientation2==="2d"||orientation2==="1d-vertical"){graphics.moveTo(left2,this._yScale(0)+top2);graphics.lineTo(this.dimensions[0]+left2,this._yScale(0)+top2);}for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chrPos=this.chromInfo.cumPositions[i2];const chrEnd=chrPos.pos+ +this.chromInfo.chromLengths[chrPos.chr]+1;if(orientation2==="2d"||orientation2==="1d-horizontal"){graphics.moveTo(this._xScale(chrEnd)+left2,top2);graphics.lineTo(this._xScale(chrEnd)+left2,this.dimensions[1]+top2);}if(orientation2==="2d"||orientation2==="1d-vertical"){graphics.moveTo(left2,this._yScale(chrEnd)+top2);graphics.lineTo(this.dimensions[0]+left2,this._yScale(chrEnd)+top2);}}}},{key:"draw",value:function draw(){if(!this.texts){return;}if(!this.searchField){return;}this.lineGraphics.clear();if(this.isOverlay){this.lineGraphics1dH.clear();this.lineGraphics1dV.clear();this.lineGraphics2d.clear();this.mask1dH.clear();this.mask1dV.clear();this.mask2d.clear();this.mask1dH.beginFill(16777215);this.mask1dV.beginFill(16777215);this.mask2d.beginFill(16711680);for(let i2=0;i2<this.options.orientationsAndPositions.length;i2++){const orientation2=this.options.orientationsAndPositions[i2].orientation;const{left:left2,top:top2,width,height}=this.options.orientationsAndPositions[i2].position;if(orientation2==="1d-horizontal"){this.mask1dH.drawRect(left2,top2,width,height);}if(orientation2==="1d-vertical"){this.mask1dV.drawRect(left2,top2,width,height);}if(orientation2==="2d"){this.mask2d.drawRect(left2,top2,width,height);}this.drawLines(orientation2,left2,top2);}this.lineGraphics1dH.mask=this.mask1dH;this.lineGraphics1dV.mask=this.mask1dV;this.lineGraphics2d.mask=this.mask2d;}else{this.drawLines();}}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"setPosition",this).call(this,newPosition);[this.pMain.position.x,this.pMain.position.y]=this.position;}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"createSvgLine",value:function createSvgLine(x12,x2,y12,y2,stroke,strokeWidth){const line=document.createElement("line");line.setAttribute("x1",x12);line.setAttribute("x2",x2);line.setAttribute("y1",y12);line.setAttribute("y2",y2);line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",strokeWidth);return line;}},{key:"drawLinesSvg",value:function drawLinesSvg(output,orientation2,width,height,left2=0,top2=0){const strokeColor=this.options.lineStrokeColor?this.options.lineStrokeColor:"blue";const strokeWidth=this.options.lineStrokeWidth;if(orientation2==="2d"||orientation2==="1d-vertical"){const y=this._yScale(0);if(y>0&&y<top2+height){output.appendChild(this.createSvgLine(left2,width+left2,y+top2,y+top2,strokeColor,strokeWidth));}}if(orientation2==="2d"||orientation2==="1d-horizontal"){const x=this._xScale(0);if(x>0&&x<left2+width){output.appendChild(this.createSvgLine(x+left2,x+left2,top2,height+top2,strokeColor,strokeWidth));}}for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chrPos=this.chromInfo.cumPositions[i2];const chrEnd=chrPos.pos+ +this.chromInfo.chromLengths[chrPos.chr]+1;if(orientation2==="2d"||orientation2==="1d-vertical"){const y=this._yScale(chrEnd);if(y>0&&y<top2+height){output.appendChild(this.createSvgLine(left2,width+left2,y+top2,y+top2,strokeColor,strokeWidth));}}if(orientation2==="2d"||orientation2==="1d-horizontal"){const x=this._xScale(chrEnd);if(x>0&&x<left2+width){output.appendChild(this.createSvgLine(x+left2,x+left2,top2,height+top2,strokeColor,strokeWidth));}}}}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(ChromosomeGrid.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");track.appendChild(output);base.setAttribute("id","ChromosomeGrid");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);if(!this.chromInfo){return[base,track];}if(this.isOverlay){for(let i2=0;i2<this.options.orientationsAndPositions.length;i2++){const orientation2=this.options.orientationsAndPositions[i2].orientation;const{left:left2,top:top2,width,height}=this.options.orientationsAndPositions[i2].position;this.drawLinesSvg(output,orientation2,width,height,left2,top2);}}else{this.drawLinesSvg(output,this.orientation,...this.dimensions);}return[base,track];}}]);return ChromosomeGrid;}(PixiTrack);const MAX_CLICK_DELAY=300;let Chromosome2DAnnotations=/*#__PURE__*/function(_PixiTrack6){_inherits3(Chromosome2DAnnotations,_PixiTrack6);var _super37=_createSuper3(Chromosome2DAnnotations);function Chromosome2DAnnotations(context,options2){var _this61;_classCallCheck3(this,Chromosome2DAnnotations);_this61=_super37.call(this,context,options2);const{chromInfoPath,pubSub}=context;_this61.pubSub=pubSub;_this61.rects={};ChromosomeInfo(chromInfoPath,newChromInfo=>{_this61.chromInfo=newChromInfo;_this61.draw();},_this61.pubSub);return _this61;}_createClass3(Chromosome2DAnnotations,[{key:"draw",value:function draw(){if(!this.chromInfo){return;}const minRectWidth=this.options.minRectWidth?this.options.minRectWidth:10;const minRectHeight=this.options.minRectWidth?this.options.minRectHeight:10;_get4(_getPrototypeOf4(Chromosome2DAnnotations.prototype),"draw",this).call(this);const graphics=this.pMain;graphics.clear();const timeStamp=performance.now();this.options.regions.forEach(region=>{const id2=region.slice(0,6).join("-");if(!this.rects[id2]){this.rects[id2]={graphics:new GLOBALS.PIXI.Graphics()};graphics.addChild(this.rects[id2].graphics);}this.rects[id2].timeStamp=timeStamp;const colorFill=color(region[6]);let colorLine=color(region[7]);if(!colorLine){colorLine=colorFill;}const colorFillHex=GLOBALS.PIXI.utils.rgb2hex([colorFill.r/255,colorFill.g/255,colorFill.b/255]);const colorLineHex=GLOBALS.PIXI.utils.rgb2hex([colorLine.r/255,colorLine.g/255,colorLine.b/255]);graphics.lineStyle(1,colorLineHex,colorLine.opacity);graphics.beginFill(colorFillHex,colorFill.opacity);let startX=this._xScale(this.chromInfo.chrPositions[region[0]].pos+ +region[1]);const endX=this._xScale(this.chromInfo.chrPositions[region[0]].pos+ +region[2]);let startY=this._yScale(this.chromInfo.chrPositions[region[3]].pos+ +region[4]);const endY=this._yScale(this.chromInfo.chrPositions[region[3]].pos+ +region[5]);let width=endX-startX;let height=endY-startY;const _minRectWidth=typeof region[8]!=="undefined"?region[8]:minRectWidth;const _minRectHeight=typeof region[9]!=="undefined"?region[9]:minRectHeight;if(width<_minRectWidth){startX=(startX+endX)/2-_minRectWidth/2;width=_minRectWidth;}if(height<_minRectHeight){startY=(startY+endY)/2-_minRectHeight/2;height=_minRectHeight;}graphics.drawRect(startX,startY,width,height);this.rects[id2].graphics.clear();this.rects[id2].graphics.interactive=true;this.rects[id2].graphics.buttonMode=true;this.rects[id2].graphics.hitArea=new GLOBALS.PIXI.Rectangle(startX,startY,width,height);this.rects[id2].graphics.mousedown=()=>{this.rects[id2].mouseDownTime=performance.now();};this.rects[id2].graphics.mouseup=event=>{if(performance.now()-this.rects[id2].mouseDownTime<MAX_CLICK_DELAY){this.pubSub.publish("app.click",{type:"annotation",event,payload:region});}};});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(Chromosome2DAnnotations.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}}]);return Chromosome2DAnnotations;}(PixiTrack);const TICK_WIDTH=200;const TICK_HEIGHT=6;const TICK_TEXT_SEPARATION=2;const TICK_COLOR=7829367;let HorizontalChromosomeLabels=/*#__PURE__*/function(_PixiTrack7){_inherits3(HorizontalChromosomeLabels,_PixiTrack7);var _super38=_createSuper3(HorizontalChromosomeLabels);function HorizontalChromosomeLabels(context,options2){var _this62;_classCallCheck3(this,HorizontalChromosomeLabels);_this62=_super38.call(this,context,options2);const{dataConfig,animate,chromInfoPath,isShowGlobalMousePosition}=context;_this62.searchField=null;_this62.chromInfo=null;_this62.dataConfig=dataConfig;_this62.pTicks=new GLOBALS.PIXI.Graphics();_this62.pMain.addChild(_this62.pTicks);_this62.gTicks={};_this62.tickTexts={};_this62.options=options2;_this62.isShowGlobalMousePosition=isShowGlobalMousePosition;_this62.textFontSize=12;_this62.textFontFamily="Arial";_this62.textFontColor="#808080";_this62.textStrokeColor=_this62.getTheme()===THEME_DARK?"#000000":"#ffffff";_this62.pixiTextConfig={fontSize:+_this62.options.fontSize?`${+_this62.options.fontSize}px`:`${_this62.textFontSize}px`,fontFamily:_this62.textFontFamily,fill:_this62.options.color||_this62.textFontColor,lineJoin:"round",stroke:_this62.options.stroke||_this62.textStrokeColor,strokeThickness:2};_this62.stroke=colorToHex(_this62.pixiTextConfig.stroke);_this62.tickWidth=TICK_WIDTH;_this62.tickHeight=TICK_HEIGHT;_this62.tickTextSeparation=TICK_TEXT_SEPARATION;_this62.tickColor=_this62.options.tickColor?colorToHex(_this62.options.tickColor):TICK_COLOR;_this62.animate=animate;_this62.pubSubs=[];if(_this62.options.showMousePosition&&!_this62.hideMousePosition){_this62.hideMousePosition=setupShowMousePosition(_assertThisInitialized3(_this62),_this62.is2d,_this62.isShowGlobalMousePosition());}let chromSizesPath=chromInfoPath;if(!chromSizesPath){chromSizesPath=`${dataConfig.server}/chrom-sizes/?id=${dataConfig.tilesetUid}`;}ChromosomeInfo(chromSizesPath,newChromInfo=>{_this62.chromInfo=newChromInfo;_this62.searchField=new SearchField(_this62.chromInfo);_this62.rerender(_this62.options,true);_this62.draw();_this62.animate();},_this62.pubSub);return _this62;}_createClass3(HorizontalChromosomeLabels,[{key:"initBoundsTicks",value:function initBoundsTicks(){if(this.pTicks){this.pMain.removeChild(this.pTicks);this.pTicks=null;}if(!this.gBoundTicks){this.gBoundTicks=new GLOBALS.PIXI.Graphics();this.leftBoundTick=new GLOBALS.PIXI.Text("",this.pixiTextConfig);this.rightBoundTick=new GLOBALS.PIXI.Text("",this.pixiTextConfig);this.gBoundTicks.addChild(this.leftBoundTick);this.gBoundTicks.addChild(this.rightBoundTick);this.pMain.addChild(this.gBoundTicks);}this.texts=[];}},{key:"initChromLabels",value:function initChromLabels(){if(!this.chromInfo)return;if(this.gBoundTicks){this.pMain.removeChild(this.gBoundTicks);this.gBoundTicks=null;}if(!this.pTicks){this.pTicks=new GLOBALS.PIXI.Graphics();this.pMain.addChild(this.pTicks);}this.texts=[];this.pTicks.removeChildren();for(let i2=0;i2<this.chromInfo.cumPositions.length;i2++){const chromName=this.chromInfo.cumPositions[i2].chr;this.gTicks[chromName]=new GLOBALS.PIXI.Graphics();if(!this.tickTexts[chromName])this.tickTexts[chromName]=[];const text2=new GLOBALS.PIXI.Text(chromName,this.pixiTextConfig);text2.hashValue=Math.random();this.pTicks.addChild(text2);this.pTicks.addChild(this.gTicks[chromName]);this.texts.push(text2);}}},{key:"rerender",value:function rerender(options2,force){const strOptions=JSON.stringify(options2);if(!force&&strOptions===this.prevOptions)return;this.prevOptions=strOptions;this.options=options2;this.tickTexts={};this.pixiTextConfig.fontSize=+this.options.fontSize?`${+this.options.fontSize}px`:this.pixiTextConfig.fontSize;this.pixiTextConfig.fill=this.options.color||this.pixiTextConfig.fill;this.pixiTextConfig.stroke=this.options.stroke||this.pixiTextConfig.stroke;this.stroke=colorToHex(this.pixiTextConfig.stroke);this.tickColor=this.options.tickColor?colorToHex(this.options.tickColor):TICK_COLOR;if(this.options.tickPositions==="ends"){this.initBoundsTicks();}else{this.initChromLabels();}_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"rerender",this).call(this,options2,force);if(this.options.showMousePosition&&!this.hideMousePosition){this.hideMousePosition=setupShowMousePosition(this,this.is2d,this.isShowGlobalMousePosition());}if(!this.options.showMousePosition&&this.hideMousePosition){this.hideMousePosition();this.hideMousePosition=void 0;}}},{key:"formatTick",value:function formatTick(pos){const domain2=this._xScale.domain();const viewWidth=domain2[1]-domain2[0];const p=precisionPrefix(pos,viewWidth);const fPlain=format$1(",");const fPrecision=formatPrefix(`,.${p}`,viewWidth);let f2=fPlain;if(this.options.tickFormat==="si"){f2=fPrecision;}else if(this.options.tickFormat==="plain"){f2=fPlain;}else if(this.options.tickPositions==="ends"){f2=fPrecision;}return f2(pos);}},{key:"drawBoundsTicks",value:function drawBoundsTicks(x12,x2){const graphics=this.gBoundTicks;graphics.clear();graphics.lineStyle(1,0);const lineYStart=this.options.reverseOrientation?0:this.dimensions[1];const lineYEnd=this.options.reverseOrientation?this.tickHeight:this.dimensions[1]-this.tickHeight;graphics.moveTo(1,lineYStart);graphics.lineTo(1,lineYEnd);graphics.moveTo(this.dimensions[0]-1,lineYStart);graphics.lineTo(this.dimensions[0]-1,lineYEnd);this.leftBoundTick.x=0;this.leftBoundTick.y=this.options.reverseOrientation?lineYEnd+this.tickTextSeparation:lineYEnd-this.tickTextSeparation;this.leftBoundTick.text=`${x12[0]}: ${this.formatTick(x12[1])}`;this.leftBoundTick.anchor.y=this.options.reverseOrientation?0:1;this.rightBoundTick.x=this.dimensions[0];this.rightBoundTick.text=`${x2[0]}: ${this.formatTick(x2[1])}`;this.rightBoundTick.y=this.options.reverseOrientation?lineYEnd+this.tickTextSeparation:lineYEnd-this.tickTextSeparation;this.rightBoundTick.anchor.y=this.options.reverseOrientation?0:1;this.rightBoundTick.anchor.x=1;if(this.flipText){this.leftBoundTick.scale.x=-1;this.leftBoundTick.anchor.x=1;this.rightBoundTick.scale.x=-1;this.rightBoundTick.anchor.x=0;}this.leftBoundTick.tickLine=[1,this.dimensions[1],1,this.dimensions[1]-this.tickHeight];this.rightBoundTick.tickLine=[this.dimensions[0]-1,this.dimensions[1],this.dimensions[0]-1,this.dimensions[1]-this.tickHeight];this.tickTexts={};this.tickTexts.all=[this.leftBoundTick,this.rightBoundTick];}},{key:"drawTicks",value:function drawTicks(cumPos){const graphics=this.gTicks[cumPos.chr];graphics.visible=true;graphics.clear();const chromLen=+this.chromInfo.chromLengths[cumPos.chr];const vpLeft=Math.max(this._xScale(cumPos.pos),0);const vpRight=Math.min(this._xScale(cumPos.pos+chromLen),this.dimensions[0]);const numTicks=(vpRight-vpLeft)/this.tickWidth;const xScale=linear().domain([Math.max(1,this._xScale.invert(0)-cumPos.pos),Math.min(chromLen,this._xScale.invert(this.dimensions[0])-cumPos.pos)]).range(vpLeft,vpRight);const ticks2=xScale.ticks(numTicks).filter(tick=>Number.isInteger(tick));const tickTexts=this.tickTexts[cumPos.chr];const tickHeight=this.options.fontIsLeftAligned?(+this.options.fontSize||this.textFontSize)/2:this.tickHeight;const flipTextSign=this.flipText?-1:1;const xPadding=this.options.fontIsLeftAligned?flipTextSign*4:0;let yPadding=this.options.fontIsLeftAligned?0:tickHeight+this.tickTextSeparation;if(this.options.reverseOrientation){yPadding=this.dimensions[1]-yPadding;}while(tickTexts.length<ticks2.length){const newText=new GLOBALS.PIXI.Text("",this.pixiTextConfig);tickTexts.push(newText);this.gTicks[cumPos.chr].addChild(newText);}while(tickTexts.length>ticks2.length){const text2=tickTexts.pop();this.gTicks[cumPos.chr].removeChild(text2);}let i2=0;while(i2<ticks2.length){tickTexts[i2].visible=true;tickTexts[i2].anchor.x=this.options.fontIsLeftAligned?0:0.5;tickTexts[i2].anchor.y=this.options.reverseOrientation?0:1;if(this.flipText)tickTexts[i2].scale.x=-1;tickTexts[i2].x=this._xScale(cumPos.pos+ticks2[i2])+xPadding;tickTexts[i2].y=this.dimensions[1]-yPadding;tickTexts[i2].text=ticks2[i2]===0?`${cumPos.chr}: 1`:`${cumPos.chr}: ${this.formatTick(ticks2[i2])}`;const x=this._xScale(cumPos.pos+ticks2[i2]);tickTexts[i2].tickLine=[x-1,this.dimensions[1],x-1,this.dimensions[1]-tickHeight-1];const lineYStart=this.options.reverseOrientation?0:this.dimensions[1];const lineYEnd=this.options.reverseOrientation?tickHeight:this.dimensions[1]-tickHeight;graphics.lineStyle(1,this.stroke);graphics.moveTo(x-1,lineYStart);graphics.lineTo(x-1,lineYEnd-1);if(this.options.fontIsLeftAligned){graphics.lineTo(x+2*flipTextSign+1*flipTextSign,lineYEnd-1);graphics.lineTo(x+2*flipTextSign+1*flipTextSign,lineYEnd+1);graphics.lineTo(x+1,lineYEnd+1);}else{graphics.lineTo(x+1,lineYEnd-1);}graphics.lineTo(x+1,lineYStart);graphics.lineStyle(1,this.tickColor);graphics.moveTo(x,lineYStart);graphics.lineTo(x,lineYEnd);if(this.options.fontIsLeftAligned){graphics.lineTo(x+2*flipTextSign,lineYEnd);}i2+=1;}while(i2<tickTexts.length){tickTexts[i2].visible=false;i2+=1;}return ticks2.length;}},{key:"draw",value:function draw(){this.allTexts=[];if(!this.texts||!this.searchField)return;const x12=absToChr(this._xScale.domain()[0],this.chromInfo);const x2=absToChr(this._xScale.domain()[1],this.chromInfo);if(!x12||!x2){console.warn("Empty chromInfo:",this.dataConfig,this.chromInfo);return;}if(this.options.tickPositions==="ends"){if(!this.gBoundTicks)return;this.gBoundTicks.visible=true;this.drawBoundsTicks(x12,x2);return;}if(!this.pTicks){return;}for(let i2=0;i2<this.texts.length;i2++){this.texts[i2].visible=false;this.gTicks[this.chromInfo.cumPositions[i2].chr].visible=false;}let yPadding=this.options.fontIsLeftAligned?0:this.tickHeight+this.tickTextSeparation;if(this.options.reverseOrientation){yPadding=this.dimensions[1]-yPadding;}Object.keys(this.chromInfo.chrPositions).forEach(chrom=>{if(this.tickTexts[chrom]){for(let j=0;j<this.tickTexts[chrom].length;j++){this.tickTexts[chrom][j].visible=false;}}});for(let i2=x12[3];i2<=x2[3];i2++){const xCumPos=this.chromInfo.cumPositions[i2];const midX=xCumPos.pos+this.chromInfo.chromLengths[xCumPos.chr]/2;const viewportMidX=this._xScale(midX);const text2=this.texts[i2];text2.anchor.x=this.options.fontIsLeftAligned?0:0.5;text2.anchor.y=this.options.reverseOrientation?0:1;text2.x=viewportMidX;text2.y=this.dimensions[1]-yPadding;text2.updateTransform();if(this.flipText)text2.scale.x=-1;const numTicksDrawn=this.drawTicks(xCumPos);text2.visible=numTicksDrawn<=0;this.allTexts.push({importance:text2.hashValue,text:text2,caption:null});}this.hideOverlaps(this.allTexts);}},{key:"hideOverlaps",value:function hideOverlaps(allTexts){let allBoxes=[];allBoxes=allTexts.map(({text:text2},i2)=>{text2.updateTransform();const b=text2.getBounds();const box=[b.x,b.y,b.x+b.width,b.y+b.height];return box;});boxIntersect_1(allBoxes,(i2,j)=>{if(allTexts[i2].importance>allTexts[j].importance){allTexts[j].text.visible=false;}else{allTexts[i2].text.visible=false;}});}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"setPosition",this).call(this,newPosition);[this.pMain.position.x,this.pMain.position.y]=this.position;}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(HorizontalChromosomeLabels.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}base.setAttribute("class","chromosome-labels");const output=document.createElement("g");track.appendChild(output);output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);this.allTexts.filter(text2=>text2.text.visible).forEach(text2=>{const g=pixiTextToSvg(text2.text);output.appendChild(g);});Object.values(this.tickTexts).forEach(texts=>{texts.filter(x=>x.visible).forEach(text2=>{let g=pixiTextToSvg(text2);output.appendChild(g);g=svgLine(text2.x,this.options.reverseOrientation?0:this.dimensions[1],text2.x,this.options.reverseOrientation?this.tickHeight:this.dimensions[1]-this.tickHeight,1,this.tickColor);const line=document.createElement("line");line.setAttribute("x1",text2.tickLine[0]);line.setAttribute("y1",text2.tickLine[1]);line.setAttribute("x2",text2.tickLine[2]);line.setAttribute("y2",text2.tickLine[3]);line.setAttribute("style","stroke: grey");output.appendChild(g);output.appendChild(line);});});return[base,track];}}]);return HorizontalChromosomeLabels;}(PixiTrack);let HorizontalHeatmapTrack=/*#__PURE__*/function(_HeatmapTiledPixiTrac3){_inherits3(HorizontalHeatmapTrack,_HeatmapTiledPixiTrac3);var _super39=_createSuper3(HorizontalHeatmapTrack);function HorizontalHeatmapTrack(context,options2){var _this63;_classCallCheck3(this,HorizontalHeatmapTrack);_this63=_super39.call(this,context,options2);const{animate}=context;_this63.pMain=_this63.pMobile;_this63.colorScale=HEATED_OBJECT_MAP;_this63.continuousScaling=false;if(options2&&options2.colorRange){_this63.colorScale=colorDomainToRgbaArray(options2.colorRange);}_this63.animate=animate;_this63.options=options2;_this63.pubSubs=[];return _this63;}_createClass3(HorizontalHeatmapTrack,[{key:"rerender",value:function rerender(options2,force){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"rerender",this).call(this,options2,force);this.zoomed(this.xScale(),this.yScale(),this.pMain.scale.x,this.pMain.position.x,this.pMain.position.y);}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){let zoomLevel=null;if(this.tilesetInfo.resolutions){const zoomIndexX=api.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const zoomIndexY=api.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);zoomLevel=Math.min(zoomIndexX,zoomIndexY);}else{const xZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);zoomLevel=Math.max(xZoomLevel,yZoomLevel);zoomLevel=Math.min(zoomLevel,this.maxZoom);}if(this.options&&this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){if(!this.tilesetInfo){return;}this.zoomLevel=this.calculateZoomLevel();const expandedXScale=this._xScale.copy();expandedXScale.domain([this._xScale.invert(this._xScale.range()[0]-this.dimensions[1]*Math.sqrt(2)),this._xScale.invert(this._xScale.range()[1]+this.dimensions[1]*Math.sqrt(2))]);if(this.tilesetInfo.resolutions){const sortedResolutions=this.tilesetInfo.resolutions.map(x=>+x).sort((a,b)=>b-a);this.xTiles=api.calculateTilesFromResolution(sortedResolutions[this.zoomLevel],expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);this.yTiles=api.calculateTilesFromResolution(sortedResolutions[this.zoomLevel],expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);}else{this.xTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);this.yTiles=api.calculateTiles(this.zoomLevel,expandedXScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);}const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const maxWidth=this.tilesetInfo.max_width;const tileWidth=maxWidth/2**zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=i2;j<cols.length;j++){const tileBottomPosition=(j-i2-2)*(this._xScale(tileWidth)-this._xScale(0))*Math.sqrt(2)/2;if(tileBottomPosition>this.dimensions[1]){continue;}const newTile=[zoomLevel,rows[i2],cols[j]];newTile.mirrored=false;newTile.dataTransform=this.options.dataTransform?this.options.dataTransform:"default";tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"tileDataToCanvas",value:function tileDataToCanvas(pixData){const canvas=document.createElement("canvas");canvas.width=256;canvas.height=256;const ctx=canvas.getContext("2d");ctx.fillStyle="transparent";ctx.fillRect(0,0,canvas.width,canvas.height);const pix=new ImageData(pixData,canvas.width,canvas.height);ctx.putImageData(pix,0,0);return canvas;}},{key:"setSpriteProperties",value:function setSpriteProperties(sprite,zoomLevel,tilePos,mirrored){const{tileX,tileY,tileWidth,tileHeight}=this.getTilePosAndDimensions(zoomLevel,tilePos);const tileEndX=tileX+tileWidth;const tileEndY=tileY+tileHeight;sprite.width=this._refXScale(tileEndX)-this._refXScale(tileX);sprite.height=this._refYScale(tileEndY)-this._refYScale(tileY);sprite.x=this._refXScale(tileX);sprite.y=this._refYScale(tileY);}},{key:"pixDataFunction",value:function pixDataFunction(tile,pixData){if(pixData){const graphics=tile.graphics;const canvas=this.tileDataToCanvas(pixData.pixData);const texture=GLOBALS.PIXI.VERSION[0]==="4"?GLOBALS.PIXI.Texture.fromCanvas(canvas,GLOBALS.PIXI.SCALE_MODES.NEAREST):GLOBALS.PIXI.Texture.from(canvas,{scaleMode:GLOBALS.PIXI.SCALE_MODES.NEAREST});tile.sprite=new GLOBALS.PIXI.Sprite(texture);tile.canvas=canvas;this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos,tile.mirrored);graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;graphics.removeChildren();graphics.addChild(tile.sprite);}this.renderingTiles.delete(tile.tileId);}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos,tile.mirrored);const graphics=tile.graphics;graphics.pivot.x=this._refXScale(0);graphics.pivot.y=this._refYScale(0);graphics.scale.x=-1/Math.sqrt(2);graphics.rotation=-3*Math.PI/4;graphics.scale.y=1/Math.sqrt(2);graphics.position.x=this._refXScale(0);graphics.position.y=0;}}}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"zoomed",this).call(this,newXScale,newYScale,k,tx,ty);_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"draw",this).call(this);this.pMain.position.x=tx;this.pMain.position.y=this.position[1]+this.dimensions[1];this.pMain.scale.x=k;this.pMain.scale.y=k;if(this.options.oneDHeatmapFlipped){this.pMain.scale.y=-k;this.pMain.position.y=this.position[1];}}},{key:"leftTrackDraw",value:function leftTrackDraw(){this.draw();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;[base,track]=_get4(_getPrototypeOf4(HorizontalHeatmapTrack.prototype),"superSVG",this).call(this);const output=document.createElement("g");track.appendChild(output);output.setAttribute("transform",`translate(${this.pMain.position.x},${this.pMain.position.y}) scale(${this.pMain.scale.x},${this.pMain.scale.y})`);for(const tile of this.visibleAndFetchedTiles()){const gGraphics=document.createElement("g");const graphics=tile.graphics;const graphicsRotation=graphics.rotation*180/Math.PI;const transformText=`translate(${graphics.position.x},${graphics.position.y}) rotate(${graphicsRotation}) scale(${graphics.scale.x},${graphics.scale.y}) translate(${-graphics.pivot.x},${-graphics.pivot.y})`;gGraphics.setAttribute("transform",transformText);const rotation2=tile.sprite.rotation*180/Math.PI;const g=document.createElement("g");g.setAttribute("transform",`translate(${tile.sprite.x},${tile.sprite.y}) rotate(${rotation2}) scale(${tile.sprite.scale.x},${tile.sprite.scale.y})`);const image=document.createElement("image");image.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",tile.canvas.toDataURL());image.setAttribute("width",256);image.setAttribute("height",256);g.appendChild(image);gGraphics.appendChild(g);output.appendChild(gGraphics);}const gColorbar=this.exportColorBarSVG();track.appendChild(gColorbar);return[base,base];}}]);return HorizontalHeatmapTrack;}(HeatmapTiledPixiTrack);let UnknownPixiTrack=/*#__PURE__*/function(_PixiTrack8){_inherits3(UnknownPixiTrack,_PixiTrack8);var _super40=_createSuper3(UnknownPixiTrack);function UnknownPixiTrack(context,options2){var _this64;_classCallCheck3(this,UnknownPixiTrack);_this64=_super40.call(this,context,options2);_this64.tilesetInfo={};_this64.errorTextText=`Unknown track type: ${options2.type}`;return _this64;}_createClass3(UnknownPixiTrack,[{key:"zoomed",value:function zoomed(){this.draw();}}]);return UnknownPixiTrack;}(PixiTrack);let ValueIntervalTrack=/*#__PURE__*/function(_HorizontalLine1DPixi4){_inherits3(ValueIntervalTrack,_HorizontalLine1DPixi4);var _super41=_createSuper3(ValueIntervalTrack);function ValueIntervalTrack(context,options2){var _this65;_classCallCheck3(this,ValueIntervalTrack);_this65=_super41.call(this,context,options2);_this65.axis=new AxisPixi(_assertThisInitialized3(_this65));_this65.pBase.addChild(_this65.axis.pAxis);return _this65;}_createClass3(ValueIntervalTrack,[{key:"initTile",value:function initTile(tile){this.scale.minRawValue=this.minVisibleValueInTiles();this.scale.maxRawValue=this.minVisibleValueInTiles();this.scale.minValue=this.scale.minRawValue;this.scale.maxValue=this.scale.maxRawValue;this.drawTile(tile);}},{key:"drawTile",value:function drawTile(tile){if(!tile.graphics){return;}const graphics=tile.graphics;const RECT_HEIGHT=6;const MIN_RECT_WIDTH=4;graphics.clear();this.valueScale=log$4().domain([this.minValue()+0.01,this.maxValue()]).range([this.dimensions[1]-RECT_HEIGHT/2,RECT_HEIGHT/2]);const fill=colorToHex("black");graphics.lineStyle(1,fill,0.3);graphics.beginFill(fill,0.3);this.drawAxis(this.valueScale);tile.tileData.forEach(td=>{const fields=td.fields;const chrOffset=+td.chrOffset;const genomeStart=+fields[1]+chrOffset;const genomeEnd=+fields[2]+chrOffset;const value2=+fields[3];const startPos=this._xScale(genomeStart);const endPos=this._xScale(genomeEnd);const width=Math.max(endPos-startPos,MIN_RECT_WIDTH);const midY=this.valueScale(value2);const midX=(endPos+startPos)/2;graphics.drawRect(midX-width/2,midY-RECT_HEIGHT/2,width,RECT_HEIGHT);});}},{key:"minVisibleValueInTiles",value:function minVisibleValueInTiles(){let visibleAndFetchedIds=this.visibleAndFetchedIds();if(visibleAndFetchedIds.length===0){visibleAndFetchedIds=Object.keys(this.fetchedTiles);}const min2=Math.min.apply(null,visibleAndFetchedIds.map(x=>+Math.min(...this.fetchedTiles[x].tileData.filter(y=>!Number.isNaN(y.fields[3])).map(y=>+y.fields[3]))));return min2;}},{key:"maxVisibleValueInTiles",value:function maxVisibleValueInTiles(){let visibleAndFetchedIds=this.visibleAndFetchedIds();if(visibleAndFetchedIds.length===0){visibleAndFetchedIds=Object.keys(this.fetchedTiles);}const max2=Math.max.apply(null,visibleAndFetchedIds.map(x=>+Math.max(...this.fetchedTiles[x].tileData.filter(y=>!Number.isNaN(y.fields[3])).map(y=>+y.fields[3]))));return max2;}}]);return ValueIntervalTrack;}(HorizontalLine1DPixiTrack);let ViewportTracker2D$1=/*#__PURE__*/function(_SVGTrack3){_inherits3(ViewportTracker2D$1,_SVGTrack3);var _super42=_createSuper3(ViewportTracker2D$1);function ViewportTracker2D$1(context,options2){var _this66;_classCallCheck3(this,ViewportTracker2D$1);_this66=_super42.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this66.uid=uid;_this66.options=options2;_this66.hasFromView=!context.projectionXDomain||!context.projectionYDomain;_this66.removeViewportChanged=removeViewportChanged;_this66.setDomainsCallback=setDomainsCallback;_this66.viewportXDomain=_this66.hasFromView?null:context.projectionXDomain;_this66.viewportYDomain=_this66.hasFromView?null:context.projectionYDomain;_this66.brush=brush().on("brush",_this66.brushed.bind(_assertThisInitialized3(_this66)));_this66.gBrush=_this66.gMain.append("g").attr("id",`brush-${_this66.uid}`).call(_this66.brush);_this66.gBrush.selectAll(".overlay").style("pointer-events","none");_this66.gBrush.selectAll(".handle--n").style("pointer-events","none");_this66.gBrush.selectAll(".handle--s").style("pointer-events","none");_this66.gBrush.selectAll(".handle--w").style("pointer-events","none");_this66.gBrush.selectAll(".handle--e").style("pointer-events","none");registerViewportChanged(uid,_this66.viewportChanged.bind(_assertThisInitialized3(_this66)));_this66.rerender();_this66.draw();return _this66;}_createClass3(ViewportTracker2D$1,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=[this._xScale.invert(s[0][0]),this._xScale.invert(s[1][0])];const yDomain=[this._yScale.invert(s[0][1]),this._yScale.invert(s[1][1])];if(!this.hasFromView){this.viewportXDomain=xDomain;this.viewportYDomain=yDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const x02=this._xScale(this.viewportXDomain[0]);const y02=this._yScale(this.viewportYDomain[0]);const x12=this._xScale(this.viewportXDomain[1]);const y12=this._yScale(this.viewportYDomain[1]);const dest=[[x02,y02],[x12,y12]];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTracker2D$1.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const xDiff=xRange[1]-xRange[0];const yDiff=yRange[1]-yRange[0];this.brush.extent([[xRange[0]-xDiff,yRange[0]-yDiff],[xRange[1]+xDiff,yRange[1]+yDiff]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTracker2D$1;}(SVGTrack);let ViewportTrackerHorizontal=/*#__PURE__*/function(_SVGTrack4){_inherits3(ViewportTrackerHorizontal,_SVGTrack4);var _super43=_createSuper3(ViewportTrackerHorizontal);function ViewportTrackerHorizontal(context,options2){var _this67;_classCallCheck3(this,ViewportTrackerHorizontal);_this67=_super43.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this67.uid=uid;_this67.options=options2;_this67.hasFromView=!context.projectionXDomain;_this67.removeViewportChanged=removeViewportChanged;_this67.setDomainsCallback=setDomainsCallback;_this67.viewportXDomain=_this67.hasFromView?null:context.projectionXDomain;_this67.viewportYDomain=_this67.hasFromView?null:[0,0];_this67.brush=brushX().on("brush",_this67.brushed.bind(_assertThisInitialized3(_this67)));_this67.gBrush=_this67.gMain.append("g").attr("id",`brush-${_this67.uid}`).call(_this67.brush);_this67.gBrush.selectAll(".overlay").style("pointer-events","none");_this67.gBrush.selectAll(".handle--ne").style("pointer-events","none");_this67.gBrush.selectAll(".handle--nw").style("pointer-events","none");_this67.gBrush.selectAll(".handle--sw").style("pointer-events","none");_this67.gBrush.selectAll(".handle--se").style("pointer-events","none");_this67.gBrush.selectAll(".handle--n").style("pointer-events","none");_this67.gBrush.selectAll(".handle--s").style("pointer-events","none");registerViewportChanged(uid,_this67.viewportChanged.bind(_assertThisInitialized3(_this67)));_this67.rerender();_this67.draw();return _this67;}_createClass3(ViewportTrackerHorizontal,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=[this._xScale.invert(s[0]),this._xScale.invert(s[1])];const yDomain=this.viewportYDomain;if(!this.hasFromView){this.viewportXDomain=xDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale,update2=true){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const x02=this._xScale(this.viewportXDomain[0]);const x12=this._xScale(this.viewportXDomain[1]);const dest=[x02,x12];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTrackerHorizontal.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const xDiff=xRange[1]-xRange[0];this.brush.extent([[xRange[0]-xDiff,yRange[0]],[xRange[1]+xDiff,yRange[1]]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTrackerHorizontal;}(SVGTrack);let ViewportTrackerVertical=/*#__PURE__*/function(_SVGTrack5){_inherits3(ViewportTrackerVertical,_SVGTrack5);var _super44=_createSuper3(ViewportTrackerVertical);function ViewportTrackerVertical(context,options2){var _this68;_classCallCheck3(this,ViewportTrackerVertical);_this68=_super44.call(this,context,options2);const{registerViewportChanged,removeViewportChanged,setDomainsCallback}=context;const uid=slugid.nice();_this68.uid=uid;_this68.options=options2;_this68.hasFromView=!context.projectionYDomain;_this68.removeViewportChanged=removeViewportChanged;_this68.setDomainsCallback=setDomainsCallback;_this68.viewportXDomain=_this68.hasFromView?null:[0,0];_this68.viewportYDomain=_this68.hasFromView?null:context.projectionYDomain;_this68.brush=brushY().on("brush",_this68.brushed.bind(_assertThisInitialized3(_this68)));_this68.gBrush=_this68.gMain.append("g").attr("id",`brush-${_this68.uid}`).call(_this68.brush);_this68.gBrush.selectAll(".overlay").style("pointer-events","none");_this68.gBrush.selectAll(".handle--ne").style("pointer-events","none");_this68.gBrush.selectAll(".handle--nw").style("pointer-events","none");_this68.gBrush.selectAll(".handle--sw").style("pointer-events","none");_this68.gBrush.selectAll(".handle--se").style("pointer-events","none");_this68.gBrush.selectAll(".handle--e").style("pointer-events","none");_this68.gBrush.selectAll(".handle--w").style("pointer-events","none");registerViewportChanged(uid,_this68.viewportChanged.bind(_assertThisInitialized3(_this68)));_this68.rerender();_this68.draw();return _this68;}_createClass3(ViewportTrackerVertical,[{key:"brushed",value:function brushed(event){const s=event.selection;if(!this._xScale||!this._yScale){return;}const xDomain=this.viewportXDomain;const yDomain=[this._yScale.invert(s[0]),this._yScale.invert(s[1])];if(!this.hasFromView){this.viewportYDomain=yDomain;}this.setDomainsCallback(xDomain,yDomain);}},{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale,update2=true){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"remove",value:function remove(){this.removeViewportChanged(this.uid);_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"remove",this).call(this);}},{key:"rerender",value:function rerender(){this.gBrush.selectAll(".selection").attr("fill",this.options.projectionFillColor).attr("stroke",this.options.projectionStrokeColor).attr("fill-opacity",this.options.projectionFillOpacity).attr("stroke-opacity",this.options.projectionStrokeOpacity).attr("stroke-width",this.options.strokeWidth);}},{key:"draw",value:function draw(){if(!this._xScale||!this.yScale){return;}if(!this.viewportXDomain||!this.viewportYDomain){return;}const y02=this._yScale(this.viewportYDomain[0]);const y12=this._yScale(this.viewportYDomain[1]);const dest=[y02,y12];this.brush.on("brush",null);this.gBrush.call(this.brush.move,dest);this.brush.on("brush",this.brushed.bind(this));}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"setPosition",this).call(this,newPosition);this.draw();}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(ViewportTrackerVertical.prototype),"setDimensions",this).call(this,newDimensions);const xRange=this._xScale.range();const yRange=this._yScale.range();const yDiff=yRange[1]-yRange[0];this.brush.extent([[xRange[0],yRange[0]-yDiff],[xRange[1],yRange[1]+yDiff]]);this.gBrush.call(this.brush);this.draw();}}]);return ViewportTrackerVertical;}(SVGTrack);const _appliedMixin="__mixwith_appliedMixin";const _wrappedMixin="__mixwith_wrappedMixin";const unwrap=wrapper2=>wrapper2[_wrappedMixin]||wrapper2;const apply$1=(superclass,mixin)=>{const application=mixin(superclass);application.prototype[_appliedMixin]=unwrap(mixin);return application;};const isApplicationOf=(proto2,mixin)=>proto2.hasOwnProperty(_appliedMixin)&&proto2[_appliedMixin]===unwrap(mixin);const hasMixin=(o,mixin)=>{while(o!==null){if(isApplicationOf(o,mixin))return true;o=Object.getPrototypeOf(o);}return false;};const wrap=(mixin,wrapper2)=>{Object.setPrototypeOf(wrapper2,mixin);if(!mixin[_wrappedMixin]){mixin[_wrappedMixin]=mixin;}return wrapper2;};const _cachedApplications="__mixwith_cachedApplications";const Cached=mixin=>wrap(mixin,superclass=>{let cachedApplications=superclass[_cachedApplications];if(!cachedApplications){superclass[_cachedApplications]=/* @__PURE__ */new Map();cachedApplications=superclass[_cachedApplications];}let application=cachedApplications.get(mixin);if(!application){application=mixin(superclass);cachedApplications.set(mixin,application);}return application;});const DeDupe=mixin=>wrap(mixin,superclass=>hasMixin(superclass.prototype,mixin)?superclass:mixin(superclass));const BareMixin=mixin=>wrap(mixin,s=>apply$1(s,mixin));const Mixin=mixin=>DeDupe(Cached(BareMixin(mixin)));let MixinBuilder=/*#__PURE__*/function(){function MixinBuilder(superclass){_classCallCheck3(this,MixinBuilder);this.superclass=superclass||/*#__PURE__*/function(){function _class2(){_classCallCheck3(this,_class2);}return _createClass3(_class2);}();}_createClass3(MixinBuilder,[{key:"with",value:function _with(...mixins){return mixins.reduce((c2,m)=>m(c2),this.superclass);}}]);return MixinBuilder;}();const mix=superclass=>new MixinBuilder(superclass);const RuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass){_inherits3(_class3,_superclass);var _super45=_createSuper3(_class3);function _class3(context,options2){var _this69;_classCallCheck3(this,_class3);_this69=_super45.call(this,context,options2);const{animate}=context;_this69.highlighted=false;_this69.animate=animate;_this69.MOUSEOVER_RADIUS=4;_this69.pubSub=context.pubSub;_this69.pubSubs.push(_this69.pubSub.subscribe("app.mouseMove",_this69.mouseMoveHandler.bind(_assertThisInitialized3(_this69))));return _this69;}_createClass3(_class3,[{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(_class3.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.x=this.position[0];this.pMain.position.y=this.position[1];}},{key:"zoomed",value:function zoomed(newXScale,newYScale){_get4(_getPrototypeOf4(_class3.prototype),"zoomed",this).call(this,newXScale,newYScale);this.draw();}},{key:"respondsToPosition",value:function respondsToPosition(){return this.highlighted;}}]);return _class3;}(superclass));const HorizontalRuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass2){_inherits3(_class4,_superclass2);var _super46=_createSuper3(_class4);function _class4(){_classCallCheck3(this,_class4);return _super46.apply(this,arguments);}_createClass3(_class4,[{key:"drawHorizontalRule",value:function drawHorizontalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[0]){graphics.moveTo(pos,this._yScale(this.yPosition));graphics.lineTo(pos+this.dashLength,this._yScale(this.yPosition));pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverHorizontalLine",value:function isMouseOverHorizontalLine(mousePos){if(Math.abs(mousePos.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS){return true;}return false;}}]);return _class4;}(superclass));let HorizontalRule=/*#__PURE__*/function(_mix$with){_inherits3(HorizontalRule,_mix$with);var _super47=_createSuper3(HorizontalRule);function HorizontalRule(context,options2){var _this70;_classCallCheck3(this,HorizontalRule);_this70=_super47.call(this,context,options2);_this70.yPosition=context.yPosition;_this70.strokeWidth=2;_this70.strokeOpacity=1;_this70.dashLength=5;_this70.dashGap=3;return _this70;}_createClass3(HorizontalRule,[{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){if(this.isWithin(mousePos.x,mousePos.y)&&this.isMouseOverHorizontalLine(mousePos)){this.highlighted=true;this.draw();return;}this.highlighted=false;this.draw();}},{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawHorizontalRule(graphics);this.animate();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(HorizontalRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(HorizontalRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","horizontal-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const line=document.createElement("line");line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",this.strokeWidth);line.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);line.setAttribute("x1",0);line.setAttribute("y1",this._yScale(this.yPosition));line.setAttribute("x2",this.dimensions[0]);line.setAttribute("y2",this._yScale(this.yPosition));output.appendChild(line);return[base,track];}}]);return HorizontalRule;}(mix(PixiTrack).with(RuleMixin,HorizontalRuleMixin));const VerticalRuleMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass3){_inherits3(_class5,_superclass3);var _super48=_createSuper3(_class5);function _class5(){_classCallCheck3(this,_class5);return _super48.apply(this,arguments);}_createClass3(_class5,[{key:"drawVerticalRule",value:function drawVerticalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[1]){graphics.moveTo(this._xScale(this.xPosition),pos);graphics.lineTo(this._xScale(this.xPosition),pos+this.dashLength);pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverVerticalLine",value:function isMouseOverVerticalLine(mousePos){return Math.abs(mousePos.x-this.position[0]-this._xScale(this.xPosition))<this.MOUSEOVER_RADIUS;}}]);return _class5;}(superclass));let VerticalRule=/*#__PURE__*/function(_mix$with2){_inherits3(VerticalRule,_mix$with2);var _super49=_createSuper3(VerticalRule);function VerticalRule(context,options2){var _this71;_classCallCheck3(this,VerticalRule);_this71=_super49.call(this,context,options2);_this71.xPosition=context.xPosition;_this71.strokeWidth=2;_this71.strokeOpacity=1;_this71.dashLength=5;_this71.dashGap=3;return _this71;}_createClass3(VerticalRule,[{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawVerticalRule(graphics);this.animate();}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(VerticalRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(VerticalRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","vertical-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const line=document.createElement("line");line.setAttribute("stroke",stroke);line.setAttribute("stroke-width",this.strokeWidth);line.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);line.setAttribute("x1",this._xScale(this.xPosition));line.setAttribute("y1",0);line.setAttribute("x2",this._xScale(this.xPosition));line.setAttribute("y2",this.dimensions[1]);output.appendChild(line);return[base,track];}},{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){this.highlighted=this.isWithin(mousePos.x,mousePos.y)&&this.isMouseOverVerticalLine(mousePos);this.draw();}}]);return VerticalRule;}(mix(PixiTrack).with(RuleMixin,VerticalRuleMixin));let CrossRule=/*#__PURE__*/function(_mix$with3){_inherits3(CrossRule,_mix$with3);var _super50=_createSuper3(CrossRule);function CrossRule(context,options2){var _this72;_classCallCheck3(this,CrossRule);_this72=_super50.call(this,context,options2);const{x,y}=context;_this72.xPosition=x;_this72.yPosition=y;_this72.strokeWidth=2;_this72.strokeOpacity=1;_this72.dashLength=5;_this72.dashGap=3;return _this72;}_createClass3(CrossRule,[{key:"draw",value:function draw(){const graphics=this.pMain;graphics.clear();this.drawHorizontalRule(graphics);this.drawVerticalRule(graphics);}},{key:"mouseMoveHandler",value:function mouseMoveHandler(mousePos){this.highlighted=this.isWithin(mousePos.x,mousePos.y)&&(this.isMouseOverHorizontalLine(mousePos)||this.isMouseOverVerticalLine(mousePos));this.draw();}},{key:"drawHorizontalRule",value:function drawHorizontalRule(graphics){let stroke=colorToHex(this.options.color||"black");if(this.highlighted){stroke=colorToHex("red");}graphics.lineStyle(this.strokeWidth,stroke,this.strokeOpacity);let pos=0;while(pos<this.dimensions[0]){graphics.moveTo(pos,this._yScale(this.yPosition));graphics.lineTo(pos+this.dashLength,this._yScale(this.yPosition));pos+=this.dashLength+this.dashGap;}}},{key:"isMouseOverHorizontalLine",value:function isMouseOverHorizontalLine(mousePos){return Math.abs(mousePos.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS;}},{key:"exportSVG",value:function exportSVG(){let track=null;let base=null;if(_get4(_getPrototypeOf4(CrossRule.prototype),"exportSVG",this)){[base,track]=_get4(_getPrototypeOf4(CrossRule.prototype),"exportSVG",this).call(this);}else{base=document.createElement("g");track=base;}const output=document.createElement("g");output.setAttribute("class","cross-rule");output.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);track.appendChild(output);const stroke=this.options.color||"black";const verticalLine=document.createElement("line");verticalLine.setAttribute("stroke",stroke);verticalLine.setAttribute("stroke-width",this.strokeWidth);verticalLine.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);verticalLine.setAttribute("x1",this._xScale(this.xPosition));verticalLine.setAttribute("y1",0);verticalLine.setAttribute("x2",this._xScale(this.xPosition));verticalLine.setAttribute("y2",this.dimensions[1]);const horizontalLine=document.createElement("line");horizontalLine.setAttribute("stroke",stroke);horizontalLine.setAttribute("stroke-width",this.strokeWidth);horizontalLine.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`);horizontalLine.setAttribute("x1",0);horizontalLine.setAttribute("y1",this._yScale(this.yPosition));horizontalLine.setAttribute("x2",this.dimensions[0]);horizontalLine.setAttribute("y2",this._yScale(this.yPosition));output.appendChild(verticalLine);output.appendChild(horizontalLine);return[base,track];}}]);return CrossRule;}(mix(PixiTrack).with(RuleMixin,VerticalRuleMixin));let OSMTilesTrack=/*#__PURE__*/function(_PixiTrack9){_inherits3(OSMTilesTrack,_PixiTrack9);var _super51=_createSuper3(OSMTilesTrack);function OSMTilesTrack(context,options2){var _this73;_classCallCheck3(this,OSMTilesTrack);_this73=_super51.call(this,context,options2);const{animate}=context;_this73.visibleTiles=/* @__PURE__ */new Set();_this73.visibleTileIds=/* @__PURE__ */new Set();_this73.fetching=/* @__PURE__ */new Set();_this73.fetchedTiles={};_this73.tileGraphics={};_this73.minX=typeof _this73.options.minPos!=="undefined"&&!Number.isNaN(+_this73.options.minPos)?+_this73.options.minPos:-180;_this73.maxX=+_this73.options.maxPos||180;_this73.maxX=typeof _this73.options.maxPos!=="undefined"&&!Number.isNaN(+_this73.options.maxPos)?+_this73.options.maxPos:180;_this73.minY=_this73.options.minY||_this73.minX;_this73.maxY=_this73.options.maxY||_this73.maxX;_this73.maxZoom=19;_this73.maxWidth=_this73.maxX-_this73.minX;_this73.animate=animate;_this73.uuid=slugid.nice();_this73.refreshTilesDebounced=debounce$1(_this73.refreshTiles.bind(_assertThisInitialized3(_this73)),ZOOM_DEBOUNCE);return _this73;}_createClass3(OSMTilesTrack,[{key:"visibleAndFetchedIds",value:function visibleAndFetchedIds(){return Object.keys(this.fetchedTiles).filter(x=>this.visibleTileIds.has(x));}},{key:"visibleAndFetchedTiles",value:function visibleAndFetchedTiles(){return this.visibleAndFetchedIds().map(x=>this.fetchedTiles[x]);}},{key:"setVisibleTiles",value:function setVisibleTiles(tilePositions){this.visibleTiles=tilePositions.map(x=>({tileId:this.tileToLocalId(x),remoteId:this.tileToRemoteId(x),mirrored:x.mirrored}));this.visibleTileIds=new Set(this.visibleTiles.map(x=>x.tileId));}},{key:"removeAllTiles",value:function removeAllTiles(){const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));this.removeTiles([...fetchedTileIDs]);}},{key:"refreshTiles",value:function refreshTiles(){this.calculateVisibleTiles();const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));const toFetch=[...this.visibleTiles].filter(x=>!this.fetching.has(x.remoteId)&&!fetchedTileIDs.has(x.tileId));for(let i2=0;i2<toFetch.length;i2++){this.fetching.add(toFetch[i2].remoteId);}const toRemove=[...fetchedTileIDs].filter(x=>!this.visibleTileIds.has(x));this.removeTiles(toRemove);this.fetchNewTiles(toFetch);}},{key:"removeTiles",value:function removeTiles(toRemoveIds){if(!toRemoveIds.length){return;}if(!this.areAllVisibleTilesLoaded()){return;}toRemoveIds.forEach(x=>{const tileIdStr=x;this.destroyTile(this.fetchedTiles[tileIdStr]);if(tileIdStr in this.tileGraphics){this.pMain.removeChild(this.tileGraphics[tileIdStr]);delete this.tileGraphics[tileIdStr];}delete this.fetchedTiles[tileIdStr];});this.synchronizeTilesAndGraphics();this.draw();}},{key:"tileToLocalId",value:function tileToLocalId(tile){return tile.join(".");}},{key:"tileToRemoteId",value:function tileToRemoteId(tile){return tile.join(".");}},{key:"localToRemoteId",value:function localToRemoteId(remoteId){const idParts=remoteId.split(".");return idParts.slice(0,idParts.length-1).join(".");}},{key:"calculateZoomLevel",value:function calculateZoomLevel(){const xZoomLevel=api.calculateZoomLevel(this._xScale,this.minX,this.maxX);const yZoomLevel=api.calculateZoomLevel(this._xScale,this.minY,this.maxY);let zoomLevel=Math.min(Math.max(xZoomLevel,yZoomLevel),this.maxZoom);if(this.options.maxZoom){if(this.options.maxZoom>=0){zoomLevel=Math.min(this.options.maxZoom,zoomLevel);}else{console.error("Invalid maxZoom on track:",this);}}return zoomLevel;}},{key:"calculateVisibleTiles",value:function calculateVisibleTiles(){this.zoomLevel=this.calculateZoomLevel();this.xTiles=api.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.maxZoom,this.maxWidth);this.yTiles=api.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.maxZoom,this.maxWidth);const rows=this.xTiles;const cols=this.yTiles;const zoomLevel=this.zoomLevel;const tiles=[];for(let i2=0;i2<rows.length;i2++){for(let j=0;j<cols.length;j++){const newTile=[zoomLevel,rows[i2],cols[j]];tiles.push(newTile);}}this.setVisibleTiles(tiles);}},{key:"zoomed",value:function zoomed(newXScale,newYScale,k,tx,ty){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"zoomed",this).call(this,newXScale,newYScale);this.xScale(newXScale);this.yScale(newYScale);this.pMain.position.x=tx;this.pMain.position.y=ty;this.pMain.scale.x=k;this.pMain.scale.y=k;this.refreshTilesDebounced();this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"setPosition",this).call(this,newPosition);}},{key:"setDimensions",value:function setDimensions(newDimensions){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"setDimensions",this).call(this,newDimensions);}},{key:"areAllVisibleTilesLoaded",value:function areAllVisibleTilesLoaded(){const fetchedTileIDs=new Set(Object.keys(this.fetchedTiles));const visibleTileIdsList=[...this.visibleTileIds];for(let i2=0;i2<visibleTileIdsList.length;i2++){if(!fetchedTileIDs.has(visibleTileIdsList[i2])){return false;}}return true;}},{key:"allTilesLoaded",value:function allTilesLoaded(){}},{key:"minValue",value:function minValue(_){if(_){this.scale.minValue=_;}return this.scale.minValue;}},{key:"maxValue",value:function maxValue(_){if(_){this.scale.maxValue=_;}return this.scale.maxValue;}},{key:"minRawValue",value:function minRawValue(){return this.scale.minRawValue;}},{key:"maxRawValue",value:function maxRawValue(){return this.scale.maxRawValue;}},{key:"getTilePosAndDimensions",value:function getTilePosAndDimensions(zoomLevel,tilePos){const tileWidth=this.maxWidth/2**zoomLevel;const tileHeight=tileWidth;const tileX=this.minX+tilePos[0]*tileWidth;const tileY=this.minY+tilePos[1]*tileHeight;return{tileX,tileY,tileWidth,tileHeight};}},{key:"setSpriteProperties",value:function setSpriteProperties(sprite,zoomLevel,tilePos){const{tileX,tileY,tileWidth,tileHeight}=this.getTilePosAndDimensions(zoomLevel,tilePos);sprite.x=this._refXScale(tileX);sprite.y=this._refYScale(tileY);const tileEndX=tileX+tileWidth;const tileEndY=tileY+tileHeight;sprite.width=this._refXScale(tileEndX)-this._refXScale(tileX);sprite.height=this._refYScale(tileEndY)-this._refYScale(tileY);}},{key:"initTile",value:function initTile(tile){const texture=new GLOBALS.PIXI.Texture(new GLOBALS.PIXI.BaseTexture(tile.tileData.img));const sprite=new GLOBALS.PIXI.Sprite(texture);const graphics=tile.graphics;tile.sprite=sprite;this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos);graphics.removeChildren();graphics.addChild(tile.sprite);}},{key:"updateTile",value:function updateTile(tile){}},{key:"destroyTile",value:function destroyTile(tile){}},{key:"addMissingGraphics",value:function addMissingGraphics(){const fetchedTileIDs=Object.keys(this.fetchedTiles);for(let i2=0;i2<fetchedTileIDs.length;i2++){if(!(fetchedTileIDs[i2]in this.tileGraphics)){const newGraphics=new GLOBALS.PIXI.Graphics();this.pMain.addChild(newGraphics);this.fetchedTiles[fetchedTileIDs[i2]].graphics=newGraphics;this.initTile(this.fetchedTiles[fetchedTileIDs[i2]]);this.tileGraphics[fetchedTileIDs[i2]]=newGraphics;}}}},{key:"updateExistingGraphics",value:function updateExistingGraphics(){const fetchedTileIDs=Object.keys(this.fetchedTiles);for(let i2=0;i2<fetchedTileIDs.length;i2++){this.updateTile(this.fetchedTiles[fetchedTileIDs[i2]]);}}},{key:"synchronizeTilesAndGraphics",value:function synchronizeTilesAndGraphics(){this.addMissingGraphics();this.updateExistingGraphics();}},{key:"loadTileData",value:function loadTileData(tile,dataLoader){let loadedTileData=this.lruCache.get(tile.tileId);if(!loadedTileData){loadedTileData=dataLoader(tile.data,tile.type);this.lruCache.put(tile.tileId,loadedTileData);}return loadedTileData;}},{key:"getTileUrl",value:function getTileUrl(tileZxy){const serverPrefixes=["a","b","c"];const serverPrefixIndex=Math.floor(Math.random()*serverPrefixes.length);const src2=`https://${serverPrefixes[serverPrefixIndex]}.tile.openstreetmap.org/${tileZxy[0]}/${tileZxy[1]}/${tileZxy[2]}.png`;return src2;}},{key:"fetchNewTiles",value:function fetchNewTiles(toFetch){if(toFetch.length>0){const toFetchList=[...new Set(toFetch.map(x=>x.remoteId))];for(const tileId of toFetchList){const parts=tileId.split(".");const src2=this.getTileUrl(parts);const img=new Image();img.crossOrigin="Anonymous";img.src=src2;img.onload=()=>{const loadedTiles={};loadedTiles[tileId]={tileId,img,zoomLevel:+parts[0],tilePos:[+parts[1],+parts[2]],tileSrc:src2};this.receivedTiles(loadedTiles);};}}}},{key:"receivedTiles",value:function receivedTiles(loadedTiles){for(let i2=0;i2<this.visibleTiles.length;i2++){const tileId=this.visibleTiles[i2].tileId;if(!loadedTiles[this.visibleTiles[i2].remoteId])continue;if(this.visibleTiles[i2].remoteId in loadedTiles){if(!(tileId in this.fetchedTiles)){this.fetchedTiles[tileId]=this.visibleTiles[i2];}this.fetchedTiles[tileId].tileData=loadedTiles[this.visibleTiles[i2].remoteId];}}for(const key in loadedTiles){if(loadedTiles[key]){if(this.fetching.has(key)){this.fetching.delete(key);}}}this.synchronizeTilesAndGraphics();this.refreshTiles();this.draw();this.animate();}},{key:"draw",value:function draw(){if(this.delayDrawing)return;_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"draw",this).call(this);}},{key:"drawTile",value:function drawTile(){}},{key:"refScalesChanged",value:function refScalesChanged(refXScale,refYScale){_get4(_getPrototypeOf4(OSMTilesTrack.prototype),"refScalesChanged",this).call(this,refXScale,refYScale);for(const uid in this.fetchedTiles){const tile=this.fetchedTiles[uid];if(tile.sprite){this.setSpriteProperties(tile.sprite,tile.tileData.zoomLevel,tile.tileData.tilePos);}}}}]);return OSMTilesTrack;}(PixiTrack);let OSMTileIdsTrack=/*#__PURE__*/function(_OSMTilesTrack){_inherits3(OSMTileIdsTrack,_OSMTilesTrack);var _super52=_createSuper3(OSMTileIdsTrack);function OSMTileIdsTrack(){_classCallCheck3(this,OSMTileIdsTrack);return _super52.apply(this,arguments);}_createClass3(OSMTileIdsTrack,[{key:"initTile",value:function initTile(tile){_initTile.bind(this)(tile);this.drawTile(tile);}},{key:"drawTile",value:function drawTile(tile){_drawTile.bind(this)(tile);}},{key:"areAllVisibleTilesLoaded",value:function areAllVisibleTilesLoaded(){return true;}},{key:"fetchNewTiles",value:function fetchNewTiles(toFetch){toFetch.forEach(x=>{const key=x.remoteId;const keyParts=key.split(".");const data2={zoomLevel:keyParts[0],tilePos:keyParts.slice(1,keyParts.length).map(keyPart=>+keyPart)};this.fetchedTiles[x.tileId]=x;this.fetchedTiles[x.tileId].tileData=data2;if(this.fetching.has(x.remoteId)){this.fetching.delete(x.remoteId);}});this.synchronizeTilesAndGraphics();this.draw();this.animate();}},{key:"draw",value:function draw(){_get4(_getPrototypeOf4(OSMTileIdsTrack.prototype),"draw",this).call(this);}}]);return OSMTileIdsTrack;}(OSMTilesTrack);let MapboxTilesTrack=/*#__PURE__*/function(_OSMTilesTrack2){_inherits3(MapboxTilesTrack,_OSMTilesTrack2);var _super53=_createSuper3(MapboxTilesTrack);function MapboxTilesTrack(context,options2){var _this74;_classCallCheck3(this,MapboxTilesTrack);_this74=_super53.call(this,context,options2);_this74.style=options2.style;if(!_this74.options.accessToken){_this74.errorTextText="No access token provided in the viewconf's track options ('accessToken' option).";_this74.drawError();}return _this74;}_createClass3(MapboxTilesTrack,[{key:"rerender",value:function rerender(newOptions){_get4(_getPrototypeOf4(MapboxTilesTrack.prototype),"rerender",this).call(this,newOptions);if(newOptions.style===this.style)return;this.style=newOptions.style;this.removeAllTiles();this.refreshTiles();}},{key:"getTileUrl",value:function getTileUrl(tileZxy){const mapStyle=this.options&&this.options.style?this.options.style:"streets-v10";const tileSize=this.options&&+this.options.tileSize?+this.options.tileSize:256;return`https://api.mapbox.com/styles/v1/mapbox/${mapStyle}/tiles/${tileSize}/${tileZxy[0]}/${tileZxy[1]}/${tileZxy[2]}?access_token=${this.options.accessToken}`;}}]);return MapboxTilesTrack;}(OSMTilesTrack);let RasterTilesTrack=/*#__PURE__*/function(_OSMTilesTrack3){_inherits3(RasterTilesTrack,_OSMTilesTrack3);var _super54=_createSuper3(RasterTilesTrack);function RasterTilesTrack(context,options2){var _this75;_classCallCheck3(this,RasterTilesTrack);_this75=_super54.call(this,context,options2);_this75.style=options2.style;if(!_this75.options.tileSource){_this75.errorTextText="No tile source string provided in the options. It should be in the form of http://a.com/{z}/{x}/{y}";_this75.drawError();}return _this75;}_createClass3(RasterTilesTrack,[{key:"getTileUrl",value:function getTileUrl(tileZxy){let newUrl=this.options.tileSource.replace("{z}",tileZxy[0]);newUrl=newUrl.replace("{x}",tileZxy[1]);newUrl=newUrl.replace("{y}",tileZxy[2]);return newUrl;}}]);return RasterTilesTrack;}(OSMTilesTrack);const getDataFetcher$1=(dataConfig,pubSub,pluginDataFetchers,availableForPlugins=AVAILABLE_FOR_PLUGINS)=>{const pluginDataFetcher=pluginDataFetchers[dataConfig.type];if(pluginDataFetcher){return new pluginDataFetcher.dataFetcher(availableForPlugins,dataConfig,pubSub);}if(dataConfig.type==="genbank"){return new GBKDataFetcher(dataConfig,pubSub);}if(dataConfig.type==="local-tiles"){return new LocalTileDataFetcher(dataConfig,pubSub);}return new DataFetcher(dataConfig,pubSub);};var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var tau=pi*2;var degrees=180/pi;var radians=pi/180;var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var hypot=Math.hypot;var log=Math.log;var pow=Math.pow;var sin=Math.sin;var sign=Math.sign||function(x){return x>0?1:x<0?-1:0;};var sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?pi:Math.acos(x);}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x);}function haversin(x){return(x=sin(x/2))*x;}function noop$2(){}function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream);}}var streamObjectType={Feature:function(object2,stream){streamGeometry(object2.geometry,stream);},FeatureCollection:function(object2,stream){var features=object2.features,i2=-1,n=features.length;while(++i2<n)streamGeometry(features[i2].geometry,stream);}};var streamGeometryType={Sphere:function(object2,stream){stream.sphere();},Point:function(object2,stream){object2=object2.coordinates;stream.point(object2[0],object2[1],object2[2]);},MultiPoint:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)object2=coordinates2[i2],stream.point(object2[0],object2[1],object2[2]);},LineString:function(object2,stream){streamLine(object2.coordinates,stream,0);},MultiLineString:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)streamLine(coordinates2[i2],stream,0);},Polygon:function(object2,stream){streamPolygon(object2.coordinates,stream);},MultiPolygon:function(object2,stream){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)streamPolygon(coordinates2[i2],stream);},GeometryCollection:function(object2,stream){var geometries=object2.geometries,i2=-1,n=geometries.length;while(++i2<n)streamGeometry(geometries[i2],stream);}};function streamLine(coordinates2,stream,closed){var i2=-1,n=coordinates2.length-closed,coordinate;stream.lineStart();while(++i2<n)coordinate=coordinates2[i2],stream.point(coordinate[0],coordinate[1],coordinate[2]);stream.lineEnd();}function streamPolygon(coordinates2,stream){var i2=-1,n=coordinates2.length;stream.polygonStart();while(++i2<n)streamLine(coordinates2[i2],stream,1);stream.polygonEnd();}function geoStream(object2,stream){if(object2&&streamObjectType.hasOwnProperty(object2.type)){streamObjectType[object2.type](object2,stream);}else{streamGeometry(object2,stream);}}var areaRingSum$1=new Adder();var areaSum$1=new Adder(),lambda00$2,phi00$2,lambda0$2,cosPhi0$1,sinPhi0$1;var areaStream$1={point:noop$2,lineStart:noop$2,lineEnd:noop$2,polygonStart:function(){areaRingSum$1=new Adder();areaStream$1.lineStart=areaRingStart$1;areaStream$1.lineEnd=areaRingEnd$1;},polygonEnd:function(){var areaRing=+areaRingSum$1;areaSum$1.add(areaRing<0?tau+areaRing:areaRing);this.lineStart=this.lineEnd=this.point=noop$2;},sphere:function(){areaSum$1.add(tau);}};function areaRingStart$1(){areaStream$1.point=areaPointFirst$1;}function areaRingEnd$1(){areaPoint$1(lambda00$2,phi00$2);}function areaPointFirst$1(lambda,phi){areaStream$1.point=areaPoint$1;lambda00$2=lambda,phi00$2=phi;lambda*=radians,phi*=radians;lambda0$2=lambda,cosPhi0$1=cos(phi=phi/2+quarterPi),sinPhi0$1=sin(phi);}function areaPoint$1(lambda,phi){lambda*=radians,phi*=radians;phi=phi/2+quarterPi;var dLambda=lambda-lambda0$2,sdLambda=dLambda>=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=sinPhi0$1*sinPhi,u=cosPhi0$1*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum$1.add(atan2(v,u));lambda0$2=lambda,cosPhi0$1=cosPhi,sinPhi0$1=sinPhi;}function area(object2){areaSum$1=new Adder();geoStream(object2,areaStream$1);return areaSum$1*2;}function spherical(cartesian2){return[atan2(cartesian2[1],cartesian2[0]),asin(cartesian2[2])];}function cartesian(spherical2){var lambda=spherical2[0],phi=spherical2[1],cosPhi=cos(phi);return[cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi)];}function cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}function cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]];}function cartesianAddInPlace(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2];}function cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k];}function cartesianNormalizeInPlace(d){var l=sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l;}var lambda0$1,phi0,lambda1,phi1,lambda2,lambda00$1,phi00$1,p0,deltaSum,ranges,range;var boundsStream$2={point:boundsPoint$1,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream$2.point=boundsRingPoint;boundsStream$2.lineStart=boundsRingStart;boundsStream$2.lineEnd=boundsRingEnd;deltaSum=new Adder();areaStream$1.polygonStart();},polygonEnd:function(){areaStream$1.polygonEnd();boundsStream$2.point=boundsPoint$1;boundsStream$2.lineStart=boundsLineStart;boundsStream$2.lineEnd=boundsLineEnd;if(areaRingSum$1<0)lambda0$1=-(lambda1=180),phi0=-(phi1=90);else if(deltaSum>epsilon)phi1=90;else if(deltaSum<-epsilon)phi0=-90;range[0]=lambda0$1,range[1]=lambda1;},sphere:function(){lambda0$1=-(lambda1=180),phi0=-(phi1=90);}};function boundsPoint$1(lambda,phi){ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;}function linePoint(lambda,phi){var p=cartesian([lambda*radians,phi*radians]);if(p0){var normal=cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=spherical(inflection);var delta=lambda-lambda2,sign2=delta>0?1:-1,lambdai=inflection[0]*degrees*sign2,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign2*lambda2<lambdai&&lambdai<sign2*lambda)){phii=inflection[1]*degrees;if(phii>phi1)phi1=phii;}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign2*lambda2<lambdai&&lambdai<sign2*lambda)){phii=-inflection[1]*degrees;if(phii<phi0)phi0=phii;}else{if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;}if(antimeridian){if(lambda<lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda;}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda;}}else{if(lambda1>=lambda0$1){if(lambda<lambda0$1)lambda0$1=lambda;if(lambda>lambda1)lambda1=lambda;}else{if(lambda>lambda2){if(angle(lambda0$1,lambda)>angle(lambda0$1,lambda1))lambda1=lambda;}else{if(angle(lambda,lambda1)>angle(lambda0$1,lambda1))lambda0$1=lambda;}}}}else{ranges.push(range=[lambda0$1=lambda,lambda1=lambda]);}if(phi<phi0)phi0=phi;if(phi>phi1)phi1=phi;p0=p,lambda2=lambda;}function boundsLineStart(){boundsStream$2.point=linePoint;}function boundsLineEnd(){range[0]=lambda0$1,range[1]=lambda1;boundsStream$2.point=boundsPoint$1;p0=null;}function boundsRingPoint(lambda,phi){if(p0){var delta=lambda-lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta);}else{lambda00$1=lambda,phi00$1=phi;}areaStream$1.point(lambda,phi);linePoint(lambda,phi);}function boundsRingStart(){areaStream$1.lineStart();}function boundsRingEnd(){boundsRingPoint(lambda00$1,phi00$1);areaStream$1.lineEnd();if(abs(deltaSum)>epsilon)lambda0$1=-(lambda1=180);range[0]=lambda0$1,range[1]=lambda1;p0=null;}function angle(lambda02,lambda12){return(lambda12-=lambda02)<0?lambda12+360:lambda12;}function rangeCompare(a,b){return a[0]-b[0];}function rangeContains(range2,x){return range2[0]<=range2[1]?range2[0]<=x&&x<=range2[1]:x<range2[0]||range2[1]<x;}function bounds(feature){var i2,n,a,b,merged,deltaMax,delta;phi1=lambda1=-(lambda0$1=phi0=Infinity);ranges=[];geoStream(feature,boundsStream$2);if(n=ranges.length){ranges.sort(rangeCompare);for(i2=1,a=ranges[0],merged=[a];i2<n;++i2){b=ranges[i2];if(rangeContains(a,b[0])||rangeContains(a,b[1])){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0];}else{merged.push(a=b);}}for(deltaMax=-Infinity,n=merged.length-1,i2=0,a=merged[n];i2<=n;a=b,++i2){b=merged[i2];if((delta=angle(a[1],b[0]))>deltaMax)deltaMax=delta,lambda0$1=b[0],lambda1=a[1];}}ranges=range=null;return lambda0$1===Infinity||phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[lambda0$1,phi0],[lambda1,phi1]];}var W0,W1,X0$1,Y0$1,Z0$1,X1$1,Y1$1,Z1$1,X2$1,Y2$1,Z2$1,lambda00,phi00,x0$4,y0$4,z0;var centroidStream$1={sphere:noop$2,point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){centroidStream$1.lineStart=centroidRingStart$1;centroidStream$1.lineEnd=centroidRingEnd$1;},polygonEnd:function(){centroidStream$1.lineStart=centroidLineStart$1;centroidStream$1.lineEnd=centroidLineEnd$1;}};function centroidPoint$1(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi));}function centroidPointCartesian(x,y,z){++W0;X0$1+=(x-X0$1)/W0;Y0$1+=(y-Y0$1)/W0;Z0$1+=(z-Z0$1)/W0;}function centroidLineStart$1(){centroidStream$1.point=centroidLinePointFirst;}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);x0$4=cosPhi*cos(lambda);y0$4=cosPhi*sin(lambda);z0=sin(phi);centroidStream$1.point=centroidLinePoint;centroidPointCartesian(x0$4,y0$4,z0);}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(sqrt((w=y0$4*z-z0*y)*w+(w=z0*x-x0$4*z)*w+(w=x0$4*y-y0$4*x)*w),x0$4*x+y0$4*y+z0*z);W1+=w;X1$1+=w*(x0$4+(x0$4=x));Y1$1+=w*(y0$4+(y0$4=y));Z1$1+=w*(z0+(z0=z));centroidPointCartesian(x0$4,y0$4,z0);}function centroidLineEnd$1(){centroidStream$1.point=centroidPoint$1;}function centroidRingStart$1(){centroidStream$1.point=centroidRingPointFirst;}function centroidRingEnd$1(){centroidRingPoint(lambda00,phi00);centroidStream$1.point=centroidPoint$1;}function centroidRingPointFirst(lambda,phi){lambda00=lambda,phi00=phi;lambda*=radians,phi*=radians;centroidStream$1.point=centroidRingPoint;var cosPhi=cos(phi);x0$4=cosPhi*cos(lambda);y0$4=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(x0$4,y0$4,z0);}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=y0$4*z-z0*y,cy=z0*x-x0$4*z,cz=x0$4*y-y0$4*x,m=hypot(cx,cy,cz),w=asin(m),v=m&&-w/m;X2$1.add(v*cx);Y2$1.add(v*cy);Z2$1.add(v*cz);W1+=w;X1$1+=w*(x0$4+(x0$4=x));Y1$1+=w*(y0$4+(y0$4=y));Z1$1+=w*(z0+(z0=z));centroidPointCartesian(x0$4,y0$4,z0);}function centroid(object2){W0=W1=X0$1=Y0$1=Z0$1=X1$1=Y1$1=Z1$1=0;X2$1=new Adder();Y2$1=new Adder();Z2$1=new Adder();geoStream(object2,centroidStream$1);var x=+X2$1,y=+Y2$1,z=+Z2$1,m=hypot(x,y,z);if(m<epsilon2){x=X1$1,y=Y1$1,z=Z1$1;if(W1<epsilon)x=X0$1,y=Y0$1,z=Z0$1;m=hypot(x,y,z);if(m<epsilon2)return[NaN,NaN];}return[atan2(y,x)*degrees,asin(z/m)*degrees];}function constant$1(x){return function(){return x;};}function compose(a,b){function compose2(x,y){return x=a(x,y),b(x[0],x[1]);}if(a.invert&&b.invert)compose2.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1]);};return compose2;}function rotationIdentity(lambda,phi){return[abs(lambda)>pi?lambda+Math.round(-lambda/tau)*tau:lambda,phi];}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity;}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>pi?lambda-tau:lambda<-pi?lambda+tau:lambda,phi];};}function rotationLambda(deltaLambda){var rotation2=forwardRotationLambda(deltaLambda);rotation2.invert=forwardRotationLambda(-deltaLambda);return rotation2;}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation2(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)];}rotation2.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)];};return rotation2;}function rotation(rotate2){rotate2=rotateRadians(rotate2[0]*radians,rotate2[1]*radians,rotate2.length>2?rotate2[2]*radians:0);function forward(coordinates2){coordinates2=rotate2(coordinates2[0]*radians,coordinates2[1]*radians);return coordinates2[0]*=degrees,coordinates2[1]*=degrees,coordinates2;}forward.invert=function(coordinates2){coordinates2=rotate2.invert(coordinates2[0]*radians,coordinates2[1]*radians);return coordinates2[0]*=degrees,coordinates2[1]*=degrees,coordinates2;};return forward;}function circleStream(stream,radius,delta,direction,t02,t12){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t02==null){t02=radius+direction*tau;t12=radius-step/2;}else{t02=circleRadius(cosRadius,t02);t12=circleRadius(cosRadius,t12);if(direction>0?t02<t12:t02>t12)t02+=direction*tau;}for(var point2,t=t02;direction>0?t>t12:t<t12;t-=step){point2=spherical([cosRadius,-sinRadius*cos(t),-sinRadius*sin(t)]);stream.point(point2[0],point2[1]);}}function circleRadius(cosRadius,point2){point2=cartesian(point2),point2[0]-=cosRadius;cartesianNormalizeInPlace(point2);var radius=acos(-point2[1]);return((-point2[2]<0?-radius:radius)+tau-epsilon)%tau;}function circle$1(){var center2=constant$1([0,0]),radius=constant$1(90),precision=constant$1(6),ring,rotate2,stream={point:point2};function point2(x,y){ring.push(x=rotate2(x,y));x[0]*=degrees,x[1]*=degrees;}function circle2(){var c2=center2.apply(this,arguments),r2=radius.apply(this,arguments)*radians,p=precision.apply(this,arguments)*radians;ring=[];rotate2=rotateRadians(-c2[0]*radians,-c2[1]*radians,0).invert;circleStream(stream,r2,p,1);c2={type:"Polygon",coordinates:[ring]};ring=rotate2=null;return c2;}circle2.center=function(_){return arguments.length?(center2=typeof _==="function"?_:constant$1([+_[0],+_[1]]),circle2):center2;};circle2.radius=function(_){return arguments.length?(radius=typeof _==="function"?_:constant$1(+_),circle2):radius;};circle2.precision=function(_){return arguments.length?(precision=typeof _==="function"?_:constant$1(+_),circle2):precision;};return circle2;}function clipBuffer(){var lines=[],line;return{point:function(x,y,m){line.push([x,y,m]);},lineStart:function(){lines.push(line=[]);},lineEnd:noop$2,rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()));},result:function(){var result=lines;lines=[];line=null;return result;}};}function pointEqual(a,b){return abs(a[0]-b[0])<epsilon&&abs(a[1]-b[1])<epsilon;}function Intersection(point2,points,other,entry){this.x=point2;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null;}function clipRejoin(segments,compareIntersection2,startInside,interpolate2,stream){var subject=[],clip2=[],i2,n;segments.forEach(function(segment){if((n2=segment.length-1)<=0)return;var n2,p02=segment[0],p1=segment[n2],x;if(pointEqual(p02,p1)){if(!p02[2]&&!p1[2]){stream.lineStart();for(i2=0;i2<n2;++i2)stream.point((p02=segment[i2])[0],p02[1]);stream.lineEnd();return;}p1[0]+=2*epsilon;}subject.push(x=new Intersection(p02,segment,null,true));clip2.push(x.o=new Intersection(p02,null,x,false));subject.push(x=new Intersection(p1,segment,null,false));clip2.push(x.o=new Intersection(p1,null,x,true));});if(!subject.length)return;clip2.sort(compareIntersection2);link(subject);link(clip2);for(i2=0,n=clip2.length;i2<n;++i2){clip2[i2].e=startInside=!startInside;}var start2=subject[0],points,point2;while(1){var current=start2,isSubject=true;while(current.v)if((current=current.n)===start2)return;points=current.z;stream.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(i2=0,n=points.length;i2<n;++i2)stream.point((point2=points[i2])[0],point2[1]);}else{interpolate2(current.x,current.n.x,1,stream);}current=current.n;}else{if(isSubject){points=current.p.z;for(i2=points.length-1;i2>=0;--i2)stream.point((point2=points[i2])[0],point2[1]);}else{interpolate2(current.x,current.p.x,-1,stream);}current=current.p;}current=current.o;points=current.z;isSubject=!isSubject;}while(!current.v);stream.lineEnd();}}function link(array2){if(!(n=array2.length))return;var n,i2=0,a=array2[0],b;while(++i2<n){a.n=b=array2[i2];b.p=a;a=b;}a.n=b=array2[0];b.p=a;}function longitude(point2){if(abs(point2[0])<=pi)return point2[0];else return sign(point2[0])*((abs(point2[0])+pi)%tau-pi);}function polygonContains(polygon,point2){var lambda=longitude(point2),phi=point2[1],sinPhi=sin(phi),normal=[sin(lambda),-cos(lambda),0],angle2=0,winding=0;var sum2=new Adder();if(sinPhi===1)phi=halfPi+epsilon;else if(sinPhi===-1)phi=-halfPi-epsilon;for(var i2=0,n=polygon.length;i2<n;++i2){if(!(m=(ring=polygon[i2]).length))continue;var ring,m,point0=ring[m-1],lambda02=longitude(point0),phi02=point0[1]/2+quarterPi,sinPhi02=sin(phi02),cosPhi02=cos(phi02);for(var j=0;j<m;++j,lambda02=lambda12,sinPhi02=sinPhi1,cosPhi02=cosPhi1,point0=point1){var point1=ring[j],lambda12=longitude(point1),phi12=point1[1]/2+quarterPi,sinPhi1=sin(phi12),cosPhi1=cos(phi12),delta=lambda12-lambda02,sign2=delta>=0?1:-1,absDelta=sign2*delta,antimeridian=absDelta>pi,k=sinPhi02*sinPhi1;sum2.add(atan2(k*sign2*sin(absDelta),cosPhi02*cosPhi1+k*cos(absDelta)));angle2+=antimeridian?delta+sign2*tau:delta;if(antimeridian^lambda02>=lambda^lambda12>=lambda){var arc=cartesianCross(cartesian(point0),cartesian(point1));cartesianNormalizeInPlace(arc);var intersection2=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection2);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection2[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1;}}}}return(angle2<-epsilon||angle2<epsilon&&sum2<-epsilon2)^winding&1;}function clip(pointVisible,clipLine2,interpolate2,start2){return function(sink){var line=clipLine2(sink),ringBuffer=clipBuffer(),ringSink=clipLine2(ringBuffer),polygonStarted=false,polygon,segments,ring;var clip2={point:point2,lineStart,lineEnd,polygonStart:function(){clip2.point=pointRing;clip2.lineStart=ringStart;clip2.lineEnd=ringEnd;segments=[];polygon=[];},polygonEnd:function(){clip2.point=point2;clip2.lineStart=lineStart;clip2.lineEnd=lineEnd;segments=merge$4(segments);var startInside=polygonContains(polygon,start2);if(segments.length){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;clipRejoin(segments,compareIntersection,startInside,interpolate2,sink);}else if(startInside){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();interpolate2(null,null,1,sink);sink.lineEnd();}if(polygonStarted)sink.polygonEnd(),polygonStarted=false;segments=polygon=null;},sphere:function(){sink.polygonStart();sink.lineStart();interpolate2(null,null,1,sink);sink.lineEnd();sink.polygonEnd();}};function point2(lambda,phi){if(pointVisible(lambda,phi))sink.point(lambda,phi);}function pointLine(lambda,phi){line.point(lambda,phi);}function lineStart(){clip2.point=pointLine;line.lineStart();}function lineEnd(){clip2.point=point2;line.lineEnd();}function pointRing(lambda,phi){ring.push([lambda,phi]);ringSink.point(lambda,phi);}function ringStart(){ringSink.lineStart();ring=[];}function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringSink.lineEnd();var clean=ringSink.clean(),ringSegments=ringBuffer.result(),i2,n=ringSegments.length,m,segment,point3;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];if((m=segment.length-1)>0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i2=0;i2<m;++i2)sink.point((point3=segment[i2])[0],point3[1]);sink.lineEnd();}return;}if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment));}return clip2;};}function validSegment(segment){return segment.length>1;}function compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-epsilon:halfPi-b[1]);}const clipAntimeridian=clip(function(){return true;},clipAntimeridianLine,clipAntimeridianInterpolate,[-pi,-halfPi]);function clipAntimeridianLine(stream){var lambda02=NaN,phi02=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1;},point:function(lambda12,phi12){var sign1=lambda12>0?pi:-pi,delta=abs(lambda12-lambda02);if(abs(delta-pi)<epsilon){stream.point(lambda02,phi02=(phi02+phi12)/2>0?halfPi:-halfPi);stream.point(sign0,phi02);stream.lineEnd();stream.lineStart();stream.point(sign1,phi02);stream.point(lambda12,phi02);clean=0;}else if(sign0!==sign1&&delta>=pi){if(abs(lambda02-sign0)<epsilon)lambda02-=sign0*epsilon;if(abs(lambda12-sign1)<epsilon)lambda12-=sign1*epsilon;phi02=clipAntimeridianIntersect(lambda02,phi02,lambda12,phi12);stream.point(sign0,phi02);stream.lineEnd();stream.lineStart();stream.point(sign1,phi02);clean=0;}stream.point(lambda02=lambda12,phi02=phi12);sign0=sign1;},lineEnd:function(){stream.lineEnd();lambda02=phi02=NaN;},clean:function(){return 2-clean;}};}function clipAntimeridianIntersect(lambda02,phi02,lambda12,phi12){var cosPhi02,cosPhi1,sinLambda0Lambda1=sin(lambda02-lambda12);return abs(sinLambda0Lambda1)>epsilon?atan((sin(phi02)*(cosPhi1=cos(phi12))*sin(lambda12)-sin(phi12)*(cosPhi02=cos(phi02))*sin(lambda02))/(cosPhi02*cosPhi1*sinLambda0Lambda1)):(phi02+phi12)/2;}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-pi,phi);stream.point(0,phi);stream.point(pi,phi);stream.point(pi,0);stream.point(pi,-phi);stream.point(0,-phi);stream.point(-pi,-phi);stream.point(-pi,0);stream.point(-pi,phi);}else if(abs(from[0]-to[0])>epsilon){var lambda=from[0]<to[0]?pi:-pi;phi=direction*lambda/2;stream.point(-lambda,phi);stream.point(0,phi);stream.point(lambda,phi);}else{stream.point(to[0],to[1]);}}function clipCircle(radius){var cr=cos(radius),delta=6*radians,smallRadius=cr>0,notHemisphere=abs(cr)>epsilon;function interpolate2(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to);}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr;}function clipLine2(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1;},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c2=smallRadius?v?0:code2(lambda,phi):v?code2(lambda+(lambda<0?pi:-pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect2(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2))point1[2]=1;}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect2(point1,point0);stream.point(point2[0],point2[1]);}else{point2=intersect2(point0,point1);stream.point(point2[0],point2[1],2);stream.lineEnd();}point0=point2;}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c2&c0)&&(t=intersect2(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd();}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1],3);}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1]);}point0=point1,v0=v,c0=c2;},lineEnd:function(){if(v0)stream.lineEnd();point0=null;},clean:function(){return clean|(v00&&v0)<<1;}};}function intersect2(a,b,two){var pa=cartesian(a),pb=cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A5=cartesianScale(n1,c1),B2=cartesianScale(n2,c2);cartesianAddInPlace(A5,B2);var u=n1xn2,w=cartesianDot(A5,u),uu=cartesianDot(u,u),t22=w*w-uu*(cartesianDot(A5,A5)-1);if(t22<0)return;var t=sqrt(t22),q2=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q2,A5);q2=spherical(q2);if(!two)return q2;var lambda02=a[0],lambda12=b[0],phi02=a[1],phi12=b[1],z;if(lambda12<lambda02)z=lambda02,lambda02=lambda12,lambda12=z;var delta2=lambda12-lambda02,polar=abs(delta2-pi)<epsilon,meridian=polar||delta2<epsilon;if(!polar&&phi12<phi02)z=phi02,phi02=phi12,phi12=z;if(meridian?polar?phi02+phi12>0^q2[1]<(abs(q2[0]-lambda02)<epsilon?phi02:phi12):phi02<=q2[1]&&q2[1]<=phi12:delta2>pi^(lambda02<=q2[0]&&q2[0]<=lambda12)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A5);return[q2,spherical(q1)];}}function code2(lambda,phi){var r2=smallRadius?radius:pi-radius,code3=0;if(lambda<-r2)code3|=1;else if(lambda>r2)code3|=2;if(phi<-r2)code3|=4;else if(phi>r2)code3|=8;return code3;}return clip(visible,clipLine2,interpolate2,smallRadius?[0,-radius]:[-pi,radius-pi]);}function clipLine(a,b,x02,y02,x12,y12){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t02=0,t12=1,dx=bx-ax,dy=by-ay,r2;r2=x02-ax;if(!dx&&r2>0)return;r2/=dx;if(dx<0){if(r2<t02)return;if(r2<t12)t12=r2;}else if(dx>0){if(r2>t12)return;if(r2>t02)t02=r2;}r2=x12-ax;if(!dx&&r2<0)return;r2/=dx;if(dx<0){if(r2>t12)return;if(r2>t02)t02=r2;}else if(dx>0){if(r2<t02)return;if(r2<t12)t12=r2;}r2=y02-ay;if(!dy&&r2>0)return;r2/=dy;if(dy<0){if(r2<t02)return;if(r2<t12)t12=r2;}else if(dy>0){if(r2>t12)return;if(r2>t02)t02=r2;}r2=y12-ay;if(!dy&&r2<0)return;r2/=dy;if(dy<0){if(r2>t12)return;if(r2>t02)t02=r2;}else if(dy>0){if(r2<t02)return;if(r2<t12)t12=r2;}if(t02>0)a[0]=ax+t02*dx,a[1]=ay+t02*dy;if(t12<1)b[0]=ax+t12*dx,b[1]=ay+t12*dy;return true;}var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x02,y02,x12,y12){function visible(x,y){return x02<=x&&x<=x12&&y02<=y&&y<=y12;}function interpolate2(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do stream.point(a===0||a===3?x02:x12,a>1?y12:y02);while((a=(a+direction+4)%4)!==a1);}else{stream.point(to[0],to[1]);}}function corner(p,direction){return abs(p[0]-x02)<epsilon?direction>0?0:3:abs(p[0]-x12)<epsilon?direction>0?2:1:abs(p[1]-y02)<epsilon?direction>0?1:0:direction>0?3:2;}function compareIntersection2(a,b){return comparePoint(a.x,b.x);}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0];}return function(stream){var activeStream=stream,bufferStream=clipBuffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first2,clean;var clipStream={point:point2,lineStart,lineEnd,polygonStart,polygonEnd};function point2(x,y){if(visible(x,y))activeStream.point(x,y);}function polygonInside(){var winding=0;for(var i2=0,n=polygon.length;i2<n;++i2){for(var ring2=polygon[i2],j=1,m=ring2.length,point3=ring2[0],a0,a1,b0=point3[0],b1=point3[1];j<m;++j){a0=b0,a1=b1,point3=ring2[j],b0=point3[0],b1=point3[1];if(a1<=y12){if(b1>y12&&(b0-a0)*(y12-a1)>(b1-a1)*(x02-a0))++winding;}else{if(b1<=y12&&(b0-a0)*(y12-a1)<(b1-a1)*(x02-a0))--winding;}}}return winding;}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true;}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible2=(segments=merge$4(segments)).length;if(cleanInside||visible2){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate2(null,null,1,stream);stream.lineEnd();}if(visible2){clipRejoin(segments,compareIntersection2,startInside,interpolate2,stream);}stream.polygonEnd();}activeStream=stream,segments=polygon=ring=null;}function lineStart(){clipStream.point=linePoint2;if(polygon)polygon.push(ring=[]);first2=true;v_=false;x_=y_=NaN;}function lineEnd(){if(segments){linePoint2(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result());}clipStream.point=point2;if(v_)activeStream.lineEnd();}function linePoint2(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first2){x__=x,y__=y,v__=v;first2=false;if(v){activeStream.lineStart();activeStream.point(x,y);}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clipLine(a,b,x02,y02,x12,y12)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1]);}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false;}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false;}}}x_=x,y_=y,v_=v;}return clipStream;};}function extent(){var x02=0,y02=0,x12=960,y12=500,cache2,cacheStream,clip2;return clip2={stream:function(stream){return cache2&&cacheStream===stream?cache2:cache2=clipRectangle(x02,y02,x12,y12)(cacheStream=stream);},extent:function(_){return arguments.length?(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1],cache2=cacheStream=null,clip2):[[x02,y02],[x12,y12]];}};}var lengthSum$1,lambda0,sinPhi0,cosPhi0;var lengthStream$1={sphere:noop$2,point:noop$2,lineStart:lengthLineStart,lineEnd:noop$2,polygonStart:noop$2,polygonEnd:noop$2};function lengthLineStart(){lengthStream$1.point=lengthPointFirst$1;lengthStream$1.lineEnd=lengthLineEnd;}function lengthLineEnd(){lengthStream$1.point=lengthStream$1.lineEnd=noop$2;}function lengthPointFirst$1(lambda,phi){lambda*=radians,phi*=radians;lambda0=lambda,sinPhi0=sin(phi),cosPhi0=cos(phi);lengthStream$1.point=lengthPoint$1;}function lengthPoint$1(lambda,phi){lambda*=radians,phi*=radians;var sinPhi=sin(phi),cosPhi=cos(phi),delta=abs(lambda-lambda0),cosDelta=cos(delta),sinDelta=sin(delta),x=cosPhi*sinDelta,y=cosPhi0*sinPhi-sinPhi0*cosPhi*cosDelta,z=sinPhi0*sinPhi+cosPhi0*cosPhi*cosDelta;lengthSum$1.add(atan2(sqrt(x*x+y*y),z));lambda0=lambda,sinPhi0=sinPhi,cosPhi0=cosPhi;}function length(object2){lengthSum$1=new Adder();geoStream(object2,lengthStream$1);return+lengthSum$1;}var coordinates=[null,null],object={type:"LineString",coordinates};function distance(a,b){coordinates[0]=a;coordinates[1]=b;return length(object);}var containsObjectType={Feature:function(object2,point2){return containsGeometry(object2.geometry,point2);},FeatureCollection:function(object2,point2){var features=object2.features,i2=-1,n=features.length;while(++i2<n)if(containsGeometry(features[i2].geometry,point2))return true;return false;}};var containsGeometryType={Sphere:function(){return true;},Point:function(object2,point2){return containsPoint(object2.coordinates,point2);},MultiPoint:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsPoint(coordinates2[i2],point2))return true;return false;},LineString:function(object2,point2){return containsLine(object2.coordinates,point2);},MultiLineString:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsLine(coordinates2[i2],point2))return true;return false;},Polygon:function(object2,point2){return containsPolygon(object2.coordinates,point2);},MultiPolygon:function(object2,point2){var coordinates2=object2.coordinates,i2=-1,n=coordinates2.length;while(++i2<n)if(containsPolygon(coordinates2[i2],point2))return true;return false;},GeometryCollection:function(object2,point2){var geometries=object2.geometries,i2=-1,n=geometries.length;while(++i2<n)if(containsGeometry(geometries[i2],point2))return true;return false;}};function containsGeometry(geometry,point2){return geometry&&containsGeometryType.hasOwnProperty(geometry.type)?containsGeometryType[geometry.type](geometry,point2):false;}function containsPoint(coordinates2,point2){return distance(coordinates2,point2)===0;}function containsLine(coordinates2,point2){var ao,bo,ab;for(var i2=0,n=coordinates2.length;i2<n;i2++){bo=distance(coordinates2[i2],point2);if(bo===0)return true;if(i2>0){ab=distance(coordinates2[i2],coordinates2[i2-1]);if(ab>0&&ao<=ab&&bo<=ab&&(ao+bo-ab)*(1-Math.pow((ao-bo)/ab,2))<epsilon2*ab)return true;}ao=bo;}return false;}function containsPolygon(coordinates2,point2){return!!polygonContains(coordinates2.map(ringRadians),pointRadians(point2));}function ringRadians(ring){return ring=ring.map(pointRadians),ring.pop(),ring;}function pointRadians(point2){return[point2[0]*radians,point2[1]*radians];}function contains$1(object2,point2){return(object2&&containsObjectType.hasOwnProperty(object2.type)?containsObjectType[object2.type]:containsGeometry)(object2,point2);}function graticuleX(y02,y12,dy){var y=range$2(y02,y12-epsilon,dy).concat(y12);return function(x){return y.map(function(y2){return[x,y2];});};}function graticuleY(x02,x12,dx){var x=range$2(x02,x12-epsilon,dx).concat(x12);return function(y){return x.map(function(x2){return[x2,y];});};}function graticule(){var x12,x02,X12,X02,y12,y02,Y12,Y02,dx=10,dy=dx,DX=90,DY=360,x,y,X3,Y3,precision=2.5;function graticule2(){return{type:"MultiLineString",coordinates:lines()};}function lines(){return range$2(ceil(X02/DX)*DX,X12,DX).map(X3).concat(range$2(ceil(Y02/DY)*DY,Y12,DY).map(Y3)).concat(range$2(ceil(x02/dx)*dx,x12,dx).filter(function(x2){return abs(x2%DX)>epsilon;}).map(x)).concat(range$2(ceil(y02/dy)*dy,y12,dy).filter(function(y2){return abs(y2%DY)>epsilon;}).map(y));}graticule2.lines=function(){return lines().map(function(coordinates2){return{type:"LineString",coordinates:coordinates2};});};graticule2.outline=function(){return{type:"Polygon",coordinates:[X3(X02).concat(Y3(Y12).slice(1),X3(X12).reverse().slice(1),Y3(Y02).reverse().slice(1))]};};graticule2.extent=function(_){if(!arguments.length)return graticule2.extentMinor();return graticule2.extentMajor(_).extentMinor(_);};graticule2.extentMajor=function(_){if(!arguments.length)return[[X02,Y02],[X12,Y12]];X02=+_[0][0],X12=+_[1][0];Y02=+_[0][1],Y12=+_[1][1];if(X02>X12)_=X02,X02=X12,X12=_;if(Y02>Y12)_=Y02,Y02=Y12,Y12=_;return graticule2.precision(precision);};graticule2.extentMinor=function(_){if(!arguments.length)return[[x02,y02],[x12,y12]];x02=+_[0][0],x12=+_[1][0];y02=+_[0][1],y12=+_[1][1];if(x02>x12)_=x02,x02=x12,x12=_;if(y02>y12)_=y02,y02=y12,y12=_;return graticule2.precision(precision);};graticule2.step=function(_){if(!arguments.length)return graticule2.stepMinor();return graticule2.stepMajor(_).stepMinor(_);};graticule2.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule2;};graticule2.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule2;};graticule2.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y02,y12,90);y=graticuleY(x02,x12,precision);X3=graticuleX(Y02,Y12,90);Y3=graticuleY(X02,X12,precision);return graticule2;};return graticule2.extentMajor([[-180,-90+epsilon],[180,90-epsilon]]).extentMinor([[-180,-80-epsilon],[180,80+epsilon]]);}function graticule10(){return graticule()();}function interpolate(a,b){var x02=a[0]*radians,y02=a[1]*radians,x12=b[0]*radians,y12=b[1]*radians,cy0=cos(y02),sy0=sin(y02),cy1=cos(y12),sy1=sin(y12),kx0=cy0*cos(x02),ky0=cy0*sin(x02),kx1=cy1*cos(x12),ky1=cy1*sin(x12),d=2*asin(sqrt(haversin(y12-y02)+cy0*cy1*haversin(x12-x02))),k=sin(d);var interpolate2=d?function(t){var B2=sin(t*=d)/k,A5=sin(d-t)/k,x=A5*kx0+B2*kx1,y=A5*ky0+B2*ky1,z=A5*sy0+B2*sy1;return[atan2(y,x)*degrees,atan2(z,sqrt(x*x+y*y))*degrees];}:function(){return[x02*degrees,y02*degrees];};interpolate2.distance=d;return interpolate2;}const identity$2=x=>x;var areaSum=new Adder(),areaRingSum=new Adder(),x00$2,y00$2,x0$3,y0$3;var areaStream={point:noop$2,lineStart:noop$2,lineEnd:noop$2,polygonStart:function(){areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd;},polygonEnd:function(){areaStream.lineStart=areaStream.lineEnd=areaStream.point=noop$2;areaSum.add(abs(areaRingSum));areaRingSum=new Adder();},result:function(){var area2=areaSum/2;areaSum=new Adder();return area2;}};function areaRingStart(){areaStream.point=areaPointFirst;}function areaPointFirst(x,y){areaStream.point=areaPoint;x00$2=x0$3=x,y00$2=y0$3=y;}function areaPoint(x,y){areaRingSum.add(y0$3*x-x0$3*y);x0$3=x,y0$3=y;}function areaRingEnd(){areaPoint(x00$2,y00$2);}const pathArea=areaStream;var x0$2=Infinity,y0$2=x0$2,x1=-x0$2,y1=x1;var boundsStream={point:boundsPoint,lineStart:noop$2,lineEnd:noop$2,polygonStart:noop$2,polygonEnd:noop$2,result:function(){var bounds2=[[x0$2,y0$2],[x1,y1]];x1=y1=-(y0$2=x0$2=Infinity);return bounds2;}};function boundsPoint(x,y){if(x<x0$2)x0$2=x;if(x>x1)x1=x;if(y<y0$2)y0$2=y;if(y>y1)y1=y;}const boundsStream$1=boundsStream;var X0=0,Y0=0,Z0=0,X1=0,Y1=0,Z1=0,X2=0,Y2=0,Z2=0,x00$1,y00$1,x0$1,y0$1;var centroidStream={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd;},polygonEnd:function(){centroidStream.point=centroidPoint;centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd;},result:function(){var centroid2=Z2?[X2/Z2,Y2/Z2]:Z1?[X1/Z1,Y1/Z1]:Z0?[X0/Z0,Y0/Z0]:[NaN,NaN];X0=Y0=Z0=X1=Y1=Z1=X2=Y2=Z2=0;return centroid2;}};function centroidPoint(x,y){X0+=x;Y0+=y;++Z0;}function centroidLineStart(){centroidStream.point=centroidPointFirstLine;}function centroidPointFirstLine(x,y){centroidStream.point=centroidPointLine;centroidPoint(x0$1=x,y0$1=y);}function centroidPointLine(x,y){var dx=x-x0$1,dy=y-y0$1,z=sqrt(dx*dx+dy*dy);X1+=z*(x0$1+x)/2;Y1+=z*(y0$1+y)/2;Z1+=z;centroidPoint(x0$1=x,y0$1=y);}function centroidLineEnd(){centroidStream.point=centroidPoint;}function centroidRingStart(){centroidStream.point=centroidPointFirstRing;}function centroidRingEnd(){centroidPointRing(x00$1,y00$1);}function centroidPointFirstRing(x,y){centroidStream.point=centroidPointRing;centroidPoint(x00$1=x0$1=x,y00$1=y0$1=y);}function centroidPointRing(x,y){var dx=x-x0$1,dy=y-y0$1,z=sqrt(dx*dx+dy*dy);X1+=z*(x0$1+x)/2;Y1+=z*(y0$1+y)/2;Z1+=z;z=y0$1*x-x0$1*y;X2+=z*(x0$1+x);Y2+=z*(y0$1+y);Z2+=z*3;centroidPoint(x0$1=x,y0$1=y);}const pathCentroid=centroidStream;function PathContext(context){this._context=context;}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this;},polygonStart:function(){this._line=0;},polygonEnd:function(){this._line=NaN;},lineStart:function(){this._point=0;},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN;},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break;}case 1:{this._context.lineTo(x,y);break;}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,tau);break;}}},result:noop$2};var lengthSum=new Adder(),lengthRing,x00,y00,x0,y0;var lengthStream={point:noop$2,lineStart:function(){lengthStream.point=lengthPointFirst;},lineEnd:function(){if(lengthRing)lengthPoint(x00,y00);lengthStream.point=noop$2;},polygonStart:function(){lengthRing=true;},polygonEnd:function(){lengthRing=null;},result:function(){var length2=+lengthSum;lengthSum=new Adder();return length2;}};function lengthPointFirst(x,y){lengthStream.point=lengthPoint;x00=x0=x,y00=y0=y;}function lengthPoint(x,y){x0-=x,y0-=y;lengthSum.add(sqrt(x0*x0+y0*y0));x0=x,y0=y;}const pathMeasure=lengthStream;function PathString(){this._string=[];}PathString.prototype={_radius:4.5,_circle:circle(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this;},polygonStart:function(){this._line=0;},polygonEnd:function(){this._line=NaN;},lineStart:function(){this._point=0;},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN;},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break;}case 1:{this._string.push("L",x,",",y);break;}default:{if(this._circle==null)this._circle=circle(this._radius);this._string.push("M",x,",",y,this._circle);break;}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result;}else{return null;}}};function circle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z";}function index(projection2,context){var pointRadius=4.5,projectionStream,contextStream;function path(object2){if(object2){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));geoStream(object2,projectionStream(contextStream));}return contextStream.result();}path.area=function(object2){geoStream(object2,projectionStream(pathArea));return pathArea.result();};path.measure=function(object2){geoStream(object2,projectionStream(pathMeasure));return pathMeasure.result();};path.bounds=function(object2){geoStream(object2,projectionStream(boundsStream$1));return boundsStream$1.result();};path.centroid=function(object2){geoStream(object2,projectionStream(pathCentroid));return pathCentroid.result();};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection2=null,identity$2):(projection2=_).stream,path):projection2;};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString()):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path;};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path;};return path.projection(projection2).context(context);}function transform(methods){return{stream:transformer(methods)};}function transformer(methods){return function(stream){var s=new TransformStream();for(var key in methods)s[key]=methods[key];s.stream=stream;return s;};}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y);},sphere:function(){this.stream.sphere();},lineStart:function(){this.stream.lineStart();},lineEnd:function(){this.stream.lineEnd();},polygonStart:function(){this.stream.polygonStart();},polygonEnd:function(){this.stream.polygonEnd();}};function fit(projection2,fitBounds,object2){var clip2=projection2.clipExtent&&projection2.clipExtent();projection2.scale(150).translate([0,0]);if(clip2!=null)projection2.clipExtent(null);geoStream(object2,projection2.stream(boundsStream$1));fitBounds(boundsStream$1.result());if(clip2!=null)projection2.clipExtent(clip2);return projection2;}function fitExtent(projection2,extent2,object2){return fit(projection2,function(b){var w=extent2[1][0]-extent2[0][0],h=extent2[1][1]-extent2[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent2[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent2[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection2.scale(150*k).translate([x,y]);},object2);}function fitSize(projection2,size,object2){return fitExtent(projection2,[[0,0],size],object2);}function fitWidth(projection2,width,object2){return fit(projection2,function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection2.scale(150*k).translate([x,y]);},object2);}function fitHeight(projection2,height,object2){return fit(projection2,function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection2.scale(150*k).translate([x,y]);},object2);}var maxDepth=16,cosMinDistance=cos(30*radians);function resample(project,delta2){return+delta2?resample$1(project,delta2):resampleNone(project);}function resampleNone(project){return transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1]);}});}function resample$1(project,delta2){function resampleLineTo(x02,y02,lambda02,a0,b0,c0,x12,y12,lambda12,a1,b1,c1,depth,stream){var dx=x12-x02,dy=y12-y02,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c2=c0+c1,m=sqrt(a*a+b*b+c2*c2),phi2=asin(c2/=m),lambda22=abs(abs(c2)-1)<epsilon||abs(lambda02-lambda12)<epsilon?(lambda02+lambda12)/2:atan2(b,a),p=project(lambda22,phi2),x2=p[0],y2=p[1],dx2=x2-x02,dy2=y2-y02,dz=dy*dx2-dx*dy2;if(dz*dz/d2>delta2||abs((dx*dx2+dy*dy2)/d2-0.5)>0.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x02,y02,lambda02,a0,b0,c0,x2,y2,lambda22,a/=m,b/=m,c2,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,lambda22,a,b,c2,x12,y12,lambda12,a1,b1,c1,depth,stream);}}}return function(stream){var lambda002,x002,y002,a00,b00,c00,lambda02,x02,y02,a0,b0,c0;var resampleStream={point:point2,lineStart,lineEnd,polygonStart:function(){stream.polygonStart();resampleStream.lineStart=ringStart;},polygonEnd:function(){stream.polygonEnd();resampleStream.lineStart=lineStart;}};function point2(x,y){x=project(x,y);stream.point(x[0],x[1]);}function lineStart(){x02=NaN;resampleStream.point=linePoint2;stream.lineStart();}function linePoint2(lambda,phi){var c2=cartesian([lambda,phi]),p=project(lambda,phi);resampleLineTo(x02,y02,lambda02,a0,b0,c0,x02=p[0],y02=p[1],lambda02=lambda,a0=c2[0],b0=c2[1],c0=c2[2],maxDepth,stream);stream.point(x02,y02);}function lineEnd(){resampleStream.point=point2;stream.lineEnd();}function ringStart(){lineStart();resampleStream.point=ringPoint;resampleStream.lineEnd=ringEnd;}function ringPoint(lambda,phi){linePoint2(lambda002=lambda,phi),x002=x02,y002=y02,a00=a0,b00=b0,c00=c0;resampleStream.point=linePoint2;}function ringEnd(){resampleLineTo(x02,y02,lambda02,a0,b0,c0,x002,y002,lambda002,a00,b00,c00,maxDepth,stream);resampleStream.lineEnd=lineEnd;lineEnd();}return resampleStream;};}var transformRadians=transformer({point:function(x,y){this.stream.point(x*radians,y*radians);}});function transformRotate(rotate2){return transformer({point:function(x,y){var r2=rotate2(x,y);return this.stream.point(r2[0],r2[1]);}});}function scaleTranslate(k,dx,dy,sx,sy){function transform2(x,y){x*=sx;y*=sy;return[dx+k*x,dy-k*y];}transform2.invert=function(x,y){return[(x-dx)/k*sx,(dy-y)/k*sy];};return transform2;}function scaleTranslateRotate(k,dx,dy,sx,sy,alpha){if(!alpha)return scaleTranslate(k,dx,dy,sx,sy);var cosAlpha=cos(alpha),sinAlpha=sin(alpha),a=cosAlpha*k,b=sinAlpha*k,ai=cosAlpha/k,bi=sinAlpha/k,ci=(sinAlpha*dy-cosAlpha*dx)/k,fi=(sinAlpha*dx+cosAlpha*dy)/k;function transform2(x,y){x*=sx;y*=sy;return[a*x-b*y+dx,dy-b*x-a*y];}transform2.invert=function(x,y){return[sx*(ai*x-bi*y+ci),sy*(fi-bi*x-ai*y)];};return transform2;}function projection(project){return projectionMutator(function(){return project;})();}function projectionMutator(projectAt){var project,k=150,x=480,y=250,lambda=0,phi=0,deltaLambda=0,deltaPhi=0,deltaGamma=0,rotate2,alpha=0,sx=1,sy=1,theta=null,preclip=clipAntimeridian,x02=null,y02,x12,y12,postclip=identity$2,delta2=0.5,projectResample,projectTransform,projectRotateTransform,cache2,cacheStream;function projection2(point2){return projectRotateTransform(point2[0]*radians,point2[1]*radians);}function invert(point2){point2=projectRotateTransform.invert(point2[0],point2[1]);return point2&&[point2[0]*degrees,point2[1]*degrees];}projection2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=transformRadians(transformRotate(rotate2)(preclip(projectResample(postclip(cacheStream=stream)))));};projection2.preclip=function(_){return arguments.length?(preclip=_,theta=void 0,reset2()):preclip;};projection2.postclip=function(_){return arguments.length?(postclip=_,x02=y02=x12=y12=null,reset2()):postclip;};projection2.clipAngle=function(_){return arguments.length?(preclip=+_?clipCircle(theta=_*radians):(theta=null,clipAntimeridian),reset2()):theta*degrees;};projection2.clipExtent=function(_){return arguments.length?(postclip=_==null?(x02=y02=x12=y12=null,identity$2):clipRectangle(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reset2()):x02==null?null:[[x02,y02],[x12,y12]];};projection2.scale=function(_){return arguments.length?(k=+_,recenter()):k;};projection2.translate=function(_){return arguments.length?(x=+_[0],y=+_[1],recenter()):[x,y];};projection2.center=function(_){return arguments.length?(lambda=_[0]%360*radians,phi=_[1]%360*radians,recenter()):[lambda*degrees,phi*degrees];};projection2.rotate=function(_){return arguments.length?(deltaLambda=_[0]%360*radians,deltaPhi=_[1]%360*radians,deltaGamma=_.length>2?_[2]%360*radians:0,recenter()):[deltaLambda*degrees,deltaPhi*degrees,deltaGamma*degrees];};projection2.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*degrees;};projection2.reflectX=function(_){return arguments.length?(sx=_?-1:1,recenter()):sx<0;};projection2.reflectY=function(_){return arguments.length?(sy=_?-1:1,recenter()):sy<0;};projection2.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset2()):sqrt(delta2);};projection2.fitExtent=function(extent2,object2){return fitExtent(projection2,extent2,object2);};projection2.fitSize=function(size,object2){return fitSize(projection2,size,object2);};projection2.fitWidth=function(width,object2){return fitWidth(projection2,width,object2);};projection2.fitHeight=function(height,object2){return fitHeight(projection2,height,object2);};function recenter(){var center2=scaleTranslateRotate(k,0,0,sx,sy,alpha).apply(null,project(lambda,phi)),transform2=scaleTranslateRotate(k,x-center2[0],y-center2[1],sx,sy,alpha);rotate2=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform2);projectRotateTransform=compose(rotate2,projectTransform);projectResample=resample(projectTransform,delta2);return reset2();}function reset2(){cache2=cacheStream=null;return projection2;}return function(){project=projectAt.apply(this,arguments);projection2.invert=project.invert&&invert;return recenter();};}function conicProjection(projectAt){var phi02=0,phi12=pi/3,m=projectionMutator(projectAt),p=m(phi02,phi12);p.parallels=function(_){return arguments.length?m(phi02=_[0]*radians,phi12=_[1]*radians):[phi02*degrees,phi12*degrees];};return p;}function cylindricalEqualAreaRaw(phi02){var cosPhi02=cos(phi02);function forward(lambda,phi){return[lambda*cosPhi02,sin(phi)/cosPhi02];}forward.invert=function(x,y){return[x/cosPhi02,asin(y*cosPhi02)];};return forward;}function conicEqualAreaRaw(y02,y12){var sy0=sin(y02),n=(sy0+sin(y12))/2;if(abs(n)<epsilon)return cylindricalEqualAreaRaw(y02);var c2=1+sy0*(2*n-sy0),r0=sqrt(c2)/n;function project(x,y){var r2=sqrt(c2-2*n*sin(y))/n;return[r2*sin(x*=n),r0-r2*cos(x)];}project.invert=function(x,y){var r0y=r0-y,l=atan2(x,abs(r0y))*sign(r0y);if(r0y*n<0)l-=pi*sign(x)*sign(r0y);return[l/n,asin((c2-(x*x+r0y*r0y)*n*n)/(2*n))];};return project;}function conicEqualArea(){return conicProjection(conicEqualAreaRaw).scale(155.424).center([0,33.6442]);}function albers(){return conicEqualArea().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-0.6,38.7]);}function multiplex(streams){var n=streams.length;return{point:function(x,y){var i2=-1;while(++i2<n)streams[i2].point(x,y);},sphere:function(){var i2=-1;while(++i2<n)streams[i2].sphere();},lineStart:function(){var i2=-1;while(++i2<n)streams[i2].lineStart();},lineEnd:function(){var i2=-1;while(++i2<n)streams[i2].lineEnd();},polygonStart:function(){var i2=-1;while(++i2<n)streams[i2].polygonStart();},polygonEnd:function(){var i2=-1;while(++i2<n)streams[i2].polygonEnd();}};}function albersUsa(){var cache2,cacheStream,lower48=albers(),lower48Point,alaska=conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),alaskaPoint,hawaii=conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),hawaiiPoint,point2,pointStream={point:function(x,y){point2=[x,y];}};function albersUsa2(coordinates2){var x=coordinates2[0],y=coordinates2[1];return point2=null,(lower48Point.point(x,y),point2)||(alaskaPoint.point(x,y),point2)||(hawaiiPoint.point(x,y),point2);}albersUsa2.invert=function(coordinates2){var k=lower48.scale(),t=lower48.translate(),x=(coordinates2[0]-t[0])/k,y=(coordinates2[1]-t[1])/k;return(y>=0.12&&y<0.234&&x>=-0.425&&x<-0.214?alaska:y>=0.166&&y<0.234&&x>=-0.214&&x<-0.115?hawaii:lower48).invert(coordinates2);};albersUsa2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)]);};albersUsa2.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset2();};albersUsa2.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*0.35),hawaii.scale(_);return albersUsa2.translate(lower48.translate());};albersUsa2.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-0.455*k,y-0.238*k],[x+0.455*k,y+0.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-0.307*k,y+0.201*k]).clipExtent([[x-0.425*k+epsilon,y+0.12*k+epsilon],[x-0.214*k-epsilon,y+0.234*k-epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-0.205*k,y+0.212*k]).clipExtent([[x-0.214*k+epsilon,y+0.166*k+epsilon],[x-0.115*k-epsilon,y+0.234*k-epsilon]]).stream(pointStream);return reset2();};albersUsa2.fitExtent=function(extent2,object2){return fitExtent(albersUsa2,extent2,object2);};albersUsa2.fitSize=function(size,object2){return fitSize(albersUsa2,size,object2);};albersUsa2.fitWidth=function(width,object2){return fitWidth(albersUsa2,width,object2);};albersUsa2.fitHeight=function(height,object2){return fitHeight(albersUsa2,height,object2);};function reset2(){cache2=cacheStream=null;return albersUsa2;}return albersUsa2.scale(1070);}function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);if(k===Infinity)return[2,0];return[k*cy*sin(x),k*sin(y)];};}function azimuthalInvert(angle2){return function(x,y){var z=sqrt(x*x+y*y),c2=angle2(z),sc=sin(c2),cc=cos(c2);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)];};}var azimuthalEqualAreaRaw=azimuthalRaw(function(cxcy){return sqrt(2/(1+cxcy));});azimuthalEqualAreaRaw.invert=azimuthalInvert(function(z){return 2*asin(z/2);});function azimuthalEqualArea(){return projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-1e-3);}var azimuthalEquidistantRaw=azimuthalRaw(function(c2){return(c2=acos(c2))&&c2/sin(c2);});azimuthalEquidistantRaw.invert=azimuthalInvert(function(z){return z;});function azimuthalEquidistant(){return projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-1e-3);}function mercatorRaw(lambda,phi){return[lambda,log(tan((halfPi+phi)/2))];}mercatorRaw.invert=function(x,y){return[x,2*atan(exp(y))-halfPi];};function mercator(){return mercatorProjection(mercatorRaw).scale(961/tau);}function mercatorProjection(project){var m=projection(project),center2=m.center,scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,x02=null,y02,x12,y12;m.scale=function(_){return arguments.length?(scale(_),reclip()):scale();};m.translate=function(_){return arguments.length?(translate(_),reclip()):translate();};m.center=function(_){return arguments.length?(center2(_),reclip()):center2();};m.clipExtent=function(_){return arguments.length?(_==null?x02=y02=x12=y12=null:(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reclip()):x02==null?null:[[x02,y02],[x12,y12]];};function reclip(){var k=pi*scale(),t=m(rotation(m.rotate()).invert([0,0]));return clipExtent(x02==null?[[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]:project===mercatorRaw?[[Math.max(t[0]-k,x02),y02],[Math.min(t[0]+k,x12),y12]]:[[x02,Math.max(t[1]-k,y02)],[x12,Math.min(t[1]+k,y12)]]);}return reclip();}function tany(y){return tan((halfPi+y)/2);}function conicConformalRaw(y02,y12){var cy0=cos(y02),n=y02===y12?sin(y02):log(cy0/cos(y12))/log(tany(y12)/tany(y02)),f2=cy0*pow(tany(y02),n)/n;if(!n)return mercatorRaw;function project(x,y){if(f2>0){if(y<-halfPi+epsilon)y=-halfPi+epsilon;}else{if(y>halfPi-epsilon)y=halfPi-epsilon;}var r2=f2/pow(tany(y),n);return[r2*sin(n*x),f2-r2*cos(n*x)];}project.invert=function(x,y){var fy=f2-y,r2=sign(n)*sqrt(x*x+fy*fy),l=atan2(x,abs(fy))*sign(fy);if(fy*n<0)l-=pi*sign(x)*sign(fy);return[l/n,2*atan(pow(f2/r2,1/n))-halfPi];};return project;}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30]);}function equirectangularRaw(lambda,phi){return[lambda,phi];}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63);}function conicEquidistantRaw(y02,y12){var cy0=cos(y02),n=y02===y12?sin(y02):(cy0-cos(y12))/(y12-y02),g=cy0/n+y02;if(abs(n)<epsilon)return equirectangularRaw;function project(x,y){var gy=g-y,nx=n*x;return[gy*sin(nx),g-gy*cos(nx)];}project.invert=function(x,y){var gy=g-y,l=atan2(x,abs(gy))*sign(gy);if(gy*n<0)l-=pi*sign(x)*sign(gy);return[l/n,g-sign(n)*sqrt(x*x+gy*gy)];};return project;}function conicEquidistant(){return conicProjection(conicEquidistantRaw).scale(131.154).center([0,13.9389]);}var A1=1.340264,A2=-0.081106,A3=893e-6,A4=3796e-6,M=sqrt(3)/2,iterations=12;function equalEarthRaw(lambda,phi){var l=asin(M*sin(phi)),l2=l*l,l6=l2*l2*l2;return[lambda*cos(l)/(M*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))),l*(A1+A2*l2+l6*(A3+A4*l2))];}equalEarthRaw.invert=function(x,y){var l=y,l2=l*l,l6=l2*l2*l2;for(var i2=0,delta,fy,fpy;i2<iterations;++i2){fy=l*(A1+A2*l2+l6*(A3+A4*l2))-y;fpy=A1+3*A2*l2+l6*(7*A3+9*A4*l2);l-=delta=fy/fpy,l2=l*l,l6=l2*l2*l2;if(abs(delta)<epsilon2)break;}return[M*x*(A1+3*A2*l2+l6*(7*A3+9*A4*l2))/cos(l),asin(sin(l)/M)];};function equalEarth(){return projection(equalEarthRaw).scale(177.158);}function gnomonicRaw(x,y){var cy=cos(y),k=cos(x)*cy;return[cy*sin(x)/k,sin(y)/k];}gnomonicRaw.invert=azimuthalInvert(atan);function gnomonic(){return projection(gnomonicRaw).scale(144.049).clipAngle(60);}function identity$1(){var k=1,tx=0,ty=0,sx=1,sy=1,alpha=0,ca,sa,x02=null,y02,x12,y12,kx=1,ky=1,transform2=transformer({point:function(x,y){var p=projection2([x,y]);this.stream.point(p[0],p[1]);}}),postclip=identity$2,cache2,cacheStream;function reset2(){kx=k*sx;ky=k*sy;cache2=cacheStream=null;return projection2;}function projection2(p){var x=p[0]*kx,y=p[1]*ky;if(alpha){var t=y*ca-x*sa;x=x*ca+y*sa;y=t;}return[x+tx,y+ty];}projection2.invert=function(p){var x=p[0]-tx,y=p[1]-ty;if(alpha){var t=y*ca+x*sa;x=x*ca-y*sa;y=t;}return[x/kx,y/ky];};projection2.stream=function(stream){return cache2&&cacheStream===stream?cache2:cache2=transform2(postclip(cacheStream=stream));};projection2.postclip=function(_){return arguments.length?(postclip=_,x02=y02=x12=y12=null,reset2()):postclip;};projection2.clipExtent=function(_){return arguments.length?(postclip=_==null?(x02=y02=x12=y12=null,identity$2):clipRectangle(x02=+_[0][0],y02=+_[0][1],x12=+_[1][0],y12=+_[1][1]),reset2()):x02==null?null:[[x02,y02],[x12,y12]];};projection2.scale=function(_){return arguments.length?(k=+_,reset2()):k;};projection2.translate=function(_){return arguments.length?(tx=+_[0],ty=+_[1],reset2()):[tx,ty];};projection2.angle=function(_){return arguments.length?(alpha=_%360*radians,sa=sin(alpha),ca=cos(alpha),reset2()):alpha*degrees;};projection2.reflectX=function(_){return arguments.length?(sx=_?-1:1,reset2()):sx<0;};projection2.reflectY=function(_){return arguments.length?(sy=_?-1:1,reset2()):sy<0;};projection2.fitExtent=function(extent2,object2){return fitExtent(projection2,extent2,object2);};projection2.fitSize=function(size,object2){return fitSize(projection2,size,object2);};projection2.fitWidth=function(width,object2){return fitWidth(projection2,width,object2);};projection2.fitHeight=function(height,object2){return fitHeight(projection2,height,object2);};return projection2;}function naturalEarth1Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2;return[lambda*(0.8707-0.131979*phi2+phi4*(-0.013791+phi4*(3971e-6*phi2-1529e-6*phi4))),phi*(1.007226+phi2*(0.015085+phi4*(-0.044475+0.028874*phi2-5916e-6*phi4)))];}naturalEarth1Raw.invert=function(x,y){var phi=y,i2=25,delta;do{var phi2=phi*phi,phi4=phi2*phi2;phi-=delta=(phi*(1.007226+phi2*(0.015085+phi4*(-0.044475+0.028874*phi2-5916e-6*phi4)))-y)/(1.007226+phi2*(0.015085*3+phi4*(-0.044475*7+0.028874*9*phi2-5916e-6*11*phi4)));}while(abs(delta)>epsilon&&--i2>0);return[x/(0.8707+(phi2=phi*phi)*(-0.131979+phi2*(-0.013791+phi2*phi2*phi2*(3971e-6-1529e-6*phi2)))),phi];};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295);}function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)];}orthographicRaw.invert=azimuthalInvert(asin);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon);}function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k];}stereographicRaw.invert=azimuthalInvert(function(z){return 2*atan(z);});function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142);}function transverseMercatorRaw(lambda,phi){return[log(tan((halfPi+phi)/2)),-lambda];}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi];};function transverseMercator(){var m=mercatorProjection(transverseMercatorRaw),center2=m.center,rotate2=m.rotate;m.center=function(_){return arguments.length?center2([-_[1],_[0]]):(_=center2(),[_[1],-_[0]]);};m.rotate=function(_){return arguments.length?rotate2([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate2(),[_[0],_[1],_[2]-90]);};return rotate2([0,0,90]).scale(159.155);}const d3Geo=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,geoArea:area,geoBounds:bounds,geoCentroid:centroid,geoCircle:circle$1,geoClipAntimeridian:clipAntimeridian,geoClipCircle:clipCircle,geoClipExtent:extent,geoClipRectangle:clipRectangle,geoContains:contains$1,geoDistance:distance,geoGraticule:graticule,geoGraticule10:graticule10,geoInterpolate:interpolate,geoLength:length,geoPath:index,geoAlbers:albers,geoAlbersUsa:albersUsa,geoAzimuthalEqualArea:azimuthalEqualArea,geoAzimuthalEqualAreaRaw:azimuthalEqualAreaRaw,geoAzimuthalEquidistant:azimuthalEquidistant,geoAzimuthalEquidistantRaw:azimuthalEquidistantRaw,geoConicConformal:conicConformal,geoConicConformalRaw:conicConformalRaw,geoConicEqualArea:conicEqualArea,geoConicEqualAreaRaw:conicEqualAreaRaw,geoConicEquidistant:conicEquidistant,geoConicEquidistantRaw:conicEquidistantRaw,geoEqualEarth:equalEarth,geoEqualEarthRaw:equalEarthRaw,geoEquirectangular:equirectangular,geoEquirectangularRaw:equirectangularRaw,geoGnomonic:gnomonic,geoGnomonicRaw:gnomonicRaw,geoIdentity:identity$1,geoProjection:projection,geoProjectionMutator:projectionMutator,geoMercator:mercator,geoMercatorRaw:mercatorRaw,geoNaturalEarth1:naturalEarth1,geoNaturalEarth1Raw:naturalEarth1Raw,geoOrthographic:orthographic,geoOrthographicRaw:orthographicRaw,geoStereographic:stereographic,geoStereographicRaw:stereographicRaw,geoTransverseMercator:transverseMercator,geoTransverseMercatorRaw:transverseMercatorRaw,geoRotation:rotation,geoStream,geoTransform:transform},Symbol.toStringTag,{value:"Module"}));var slice=[].slice;var noabort={};function Queue(size){this._size=size;this._call=this._error=null;this._tasks=[];this._data=[];this._waiting=this._active=this._ended=this._start=0;}Queue.prototype=queue.prototype={constructor:Queue,defer:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("defer after await");if(this._error!=null)return this;var t=slice.call(arguments,1);t.push(callback);++this._waiting,this._tasks.push(t);poke(this);return this;},abort:function(){if(this._error==null)abort(this,new Error("abort"));return this;},await:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=function(error,results){callback.apply(null,[error].concat(results));};maybeNotify(this);return this;},awaitAll:function(callback){if(typeof callback!=="function")throw new Error("invalid callback");if(this._call)throw new Error("multiple await");this._call=callback;maybeNotify(this);return this;}};function poke(q2){if(!q2._start){try{start(q2);}catch(e){if(q2._tasks[q2._ended+q2._active-1])abort(q2,e);else if(!q2._data)throw e;}}}function start(q2){while(q2._start=q2._waiting&&q2._active<q2._size){var i2=q2._ended+q2._active,t=q2._tasks[i2],j=t.length-1,c2=t[j];t[j]=end(q2,i2);--q2._waiting,++q2._active;t=c2.apply(null,t);if(!q2._tasks[i2])continue;q2._tasks[i2]=t||noabort;}}function end(q2,i2){return function(e,r2){if(!q2._tasks[i2])return;--q2._active,++q2._ended;q2._tasks[i2]=null;if(q2._error!=null)return;if(e!=null){abort(q2,e);}else{q2._data[i2]=r2;if(q2._waiting)poke(q2);else maybeNotify(q2);}};}function abort(q2,e){var i2=q2._tasks.length,t;q2._error=e;q2._data=void 0;q2._waiting=NaN;while(--i2>=0){if(t=q2._tasks[i2]){q2._tasks[i2]=null;if(t.abort){try{t.abort();}catch(e3){}}}}q2._active=NaN;maybeNotify(q2);}function maybeNotify(q2){if(!q2._active&&q2._call){var d=q2._data;q2._data=void 0;q2._call(q2._error,d);}}function queue(concurrency){if(concurrency==null)concurrency=Infinity;else if(!((concurrency=+concurrency)>=1))throw new Error("invalid concurrency");return new Queue(concurrency);}const d3Queue=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,queue},Symbol.toStringTag,{value:"Module"}));var prefix="$";function Map$3(){}Map$3.prototype=map$2.prototype={constructor:Map$3,has:function(key){return prefix+key in this;},get:function(key){return this[prefix+key];},set:function(key,value2){this[prefix+key]=value2;return this;},remove:function(key){var property2=prefix+key;return property2 in this&&delete this[property2];},clear:function(){for(var property2 in this)if(property2[0]===prefix)delete this[property2];},keys:function(){var keys2=[];for(var property2 in this)if(property2[0]===prefix)keys2.push(property2.slice(1));return keys2;},values:function(){var values=[];for(var property2 in this)if(property2[0]===prefix)values.push(this[property2]);return values;},entries:function(){var entries=[];for(var property2 in this)if(property2[0]===prefix)entries.push({key:property2.slice(1),value:this[property2]});return entries;},size:function(){var size=0;for(var property2 in this)if(property2[0]===prefix)++size;return size;},empty:function(){for(var property2 in this)if(property2[0]===prefix)return false;return true;},each:function(f2){for(var property2 in this)if(property2[0]===prefix)f2(this[property2],property2.slice(1),this);}};function map$2(object2,f2){var map2=new Map$3();if(object2 instanceof Map$3)object2.each(function(value2,key2){map2.set(key2,value2);});else if(Array.isArray(object2)){var i2=-1,n=object2.length,o;if(f2==null)while(++i2<n)map2.set(i2,object2[i2]);else while(++i2<n)map2.set(f2(o=object2[i2],i2,object2),o);}else if(object2)for(var key in object2)map2.set(key,object2[key]);return map2;}function Set$3(){}var proto=map$2.prototype;Set$3.prototype={constructor:Set$3,has:proto.has,add:function(value2){value2+="";this[prefix+value2]=value2;return this;},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};var noop$1={value:function(){}};function dispatch(){for(var i2=0,n=arguments.length,_={},t;i2<n;++i2){if(!(t=arguments[i2]+"")||t in _||/[\s.]/.test(t))throw new Error("illegal type: "+t);_[t]=[];}return new Dispatch(_);}function Dispatch(_){this._=_;}function parseTypenames(typenames,types2){return typenames.trim().split(/^|\s+/).map(function(t){var name="",i2=t.indexOf(".");if(i2>=0)name=t.slice(i2+1),t=t.slice(0,i2);if(t&&!types2.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,i2=-1,n=T.length;if(arguments.length<2){while(++i2<n)if((t=(typename=T[i2]).type)&&(t=get$3(_[t],typename.name)))return t;return;}if(callback!=null&&typeof callback!=="function")throw new Error("invalid callback: "+callback);while(++i2<n){if(t=(typename=T[i2]).type)_[t]=set$1(_[t],typename.name,callback);else if(callback==null)for(t in _)_[t]=set$1(_[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),i2=0,n,t;i2<n;++i2)args[i2]=arguments[i2+2];if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(t=this._[type2],i2=0,n=t.length;i2<n;++i2)t[i2].value.apply(that,args);},apply:function(type2,that,args){if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(var t=this._[type2],i2=0,n=t.length;i2<n;++i2)t[i2].value.apply(that,args);}};function get$3(type2,name){for(var i2=0,n=type2.length,c2;i2<n;++i2){if((c2=type2[i2]).name===name){return c2.value;}}}function set$1(type2,name,callback){for(var i2=0,n=type2.length;i2<n;++i2){if(type2[i2].name===name){type2[i2]=noop$1,type2=type2.slice(0,i2).concat(type2.slice(i2+1));break;}}if(callback!=null)type2.push({name,value:callback});return type2;}function request(url,callback){var request2,event=dispatch("beforesend","progress","load","error"),mimeType,headers=map$2(),xhr=new XMLHttpRequest(),user=null,password=null,response,responseType,timeout2=0;if(typeof XDomainRequest!=="undefined"&&!("withCredentials"in xhr)&&/^(http(s)?:)?\/\//.test(url))xhr=new XDomainRequest();"onload"in xhr?xhr.onload=xhr.onerror=xhr.ontimeout=respond:xhr.onreadystatechange=function(o){xhr.readyState>3&&respond(o);};function respond(o){var status=xhr.status,result;if(!status&&hasResponse(xhr)||status>=200&&status<300||status===304){if(response){try{result=response.call(request2,xhr);}catch(e){event.call("error",request2,e);return;}}else{result=xhr;}event.call("load",request2,result);}else{event.call("error",request2,o);}}xhr.onprogress=function(e){event.call("progress",request2,e);};request2={header:function(name,value2){name=(name+"").toLowerCase();if(arguments.length<2)return headers.get(name);if(value2==null)headers.remove(name);else headers.set(name,value2+"");return request2;},mimeType:function(value2){if(!arguments.length)return mimeType;mimeType=value2==null?null:value2+"";return request2;},responseType:function(value2){if(!arguments.length)return responseType;responseType=value2;return request2;},timeout:function(value2){if(!arguments.length)return timeout2;timeout2=+value2;return request2;},user:function(value2){return arguments.length<1?user:(user=value2==null?null:value2+"",request2);},password:function(value2){return arguments.length<1?password:(password=value2==null?null:value2+"",request2);},response:function(value2){response=value2;return request2;},get:function(data2,callback2){return request2.send("GET",data2,callback2);},post:function(data2,callback2){return request2.send("POST",data2,callback2);},send:function(method,data2,callback2){xhr.open(method,url,true,user,password);if(mimeType!=null&&!headers.has("accept"))headers.set("accept",mimeType+",*/*");if(xhr.setRequestHeader)headers.each(function(value2,name){xhr.setRequestHeader(name,value2);});if(mimeType!=null&&xhr.overrideMimeType)xhr.overrideMimeType(mimeType);if(responseType!=null)xhr.responseType=responseType;if(timeout2>0)xhr.timeout=timeout2;if(callback2==null&&typeof data2==="function")callback2=data2,data2=null;if(callback2!=null&&callback2.length===1)callback2=fixCallback(callback2);if(callback2!=null)request2.on("error",callback2).on("load",function(xhr2){callback2(null,xhr2);});event.call("beforesend",request2,xhr);xhr.send(data2==null?null:data2);return request2;},abort:function(){xhr.abort();return request2;},on:function(){var value2=event.on.apply(event,arguments);return value2===event?request2:value2;}};if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return request2.get(callback);}return request2;}function fixCallback(callback){return function(error,xhr){callback(error==null?xhr:null);};}function hasResponse(xhr){var type2=xhr.responseType;return type2&&type2!=="text"?xhr.response:xhr.responseText;}function type$3(defaultMimeType,response){return function(url,callback){var r2=request(url).mimeType(defaultMimeType).response(response);if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return r2.get(callback);}return r2;};}const html=type$3("text/html",function(xhr){return document.createRange().createContextualFragment(xhr.responseText);});const json=type$3("application/json",function(xhr){return JSON.parse(xhr.responseText);});const text=type$3("text/plain",function(xhr){return xhr.responseText;});const xml=type$3("application/xml",function(xhr){var xml2=xhr.responseXML;if(!xml2)throw new Error("parse error");return xml2;});var EOL={},EOF={},QUOTE=34,NEWLINE=10,RETURN=13;function objectConverter(columns){return new Function("d","return {"+columns.map(function(name,i2){return JSON.stringify(name)+": d["+i2+'] || ""';}).join(",")+"}");}function customConverter(columns,f2){var object2=objectConverter(columns);return function(row,i2){return f2(object2(row),i2,columns);};}function inferColumns(rows){var columnSet=/* @__PURE__ */Object.create(null),columns=[];rows.forEach(function(row){for(var column in row){if(!(column in columnSet)){columns.push(columnSet[column]=column);}}});return columns;}function pad(value2,width){var s=value2+"",length2=s.length;return length2<width?new Array(width-length2+1).join(0)+s:s;}function formatYear(year){return year<0?"-"+pad(-year,6):year>9999?"+"+pad(year,6):pad(year,4);}function formatDate(date2){var hours=date2.getUTCHours(),minutes=date2.getUTCMinutes(),seconds=date2.getUTCSeconds(),milliseconds=date2.getUTCMilliseconds();return isNaN(date2)?"Invalid Date":formatYear(date2.getUTCFullYear())+"-"+pad(date2.getUTCMonth()+1,2)+"-"+pad(date2.getUTCDate(),2)+(milliseconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"."+pad(milliseconds,3)+"Z":seconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"Z":minutes||hours?"T"+pad(hours,2)+":"+pad(minutes,2)+"Z":"");}function dsv$1(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse2(text2,f2){var convert,columns,rows=parseRows(text2,function(row,i2){if(convert)return convert(row,i2-1);columns=row,convert=f2?customConverter(row,f2):objectConverter(row);});rows.columns=columns||[];return rows;}function parseRows(text2,f2){var rows=[],N=text2.length,I=0,n=0,t,eof=N<=0,eol=false;if(text2.charCodeAt(N-1)===NEWLINE)--N;if(text2.charCodeAt(N-1)===RETURN)--N;function token2(){if(eof)return EOF;if(eol)return eol=false,EOL;var i2,j=I,c2;if(text2.charCodeAt(j)===QUOTE){while(I++<N&&text2.charCodeAt(I)!==QUOTE||text2.charCodeAt(++I)===QUOTE);if((i2=I)>=N)eof=true;else if((c2=text2.charCodeAt(I++))===NEWLINE)eol=true;else if(c2===RETURN){eol=true;if(text2.charCodeAt(I)===NEWLINE)++I;}return text2.slice(j+1,i2-1).replace(/""/g,'"');}while(I<N){if((c2=text2.charCodeAt(i2=I++))===NEWLINE)eol=true;else if(c2===RETURN){eol=true;if(text2.charCodeAt(I)===NEWLINE)++I;}else if(c2!==DELIMITER)continue;return text2.slice(j,i2);}return eof=true,text2.slice(j,N);}while((t=token2())!==EOF){var row=[];while(t!==EOL&&t!==EOF)row.push(t),t=token2();if(f2&&(row=f2(row,n++))==null)continue;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 format2(rows,columns){if(columns==null)columns=inferColumns(rows);return[columns.map(formatValue).join(delimiter)].concat(preformatBody(rows,columns)).join("\n");}function formatBody(rows,columns){if(columns==null)columns=inferColumns(rows);return preformatBody(rows,columns).join("\n");}function formatRows(rows){return rows.map(formatRow).join("\n");}function formatRow(row){return row.map(formatValue).join(delimiter);}function formatValue(value2){return value2==null?"":value2 instanceof Date?formatDate(value2):reFormat.test(value2+="")?'"'+value2.replace(/"/g,'""')+'"':value2;}return{parse:parse2,parseRows,format:format2,formatBody,formatRows,formatRow,formatValue};}var csv$1=dsv$1(",");var csvParse=csv$1.parse;var tsv$1=dsv$1(" ");var tsvParse=tsv$1.parse;function dsv(defaultMimeType,parse2){return function(url,row,callback){if(arguments.length<3)callback=row,row=null;var r2=request(url).mimeType(defaultMimeType);r2.row=function(_){return arguments.length?r2.response(responseOf(parse2,row=_)):row;};r2.row(row);return callback?r2.get(callback):r2;};}function responseOf(parse2,row){return function(request2){return parse2(request2.responseText,row);};}const csv=dsv("text/csv",csvParse);const tsv=dsv("text/tab-separated-values",tsvParse);const d3Request=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,request,html,json,text,xml,csv,tsv},Symbol.toStringTag,{value:"Module"}));let ListWrapper=/*#__PURE__*/function(_React__default$defau4){_inherits3(ListWrapper,_React__default$defau4);var _super55=_createSuper3(ListWrapper);function ListWrapper({items:items2}){var _this76;_classCallCheck3(this,ListWrapper);_this76=_super55.call(this);_this76.state={items:items2,isSorting:false};return _this76;}_createClass3(ListWrapper,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){this.setState({items:nextProps.items});}},{key:"onSortStart",value:function onSortStart({node:node2,index:index2,collection},e){e.stopImmediatePropagation();const{onSortStart}=this.props;this.setState({isSorting:true});if(onSortStart){onSortStart(this.ref);}this.sortingIndex=index2;this.sortStartTop=e.offsetTop;this.sortStartLeft=e.offsetLeft;}},{key:"onSortMove",value:function onSortMove(){}},{key:"onSortEnd",value:function onSortEnd({oldIndex,newIndex}){const{onSortEnd}=this.props;const{items:items2}=this.state;this.setState({items:arrayMove(items2,oldIndex,newIndex),isSorting:false});if(onSortEnd){onSortEnd(this.state.items);}this.sortingIndex=null;}},{key:"render",value:function render(){const Component=this.props.component;const{items:items2,isSorting}=this.state;const props={isSorting,items:items2,onSortEnd:this.onSortEnd.bind(this),onSortStart:this.onSortStart.bind(this),onSortMove:this.onSortMove.bind(this)};return/* @__PURE__ */React__default.default.createElement(Component,{...this.props,...props,ref:element=>{this.ref=element;}});}}]);return ListWrapper;}(React__default.default.Component);ListWrapper.propTypes={axis:propTypes$3.exports.string,className:propTypes$3.exports.string,component:propTypes$3.exports.func,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,height:propTypes$3.exports.number,helperClass:propTypes$3.exports.string,itemClass:propTypes$3.exports.string,itemControlAlignLeft:propTypes$3.exports.bool,itemReactClass:propTypes$3.exports.func,items:propTypes$3.exports.array,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onSortEnd:propTypes$3.exports.func,onSortStart:propTypes$3.exports.func,referenceAncestor:propTypes$3.exports.string,resizeHandles:propTypes$3.exports.object,useDragHandle:propTypes$3.exports.bool,width:propTypes$3.exports.number};ListWrapper.defaultProps={className:"list stylizedList",itemClass:"item stylizedItem",width:400,height:600};const classes$8={"top-right-handle":"_top-right-handle_cizw2_1","bottom-right-handle":"_bottom-right-handle_cizw2_2","top-left-handle":"_top-left-handle_cizw2_7","bottom-left-handle":"_bottom-left-handle_cizw2_8","top-draggable-handle":"_top-draggable-handle_cizw2_13","bottom-draggable-handle":"_bottom-draggable-handle_cizw2_14","left-draggable-handle":"_left-draggable-handle_cizw2_15","right-draggable-handle":"_right-draggable-handle_cizw2_16","draggable-div":"_draggable-div_cizw2_22","top-draggable-handle-grabber":"_top-draggable-handle-grabber_cizw2_27","bottom-draggable-handle-grabber":"_bottom-draggable-handle-grabber_cizw2_28","left-draggable-handle-grabber":"_left-draggable-handle-grabber_cizw2_43","right-draggable-handle-grabber":"_right-draggable-handle-grabber_cizw2_44"};let DraggableDiv=/*#__PURE__*/function(_React__default$defau5){_inherits3(DraggableDiv,_React__default$defau5);var _super56=_createSuper3(DraggableDiv);function DraggableDiv(props){var _this77;_classCallCheck3(this,DraggableDiv);_this77=_super56.call(this,props);_this77.dragTopRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopRightFunc.bind(_assertThisInitialized3(_this77)));_this77.dragTopLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottomRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomRightFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottomLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragBottom=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragBottomFunc.bind(_assertThisInitialized3(_this77)));_this77.dragTop=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragTopFunc.bind(_assertThisInitialized3(_this77)));_this77.dragLeft=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragLeftFunc.bind(_assertThisInitialized3(_this77)));_this77.dragRight=drag().on("start",_this77.dragStart.bind(_assertThisInitialized3(_this77))).on("drag",_this77.dragRightFunc.bind(_assertThisInitialized3(_this77)));_this77.minWidth=10;_this77.minHeight=10;_this77.bottomHandleWidth=20;_this77.state={uid:_this77.props.uid,width:_this77.props.width,height:_this77.props.height,top:_this77.props.top,left:_this77.props.left};_this77.domBody=select$1("body").node();return _this77;}_createClass3(DraggableDiv,[{key:"componentDidMount",value:function componentDidMount(){select$1(this.bottomHandle).call(this.dragBottom);select$1(this.topHandle).call(this.dragTop);select$1(this.leftHandle).call(this.dragLeft);select$1(this.rightHandle).call(this.dragRight);}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){if("width"in newProps){this.setState({width:newProps.width});}if("height"in newProps){this.setState({height:newProps.height});}}},{key:"dragBottomFunc",value:function dragBottomFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;this.setState({height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragLeftFunc",value:function dragLeftFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;this.setState({left:newLeft,width:newWidth});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopFunc",value:function dragTopFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;this.setState({top:newTop,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragRightFunc",value:function dragRightFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;this.setState({width:newWidth});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragBottomLeftFunc",value:function dragBottomLeftFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;this.setState({left:newLeft,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragBottomRightFunc",value:function dragBottomRightFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newHeight=this.dragStartHeight+(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;this.setState({width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopRightFunc",value:function dragTopRightFunc(event){const ms=pointer(event,this.domBody);let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;let newWidth=this.dragStartWidth+(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;this.setState({top:newTop,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragTopLeftFunc",value:function dragTopLeftFunc(event){const ms=pointer(event,this.domBody);let newWidth=this.dragStartWidth-(ms[0]-this.dragStartMousePos[0]);newWidth=newWidth>this.minWidth?newWidth:this.minWidth;let newLeft=this.dragStartLeft+ms[0]-this.dragStartMousePos[0];newLeft=newWidth>this.minWidth?newLeft:this.dragStartLeft+this.dragStartWidth-this.minWidth;let newHeight=this.dragStartHeight-(ms[1]-this.dragStartMousePos[1]);newHeight=newHeight>this.minHeight?newHeight:this.minHeight;let newTop=this.dragStartTop+ms[1]-this.dragStartMousePos[1];newTop=newHeight>this.minHeight?newTop:this.dragStartTop+this.dragStartHeight-this.minHeight;this.setState({top:newTop,left:newLeft,width:newWidth,height:newHeight});event.sourceEvent.stopPropagation();this.sizeChanged();}},{key:"dragStart",value:function dragStart(event){this.dragStartMousePos=pointer(event,this.domBody);this.dragStartWidth=this.state.width;this.dragStartHeight=this.state.height;this.dragStartTop=this.state.top;this.dragStartLeft=this.state.left;event.sourceEvent.stopPropagation();}},{key:"sizeChanged",value:function sizeChanged(){if(this.props.sizeChanged){this.props.sizeChanged(this.state);}}},{key:"rotateClicked",value:function rotateClicked(){this.props.trackRotated(this.state.uid);}},{key:"closeClicked",value:function closeClicked(){this.props.trackClosed(this.state.uid);}},{key:"render",value:function render(){const dragColor=this.props.theme===THEME_DARK?"white":"black";const divStyle={top:this.state.top,left:this.state.left,width:this.state.width,height:this.state.height,opacity:this.props.opacity};const resizeWidth=24;const resizeHeight=24;const horizStyle={left:this.state.width/2-resizeWidth/2,width:resizeWidth};const vertStyle={top:this.state.height/2-resizeHeight/2,height:resizeHeight};const styles2={bottom:{...horizStyle,bottom:1},top:{...horizStyle,top:1},left:{...vertStyle,left:1},right:{...vertStyle,right:1}};const resizeHandles=[...this.props.resizeHandles].map(x=>/* @__PURE__ */React__default.default.createElement("div",{key:x,ref:c2=>{this[`${x}Handle`]=c2;},className:classes$8[`${x}-draggable-handle`],style:styles2[x],title:"Resize track"},/* @__PURE__ */React__default.default.createElement("div",{className:classes$8[`${x}-draggable-handle-grabber`],style:{borderColor:dragColor}})));return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.divContainer=c2;},className:clsx(this.props.className,classes$8["draggable-div"]),style:divStyle},resizeHandles);}}]);return DraggableDiv;}(React__default.default.Component);DraggableDiv.propTypes={className:propTypes$3.exports.string,height:propTypes$3.exports.number,left:propTypes$3.exports.number,opacity:propTypes$3.exports.number,resizeHandles:propTypes$3.exports.object,sizeChanged:propTypes$3.exports.func,top:propTypes$3.exports.number,trackClosed:propTypes$3.exports.func,trackRotated:propTypes$3.exports.func,uid:propTypes$3.exports.string,width:propTypes$3.exports.number,theme:propTypes$3.exports.symbol};const DraggableDiv$1=withTheme(DraggableDiv);let TrackArea=/*#__PURE__*/function(_React__default$defau6){_inherits3(TrackArea,_React__default$defau6);var _super57=_createSuper3(TrackArea);function TrackArea(props){var _this78;_classCallCheck3(this,TrackArea);_this78=_super57.call(this,props);_this78.state={controlsVisible:false};return _this78;}_createClass3(TrackArea,[{key:"shouldComponentUpdate",value:function shouldComponentUpdate(){return!this.resizing;}},{key:"handleMouseEnter",value:function handleMouseEnter(){this.setState({controlsVisible:true});}},{key:"handleMouseLeave",value:function handleMouseLeave(){this.setState({controlsVisible:false});}},{key:"handleMouseMove",value:function handleMouseMove(){this.setState({controlsVisible:true});}},{key:"getControls",value:function getControls(){let Handle=null;if(this.moveable){Handle=sortableHandle(()=>/* @__PURE__ */React__default.default.createElement("svg",{className:"no-zoom",height:"10px",onClick:()=>{},style:this.getMoveImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#move"})));}else{Handle=sortableHandle(()=>/* @__PURE__ */React__default.default.createElement("div",null));}return/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",backgroundColor:"rgba(255,255,255,0.7)",right:"3px",top:"3px",pointerEvents:"none",paddingLeft:"5px",paddingRight:"5px",borderRadius:"5px",border:"1px solid #dddddd"}},/* @__PURE__ */React__default.default.createElement(Handle,null),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgConfig=c2;},className:"no-zoom",height:"10px",onClick:()=>{const imgDom=ReactDOM__default.default.findDOMNode(this.imgConfig);const bbox=imgDom.getBoundingClientRect();this.props.onConfigTrackMenuOpened(this.props.uid,bbox);},style:this.getSettingsImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cog"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgAdd=c2;},className:"no-zoom",height:"10px",onClick:()=>this.props.onAddSeries(this.props.uid),style:this.getAddImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.imgClose=c2;},className:"no-zoom",height:"10px",onClick:()=>{const imgDom=ReactDOM__default.default.findDOMNode(this.imgClose);const bbox=imgDom.getBoundingClientRect();this.props.onCloseTrackMenuOpened(this.props.uid,bbox);},style:this.getCloseImgStyle(),width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"})));}}]);return TrackArea;}(React__default.default.Component);TrackArea.propTypes={configMenuOpen:propTypes$3.exports.bool,onConfigTrackMenuOpened:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onAddSeries:propTypes$3.exports.func,uid:propTypes$3.exports.string};let MoveableTrack=/*#__PURE__*/function(_TrackArea){_inherits3(MoveableTrack,_TrackArea);var _super58=_createSuper3(MoveableTrack);function MoveableTrack(props){var _this79;_classCallCheck3(this,MoveableTrack);_this79=_super58.call(this,props);_this79.moveable=true;return _this79;}_createClass3(MoveableTrack,[{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:r2=>{this.el=r2;},className:this.props.className,onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:()=>{this.handleMouseLeave();},style:{height:this.props.height,width:this.props.width}},/* @__PURE__ */React__default.default.createElement(DraggableDiv$1,{key:this.props.uid,height:this.props.height,resizeHandles:this.props.editable?this.props.resizeHandles:/* @__PURE__ */new Set(),sizeChanged:stuff=>this.props.handleResizeTrack(this.props.uid,stuff.width,stuff.height),style:{background:"transparent"},uid:this.props.uid,width:this.props.width}),this.props.editable&&this.getControls(this.state.controlsVisible||this.props.item.configMenuVisible));}}]);return MoveableTrack;}(TrackArea);MoveableTrack.propTypes={className:propTypes$3.exports.string,uid:propTypes$3.exports.string,item:propTypes$3.exports.object,height:propTypes$3.exports.number,width:propTypes$3.exports.number};const STYLES$1={pointerEvents:"all"};let HorizontalTrack=/*#__PURE__*/function(_MoveableTrack){_inherits3(HorizontalTrack,_MoveableTrack);var _super59=_createSuper3(HorizontalTrack);function HorizontalTrack(){_classCallCheck3(this,HorizontalTrack);return _super59.apply(this,arguments);}_createClass3(HorizontalTrack,[{key:"getControls",value:function getControls(isVisible){return/* @__PURE__ */React__default.default.createElement(TrackControl$1,{configMenuVisible:this.props.item.configMenuVisible,imgStyleAdd:STYLES$1,imgStyleClose:STYLES$1,imgStyleMove:STYLES$1,imgStyleSettings:STYLES$1,isMoveable:this.moveable,isVisible,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid});}}]);return HorizontalTrack;}(MoveableTrack);const HorizontalItem=sortableElement(props=>/* @__PURE__ */React__default.default.createElement(HorizontalTrack,{className:props.className,editable:props.editable,handleConfigTrack:props.handleConfigTrack,handleResizeTrack:props.handleResizeTrack,height:props.height,item:props.item,onAddSeries:props.onAddSeries,onCloseTrack:props.onCloseTrack,onCloseTrackMenuOpened:props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:props.onConfigTrackMenuOpened,resizeHandles:props.resizeHandles,uid:props.uid,width:props.width}));const SortableList=sortableContainer(({className:className2,items:items2,itemClass,itemControlAlignLeft,sortingIndex,useDragHandle,sortableHandlers,height,width,onCloseTrack,onCloseTrackMenuOpened,onConfigTrackMenuOpened,onAddSeries,handleConfigTrack,editable,itemReactClass,handleResizeTrack,resizeHandles})=>{const itemElements=items2.map((item,index2)=>React__default.default.createElement(itemReactClass,{key:`sci-${item.uid}`,className:itemClass,controlAlignLeft:itemControlAlignLeft,sortingIndex,index:index2,uid:item.uid,height:item.height,width:item.width,item,useDragHandle,onCloseTrack,onCloseTrackMenuOpened,onConfigTrackMenuOpened,onAddSeries,handleConfigTrack,editable,handleResizeTrack,resizeHandles}));return/* @__PURE__ */React__default.default.createElement("div",{className:className2,style:{height,width,background:"transparent"},...sortableHandlers},itemElements);});const styles$4={"horizontal-tiled-plot":"_horizontal-tiled-plot_1bqkg_1"};function sourceEvent$1(event){return event&&event.sourceEvent;}let HorizontalTiledPlot=/*#__PURE__*/function(_React__default$defau7){_inherits3(HorizontalTiledPlot,_React__default$defau7);var _super60=_createSuper3(HorizontalTiledPlot);function HorizontalTiledPlot(props){var _this80;_classCallCheck3(this,HorizontalTiledPlot);_this80=_super60.call(this,props);_this80.brushBehavior=brushX().on("start",_this80.brushStarted.bind(_assertThisInitialized3(_this80))).on("brush",_this80.brushed.bind(_assertThisInitialized3(_this80))).on("end",_this80.brushedEnded.bind(_assertThisInitialized3(_this80)));return _this80;}_createClass3(HorizontalTiledPlot,[{key:"componentDidMount",value:function componentDidMount(){if(this.props.isRangeSelectionActive){this.addBrush();}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){if(this.rangeSelectionTriggered){this.rangeSelectionTriggered=false;if(this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,true);}this.rangeSelectionTriggeredEnd=false;return this.state!==nextState;}if(this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,nextProps.rangeSelectionEnd);return this.state!==nextState;}return true;}},{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.isRangeSelectionActive){this.addBrush();}else{this.removeBrush();}}},{key:"addBrush",value:function addBrush(){if(!this.brushEl||this.brushElAddedBefore===this.brushEl){return;}if(this.brushElAddedBefore){this.brushElAddedBefore.on(".brush",null);}this.brushEl.call(this.brushBehavior);this.brushElAddedBefore=this.brushEl;resetD3BrushStyle(this.brushEl,stylesTrack["track-range-selection-group-brush-selection"]);}},{key:"brushed",value:function brushed(event){const rangeSelectionMoved=this.rangeSelectionMoved;this.rangeSelectionMoved=false;if(!sourceEvent$1(event)||!this.props.onRangeSelection||rangeSelectionMoved)return;this.rangeSelectionTriggered=true;this.props.onRangeSelection(event.selection);}},{key:"brushStarted",value:function brushStarted(event){if(!sourceEvent$1(event)||!event.selection)return;this.props.onRangeSelectionStart();}},{key:"brushedEnded",value:function brushedEnded(event){if(!this.props.is1dRangeSelection)return;const rangeSelectionMovedEnd=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=false;if(event.selection&&event.sourceEvent&&this.props.onRangeSelection&&!rangeSelectionMovedEnd){this.rangeSelectionTriggered=true;this.rangeSelectionTriggeredEnd=true;this.props.onRangeSelectionEnd(event.selection);}if(!event.selection){this.rangeSelectionTriggered=true;this.props.onRangeSelectionReset();}}},{key:"moveBrush",value:function moveBrush(rangeSelection,animate=false){if(!this.brushEl){return;}const relRange=rangeSelection?[this.props.scale(rangeSelection[0]),this.props.scale(rangeSelection[1])]:null;this.rangeSelectionMoved=true;this.rangeSelectionMovedEnd=true;if(animate){this.brushEl.transition().call(this.brushBehavior.move,relRange);}else{this.brushEl.call(this.brushBehavior.move,relRange);}}},{key:"removeBrush",value:function removeBrush(){if(this.brushElAddedBefore){this.brushElAddedBefore.call(this.brushBehavior.move,null);this.brushElAddedBefore.on(".brush",null);this.brushElAddedBefore=void 0;this.props.onRangeSelectionReset();}}},{key:"render",value:function render(){const height=this.props.tracks.map(x=>x.height).reduce(sum,0);const isBrushable=this.props.tracks.map(track=>IS_TRACK_RANGE_SELECTABLE(track)).reduce(or,false);const rangeSelectorClass=this.props.isRangeSelectionActive?stylesTrack["track-range-selection-active"]:stylesTrack["track-range-selection"];return/* @__PURE__ */React__default.default.createElement("div",{className:clsx("horizontal-tiled-plot",styles$4["horizontal-tiled-plot"])},isBrushable&&/* @__PURE__ */React__default.default.createElement("svg",{ref:el=>{this.brushEl=select$1(el);},className:rangeSelectorClass,style:{height,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"}),/* @__PURE__ */React__default.default.createElement(ListWrapper,{className:clsx(styles$5.list,styles$5.stylizedList),component:SortableList,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height,helperClass:styles$5.stylizedHelper,itemClass:styles$5.stylizedItem,itemReactClass:HorizontalItem,items:this.props.tracks.map(d=>({configMenuVisible:d.uid===this.props.configTrackMenuId,uid:d.uid||slugid.nice(),width:this.props.width,height:d.height,value:d.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:true,width:this.props.width}));}}]);return HorizontalTiledPlot;}(React__default.default.Component);HorizontalTiledPlot.propTypes={configTrackMenuId:propTypes$3.exports.string,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,handleSortEnd:propTypes$3.exports.func,is1dRangeSelection:propTypes$3.exports.bool,isRangeSelectionActive:propTypes$3.exports.bool,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func,onRangeSelectionEnd:propTypes$3.exports.func,onRangeSelectionReset:propTypes$3.exports.func,onRangeSelectionStart:propTypes$3.exports.func,rangeSelection:propTypes$3.exports.array,rangeSelectionEnd:propTypes$3.exports.bool,referenceAncestor:propTypes$3.exports.func,resizeHandles:propTypes$3.exports.object,scale:propTypes$3.exports.func,tracks:propTypes$3.exports.array,width:propTypes$3.exports.number};const STYLES={pointerEvents:"all"};let VerticalTrack=/*#__PURE__*/function(_MoveableTrack2){_inherits3(VerticalTrack,_MoveableTrack2);var _super61=_createSuper3(VerticalTrack);function VerticalTrack(){_classCallCheck3(this,VerticalTrack);return _super61.apply(this,arguments);}_createClass3(VerticalTrack,[{key:"getControls",value:function getControls(isVisible){return/* @__PURE__ */React__default.default.createElement(TrackControl$1,{imgStyleAdd:STYLES,imgStyleClose:STYLES,imgStyleMove:STYLES,imgStyleSettings:STYLES,isAlignLeft:this.props.controlAlignLeft,isMoveable:this.moveable,isVertical:true,isVisible,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid});}}]);return VerticalTrack;}(MoveableTrack);let ViewportTracker2D=/*#__PURE__*/function(_PixiTrack10){_inherits3(ViewportTracker2D,_PixiTrack10);var _super62=_createSuper3(ViewportTracker2D);function ViewportTracker2D(context,options2){var _this81;_classCallCheck3(this,ViewportTracker2D);_this81=_super62.call(this,context,options2);const{registerViewportChanged,removeViewportChanged}=context;const uid=slugid.nice();_this81.uid=uid;_this81.removeViewportChanged=removeViewportChanged;_this81.viewportXDomain=null;_this81.viewportYDomain=null;registerViewportChanged(uid,_this81.viewportChanged.bind(_assertThisInitialized3(_this81)));return _this81;}_createClass3(ViewportTracker2D,[{key:"viewportChanged",value:function viewportChanged(viewportXScale,viewportYScale){const viewportXDomain=viewportXScale.domain();const viewportYDomain=viewportYScale.domain();this.viewportXDomain=viewportXDomain;this.viewportYDomain=viewportYDomain;this.draw();}},{key:"draw",value:function draw(){const graphics=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain){return;}graphics.clear();graphics.lineStyle(1,255,1);graphics.beginFill(16740363,1);const x=this._xScale(this.viewportXDomain[0]);const y=this._yScale(this.viewportYDomain[0]);const width=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]);const height=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(x,y,width,height);}},{key:"zoomed",value:function zoomed(newXScale,newYScale){this.xScale(newXScale);this.yScale(newYScale);this.draw();}},{key:"setPosition",value:function setPosition(newPosition){_get4(_getPrototypeOf4(ViewportTracker2D.prototype),"setPosition",this).call(this,newPosition);this.pMain.position.y=this.position[1];this.pMain.position.x=this.position[0];this.draw();}}]);return ViewportTracker2D;}(PixiTrack);function LruCache(limit2){this.size=0;this.limit=limit2;this._keymap={};}function put(key,value2){const entry={key,value:value2};this._keymap[key]=entry;if(this.tail){this.tail.newer=entry;entry.older=this.tail;}else{this.head=entry;}this.tail=entry;if(this.size===this.limit){return this.shift();}this.size+=1;return void 0;}function shift(){const entry=this.head;if(entry){if(this.head.newer){this.head=this.head.newer;this.head.older=void 0;}else{this.head=void 0;this.tail=void 0;}entry.newer=void 0;entry.older=void 0;delete this._keymap[entry.key];this.size-=1;}return entry;}function get$2(key,returnEntry){const entry=this._keymap[key];if(entry===void 0)return void 0;if(entry===this.tail){return returnEntry?entry:entry.value;}if(entry.newer){if(entry===this.head)this.head=entry.newer;entry.newer.older=entry.older;}if(entry.older)entry.older.newer=entry.newer;entry.newer=void 0;entry.older=this.tail;if(this.tail)this.tail.newer=entry;this.tail=entry;return returnEntry?entry:entry.value;}function find(key){return this._keymap[key];}function set(key,value2){const entry=this.get(key,true);let oldvalue;if(entry){oldvalue=entry.value;entry.value=value2;}else{oldvalue=this.put(key,value2);if(oldvalue)oldvalue=oldvalue.value;}return oldvalue;}function remove(key){const entry=this._keymap[key];if(!entry)return void 0;delete this._keymap[entry.key];if(entry.newer&&entry.older){entry.older.newer=entry.newer;entry.newer.older=entry.older;}else if(entry.newer){entry.newer.older=void 0;this.head=entry.newer;}else if(entry.older){entry.older.newer=void 0;this.tail=entry.older;}else{this.head=void 0;this.tail=void 0;}this.size-=1;return entry.value;}function removeAll(){this.head=void 0;this.tail=void 0;this.size=0;this._keymap={};}function keys$1(){return Object.keys(this._keymap);}function forEach$1(fun,context,desc){let entry;if(context===true){desc=true;context=void 0;}else if(typeof context!=="object"){context=this;}if(desc){entry=this.tail;while(entry){fun.call(context,entry.key,entry.value,this);entry=entry.older;}}else{entry=this.head;while(entry){fun.call(context,entry.key,entry.value,this);entry=entry.newer;}}}function toJSON(){const s=[];let entry=this.head;while(entry){s.push({key:entry.key.toJSON(),value:entry.value.toJSON()});entry=entry.newer;}return s;}function toString$1(){let s="";let entry=this.head;while(entry){s+=`${String(entry.key)}:${entry.value}`;entry=entry.newer;if(entry)s+=" < ";}return s;}Object.assign(LruCache.prototype,{put,get:get$2,find,keys:keys$1,set,shift,remove,removeAll,forEach:forEach$1,toJSON,toString:toString$1});const version="1.13.2";const button="_button_1wnjn_1";const classes$7={button,"button-shortcut":"_button-shortcut_1wnjn_35"};const Button=React__default.default.forwardRef((props,ref2)=>{var _a;return/* @__PURE__ */React__default.default.createElement("button",{ref:ref2,className:(_a=classes$7[props.styleName])!=null?_a:classes$7.button,disabled:props.disable,onBlur:props.onBlur,onClick:props.onClick,onMouseDown:props.onMouseDown,onMouseOut:props.onMouseOut,onMouseUp:props.onMouseUp,type:"button"},props.children,props.shortcut&&/* @__PURE__ */React__default.default.createElement("span",{className:classes$7["button-shortcut"]},props.shortcut));});Button.defaultProps={onClick:()=>{},styleName:"",type:"button"};Button.propTypes={children:propTypes$3.exports.any,disable:propTypes$3.exports.bool,onBlur:propTypes$3.exports.func,onClick:propTypes$3.exports.func,onMouseDown:propTypes$3.exports.func,onMouseOut:propTypes$3.exports.func,onMouseUp:propTypes$3.exports.func,shortcut:propTypes$3.exports.string,type:propTypes$3.exports.string,styleName:propTypes$3.exports.string};const cross="_cross_2ke8w_1";const classes$6={cross};function Cross(){return/* @__PURE__ */React__default.default.createElement("div",{className:classes$6.cross});}const{Provider,Consumer}=React__default.default.createContext({close:toVoid,open:toVoid});const withModal=Component=>React__default.default.forwardRef((props,ref2)=>/* @__PURE__ */React__default.default.createElement(Consumer,null,modal2=>/* @__PURE__ */React__default.default.createElement(Component,{ref:ref2,...props,modal:modal2})));const classes$5={"modal-background":"_modal-background_zzhoe_1","fade-in":"_fade-in_zzhoe_1","modal-hide":"_modal-hide_zzhoe_13","modal-wrap":"_modal-wrap_zzhoe_17","modal-window":"_modal-window_zzhoe_25","fade-scale-in":"_fade-scale-in_zzhoe_1","modal-window-max-height":"_modal-window-max-height_zzhoe_38","modal-content":"_modal-content_zzhoe_42"};function Modal(props){const handleClose=()=>{props.modal.close();if(props.onClose)props.onClose();};return/* @__PURE__ */React__default.default.createElement("div",{className:clsx(classes$5["modal-background"],{[classes$5["modal-hide"]]:props.hide})},/* @__PURE__ */React__default.default.createElement("div",{className:classes$5["modal-wrap"]},/* @__PURE__ */React__default.default.createElement("div",{className:clsx(classes$5["modal-window"],{[classes$5["modal-window-max-height"]]:props.maxHeight})},props.closeButton&&/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleClose},/* @__PURE__ */React__default.default.createElement(Cross,null)),/* @__PURE__ */React__default.default.createElement("div",{className:classes$5["modal-content"]},props.children))));}Modal.defaultProps={closeButton:true,hide:false,maxHeight:false};Modal.propTypes={children:propTypes$3.exports.element.isRequired,closeButton:propTypes$3.exports.bool,hide:propTypes$3.exports.bool,maxHeight:propTypes$3.exports.bool,modal:propTypes$3.exports.object.isRequired,onClose:propTypes$3.exports.func};const Modal$1=withModal(Modal);const classes$4={"dialog-header":"_dialog-header_wp50s_1","dialog-main-max-height":"_dialog-main-max-height_wp50s_20","dialog-footer":"_dialog-footer_wp50s_31","dialog-footer-max-height":"_dialog-footer-max-height_wp50s_31"};function Dialog(props){const handleCancel=()=>{props.modal.close();if(props.onCancel)props.onCancel();};const handleOkay=()=>{props.modal.close();if(props.onOkay)props.onOkay();};return/* @__PURE__ */React__default.default.createElement(Modal$1,{closeButton:false,hide:props.hide,maxHeight:props.maxHeight},/* @__PURE__ */React__default.default.createElement(React__default.default.Fragment,null,/* @__PURE__ */React__default.default.createElement("header",{className:classes$4["dialog-header"]},/* @__PURE__ */React__default.default.createElement("h3",null,props.title),/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleCancel},/* @__PURE__ */React__default.default.createElement(Cross,null))),props.maxHeight?/* @__PURE__ */React__default.default.createElement("main",{className:clsx(props.maxHeight&&classes$4["dialog-main-max-height"])},props.children):/* @__PURE__ */React__default.default.createElement("main",null,props.children),/* @__PURE__ */React__default.default.createElement("footer",{className:classes$4[props.maxHeight?"dialog-footer-max-height":"dialog-footer"]},props.okayOnly?/* @__PURE__ */React__default.default.createElement("div",null):/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleCancel,shortcut:props.cancelShortcut},props.cancelTitle),/* @__PURE__ */React__default.default.createElement(Button,{onClick:handleOkay,shortcut:props.okayShortcut},props.okayTitle))));}Dialog.defaultProps={cancelTitle:"Cancel",hide:false,maxHeight:false,okayOnly:false,okayTitle:"Ok"};Dialog.propTypes={cancelShortcut:propTypes$3.exports.string,cancelTitle:propTypes$3.exports.string,children:propTypes$3.exports.object,hide:propTypes$3.exports.bool,maxHeight:propTypes$3.exports.bool,modal:propTypes$3.exports.object.isRequired,okayShortcut:propTypes$3.exports.string,okayTitle:propTypes$3.exports.string,okayOnly:propTypes$3.exports.bool,onCancel:propTypes$3.exports.func.isRequired,onOkay:propTypes$3.exports.func.isRequired,title:propTypes$3.exports.string.isRequired};const Dialog$1=withModal(Dialog);var lib$2={};var flattenNames$1={};var freeGlobal=typeof globalThis=="object"&&globalThis&&globalThis.Object===Object&&globalThis;const freeGlobal$1=freeGlobal;var freeSelf=typeof self=="object"&&self&&self.Object===Object&&self;var root=freeGlobal$1||freeSelf||Function("return this")();const root$1=root;var Symbol$1=root$1.Symbol;const Symbol$2=Symbol$1;var objectProto$f=Object.prototype;var hasOwnProperty$c=objectProto$f.hasOwnProperty;var nativeObjectToString$1=objectProto$f.toString;var symToStringTag$1=Symbol$2?Symbol$2.toStringTag:void 0;function getRawTag(value2){var isOwn=hasOwnProperty$c.call(value2,symToStringTag$1),tag=value2[symToStringTag$1];try{value2[symToStringTag$1]=void 0;var unmasked=true;}catch(e){}var result=nativeObjectToString$1.call(value2);if(unmasked){if(isOwn){value2[symToStringTag$1]=tag;}else{delete value2[symToStringTag$1];}}return result;}var objectProto$e=Object.prototype;var nativeObjectToString=objectProto$e.toString;function objectToString(value2){return nativeObjectToString.call(value2);}var nullTag="[object Null]",undefinedTag="[object Undefined]";var symToStringTag=Symbol$2?Symbol$2.toStringTag:void 0;function baseGetTag(value2){if(value2==null){return value2===void 0?undefinedTag:nullTag;}return symToStringTag&&symToStringTag in Object(value2)?getRawTag(value2):objectToString(value2);}var isArray=Array.isArray;const isArray$1=isArray;function isObjectLike(value2){return value2!=null&&typeof value2=="object";}var stringTag$4="[object String]";function isString(value2){return typeof value2=="string"||!isArray$1(value2)&&isObjectLike(value2)&&baseGetTag(value2)==stringTag$4;}const isString$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:isString},Symbol.toStringTag,{value:"Module"}));const require$$0$1=/* @__PURE__ */getAugmentedNamespace(isString$1);function createBaseFor(fromRight){return function(object2,iteratee,keysFunc){var index2=-1,iterable=Object(object2),props=keysFunc(object2),length2=props.length;while(length2--){var key=props[fromRight?length2:++index2];if(iteratee(iterable[key],key,iterable)===false){break;}}return object2;};}var baseFor=createBaseFor();const baseFor$1=baseFor;function baseTimes(n,iteratee){var index2=-1,result=Array(n);while(++index2<n){result[index2]=iteratee(index2);}return result;}var argsTag$3="[object Arguments]";function baseIsArguments(value2){return isObjectLike(value2)&&baseGetTag(value2)==argsTag$3;}var objectProto$d=Object.prototype;var hasOwnProperty$b=objectProto$d.hasOwnProperty;var propertyIsEnumerable$1=objectProto$d.propertyIsEnumerable;var isArguments=baseIsArguments(function(){return arguments;}())?baseIsArguments:function(value2){return isObjectLike(value2)&&hasOwnProperty$b.call(value2,"callee")&&!propertyIsEnumerable$1.call(value2,"callee");};const isArguments$1=isArguments;function stubFalse(){return false;}var freeExports$2=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule$2=freeExports$2&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2;var Buffer$2=moduleExports$2?root$1.Buffer:void 0;var nativeIsBuffer=Buffer$2?Buffer$2.isBuffer:void 0;var isBuffer=nativeIsBuffer||stubFalse;const isBuffer$1=isBuffer;var MAX_SAFE_INTEGER$1=9007199254740991;var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value2,length2){var type2=typeof value2;length2=length2==null?MAX_SAFE_INTEGER$1:length2;return!!length2&&(type2=="number"||type2!="symbol"&&reIsUint.test(value2))&&value2>-1&&value2%1==0&&value2<length2;}var MAX_SAFE_INTEGER=9007199254740991;function isLength(value2){return typeof value2=="number"&&value2>-1&&value2%1==0&&value2<=MAX_SAFE_INTEGER;}var argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$3="[object Boolean]",dateTag$3="[object Date]",errorTag$2="[object Error]",funcTag$2="[object Function]",mapTag$5="[object Map]",numberTag$3="[object Number]",objectTag$4="[object Object]",regexpTag$3="[object RegExp]",setTag$5="[object Set]",stringTag$3="[object String]",weakMapTag$2="[object WeakMap]";var arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]";var typedArrayTags={};typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=true;typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$3]=typedArrayTags[boolTag$3]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$3]=typedArrayTags[errorTag$2]=typedArrayTags[funcTag$2]=typedArrayTags[mapTag$5]=typedArrayTags[numberTag$3]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$3]=typedArrayTags[setTag$5]=typedArrayTags[stringTag$3]=typedArrayTags[weakMapTag$2]=false;function baseIsTypedArray(value2){return isObjectLike(value2)&&isLength(value2.length)&&!!typedArrayTags[baseGetTag(value2)];}function baseUnary(func){return function(value2){return func(value2);};}var freeExports$1=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule$1=freeExports$1&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1;var freeProcess=moduleExports$1&&freeGlobal$1.process;var nodeUtil=function(){try{var types2=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;if(types2){return types2;}return freeProcess&&freeProcess.binding&&freeProcess.binding("util");}catch(e){}}();const nodeUtil$1=nodeUtil;var nodeIsTypedArray=nodeUtil$1&&nodeUtil$1.isTypedArray;var isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray;const isTypedArray$1=isTypedArray;var objectProto$c=Object.prototype;var hasOwnProperty$a=objectProto$c.hasOwnProperty;function arrayLikeKeys(value2,inherited){var isArr=isArray$1(value2),isArg=!isArr&&isArguments$1(value2),isBuff=!isArr&&!isArg&&isBuffer$1(value2),isType=!isArr&&!isArg&&!isBuff&&isTypedArray$1(value2),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value2.length,String):[],length2=result.length;for(var key in value2){if((inherited||hasOwnProperty$a.call(value2,key))&&!(skipIndexes&&(key=="length"||isBuff&&(key=="offset"||key=="parent")||isType&&(key=="buffer"||key=="byteLength"||key=="byteOffset")||isIndex(key,length2)))){result.push(key);}}return result;}var objectProto$b=Object.prototype;function isPrototype(value2){var Ctor=value2&&value2.constructor,proto2=typeof Ctor=="function"&&Ctor.prototype||objectProto$b;return value2===proto2;}function overArg(func,transform2){return function(arg){return func(transform2(arg));};}var nativeKeys=overArg(Object.keys,Object);const nativeKeys$1=nativeKeys;var objectProto$a=Object.prototype;var hasOwnProperty$9=objectProto$a.hasOwnProperty;function baseKeys(object2){if(!isPrototype(object2)){return nativeKeys$1(object2);}var result=[];for(var key in Object(object2)){if(hasOwnProperty$9.call(object2,key)&&key!="constructor"){result.push(key);}}return result;}function isObject(value2){var type2=typeof value2;return value2!=null&&(type2=="object"||type2=="function");}var asyncTag="[object AsyncFunction]",funcTag$1="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(value2){if(!isObject(value2)){return false;}var tag=baseGetTag(value2);return tag==funcTag$1||tag==genTag$1||tag==asyncTag||tag==proxyTag;}function isArrayLike(value2){return value2!=null&&isLength(value2.length)&&!isFunction(value2);}function keys(object2){return isArrayLike(object2)?arrayLikeKeys(object2):baseKeys(object2);}function baseForOwn(object2,iteratee){return object2&&baseFor$1(object2,iteratee,keys);}function identity(value2){return value2;}function castFunction(value2){return typeof value2=="function"?value2:identity;}function forOwn(object2,iteratee){return object2&&baseForOwn(object2,castFunction(iteratee));}const forOwn$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:forOwn},Symbol.toStringTag,{value:"Module"}));const require$$0=/* @__PURE__ */getAugmentedNamespace(forOwn$1);var getPrototype=overArg(Object.getPrototypeOf,Object);const getPrototype$1=getPrototype;var objectTag$3="[object Object]";var funcProto$2=Function.prototype,objectProto$9=Object.prototype;var funcToString$2=funcProto$2.toString;var hasOwnProperty$8=objectProto$9.hasOwnProperty;var objectCtorString=funcToString$2.call(Object);function isPlainObject(value2){if(!isObjectLike(value2)||baseGetTag(value2)!=objectTag$3){return false;}var proto2=getPrototype$1(value2);if(proto2===null){return true;}var Ctor=hasOwnProperty$8.call(proto2,"constructor")&&proto2.constructor;return typeof Ctor=="function"&&Ctor instanceof Ctor&&funcToString$2.call(Ctor)==objectCtorString;}const isPlainObject$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:isPlainObject},Symbol.toStringTag,{value:"Module"}));const require$$2=/* @__PURE__ */getAugmentedNamespace(isPlainObject$1);function arrayMap(array2,iteratee){var index2=-1,length2=array2==null?0:array2.length,result=Array(length2);while(++index2<length2){result[index2]=iteratee(array2[index2],index2,array2);}return result;}function listCacheClear(){this.__data__=[];this.size=0;}function eq(value2,other){return value2===other||value2!==value2&&other!==other;}function assocIndexOf(array2,key){var length2=array2.length;while(length2--){if(eq(array2[length2][0],key)){return length2;}}return-1;}var arrayProto=Array.prototype;var splice=arrayProto.splice;function listCacheDelete(key){var data2=this.__data__,index2=assocIndexOf(data2,key);if(index2<0){return false;}var lastIndex=data2.length-1;if(index2==lastIndex){data2.pop();}else{splice.call(data2,index2,1);}--this.size;return true;}function listCacheGet(key){var data2=this.__data__,index2=assocIndexOf(data2,key);return index2<0?void 0:data2[index2][1];}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1;}function listCacheSet(key,value2){var data2=this.__data__,index2=assocIndexOf(data2,key);if(index2<0){++this.size;data2.push([key,value2]);}else{data2[index2][1]=value2;}return this;}function ListCache(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}ListCache.prototype.clear=listCacheClear;ListCache.prototype["delete"]=listCacheDelete;ListCache.prototype.get=listCacheGet;ListCache.prototype.has=listCacheHas;ListCache.prototype.set=listCacheSet;function stackClear(){this.__data__=new ListCache();this.size=0;}function stackDelete(key){var data2=this.__data__,result=data2["delete"](key);this.size=data2.size;return result;}function stackGet(key){return this.__data__.get(key);}function stackHas(key){return this.__data__.has(key);}var coreJsData=root$1["__core-js_shared__"];const coreJsData$1=coreJsData;var maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData$1&&coreJsData$1.keys&&coreJsData$1.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:"";}();function isMasked(func){return!!maskSrcKey&&maskSrcKey in func;}var funcProto$1=Function.prototype;var funcToString$1=funcProto$1.toString;function toSource(func){if(func!=null){try{return funcToString$1.call(func);}catch(e){}try{return func+"";}catch(e){}}return"";}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g;var reIsHostCtor=/^\[object .+?Constructor\]$/;var funcProto=Function.prototype,objectProto$8=Object.prototype;var funcToString=funcProto.toString;var hasOwnProperty$7=objectProto$8.hasOwnProperty;var reIsNative=RegExp("^"+funcToString.call(hasOwnProperty$7).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value2){if(!isObject(value2)||isMasked(value2)){return false;}var pattern2=isFunction(value2)?reIsNative:reIsHostCtor;return pattern2.test(toSource(value2));}function getValue(object2,key){return object2==null?void 0:object2[key];}function getNative(object2,key){var value2=getValue(object2,key);return baseIsNative(value2)?value2:void 0;}var Map$1=getNative(root$1,"Map");const Map$2=Map$1;var nativeCreate=getNative(Object,"create");const nativeCreate$1=nativeCreate;function hashClear(){this.__data__=nativeCreate$1?nativeCreate$1(null):{};this.size=0;}function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];this.size-=result?1:0;return result;}var HASH_UNDEFINED$2="__lodash_hash_undefined__";var objectProto$7=Object.prototype;var hasOwnProperty$6=objectProto$7.hasOwnProperty;function hashGet(key){var data2=this.__data__;if(nativeCreate$1){var result=data2[key];return result===HASH_UNDEFINED$2?void 0:result;}return hasOwnProperty$6.call(data2,key)?data2[key]:void 0;}var objectProto$6=Object.prototype;var hasOwnProperty$5=objectProto$6.hasOwnProperty;function hashHas(key){var data2=this.__data__;return nativeCreate$1?data2[key]!==void 0:hasOwnProperty$5.call(data2,key);}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(key,value2){var data2=this.__data__;this.size+=this.has(key)?0:1;data2[key]=nativeCreate$1&&value2===void 0?HASH_UNDEFINED$1:value2;return this;}function Hash(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}Hash.prototype.clear=hashClear;Hash.prototype["delete"]=hashDelete;Hash.prototype.get=hashGet;Hash.prototype.has=hashHas;Hash.prototype.set=hashSet;function mapCacheClear(){this.size=0;this.__data__={"hash":new Hash(),"map":new(Map$2||ListCache)(),"string":new Hash()};}function isKeyable(value2){var type2=typeof value2;return type2=="string"||type2=="number"||type2=="symbol"||type2=="boolean"?value2!=="__proto__":value2===null;}function getMapData(map2,key){var data2=map2.__data__;return isKeyable(key)?data2[typeof key=="string"?"string":"hash"]:data2.map;}function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);this.size-=result?1:0;return result;}function mapCacheGet(key){return getMapData(this,key).get(key);}function mapCacheHas(key){return getMapData(this,key).has(key);}function mapCacheSet(key,value2){var data2=getMapData(this,key),size=data2.size;data2.set(key,value2);this.size+=data2.size==size?0:1;return this;}function MapCache(entries){var index2=-1,length2=entries==null?0:entries.length;this.clear();while(++index2<length2){var entry=entries[index2];this.set(entry[0],entry[1]);}}MapCache.prototype.clear=mapCacheClear;MapCache.prototype["delete"]=mapCacheDelete;MapCache.prototype.get=mapCacheGet;MapCache.prototype.has=mapCacheHas;MapCache.prototype.set=mapCacheSet;var LARGE_ARRAY_SIZE=200;function stackSet(key,value2){var data2=this.__data__;if(data2 instanceof ListCache){var pairs2=data2.__data__;if(!Map$2||pairs2.length<LARGE_ARRAY_SIZE-1){pairs2.push([key,value2]);this.size=++data2.size;return this;}data2=this.__data__=new MapCache(pairs2);}data2.set(key,value2);this.size=data2.size;return this;}function Stack(entries){var data2=this.__data__=new ListCache(entries);this.size=data2.size;}Stack.prototype.clear=stackClear;Stack.prototype["delete"]=stackDelete;Stack.prototype.get=stackGet;Stack.prototype.has=stackHas;Stack.prototype.set=stackSet;var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(value2){this.__data__.set(value2,HASH_UNDEFINED);return this;}function setCacheHas(value2){return this.__data__.has(value2);}function SetCache(values){var index2=-1,length2=values==null?0:values.length;this.__data__=new MapCache();while(++index2<length2){this.add(values[index2]);}}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd;SetCache.prototype.has=setCacheHas;function arraySome(array2,predicate){var index2=-1,length2=array2==null?0:array2.length;while(++index2<length2){if(predicate(array2[index2],index2,array2)){return true;}}return false;}function cacheHas(cache2,key){return cache2.has(key);}var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(array2,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$5,arrLength=array2.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength)){return false;}var arrStacked=stack.get(array2);var othStacked=stack.get(other);if(arrStacked&&othStacked){return arrStacked==other&&othStacked==array2;}var index2=-1,result=true,seen=bitmask&COMPARE_UNORDERED_FLAG$3?new SetCache():void 0;stack.set(array2,other);stack.set(other,array2);while(++index2<arrLength){var arrValue=array2[index2],othValue=other[index2];if(customizer){var compared=isPartial?customizer(othValue,arrValue,index2,other,array2,stack):customizer(arrValue,othValue,index2,array2,other,stack);}if(compared!==void 0){if(compared){continue;}result=false;break;}if(seen){if(!arraySome(other,function(othValue2,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue2||equalFunc(arrValue,othValue2,bitmask,customizer,stack))){return seen.push(othIndex);}})){result=false;break;}}else if(!(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack))){result=false;break;}}stack["delete"](array2);stack["delete"](other);return result;}var Uint8Array$1=root$1.Uint8Array;const Uint8Array$2=Uint8Array$1;function mapToArray(map2){var index2=-1,result=Array(map2.size);map2.forEach(function(value2,key){result[++index2]=[key,value2];});return result;}function setToArray(set2){var index2=-1,result=Array(set2.size);set2.forEach(function(value2){result[++index2]=value2;});return result;}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2;var boolTag$2="[object Boolean]",dateTag$2="[object Date]",errorTag$1="[object Error]",mapTag$4="[object Map]",numberTag$2="[object Number]",regexpTag$2="[object RegExp]",setTag$4="[object Set]",stringTag$2="[object String]",symbolTag$3="[object Symbol]";var arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$3="[object DataView]";var symbolProto$2=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf$1=symbolProto$2?symbolProto$2.valueOf:void 0;function equalByTag(object2,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag$3:if(object2.byteLength!=other.byteLength||object2.byteOffset!=other.byteOffset){return false;}object2=object2.buffer;other=other.buffer;case arrayBufferTag$2:if(object2.byteLength!=other.byteLength||!equalFunc(new Uint8Array$2(object2),new Uint8Array$2(other))){return false;}return true;case boolTag$2:case dateTag$2:case numberTag$2:return eq(+object2,+other);case errorTag$1:return object2.name==other.name&&object2.message==other.message;case regexpTag$2:case stringTag$2:return object2==other+"";case mapTag$4:var convert=mapToArray;case setTag$4:var isPartial=bitmask&COMPARE_PARTIAL_FLAG$4;convert||(convert=setToArray);if(object2.size!=other.size&&!isPartial){return false;}var stacked=stack.get(object2);if(stacked){return stacked==other;}bitmask|=COMPARE_UNORDERED_FLAG$2;stack.set(object2,other);var result=equalArrays(convert(object2),convert(other),bitmask,customizer,equalFunc,stack);stack["delete"](object2);return result;case symbolTag$3:if(symbolValueOf$1){return symbolValueOf$1.call(object2)==symbolValueOf$1.call(other);}}return false;}function arrayPush(array2,values){var index2=-1,length2=values.length,offset=array2.length;while(++index2<length2){array2[offset+index2]=values[index2];}return array2;}function baseGetAllKeys(object2,keysFunc,symbolsFunc){var result=keysFunc(object2);return isArray$1(object2)?result:arrayPush(result,symbolsFunc(object2));}function arrayFilter(array2,predicate){var index2=-1,length2=array2==null?0:array2.length,resIndex=0,result=[];while(++index2<length2){var value2=array2[index2];if(predicate(value2,index2,array2)){result[resIndex++]=value2;}}return result;}function stubArray(){return[];}var objectProto$5=Object.prototype;var propertyIsEnumerable=objectProto$5.propertyIsEnumerable;var nativeGetSymbols$1=Object.getOwnPropertySymbols;var getSymbols=!nativeGetSymbols$1?stubArray:function(object2){if(object2==null){return[];}object2=Object(object2);return arrayFilter(nativeGetSymbols$1(object2),function(symbol){return propertyIsEnumerable.call(object2,symbol);});};const getSymbols$1=getSymbols;function getAllKeys(object2){return baseGetAllKeys(object2,keys,getSymbols$1);}var COMPARE_PARTIAL_FLAG$3=1;var objectProto$4=Object.prototype;var hasOwnProperty$4=objectProto$4.hasOwnProperty;function equalObjects(object2,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG$3,objProps=getAllKeys(object2),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial){return false;}var index2=objLength;while(index2--){var key=objProps[index2];if(!(isPartial?key in other:hasOwnProperty$4.call(other,key))){return false;}}var objStacked=stack.get(object2);var othStacked=stack.get(other);if(objStacked&&othStacked){return objStacked==other&&othStacked==object2;}var result=true;stack.set(object2,other);stack.set(other,object2);var skipCtor=isPartial;while(++index2<objLength){key=objProps[index2];var objValue=object2[key],othValue=other[key];if(customizer){var compared=isPartial?customizer(othValue,objValue,key,other,object2,stack):customizer(objValue,othValue,key,object2,other,stack);}if(!(compared===void 0?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=false;break;}skipCtor||(skipCtor=key=="constructor");}if(result&&!skipCtor){var objCtor=object2.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&"constructor"in object2&&"constructor"in other&&!(typeof objCtor=="function"&&objCtor instanceof objCtor&&typeof othCtor=="function"&&othCtor instanceof othCtor)){result=false;}}stack["delete"](object2);stack["delete"](other);return result;}var DataView$1=getNative(root$1,"DataView");const DataView$2=DataView$1;var Promise$1=getNative(root$1,"Promise");const Promise$2=Promise$1;var Set$1=getNative(root$1,"Set");const Set$2=Set$1;var WeakMap$1=getNative(root$1,"WeakMap");const WeakMap$2=WeakMap$1;var mapTag$3="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$3="[object Set]",weakMapTag$1="[object WeakMap]";var dataViewTag$2="[object DataView]";var dataViewCtorString=toSource(DataView$2),mapCtorString=toSource(Map$2),promiseCtorString=toSource(Promise$2),setCtorString=toSource(Set$2),weakMapCtorString=toSource(WeakMap$2);var getTag=baseGetTag;if(DataView$2&&getTag(new DataView$2(new ArrayBuffer(1)))!=dataViewTag$2||Map$2&&getTag(new Map$2())!=mapTag$3||Promise$2&&getTag(Promise$2.resolve())!=promiseTag||Set$2&&getTag(new Set$2())!=setTag$3||WeakMap$2&&getTag(new WeakMap$2())!=weakMapTag$1){getTag=function(value2){var result=baseGetTag(value2),Ctor=result==objectTag$2?value2.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString){switch(ctorString){case dataViewCtorString:return dataViewTag$2;case mapCtorString:return mapTag$3;case promiseCtorString:return promiseTag;case setCtorString:return setTag$3;case weakMapCtorString:return weakMapTag$1;}}return result;};}const getTag$1=getTag;var COMPARE_PARTIAL_FLAG$2=1;var argsTag$1="[object Arguments]",arrayTag$1="[object Array]",objectTag$1="[object Object]";var objectProto$3=Object.prototype;var hasOwnProperty$3=objectProto$3.hasOwnProperty;function baseIsEqualDeep(object2,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray$1(object2),othIsArr=isArray$1(other),objTag=objIsArr?arrayTag$1:getTag$1(object2),othTag=othIsArr?arrayTag$1:getTag$1(other);objTag=objTag==argsTag$1?objectTag$1:objTag;othTag=othTag==argsTag$1?objectTag$1:othTag;var objIsObj=objTag==objectTag$1,othIsObj=othTag==objectTag$1,isSameTag=objTag==othTag;if(isSameTag&&isBuffer$1(object2)){if(!isBuffer$1(other)){return false;}objIsArr=true;objIsObj=false;}if(isSameTag&&!objIsObj){stack||(stack=new Stack());return objIsArr||isTypedArray$1(object2)?equalArrays(object2,other,bitmask,customizer,equalFunc,stack):equalByTag(object2,other,objTag,bitmask,customizer,equalFunc,stack);}if(!(bitmask&COMPARE_PARTIAL_FLAG$2)){var objIsWrapped=objIsObj&&hasOwnProperty$3.call(object2,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty$3.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object2.value():object2,othUnwrapped=othIsWrapped?other.value():other;stack||(stack=new Stack());return equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack);}}if(!isSameTag){return false;}stack||(stack=new Stack());return equalObjects(object2,other,bitmask,customizer,equalFunc,stack);}function baseIsEqual(value2,other,bitmask,customizer,stack){if(value2===other){return true;}if(value2==null||other==null||!isObjectLike(value2)&&!isObjectLike(other)){return value2!==value2&&other!==other;}return baseIsEqualDeep(value2,other,bitmask,customizer,baseIsEqual,stack);}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(object2,source,matchData,customizer){var index2=matchData.length,length2=index2,noCustomizer=!customizer;if(object2==null){return!length2;}object2=Object(object2);while(index2--){var data2=matchData[index2];if(noCustomizer&&data2[2]?data2[1]!==object2[data2[0]]:!(data2[0]in object2)){return false;}}while(++index2<length2){data2=matchData[index2];var key=data2[0],objValue=object2[key],srcValue=data2[1];if(noCustomizer&&data2[2]){if(objValue===void 0&&!(key in object2)){return false;}}else{var stack=new Stack();if(customizer){var result=customizer(objValue,srcValue,key,object2,source,stack);}if(!(result===void 0?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,customizer,stack):result)){return false;}}}return true;}function isStrictComparable(value2){return value2===value2&&!isObject(value2);}function getMatchData(object2){var result=keys(object2),length2=result.length;while(length2--){var key=result[length2],value2=object2[key];result[length2]=[key,value2,isStrictComparable(value2)];}return result;}function matchesStrictComparable(key,srcValue){return function(object2){if(object2==null){return false;}return object2[key]===srcValue&&(srcValue!==void 0||key in Object(object2));};}function baseMatches(source){var matchData=getMatchData(source);if(matchData.length==1&&matchData[0][2]){return matchesStrictComparable(matchData[0][0],matchData[0][1]);}return function(object2){return object2===source||baseIsMatch(object2,source,matchData);};}var symbolTag$2="[object Symbol]";function isSymbol(value2){return typeof value2=="symbol"||isObjectLike(value2)&&baseGetTag(value2)==symbolTag$2;}var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(value2,object2){if(isArray$1(value2)){return false;}var type2=typeof value2;if(type2=="number"||type2=="symbol"||type2=="boolean"||value2==null||isSymbol(value2)){return true;}return reIsPlainProp.test(value2)||!reIsDeepProp.test(value2)||object2!=null&&value2 in Object(object2);}var FUNC_ERROR_TEXT$2="Expected a function";function memoize(func,resolver){if(typeof func!="function"||resolver!=null&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT$2);}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache2=memoized.cache;if(cache2.has(key)){return cache2.get(key);}var result=func.apply(this,args);memoized.cache=cache2.set(key,result)||cache2;return result;};memoized.cache=new(memoize.Cache||MapCache)();return memoized;}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(func){var result=memoize(func,function(key){if(cache2.size===MAX_MEMOIZE_SIZE){cache2.clear();}return key;});var cache2=result.cache;return result;}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;var reEscapeChar=/\\(\\)?/g;var stringToPath=memoizeCapped(function(string){var result=[];if(string.charCodeAt(0)===46){result.push("");}string.replace(rePropName,function(match,number3,quote2,subString){result.push(quote2?subString.replace(reEscapeChar,"$1"):number3||match);});return result;});const stringToPath$1=stringToPath;var INFINITY$1=1/0;var symbolProto$1=Symbol$2?Symbol$2.prototype:void 0,symbolToString=symbolProto$1?symbolProto$1.toString:void 0;function baseToString(value2){if(typeof value2=="string"){return value2;}if(isArray$1(value2)){return arrayMap(value2,baseToString)+"";}if(isSymbol(value2)){return symbolToString?symbolToString.call(value2):"";}var result=value2+"";return result=="0"&&1/value2==-INFINITY$1?"-0":result;}function toString(value2){return value2==null?"":baseToString(value2);}function castPath(value2,object2){if(isArray$1(value2)){return value2;}return isKey(value2,object2)?[value2]:stringToPath$1(toString(value2));}var INFINITY=1/0;function toKey(value2){if(typeof value2=="string"||isSymbol(value2)){return value2;}var result=value2+"";return result=="0"&&1/value2==-INFINITY?"-0":result;}function baseGet(object2,path){path=castPath(path,object2);var index2=0,length2=path.length;while(object2!=null&&index2<length2){object2=object2[toKey(path[index2++])];}return index2&&index2==length2?object2:void 0;}function get$1(object2,path,defaultValue){var result=object2==null?void 0:baseGet(object2,path);return result===void 0?defaultValue:result;}function baseHasIn(object2,key){return object2!=null&&key in Object(object2);}function hasPath(object2,path,hasFunc){path=castPath(path,object2);var index2=-1,length2=path.length,result=false;while(++index2<length2){var key=toKey(path[index2]);if(!(result=object2!=null&&hasFunc(object2,key))){break;}object2=object2[key];}if(result||++index2!=length2){return result;}length2=object2==null?0:object2.length;return!!length2&&isLength(length2)&&isIndex(key,length2)&&(isArray$1(object2)||isArguments$1(object2));}function hasIn(object2,path){return object2!=null&&hasPath(object2,path,baseHasIn);}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(path,srcValue){if(isKey(path)&&isStrictComparable(srcValue)){return matchesStrictComparable(toKey(path),srcValue);}return function(object2){var objValue=get$1(object2,path);return objValue===void 0&&objValue===srcValue?hasIn(object2,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG);};}function baseProperty(key){return function(object2){return object2==null?void 0:object2[key];};}function basePropertyDeep(path){return function(object2){return baseGet(object2,path);};}function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path);}function baseIteratee(value2){if(typeof value2=="function"){return value2;}if(value2==null){return identity;}if(typeof value2=="object"){return isArray$1(value2)?baseMatchesProperty(value2[0],value2[1]):baseMatches(value2);}return property(value2);}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(collection==null){return collection;}if(!isArrayLike(collection)){return eachFunc(collection,iteratee);}var length2=collection.length,index2=fromRight?length2:-1,iterable=Object(collection);while(fromRight?index2--:++index2<length2){if(iteratee(iterable[index2],index2,iterable)===false){break;}}return collection;};}var baseEach=createBaseEach(baseForOwn);const baseEach$1=baseEach;function baseMap(collection,iteratee){var index2=-1,result=isArrayLike(collection)?Array(collection.length):[];baseEach$1(collection,function(value2,key,collection2){result[++index2]=iteratee(value2,key,collection2);});return result;}function map(collection,iteratee){var func=isArray$1(collection)?arrayMap:baseMap;return func(collection,baseIteratee(iteratee));}const map$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:map},Symbol.toStringTag,{value:"Module"}));const require$$3=/* @__PURE__ */getAugmentedNamespace(map$1);Object.defineProperty(flattenNames$1,"__esModule",{value:true});flattenNames$1.flattenNames=void 0;var _isString2=require$$0$1;var _isString3=_interopRequireDefault$7(_isString2);var _forOwn2$2=require$$0;var _forOwn3$2=_interopRequireDefault$7(_forOwn2$2);var _isPlainObject2=require$$2;var _isPlainObject3=_interopRequireDefault$7(_isPlainObject2);var _map2=require$$3;var _map3=_interopRequireDefault$7(_map2);function _interopRequireDefault$7(obj){return obj&&obj.__esModule?obj:{default:obj};}var flattenNames=flattenNames$1.flattenNames=function flattenNames2(){var things=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];var names2=[];(0,_map3.default)(things,function(thing){if(Array.isArray(thing)){flattenNames2(thing).map(function(name){return names2.push(name);});}else if((0,_isPlainObject3.default)(thing)){(0,_forOwn3$2.default)(thing,function(value2,key){value2===true&&names2.push(key);names2.push(key+"-"+value2);});}else if((0,_isString3.default)(thing)){names2.push(thing);}});return names2;};flattenNames$1.default=flattenNames;var mergeClasses$1={};function arrayEach(array2,iteratee){var index2=-1,length2=array2==null?0:array2.length;while(++index2<length2){if(iteratee(array2[index2],index2,array2)===false){break;}}return array2;}var defineProperty=function(){try{var func=getNative(Object,"defineProperty");func({},"",{});return func;}catch(e){}}();const defineProperty$1=defineProperty;function baseAssignValue(object2,key,value2){if(key=="__proto__"&&defineProperty$1){defineProperty$1(object2,key,{"configurable":true,"enumerable":true,"value":value2,"writable":true});}else{object2[key]=value2;}}var objectProto$2=Object.prototype;var hasOwnProperty$2=objectProto$2.hasOwnProperty;function assignValue(object2,key,value2){var objValue=object2[key];if(!(hasOwnProperty$2.call(object2,key)&&eq(objValue,value2))||value2===void 0&&!(key in object2)){baseAssignValue(object2,key,value2);}}function copyObject(source,props,object2,customizer){var isNew=!object2;object2||(object2={});var index2=-1,length2=props.length;while(++index2<length2){var key=props[index2];var newValue=customizer?customizer(object2[key],source[key],key,object2,source):void 0;if(newValue===void 0){newValue=source[key];}if(isNew){baseAssignValue(object2,key,newValue);}else{assignValue(object2,key,newValue);}}return object2;}function baseAssign(object2,source){return object2&&copyObject(source,keys(source),object2);}function nativeKeysIn(object2){var result=[];if(object2!=null){for(var key in Object(object2)){result.push(key);}}return result;}var objectProto$1=Object.prototype;var hasOwnProperty$1=objectProto$1.hasOwnProperty;function baseKeysIn(object2){if(!isObject(object2)){return nativeKeysIn(object2);}var isProto=isPrototype(object2),result=[];for(var key in object2){if(!(key=="constructor"&&(isProto||!hasOwnProperty$1.call(object2,key)))){result.push(key);}}return result;}function keysIn(object2){return isArrayLike(object2)?arrayLikeKeys(object2,true):baseKeysIn(object2);}function baseAssignIn(object2,source){return object2&&copyObject(source,keysIn(source),object2);}var freeExports=typeof exports2=="object"&&exports2&&!exports2.nodeType&&exports2;var freeModule=freeExports&&typeof module=="object"&&module&&!module.nodeType&&module;var moduleExports=freeModule&&freeModule.exports===freeExports;var Buffer$1=moduleExports?root$1.Buffer:void 0,allocUnsafe=Buffer$1?Buffer$1.allocUnsafe:void 0;function cloneBuffer(buffer2,isDeep){if(isDeep){return buffer2.slice();}var length2=buffer2.length,result=allocUnsafe?allocUnsafe(length2):new buffer2.constructor(length2);buffer2.copy(result);return result;}function copyArray(source,array2){var index2=-1,length2=source.length;array2||(array2=Array(length2));while(++index2<length2){array2[index2]=source[index2];}return array2;}function copySymbols(source,object2){return copyObject(source,getSymbols$1(source),object2);}var nativeGetSymbols=Object.getOwnPropertySymbols;var getSymbolsIn=!nativeGetSymbols?stubArray:function(object2){var result=[];while(object2){arrayPush(result,getSymbols$1(object2));object2=getPrototype$1(object2);}return result;};const getSymbolsIn$1=getSymbolsIn;function copySymbolsIn(source,object2){return copyObject(source,getSymbolsIn$1(source),object2);}function getAllKeysIn(object2){return baseGetAllKeys(object2,keysIn,getSymbolsIn$1);}var objectProto=Object.prototype;var hasOwnProperty=objectProto.hasOwnProperty;function initCloneArray(array2){var length2=array2.length,result=new array2.constructor(length2);if(length2&&typeof array2[0]=="string"&&hasOwnProperty.call(array2,"index")){result.index=array2.index;result.input=array2.input;}return result;}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));return result;}function cloneDataView(dataView,isDeep){var buffer2=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer2,dataView.byteOffset,dataView.byteLength);}var reFlags=/\w*$/;function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));result.lastIndex=regexp.lastIndex;return result;}var symbolProto=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{};}function cloneTypedArray(typedArray,isDeep){var buffer2=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer2,typedArray.byteOffset,typedArray.length);}var boolTag$1="[object Boolean]",dateTag$1="[object Date]",mapTag$2="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]";var arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(object2,tag,isDeep){var Ctor=object2.constructor;switch(tag){case arrayBufferTag$1:return cloneArrayBuffer(object2);case boolTag$1:case dateTag$1:return new Ctor(+object2);case dataViewTag$1:return cloneDataView(object2,isDeep);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(object2,isDeep);case mapTag$2:return new Ctor();case numberTag$1:case stringTag$1:return new Ctor(object2);case regexpTag$1:return cloneRegExp(object2);case setTag$2:return new Ctor();case symbolTag$1:return cloneSymbol(object2);}}var objectCreate=Object.create;var baseCreate=function(){function object2(){}return function(proto2){if(!isObject(proto2)){return{};}if(objectCreate){return objectCreate(proto2);}object2.prototype=proto2;var result=new object2();object2.prototype=void 0;return result;};}();const baseCreate$1=baseCreate;function initCloneObject(object2){return typeof object2.constructor=="function"&&!isPrototype(object2)?baseCreate$1(getPrototype$1(object2)):{};}var mapTag$1="[object Map]";function baseIsMap(value2){return isObjectLike(value2)&&getTag$1(value2)==mapTag$1;}var nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap;var isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap;const isMap$1=isMap;var setTag$1="[object Set]";function baseIsSet(value2){return isObjectLike(value2)&&getTag$1(value2)==setTag$1;}var nodeIsSet=nodeUtil$1&&nodeUtil$1.isSet;var isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet;const isSet$1=isSet;var CLONE_DEEP_FLAG$1=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$1=4;var argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag="[object WeakMap]";var arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]";var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=false;function baseClone(value2,bitmask,customizer,key,object2,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG$1,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG$1;if(customizer){result=object2?customizer(value2,key,object2,stack):customizer(value2);}if(result!==void 0){return result;}if(!isObject(value2)){return value2;}var isArr=isArray$1(value2);if(isArr){result=initCloneArray(value2);if(!isDeep){return copyArray(value2,result);}}else{var tag=getTag$1(value2),isFunc=tag==funcTag||tag==genTag;if(isBuffer$1(value2)){return cloneBuffer(value2,isDeep);}if(tag==objectTag||tag==argsTag||isFunc&&!object2){result=isFlat||isFunc?{}:initCloneObject(value2);if(!isDeep){return isFlat?copySymbolsIn(value2,baseAssignIn(result,value2)):copySymbols(value2,baseAssign(result,value2));}}else{if(!cloneableTags[tag]){return object2?value2:{};}result=initCloneByTag(value2,tag,isDeep);}}stack||(stack=new Stack());var stacked=stack.get(value2);if(stacked){return stacked;}stack.set(value2,result);if(isSet$1(value2)){value2.forEach(function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value2,stack));});}else if(isMap$1(value2)){value2.forEach(function(subValue,key2){result.set(key2,baseClone(subValue,bitmask,customizer,key2,value2,stack));});}var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys;var props=isArr?void 0:keysFunc(value2);arrayEach(props||value2,function(subValue,key2){if(props){key2=subValue;subValue=value2[key2];}assignValue(result,key2,baseClone(subValue,bitmask,customizer,key2,value2,stack));});return result;}var CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep(value2){return baseClone(value2,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG);}const cloneDeep$1=/* @__PURE__ */Object.freeze(/* @__PURE__ */Object.defineProperty({__proto__:null,default:cloneDeep},Symbol.toStringTag,{value:"Module"}));const require$$1=/* @__PURE__ */getAugmentedNamespace(cloneDeep$1);Object.defineProperty(mergeClasses$1,"__esModule",{value:true});mergeClasses$1.mergeClasses=void 0;var _forOwn2$1=require$$0;var _forOwn3$1=_interopRequireDefault$6(_forOwn2$1);var _cloneDeep2=require$$1;var _cloneDeep3=_interopRequireDefault$6(_cloneDeep2);var _extends$g=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _interopRequireDefault$6(obj){return obj&&obj.__esModule?obj:{default:obj};}var mergeClasses=mergeClasses$1.mergeClasses=function mergeClasses2(classes2){var activeNames=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];var styles2=classes2.default&&(0,_cloneDeep3.default)(classes2.default)||{};activeNames.map(function(name){var toMerge=classes2[name];if(toMerge){(0,_forOwn3$1.default)(toMerge,function(value2,key){if(!styles2[key]){styles2[key]={};}styles2[key]=_extends$g({},styles2[key],toMerge[key]);});}return name;});return styles2;};mergeClasses$1.default=mergeClasses;var autoprefix$1={};Object.defineProperty(autoprefix$1,"__esModule",{value:true});autoprefix$1.autoprefix=void 0;var _forOwn2=require$$0;var _forOwn3=_interopRequireDefault$5(_forOwn2);var _extends$f=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};function _interopRequireDefault$5(obj){return obj&&obj.__esModule?obj:{default:obj};}var transforms={borderRadius:function borderRadius(value2){return{msBorderRadius:value2,MozBorderRadius:value2,OBorderRadius:value2,WebkitBorderRadius:value2,borderRadius:value2};},boxShadow:function boxShadow(value2){return{msBoxShadow:value2,MozBoxShadow:value2,OBoxShadow:value2,WebkitBoxShadow:value2,boxShadow:value2};},userSelect:function userSelect(value2){return{WebkitTouchCallout:value2,KhtmlUserSelect:value2,MozUserSelect:value2,msUserSelect:value2,WebkitUserSelect:value2,userSelect:value2};},flex:function flex(value2){return{WebkitBoxFlex:value2,MozBoxFlex:value2,WebkitFlex:value2,msFlex:value2,flex:value2};},flexBasis:function flexBasis(value2){return{WebkitFlexBasis:value2,flexBasis:value2};},justifyContent:function justifyContent(value2){return{WebkitJustifyContent:value2,justifyContent:value2};},transition:function transition2(value2){return{msTransition:value2,MozTransition:value2,OTransition:value2,WebkitTransition:value2,transition:value2};},transform:function transform2(value2){return{msTransform:value2,MozTransform:value2,OTransform:value2,WebkitTransform:value2,transform:value2};},absolute:function absolute(value2){var direction=value2&&value2.split(" ");return{position:"absolute",top:direction&&direction[0],right:direction&&direction[1],bottom:direction&&direction[2],left:direction&&direction[3]};},extend:function extend2(name,otherElementStyles){var otherStyle=otherElementStyles[name];if(otherStyle){return otherStyle;}return{"extend":name};}};var autoprefix=autoprefix$1.autoprefix=function autoprefix2(elements){var prefixed={};(0,_forOwn3.default)(elements,function(styles2,element){var expanded={};(0,_forOwn3.default)(styles2,function(value2,key){var transform2=transforms[key];if(transform2){expanded=_extends$f({},expanded,transform2(value2));}else{expanded[key]=value2;}});prefixed[element]=expanded;});return prefixed;};autoprefix$1.default=autoprefix;var hover$1={};Object.defineProperty(hover$1,"__esModule",{value:true});hover$1.hover=void 0;var _extends$e=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$4=React__default.default;var _react2$3=_interopRequireDefault$4(_react$4);function _interopRequireDefault$4(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck$a(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$a(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$a(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var hover=hover$1.hover=function hover2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$a(Hover,_React$Component);function Hover(){var _ref;var _temp,_this,_ret;_classCallCheck$a(this,Hover);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$a(this,(_ref=Hover.__proto__||Object.getPrototypeOf(Hover)).call.apply(_ref,[this].concat(args))),_this),_this.state={hover:false},_this.handleMouseOver=function(){return _this.setState({hover:true});},_this.handleMouseOut=function(){return _this.setState({hover:false});},_this.render=function(){return _react2$3.default.createElement(Span,{onMouseOver:_this.handleMouseOver,onMouseOut:_this.handleMouseOut},_react2$3.default.createElement(Component,_extends$e({},_this.props,_this.state)));},_temp),_possibleConstructorReturn$a(_this,_ret);}return Hover;}(_react2$3.default.Component);};hover$1.default=hover;var active$1={};Object.defineProperty(active$1,"__esModule",{value:true});active$1.active=void 0;var _extends$d=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$3=React__default.default;var _react2$2=_interopRequireDefault$3(_react$3);function _interopRequireDefault$3(obj){return obj&&obj.__esModule?obj:{default:obj};}function _classCallCheck$9(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$9(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$9(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var active=active$1.active=function active2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$9(Active,_React$Component);function Active(){var _ref;var _temp,_this,_ret;_classCallCheck$9(this,Active);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$9(this,(_ref=Active.__proto__||Object.getPrototypeOf(Active)).call.apply(_ref,[this].concat(args))),_this),_this.state={active:false},_this.handleMouseDown=function(){return _this.setState({active:true});},_this.handleMouseUp=function(){return _this.setState({active:false});},_this.render=function(){return _react2$2.default.createElement(Span,{onMouseDown:_this.handleMouseDown,onMouseUp:_this.handleMouseUp},_react2$2.default.createElement(Component,_extends$d({},_this.props,_this.state)));},_temp),_possibleConstructorReturn$9(_this,_ret);}return Active;}(_react2$2.default.Component);};active$1.default=active;var loop={};Object.defineProperty(loop,"__esModule",{value:true});var loopable=function loopable2(i2,length2){var props={};var setProp2=function setProp3(name){var value2=arguments.length>1&&arguments[1]!==void 0?arguments[1]:true;props[name]=value2;};i2===0&&setProp2("first-child");i2===length2-1&&setProp2("last-child");(i2===0||i2%2===0)&&setProp2("even");Math.abs(i2%2)===1&&setProp2("odd");setProp2("nth-child",i2);return props;};loop.default=loopable;Object.defineProperty(lib$2,"__esModule",{value:true});lib$2.ReactCSS=lib$2.loop=lib$2.handleActive=handleHover=lib$2.handleHover=lib$2.hover=void 0;var _flattenNames=flattenNames$1;var _flattenNames2=_interopRequireDefault$2(_flattenNames);var _mergeClasses=mergeClasses$1;var _mergeClasses2=_interopRequireDefault$2(_mergeClasses);var _autoprefix=autoprefix$1;var _autoprefix2=_interopRequireDefault$2(_autoprefix);var _hover2=hover$1;var _hover3=_interopRequireDefault$2(_hover2);var _active=active$1;var _active2=_interopRequireDefault$2(_active);var _loop2=loop;var _loop3=_interopRequireDefault$2(_loop2);function _interopRequireDefault$2(obj){return obj&&obj.__esModule?obj:{default:obj};}lib$2.hover=_hover3.default;var handleHover=lib$2.handleHover=_hover3.default;lib$2.handleActive=_active2.default;lib$2.loop=_loop3.default;var ReactCSS=lib$2.ReactCSS=function ReactCSS2(classes2){for(var _len=arguments.length,activations=Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){activations[_key-1]=arguments[_key];}var activeNames=(0,_flattenNames2.default)(activations);var merged=(0,_mergeClasses2.default)(classes2,activeNames);return(0,_autoprefix2.default)(merged);};var _default$3=lib$2.default=ReactCSS;var calculateChange$2=function calculateChange2(e,hsl2,direction,initialA,container){var containerWidth=container.clientWidth;var containerHeight=container.clientHeight;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(direction==="vertical"){var a=void 0;if(top2<0){a=0;}else if(top2>containerHeight){a=1;}else{a=Math.round(top2*100/containerHeight)/100;}if(hsl2.a!==a){return{h:hsl2.h,s:hsl2.s,l:hsl2.l,a,source:"rgb"};}}else{var _a=void 0;if(left2<0){_a=0;}else if(left2>containerWidth){_a=1;}else{_a=Math.round(left2*100/containerWidth)/100;}if(initialA!==_a){return{h:hsl2.h,s:hsl2.s,l:hsl2.l,a:_a,source:"rgb"};}}return null;};var checkboardCache={};var render=function render2(c1,c2,size,serverCanvas){if(typeof document==="undefined"&&!serverCanvas){return null;}var canvas=serverCanvas?new serverCanvas():document.createElement("canvas");canvas.width=size*2;canvas.height=size*2;var ctx=canvas.getContext("2d");if(!ctx){return null;}ctx.fillStyle=c1;ctx.fillRect(0,0,canvas.width,canvas.height);ctx.fillStyle=c2;ctx.fillRect(0,0,size,size);ctx.translate(size,size);ctx.fillRect(0,0,size,size);return canvas.toDataURL();};var get=function get2(c1,c2,size,serverCanvas){var key=c1+"-"+c2+"-"+size+(serverCanvas?"-server":"");if(checkboardCache[key]){return checkboardCache[key];}var checkboard=render(c1,c2,size,serverCanvas);checkboardCache[key]=checkboard;return checkboard;};var _extends$c=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Checkboard=function Checkboard2(_ref){var white=_ref.white,grey=_ref.grey,size=_ref.size,renderers=_ref.renderers,borderRadius=_ref.borderRadius,boxShadow=_ref.boxShadow,children2=_ref.children;var styles2=_default$3({"default":{grid:{borderRadius,boxShadow,absolute:"0px 0px 0px 0px",background:"url("+get(white,grey,size,renderers.canvas)+") center left"}}});return React$3.isValidElement(children2)?React__default.default.cloneElement(children2,_extends$c({},children2.props,{style:_extends$c({},children2.props.style,styles2.grid)})):React__default.default.createElement("div",{style:styles2.grid});};Checkboard.defaultProps={size:8,white:"transparent",grey:"rgba(0,0,0,.08)",renderers:{}};var _extends$b=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$8=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$8(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$8(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$8(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Alpha=function(_ref){_inherits$8(Alpha2,_ref);function Alpha2(){var _ref2;var _temp,_this,_ret;_classCallCheck$8(this,Alpha2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$8(this,(_ref2=Alpha2.__proto__||Object.getPrototypeOf(Alpha2)).call.apply(_ref2,[this].concat(args))),_this),_this.handleChange=function(e){var change=calculateChange$2(e,_this.props.hsl,_this.props.direction,_this.props.a,_this.container);change&&typeof _this.props.onChange==="function"&&_this.props.onChange(change,e);},_this.handleMouseDown=function(e){_this.handleChange(e);window.addEventListener("mousemove",_this.handleChange);window.addEventListener("mouseup",_this.handleMouseUp);},_this.handleMouseUp=function(){_this.unbindEventListeners();},_this.unbindEventListeners=function(){window.removeEventListener("mousemove",_this.handleChange);window.removeEventListener("mouseup",_this.handleMouseUp);},_temp),_possibleConstructorReturn$8(_this,_ret);}_createClass$8(Alpha2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"render",value:function render2(){var _this2=this;var rgb2=this.props.rgb;var styles2=_default$3({"default":{alpha:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},checkboard:{absolute:"0px 0px 0px 0px",overflow:"hidden",borderRadius:this.props.radius},gradient:{absolute:"0px 0px 0px 0px",background:"linear-gradient(to right, rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 0) 0%,\n rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 1) 100%)",boxShadow:this.props.shadow,borderRadius:this.props.radius},container:{position:"relative",height:"100%",margin:"0 3px"},pointer:{position:"absolute",left:rgb2.a*100+"%"},slider:{width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",marginTop:"1px",transform:"translateX(-2px)"}},"vertical":{gradient:{background:"linear-gradient(to bottom, rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 0) 0%,\n rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+", 1) 100%)"},pointer:{left:0,top:rgb2.a*100+"%"}},"overwrite":_extends$b({},this.props.style)},{vertical:this.props.direction==="vertical",overwrite:true});return React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement("div",{style:styles2.checkboard},React__default.default.createElement(Checkboard,{renderers:this.props.renderers})),React__default.default.createElement("div",{style:styles2.gradient}),React__default.default.createElement("div",{style:styles2.container,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.slider}))));}}]);return Alpha2;}(React$3.PureComponent||React$3.Component);var _createClass$7=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value2){if(key in obj){Object.defineProperty(obj,key,{value:value2,enumerable:true,configurable:true,writable:true});}else{obj[key]=value2;}return obj;}function _classCallCheck$7(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$7(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$7(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var DEFAULT_ARROW_OFFSET=1;var UP_KEY_CODE=38;var DOWN_KEY_CODE=40;var VALID_KEY_CODES=[UP_KEY_CODE,DOWN_KEY_CODE];var isValidKeyCode=function isValidKeyCode2(keyCode){return VALID_KEY_CODES.indexOf(keyCode)>-1;};var getNumberValue=function getNumberValue2(value2){return Number(String(value2).replace(/%/g,""));};var idCounter=1;var EditableInput=function(_ref){_inherits$7(EditableInput2,_ref);function EditableInput2(props){_classCallCheck$7(this,EditableInput2);var _this=_possibleConstructorReturn$7(this,(EditableInput2.__proto__||Object.getPrototypeOf(EditableInput2)).call(this));_this.handleBlur=function(){if(_this.state.blurValue){_this.setState({value:_this.state.blurValue,blurValue:null});}};_this.handleChange=function(e){_this.setUpdatedValue(e.target.value,e);};_this.handleKeyDown=function(e){var value2=getNumberValue(e.target.value);if(!isNaN(value2)&&isValidKeyCode(e.keyCode)){var offset=_this.getArrowOffset();var updatedValue=e.keyCode===UP_KEY_CODE?value2+offset:value2-offset;_this.setUpdatedValue(updatedValue,e);}};_this.handleDrag=function(e){if(_this.props.dragLabel){var newValue=Math.round(_this.props.value+e.movementX);if(newValue>=0&&newValue<=_this.props.dragMax){_this.props.onChange&&_this.props.onChange(_this.getValueObjectWithLabel(newValue),e);}}};_this.handleMouseDown=function(e){if(_this.props.dragLabel){e.preventDefault();_this.handleDrag(e);window.addEventListener("mousemove",_this.handleDrag);window.addEventListener("mouseup",_this.handleMouseUp);}};_this.handleMouseUp=function(){_this.unbindEventListeners();};_this.unbindEventListeners=function(){window.removeEventListener("mousemove",_this.handleDrag);window.removeEventListener("mouseup",_this.handleMouseUp);};_this.state={value:String(props.value).toUpperCase(),blurValue:String(props.value).toUpperCase()};_this.inputId="rc-editable-input-"+idCounter++;return _this;}_createClass$7(EditableInput2,[{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(this.props.value!==this.state.value&&(prevProps.value!==this.props.value||prevState.value!==this.state.value)){if(this.input===document.activeElement){this.setState({blurValue:String(this.props.value).toUpperCase()});}else{this.setState({value:String(this.props.value).toUpperCase(),blurValue:!this.state.blurValue&&String(this.props.value).toUpperCase()});}}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"getValueObjectWithLabel",value:function getValueObjectWithLabel(value2){return _defineProperty({},this.props.label,value2);}},{key:"getArrowOffset",value:function getArrowOffset(){return this.props.arrowOffset||DEFAULT_ARROW_OFFSET;}},{key:"setUpdatedValue",value:function setUpdatedValue(value2,e){var onChangeValue=this.props.label?this.getValueObjectWithLabel(value2):value2;this.props.onChange&&this.props.onChange(onChangeValue,e);this.setState({value:value2});}},{key:"render",value:function render2(){var _this2=this;var styles2=_default$3({"default":{wrap:{position:"relative"}},"user-override":{wrap:this.props.style&&this.props.style.wrap?this.props.style.wrap:{},input:this.props.style&&this.props.style.input?this.props.style.input:{},label:this.props.style&&this.props.style.label?this.props.style.label:{}},"dragLabel-true":{label:{cursor:"ew-resize"}}},{"user-override":true},this.props);return React__default.default.createElement("div",{style:styles2.wrap},React__default.default.createElement("input",{id:this.inputId,style:styles2.input,ref:function ref2(input){return _this2.input=input;},value:this.state.value,onKeyDown:this.handleKeyDown,onChange:this.handleChange,onBlur:this.handleBlur,placeholder:this.props.placeholder,spellCheck:"false"}),this.props.label&&!this.props.hideLabel?React__default.default.createElement("label",{htmlFor:this.inputId,style:styles2.label,onMouseDown:this.handleMouseDown},this.props.label):null);}}]);return EditableInput2;}(React$3.PureComponent||React$3.Component);var calculateChange$1=function calculateChange2(e,direction,hsl2,container){var containerWidth=container.clientWidth;var containerHeight=container.clientHeight;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(direction==="vertical"){var h=void 0;if(top2<0){h=359;}else if(top2>containerHeight){h=0;}else{var percent=-(top2*100/containerHeight)+100;h=360*percent/100;}if(hsl2.h!==h){return{h,s:hsl2.s,l:hsl2.l,a:hsl2.a,source:"hsl"};}}else{var _h=void 0;if(left2<0){_h=0;}else if(left2>containerWidth){_h=359;}else{var _percent=left2*100/containerWidth;_h=360*_percent/100;}if(hsl2.h!==_h){return{h:_h,s:hsl2.s,l:hsl2.l,a:hsl2.a,source:"hsl"};}}return null;};var _createClass$6=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$6(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$6(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$6(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Hue=function(_ref){_inherits$6(Hue2,_ref);function Hue2(){var _ref2;var _temp,_this,_ret;_classCallCheck$6(this,Hue2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$6(this,(_ref2=Hue2.__proto__||Object.getPrototypeOf(Hue2)).call.apply(_ref2,[this].concat(args))),_this),_this.handleChange=function(e){var change=calculateChange$1(e,_this.props.direction,_this.props.hsl,_this.container);change&&typeof _this.props.onChange==="function"&&_this.props.onChange(change,e);},_this.handleMouseDown=function(e){_this.handleChange(e);window.addEventListener("mousemove",_this.handleChange);window.addEventListener("mouseup",_this.handleMouseUp);},_this.handleMouseUp=function(){_this.unbindEventListeners();},_temp),_possibleConstructorReturn$6(_this,_ret);}_createClass$6(Hue2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.unbindEventListeners();}},{key:"unbindEventListeners",value:function unbindEventListeners(){window.removeEventListener("mousemove",this.handleChange);window.removeEventListener("mouseup",this.handleMouseUp);}},{key:"render",value:function render2(){var _this2=this;var _props$direction=this.props.direction,direction=_props$direction===void 0?"horizontal":_props$direction;var styles2=_default$3({"default":{hue:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius,boxShadow:this.props.shadow},container:{padding:"0 2px",position:"relative",height:"100%",borderRadius:this.props.radius},pointer:{position:"absolute",left:this.props.hsl.h*100/360+"%"},slider:{marginTop:"1px",width:"4px",borderRadius:"1px",height:"8px",boxShadow:"0 0 2px rgba(0, 0, 0, .6)",background:"#fff",transform:"translateX(-2px)"}},"vertical":{pointer:{left:"0px",top:-(this.props.hsl.h*100/360)+100+"%"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement("div",{className:"hue-"+direction,style:styles2.container,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("style",null,"\n .hue-horizontal {\n background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0\n 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to right, #f00 0%, #ff0\n 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n\n .hue-vertical {\n background: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%,\n #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n background: -webkit-linear-gradient(to top, #f00 0%, #ff0 17%,\n #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);\n }\n "),React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.slider}))));}}]);return Hue2;}(React$3.PureComponent||React$3.Component);function assignMergeValue(object2,key,value2){if(value2!==void 0&&!eq(object2[key],value2)||value2===void 0&&!(key in object2)){baseAssignValue(object2,key,value2);}}function isArrayLikeObject(value2){return isObjectLike(value2)&&isArrayLike(value2);}function safeGet(object2,key){if(key==="constructor"&&typeof object2[key]==="function"){return;}if(key=="__proto__"){return;}return object2[key];}function toPlainObject(value2){return copyObject(value2,keysIn(value2));}function baseMergeDeep(object2,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object2,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked){assignMergeValue(object2,key,stacked);return;}var newValue=customizer?customizer(objValue,srcValue,key+"",object2,source,stack):void 0;var isCommon=newValue===void 0;if(isCommon){var isArr=isArray$1(srcValue),isBuff=!isArr&&isBuffer$1(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray$1(srcValue);newValue=srcValue;if(isArr||isBuff||isTyped){if(isArray$1(objValue)){newValue=objValue;}else if(isArrayLikeObject(objValue)){newValue=copyArray(objValue);}else if(isBuff){isCommon=false;newValue=cloneBuffer(srcValue,true);}else if(isTyped){isCommon=false;newValue=cloneTypedArray(srcValue,true);}else{newValue=[];}}else if(isPlainObject(srcValue)||isArguments$1(srcValue)){newValue=objValue;if(isArguments$1(objValue)){newValue=toPlainObject(objValue);}else if(!isObject(objValue)||isFunction(objValue)){newValue=initCloneObject(srcValue);}}else{isCommon=false;}}if(isCommon){stack.set(srcValue,newValue);mergeFunc(newValue,srcValue,srcIndex,customizer,stack);stack["delete"](srcValue);}assignMergeValue(object2,key,newValue);}function baseMerge(object2,source,srcIndex,customizer,stack){if(object2===source){return;}baseFor$1(source,function(srcValue,key){stack||(stack=new Stack());if(isObject(srcValue)){baseMergeDeep(object2,source,key,srcIndex,baseMerge,customizer,stack);}else{var newValue=customizer?customizer(safeGet(object2,key),srcValue,key+"",object2,source,stack):void 0;if(newValue===void 0){newValue=srcValue;}assignMergeValue(object2,key,newValue);}},keysIn);}function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2]);}return func.apply(thisArg,args);}var nativeMax$1=Math.max;function overRest(func,start2,transform2){start2=nativeMax$1(start2===void 0?func.length-1:start2,0);return function(){var args=arguments,index2=-1,length2=nativeMax$1(args.length-start2,0),array2=Array(length2);while(++index2<length2){array2[index2]=args[start2+index2];}index2=-1;var otherArgs=Array(start2+1);while(++index2<start2){otherArgs[index2]=args[index2];}otherArgs[start2]=transform2(array2);return apply(func,this,otherArgs);};}function constant(value2){return function(){return value2;};}var baseSetToString=!defineProperty$1?identity:function(func,string){return defineProperty$1(func,"toString",{"configurable":true,"enumerable":false,"value":constant(string),"writable":true});};const baseSetToString$1=baseSetToString;var HOT_COUNT=800,HOT_SPAN=16;var nativeNow=Date.now;function shortOut(func){var count2=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);lastCalled=stamp;if(remaining>0){if(++count2>=HOT_COUNT){return arguments[0];}}else{count2=0;}return func.apply(void 0,arguments);};}var setToString=shortOut(baseSetToString$1);const setToString$1=setToString;function baseRest(func,start2){return setToString$1(overRest(func,start2,identity),func+"");}function isIterateeCall(value2,index2,object2){if(!isObject(object2)){return false;}var type2=typeof index2;if(type2=="number"?isArrayLike(object2)&&isIndex(index2,object2.length):type2=="string"&&index2 in object2){return eq(object2[index2],value2);}return false;}function createAssigner(assigner){return baseRest(function(object2,sources){var index2=-1,length2=sources.length,customizer=length2>1?sources[length2-1]:void 0,guard=length2>2?sources[2]:void 0;customizer=assigner.length>3&&typeof customizer=="function"?(length2--,customizer):void 0;if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length2<3?void 0:customizer;length2=1;}object2=Object(object2);while(++index2<length2){var source=sources[index2];if(source){assigner(object2,source,index2,customizer);}}return object2;});}var merge=createAssigner(function(object2,source,srcIndex){baseMerge(object2,source,srcIndex);});const merge$1=merge;var Raised=function Raised2(_ref){var zDepth=_ref.zDepth,radius=_ref.radius,background=_ref.background,children2=_ref.children,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles;var styles2=_default$3(merge$1({"default":{wrap:{position:"relative",display:"inline-block"},content:{position:"relative"},bg:{absolute:"0px 0px 0px 0px",boxShadow:"0 "+zDepth+"px "+zDepth*4+"px rgba(0,0,0,.24)",borderRadius:radius,background}},"zDepth-0":{bg:{boxShadow:"none"}},"zDepth-1":{bg:{boxShadow:"0 2px 10px rgba(0,0,0,.12), 0 2px 5px rgba(0,0,0,.16)"}},"zDepth-2":{bg:{boxShadow:"0 6px 20px rgba(0,0,0,.19), 0 8px 17px rgba(0,0,0,.2)"}},"zDepth-3":{bg:{boxShadow:"0 17px 50px rgba(0,0,0,.19), 0 12px 15px rgba(0,0,0,.24)"}},"zDepth-4":{bg:{boxShadow:"0 25px 55px rgba(0,0,0,.21), 0 16px 28px rgba(0,0,0,.22)"}},"zDepth-5":{bg:{boxShadow:"0 40px 77px rgba(0,0,0,.22), 0 27px 24px rgba(0,0,0,.2)"}},"square":{bg:{borderRadius:"0"}},"circle":{bg:{borderRadius:"50%"}}},passedStyles),{"zDepth-1":zDepth===1});return React__default.default.createElement("div",{style:styles2.wrap},React__default.default.createElement("div",{style:styles2.bg}),React__default.default.createElement("div",{style:styles2.content},children2));};Raised.propTypes={background:propTypes$3.exports.string,zDepth:propTypes$3.exports.oneOf([0,1,2,3,4,5]),radius:propTypes$3.exports.number,styles:propTypes$3.exports.object};Raised.defaultProps={background:"#fff",zDepth:1,radius:2,styles:{}};var now=function(){return root$1.Date.now();};const now$1=now;var reWhitespace=/\s/;function trimmedEndIndex(string){var index2=string.length;while(index2--&&reWhitespace.test(string.charAt(index2))){}return index2;}var reTrimStart=/^\s+/;function baseTrim(string){return string?string.slice(0,trimmedEndIndex(string)+1).replace(reTrimStart,""):string;}var NAN=0/0;var reIsBadHex=/^[-+]0x[0-9a-f]+$/i;var reIsBinary=/^0b[01]+$/i;var reIsOctal=/^0o[0-7]+$/i;var freeParseInt=parseInt;function toNumber(value2){if(typeof value2=="number"){return value2;}if(isSymbol(value2)){return NAN;}if(isObject(value2)){var other=typeof value2.valueOf=="function"?value2.valueOf():value2;value2=isObject(other)?other+"":other;}if(typeof value2!="string"){return value2===0?value2:+value2;}value2=baseTrim(value2);var isBinary=reIsBinary.test(value2);return isBinary||reIsOctal.test(value2)?freeParseInt(value2.slice(2),isBinary?2:8):reIsBadHex.test(value2)?NAN:+value2;}var FUNC_ERROR_TEXT$1="Expected a function";var nativeMax=Math.max,nativeMin=Math.min;function debounce(func,wait,options2){var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=false,maxing=false,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT$1);}wait=toNumber(wait)||0;if(isObject(options2)){leading=!!options2.leading;maxing="maxWait"in options2;maxWait=maxing?nativeMax(toNumber(options2.maxWait)||0,wait):maxWait;trailing="trailing"in options2?!!options2.trailing:trailing;}function invokeFunc(time2){var args=lastArgs,thisArg=lastThis;lastArgs=lastThis=void 0;lastInvokeTime=time2;result=func.apply(thisArg,args);return result;}function leadingEdge(time2){lastInvokeTime=time2;timerId=setTimeout(timerExpired,wait);return leading?invokeFunc(time2):result;}function remainingWait(time2){var timeSinceLastCall=time2-lastCallTime,timeSinceLastInvoke=time2-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting;}function shouldInvoke(time2){var timeSinceLastCall=time2-lastCallTime,timeSinceLastInvoke=time2-lastInvokeTime;return lastCallTime===void 0||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait;}function timerExpired(){var time2=now$1();if(shouldInvoke(time2)){return trailingEdge(time2);}timerId=setTimeout(timerExpired,remainingWait(time2));}function trailingEdge(time2){timerId=void 0;if(trailing&&lastArgs){return invokeFunc(time2);}lastArgs=lastThis=void 0;return result;}function cancel(){if(timerId!==void 0){clearTimeout(timerId);}lastInvokeTime=0;lastArgs=lastCallTime=lastThis=timerId=void 0;}function flush(){return timerId===void 0?result:trailingEdge(now$1());}function debounced(){var time2=now$1(),isInvoking=shouldInvoke(time2);lastArgs=arguments;lastThis=this;lastCallTime=time2;if(isInvoking){if(timerId===void 0){return leadingEdge(lastCallTime);}if(maxing){clearTimeout(timerId);timerId=setTimeout(timerExpired,wait);return invokeFunc(lastCallTime);}}if(timerId===void 0){timerId=setTimeout(timerExpired,wait);}return result;}debounced.cancel=cancel;debounced.flush=flush;return debounced;}var FUNC_ERROR_TEXT="Expected a function";function throttle(func,wait,options2){var leading=true,trailing=true;if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT);}if(isObject(options2)){leading="leading"in options2?!!options2.leading:leading;trailing="trailing"in options2?!!options2.trailing:trailing;}return debounce(func,wait,{"leading":leading,"maxWait":wait,"trailing":trailing});}var calculateChange=function calculateChange2(e,hsl2,container){var _container$getBoundin=container.getBoundingClientRect(),containerWidth=_container$getBoundin.width,containerHeight=_container$getBoundin.height;var x=typeof e.pageX==="number"?e.pageX:e.touches[0].pageX;var y=typeof e.pageY==="number"?e.pageY:e.touches[0].pageY;var left2=x-(container.getBoundingClientRect().left+window.pageXOffset);var top2=y-(container.getBoundingClientRect().top+window.pageYOffset);if(left2<0){left2=0;}else if(left2>containerWidth){left2=containerWidth;}if(top2<0){top2=0;}else if(top2>containerHeight){top2=containerHeight;}var saturation=left2/containerWidth;var bright=1-top2/containerHeight;return{h:hsl2.h,s:saturation,v:bright,a:hsl2.a,source:"hsv"};};var _createClass$5=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$5(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$5(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$5(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Saturation=function(_ref){_inherits$5(Saturation2,_ref);function Saturation2(props){_classCallCheck$5(this,Saturation2);var _this=_possibleConstructorReturn$5(this,(Saturation2.__proto__||Object.getPrototypeOf(Saturation2)).call(this,props));_this.handleChange=function(e){typeof _this.props.onChange==="function"&&_this.throttle(_this.props.onChange,calculateChange(e,_this.props.hsl,_this.container),e);};_this.handleMouseDown=function(e){_this.handleChange(e);var renderWindow=_this.getContainerRenderWindow();renderWindow.addEventListener("mousemove",_this.handleChange);renderWindow.addEventListener("mouseup",_this.handleMouseUp);};_this.handleMouseUp=function(){_this.unbindEventListeners();};_this.throttle=throttle(function(fn,data2,e){fn(data2,e);},50);return _this;}_createClass$5(Saturation2,[{key:"componentWillUnmount",value:function componentWillUnmount(){this.throttle.cancel();this.unbindEventListeners();}},{key:"getContainerRenderWindow",value:function getContainerRenderWindow(){var container=this.container;var renderWindow=window;while(!renderWindow.document.contains(container)&&renderWindow.parent!==renderWindow){renderWindow=renderWindow.parent;}return renderWindow;}},{key:"unbindEventListeners",value:function unbindEventListeners(){var renderWindow=this.getContainerRenderWindow();renderWindow.removeEventListener("mousemove",this.handleChange);renderWindow.removeEventListener("mouseup",this.handleMouseUp);}},{key:"render",value:function render2(){var _this2=this;var _ref2=this.props.style||{},color2=_ref2.color,white=_ref2.white,black=_ref2.black,pointer2=_ref2.pointer,circle2=_ref2.circle;var styles2=_default$3({"default":{color:{absolute:"0px 0px 0px 0px",background:"hsl("+this.props.hsl.h+",100%, 50%)",borderRadius:this.props.radius},white:{absolute:"0px 0px 0px 0px",borderRadius:this.props.radius},black:{absolute:"0px 0px 0px 0px",boxShadow:this.props.shadow,borderRadius:this.props.radius},pointer:{position:"absolute",top:-(this.props.hsv.v*100)+100+"%",left:this.props.hsv.s*100+"%",cursor:"default"},circle:{width:"4px",height:"4px",boxShadow:"0 0 0 1.5px #fff, inset 0 0 1px 1px rgba(0,0,0,.3),\n 0 0 1px 2px rgba(0,0,0,.4)",borderRadius:"50%",cursor:"hand",transform:"translate(-2px, -2px)"}},"custom":{color:color2,white,black,pointer:pointer2,circle:circle2}},{"custom":!!this.props.style});return React__default.default.createElement("div",{style:styles2.color,ref:function ref2(container){return _this2.container=container;},onMouseDown:this.handleMouseDown,onTouchMove:this.handleChange,onTouchStart:this.handleChange},React__default.default.createElement("style",null,"\n .saturation-white {\n background: -webkit-linear-gradient(to right, #fff, rgba(255,255,255,0));\n background: linear-gradient(to right, #fff, rgba(255,255,255,0));\n }\n .saturation-black {\n background: -webkit-linear-gradient(to top, #000, rgba(0,0,0,0));\n background: linear-gradient(to top, #000, rgba(0,0,0,0));\n }\n "),React__default.default.createElement("div",{style:styles2.white,className:"saturation-white"},React__default.default.createElement("div",{style:styles2.black,className:"saturation-black"}),React__default.default.createElement("div",{style:styles2.pointer},this.props.pointer?React__default.default.createElement(this.props.pointer,this.props):React__default.default.createElement("div",{style:styles2.circle}))));}}]);return Saturation2;}(React$3.PureComponent||React$3.Component);function forEach(collection,iteratee){var func=isArray$1(collection)?arrayEach:baseEach$1;return func(collection,castFunction(iteratee));}const trimLeft=/^\s+/;const trimRight=/\s+$/;function tinycolor(color2,opts){color2=color2?color2:"";opts=opts||{};if(color2 instanceof tinycolor){return color2;}if(!(this instanceof tinycolor)){return new tinycolor(color2,opts);}var rgb2=inputToRGB(color2);this._originalInput=color2,this._r=rgb2.r,this._g=rgb2.g,this._b=rgb2.b,this._a=rgb2.a,this._roundA=Math.round(100*this._a)/100,this._format=opts.format||rgb2.format;this._gradientType=opts.gradientType;if(this._r<1)this._r=Math.round(this._r);if(this._g<1)this._g=Math.round(this._g);if(this._b<1)this._b=Math.round(this._b);this._ok=rgb2.ok;}tinycolor.prototype={isDark:function(){return this.getBrightness()<128;},isLight:function(){return!this.isDark();},isValid:function(){return this._ok;},getOriginalInput:function(){return this._originalInput;},getFormat:function(){return this._format;},getAlpha:function(){return this._a;},getBrightness:function(){var rgb2=this.toRgb();return(rgb2.r*299+rgb2.g*587+rgb2.b*114)/1e3;},getLuminance:function(){var rgb2=this.toRgb();var RsRGB,GsRGB,BsRGB,R,G,B2;RsRGB=rgb2.r/255;GsRGB=rgb2.g/255;BsRGB=rgb2.b/255;if(RsRGB<=0.03928)R=RsRGB/12.92;else R=Math.pow((RsRGB+0.055)/1.055,2.4);if(GsRGB<=0.03928)G=GsRGB/12.92;else G=Math.pow((GsRGB+0.055)/1.055,2.4);if(BsRGB<=0.03928)B2=BsRGB/12.92;else B2=Math.pow((BsRGB+0.055)/1.055,2.4);return 0.2126*R+0.7152*G+0.0722*B2;},setAlpha:function(value2){this._a=boundAlpha(value2);this._roundA=Math.round(100*this._a)/100;return this;},toHsv:function(){var hsv=rgbToHsv(this._r,this._g,this._b);return{h:hsv.h*360,s:hsv.s,v:hsv.v,a:this._a};},toHsvString:function(){var hsv=rgbToHsv(this._r,this._g,this._b);var h=Math.round(hsv.h*360),s=Math.round(hsv.s*100),v=Math.round(hsv.v*100);return this._a==1?"hsv("+h+", "+s+"%, "+v+"%)":"hsva("+h+", "+s+"%, "+v+"%, "+this._roundA+")";},toHsl:function(){var hsl2=rgbToHsl(this._r,this._g,this._b);return{h:hsl2.h*360,s:hsl2.s,l:hsl2.l,a:this._a};},toHslString:function(){var hsl2=rgbToHsl(this._r,this._g,this._b);var h=Math.round(hsl2.h*360),s=Math.round(hsl2.s*100),l=Math.round(hsl2.l*100);return this._a==1?"hsl("+h+", "+s+"%, "+l+"%)":"hsla("+h+", "+s+"%, "+l+"%, "+this._roundA+")";},toHex:function(allow3Char){return rgbToHex(this._r,this._g,this._b,allow3Char);},toHexString:function(allow3Char){return"#"+this.toHex(allow3Char);},toHex8:function(allow4Char){return rgbaToHex(this._r,this._g,this._b,this._a,allow4Char);},toHex8String:function(allow4Char){return"#"+this.toHex8(allow4Char);},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a};},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")";},toPercentageRgb:function(){return{r:Math.round(bound01(this._r,255)*100)+"%",g:Math.round(bound01(this._g,255)*100)+"%",b:Math.round(bound01(this._b,255)*100)+"%",a:this._a};},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%)":"rgba("+Math.round(bound01(this._r,255)*100)+"%, "+Math.round(bound01(this._g,255)*100)+"%, "+Math.round(bound01(this._b,255)*100)+"%, "+this._roundA+")";},toName:function(){if(this._a===0){return"transparent";}if(this._a<1){return false;}return hexNames[rgbToHex(this._r,this._g,this._b,true)]||false;},toFilter:function(secondColor){var hex8String="#"+rgbaToArgbHex(this._r,this._g,this._b,this._a);var secondHex8String=hex8String;var gradientType=this._gradientType?"GradientType = 1, ":"";if(secondColor){var s=tinycolor(secondColor);secondHex8String="#"+rgbaToArgbHex(s._r,s._g,s._b,s._a);}return"progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")";},toString:function(format2){var formatSet=!!format2;format2=format2||this._format;var formattedString=false;var hasAlpha=this._a<1&&this._a>=0;var needsAlphaFormat=!formatSet&&hasAlpha&&(format2==="hex"||format2==="hex6"||format2==="hex3"||format2==="hex4"||format2==="hex8"||format2==="name");if(needsAlphaFormat){if(format2==="name"&&this._a===0){return this.toName();}return this.toRgbString();}if(format2==="rgb"){formattedString=this.toRgbString();}if(format2==="prgb"){formattedString=this.toPercentageRgbString();}if(format2==="hex"||format2==="hex6"){formattedString=this.toHexString();}if(format2==="hex3"){formattedString=this.toHexString(true);}if(format2==="hex4"){formattedString=this.toHex8String(true);}if(format2==="hex8"){formattedString=this.toHex8String();}if(format2==="name"){formattedString=this.toName();}if(format2==="hsl"){formattedString=this.toHslString();}if(format2==="hsv"){formattedString=this.toHsvString();}return formattedString||this.toHexString();},clone:function(){return tinycolor(this.toString());},_applyModification:function(fn,args){var color2=fn.apply(null,[this].concat([].slice.call(args)));this._r=color2._r;this._g=color2._g;this._b=color2._b;this.setAlpha(color2._a);return this;},lighten:function(){return this._applyModification(lighten,arguments);},brighten:function(){return this._applyModification(brighten,arguments);},darken:function(){return this._applyModification(darken,arguments);},desaturate:function(){return this._applyModification(desaturate,arguments);},saturate:function(){return this._applyModification(saturate,arguments);},greyscale:function(){return this._applyModification(greyscale,arguments);},spin:function(){return this._applyModification(spin,arguments);},_applyCombination:function(fn,args){return fn.apply(null,[this].concat([].slice.call(args)));},analogous:function(){return this._applyCombination(analogous,arguments);},complement:function(){return this._applyCombination(complement,arguments);},monochromatic:function(){return this._applyCombination(monochromatic,arguments);},splitcomplement:function(){return this._applyCombination(splitcomplement,arguments);},triad:function(){return this._applyCombination(polyad,[3]);},tetrad:function(){return this._applyCombination(polyad,[4]);}};tinycolor.fromRatio=function(color2,opts){if(typeof color2=="object"){var newColor={};for(var i2 in color2){if(color2.hasOwnProperty(i2)){if(i2==="a"){newColor[i2]=color2[i2];}else{newColor[i2]=convertToPercentage(color2[i2]);}}}color2=newColor;}return tinycolor(color2,opts);};function inputToRGB(color2){var rgb2={r:0,g:0,b:0};var a=1;var s=null;var v=null;var l=null;var ok=false;var format2=false;if(typeof color2=="string"){color2=stringInputToObject(color2);}if(typeof color2=="object"){if(isValidCSSUnit(color2.r)&&isValidCSSUnit(color2.g)&&isValidCSSUnit(color2.b)){rgb2=rgbToRgb(color2.r,color2.g,color2.b);ok=true;format2=String(color2.r).substr(-1)==="%"?"prgb":"rgb";}else if(isValidCSSUnit(color2.h)&&isValidCSSUnit(color2.s)&&isValidCSSUnit(color2.v)){s=convertToPercentage(color2.s);v=convertToPercentage(color2.v);rgb2=hsvToRgb(color2.h,s,v);ok=true;format2="hsv";}else if(isValidCSSUnit(color2.h)&&isValidCSSUnit(color2.s)&&isValidCSSUnit(color2.l)){s=convertToPercentage(color2.s);l=convertToPercentage(color2.l);rgb2=hslToRgb(color2.h,s,l);ok=true;format2="hsl";}if(color2.hasOwnProperty("a")){a=color2.a;}}a=boundAlpha(a);return{ok,format:color2.format||format2,r:Math.min(255,Math.max(rgb2.r,0)),g:Math.min(255,Math.max(rgb2.g,0)),b:Math.min(255,Math.max(rgb2.b,0)),a};}function rgbToRgb(r2,g,b){return{r:bound01(r2,255)*255,g:bound01(g,255)*255,b:bound01(b,255)*255};}function rgbToHsl(r2,g,b){r2=bound01(r2,255);g=bound01(g,255);b=bound01(b,255);var max2=Math.max(r2,g,b),min2=Math.min(r2,g,b);var h,s,l=(max2+min2)/2;if(max2==min2){h=s=0;}else{var d=max2-min2;s=l>0.5?d/(2-max2-min2):d/(max2+min2);switch(max2){case r2:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r2)/d+2;break;case b:h=(r2-g)/d+4;break;}h/=6;}return{h,s,l};}function hslToRgb(h,s,l){var r2,g,b;h=bound01(h,360);s=bound01(s,100);l=bound01(l,100);function hue2rgb(p2,q3,t){if(t<0)t+=1;if(t>1)t-=1;if(t<1/6)return p2+(q3-p2)*6*t;if(t<1/2)return q3;if(t<2/3)return p2+(q3-p2)*(2/3-t)*6;return p2;}if(s===0){r2=g=b=l;}else{var q2=l<0.5?l*(1+s):l+s-l*s;var p=2*l-q2;r2=hue2rgb(p,q2,h+1/3);g=hue2rgb(p,q2,h);b=hue2rgb(p,q2,h-1/3);}return{r:r2*255,g:g*255,b:b*255};}function rgbToHsv(r2,g,b){r2=bound01(r2,255);g=bound01(g,255);b=bound01(b,255);var max2=Math.max(r2,g,b),min2=Math.min(r2,g,b);var h,s,v=max2;var d=max2-min2;s=max2===0?0:d/max2;if(max2==min2){h=0;}else{switch(max2){case r2:h=(g-b)/d+(g<b?6:0);break;case g:h=(b-r2)/d+2;break;case b:h=(r2-g)/d+4;break;}h/=6;}return{h,s,v};}function hsvToRgb(h,s,v){h=bound01(h,360)*6;s=bound01(s,100);v=bound01(v,100);var i2=Math.floor(h),f2=h-i2,p=v*(1-s),q2=v*(1-f2*s),t=v*(1-(1-f2)*s),mod2=i2%6,r2=[v,q2,p,p,t,v][mod2],g=[t,v,v,q2,p,p][mod2],b=[p,p,t,v,v,q2][mod2];return{r:r2*255,g:g*255,b:b*255};}function rgbToHex(r2,g,b,allow3Char){var hex2=[pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];if(allow3Char&&hex2[0].charAt(0)==hex2[0].charAt(1)&&hex2[1].charAt(0)==hex2[1].charAt(1)&&hex2[2].charAt(0)==hex2[2].charAt(1)){return hex2[0].charAt(0)+hex2[1].charAt(0)+hex2[2].charAt(0);}return hex2.join("");}function rgbaToHex(r2,g,b,a,allow4Char){var hex2=[pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16)),pad2(convertDecimalToHex(a))];if(allow4Char&&hex2[0].charAt(0)==hex2[0].charAt(1)&&hex2[1].charAt(0)==hex2[1].charAt(1)&&hex2[2].charAt(0)==hex2[2].charAt(1)&&hex2[3].charAt(0)==hex2[3].charAt(1)){return hex2[0].charAt(0)+hex2[1].charAt(0)+hex2[2].charAt(0)+hex2[3].charAt(0);}return hex2.join("");}function rgbaToArgbHex(r2,g,b,a){var hex2=[pad2(convertDecimalToHex(a)),pad2(Math.round(r2).toString(16)),pad2(Math.round(g).toString(16)),pad2(Math.round(b).toString(16))];return hex2.join("");}tinycolor.equals=function(color1,color2){if(!color1||!color2)return false;return tinycolor(color1).toRgbString()==tinycolor(color2).toRgbString();};tinycolor.random=function(){return tinycolor.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()});};function desaturate(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.s-=amount/100;hsl2.s=clamp01(hsl2.s);return tinycolor(hsl2);}function saturate(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.s+=amount/100;hsl2.s=clamp01(hsl2.s);return tinycolor(hsl2);}function greyscale(color2){return tinycolor(color2).desaturate(100);}function lighten(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.l+=amount/100;hsl2.l=clamp01(hsl2.l);return tinycolor(hsl2);}function brighten(color2,amount){amount=amount===0?0:amount||10;var rgb2=tinycolor(color2).toRgb();rgb2.r=Math.max(0,Math.min(255,rgb2.r-Math.round(255*-(amount/100))));rgb2.g=Math.max(0,Math.min(255,rgb2.g-Math.round(255*-(amount/100))));rgb2.b=Math.max(0,Math.min(255,rgb2.b-Math.round(255*-(amount/100))));return tinycolor(rgb2);}function darken(color2,amount){amount=amount===0?0:amount||10;var hsl2=tinycolor(color2).toHsl();hsl2.l-=amount/100;hsl2.l=clamp01(hsl2.l);return tinycolor(hsl2);}function spin(color2,amount){var hsl2=tinycolor(color2).toHsl();var hue=(hsl2.h+amount)%360;hsl2.h=hue<0?360+hue:hue;return tinycolor(hsl2);}function complement(color2){var hsl2=tinycolor(color2).toHsl();hsl2.h=(hsl2.h+180)%360;return tinycolor(hsl2);}function polyad(color2,number3){if(isNaN(number3)||number3<=0){throw new Error("Argument to polyad must be a positive number");}var hsl2=tinycolor(color2).toHsl();var result=[tinycolor(color2)];var step=360/number3;for(var i2=1;i2<number3;i2++){result.push(tinycolor({h:(hsl2.h+i2*step)%360,s:hsl2.s,l:hsl2.l}));}return result;}function splitcomplement(color2){var hsl2=tinycolor(color2).toHsl();var h=hsl2.h;return[tinycolor(color2),tinycolor({h:(h+72)%360,s:hsl2.s,l:hsl2.l}),tinycolor({h:(h+216)%360,s:hsl2.s,l:hsl2.l})];}function analogous(color2,results,slices){results=results||6;slices=slices||30;var hsl2=tinycolor(color2).toHsl();var part=360/slices;var ret=[tinycolor(color2)];for(hsl2.h=(hsl2.h-(part*results>>1)+720)%360;--results;){hsl2.h=(hsl2.h+part)%360;ret.push(tinycolor(hsl2));}return ret;}function monochromatic(color2,results){results=results||6;var hsv=tinycolor(color2).toHsv();var h=hsv.h,s=hsv.s,v=hsv.v;var ret=[];var modification=1/results;while(results--){ret.push(tinycolor({h,s,v}));v=(v+modification)%1;}return ret;}tinycolor.mix=function(color1,color2,amount){amount=amount===0?0:amount||50;var rgb1=tinycolor(color1).toRgb();var rgb2=tinycolor(color2).toRgb();var p=amount/100;var rgba2={r:(rgb2.r-rgb1.r)*p+rgb1.r,g:(rgb2.g-rgb1.g)*p+rgb1.g,b:(rgb2.b-rgb1.b)*p+rgb1.b,a:(rgb2.a-rgb1.a)*p+rgb1.a};return tinycolor(rgba2);};tinycolor.readability=function(color1,color2){var c1=tinycolor(color1);var c2=tinycolor(color2);return(Math.max(c1.getLuminance(),c2.getLuminance())+0.05)/(Math.min(c1.getLuminance(),c2.getLuminance())+0.05);};tinycolor.isReadable=function(color1,color2,wcag2){var readability=tinycolor.readability(color1,color2);var wcag2Parms,out;out=false;wcag2Parms=validateWCAG2Parms(wcag2);switch(wcag2Parms.level+wcag2Parms.size){case"AAsmall":case"AAAlarge":out=readability>=4.5;break;case"AAlarge":out=readability>=3;break;case"AAAsmall":out=readability>=7;break;}return out;};tinycolor.mostReadable=function(baseColor,colorList,args){var bestColor=null;var bestScore=0;var readability;var includeFallbackColors,level,size;args=args||{};includeFallbackColors=args.includeFallbackColors;level=args.level;size=args.size;for(var i2=0;i2<colorList.length;i2++){readability=tinycolor.readability(baseColor,colorList[i2]);if(readability>bestScore){bestScore=readability;bestColor=tinycolor(colorList[i2]);}}if(tinycolor.isReadable(baseColor,bestColor,{level,size})||!includeFallbackColors){return bestColor;}else{args.includeFallbackColors=false;return tinycolor.mostReadable(baseColor,["#fff","#000"],args);}};var names=tinycolor.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"};var hexNames=tinycolor.hexNames=flip(names);function flip(o){var flipped={};for(var i2 in o){if(o.hasOwnProperty(i2)){flipped[o[i2]]=i2;}}return flipped;}function boundAlpha(a){a=parseFloat(a);if(isNaN(a)||a<0||a>1){a=1;}return a;}function bound01(n,max2){if(isOnePointZero(n))n="100%";var processPercent=isPercentage(n);n=Math.min(max2,Math.max(0,parseFloat(n)));if(processPercent){n=parseInt(n*max2,10)/100;}if(Math.abs(n-max2)<1e-6){return 1;}return n%max2/parseFloat(max2);}function clamp01(val2){return Math.min(1,Math.max(0,val2));}function parseIntFromHex(val2){return parseInt(val2,16);}function isOnePointZero(n){return typeof n=="string"&&n.indexOf(".")!=-1&&parseFloat(n)===1;}function isPercentage(n){return typeof n==="string"&&n.indexOf("%")!=-1;}function pad2(c2){return c2.length==1?"0"+c2:""+c2;}function convertToPercentage(n){if(n<=1){n=n*100+"%";}return n;}function convertDecimalToHex(d){return Math.round(parseFloat(d)*255).toString(16);}function convertHexToDecimal(h){return parseIntFromHex(h)/255;}var matchers=function(){var CSS_INTEGER="[-\\+]?\\d+%?";var CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?";var CSS_UNIT="(?:"+CSS_NUMBER+")|(?:"+CSS_INTEGER+")";var PERMISSIVE_MATCH3="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";var PERMISSIVE_MATCH4="[\\s|\\(]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")[,|\\s]+("+CSS_UNIT+")\\s*\\)?";return{CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};}();function isValidCSSUnit(color2){return!!matchers.CSS_UNIT.exec(color2);}function stringInputToObject(color2){color2=color2.replace(trimLeft,"").replace(trimRight,"").toLowerCase();var named2=false;if(names[color2]){color2=names[color2];named2=true;}else if(color2=="transparent"){return{r:0,g:0,b:0,a:0,format:"name"};}var match;if(match=matchers.rgb.exec(color2)){return{r:match[1],g:match[2],b:match[3]};}if(match=matchers.rgba.exec(color2)){return{r:match[1],g:match[2],b:match[3],a:match[4]};}if(match=matchers.hsl.exec(color2)){return{h:match[1],s:match[2],l:match[3]};}if(match=matchers.hsla.exec(color2)){return{h:match[1],s:match[2],l:match[3],a:match[4]};}if(match=matchers.hsv.exec(color2)){return{h:match[1],s:match[2],v:match[3]};}if(match=matchers.hsva.exec(color2)){return{h:match[1],s:match[2],v:match[3],a:match[4]};}if(match=matchers.hex8.exec(color2)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),a:convertHexToDecimal(match[4]),format:named2?"name":"hex8"};}if(match=matchers.hex6.exec(color2)){return{r:parseIntFromHex(match[1]),g:parseIntFromHex(match[2]),b:parseIntFromHex(match[3]),format:named2?"name":"hex"};}if(match=matchers.hex4.exec(color2)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),a:convertHexToDecimal(match[4]+""+match[4]),format:named2?"name":"hex8"};}if(match=matchers.hex3.exec(color2)){return{r:parseIntFromHex(match[1]+""+match[1]),g:parseIntFromHex(match[2]+""+match[2]),b:parseIntFromHex(match[3]+""+match[3]),format:named2?"name":"hex"};}return false;}function validateWCAG2Parms(parms){var level,size;parms=parms||{level:"AA",size:"small"};level=(parms.level||"AA").toUpperCase();size=(parms.size||"small").toLowerCase();if(level!=="AA"&&level!=="AAA"){level="AA";}if(size!=="small"&&size!=="large"){size="small";}return{level,size};}var simpleCheckForValidColor=function simpleCheckForValidColor2(data2){var keysToCheck=["r","g","b","a","h","s","l","v"];var checked=0;var passed=0;forEach(keysToCheck,function(letter){if(data2[letter]){checked+=1;if(!isNaN(data2[letter])){passed+=1;}if(letter==="s"||letter==="l"){var percentPatt=/^\d+%$/;if(percentPatt.test(data2[letter])){passed+=1;}}}});return checked===passed?data2:false;};var toState=function toState2(data2,oldHue){var color2=data2.hex?tinycolor(data2.hex):tinycolor(data2);var hsl2=color2.toHsl();var hsv=color2.toHsv();var rgb2=color2.toRgb();var hex2=color2.toHex();if(hsl2.s===0){hsl2.h=oldHue||0;hsv.h=oldHue||0;}var transparent=hex2==="000000"&&rgb2.a===0;return{hsl:hsl2,hex:transparent?"transparent":"#"+hex2,rgb:rgb2,hsv,oldHue:data2.h||oldHue||hsl2.h,source:data2.source};};var isValidHex=function isValidHex2(hex2){if(hex2==="transparent"){return true;}var lh=String(hex2).charAt(0)==="#"?1:0;return hex2.length!==4+lh&&hex2.length<7+lh&&tinycolor(hex2).isValid();};var getContrastingColor=function getContrastingColor2(data2){if(!data2){return"#fff";}var col=toState(data2);if(col.hex==="transparent"){return"rgba(0,0,0,0.4)";}var yiq=(col.rgb.r*299+col.rgb.g*587+col.rgb.b*114)/1e3;return yiq>=128?"#000":"#fff";};var isvalidColorString=function isvalidColorString2(string,type2){var stringWithoutDegree=string.replace("\xB0","");return tinycolor(type2+" ("+stringWithoutDegree+")")._ok;};var _extends$a=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$4=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$4(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$4(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$4(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ColorWrap=function ColorWrap2(Picker){var ColorPicker=function(_ref){_inherits$4(ColorPicker2,_ref);function ColorPicker2(props){_classCallCheck$4(this,ColorPicker2);var _this=_possibleConstructorReturn$4(this,(ColorPicker2.__proto__||Object.getPrototypeOf(ColorPicker2)).call(this));_this.handleChange=function(data2,event){var isValidColor=simpleCheckForValidColor(data2);if(isValidColor){var colors=toState(data2,data2.h||_this.state.oldHue);_this.setState(colors);_this.props.onChangeComplete&&_this.debounce(_this.props.onChangeComplete,colors,event);_this.props.onChange&&_this.props.onChange(colors,event);}};_this.handleSwatchHover=function(data2,event){var isValidColor=simpleCheckForValidColor(data2);if(isValidColor){var colors=toState(data2,data2.h||_this.state.oldHue);_this.props.onSwatchHover&&_this.props.onSwatchHover(colors,event);}};_this.state=_extends$a({},toState(props.color,0));_this.debounce=debounce(function(fn,data2,event){fn(data2,event);},100);return _this;}_createClass$4(ColorPicker2,[{key:"render",value:function render2(){var optionalEvents={};if(this.props.onSwatchHover){optionalEvents.onSwatchHover=this.handleSwatchHover;}return React__default.default.createElement(Picker,_extends$a({},this.props,this.state,{onChange:this.handleChange},optionalEvents));}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(nextProps,state){return _extends$a({},toState(nextProps.color,state.oldHue));}}]);return ColorPicker2;}(React$3.PureComponent||React$3.Component);ColorPicker.propTypes=_extends$a({},Picker.propTypes);ColorPicker.defaultProps=_extends$a({},Picker.defaultProps,{color:{h:250,s:0.5,l:0.2,a:1}});return ColorPicker;};var _extends$9=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass$3=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$3(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$3(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$3(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var handleFocus=function handleFocus2(Component){var Span=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"span";return function(_React$Component){_inherits$3(Focus,_React$Component);function Focus(){var _ref;var _temp,_this,_ret;_classCallCheck$3(this,Focus);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn$3(this,(_ref=Focus.__proto__||Object.getPrototypeOf(Focus)).call.apply(_ref,[this].concat(args))),_this),_this.state={focus:false},_this.handleFocus=function(){return _this.setState({focus:true});},_this.handleBlur=function(){return _this.setState({focus:false});},_temp),_possibleConstructorReturn$3(_this,_ret);}_createClass$3(Focus,[{key:"render",value:function render2(){return React__default.default.createElement(Span,{onFocus:this.handleFocus,onBlur:this.handleBlur},React__default.default.createElement(Component,_extends$9({},this.props,this.state)));}}]);return Focus;}(React__default.default.Component);};var _extends$8=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var ENTER=13;var Swatch=function Swatch2(_ref){var color2=_ref.color,style=_ref.style,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onHover=_ref.onHover,_ref$title=_ref.title,title2=_ref$title===void 0?color2:_ref$title,children2=_ref.children,focus=_ref.focus,_ref$focusStyle=_ref.focusStyle,focusStyle=_ref$focusStyle===void 0?{}:_ref$focusStyle;var transparent=color2==="transparent";var styles2=_default$3({default:{swatch:_extends$8({background:color2,height:"100%",width:"100%",cursor:"pointer",position:"relative",outline:"none"},style,focus?focusStyle:{})}});var handleClick=function handleClick2(e){return onClick(color2,e);};var handleKeyDown=function handleKeyDown2(e){return e.keyCode===ENTER&&onClick(color2,e);};var handleHover2=function handleHover3(e){return onHover(color2,e);};var optionalEvents={};if(onHover){optionalEvents.onMouseOver=handleHover2;}return React__default.default.createElement("div",_extends$8({style:styles2.swatch,onClick:handleClick,title:title2,tabIndex:0,onKeyDown:handleKeyDown},optionalEvents),children2,transparent&&React__default.default.createElement(Checkboard,{borderRadius:styles2.swatch.borderRadius,boxShadow:"inset 0 0 0 1px rgba(0,0,0,0.1)"}));};const Swatch$1=handleFocus(Swatch);var AlphaPointer=function AlphaPointer2(_ref){var direction=_ref.direction;var styles2=_default$3({"default":{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},"vertical":{picker:{transform:"translate(-3px, -9px)"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.picker});};var _extends$7=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var AlphaPicker=function AlphaPicker2(_ref){var rgb2=_ref.rgb,hsl2=_ref.hsl,width=_ref.width,height=_ref.height,onChange=_ref.onChange,direction=_ref.direction,style=_ref.style,renderers=_ref.renderers,pointer2=_ref.pointer,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3({"default":{picker:{position:"relative",width,height},alpha:{radius:"2px",style}}});return React__default.default.createElement("div",{style:styles2.picker,className:"alpha-picker "+className2},React__default.default.createElement(Alpha,_extends$7({},styles2.alpha,{rgb:rgb2,hsl:hsl2,pointer:pointer2,renderers,onChange,direction})));};AlphaPicker.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:AlphaPointer};ColorWrap(AlphaPicker);var BlockSwatches=function BlockSwatches2(_ref){var colors=_ref.colors,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover;var styles2=_default$3({"default":{swatches:{marginRight:"-10px"},swatch:{width:"22px",height:"22px",float:"left",marginRight:"10px",marginBottom:"10px",borderRadius:"4px"},clear:{clear:"both"}}});return React__default.default.createElement("div",{style:styles2.swatches},map(colors,function(c2){return React__default.default.createElement(Swatch$1,{key:c2,color:c2,style:styles2.swatch,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+c2}});}),React__default.default.createElement("div",{style:styles2.clear}));};var Block=function Block2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,hex2=_ref.hex,colors=_ref.colors,width=_ref.width,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var transparent=hex2==="transparent";var handleChange=function handleChange2(hexCode,e){isValidHex(hexCode)&&onChange({hex:hexCode,source:"hex"},e);};var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",boxShadow:"0 1px rgba(0,0,0,.1)",borderRadius:"6px",position:"relative"},head:{height:"110px",background:hex2,borderRadius:"6px 6px 0 0",display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},body:{padding:"10px"},label:{fontSize:"18px",color:getContrastingColor(hex2),position:"relative"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 10px 10px 10px",borderColor:"transparent transparent "+hex2+" transparent",position:"absolute",top:"-10px",left:"50%",marginLeft:"-10px"},input:{width:"100%",fontSize:"12px",color:"#666",border:"0px",outline:"none",height:"22px",boxShadow:"inset 0 0 0 1px #ddd",borderRadius:"4px",padding:"0 7px",boxSizing:"border-box"}},"hide-triangle":{triangle:{display:"none"}}},passedStyles),{"hide-triangle":triangle==="hide"});return React__default.default.createElement("div",{style:styles2.card,className:"block-picker "+className2},React__default.default.createElement("div",{style:styles2.triangle}),React__default.default.createElement("div",{style:styles2.head},transparent&&React__default.default.createElement(Checkboard,{borderRadius:"6px 6px 0 0"}),React__default.default.createElement("div",{style:styles2.label},hex2)),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement(BlockSwatches,{colors,onClick:handleChange,onSwatchHover}),React__default.default.createElement(EditableInput,{style:{input:styles2.input},value:hex2,onChange:handleChange})));};Block.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),triangle:propTypes$3.exports.oneOf(["top","hide"]),styles:propTypes$3.exports.object};Block.defaultProps={width:170,colors:["#D9E3F0","#F47373","#697689","#37D67A","#2CCCE4","#555555","#dce775","#ff8a65","#ba68c8"],triangle:"top",styles:{}};ColorWrap(Block);var red={"50":"#ffebee","100":"#ffcdd2","200":"#ef9a9a","300":"#e57373","400":"#ef5350","500":"#f44336","600":"#e53935","700":"#d32f2f","800":"#c62828","900":"#b71c1c","a100":"#ff8a80","a200":"#ff5252","a400":"#ff1744","a700":"#d50000"};var pink={"50":"#fce4ec","100":"#f8bbd0","200":"#f48fb1","300":"#f06292","400":"#ec407a","500":"#e91e63","600":"#d81b60","700":"#c2185b","800":"#ad1457","900":"#880e4f","a100":"#ff80ab","a200":"#ff4081","a400":"#f50057","a700":"#c51162"};var purple={"50":"#f3e5f5","100":"#e1bee7","200":"#ce93d8","300":"#ba68c8","400":"#ab47bc","500":"#9c27b0","600":"#8e24aa","700":"#7b1fa2","800":"#6a1b9a","900":"#4a148c","a100":"#ea80fc","a200":"#e040fb","a400":"#d500f9","a700":"#aa00ff"};var deepPurple={"50":"#ede7f6","100":"#d1c4e9","200":"#b39ddb","300":"#9575cd","400":"#7e57c2","500":"#673ab7","600":"#5e35b1","700":"#512da8","800":"#4527a0","900":"#311b92","a100":"#b388ff","a200":"#7c4dff","a400":"#651fff","a700":"#6200ea"};var indigo={"50":"#e8eaf6","100":"#c5cae9","200":"#9fa8da","300":"#7986cb","400":"#5c6bc0","500":"#3f51b5","600":"#3949ab","700":"#303f9f","800":"#283593","900":"#1a237e","a100":"#8c9eff","a200":"#536dfe","a400":"#3d5afe","a700":"#304ffe"};var blue={"50":"#e3f2fd","100":"#bbdefb","200":"#90caf9","300":"#64b5f6","400":"#42a5f5","500":"#2196f3","600":"#1e88e5","700":"#1976d2","800":"#1565c0","900":"#0d47a1","a100":"#82b1ff","a200":"#448aff","a400":"#2979ff","a700":"#2962ff"};var lightBlue={"50":"#e1f5fe","100":"#b3e5fc","200":"#81d4fa","300":"#4fc3f7","400":"#29b6f6","500":"#03a9f4","600":"#039be5","700":"#0288d1","800":"#0277bd","900":"#01579b","a100":"#80d8ff","a200":"#40c4ff","a400":"#00b0ff","a700":"#0091ea"};var cyan={"50":"#e0f7fa","100":"#b2ebf2","200":"#80deea","300":"#4dd0e1","400":"#26c6da","500":"#00bcd4","600":"#00acc1","700":"#0097a7","800":"#00838f","900":"#006064","a100":"#84ffff","a200":"#18ffff","a400":"#00e5ff","a700":"#00b8d4"};var teal={"50":"#e0f2f1","100":"#b2dfdb","200":"#80cbc4","300":"#4db6ac","400":"#26a69a","500":"#009688","600":"#00897b","700":"#00796b","800":"#00695c","900":"#004d40","a100":"#a7ffeb","a200":"#64ffda","a400":"#1de9b6","a700":"#00bfa5"};var green={"50":"#e8f5e9","100":"#c8e6c9","200":"#a5d6a7","300":"#81c784","400":"#66bb6a","500":"#4caf50","600":"#43a047","700":"#388e3c","800":"#2e7d32","900":"#1b5e20","a100":"#b9f6ca","a200":"#69f0ae","a400":"#00e676","a700":"#00c853"};var lightGreen={"50":"#f1f8e9","100":"#dcedc8","200":"#c5e1a5","300":"#aed581","400":"#9ccc65","500":"#8bc34a","600":"#7cb342","700":"#689f38","800":"#558b2f","900":"#33691e","a100":"#ccff90","a200":"#b2ff59","a400":"#76ff03","a700":"#64dd17"};var lime={"50":"#f9fbe7","100":"#f0f4c3","200":"#e6ee9c","300":"#dce775","400":"#d4e157","500":"#cddc39","600":"#c0ca33","700":"#afb42b","800":"#9e9d24","900":"#827717","a100":"#f4ff81","a200":"#eeff41","a400":"#c6ff00","a700":"#aeea00"};var yellow={"50":"#fffde7","100":"#fff9c4","200":"#fff59d","300":"#fff176","400":"#ffee58","500":"#ffeb3b","600":"#fdd835","700":"#fbc02d","800":"#f9a825","900":"#f57f17","a100":"#ffff8d","a200":"#ffff00","a400":"#ffea00","a700":"#ffd600"};var amber={"50":"#fff8e1","100":"#ffecb3","200":"#ffe082","300":"#ffd54f","400":"#ffca28","500":"#ffc107","600":"#ffb300","700":"#ffa000","800":"#ff8f00","900":"#ff6f00","a100":"#ffe57f","a200":"#ffd740","a400":"#ffc400","a700":"#ffab00"};var orange={"50":"#fff3e0","100":"#ffe0b2","200":"#ffcc80","300":"#ffb74d","400":"#ffa726","500":"#ff9800","600":"#fb8c00","700":"#f57c00","800":"#ef6c00","900":"#e65100","a100":"#ffd180","a200":"#ffab40","a400":"#ff9100","a700":"#ff6d00"};var deepOrange={"50":"#fbe9e7","100":"#ffccbc","200":"#ffab91","300":"#ff8a65","400":"#ff7043","500":"#ff5722","600":"#f4511e","700":"#e64a19","800":"#d84315","900":"#bf360c","a100":"#ff9e80","a200":"#ff6e40","a400":"#ff3d00","a700":"#dd2c00"};var brown={"50":"#efebe9","100":"#d7ccc8","200":"#bcaaa4","300":"#a1887f","400":"#8d6e63","500":"#795548","600":"#6d4c41","700":"#5d4037","800":"#4e342e","900":"#3e2723"};var blueGrey={"50":"#eceff1","100":"#cfd8dc","200":"#b0bec5","300":"#90a4ae","400":"#78909c","500":"#607d8b","600":"#546e7a","700":"#455a64","800":"#37474f","900":"#263238"};var CircleSwatch=function CircleSwatch2(_ref){var color2=_ref.color,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover,hover2=_ref.hover,active2=_ref.active,circleSize=_ref.circleSize,circleSpacing=_ref.circleSpacing;var styles2=_default$3({"default":{swatch:{width:circleSize,height:circleSize,marginRight:circleSpacing,marginBottom:circleSpacing,transform:"scale(1)",transition:"100ms transform ease"},Swatch:{borderRadius:"50%",background:"transparent",boxShadow:"inset 0 0 0 "+(circleSize/2+1)+"px "+color2,transition:"100ms box-shadow ease"}},"hover":{swatch:{transform:"scale(1.2)"}},"active":{Swatch:{boxShadow:"inset 0 0 0 3px "+color2}}},{hover:hover2,active:active2});return React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(Swatch$1,{style:styles2.Swatch,color:color2,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:styles2.Swatch.boxShadow+", 0 0 5px "+color2}}));};CircleSwatch.defaultProps={circleSize:28,circleSpacing:14};const CircleSwatch$1=handleHover(CircleSwatch);var Circle=function Circle2(_ref){var width=_ref.width,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,circleSize=_ref.circleSize,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,circleSpacing=_ref.circleSpacing,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,display:"flex",flexWrap:"wrap",marginRight:-circleSpacing,marginBottom:-circleSpacing}}},passedStyles));var handleChange=function handleChange2(hexCode,e){return onChange({hex:hexCode,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"circle-picker "+className2},map(colors,function(c2){return React__default.default.createElement(CircleSwatch$1,{key:c2,color:c2,onClick:handleChange,onSwatchHover,active:hex2===c2.toLowerCase(),circleSize,circleSpacing});}));};Circle.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),circleSize:propTypes$3.exports.number,circleSpacing:propTypes$3.exports.number,styles:propTypes$3.exports.object};Circle.defaultProps={width:252,circleSize:28,circleSpacing:14,colors:[red["500"],pink["500"],purple["500"],deepPurple["500"],indigo["500"],blue["500"],lightBlue["500"],cyan["500"],teal["500"],green["500"],lightGreen["500"],lime["500"],yellow["500"],amber["500"],orange["500"],deepOrange["500"],brown["500"],blueGrey["500"]],styles:{}};ColorWrap(Circle);function isUndefined(value2){return value2===void 0;}var UnfoldMoreHorizontalIcon={};Object.defineProperty(UnfoldMoreHorizontalIcon,"__esModule",{value:true});var _extends$6=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$2=React__default.default;var _react2$1=_interopRequireDefault$1(_react$2);function _interopRequireDefault$1(obj){return obj&&obj.__esModule?obj:{default:obj};}function _objectWithoutProperties$2(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}var DEFAULT_SIZE$1=24;var _default$2=UnfoldMoreHorizontalIcon.default=function(_ref){var _ref$fill=_ref.fill,fill=_ref$fill===void 0?"currentColor":_ref$fill,_ref$width=_ref.width,width=_ref$width===void 0?DEFAULT_SIZE$1:_ref$width,_ref$height=_ref.height,height=_ref$height===void 0?DEFAULT_SIZE$1:_ref$height,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,props=_objectWithoutProperties$2(_ref,["fill","width","height","style"]);return _react2$1.default.createElement("svg",_extends$6({viewBox:"0 0 "+DEFAULT_SIZE$1+" "+DEFAULT_SIZE$1,style:_extends$6({fill,width,height},style)},props),_react2$1.default.createElement("path",{d:"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z"}));};var _createClass$2=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$2(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$2(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$2(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var ChromeFields=function(_React$Component){_inherits$2(ChromeFields2,_React$Component);function ChromeFields2(props){_classCallCheck$2(this,ChromeFields2);var _this=_possibleConstructorReturn$2(this,(ChromeFields2.__proto__||Object.getPrototypeOf(ChromeFields2)).call(this));_this.toggleViews=function(){if(_this.state.view==="hex"){_this.setState({view:"rgb"});}else if(_this.state.view==="rgb"){_this.setState({view:"hsl"});}else if(_this.state.view==="hsl"){if(_this.props.hsl.a===1){_this.setState({view:"hex"});}else{_this.setState({view:"rgb"});}}};_this.handleChange=function(data2,e){if(data2.hex){isValidHex(data2.hex)&&_this.props.onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){_this.props.onChange({r:data2.r||_this.props.rgb.r,g:data2.g||_this.props.rgb.g,b:data2.b||_this.props.rgb.b,source:"rgb"},e);}else if(data2.a){if(data2.a<0){data2.a=0;}else if(data2.a>1){data2.a=1;}_this.props.onChange({h:_this.props.hsl.h,s:_this.props.hsl.s,l:_this.props.hsl.l,a:Math.round(data2.a*100)/100,source:"rgb"},e);}else if(data2.h||data2.s||data2.l){if(typeof data2.s==="string"&&data2.s.includes("%")){data2.s=data2.s.replace("%","");}if(typeof data2.l==="string"&&data2.l.includes("%")){data2.l=data2.l.replace("%","");}if(data2.s==1){data2.s=0.01;}else if(data2.l==1){data2.l=0.01;}_this.props.onChange({h:data2.h||_this.props.hsl.h,s:Number(!isUndefined(data2.s)?data2.s:_this.props.hsl.s),l:Number(!isUndefined(data2.l)?data2.l:_this.props.hsl.l),source:"hsl"},e);}};_this.showHighlight=function(e){e.currentTarget.style.background="#eee";};_this.hideHighlight=function(e){e.currentTarget.style.background="transparent";};if(props.hsl.a!==1&&props.view==="hex"){_this.state={view:"rgb"};}else{_this.state={view:props.view};}return _this;}_createClass$2(ChromeFields2,[{key:"render",value:function render2(){var _this2=this;var styles2=_default$3({"default":{wrap:{paddingTop:"16px",display:"flex"},fields:{flex:"1",display:"flex",marginLeft:"-6px"},field:{paddingLeft:"6px",width:"100%"},alpha:{paddingLeft:"6px",width:"100%"},toggle:{width:"32px",textAlign:"right",position:"relative"},icon:{marginRight:"-4px",marginTop:"12px",cursor:"pointer",position:"relative"},iconHighlight:{position:"absolute",width:"24px",height:"28px",background:"#eee",borderRadius:"4px",top:"10px",left:"12px",display:"none"},input:{fontSize:"11px",color:"#333",width:"100%",borderRadius:"2px",border:"none",boxShadow:"inset 0 0 0 1px #dadada",height:"21px",textAlign:"center"},label:{textTransform:"uppercase",fontSize:"11px",lineHeight:"11px",color:"#969696",textAlign:"center",display:"block",marginTop:"12px"},svg:{fill:"#333",width:"24px",height:"24px",border:"1px transparent solid",borderRadius:"5px"}},"disableAlpha":{alpha:{display:"none"}}},this.props,this.state);var fields=void 0;if(this.state.view==="hex"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:this.props.hex,onChange:this.handleChange})));}else if(this.state.view==="rgb"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"r",value:this.props.rgb.r,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"g",value:this.props.rgb.g,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"b",value:this.props.rgb.b,onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:this.props.rgb.a,arrowOffset:0.01,onChange:this.handleChange})));}else if(this.state.view==="hsl"){fields=React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"h",value:Math.round(this.props.hsl.h),onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"s",value:Math.round(this.props.hsl.s*100)+"%",onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.field},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"l",value:Math.round(this.props.hsl.l*100)+"%",onChange:this.handleChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:this.props.hsl.a,arrowOffset:0.01,onChange:this.handleChange})));}return React__default.default.createElement("div",{style:styles2.wrap,className:"flexbox-fix"},fields,React__default.default.createElement("div",{style:styles2.toggle},React__default.default.createElement("div",{style:styles2.icon,onClick:this.toggleViews,ref:function ref2(icon){return _this2.icon=icon;}},React__default.default.createElement(_default$2,{style:styles2.svg,onMouseOver:this.showHighlight,onMouseEnter:this.showHighlight,onMouseOut:this.hideHighlight}))));}}],[{key:"getDerivedStateFromProps",value:function getDerivedStateFromProps(nextProps,state){if(nextProps.hsl.a!==1&&state.view==="hex"){return{view:"rgb"};}return null;}}]);return ChromeFields2;}(React__default.default.Component);ChromeFields.defaultProps={view:"hex"};var ChromePointer=function ChromePointer2(){var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",transform:"translate(-6px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var ChromePointerCircle=function ChromePointerCircle2(){var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var Chrome=function Chrome2(_ref){var width=_ref.width,onChange=_ref.onChange,disableAlpha=_ref.disableAlpha,rgb2=_ref.rgb,hsl2=_ref.hsl,hsv=_ref.hsv,hex2=_ref.hex,renderers=_ref.renderers,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className,defaultView2=_ref.defaultView;var styles2=_default$3(merge$1({"default":{picker:{width,background:"#fff",borderRadius:"2px",boxShadow:"0 0 2px rgba(0,0,0,.3), 0 4px 8px rgba(0,0,0,.3)",boxSizing:"initial",fontFamily:"Menlo"},saturation:{width:"100%",paddingBottom:"55%",position:"relative",borderRadius:"2px 2px 0 0",overflow:"hidden"},Saturation:{radius:"2px 2px 0 0"},body:{padding:"16px 16px 12px"},controls:{display:"flex"},color:{width:"32px"},swatch:{marginTop:"6px",width:"16px",height:"16px",borderRadius:"8px",position:"relative",overflow:"hidden"},active:{absolute:"0px 0px 0px 0px",borderRadius:"8px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.1)",background:"rgba("+rgb2.r+", "+rgb2.g+", "+rgb2.b+", "+rgb2.a+")",zIndex:"2"},toggles:{flex:"1"},hue:{height:"10px",position:"relative",marginBottom:"8px"},Hue:{radius:"2px"},alpha:{height:"10px",position:"relative"},Alpha:{radius:"2px"}},"disableAlpha":{color:{width:"22px"},alpha:{display:"none"},hue:{marginBottom:"0px"},swatch:{width:"10px",height:"10px",marginTop:"0px"}}},passedStyles),{disableAlpha});return React__default.default.createElement("div",{style:styles2.picker,className:"chrome-picker "+className2},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{style:styles2.Saturation,hsl:hsl2,hsv,pointer:ChromePointerCircle,onChange})),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.color},React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement("div",{style:styles2.active}),React__default.default.createElement(Checkboard,{renderers}))),React__default.default.createElement("div",{style:styles2.toggles},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,pointer:ChromePointer,onChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(Alpha,{style:styles2.Alpha,rgb:rgb2,hsl:hsl2,pointer:ChromePointer,renderers,onChange})))),React__default.default.createElement(ChromeFields,{rgb:rgb2,hsl:hsl2,hex:hex2,view:defaultView2,onChange,disableAlpha})));};Chrome.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),disableAlpha:propTypes$3.exports.bool,styles:propTypes$3.exports.object,defaultView:propTypes$3.exports.oneOf(["hex","rgb","hsl"])};Chrome.defaultProps={width:225,disableAlpha:false,styles:{}};ColorWrap(Chrome);var CompactColor=function CompactColor2(_ref){var color2=_ref.color,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover,active2=_ref.active;var styles2=_default$3({"default":{color:{background:color2,width:"15px",height:"15px",float:"left",marginRight:"5px",marginBottom:"5px",position:"relative",cursor:"pointer"},dot:{absolute:"5px 5px 5px 5px",background:getContrastingColor(color2),borderRadius:"50%",opacity:"0"}},"active":{dot:{opacity:"1"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},dot:{background:"#000"}},"transparent":{dot:{background:"#000"}}},{active:active2,"color-#FFFFFF":color2==="#FFFFFF","transparent":color2==="transparent"});return React__default.default.createElement(Swatch$1,{style:styles2.color,color:color2,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+color2}},React__default.default.createElement("div",{style:styles2.dot}));};var CompactFields=function CompactFields2(_ref){var hex2=_ref.hex,rgb2=_ref.rgb,onChange=_ref.onChange;var styles2=_default$3({"default":{fields:{display:"flex",paddingBottom:"6px",paddingRight:"5px",position:"relative"},active:{position:"absolute",top:"6px",left:"5px",height:"9px",width:"9px",background:hex2},HEXwrap:{flex:"6",position:"relative"},HEXinput:{width:"80%",padding:"0px",paddingLeft:"20%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},HEXlabel:{display:"none"},RGBwrap:{flex:"3",position:"relative"},RGBinput:{width:"70%",padding:"0px",paddingLeft:"30%",border:"none",outline:"none",background:"none",fontSize:"12px",color:"#333",height:"16px"},RGBlabel:{position:"absolute",top:"3px",left:"0px",lineHeight:"16px",textTransform:"uppercase",fontSize:"12px",color:"#999"}}});var handleChange=function handleChange2(data2,e){if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}else{onChange({hex:data2.hex,source:"hex"},e);}};return React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.active}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"hex",value:hex2,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange}));};var Compact=function Compact2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,rgb2=_ref.rgb,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{Compact:{background:"#f6f6f6",radius:"4px"},compact:{paddingTop:"5px",paddingLeft:"5px",boxSizing:"initial",width:"240px"},clear:{clear:"both"}}},passedStyles));var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else{onChange(data2,e);}};return React__default.default.createElement(Raised,{style:styles2.Compact,styles:passedStyles},React__default.default.createElement("div",{style:styles2.compact,className:"compact-picker "+className2},React__default.default.createElement("div",null,map(colors,function(c2){return React__default.default.createElement(CompactColor,{key:c2,color:c2,active:c2.toLowerCase()===hex2,onClick:handleChange,onSwatchHover});}),React__default.default.createElement("div",{style:styles2.clear})),React__default.default.createElement(CompactFields,{hex:hex2,rgb:rgb2,onChange:handleChange})));};Compact.propTypes={colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),styles:propTypes$3.exports.object};Compact.defaultProps={colors:["#4D4D4D","#999999","#FFFFFF","#F44E3B","#FE9200","#FCDC00","#DBDF00","#A4DD00","#68CCCA","#73D8FF","#AEA1FF","#FDA1FF","#333333","#808080","#cccccc","#D33115","#E27300","#FCC400","#B0BC00","#68BC00","#16A5A5","#009CE0","#7B64FF","#FA28FF","#000000","#666666","#B3B3B3","#9F0500","#C45100","#FB9E00","#808900","#194D33","#0C797D","#0062B1","#653294","#AB149E"],styles:{}};ColorWrap(Compact);var GithubSwatch=function GithubSwatch2(_ref){var hover2=_ref.hover,color2=_ref.color,onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover;var hoverSwatch={position:"relative",zIndex:"2",outline:"2px solid #fff",boxShadow:"0 0 5px 2px rgba(0,0,0,0.25)"};var styles2=_default$3({"default":{swatch:{width:"25px",height:"25px",fontSize:"0"}},"hover":{swatch:hoverSwatch}},{hover:hover2});return React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(Swatch$1,{color:color2,onClick,onHover:onSwatchHover,focusStyle:hoverSwatch}));};const GithubSwatch$1=handleHover(GithubSwatch);var Github=function Github2(_ref){var width=_ref.width,colors=_ref.colors,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",border:"1px solid rgba(0,0,0,0.2)",boxShadow:"0 3px 12px rgba(0,0,0,0.15)",borderRadius:"4px",position:"relative",padding:"5px",display:"flex",flexWrap:"wrap"},triangle:{position:"absolute",border:"7px solid transparent",borderBottomColor:"#fff"},triangleShadow:{position:"absolute",border:"8px solid transparent",borderBottomColor:"rgba(0,0,0,0.15)"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-14px",left:"10px"},triangleShadow:{top:"-16px",left:"9px"}},"top-right-triangle":{triangle:{top:"-14px",right:"10px"},triangleShadow:{top:"-16px",right:"9px"}},"bottom-left-triangle":{triangle:{top:"35px",left:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",left:"9px",transform:"rotate(180deg)"}},"bottom-right-triangle":{triangle:{top:"35px",right:"10px",transform:"rotate(180deg)"},triangleShadow:{top:"37px",right:"9px",transform:"rotate(180deg)"}}},passedStyles),{"hide-triangle":triangle==="hide","top-left-triangle":triangle==="top-left","top-right-triangle":triangle==="top-right","bottom-left-triangle":triangle==="bottom-left","bottom-right-triangle":triangle==="bottom-right"});var handleChange=function handleChange2(hex2,e){return onChange({hex:hex2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"github-picker "+className2},React__default.default.createElement("div",{style:styles2.triangleShadow}),React__default.default.createElement("div",{style:styles2.triangle}),map(colors,function(c2){return React__default.default.createElement(GithubSwatch$1,{color:c2,key:c2,onClick:handleChange,onSwatchHover});}));};Github.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),triangle:propTypes$3.exports.oneOf(["hide","top-left","top-right","bottom-left","bottom-right"]),styles:propTypes$3.exports.object};Github.defaultProps={width:200,colors:["#B80000","#DB3E00","#FCCB00","#008B02","#006B76","#1273DE","#004DCF","#5300EB","#EB9694","#FAD0C3","#FEF3BD","#C1E1C5","#BEDADC","#C4DEF6","#BED3F3","#D4C4FB"],triangle:"top-left",styles:{}};ColorWrap(Github);var SliderPointer$1=function SliderPointer2(_ref){var direction=_ref.direction;var styles2=_default$3({"default":{picker:{width:"18px",height:"18px",borderRadius:"50%",transform:"translate(-9px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}},"vertical":{picker:{transform:"translate(-3px, -9px)"}}},{vertical:direction==="vertical"});return React__default.default.createElement("div",{style:styles2.picker});};var _extends$5=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var HuePicker=function HuePicker2(_ref){var width=_ref.width,height=_ref.height,onChange=_ref.onChange,hsl2=_ref.hsl,direction=_ref.direction,pointer2=_ref.pointer,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{position:"relative",width,height},hue:{radius:"2px"}}},passedStyles));var handleChange=function handleChange2(data2){return onChange({a:1,h:data2.h,l:0.5,s:1});};return React__default.default.createElement("div",{style:styles2.picker,className:"hue-picker "+className2},React__default.default.createElement(Hue,_extends$5({},styles2.hue,{hsl:hsl2,pointer:pointer2,onChange:handleChange,direction})));};HuePicker.propTypes={styles:propTypes$3.exports.object};HuePicker.defaultProps={width:"316px",height:"16px",direction:"horizontal",pointer:SliderPointer$1,styles:{}};ColorWrap(HuePicker);var Material=function Material2(_ref){var onChange=_ref.onChange,hex2=_ref.hex,rgb2=_ref.rgb,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{material:{width:"98px",height:"98px",padding:"16px",fontFamily:"Roboto"},HEXwrap:{position:"relative"},HEXinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"2px solid "+hex2,outline:"none",height:"30px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},Hex:{style:{}},RGBwrap:{position:"relative"},RGBinput:{width:"100%",marginTop:"12px",fontSize:"15px",color:"#333",padding:"0px",border:"0px",borderBottom:"1px solid #eee",outline:"none",height:"30px"},RGBlabel:{position:"absolute",top:"0px",left:"0px",fontSize:"11px",color:"#999999",textTransform:"capitalize"},split:{display:"flex",marginRight:"-10px",paddingTop:"11px"},third:{flex:"1",paddingRight:"10px"}}},passedStyles));var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}};return React__default.default.createElement(Raised,{styles:passedStyles},React__default.default.createElement("div",{style:styles2.material,className:"material-picker "+className2},React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"hex",value:hex2,onChange:handleChange}),React__default.default.createElement("div",{style:styles2.split,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.third},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange})))));};ColorWrap(Material);var PhotoshopPicker=function PhotoshopPicker2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsv=_ref.hsv,hex2=_ref.hex;var styles2=_default$3({"default":{fields:{paddingTop:"5px",paddingBottom:"9px",width:"80px",position:"relative"},divider:{height:"5px"},RGBwrap:{position:"relative"},RGBinput:{marginLeft:"40%",width:"40%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"5px",fontSize:"13px",paddingLeft:"3px",marginRight:"10px"},RGBlabel:{left:"0px",top:"0px",width:"34px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px",position:"absolute"},HEXwrap:{position:"relative"},HEXinput:{marginLeft:"20%",width:"80%",height:"18px",border:"1px solid #888888",boxShadow:"inset 0 1px 1px rgba(0,0,0,.1), 0 1px 0 0 #ECECEC",marginBottom:"6px",fontSize:"13px",paddingLeft:"3px"},HEXlabel:{position:"absolute",top:"0px",left:"0px",width:"14px",textTransform:"uppercase",fontSize:"13px",height:"18px",lineHeight:"22px"},fieldSymbols:{position:"absolute",top:"5px",right:"-7px",fontSize:"13px"},symbol:{height:"20px",lineHeight:"22px",paddingBottom:"7px"}}});var handleChange=function handleChange2(data2,e){if(data2["#"]){isValidHex(data2["#"])&&onChange({hex:data2["#"],source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,source:"rgb"},e);}else if(data2.h||data2.s||data2.v){onChange({h:data2.h||hsv.h,s:data2.s||hsv.s,v:data2.v||hsv.v,source:"hsv"},e);}};return React__default.default.createElement("div",{style:styles2.fields},React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"h",value:Math.round(hsv.h),onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"s",value:Math.round(hsv.s*100),onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"v",value:Math.round(hsv.v*100),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.divider}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"r",value:rgb2.r,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"g",value:rgb2.g,onChange:handleChange}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.RGBwrap,input:styles2.RGBinput,label:styles2.RGBlabel},label:"b",value:rgb2.b,onChange:handleChange}),React__default.default.createElement("div",{style:styles2.divider}),React__default.default.createElement(EditableInput,{style:{wrap:styles2.HEXwrap,input:styles2.HEXinput,label:styles2.HEXlabel},label:"#",value:hex2.replace("#",""),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.fieldSymbols},React__default.default.createElement("div",{style:styles2.symbol},"\xB0"),React__default.default.createElement("div",{style:styles2.symbol},"%"),React__default.default.createElement("div",{style:styles2.symbol},"%")));};var PhotoshopPointerCircle$1=function PhotoshopPointerCircle2(_ref){var hsl2=_ref.hsl;var styles2=_default$3({"default":{picker:{width:"12px",height:"12px",borderRadius:"6px",boxShadow:"inset 0 0 0 1px #fff",transform:"translate(-6px, -6px)"}},"black-outline":{picker:{boxShadow:"inset 0 0 0 1px #000"}}},{"black-outline":hsl2.l>0.5});return React__default.default.createElement("div",{style:styles2.picker});};var PhotoshopPointerCircle=function PhotoshopPointerCircle2(){var styles2=_default$3({"default":{triangle:{width:0,height:0,borderStyle:"solid",borderWidth:"4px 0 4px 6px",borderColor:"transparent transparent transparent #fff",position:"absolute",top:"1px",left:"1px"},triangleBorder:{width:0,height:0,borderStyle:"solid",borderWidth:"5px 0 5px 8px",borderColor:"transparent transparent transparent #555"},left:{Extend:"triangleBorder",transform:"translate(-13px, -4px)"},leftInside:{Extend:"triangle",transform:"translate(-8px, -5px)"},right:{Extend:"triangleBorder",transform:"translate(20px, -14px) rotate(180deg)"},rightInside:{Extend:"triangle",transform:"translate(-8px, -5px)"}}});return React__default.default.createElement("div",{style:styles2.pointer},React__default.default.createElement("div",{style:styles2.left},React__default.default.createElement("div",{style:styles2.leftInside})),React__default.default.createElement("div",{style:styles2.right},React__default.default.createElement("div",{style:styles2.rightInside})));};var PhotoshopButton=function PhotoshopButton2(_ref){var onClick=_ref.onClick,label=_ref.label,children2=_ref.children,active2=_ref.active;var styles2=_default$3({"default":{button:{backgroundImage:"linear-gradient(-180deg, #FFFFFF 0%, #E6E6E6 100%)",border:"1px solid #878787",borderRadius:"2px",height:"20px",boxShadow:"0 1px 0 0 #EAEAEA",fontSize:"14px",color:"#000",lineHeight:"20px",textAlign:"center",marginBottom:"10px",cursor:"pointer"}},"active":{button:{boxShadow:"0 0 0 1px #878787"}}},{active:active2});return React__default.default.createElement("div",{style:styles2.button,onClick},label||children2);};var PhotoshopPreviews=function PhotoshopPreviews2(_ref){var rgb2=_ref.rgb,currentColor=_ref.currentColor;var styles2=_default$3({"default":{swatches:{border:"1px solid #B3B3B3",borderBottom:"1px solid #F0F0F0",marginBottom:"2px",marginTop:"1px"},new:{height:"34px",background:"rgb("+rgb2.r+","+rgb2.g+", "+rgb2.b+")",boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 1px 0 #000"},current:{height:"34px",background:currentColor,boxShadow:"inset 1px 0 0 #000, inset -1px 0 0 #000, inset 0 -1px 0 #000"},label:{fontSize:"14px",color:"#000",textAlign:"center"}}});return React__default.default.createElement("div",null,React__default.default.createElement("div",{style:styles2.label},"new"),React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement("div",{style:styles2.new}),React__default.default.createElement("div",{style:styles2.current})),React__default.default.createElement("div",{style:styles2.label},"current"));};var _createClass$1=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();function _classCallCheck$1(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn$1(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits$1(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var Photoshop=function(_React$Component){_inherits$1(Photoshop2,_React$Component);function Photoshop2(props){_classCallCheck$1(this,Photoshop2);var _this=_possibleConstructorReturn$1(this,(Photoshop2.__proto__||Object.getPrototypeOf(Photoshop2)).call(this));_this.state={currentColor:props.hex};return _this;}_createClass$1(Photoshop2,[{key:"render",value:function render2(){var _props=this.props,_props$styles=_props.styles,passedStyles=_props$styles===void 0?{}:_props$styles,_props$className=_props.className,className2=_props$className===void 0?"":_props$className;var styles2=_default$3(merge$1({"default":{picker:{background:"#DCDCDC",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.25), 0 8px 16px rgba(0,0,0,.15)",boxSizing:"initial",width:"513px"},head:{backgroundImage:"linear-gradient(-180deg, #F0F0F0 0%, #D4D4D4 100%)",borderBottom:"1px solid #B1B1B1",boxShadow:"inset 0 1px 0 0 rgba(255,255,255,.2), inset 0 -1px 0 0 rgba(0,0,0,.02)",height:"23px",lineHeight:"24px",borderRadius:"4px 4px 0 0",fontSize:"13px",color:"#4D4D4D",textAlign:"center"},body:{padding:"15px 15px 0",display:"flex"},saturation:{width:"256px",height:"256px",position:"relative",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0",overflow:"hidden"},hue:{position:"relative",height:"256px",width:"19px",marginLeft:"10px",border:"2px solid #B3B3B3",borderBottom:"2px solid #F0F0F0"},controls:{width:"180px",marginLeft:"10px"},top:{display:"flex"},previews:{width:"60px"},actions:{flex:"1",marginLeft:"20px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.picker,className:"photoshop-picker "+className2},React__default.default.createElement("div",{style:styles2.head},this.props.header),React__default.default.createElement("div",{style:styles2.body,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{hsl:this.props.hsl,hsv:this.props.hsv,pointer:PhotoshopPointerCircle$1,onChange:this.props.onChange})),React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{direction:"vertical",hsl:this.props.hsl,pointer:PhotoshopPointerCircle,onChange:this.props.onChange})),React__default.default.createElement("div",{style:styles2.controls},React__default.default.createElement("div",{style:styles2.top,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.previews},React__default.default.createElement(PhotoshopPreviews,{rgb:this.props.rgb,currentColor:this.state.currentColor})),React__default.default.createElement("div",{style:styles2.actions},React__default.default.createElement(PhotoshopButton,{label:"OK",onClick:this.props.onAccept,active:true}),React__default.default.createElement(PhotoshopButton,{label:"Cancel",onClick:this.props.onCancel}),React__default.default.createElement(PhotoshopPicker,{onChange:this.props.onChange,rgb:this.props.rgb,hsv:this.props.hsv,hex:this.props.hex}))))));}}]);return Photoshop2;}(React__default.default.Component);Photoshop.propTypes={header:propTypes$3.exports.string,styles:propTypes$3.exports.object};Photoshop.defaultProps={header:"Color Picker",styles:{}};ColorWrap(Photoshop);var SketchFields=function SketchFields2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hex2=_ref.hex,disableAlpha=_ref.disableAlpha;var styles2=_default$3({"default":{fields:{display:"flex",paddingTop:"4px"},single:{flex:"1",paddingLeft:"6px"},alpha:{flex:"1",paddingLeft:"6px"},double:{flex:"2"},input:{width:"80%",padding:"4px 10% 3px",border:"none",boxShadow:"inset 0 0 0 1px #ccc",fontSize:"11px"},label:{display:"block",textAlign:"center",fontSize:"11px",color:"#222",paddingTop:"3px",paddingBottom:"4px",textTransform:"capitalize"}},"disableAlpha":{alpha:{display:"none"}}},{disableAlpha});var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.r||data2.g||data2.b){onChange({r:data2.r||rgb2.r,g:data2.g||rgb2.g,b:data2.b||rgb2.b,a:rgb2.a,source:"rgb"},e);}else if(data2.a){if(data2.a<0){data2.a=0;}else if(data2.a>100){data2.a=100;}data2.a/=100;onChange({h:hsl2.h,s:hsl2.s,l:hsl2.l,a:data2.a,source:"rgb"},e);}};return React__default.default.createElement("div",{style:styles2.fields,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.double},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:hex2.replace("#",""),onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"r",value:rgb2.r,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"g",value:rgb2.g,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"b",value:rgb2.b,onChange:handleChange,dragLabel:"true",dragMax:"255"})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"a",value:Math.round(rgb2.a*100),onChange:handleChange,dragLabel:"true",dragMax:"100"})));};var _extends$4=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var SketchPresetColors=function SketchPresetColors2(_ref){var colors=_ref.colors,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover;var styles2=_default$3({"default":{colors:{margin:"0 -10px",padding:"10px 0 0 10px",borderTop:"1px solid #eee",display:"flex",flexWrap:"wrap",position:"relative"},swatchWrap:{width:"16px",height:"16px",margin:"0 10px 10px 0"},swatch:{borderRadius:"3px",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15)"}},"no-presets":{colors:{display:"none"}}},{"no-presets":!colors||!colors.length});var handleClick=function handleClick2(hex2,e){onClick({hex:hex2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.colors,className:"flexbox-fix"},colors.map(function(colorObjOrString){var c2=typeof colorObjOrString==="string"?{color:colorObjOrString}:colorObjOrString;var key=""+c2.color+(c2.title||"");return React__default.default.createElement("div",{key,style:styles2.swatchWrap},React__default.default.createElement(Swatch$1,_extends$4({},c2,{style:styles2.swatch,onClick:handleClick,onHover:onSwatchHover,focusStyle:{boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px "+c2.color}})));}));};SketchPresetColors.propTypes={colors:propTypes$3.exports.arrayOf(propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.shape({color:propTypes$3.exports.string,title:propTypes$3.exports.string})])).isRequired};var _extends$3=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var Sketch=function Sketch2(_ref){var width=_ref.width,rgb2=_ref.rgb,hex2=_ref.hex,hsv=_ref.hsv,hsl2=_ref.hsl,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,disableAlpha=_ref.disableAlpha,presetColors=_ref.presetColors,renderers=_ref.renderers,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":_extends$3({picker:{width,padding:"10px 10px 0",boxSizing:"initial",background:"#fff",borderRadius:"4px",boxShadow:"0 0 0 1px rgba(0,0,0,.15), 0 8px 16px rgba(0,0,0,.15)"},saturation:{width:"100%",paddingBottom:"75%",position:"relative",overflow:"hidden"},Saturation:{radius:"3px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},controls:{display:"flex"},sliders:{padding:"4px 0",flex:"1"},color:{width:"24px",height:"24px",position:"relative",marginTop:"4px",marginLeft:"4px",borderRadius:"3px"},activeColor:{absolute:"0px 0px 0px 0px",borderRadius:"2px",background:"rgba("+rgb2.r+","+rgb2.g+","+rgb2.b+","+rgb2.a+")",boxShadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},hue:{position:"relative",height:"10px",overflow:"hidden"},Hue:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"},alpha:{position:"relative",height:"10px",marginTop:"4px",overflow:"hidden"},Alpha:{radius:"2px",shadow:"inset 0 0 0 1px rgba(0,0,0,.15), inset 0 0 4px rgba(0,0,0,.25)"}},passedStyles),"disableAlpha":{color:{height:"10px"},hue:{height:"10px"},alpha:{display:"none"}}},passedStyles),{disableAlpha});return React__default.default.createElement("div",{style:styles2.picker,className:"sketch-picker "+className2},React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{style:styles2.Saturation,hsl:hsl2,hsv,onChange})),React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.sliders},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,onChange})),React__default.default.createElement("div",{style:styles2.alpha},React__default.default.createElement(Alpha,{style:styles2.Alpha,rgb:rgb2,hsl:hsl2,renderers,onChange}))),React__default.default.createElement("div",{style:styles2.color},React__default.default.createElement(Checkboard,null),React__default.default.createElement("div",{style:styles2.activeColor}))),React__default.default.createElement(SketchFields,{rgb:rgb2,hsl:hsl2,hex:hex2,onChange,disableAlpha}),React__default.default.createElement(SketchPresetColors,{colors:presetColors,onClick:onChange,onSwatchHover}));};Sketch.propTypes={disableAlpha:propTypes$3.exports.bool,width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),styles:propTypes$3.exports.object};Sketch.defaultProps={disableAlpha:false,width:200,styles:{},presetColors:["#D0021B","#F5A623","#F8E71C","#8B572A","#7ED321","#417505","#BD10E0","#9013FE","#4A90E2","#50E3C2","#B8E986","#000000","#4A4A4A","#9B9B9B","#FFFFFF"]};const SketchPicker=ColorWrap(Sketch);var SliderSwatch=function SliderSwatch2(_ref){var hsl2=_ref.hsl,offset=_ref.offset,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,active2=_ref.active,first2=_ref.first,last2=_ref.last;var styles2=_default$3({"default":{swatch:{height:"12px",background:"hsl("+hsl2.h+", 50%, "+offset*100+"%)",cursor:"pointer"}},"first":{swatch:{borderRadius:"2px 0 0 2px"}},"last":{swatch:{borderRadius:"0 2px 2px 0"}},"active":{swatch:{transform:"scaleY(1.8)",borderRadius:"3.6px/2px"}}},{active:active2,first:first2,last:last2});var handleClick=function handleClick2(e){return onClick({h:hsl2.h,s:0.5,l:offset,source:"hsl"},e);};return React__default.default.createElement("div",{style:styles2.swatch,onClick:handleClick});};var SliderSwatches=function SliderSwatches2(_ref){var onClick=_ref.onClick,hsl2=_ref.hsl;var styles2=_default$3({"default":{swatches:{marginTop:"20px"},swatch:{boxSizing:"border-box",width:"20%",paddingRight:"1px",float:"left"},clear:{clear:"both"}}});var epsilon3=0.1;return React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".80",active:Math.abs(hsl2.l-0.8)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick,first:true})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".65",active:Math.abs(hsl2.l-0.65)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".50",active:Math.abs(hsl2.l-0.5)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".35",active:Math.abs(hsl2.l-0.35)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick})),React__default.default.createElement("div",{style:styles2.swatch},React__default.default.createElement(SliderSwatch,{hsl:hsl2,offset:".20",active:Math.abs(hsl2.l-0.2)<epsilon3&&Math.abs(hsl2.s-0.5)<epsilon3,onClick,last:true})),React__default.default.createElement("div",{style:styles2.clear}));};var SliderPointer=function SliderPointer2(){var styles2=_default$3({"default":{picker:{width:"14px",height:"14px",borderRadius:"6px",transform:"translate(-7px, -1px)",backgroundColor:"rgb(248, 248, 248)",boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.37)"}}});return React__default.default.createElement("div",{style:styles2.picker});};var Slider=function Slider2(_ref){var hsl2=_ref.hsl,onChange=_ref.onChange,pointer2=_ref.pointer,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{hue:{height:"12px",position:"relative"},Hue:{radius:"2px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.wrap||{},className:"slider-picker "+className2},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,pointer:pointer2,onChange})),React__default.default.createElement("div",{style:styles2.swatches},React__default.default.createElement(SliderSwatches,{hsl:hsl2,onClick:onChange})));};Slider.propTypes={styles:propTypes$3.exports.object};Slider.defaultProps={pointer:SliderPointer,styles:{}};ColorWrap(Slider);var CheckIcon={};Object.defineProperty(CheckIcon,"__esModule",{value:true});var _extends$2=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _react$1=React__default.default;var _react2=_interopRequireDefault(_react$1);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _objectWithoutProperties$1(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}var DEFAULT_SIZE=24;var _default$1=CheckIcon.default=function(_ref){var _ref$fill=_ref.fill,fill=_ref$fill===void 0?"currentColor":_ref$fill,_ref$width=_ref.width,width=_ref$width===void 0?DEFAULT_SIZE:_ref$width,_ref$height=_ref.height,height=_ref$height===void 0?DEFAULT_SIZE:_ref$height,_ref$style=_ref.style,style=_ref$style===void 0?{}:_ref$style,props=_objectWithoutProperties$1(_ref,["fill","width","height","style"]);return _react2.default.createElement("svg",_extends$2({viewBox:"0 0 "+DEFAULT_SIZE+" "+DEFAULT_SIZE,style:_extends$2({fill,width,height},style)},props),_react2.default.createElement("path",{d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}));};var SwatchesColor=function SwatchesColor2(_ref){var color2=_ref.color,_ref$onClick=_ref.onClick,onClick=_ref$onClick===void 0?function(){}:_ref$onClick,onSwatchHover=_ref.onSwatchHover,first2=_ref.first,last2=_ref.last,active2=_ref.active;var styles2=_default$3({"default":{color:{width:"40px",height:"24px",cursor:"pointer",background:color2,marginBottom:"1px"},check:{color:getContrastingColor(color2),marginLeft:"8px",display:"none"}},"first":{color:{overflow:"hidden",borderRadius:"2px 2px 0 0"}},"last":{color:{overflow:"hidden",borderRadius:"0 0 2px 2px"}},"active":{check:{display:"block"}},"color-#FFFFFF":{color:{boxShadow:"inset 0 0 0 1px #ddd"},check:{color:"#333"}},"transparent":{check:{color:"#333"}}},{first:first2,last:last2,active:active2,"color-#FFFFFF":color2==="#FFFFFF","transparent":color2==="transparent"});return React__default.default.createElement(Swatch$1,{color:color2,style:styles2.color,onClick,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+color2}},React__default.default.createElement("div",{style:styles2.check},React__default.default.createElement(_default$1,null)));};var SwatchesGroup=function SwatchesGroup2(_ref){var onClick=_ref.onClick,onSwatchHover=_ref.onSwatchHover,group2=_ref.group,active2=_ref.active;var styles2=_default$3({"default":{group:{paddingBottom:"10px",width:"40px",float:"left",marginRight:"10px"}}});return React__default.default.createElement("div",{style:styles2.group},map(group2,function(color2,i2){return React__default.default.createElement(SwatchesColor,{key:color2,color:color2,active:color2.toLowerCase()===active2,first:i2===0,last:i2===group2.length-1,onClick,onSwatchHover});}));};var Swatches=function Swatches2(_ref){var width=_ref.width,height=_ref.height,onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,colors=_ref.colors,hex2=_ref.hex,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{width,height},overflow:{height,overflowY:"scroll"},body:{padding:"16px 0 6px 16px"},clear:{clear:"both"}}},passedStyles));var handleChange=function handleChange2(data2,e){return onChange({hex:data2,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.picker,className:"swatches-picker "+className2},React__default.default.createElement(Raised,null,React__default.default.createElement("div",{style:styles2.overflow},React__default.default.createElement("div",{style:styles2.body},map(colors,function(group2){return React__default.default.createElement(SwatchesGroup,{key:group2.toString(),group:group2,active:hex2,onClick:handleChange,onSwatchHover});}),React__default.default.createElement("div",{style:styles2.clear})))));};Swatches.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),height:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.arrayOf(propTypes$3.exports.string)),styles:propTypes$3.exports.object};Swatches.defaultProps={width:320,height:240,colors:[[red["900"],red["700"],red["500"],red["300"],red["100"]],[pink["900"],pink["700"],pink["500"],pink["300"],pink["100"]],[purple["900"],purple["700"],purple["500"],purple["300"],purple["100"]],[deepPurple["900"],deepPurple["700"],deepPurple["500"],deepPurple["300"],deepPurple["100"]],[indigo["900"],indigo["700"],indigo["500"],indigo["300"],indigo["100"]],[blue["900"],blue["700"],blue["500"],blue["300"],blue["100"]],[lightBlue["900"],lightBlue["700"],lightBlue["500"],lightBlue["300"],lightBlue["100"]],[cyan["900"],cyan["700"],cyan["500"],cyan["300"],cyan["100"]],[teal["900"],teal["700"],teal["500"],teal["300"],teal["100"]],["#194D33",green["700"],green["500"],green["300"],green["100"]],[lightGreen["900"],lightGreen["700"],lightGreen["500"],lightGreen["300"],lightGreen["100"]],[lime["900"],lime["700"],lime["500"],lime["300"],lime["100"]],[yellow["900"],yellow["700"],yellow["500"],yellow["300"],yellow["100"]],[amber["900"],amber["700"],amber["500"],amber["300"],amber["100"]],[orange["900"],orange["700"],orange["500"],orange["300"],orange["100"]],[deepOrange["900"],deepOrange["700"],deepOrange["500"],deepOrange["300"],deepOrange["100"]],[brown["900"],brown["700"],brown["500"],brown["300"],brown["100"]],[blueGrey["900"],blueGrey["700"],blueGrey["500"],blueGrey["300"],blueGrey["100"]],["#000000","#525252","#969696","#D9D9D9","#FFFFFF"]],styles:{}};ColorWrap(Swatches);var Twitter=function Twitter2(_ref){var onChange=_ref.onChange,onSwatchHover=_ref.onSwatchHover,hex2=_ref.hex,colors=_ref.colors,width=_ref.width,triangle=_ref.triangle,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{card:{width,background:"#fff",border:"0 solid rgba(0,0,0,0.25)",boxShadow:"0 1px 4px rgba(0,0,0,0.25)",borderRadius:"4px",position:"relative"},body:{padding:"15px 9px 9px 15px"},label:{fontSize:"18px",color:"#fff"},triangle:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent #fff transparent",position:"absolute"},triangleShadow:{width:"0px",height:"0px",borderStyle:"solid",borderWidth:"0 9px 10px 9px",borderColor:"transparent transparent rgba(0,0,0,.1) transparent",position:"absolute"},hash:{background:"#F0F0F0",height:"30px",width:"30px",borderRadius:"4px 0 0 4px",float:"left",color:"#98A1A4",display:"flex",alignItems:"center",justifyContent:"center"},input:{width:"100px",fontSize:"14px",color:"#666",border:"0px",outline:"none",height:"28px",boxShadow:"inset 0 0 0 1px #F0F0F0",boxSizing:"content-box",borderRadius:"0 4px 4px 0",float:"left",paddingLeft:"8px"},swatch:{width:"30px",height:"30px",float:"left",borderRadius:"4px",margin:"0 6px 6px 0"},clear:{clear:"both"}},"hide-triangle":{triangle:{display:"none"},triangleShadow:{display:"none"}},"top-left-triangle":{triangle:{top:"-10px",left:"12px"},triangleShadow:{top:"-11px",left:"12px"}},"top-right-triangle":{triangle:{top:"-10px",right:"12px"},triangleShadow:{top:"-11px",right:"12px"}}},passedStyles),{"hide-triangle":triangle==="hide","top-left-triangle":triangle==="top-left","top-right-triangle":triangle==="top-right"});var handleChange=function handleChange2(hexcode,e){isValidHex(hexcode)&&onChange({hex:hexcode,source:"hex"},e);};return React__default.default.createElement("div",{style:styles2.card,className:"twitter-picker "+className2},React__default.default.createElement("div",{style:styles2.triangleShadow}),React__default.default.createElement("div",{style:styles2.triangle}),React__default.default.createElement("div",{style:styles2.body},map(colors,function(c2,i2){return React__default.default.createElement(Swatch$1,{key:i2,color:c2,hex:c2,style:styles2.swatch,onClick:handleChange,onHover:onSwatchHover,focusStyle:{boxShadow:"0 0 4px "+c2}});}),React__default.default.createElement("div",{style:styles2.hash},"#"),React__default.default.createElement(EditableInput,{label:null,style:{input:styles2.input},value:hex2.replace("#",""),onChange:handleChange}),React__default.default.createElement("div",{style:styles2.clear})));};Twitter.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),triangle:propTypes$3.exports.oneOf(["hide","top-left","top-right"]),colors:propTypes$3.exports.arrayOf(propTypes$3.exports.string),styles:propTypes$3.exports.object};Twitter.defaultProps={width:276,colors:["#FF6900","#FCB900","#7BDCB5","#00D084","#8ED1FC","#0693E3","#ABB8C3","#EB144C","#F78DA7","#9900EF"],triangle:"top-left",styles:{}};ColorWrap(Twitter);var GooglePointerCircle=function GooglePointerCircle2(props){var styles2=_default$3({"default":{picker:{width:"20px",height:"20px",borderRadius:"22px",border:"2px #fff solid",transform:"translate(-12px, -13px)",background:"hsl("+Math.round(props.hsl.h)+", "+Math.round(props.hsl.s*100)+"%, "+Math.round(props.hsl.l*100)+"%)"}}});return React__default.default.createElement("div",{style:styles2.picker});};GooglePointerCircle.propTypes={hsl:propTypes$3.exports.shape({h:propTypes$3.exports.number,s:propTypes$3.exports.number,l:propTypes$3.exports.number,a:propTypes$3.exports.number})};GooglePointerCircle.defaultProps={hsl:{a:1,h:249.94,l:0.2,s:0.5}};var GooglePointer=function GooglePointer2(props){var styles2=_default$3({"default":{picker:{width:"20px",height:"20px",borderRadius:"22px",transform:"translate(-10px, -7px)",background:"hsl("+Math.round(props.hsl.h)+", 100%, 50%)",border:"2px white solid"}}});return React__default.default.createElement("div",{style:styles2.picker});};GooglePointer.propTypes={hsl:propTypes$3.exports.shape({h:propTypes$3.exports.number,s:propTypes$3.exports.number,l:propTypes$3.exports.number,a:propTypes$3.exports.number})};GooglePointer.defaultProps={hsl:{a:1,h:249.94,l:0.2,s:0.5}};var GoogleFields=function GoogleFields2(_ref){var onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hex2=_ref.hex,hsv=_ref.hsv;var handleChange=function handleChange2(data2,e){if(data2.hex){isValidHex(data2.hex)&&onChange({hex:data2.hex,source:"hex"},e);}else if(data2.rgb){var values=data2.rgb.split(",");isvalidColorString(data2.rgb,"rgb")&&onChange({r:values[0],g:values[1],b:values[2],a:1,source:"rgb"},e);}else if(data2.hsv){var _values=data2.hsv.split(",");if(isvalidColorString(data2.hsv,"hsv")){_values[2]=_values[2].replace("%","");_values[1]=_values[1].replace("%","");_values[0]=_values[0].replace("\xB0","");if(_values[1]==1){_values[1]=0.01;}else if(_values[2]==1){_values[2]=0.01;}onChange({h:Number(_values[0]),s:Number(_values[1]),v:Number(_values[2]),source:"hsv"},e);}}else if(data2.hsl){var _values2=data2.hsl.split(",");if(isvalidColorString(data2.hsl,"hsl")){_values2[2]=_values2[2].replace("%","");_values2[1]=_values2[1].replace("%","");_values2[0]=_values2[0].replace("\xB0","");if(hsvValue[1]==1){hsvValue[1]=0.01;}else if(hsvValue[2]==1){hsvValue[2]=0.01;}onChange({h:Number(_values2[0]),s:Number(_values2[1]),v:Number(_values2[2]),source:"hsl"},e);}}};var styles2=_default$3({"default":{wrap:{display:"flex",height:"100px",marginTop:"4px"},fields:{width:"100%"},column:{paddingTop:"10px",display:"flex",justifyContent:"space-between"},double:{padding:"0px 4.4px",boxSizing:"border-box"},input:{width:"100%",height:"38px",boxSizing:"border-box",padding:"4px 10% 3px",textAlign:"center",border:"1px solid #dadce0",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",fontFamily:"Roboto,Arial,sans-serif"},input2:{height:"38px",width:"100%",border:"1px solid #dadce0",boxSizing:"border-box",fontSize:"11px",textTransform:"lowercase",borderRadius:"5px",outline:"none",paddingLeft:"10px",fontFamily:"Roboto,Arial,sans-serif"},label:{textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"35px",top:"-6px",left:"0",right:"0",marginLeft:"auto",marginRight:"auto",fontFamily:"Roboto,Arial,sans-serif"},label2:{left:"10px",textAlign:"center",fontSize:"12px",background:"#fff",position:"absolute",textTransform:"uppercase",color:"#3c4043",width:"32px",top:"-6px",fontFamily:"Roboto,Arial,sans-serif"},single:{flexGrow:"1",margin:"0px 4.4px"}}});var rgbValue=rgb2.r+", "+rgb2.g+", "+rgb2.b;var hslValue=Math.round(hsl2.h)+"\xB0, "+Math.round(hsl2.s*100)+"%, "+Math.round(hsl2.l*100)+"%";var hsvValue=Math.round(hsv.h)+"\xB0, "+Math.round(hsv.s*100)+"%, "+Math.round(hsv.v*100)+"%";return React__default.default.createElement("div",{style:styles2.wrap,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.fields},React__default.default.createElement("div",{style:styles2.double},React__default.default.createElement(EditableInput,{style:{input:styles2.input,label:styles2.label},label:"hex",value:hex2,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.column},React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"rgb",value:rgbValue,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"hsv",value:hsvValue,onChange:handleChange})),React__default.default.createElement("div",{style:styles2.single},React__default.default.createElement(EditableInput,{style:{input:styles2.input2,label:styles2.label2},label:"hsl",value:hslValue,onChange:handleChange})))));};var Google=function Google2(_ref){var width=_ref.width,onChange=_ref.onChange,rgb2=_ref.rgb,hsl2=_ref.hsl,hsv=_ref.hsv,hex2=_ref.hex,header=_ref.header,_ref$styles=_ref.styles,passedStyles=_ref$styles===void 0?{}:_ref$styles,_ref$className=_ref.className,className2=_ref$className===void 0?"":_ref$className;var styles2=_default$3(merge$1({"default":{picker:{width,background:"#fff",border:"1px solid #dfe1e5",boxSizing:"initial",display:"flex",flexWrap:"wrap",borderRadius:"8px 8px 0px 0px"},head:{height:"57px",width:"100%",paddingTop:"16px",paddingBottom:"16px",paddingLeft:"16px",fontSize:"20px",boxSizing:"border-box",fontFamily:"Roboto-Regular,HelveticaNeue,Arial,sans-serif"},saturation:{width:"70%",padding:"0px",position:"relative",overflow:"hidden"},swatch:{width:"30%",height:"228px",padding:"0px",background:"rgba("+rgb2.r+", "+rgb2.g+", "+rgb2.b+", 1)",position:"relative",overflow:"hidden"},body:{margin:"auto",width:"95%"},controls:{display:"flex",boxSizing:"border-box",height:"52px",paddingTop:"22px"},color:{width:"32px"},hue:{height:"8px",position:"relative",margin:"0px 16px 0px 16px",width:"100%"},Hue:{radius:"2px"}}},passedStyles));return React__default.default.createElement("div",{style:styles2.picker,className:"google-picker "+className2},React__default.default.createElement("div",{style:styles2.head},header),React__default.default.createElement("div",{style:styles2.swatch}),React__default.default.createElement("div",{style:styles2.saturation},React__default.default.createElement(Saturation,{hsl:hsl2,hsv,pointer:GooglePointerCircle,onChange})),React__default.default.createElement("div",{style:styles2.body},React__default.default.createElement("div",{style:styles2.controls,className:"flexbox-fix"},React__default.default.createElement("div",{style:styles2.hue},React__default.default.createElement(Hue,{style:styles2.Hue,hsl:hsl2,radius:"4px",pointer:GooglePointer,onChange}))),React__default.default.createElement(GoogleFields,{rgb:rgb2,hsl:hsl2,hex:hex2,hsv,onChange})));};Google.propTypes={width:propTypes$3.exports.oneOfType([propTypes$3.exports.string,propTypes$3.exports.number]),styles:propTypes$3.exports.object,header:propTypes$3.exports.string};Google.defaultProps={width:652,styles:{},header:"Color picker"};ColorWrap(Google);let SketchInlinePicker=/*#__PURE__*/function(_React__default$defau8){_inherits3(SketchInlinePicker,_React__default$defau8);var _super63=_createSuper3(SketchInlinePicker);function SketchInlinePicker(props){var _this82;_classCallCheck3(this,SketchInlinePicker);_this82=_super63.call(this,props);const startColor=rgb(props.color);_this82.state={displayColorPicker:false,color:{r:startColor.r,g:startColor.g,b:startColor.b,a:startColor.opacity}};return _this82;}_createClass3(SketchInlinePicker,[{key:"handleClick",value:function handleClick(){this.setState(prevState=>({displayColorPicker:!prevState.displayColorPicker}));}},{key:"handleClose",value:function handleClose(){this.setState({displayColorPicker:false});}},{key:"handleChange",value:function handleChange(color2){const rgb2=color2.rgb;const colorString=`rgba(${rgb2.r},${rgb2.g},${rgb2.b},${rgb2.a})`;this.props.onChange(colorString);this.setState({color:color2.rgb});}},{key:"render",value:function render(){const styles2=_default$3({default:{color:{width:"32px",height:"14px",borderRadius:"2px",background:`rgba(${this.state.color.r}, ${this.state.color.g}, ${this.state.color.b}, ${this.state.color.a})`},swatch:{padding:"5px",background:"#fff",cursor:"pointer",borderRadius:"1px"},popover:{position:"absolute",zIndex:"2"},cover:{position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}}});return/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleClick.bind(this),style:styles2.swatch},/* @__PURE__ */React__default.default.createElement("div",{style:styles2.color})),this.state.displayColorPicker?/* @__PURE__ */React__default.default.createElement("div",{style:styles2.popover},/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleClose.bind(this),style:styles2.cover}),/* @__PURE__ */React__default.default.createElement(SketchPicker,{color:this.state.color,onChange:this.handleChange.bind(this)})):null);}}]);return SketchInlinePicker;}(React__default.default.Component);SketchInlinePicker.propTypes={color:propTypes$3.exports.string,onChange:propTypes$3.exports.func};const TrackOptions="";let HeatmapOptions=/*#__PURE__*/function(_React__default$defau9){_inherits3(HeatmapOptions,_React__default$defau9);var _super64=_createSuper3(HeatmapOptions);function HeatmapOptions(props){var _this83;_classCallCheck3(this,HeatmapOptions);_this83=_super64.call(this,props);_this83.state={colors:props.track.options.colorRange.slice()};return _this83;}_createClass3(HeatmapOptions,[{key:"handleColorsChanged",value:function handleColorsChanged(newColors){this.setState({colors:newColors});}},{key:"handleSubmit",value:function handleSubmit(){const options2=this.props.track.options;options2.colorRange=this.state.colors;this.props.onSubmit(this.props.track.options);}},{key:"handleAddColor",value:function handleAddColor(){this.setState(prevState=>({colors:prevState.colors.concat(prevState.colors[prevState.colors.length-1])}));}},{key:"handleRemoveColor",value:function handleRemoveColor(i2){this.setState(prevState=>({colors:prevState.colors.slice(0,i2).concat(prevState.colors.slice(i2+1))}));}},{key:"render",value:function render(){const track=JSON.parse(JSON.stringify(this.props.track));const centerTrack=Object.assign(track,{options:{colorRange:this.state.colors}});const mvConfig={editable:false,zoomFixed:true,views:[{uid:`hmo-${this.props.track.uid}`,initialXDomain:this.props.xScale?this.props.xScale.domain():[0,1],initialYDomain:this.props.yScale?this.props.yScale.domain():[0,1],tracks:{center:[centerTrack]},layout:{x:0,y:0,h:12,w:12,i:`hmo-${this.props.track.id}`}}]};const colorFields=this.state.colors.map((x,i2)=>{const removeButton=this.state.colors.length>2&&i2===this.state.colors.length-1?/* @__PURE__ */React__default.default.createElement("div",{onClick:()=>this.handleRemoveColor(i2),style:{background:"white",position:"absolute",top:0,right:0,opacity:1,width:14,height:14,borderRadius:2,cursor:"pointer"}},/* @__PURE__ */React__default.default.createElement("svg",{height:"10px",style:{position:"absolute",top:2,right:2,opacity:0.5,width:10,height:10}},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"}))):null;return/* @__PURE__ */React__default.default.createElement("div",{key:`l${i2}`,style:{borderRadius:"1px",boxShadow:"0 0 0 1px #E5E5E5",position:"relative",outline:"none"}},removeButton,/* @__PURE__ */React__default.default.createElement(SketchInlinePicker,{key:i2,color:this.state.colors[i2],onChange:c2=>{this.setState(prevState=>{const colors=prevState.colors.slice();colors[i2]=c2;return{colors};},()=>{this.handleColorsChanged(this.state.colors);});}}));}).reverse();const addButton=this.state.colors.length<10?/* @__PURE__ */React__default.default.createElement("div",{onClick:this.handleAddColor.bind(this),style:{position:"relative",outline:"none",height:"25px",padding:"5px",background:"#fff",borderRadius:"1px",boxShadow:"0 0 0 1px #E5E5E5",cursor:"pointer"}},/* @__PURE__ */React__default.default.createElement("div",{style:{textAlign:"center",width:"32px",height:"14px"}},/* @__PURE__ */React__default.default.createElement("svg",{height:"100%",style:{opacity:0.5,margin:"auto",display:"block"},width:"10px"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})))):null;return/* @__PURE__ */React__default.default.createElement(Dialog$1,{okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmit.bind(this),title:"Custom Color Map"},/* @__PURE__ */React__default.default.createElement("table",{className:"table-track-options"},/* @__PURE__ */React__default.default.createElement("thead",null),/* @__PURE__ */React__default.default.createElement("tbody",{style:{verticalAlign:"top"}},/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("table",null,/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},"Preview")),/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("div",{style:{width:200}},/* @__PURE__ */React__default.default.createElement(HiGlassComponent$1,{options:{bounded:false},viewConfig:mvConfig}))))))),/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},/* @__PURE__ */React__default.default.createElement("table",null,/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},"Colors")),/* @__PURE__ */React__default.default.createElement("tr",null,/* @__PURE__ */React__default.default.createElement("td",{className:"td-track-options"},addButton,/* @__PURE__ */React__default.default.createElement("div",{style:{position:"relative"}},colorFields))))))))));}}]);return HeatmapOptions;}(React__default.default.Component);HeatmapOptions.propTypes={handleCancel:propTypes$3.exports.func,onCancel:propTypes$3.exports.func,onSubmit:propTypes$3.exports.func,track:propTypes$3.exports.object,xScale:propTypes$3.exports.object,yScale:propTypes$3.exports.object};const valueColumnOptions=track=>{if(!track.header)return[];const headerParts=track.header.split(" ");const options2=[];for(let i2=0;i2<headerParts.length;i2++){options2.push({name:headerParts[i2],value:i2+1});}return options2;};const sizesInPx=(sizes,unit2="",multiplier=1)=>sizes.reduce((sizeOption,size)=>{sizeOption[size]={name:`${size*multiplier}${unit2}`,value:size};return sizeOption;},{});const YES_NO={yes:{name:"Yes",value:true},no:{name:"No",value:false}};const AVAILABLE_COLORS={black:{name:"Black",value:"black"},blue:{name:"Blue",value:"blue"},brown:{name:"Brown",value:"brown"},cyan:{name:"Cyan",value:"cyan"},green:{name:"Green",value:"green"},grey:{name:"Grey",value:"grey"},orange:{name:"Orange",value:"orange"},purple:{name:"Purple",value:"purple"},turquoise:{name:"Turquoise",value:"turquoise"},red:{name:"Red",value:"red"},white:{name:"White",value:"white"}};const SPECIAL_COLORS={use_stroke:{name:"Glyph color",value:"[glyph-color]"}};const AVAILABLE_WIDTHS=sizesInPx([1,2,3,5,8,13,21]);const AVAILABLE_WIDTHS_AND_NONE=Object.assign(AVAILABLE_WIDTHS,{none:{name:"none",value:"none"}});const AVAILABLE_MARGIN=sizesInPx([0,2,4,8,16,32,64,128,256]);const OPACITY_OPTIONS=sizesInPx([0,0.2,0.4,0.6,0.8,1],"%",100);const OPACITY_OPTIONS_NO_ZERO=sizesInPx([0.2,0.4,0.6,0.8,1],"%",100);const OPTIONS_INFO={axisLabelFormatting:{name:"Axis Label Formatting",inlineOptions:{normal:{name:"normal",value:"normal"},scientific:{name:"scientific",value:"scientific"}}},flipDiagonal:{name:"Flip Across Diagonal",inlineOptions:{none:{name:"No",value:"none"},yes:{name:"Yes",value:"yes"},copy:{name:"Copy",value:"copy"}}},heatmapValueScaling:{name:"Value Scaling",inlineOptions:{linear:{name:"Linear",value:"linear"},log:{name:"Log",value:"log"}}},valueScaling:{name:"Value Scaling",inlineOptions:{linear:{name:"Linear",value:"linear"},log:{name:"Log",value:"log"}}},extent:{name:"Extent",inlineOptions:{full:{name:"Full",value:"full"},upperRight:{name:"Upper Right",value:"upper-right"},lowerLeft:{name:"Lower Left",value:"lower-left"}}},labelLeftMargin:{name:"Label Left Margin",inlineOptions:AVAILABLE_MARGIN},labelRightMargin:{name:"Label Right Margin",inlineOptions:AVAILABLE_MARGIN},labelTopMargin:{name:"Label Top Margin",inlineOptions:AVAILABLE_MARGIN},labelBottomMargin:{name:"Label Bottom Margin",inlineOptions:AVAILABLE_MARGIN},labelShowResolution:{name:"Label Show Resolution",inlineOptions:YES_NO},labelShowAssembly:{name:"Label Show Assembly",inlineOptions:YES_NO},lineStrokeWidth:{name:"Stroke Width",inlineOptions:AVAILABLE_WIDTHS},strokeWidth:{name:"Stroke Width",inlineOptions:AVAILABLE_WIDTHS},trackBorderWidth:{name:"Track Border Width",inlineOptions:AVAILABLE_WIDTHS},separatePlusMinusStrands:{name:"Separate +/- strands",inlineOptions:YES_NO},sortLargestOnTop:{name:"Sort Largest On Top",inlineOptions:YES_NO},showTexts:{name:"Show texts",inlineOptions:YES_NO},staggered:{name:"Staggered",inlineOptions:YES_NO},minSquareSize:{name:"Minimum size",inlineOptions:AVAILABLE_WIDTHS_AND_NONE},pointSize:{name:"Point Size",inlineOptions:AVAILABLE_WIDTHS},pointColor:{name:"Point Color",inlineOptions:AVAILABLE_COLORS},trackBorderColor:{name:"Track Border Color",inlineOptions:AVAILABLE_COLORS},backgroundColor:{name:"Background Color",inlineOptions:{white:{name:"White",value:"white"},lightGrey:{name:"Light Grey",value:"#eeeeee"},grey:{name:"Grey",value:"#cccccc"},black:{name:"Black",value:"black"},transparent:{name:"Transparent",value:"transparent"}}},colorScale:{name:"Color Scale",inlineOptions:{epilogos:{name:"Epilogos",values:["#FF0000","#FF4500","#32CD32","#008000","#006400","#C2E105","#FFFF00","#66CDAA","#8A91D0","#CD5C5C","#E9967A","#BDB76B","#808080","#C0C0C0","#FFFFFF"]},category10:{name:"D3 Category10",values:["#1F77B4","#FF7F0E","#2CA02C","#D62728","#9467BD","#8C564B","#E377C2","#7F7F7F","#BCBD22","#17BECF"]}}},minusStrandColor:{name:"- Strand Color",inlineOptions:AVAILABLE_COLORS},plusStrandColor:{name:"+ Strand Color",inlineOptions:AVAILABLE_COLORS},lineStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},projectionStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},projectionFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},stroke:{name:"Stroke Color",inlineOptions:AVAILABLE_COLORS},strokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},fill:{name:"Fill Color",inlineOptions:AVAILABLE_COLORS},color:{name:"Color",inlineOptions:AVAILABLE_COLORS},fontColor:{name:"Font color",inlineOptions:AVAILABLE_COLORS},fillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},barFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},barFillColorTop:{name:"Top Fill color",inlineOptions:AVAILABLE_COLORS},barFillColorBottom:{name:"Bottom Fill color",inlineOptions:AVAILABLE_COLORS},barOpacity:{name:"Bar opacity",inlineOptions:OPACITY_OPTIONS},zeroLineVisible:{name:"Zero line visible",inlineOptions:YES_NO},zeroLineColor:{name:"Zero line color",inlineOptions:AVAILABLE_COLORS},zeroLineOpacity:{name:"Zero line opacity",inlineOptions:OPACITY_OPTIONS_NO_ZERO},fillOpacity:{name:"Fill Opacity",inlineOptions:OPACITY_OPTIONS},strokeOpacity:{name:"Stroke Opacity",inlineOptions:OPACITY_OPTIONS},strokePos:{name:"Stroke Position",inlineOptions:{aroundInner:{name:"Around Inner",value:"around"},aroundCenter:{name:"Around Center",value:null},hidden:{name:"Hidden",value:"hidden"},top:{name:"Top",value:"top"},right:{name:"Right",value:"right"},bottom:{name:"Bottom",value:"bottom"},left:{name:"Left",value:"left"}}},barBorder:{name:"Bar border",inlineOptions:YES_NO},scaledHeight:{name:"Scaled height",inlineOptions:YES_NO},rectangleDomainStrokeColor:{name:"Stroke color",inlineOptions:AVAILABLE_COLORS},rectangleDomainFillColor:{name:"Fill color",inlineOptions:AVAILABLE_COLORS},rectangleDomainFillOpacity:{name:"Fill opacity",inlineOptions:OPACITY_OPTIONS},rectangleDomainOpacity:{name:"Opacity",inlineOptions:OPACITY_OPTIONS},mapboxStyle:{name:"Map style",inlineOptions:{streets:{name:"streets",value:"mapbox.streets"},light:{name:"light",value:"mapbox.light"},dark:{name:"dark",value:"mapbox.dark"},satellite:{name:"satellite",value:"mapbox.satellite"},"streets-satellite":{name:"streets-satellite",value:"mapbox.streets-satellite"},wheatpaste:{name:"wheatpaste",value:"mapbox.wheatpaste"},"streets-basic":{name:"streets-basic",value:"mapbox.streets-basic"},comic:{name:"comic",value:"mapbox.comic"},outdoors:{name:"outdoors",value:"mapbox.outdoors"},"run-bike-hike":{name:"run-bike-hike",value:"mapbox.run-bike-hike"},pencil:{name:"pencil",value:"mapbox.pencil"},pirates:{name:"pirates",value:"mapbox.pirates"},emerald:{name:"emerald",value:"mapbox.emerald"},"high-contrast":{name:"high-contrast",value:"mapbox.high-contrast"}}},oneDHeatmapFlipped:{name:"Flip Heatmap",inlineOptions:{yes:{name:"Yes",value:"yes"},no:{name:"No",value:null}}},showMousePosition:{name:"Show Mouse Position",inlineOptions:YES_NO},showTooltip:{name:"Show Tooltip",inlineOptions:YES_NO},fontSize:{name:"Font Size",inlineOptions:sizesInPx([8,9,10,11,12,14,16,18,24],"px")},tickPositions:{name:"Tick Positions",inlineOptions:{even:{name:"Even",value:"even"},ends:{name:"Ends",value:"ends"}}},tickFormat:{name:"Tick Format",inlineOptions:{plain:{name:"Plain",value:"plain"},si:{name:"SI",value:"si"}}},colorEncoding:{name:"Color Encode Annotations",inlineOptions:{none:{name:"None",value:null},itemRgb:{name:"itemRgb",value:"itemRgb"}},generateOptions:valueColumnOptions},fontIsAligned:{name:"Left-Align Font",inlineOptions:YES_NO},axisPositionHorizontal:{name:"Axis Position",inlineOptions:{left:{name:"Left",value:"left"},outsideLeft:{name:"Outside left",value:"outsideLeft"},right:{name:"Right",value:"right"},outsideRight:{name:"Outside right",value:"outsideRight"},hidden:{name:"Hidden",value:null}}},axisPositionVertical:{name:"Axis Position",inlineOptions:{top:{name:"Top",value:"top"},outsideTop:{name:"Outside top",value:"outsideTop"},bottom:{name:"Bottom",value:"bottom"},outsideBottom:{name:"Outside bottom",value:"outsideBottom"},hidden:{name:"Hidden",value:null}}},axisMargin:{name:"Axis Margin",inlineOptions:sizesInPx([0,10,20,30,40,50,100,200,400],"px")},colorbarPosition:{name:"Colorbar Position",inlineOptions:{topLeft:{name:"Top Left",value:"topLeft"},topRight:{name:"Top Right",value:"topRight"},bottomLeft:{name:"Bottom Left",value:"bottomLeft"},bottomRight:{name:"Bottom Right",value:"bottomRight"},hidden:{name:"Hidden",value:null}}},colorbarBackgroundColor:{name:"Colorbar Background Color",inlineOptions:AVAILABLE_COLORS},colorbarBackgroundOpacity:{name:"Colorbar Background Opacity",inlineOptions:OPACITY_OPTIONS},colorbarLabelsPosition:{name:"Colorbar Labels Position",inlineOptions:{inside:{name:"Inside",value:"inside"},outside:{name:"Outside",value:"outside"}}},labelColor:{name:"Label Color",inlineOptions:{...AVAILABLE_COLORS,...SPECIAL_COLORS}},labelPosition:{name:"Label Position",inlineOptions:{ol:{name:"Outer left",value:"outerLeft"},or:{name:"Outer right",value:"outerRight"},ot:{name:"Outer top",value:"outerTop"},ob:{name:"Outer bottom",value:"outerBottom"},tl:{name:"Top left",value:"topLeft"},tr:{name:"Top right",value:"topRight"},bl:{name:"Bottom left",value:"bottomLeft"},br:{name:"Bottom right",value:"bottomRight"},hidden:{name:"Hidden",value:"hidden"}}},labelTextOpacity:{name:"Label Text Opacity",inlineOptions:OPACITY_OPTIONS},geneAnnotationHeight:{name:"Gene Annotation Height",inlineOptions:{8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16}}},annotationHeight:{name:"Annotation Height",inlineOptions:{5:{name:"5px",value:5},8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16},20:{name:"20px",value:20},scaled:{name:"scaled",value:"scaled"}}},maxAnnotationHeight:{name:"Max Annotation Height",inlineOptions:{5:{name:"5px",value:5},8:{name:"8px",value:8},10:{name:"10px",value:10},12:{name:"12px",value:12},16:{name:"16px",value:16},20:{name:"20px",value:20},none:{name:"none",value:null}}},annotationStyle:{name:"Annotation Style",inlineOptions:{box:{name:"Box",value:"box"},segment:{name:"Segment",value:"segment"}}},geneLabelPosition:{name:"Gene Label Position",inlineOptions:{inside:{name:"Inside",value:"inside"},outside:{name:"Outside",value:"outside"}}},geneStrandSpacing:{name:"Gene Strand Spacing",inlineOptions:{2:{name:"2px",value:2},4:{name:"4px",value:4},8:{name:"8px",value:8}}},labelBackgroundColor:{name:"Label Background Color",inlineOptions:AVAILABLE_COLORS},labelBackgroundOpacity:{name:"Label Background Opacity",inlineOptions:OPACITY_OPTIONS},viewResolution:{name:"View Resolution",inlineOptions:{high:{name:"High",value:384},medium:{name:"Medium",value:1024},low:{name:"Low",value:2048}}},colorRange:{name:"Color map",inlineOptions:{afmhot:{name:"afmhot",value:["rgba(0,0,0,1.0)","rgba(128,0,0,1.0)","rgba(256,129,1,1.0)","rgba(256,256,129,1.0)","rgba(256,256,256,1.0)"]},fall:{name:"fall",value:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"]},hot:{name:"hot",value:["rgba(10,0,0,1.0)","rgba(179,0,0,1.0)","rgba(256,91,0,1.0)","rgba(256,256,6,1.0)","rgba(256,256,256,1.0)"]},jet:{name:"jet",value:["rgba(0,0,128,1.0)","rgba(0,129,256,1.0)","rgba(125,256,122,1.0)","rgba(256,148,0,1.0)","rgba(128,0,0,1.0)"]},bwr:{name:"bwr",value:["rgba(0,0,256,1.0)","rgba(128,128,256,1.0)","rgba(256,254,254,1.0)","rgba(256,126,126,1.0)","rgba(256,0,0,1.0)"]},cubehelix:{name:"cubehelix",value:["rgba(0,0,0,1.0)","rgba(21,83,76,1.0)","rgba(162,121,74,1.0)","rgba(199,180,238,1.0)","rgba(256,256,256,1.0)"]},rainbow:{name:"rainbow",value:["rgba(128,0,256,1.0)","rgba(0,181,236,1.0)","rgba(129,255,180,1.0)","rgba(256,179,96,1.0)","rgba(256,0,0,1.0)"]},gray:{name:"greys",value:["rgba(255,255,255,1)","rgba(0,0,0,1)"]},red:{name:"White to red",value:["rgba(255,255,255,1)","rgba(255,0,0,1)"]},green:{name:"White to green",value:["rgba(255,255,255,1)","rgba(0,255,0,1)"]},blue:{name:"White to blue",value:["rgba(255,255,255,1)","rgba(0,0,255,1)"]},custard:{name:"custard",value:["#FFFFFF","#F8E71C","rgba(245,166,35,1)","rgba(0,0,0,1)"]},magma:{name:"magma",value:["rgba(0,0,3,1)","rgba(0,0,4,1)","rgba(0,0,6,1)","rgba(1,0,7,1)","rgba(1,1,9,1)","rgba(1,1,11,1)","rgba(2,2,13,1)","rgba(2,2,15,1)","rgba(3,3,17,1)","rgba(4,3,19,1)","rgba(4,4,21,1)","rgba(5,4,23,1)","rgba(6,5,25,1)","rgba(7,5,27,1)","rgba(8,6,29,1)","rgba(9,7,32,1)","rgba(10,7,34,1)","rgba(11,8,36,1)","rgba(12,9,38,1)","rgba(13,10,40,1)","rgba(14,10,42,1)","rgba(15,11,45,1)","rgba(16,12,47,1)","rgba(17,12,49,1)","rgba(19,13,51,1)","rgba(20,13,54,1)","rgba(21,14,56,1)","rgba(22,14,58,1)","rgba(23,15,61,1)","rgba(25,15,63,1)","rgba(26,16,66,1)","rgba(27,16,68,1)","rgba(28,16,70,1)","rgba(30,17,73,1)","rgba(31,17,75,1)","rgba(33,17,78,1)","rgba(34,17,80,1)","rgba(36,17,83,1)","rgba(37,17,85,1)","rgba(39,17,87,1)","rgba(40,17,90,1)","rgba(42,17,92,1)","rgba(43,17,94,1)","rgba(45,17,97,1)","rgba(47,16,99,1)","rgba(49,16,101,1)","rgba(50,16,103,1)","rgba(52,16,105,1)","rgba(54,15,107,1)","rgba(55,15,108,1)","rgba(57,15,110,1)","rgba(59,15,112,1)","rgba(61,15,113,1)","rgba(62,15,114,1)","rgba(64,15,116,1)","rgba(66,15,117,1)","rgba(67,15,118,1)","rgba(69,15,119,1)","rgba(71,15,120,1)","rgba(72,16,120,1)","rgba(74,16,121,1)","rgba(76,16,122,1)","rgba(77,17,123,1)","rgba(79,17,123,1)","rgba(81,18,124,1)","rgba(82,18,124,1)","rgba(84,19,125,1)","rgba(85,20,125,1)","rgba(87,20,126,1)","rgba(88,21,126,1)","rgba(90,21,126,1)","rgba(92,22,127,1)","rgba(93,23,127,1)","rgba(95,23,127,1)","rgba(96,24,128,1)","rgba(98,25,128,1)","rgba(99,25,128,1)","rgba(101,26,128,1)","rgba(103,26,128,1)","rgba(104,27,129,1)","rgba(106,28,129,1)","rgba(107,28,129,1)","rgba(109,29,129,1)","rgba(110,30,129,1)","rgba(112,30,129,1)","rgba(113,31,129,1)","rgba(115,32,129,1)","rgba(117,32,129,1)","rgba(118,33,129,1)","rgba(120,33,129,1)","rgba(121,34,130,1)","rgba(123,35,130,1)","rgba(124,35,130,1)","rgba(126,36,130,1)","rgba(128,36,130,1)","rgba(129,37,129,1)","rgba(131,37,129,1)","rgba(132,38,129,1)","rgba(134,39,129,1)","rgba(136,39,129,1)","rgba(137,40,129,1)","rgba(139,40,129,1)","rgba(140,41,129,1)","rgba(142,41,129,1)","rgba(144,42,129,1)","rgba(145,42,129,1)","rgba(147,43,128,1)","rgba(148,43,128,1)","rgba(150,44,128,1)","rgba(152,44,128,1)","rgba(153,45,128,1)","rgba(155,46,127,1)","rgba(157,46,127,1)","rgba(158,47,127,1)","rgba(160,47,127,1)","rgba(161,48,126,1)","rgba(163,48,126,1)","rgba(165,49,126,1)","rgba(166,49,125,1)","rgba(168,50,125,1)","rgba(170,50,125,1)","rgba(171,51,124,1)","rgba(173,51,124,1)","rgba(175,52,123,1)","rgba(176,52,123,1)","rgba(178,53,123,1)","rgba(180,53,122,1)","rgba(181,54,122,1)","rgba(183,55,121,1)","rgba(185,55,121,1)","rgba(186,56,120,1)","rgba(188,56,120,1)","rgba(189,57,119,1)","rgba(191,57,118,1)","rgba(193,58,118,1)","rgba(194,59,117,1)","rgba(196,59,117,1)","rgba(198,60,116,1)","rgba(199,61,115,1)","rgba(201,61,115,1)","rgba(202,62,114,1)","rgba(204,63,113,1)","rgba(206,63,113,1)","rgba(207,64,112,1)","rgba(209,65,111,1)","rgba(210,66,110,1)","rgba(212,67,110,1)","rgba(213,67,109,1)","rgba(215,68,108,1)","rgba(216,69,107,1)","rgba(218,70,107,1)","rgba(219,71,106,1)","rgba(221,72,105,1)","rgba(222,73,104,1)","rgba(223,74,103,1)","rgba(225,75,103,1)","rgba(226,76,102,1)","rgba(227,78,101,1)","rgba(229,79,100,1)","rgba(230,80,100,1)","rgba(231,81,99,1)","rgba(232,83,98,1)","rgba(233,84,97,1)","rgba(234,85,97,1)","rgba(236,87,96,1)","rgba(237,88,95,1)","rgba(238,90,95,1)","rgba(239,91,94,1)","rgba(239,93,94,1)","rgba(240,95,93,1)","rgba(241,96,93,1)","rgba(242,98,93,1)","rgba(243,100,92,1)","rgba(243,101,92,1)","rgba(244,103,92,1)","rgba(245,105,92,1)","rgba(246,107,92,1)","rgba(246,108,92,1)","rgba(247,110,92,1)","rgba(247,112,92,1)","rgba(248,114,92,1)","rgba(248,116,92,1)","rgba(249,118,92,1)","rgba(249,120,92,1)","rgba(250,121,93,1)","rgba(250,123,93,1)","rgba(250,125,94,1)","rgba(251,127,94,1)","rgba(251,129,95,1)","rgba(251,131,95,1)","rgba(252,133,96,1)","rgba(252,135,97,1)","rgba(252,137,97,1)","rgba(252,139,98,1)","rgba(253,140,99,1)","rgba(253,142,100,1)","rgba(253,144,101,1)","rgba(253,146,102,1)","rgba(253,148,103,1)","rgba(254,150,104,1)","rgba(254,152,105,1)","rgba(254,154,106,1)","rgba(254,156,107,1)","rgba(254,157,108,1)","rgba(254,159,109,1)","rgba(254,161,110,1)","rgba(254,163,111,1)","rgba(254,165,112,1)","rgba(255,167,114,1)","rgba(255,169,115,1)","rgba(255,171,116,1)","rgba(255,172,118,1)","rgba(255,174,119,1)","rgba(255,176,120,1)","rgba(255,178,122,1)","rgba(255,180,123,1)","rgba(255,182,124,1)","rgba(255,184,126,1)","rgba(255,185,127,1)","rgba(255,187,129,1)","rgba(255,189,130,1)","rgba(255,191,132,1)","rgba(255,193,133,1)","rgba(255,195,135,1)","rgba(255,197,136,1)","rgba(255,198,138,1)","rgba(255,200,140,1)","rgba(255,202,141,1)","rgba(255,204,143,1)","rgba(254,206,144,1)","rgba(254,208,146,1)","rgba(254,209,148,1)","rgba(254,211,149,1)","rgba(254,213,151,1)","rgba(254,215,153,1)","rgba(254,217,155,1)","rgba(254,219,156,1)","rgba(254,220,158,1)","rgba(254,222,160,1)","rgba(254,224,162,1)","rgba(254,226,163,1)","rgba(253,228,165,1)","rgba(253,230,167,1)","rgba(253,231,169,1)","rgba(253,233,171,1)","rgba(253,235,172,1)","rgba(253,237,174,1)","rgba(253,239,176,1)","rgba(253,241,178,1)","rgba(253,242,180,1)","rgba(253,244,182,1)","rgba(253,246,184,1)","rgba(252,248,186,1)","rgba(252,250,188,1)","rgba(252,251,189,1)","rgba(252,253,191,1)"]},viridis:{name:"viridis",value:["rgba(68,1,84,1)","rgba(68,2,85,1)","rgba(69,3,87,1)","rgba(69,5,88,1)","rgba(69,6,90,1)","rgba(70,8,91,1)","rgba(70,9,93,1)","rgba(70,11,94,1)","rgba(70,12,96,1)","rgba(71,14,97,1)","rgba(71,15,98,1)","rgba(71,17,100,1)","rgba(71,18,101,1)","rgba(71,20,102,1)","rgba(72,21,104,1)","rgba(72,22,105,1)","rgba(72,24,106,1)","rgba(72,25,108,1)","rgba(72,26,109,1)","rgba(72,28,110,1)","rgba(72,29,111,1)","rgba(72,30,112,1)","rgba(72,32,113,1)","rgba(72,33,115,1)","rgba(72,34,116,1)","rgba(72,36,117,1)","rgba(72,37,118,1)","rgba(72,38,119,1)","rgba(72,39,120,1)","rgba(71,41,121,1)","rgba(71,42,121,1)","rgba(71,43,122,1)","rgba(71,44,123,1)","rgba(71,46,124,1)","rgba(70,47,125,1)","rgba(70,48,126,1)","rgba(70,49,126,1)","rgba(70,51,127,1)","rgba(69,52,128,1)","rgba(69,53,129,1)","rgba(69,54,129,1)","rgba(68,56,130,1)","rgba(68,57,131,1)","rgba(68,58,131,1)","rgba(67,59,132,1)","rgba(67,60,132,1)","rgba(67,62,133,1)","rgba(66,63,133,1)","rgba(66,64,134,1)","rgba(65,65,134,1)","rgba(65,66,135,1)","rgba(65,67,135,1)","rgba(64,69,136,1)","rgba(64,70,136,1)","rgba(63,71,136,1)","rgba(63,72,137,1)","rgba(62,73,137,1)","rgba(62,74,137,1)","rgba(61,75,138,1)","rgba(61,77,138,1)","rgba(60,78,138,1)","rgba(60,79,138,1)","rgba(59,80,139,1)","rgba(59,81,139,1)","rgba(58,82,139,1)","rgba(58,83,139,1)","rgba(57,84,140,1)","rgba(57,85,140,1)","rgba(56,86,140,1)","rgba(56,87,140,1)","rgba(55,88,140,1)","rgba(55,89,140,1)","rgba(54,91,141,1)","rgba(54,92,141,1)","rgba(53,93,141,1)","rgba(53,94,141,1)","rgba(52,95,141,1)","rgba(52,96,141,1)","rgba(51,97,141,1)","rgba(51,98,141,1)","rgba(51,99,141,1)","rgba(50,100,142,1)","rgba(50,101,142,1)","rgba(49,102,142,1)","rgba(49,103,142,1)","rgba(48,104,142,1)","rgba(48,105,142,1)","rgba(47,106,142,1)","rgba(47,107,142,1)","rgba(47,108,142,1)","rgba(46,109,142,1)","rgba(46,110,142,1)","rgba(45,111,142,1)","rgba(45,112,142,1)","rgba(45,112,142,1)","rgba(44,113,142,1)","rgba(44,114,142,1)","rgba(43,115,142,1)","rgba(43,116,142,1)","rgba(43,117,142,1)","rgba(42,118,142,1)","rgba(42,119,142,1)","rgba(41,120,142,1)","rgba(41,121,142,1)","rgba(41,122,142,1)","rgba(40,123,142,1)","rgba(40,124,142,1)","rgba(40,125,142,1)","rgba(39,126,142,1)","rgba(39,127,142,1)","rgba(38,128,142,1)","rgba(38,129,142,1)","rgba(38,130,142,1)","rgba(37,131,142,1)","rgba(37,131,142,1)","rgba(37,132,142,1)","rgba(36,133,142,1)","rgba(36,134,142,1)","rgba(35,135,142,1)","rgba(35,136,142,1)","rgba(35,137,142,1)","rgba(34,138,141,1)","rgba(34,139,141,1)","rgba(34,140,141,1)","rgba(33,141,141,1)","rgba(33,142,141,1)","rgba(33,143,141,1)","rgba(32,144,141,1)","rgba(32,145,140,1)","rgba(32,146,140,1)","rgba(32,147,140,1)","rgba(31,147,140,1)","rgba(31,148,140,1)","rgba(31,149,139,1)","rgba(31,150,139,1)","rgba(31,151,139,1)","rgba(30,152,139,1)","rgba(30,153,138,1)","rgba(30,154,138,1)","rgba(30,155,138,1)","rgba(30,156,137,1)","rgba(30,157,137,1)","rgba(30,158,137,1)","rgba(30,159,136,1)","rgba(30,160,136,1)","rgba(31,161,136,1)","rgba(31,162,135,1)","rgba(31,163,135,1)","rgba(31,163,134,1)","rgba(32,164,134,1)","rgba(32,165,134,1)","rgba(33,166,133,1)","rgba(33,167,133,1)","rgba(34,168,132,1)","rgba(35,169,131,1)","rgba(35,170,131,1)","rgba(36,171,130,1)","rgba(37,172,130,1)","rgba(38,173,129,1)","rgba(39,174,129,1)","rgba(40,175,128,1)","rgba(41,175,127,1)","rgba(42,176,127,1)","rgba(43,177,126,1)","rgba(44,178,125,1)","rgba(46,179,124,1)","rgba(47,180,124,1)","rgba(48,181,123,1)","rgba(50,182,122,1)","rgba(51,183,121,1)","rgba(53,183,121,1)","rgba(54,184,120,1)","rgba(56,185,119,1)","rgba(57,186,118,1)","rgba(59,187,117,1)","rgba(61,188,116,1)","rgba(62,189,115,1)","rgba(64,190,114,1)","rgba(66,190,113,1)","rgba(68,191,112,1)","rgba(70,192,111,1)","rgba(72,193,110,1)","rgba(73,194,109,1)","rgba(75,194,108,1)","rgba(77,195,107,1)","rgba(79,196,106,1)","rgba(81,197,105,1)","rgba(83,198,104,1)","rgba(85,198,102,1)","rgba(88,199,101,1)","rgba(90,200,100,1)","rgba(92,201,99,1)","rgba(94,201,98,1)","rgba(96,202,96,1)","rgba(98,203,95,1)","rgba(101,204,94,1)","rgba(103,204,92,1)","rgba(105,205,91,1)","rgba(108,206,90,1)","rgba(110,206,88,1)","rgba(112,207,87,1)","rgba(115,208,85,1)","rgba(117,208,84,1)","rgba(119,209,82,1)","rgba(122,210,81,1)","rgba(124,210,79,1)","rgba(127,211,78,1)","rgba(129,212,76,1)","rgba(132,212,75,1)","rgba(134,213,73,1)","rgba(137,213,72,1)","rgba(139,214,70,1)","rgba(142,215,68,1)","rgba(144,215,67,1)","rgba(147,216,65,1)","rgba(149,216,63,1)","rgba(152,217,62,1)","rgba(155,217,60,1)","rgba(157,218,58,1)","rgba(160,218,57,1)","rgba(163,219,55,1)","rgba(165,219,53,1)","rgba(168,220,51,1)","rgba(171,220,50,1)","rgba(173,221,48,1)","rgba(176,221,46,1)","rgba(179,221,45,1)","rgba(181,222,43,1)","rgba(184,222,41,1)","rgba(187,223,39,1)","rgba(189,223,38,1)","rgba(192,223,36,1)","rgba(195,224,35,1)","rgba(197,224,33,1)","rgba(200,225,32,1)","rgba(203,225,30,1)","rgba(205,225,29,1)","rgba(208,226,28,1)","rgba(211,226,27,1)","rgba(213,226,26,1)","rgba(216,227,25,1)","rgba(219,227,24,1)","rgba(221,227,24,1)","rgba(224,228,24,1)","rgba(226,228,24,1)","rgba(229,228,24,1)","rgba(232,229,25,1)","rgba(234,229,25,1)","rgba(237,229,26,1)","rgba(239,230,27,1)","rgba(242,230,28,1)","rgba(244,230,30,1)","rgba(247,230,31,1)","rgba(249,231,33,1)","rgba(251,231,35,1)","rgba(254,231,36,1)"]},custom:{name:"Custom...",componentPickers:{heatmap:HeatmapOptions,"horizontal-heatmap":HeatmapOptions}}}},align:{name:"Align",inlineOptions:{white:{name:"Top",value:"top"},lightGrey:{name:"Bottom",value:"bottom"}}},colorRangeGradient:{name:"Color Gradient",inlineOptions:YES_NO},dataTransform:{name:"Transforms",inlineOptions:{default:{name:"Default",value:"default"},None:{name:"None",value:"None"}},generateOptions:track=>{const inlineOptions=[];if(track.transforms){for(const transform2 of track.transforms){inlineOptions.push({name:transform2.name,value:transform2.value});}}return inlineOptions;}},aggregationMode:{name:"Aggregation Mode",inlineOptions:{},generateOptions:track=>{const inlineOptions=[];if(track.aggregationModes){Object.values(track.aggregationModes).forEach(({name,value:value2})=>{inlineOptions.push({name,value:value2});});}else{inlineOptions.push({name:"Default",value:"default"});}return inlineOptions;}},maxZoom:{name:"Zoom limit",inlineOptions:{none:{name:"None",value:null}},generateOptions:track=>{if(track.maxZoom){const inlineOptions=[];for(let i2=0;i2<=track.maxZoom;i2++){const{maxWidth,binsPerDimension,maxZoom}=track;let maxResolutionSize=1;let resolution=1;if(track.resolutions){const sortedResolutions=track.resolutions.map(x=>+x).sort((a,b)=>b-a);[maxResolutionSize]=sortedResolutions;resolution=sortedResolutions[i2];}else{resolution=track.maxWidth/(2**i2*track.binsPerDimension);maxResolutionSize=maxWidth/(2**maxZoom*binsPerDimension);}const pp=precisionPrefix(maxResolutionSize,resolution);const f2=formatPrefix(`.${pp}`,resolution);const formattedResolution=f2(resolution);inlineOptions.push({name:formattedResolution,value:i2.toString()});}return inlineOptions;}return[];}},valueColumn:{name:"Value column",inlineOptions:{none:{name:"None",value:null}},generateOptions:valueColumnOptions},zeroValueColor:{name:"Zero Value Color",inlineOptions:AVAILABLE_COLORS}};const configs={..._configs,IS_TRACK_RANGE_SELECTABLE,OPTIONS_INFO};const libraries={d3Array,d3Axis,d3Brush,d3Color,d3Drag,d3Dsv,d3Format,d3Geo,d3Queue,d3Request,d3Scale,d3Selection,d3Transition,d3Zoom,PIXI:configs.GLOBALS.PIXI,mix,slugid};const tracks$1={Annotations1dTrack,Annotations2dTrack,ArrowheadDomainsTrack,BarTrack,BedLikeTrack,CNVIntervalTrack,Chromosome2DAnnotations,Chromosome2DLabels,ChromosomeGrid,CombinedTrack,CrossRule,DivergentBarTrack,HeatmapTiledPixiTrack,Horizontal1dHeatmapTrack,Horizontal2DDomainsTrack,HorizontalChromosomeLabels,HorizontalGeneAnnotationsTrack,HorizontalHeatmapTrack,HorizontalLine1DPixiTrack,HorizontalMultivecTrack,HorizontalPoint1DPixiTrack,HorizontalRule,HorizontalTiled1DPixiTrack,HorizontalTiledPlot,HorizontalTrack,Id2DTiledPixiTrack,IdHorizontal1DTiledPixiTrack,IdVertical1DTiledPixiTrack,LeftAxisTrack,MapboxTilesTrack,MoveableTrack,OSMTileIdsTrack,OSMTilesTrack,OverlayTrack,PixiTrack,RasterTilesTrack,SVGTrack,SquareMarkersTrack,Tiled1DPixiTrack,TiledPixiTrack,TopAxisTrack,Track,ValueIntervalTrack,VerticalRule,VerticalTiled1DPixiTrack,VerticalTrack,ViewportTracker2D:ViewportTracker2D$1,ViewportTracker2DPixi:ViewportTracker2D,ViewportTrackerHorizontal,ViewportTrackerVertical};const factories={ContextMenuItem,DataFetcher,LruCache};const chromosomes={ChromosomeInfo,SearchField};const dataFetchers={DataFetcher,GBKDataFetcher,LocalDataFetcher:LocalTileDataFetcher,getDataFetcher:getDataFetcher$1};const AVAILABLE_FOR_PLUGINS={chromosomes,libraries,tracks:tracks$1,dataFetchers,factories,services,utils:utils$7,configs,VERSION:version};const classes$3={"track-renderer":"_track-renderer_11dwb_1","track-renderer-element":"_track-renderer-element_11dwb_5","track-renderer-events":"_track-renderer-events_11dwb_6"};const{getDataFetcher}=AVAILABLE_FOR_PLUGINS.dataFetchers;const SCROLL_TIMEOUT=100;let TrackRenderer=/*#__PURE__*/function(_React__default$defau10){_inherits3(TrackRenderer,_React__default$defau10);var _super65=_createSuper3(TrackRenderer);function TrackRenderer(props){var _this84;_classCallCheck3(this,TrackRenderer);_this84=_super65.call(this,props);_this84.dragging=false;_this84.element=null;_this84.eventTracker=null;_this84.eventTrackerOld=null;_this84.closing=false;_this84.yPositionOffset=0;_this84.xPositionOffset=0;_this84.scrollTop=0;_this84.scrollTimeout=null;_this84.activeTransitions=0;_this84.zoomTransform=identity$4;_this84.windowScrolledBound=_this84.windowScrolled.bind(_assertThisInitialized3(_this84));_this84.zoomStartedBound=_this84.zoomStarted.bind(_assertThisInitialized3(_this84));_this84.zoomedBound=_this84.zoomed.bind(_assertThisInitialized3(_this84));_this84.zoomEndedBound=_this84.zoomEnded.bind(_assertThisInitialized3(_this84));_this84.uid=slugid.nice();_this84.viewUid=_this84.props.uid;_this84.availableForPlugins={...AVAILABLE_FOR_PLUGINS,services:{...AVAILABLE_FOR_PLUGINS.services,pubSub:_this84.props.pubSub,pixiRenderer:_this84.props.pixiRenderer}};_this84.mounted=false;_this84.emptyZoomBehavior=zoom();_this84.currentProps=props;_this84.prevPropsStr="";_this84.zoomBehavior=zoom().filter(event=>{if(event.target.classList.contains("no-zoom")){return false;}if(event.target.classList.contains("react-resizable-handle")){return false;}return true;}).on("start",_this84.zoomStartedBound).on("zoom",_this84.zoomedBound).on("end",_this84.zoomEndedBound);_this84.zoomTransform=identity$4;_this84.prevZoomTransform=identity$4;_this84.initialXDomain=[0,1];_this84.initialYDomain=[0,1];_this84.xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER];_this84.yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER];_this84.zoomLimits=[0,Number.MAX_SAFE_INTEGER];_this84.prevCenterX=_this84.currentProps.paddingLeft+_this84.currentProps.leftWidth+_this84.currentProps.centerWidth/2;_this84.prevCenterY=_this84.currentProps.paddingTop+_this84.currentProps.topHeight+_this84.currentProps.centerHeight/2;_this84.cumCenterXOffset=0;_this84.cumCenterYOffset=0;_this84.setUpInitialScales(_this84.currentProps.initialXDomain,_this84.currentProps.initialYDomain,_this84.currentProps.xDomainLimits,_this84.currentProps.yDomainLimits,_this84.currentProps.zoomLimits);_this84.setUpScales();_this84.trackDefObjects={};_this84.metaTracks={};_this84.pubSubs=[];if(window.higlassTracksByType){for(const pluginTrackType in window.higlassTracksByType){TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;}}_this84.boundForwardEvent=_this84.forwardEvent.bind(_assertThisInitialized3(_this84));_this84.boundScrollEvent=_this84.scrollEvent.bind(_assertThisInitialized3(_this84));_this84.boundForwardContextMenu=_this84.forwardContextMenu.bind(_assertThisInitialized3(_this84));_this84.dispatchEventBound=_this84.dispatchEvent.bind(_assertThisInitialized3(_this84));_this84.zoomToDataPosHandlerBound=_this84.zoomToDataPosHandler.bind(_assertThisInitialized3(_this84));_this84.onScrollHandlerBound=_this84.onScrollHandler.bind(_assertThisInitialized3(_this84));_this84.elementPos={height:0,width:0,left:0,top:0};_this84.elementSelection=null;return _this84;}_createClass3(TrackRenderer,[{key:"xScale",get:function(){if(!this._xScale){throw new Error("xScale is not defined");}return this._xScale;}},{key:"yScale",get:function(){if(!this._yScale){throw new Error("yScale is not defined");}return this._yScale;}},{key:"UNSAFE_componentWillMount",value:function UNSAFE_componentWillMount(){this.pubSubs=[];this.pubSubs.push(this.props.pubSub.subscribe("scroll",this.windowScrolledBound));this.pubSubs.push(this.props.pubSub.subscribe("app.event",this.dispatchEventBound));this.pubSubs.push(this.props.pubSub.subscribe("zoomToDataPos",this.zoomToDataPosHandlerBound));this.pubSubs.push(this.props.pubSub.subscribe("app.scroll",this.onScrollHandlerBound));}},{key:"componentDidMount",value:function componentDidMount(){if(!this.element){throw new Error("Component did not mount, this.element is not defined.");}this.elementPos=this.element.getBoundingClientRect();this.elementSelection=select$1(this.element);this.pStage=new GLOBALS.PIXI.Graphics();this.pMask=new GLOBALS.PIXI.Graphics();this.pOutline=new GLOBALS.PIXI.Graphics();this.pBackground=new GLOBALS.PIXI.Graphics();this.pStage.addChild(this.pMask);this.pStage.addChild(this.pOutline);this.currentProps.pixiStage.addChild(this.pStage);this.pStage.mask=this.pMask;if(!this.props.isRangeSelection)this.addZoom();if(!this.currentProps.svgElement||!this.currentProps.canvasElement){return;}this.svgElement=this.currentProps.svgElement;this.syncTrackObjects(this.currentProps.positionedTracks);this.syncMetaTracks(this.currentProps.metaTracks);this.currentProps.setCentersFunction(this.setCenter.bind(this));this.currentProps.registerDraggingChangedListener(this.draggingChanged.bind(this));this.draggingChanged(true);this.addEventTracker();const transExt=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]];const svgBBox=this.svgElement.getBoundingClientRect();const ext=[[Math.max(transExt[0][0],0),Math.max(transExt[0][1],0)],[Math.min(transExt[1][0],svgBBox.width),Math.min(transExt[1][1],svgBBox.height)]];this.zoomBehavior.extent(ext).translateExtent(transExt).scaleExtent(this.zoomLimits);}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){if(!nextProps.svgElement||!nextProps.canvasElement){return;}const nextPropsStr=this.updatablePropsToString(nextProps);this.currentProps=nextProps;if(this.prevPropsStr===nextPropsStr)return;this.setBackground();for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.delayDrawing=true;}this.prevPropsStr=nextPropsStr;this.setUpInitialScales(nextProps.initialXDomain,nextProps.initialYDomain,nextProps.xDomainLimits,nextProps.yDomainLimits,nextProps.zoomLimits);this.setUpScales(nextProps.width!==this.props.width||nextProps.height!==this.props.height);this.svgElement=nextProps.svgElement;const transExt=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]];const svgBBox=this.svgElement.getBoundingClientRect();const ext=[[Math.max(transExt[0][0],0),Math.max(transExt[0][1],0)],[Math.min(transExt[1][0],svgBBox.width),Math.min(transExt[1][1],svgBBox.height)]];this.zoomBehavior.extent(ext).translateExtent(transExt).scaleExtent(this.zoomLimits);this.syncTrackObjects(nextProps.positionedTracks);this.syncMetaTracks(nextProps.metaTracks);for(const track of nextProps.positionedTracks){const options2=track.track.options;const trackObject=this.trackDefObjects[track.track.uid].trackObject;trackObject.rerender(options2);if(isCombinedTrackConfig(track.track)){const ctDefs={};for(const ct of track.track.contents){ctDefs[ct.uid]=ct;}for(const uid in trackObject.createdTracks){trackObject.createdTracks[uid].rerender(ctDefs[uid].options);}}}this.props.onNewTilesLoaded();for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.delayDrawing=false;track.draw();}}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps){if(this.props.initialXDomain[0]!==prevProps.initialXDomain[0]||this.props.initialXDomain[1]!==prevProps.initialXDomain[1]||this.props.initialYDomain[0]!==prevProps.initialYDomain[0]||this.props.initialYDomain[1]!==prevProps.initialYDomain[1]){if(this.element)this.element.__zoom=identity$4;}if(prevProps.isRangeSelection!==this.props.isRangeSelection){if(this.props.isRangeSelection){this.removeZoom();}else{this.addZoom();}}if(prevProps.zoomable!==this.props.zoomable){if(this.props.zoomable){this.addZoom();}else{this.removeZoom();}}this.addEventTracker();}},{key:"componentWillUnmount",value:function componentWillUnmount(){var _a,_b;this.mounted=false;this.removeTracks(Object.keys(this.trackDefObjects));this.removeMetaTracks(Object.keys(this.metaTracks));this.currentProps.removeDraggingChangedListener(this.draggingChanged);if(this.pStage)this.currentProps.pixiStage.removeChild(this.pStage);(_a=this.pMask)==null?void 0:_a.destroy(true);(_b=this.pStage)==null?void 0:_b.destroy(true);this.pubSubs.forEach(subscription=>this.props.pubSub.unsubscribe(subscription));this.pubSubs=[];this.removeEventTracker();}},{key:"dispatchEvent",value:function dispatchEvent(event){if(event.sourceUid===this.uid&&event.type!=="contextmenu"){if(this.element)forwardEvent(event,this.element);}}},{key:"isWithin",value:function isWithin(x,y){const withinX=x>=this.elementPos.left&&x<=this.elementPos.width+this.elementPos.left;const withinY=y>=this.elementPos.top&&y<=this.elementPos.height+this.elementPos.top;return withinX&&withinY;}},{key:"zoomToDataPosHandler",value:function zoomToDataPosHandler({pos,animateTime}){this.zoomToDataPos(...pos,animateTime);}},{key:"addZoom",value:function addZoom(){if(!this.elementSelection||!this.currentProps.zoomable)return;this.elementSelection.call(this.zoomBehavior);this.zoomBehavior.transform(this.elementSelection,this.zoomTransform);}},{key:"removeZoom",value:function removeZoom(){if(this.elementSelection){this.zoomEnded();this.elementSelection.on(".zoom",null);}}},{key:"setMask",value:function setMask(){var _a,_b,_c,_d;(_a=this.pMask)==null?void 0:_a.clear();(_b=this.pMask)==null?void 0:_b.beginFill();(_c=this.pMask)==null?void 0:_c.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height);(_d=this.pMask)==null?void 0:_d.endFill();}},{key:"setBackground",value:function setBackground(){var _a,_b,_c,_d,_e,_f;const defBgColor=this.props.theme===THEME_DARK?"black":"white";const bgColor=colorToHex((_b=(_a=this.currentProps.viewOptions)==null?void 0:_a.backgroundColor)!=null?_b:defBgColor);(_c=this.pBackground)==null?void 0:_c.clear();(_d=this.pBackground)==null?void 0:_d.beginFill(bgColor);(_e=this.pBackground)==null?void 0:_e.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height);(_f=this.pBackground)==null?void 0:_f.endFill();}},{key:"windowScrolled",value:function windowScrolled(){this.removeZoom();if(this.scrollTimeout){clearTimeout(this.scrollTimeout);}this.scrollTimeout=setTimeout(()=>{this.addZoom();},SCROLL_TIMEOUT);}},{key:"setUpInitialScales",value:function setUpInitialScales(initialXDomain=[0,1],initialYDomain=[0,1],xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],zoomLimits=[0,Number.MAX_SAFE_INTEGER]){zoomLimits[0]=zoomLimits[0]===null?0:zoomLimits[0];zoomLimits[1]=zoomLimits[1]===null?Infinity:zoomLimits[1];const xWidth=initialXDomain[1]-initialXDomain[0];const yCenter=(initialYDomain[0]+initialYDomain[1])/2;initialYDomain[0]=yCenter-xWidth/2;initialYDomain[1]=yCenter+xWidth/2;if(initialXDomain[0]===this.initialXDomain[0]&&initialXDomain[1]===this.initialXDomain[1]&&initialYDomain[0]===this.initialYDomain[0]&&initialYDomain[1]===this.initialYDomain[1]&&xDomainLimits[0]===this.xDomainLimits[0]&&xDomainLimits[1]===this.xDomainLimits[1]&&yDomainLimits[0]===this.yDomainLimits[0]&&yDomainLimits[1]===this.yDomainLimits[1]&&zoomLimits[0]===this.zoomLimits[0]&&zoomLimits[1]===this.zoomLimits[1])return;this.initialXDomain=initialXDomain;this.initialYDomain=initialYDomain;this.xDomainLimits=xDomainLimits;this.yDomainLimits=yDomainLimits;this.zoomLimits=zoomLimits;this.zoomTransform=identity$4;this.prevZoomTransform=identity$4;this.cumCenterYOffset=0;this.cumCenterXOffset=0;this.drawableToDomainX=linear().domain([this.currentProps.paddingLeft+this.currentProps.leftWidth,this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth]).range([initialXDomain[0],initialXDomain[1]]);let startY;let endY;if(this.currentProps.centerWidth===0){startY=this.currentProps.paddingTop+this.currentProps.topHeight;endY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight;}else{startY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2-this.currentProps.centerWidth/2;endY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2+this.currentProps.centerWidth/2;}this.drawableToDomainY=linear().domain([startY,endY]).range([initialYDomain[0],initialYDomain[1]]);this.prevCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;this.prevCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;}},{key:"updatablePropsToString",value:function updatablePropsToString(props){return JSON.stringify({positionedTracks:props.positionedTracks,initialXDomain:props.initialXDomain,initialYDomain:props.initialYDomain,width:props.width,height:props.height,paddingLeft:props.paddingLeft,paddingTop:props.paddingTop,leftWidth:props.leftWidth,topHeight:props.topHeight,dragging:props.dragging,viewOptions:props.viewOptions});}},{key:"draggingChanged",value:function draggingChanged(draggingStatus){this.dragging=draggingStatus;this.timedUpdatePositionAndDimensions();}},{key:"setUpScales",value:function setUpScales(notify=false){const currentCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;const currentCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;if(!this.drawableToDomainX||!this.drawableToDomainY){return;}const centerDomainXOffset=(this.drawableToDomainX(currentCenterX)-this.drawableToDomainX(this.prevCenterX))/this.zoomTransform.k;const centerDomainYOffset=(this.drawableToDomainY(currentCenterY)-this.drawableToDomainY(this.prevCenterY))/this.zoomTransform.k;this.cumCenterYOffset+=centerDomainYOffset;this.cumCenterXOffset+=centerDomainXOffset;this.prevCenterY=currentCenterY;this.prevCenterX=currentCenterX;const visibleXDomain=[this.drawableToDomainX(0)-this.cumCenterXOffset,this.drawableToDomainX(this.currentProps.width)-this.cumCenterXOffset];const visibleYDomain=[this.drawableToDomainY(0)-this.cumCenterYOffset,this.drawableToDomainY(this.currentProps.height)-this.cumCenterYOffset];this._xScale=linear().domain(visibleXDomain).range([0,this.currentProps.width]);this._yScale=linear().domain(visibleYDomain).range([0,this.currentProps.height]);for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;track.refScalesChanged(this.xScale,this.yScale);}this.applyZoomTransform(notify);}},{key:"getTrackDef",value:function getTrackDef(trackObjectIn){const trackDefItems=dictItems(this.trackDefObjects);for(const[,{trackDef,trackObject}]of trackDefItems){if(trackObject===trackObjectIn){return trackDef.track;}if(isCombinedTrackConfig(trackDef.track)){for(const subTrackDef of trackDef.track.contents){if(trackObject.createdTracks[subTrackDef.uid]===trackObjectIn){return subTrackDef;}}}}return null;}},{key:"getTrackObject",value:function getTrackObject(trackId){const trackDefItems=dictItems(this.trackDefObjects);for(let i2=0;i2<trackDefItems.length;i2++){const uid=trackDefItems[i2][0];const trackObject=trackDefItems[i2][1].trackObject;if(uid===trackId){return trackObject;}if(trackObject.createdTracks){const createdTrackItems=dictItems(trackObject.createdTracks);for(let j=0;j<createdTrackItems.length;j++){const createdTrackUid=createdTrackItems[j][0];const createdTrackObject=createdTrackItems[j][1];if(createdTrackUid===trackId){return createdTrackObject;}}}}return void 0;}},{key:"timedUpdatePositionAndDimensions",value:function timedUpdatePositionAndDimensions(){if(this.closing||!this.element)return;this.elementPos=this.element.getBoundingClientRect();if(this.dragging){this.yPositionOffset=this.element.getBoundingClientRect().top-this.currentProps.canvasElement.getBoundingClientRect().top+this.scrollTop;this.xPositionOffset=this.element.getBoundingClientRect().left-this.currentProps.canvasElement.getBoundingClientRect().left;this.setMask();this.setBackground();const updated=this.updateTrackPositions();if(updated){this.applyZoomTransform(true);}requestAnimationFrame(this.timedUpdatePositionAndDimensions.bind(this));}}},{key:"syncMetaTracks",value:function syncMetaTracks(trackDefinitions){const knownMetaTrackIds=Object.keys(this.metaTracks);const newMetaTracks=new Set(trackDefinitions.map(def=>def.uid));this.addMetaTracks(trackDefinitions.filter(def=>!this.metaTracks[def.uid]));this.updateMetaTracks(trackDefinitions.filter(def=>this.metaTracks[def.uid]));this.removeMetaTracks(knownMetaTrackIds.filter(def=>!newMetaTracks.has(def)));}},{key:"syncTrackObjects",value:function syncTrackObjects(trackDefinitions){this.prevTrackDefinitions=JSON.stringify(trackDefinitions);const receivedTracksDict={};for(let i2=0;i2<trackDefinitions.length;i2++){receivedTracksDict[trackDefinitions[i2].track.uid]=trackDefinitions[i2];}const knownTracks=new Set(Object.keys(this.trackDefObjects));const receivedTracks=new Set(Object.keys(receivedTracksDict));const enterTrackDefs=new Set([...receivedTracks].filter(x=>!knownTracks.has(x)));const exitTracks=new Set([...knownTracks].filter(x=>!receivedTracks.has(x)));const updateTrackDefs=new Set([...receivedTracks].filter(x=>knownTracks.has(x)));this.updateExistingTrackDefs([...updateTrackDefs].map(x=>receivedTracksDict[x]));this.addNewTracks([...enterTrackDefs].map(x=>receivedTracksDict[x]));this.updateExistingTrackDefs([...enterTrackDefs].map(x=>receivedTracksDict[x]));this.removeTracks([...exitTracks]);}},{key:"addMetaTracks",value:function addMetaTracks(metaTrackDefs){metaTrackDefs.filter(metaTrackDef=>!this.metaTracks[metaTrackDef.uid]).forEach(metaTrackDef=>{this.metaTracks[metaTrackDef.uid]={trackDef:metaTrackDef,trackObject:this.createMetaTrack(metaTrackDef)};});}},{key:"addNewTracks",value:function addNewTracks(newTrackDefinitions){if(!this.currentProps.pixiStage){return;}for(let i2=0;i2<newTrackDefinitions.length;i2++){const newTrackDef=newTrackDefinitions[i2];const newTrackObj=this.createTrackObject(newTrackDef.track);newTrackObj.refScalesChanged(this.xScale,this.yScale);this.trackDefObjects[newTrackDef.track.uid]={trackDef:newTrackDef,trackObject:newTrackObj};const zoomedXScale=this.zoomTransform.rescaleX(this.xScale);const zoomedYScale=this.zoomTransform.rescaleY(this.yScale);newTrackObj.setDimensions([newTrackDef.width,newTrackDef.height]);newTrackObj.zoomed(zoomedXScale,zoomedYScale);}this.applyZoomTransform(false);}},{key:"updateMetaTracks",value:function updateMetaTracks(_unused){}},{key:"updateExistingTrackDefs",value:function updateExistingTrackDefs(newTrackDefs){for(const trackDef of newTrackDefs){const ref2=this.trackDefObjects[trackDef.track.uid];ref2.trackDef=trackDef;if(isCombinedTrackConfig(trackDef.track)){ref2.trackObject.updateContents(trackDef.track.contents,this.createTrackObject.bind(this)).refScalesChanged(this.xScale,this.yScale);}}const updated=this.updateTrackPositions();if(updated){this.applyZoomTransform(false);}}},{key:"updateTrackPositions",value:function updateTrackPositions(){let updated=false;for(const uid in this.trackDefObjects){const trackDef=this.trackDefObjects[uid].trackDef;const trackObject=this.trackDefObjects[uid].trackObject;const prevPosition=trackObject.position;const prevDimensions=trackObject.dimensions;const newPosition=[this.xPositionOffset+trackDef.left,this.yPositionOffset+trackDef.top];const newDimensions=[trackDef.width,trackDef.height];if(!prevPosition||newPosition[0]!==prevPosition[0]||newPosition[1]!==prevPosition[1]){trackObject.setPosition(newPosition);updated=true;}if(!prevDimensions||newDimensions[0]!==prevDimensions[0]||newDimensions[1]!==prevDimensions[1]){trackObject.setDimensions(newDimensions);updated=true;}}return updated;}},{key:"removeMetaTracks",value:function removeMetaTracks(trackIds){trackIds.forEach(id2=>{this.metaTracks[id2].trackObject.remove();this.metaTracks[id2]=void 0;delete this.metaTracks[id2];});}},{key:"removeTracks",value:function removeTracks(trackUids){for(let i2=0;i2<trackUids.length;i2++){this.trackDefObjects[trackUids[i2]].trackObject.remove();delete this.trackDefObjects[trackUids[i2]];}}},{key:"setCenter",value:function setCenter(centerX,centerY,sourceK,notify=false,animateTime=0,xScale=this.xScale,yScale=this.yScale){const refK=this.xScale.invert(1)-this.xScale.invert(0);const k=refK/sourceK;const middleViewX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2;const middleViewY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;const translateX2=middleViewX-xScale(centerX)*k;const translateY2=middleViewY-yScale(centerY)*k;let last2;const setZoom=()=>{const newTransform=identity$4.translate(translateX2,translateY2).scale(k);this.zoomTransform=newTransform;if(this.elementSelection){this.emptyZoomBehavior.transform(this.elementSelection,newTransform);}last2=this.applyZoomTransform(notify);};if(animateTime&&this.elementSelection){let selection2=this.elementSelection;this.activeTransitions+=1;if(!document.hidden){selection2=selection2.transition().duration(animateTime);}selection2.call(this.zoomBehavior.transform,identity$4.translate(translateX2,translateY2).scale(k)).on("end",()=>{setZoom();this.activeTransitions-=1;});}else{setZoom();}return last2;}},{key:"valueScaleMove",value:function valueScaleMove(movement){if(!this.zoomStartPos){return;}for(const track of this.getTracksAtPosition(...this.zoomStartPos)){track.movedY(movement);}if(this.zoomStartTransform)this.zoomTransform=this.zoomStartTransform;}},{key:"valueScaleZoom",value:function valueScaleZoom(event,orientation2){if(!isWheelEvent(event.sourceEvent)){return;}const mdy=event.sourceEvent.deltaY;const mdm=event.sourceEvent.deltaMode;const myWheelDelta=(dy,dm)=>dy*(dm?120:1)/500;const mwd=myWheelDelta(mdy,mdm);const cp=pointer(event.sourceEvent,this.props.canvasElement);for(const track of this.getTracksAtPosition(...cp)){const yPos=orientation2==="1d-horizontal"?cp[1]-track.position[1]:cp[0]-track.position[0];track.zoomedY(yPos,2**mwd);}if(this.zoomStartTransform)this.zoomTransform=this.zoomStartTransform;}},{key:"zoomed",value:function zoomed(event){var _a;let trackOrientation=null;if(this.zoomStartPos){const tracksAtZoomStart=this.getTracksAtPosition(...this.zoomStartPos);if(tracksAtZoomStart.length){const trackAtZoomStart=tracksAtZoomStart[0];const trackDef=this.getTrackDef(trackAtZoomStart);if(!trackDef){return;}if((_a=TRACKS_INFO_BY_TYPE[trackDef.type])==null?void 0:_a.orientation){trackOrientation=TRACKS_INFO_BY_TYPE[trackDef.type].orientation;}if(trackAtZoomStart instanceof LeftTrackModifier){trackOrientation="1d-vertical";}}}if(trackOrientation&&event.sourceEvent){if(event.shiftKey||this.valueScaleZooming){if(event.sourceEvent.deltaY!==void 0){this.valueScaleZoom(event,trackOrientation);return;}if(trackOrientation==="1d-horizontal"){this.valueScaleMove(event.sourceEvent.movementY);}else if(trackOrientation==="1d-vertical"){this.valueScaleMove(event.sourceEvent.movementX);}}if(trackOrientation==="1d-horizontal"&&event.sourceEvent.movementY){this.valueScaleMove(event.sourceEvent.movementY);}else if(trackOrientation==="1d-vertical"&&event.sourceEvent.movementX){this.valueScaleMove(event.sourceEvent.movementX);}}this.zoomTransform=!this.currentProps.zoomable?identity$4:event.transform;const zooming=this.prevZoomTransform.k!==this.zoomTransform.k;if(!zooming){if(trackOrientation==="1d-horizontal"){this.zoomTransform=identity$4.translate(this.zoomTransform.x,this.prevZoomTransform.y).scale(this.zoomTransform.k);}else if(trackOrientation==="1d-vertical"){this.zoomTransform=identity$4.translate(this.prevZoomTransform.x,this.zoomTransform.y).scale(this.zoomTransform.k);}if(this.element)this.element.__zoom=this.zoomTransform;}this.applyZoomTransform(true);this.prevZoomTransform=this.zoomTransform;this.props.pubSub.publish("app.zoom",event);if(event.sourceEvent){event.sourceEvent.stopPropagation();event.sourceEvent.preventDefault();}}},{key:"getTracksAtPosition",value:function getTracksAtPosition(x,y){const foundTracks=[];let tracksToVisit=[];for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;if(track.childTracks){tracksToVisit=tracksToVisit.concat(track.childTracks);}else{tracksToVisit.push(track);}}for(const track of tracksToVisit){const withinX=track.position[0]<=x&&x<=track.position[0]+track.dimensions[0];const withinY=track.position[1]<=y&&y<=track.position[1]+track.dimensions[1];if(withinX&&withinY){foundTracks.push(track);}}return foundTracks;}},{key:"zoomStarted",value:function zoomStarted(event){this.zooming=true;if(event&&event.sourceEvent){this.zoomStartPos=pointer(event.sourceEvent,this.props.canvasElement);if(event.sourceEvent.shiftKey){this.valueScaleZooming=true;}}this.zoomStartTransform=this.zoomTransform;this.props.pubSub.publish("app.zoomStart");}},{key:"zoomEnded",value:function zoomEnded(){this.zooming=false;this.zoomStartPos=null;if(this.valueScaleZooming){this.valueScaleZooming=false;if(this.element)this.element.__zoom=this.zoomStartTransform;}this.props.pubSub.publish("app.zoomEnd");}},{key:"applyZoomTransform",value:function applyZoomTransform(notify=true){const props=this.currentProps;const paddingleft=props.paddingLeft+props.leftWidth;const paddingTop=props.paddingTop+props.topHeight;if(!this.xScale||!this.yScale){return void 0;}this.zoomedXScale=this.zoomTransform.rescaleX(this.xScale);this.zoomedYScale=this.zoomTransform.rescaleY(this.yScale);const newXScale=linear().domain([paddingleft,paddingleft+props.centerWidth].map(this.zoomedXScale.invert)).range([0,props.centerWidth]);const newYScale=linear().domain([paddingTop,paddingTop+props.centerHeight].map(this.zoomedYScale.invert)).range([0,props.centerHeight]);for(const uid in this.trackDefObjects){const track=this.trackDefObjects[uid].trackObject;const trackDef=this.trackDefObjects[uid].trackDef;let orientation2="unknown";if(TRACKS_INFO_BY_TYPE[trackDef.track.type]){orientation2=TRACKS_INFO_BY_TYPE[trackDef.track.type].orientation;}if(orientation2==="whole"){const trackXScale=linear().domain([props.paddingLeft,props.width-props.paddingLeft].map(this.zoomedXScale.invert)).range([0,props.width-2*props.paddingLeft]);const trackYScale=linear().domain([props.paddingTop,props.height-props.paddingTop].map(this.zoomedYScale.invert)).range([0,props.height-2*props.paddingTop]);track.zoomed(trackXScale,trackYScale);continue;}if(this.trackDefObjects[uid].trackDef.track.position==="gallery"){const trackXScale=linear().domain([props.paddingLeft+props.leftWidthNoGallery,props.paddingLeft+props.leftWidth+props.centerWidth+props.galleryDim].map(this.zoomedXScale.invert)).range([0,props.centerWidth+2*props.galleryDim]);const trackYScale=linear().domain([props.paddingTop+props.topHeightNoGallery,props.paddingTop+props.topHeight+props.centerHeight+props.galleryDim].map(this.zoomedYScale.invert)).range([0,props.centerHeight-2*props.galleryDim]);track.zoomed(trackXScale.copy(),trackYScale.copy(),this.zoomTransform.k);continue;}track.zoomed(newXScale.copy(),newYScale.copy(),this.zoomTransform.k,this.zoomTransform.x+this.xPositionOffset,this.zoomTransform.y+this.yPositionOffset,props.paddingLeft+props.leftWidth,props.paddingTop+props.topHeight);}this.currentXScale=newXScale;this.currentYScale=newYScale;if(notify){this.currentProps.onScalesChanged(newXScale,newYScale);}return[newXScale,newYScale];}},{key:"createMetaTrack",value:function createMetaTrack(track){switch(track.type){default:{const pluginTrack=this.props.pluginTracks[track.type];if(pluginTrack==null?void 0:pluginTrack.isMetaTrack){const context={getTrackObject:this.getTrackObject.bind(this),onNewTilesLoaded:()=>{this.currentProps.onNewTilesLoaded(track.uid);},definition:track};try{return new pluginTrack.track(this.availableForPlugins,context,track.options);}catch(e){console.error("Plugin meta track",track.type,"failed to instantiate.",e);}}console.warn(`Unknown meta track of type: ${track.type}`);return new UnknownPixiTrack(this.pStage,{name:"Unknown Track Type",type:track.type});}}}},{key:"createTrackObject",value:function createTrackObject(track){const trackObject=this.createLocationAgnosticTrackObject(track);if(track.position==="left"||track.position==="right"){if(TRACKS_INFO_BY_TYPE[track.type].orientation==="1d-horizontal"){return new LeftTrackModifier(trackObject);}}return trackObject;}},{key:"createLocationAgnosticTrackObject",value:function createLocationAgnosticTrackObject(track){let dataConfig=track.data;if(!dataConfig){dataConfig={server:trimTrailingSlash(track.server),tilesetUid:track.tilesetUid};}if(track.coordSystem){dataConfig.coordSystem=track.coordSystem;}const dataFetcher=getDataFetcher(dataConfig,this.props.pubSub,this.props.pluginDataFetchers,this.availableForPlugins);if(!this.pStage||!this.svgElement){throw new Error("No PIXI stage or svg element");}const context={id:track.uid,trackUid:track.uid,trackType:track.type,viewUid:this.viewUid,pubSub:this.props.pubSub,scene:this.pStage,dataConfig,dataFetcher,getLockGroupExtrema:()=>this.currentProps.getLockGroupExtrema(track.uid),handleTilesetInfoReceived:tilesetInfo=>{this.currentProps.onTilesetInfoReceived(track.uid,tilesetInfo);},animate:()=>{this.currentProps.onNewTilesLoaded(track.uid);},svgElement:this.svgElement,isValueScaleLocked:()=>this.currentProps.isValueScaleLocked(track.uid),onValueScaleChanged:()=>{this.currentProps.onValueScaleChanged(track.uid);},onTrackOptionsChanged:newOptions=>{this.currentProps.onTrackOptionsChanged(track.uid,newOptions);},onMouseMoveZoom:this.props.onMouseMoveZoom,chromInfoPath:track.chromInfoPath,isShowGlobalMousePosition:()=>this.props.isShowGlobalMousePosition,getTheme:()=>this.props.theme};if(track.y){context.yPosition=track.y;}if(track.x){context.xPosition=track.x;}if(track.projectionXDomain){context.projectionXDomain=track.projectionXDomain;}if(track.projectionYDomain){context.projectionYDomain=track.projectionYDomain;}switch(track.type){case"left-axis":return new LeftAxisTrack(context,track.options);case"top-axis":return new TopAxisTrack(context,track.options);case"heatmap":return new HeatmapTiledPixiTrack(context,track.options);case"multivec":case"vector-heatmap":case"horizontal-multivec":case"horizontal-vector-heatmap":case"vertical-multivec":case"vertical-vector-heatmap":return new HorizontalMultivecTrack(context,track.options);case"1d-heatmap":case"horizontal-1d-heatmap":case"vertical-1d-heatmap":return new Horizontal1dHeatmapTrack(context,track.options);case"line":case"horizontal-line":case"vertical-line":return new HorizontalLine1DPixiTrack(context,track.options);case"point":case"horizontal-point":case"vertical-point":return new HorizontalPoint1DPixiTrack(context,track.options);case"bar":case"horizontal-bar":case"vertical-bar":return new BarTrack(context,track.options);case"divergent-bar":case"horizontal-divergent-bar":case"vertical-divergent-bar":return new DivergentBarTrack(context,track.options);case"horizontal-1d-tiles":return new IdHorizontal1DTiledPixiTrack(context,track.options);case"vertical-1d-tiles":return new IdVertical1DTiledPixiTrack(context,track.options);case"2d-tiles":return new Id2DTiledPixiTrack(context,track.options);case"stacked-interval":case"top-stacked-interval":case"left-stacked-interval":return new CNVIntervalTrack(context,track.options);case"viewport-projection-center":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTracker2D$1(context,track.options);}return new Track(context,{});case"viewport-projection-horizontal":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTrackerHorizontal(context,track.options);}return new Track(context,{});case"viewport-projection-vertical":if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;return new ViewportTrackerVertical(context,track.options);}return new Track(context,{});case"gene-annotations":case"horizontal-gene-annotations":case"vertical-gene-annotations":return new HorizontalGeneAnnotationsTrack(context,track.options);case"2d-rectangle-domains":case"arrowhead-domains":return new ArrowheadDomainsTrack(context,track.options);case"horizontal-1d-annotations":return new Annotations1dTrack(context,track.options);case"vertical-1d-annotations":return new Annotations1dTrack(context,track.options,true);case"2d-annotations":return new Annotations2dTrack(context,track.options);case"linear-2d-rectangle-domains":case"horizontal-2d-rectangle-domains":case"vertical-2d-rectangle-domains":return new Horizontal2DDomainsTrack(context,track.options);case"square-markers":return new SquareMarkersTrack(context,track.options);case"combined":context.tracks=track.contents;context.createTrackObject=this.createTrackObject.bind(this);return new CombinedTrack(context);case"2d-chromosome-labels":return new Chromosome2DLabels(context,track.options);case"horizontal-chromosome-grid":context.orientation="1d-horizontal";return new ChromosomeGrid(context,track.options);case"vertical-chromosome-grid":context.orientation="1d-vertical";return new ChromosomeGrid(context,track.options);case"2d-chromosome-grid":return new ChromosomeGrid(context,track.options);case"chromosome-labels":case"horizontal-chromosome-labels":case"vertical-chromosome-labels":return new HorizontalChromosomeLabels(context,track.options);case"linear-heatmap":case"horizontal-heatmap":case"vertical-heatmap":return new HorizontalHeatmapTrack(context,track.options);case"2d-chromosome-annotations":return new Chromosome2DAnnotations(context,track.options);case"1d-value-interval":case"horizontal-1d-value-interval":case"vertical-1d-value-interval":return new ValueIntervalTrack(context,track.options);case"osm":case"osm-tiles":return new OSMTilesTrack(context,track.options);case"osm-2d-tile-ids":return new OSMTileIdsTrack(context,track.options);case"mapbox":case"mapbox-tiles":return new MapboxTilesTrack(context,track.options);case"raster-tiles":return new RasterTilesTrack(context,track.options);case"bedlike":case"vertical-bedlike":return new BedLikeTrack(context,track.options);case"overlay-track":return new OverlayTrack(context,track.options);case"overlay-chromosome-grid-track":context.isOverlay=true;return new ChromosomeGrid(context,track.options);case"horizontal-rule":return new HorizontalRule(context,track.options);case"vertical-rule":return new VerticalRule(context,track.options);case"cross-rule":context.x=track.x;context.y=track.y;return new CrossRule(context,track.options);case"simple-svg":return new SVGTrack(context,track.options);case"empty":{const options2=track.options;return new PixiTrack(context,options2);}default:{const pluginTrack=this.props.pluginTracks[track.type];if(pluginTrack&&!pluginTrack.isMetaTrack){context.AVAILABLE_FOR_PLUGINS=this.availableForPlugins;context.baseEl=this.baseEl;context.definition=track;if(track.registerViewportChanged&&track.removeViewportChanged&&track.setDomainsCallback){context.registerViewportChanged=track.registerViewportChanged;context.removeViewportChanged=track.removeViewportChanged;context.setDomainsCallback=track.setDomainsCallback;}try{return new pluginTrack.track(this.availableForPlugins,context,track.options);}catch(e){console.error("Plugin track",track.type,"failed to instantiate.",e);}}console.warn("Unknown track type:",track.type);return new UnknownPixiTrack(context,{name:"Unknown Track Type",type:track.type});}}}},{key:"zoomToDataPos",value:function zoomToDataPos(dataXStart,dataXEnd,dataYStart,dataYEnd,animateTime=3e3,projector=null){const[centerX,centerY,k]=scalesCenterAndK(this.xScale.copy().domain([dataXStart,dataXEnd]),this.yScale.copy().domain([dataYStart,dataYEnd]));const projectedScales=projector?projector(this.xScale,this.yScale):[this.xScale,this.yScale];this.setCenter(centerX,centerY,k,false,animateTime,projectedScales[0],projectedScales[1]);}},{key:"forwardContextMenu",value:function forwardContextMenu(e){if(this.props.disableTrackMenu||e.altKey)return;e.preventDefault();setTimeout(()=>{this.props.pubSub.publish("contextmenu",e);},0);}},{key:"addEventTracker",value:function addEventTracker(){if(!this.eventTracker||this.eventTracker===this.eventTrackerOld)return;if(!this.eventTrackerOld)this.eventTrackerOld=this.eventTracker;this.eventTracker=this.eventTrackerOld;this.eventTracker.addEventListener("click",this.boundForwardEvent);this.eventTracker.addEventListener("contextmenu",this.boundForwardContextMenu);this.eventTracker.addEventListener("dblclick",this.boundForwardEvent);this.eventTracker.addEventListener("wheel",this.boundForwardEvent);this.eventTracker.addEventListener("dragstart",this.boundForwardEvent);this.eventTracker.addEventListener("selectstart",this.boundForwardEvent);this.eventTracker.addEventListener("mouseover",this.boundForwardEvent);this.eventTracker.addEventListener("mouseenter",this.boundForwardEvent);this.eventTracker.addEventListener("mousedown",this.boundForwardEvent);this.eventTracker.addEventListener("mouseup",this.boundForwardEvent);this.eventTracker.addEventListener("mouseout",this.boundForwardEvent);this.eventTracker.addEventListener("mouseleave",this.boundForwardEvent);this.eventTracker.addEventListener("touchstart",this.boundForwardEvent);this.eventTracker.addEventListener("touchend",this.boundForwardEvent);this.eventTracker.addEventListener("touchmove",this.boundForwardEvent);this.eventTracker.addEventListener("touchcancel",this.boundForwardEvent);this.eventTracker.addEventListener("pointerover",this.boundForwardEvent);this.eventTracker.addEventListener("pointerenter",this.boundForwardEvent);this.eventTracker.addEventListener("pointerdown",this.boundForwardEvent);this.eventTracker.addEventListener("pointerup",this.boundForwardEvent);this.eventTracker.addEventListener("pointercancel",this.boundForwardEvent);this.eventTracker.addEventListener("pointerout",this.boundForwardEvent);this.eventTracker.addEventListener("pointerleave",this.boundForwardEvent);window.addEventListener("scroll",this.boundScrollEvent);}},{key:"removeEventTracker",value:function removeEventTracker(){if(!this.eventTracker)return;this.eventTracker.removeEventListener("click",this.boundForwardEvent);this.eventTracker.removeEventListener("contextmenu",this.boundForwardContextMenu);this.eventTracker.removeEventListener("dblclick",this.boundForwardEvent);this.eventTracker.removeEventListener("wheel",this.boundForwardEvent);this.eventTracker.removeEventListener("dragstart",this.boundForwardEvent);this.eventTracker.removeEventListener("selectstart",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseover",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseenter",this.boundForwardEvent);this.eventTracker.removeEventListener("mousedown",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseup",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseout",this.boundForwardEvent);this.eventTracker.removeEventListener("mouseleave",this.boundForwardEvent);this.eventTracker.removeEventListener("touchstart",this.boundForwardEvent);this.eventTracker.removeEventListener("touchend",this.boundForwardEvent);this.eventTracker.removeEventListener("touchcancel",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerover",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerenter",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerdown",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerup",this.boundForwardEvent);this.eventTracker.removeEventListener("pointercancel",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerout",this.boundForwardEvent);this.eventTracker.removeEventListener("pointerleave",this.boundForwardEvent);window.removeEventListener("scroll",this.boundScrollEvent);}},{key:"scrollEvent",value:function scrollEvent(){if(!this.element)return;this.elementPos=this.element.getBoundingClientRect();}},{key:"forwardEvent",value:function forwardEvent(event){event.sourceUid=this.uid;event.forwarded=true;this.props.pubSub.publish("app.event",event);}},{key:"onScrollHandler",value:function onScrollHandler(scrollTop){this.scrollTop=scrollTop;}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.baseEl=c2;},className:clsx("track-renderer-div",classes$3["track-renderer"]),style:{height:this.currentProps.height,width:this.currentProps.width}},/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.element=c2;},className:clsx("track-renderer-element",classes$3["track-renderer-element"])}),/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.eventTracker=c2;},className:clsx("track-renderer-events",classes$3["track-renderer-events"])},this.currentProps.children));}}]);return TrackRenderer;}(React__default.default.Component);TrackRenderer.defaultProps={pluginDataFetchers:{},pluginTracks:{},canvasElement:null,centerHeight:0,centerWidth:0,children:[],galleryDim:0,height:0,initialXDomain:[],initialYDomain:[],isShowGlobalMousePosition:false,isRangeSelection:false,leftWidth:0,leftWidthNoGallery:0,paddingLeft:0,paddingTop:0,positionedTracks:[],topHeight:0,topHeightNoGallery:0,width:0,metaTracks:[]};TrackRenderer.propTypes={canvasElement:propTypes$3.exports.object,centerHeight:propTypes$3.exports.number,centerWidth:propTypes$3.exports.number,children:propTypes$3.exports.array,disableTrackMenu:propTypes$3.exports.bool,galleryDim:propTypes$3.exports.number,height:propTypes$3.exports.number,initialXDomain:propTypes$3.exports.array,initialYDomain:propTypes$3.exports.array,isShowGlobalMousePosition:propTypes$3.exports.bool,isRangeSelection:propTypes$3.exports.bool,leftWidth:propTypes$3.exports.number,leftWidthNoGallery:propTypes$3.exports.number,paddingLeft:propTypes$3.exports.number,paddingTop:propTypes$3.exports.number,metaTracks:propTypes$3.exports.array,onMouseMoveZoom:propTypes$3.exports.func,onNewTilesLoaded:propTypes$3.exports.func.isRequired,onScalesChanged:propTypes$3.exports.func.isRequired,pixiRenderer:propTypes$3.exports.object.isRequired,pixiStage:propTypes$3.exports.object.isRequired,pluginDataFetchers:propTypes$3.exports.object,pluginTracks:propTypes$3.exports.object,positionedTracks:propTypes$3.exports.array,pubSub:propTypes$3.exports.object.isRequired,setCentersFunction:propTypes$3.exports.func,svgElement:propTypes$3.exports.object.isRequired,theme:propTypes$3.exports.symbol.isRequired,topHeight:propTypes$3.exports.number,topHeightNoGallery:propTypes$3.exports.number,viewOptions:propTypes$3.exports.object,width:propTypes$3.exports.number,xDomainLimits:propTypes$3.exports.array,yDomainLimits:propTypes$3.exports.array,valueScaleZoom:propTypes$3.exports.bool,zoomable:propTypes$3.exports.bool.isRequired,zoomDomain:propTypes$3.exports.array,uid:propTypes$3.exports.string,zoomLimits:propTypes$3.exports.array};const TrackRenderer$1=withPubSub(withTheme(TrackRenderer));var index_browser={exports:{}};/*! react-checkbox-tree - v1.8.0 | 2022 */(function(module2,exports3){/*! For license information please see index.browser.js.LICENSE.txt */!function(e,t){module2.exports=t(React__default.default);}(self,e=>(()=>{var t={4184:(e3,t4)=>{var r3;!function(){var n2={}.hasOwnProperty;function o2(){for(var e4=[],t5=0;t5<arguments.length;t5++){var r4=arguments[t5];if(r4){var i2=typeof r4;if("string"===i2||"number"===i2)e4.push(r4);else if(Array.isArray(r4)){if(r4.length){var a=o2.apply(null,r4);a&&e4.push(a);}}else if("object"===i2)if(r4.toString===Object.prototype.toString)for(var c2 in r4)n2.call(r4,c2)&&r4[c2]&&e4.push(c2);else e4.push(r4.toString());}}return e4.join(" ");}e3.exports?(o2.default=o2,e3.exports=o2):void 0===(r3=function(){return o2;}.apply(t4,[]))||(e3.exports=r3);}();},8552:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"DataView");e3.exports=n2;},1989:(e3,t4,r3)=>{var n2=r3(1789),o2=r3(401),i2=r3(7667),a=r3(1327),c2=r3(1866);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},8407:(e3,t4,r3)=>{var n2=r3(7040),o2=r3(4125),i2=r3(2117),a=r3(7518),c2=r3(4705);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},7071:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Map");e3.exports=n2;},3369:(e3,t4,r3)=>{var n2=r3(4785),o2=r3(1285),i2=r3(6e3),a=r3(9916),c2=r3(5265);function s(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.clear();++t5<r4;){var n3=e4[t5];this.set(n3[0],n3[1]);}}s.prototype.clear=n2,s.prototype.delete=o2,s.prototype.get=i2,s.prototype.has=a,s.prototype.set=c2,e3.exports=s;},3818:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Promise");e3.exports=n2;},8525:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"Set");e3.exports=n2;},8668:(e3,t4,r3)=>{var n2=r3(3369),o2=r3(619),i2=r3(2385);function a(e4){var t5=-1,r4=null==e4?0:e4.length;for(this.__data__=new n2();++t5<r4;)this.add(e4[t5]);}a.prototype.add=a.prototype.push=o2,a.prototype.has=i2,e3.exports=a;},6384:(e3,t4,r3)=>{var n2=r3(8407),o2=r3(7465),i2=r3(3779),a=r3(7599),c2=r3(4758),s=r3(4309);function l(e4){var t5=this.__data__=new n2(e4);this.size=t5.size;}l.prototype.clear=o2,l.prototype.delete=i2,l.prototype.get=a,l.prototype.has=c2,l.prototype.set=s,e3.exports=l;},2705:(e3,t4,r3)=>{var n2=r3(5639).Symbol;e3.exports=n2;},1149:(e3,t4,r3)=>{var n2=r3(5639).Uint8Array;e3.exports=n2;},577:(e3,t4,r3)=>{var n2=r3(852)(r3(5639),"WeakMap");e3.exports=n2;},4963:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=null==e4?0:e4.length,o2=0,i2=[];++r3<n2;){var a=e4[r3];t4(a,r3,e4)&&(i2[o2++]=a);}return i2;};},4636:(e3,t4,r3)=>{var n2=r3(2545),o2=r3(5694),i2=r3(1469),a=r3(4144),c2=r3(5776),s=r3(6719),l=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5){var r4=i2(e4),u=!r4&&o2(e4),p=!r4&&!u&&a(e4),f2=!r4&&!u&&!p&&s(e4),d=r4||u||p||f2,h=d?n2(e4.length,String):[],y=h.length;for(var b in e4)!t5&&!l.call(e4,b)||d&&("length"==b||p&&("offset"==b||"parent"==b)||f2&&("buffer"==b||"byteLength"==b||"byteOffset"==b)||c2(b,y))||h.push(b);return h;};},2488:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=t4.length,o2=e4.length;++r3<n2;)e4[o2+r3]=t4[r3];return e4;};},2908:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=null==e4?0:e4.length;++r3<n2;)if(t4(e4[r3],r3,e4))return true;return false;};},8470:(e3,t4,r3)=>{var n2=r3(7813);e3.exports=function(e4,t5){for(var r4=e4.length;r4--;)if(n2(e4[r4][0],t5))return r4;return-1;};},8866:(e3,t4,r3)=>{var n2=r3(2488),o2=r3(1469);e3.exports=function(e4,t5,r4){var i2=t5(e4);return o2(e4)?i2:n2(i2,r4(e4));};},4239:(e3,t4,r3)=>{var n2=r3(2705),o2=r3(9607),i2=r3(2333),a=n2?n2.toStringTag:void 0;e3.exports=function(e4){return null==e4?void 0===e4?"[object Undefined]":"[object Null]":a&&a in Object(e4)?o2(e4):i2(e4);};},9454:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(7005);e3.exports=function(e4){return o2(e4)&&"[object Arguments]"==n2(e4);};},939:(e3,t4,r3)=>{var n2=r3(2492),o2=r3(7005);e3.exports=function e4(t5,r4,i2,a,c2){return t5===r4||(null==t5||null==r4||!o2(t5)&&!o2(r4)?t5!=t5&&r4!=r4:n2(t5,r4,i2,a,e4,c2));};},2492:(e3,t4,r3)=>{var n2=r3(6384),o2=r3(7114),i2=r3(8351),a=r3(6096),c2=r3(4160),s=r3(1469),l=r3(4144),u=r3(6719),p="[object Arguments]",f2="[object Array]",d="[object Object]",h=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5,r4,y,b,v){var g=s(e4),m=s(t5),x=g?f2:c2(e4),O=m?f2:c2(t5),k=(x=x==p?d:x)==d,j=(O=O==p?d:O)==d,_=x==O;if(_&&l(e4)){if(!l(t5))return false;g=true,k=false;}if(_&&!k)return v||(v=new n2()),g||u(e4)?o2(e4,t5,r4,y,b,v):i2(e4,t5,x,r4,y,b,v);if(!(1&r4)){var w=k&&h.call(e4,"__wrapped__"),C2=j&&h.call(t5,"__wrapped__");if(w||C2){var P=w?e4.value():e4,E2=C2?t5.value():t5;return v||(v=new n2()),b(P,E2,r4,y,v);}}return!!_&&(v||(v=new n2()),a(e4,t5,r4,y,b,v));};},8458:(e3,t4,r3)=>{var n2=r3(3560),o2=r3(5346),i2=r3(3218),a=r3(346),c2=/^\[object .+?Constructor\]$/,s=Function.prototype,l=Object.prototype,u=s.toString,p=l.hasOwnProperty,f2=RegExp("^"+u.call(p).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e3.exports=function(e4){return!(!i2(e4)||o2(e4))&&(n2(e4)?f2:c2).test(a(e4));};},8749:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(1780),i2=r3(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=true,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=false,e3.exports=function(e4){return i2(e4)&&o2(e4.length)&&!!a[n2(e4)];};},280:(e3,t4,r3)=>{var n2=r3(5726),o2=r3(6916),i2=Object.prototype.hasOwnProperty;e3.exports=function(e4){if(!n2(e4))return o2(e4);var t5=[];for(var r4 in Object(e4))i2.call(e4,r4)&&"constructor"!=r4&&t5.push(r4);return t5;};},2545:e3=>{e3.exports=function(e4,t4){for(var r3=-1,n2=Array(e4);++r3<e4;)n2[r3]=t4(r3);return n2;};},1717:e3=>{e3.exports=function(e4){return function(t4){return e4(t4);};};},4757:e3=>{e3.exports=function(e4,t4){return e4.has(t4);};},4429:(e3,t4,r3)=>{var n2=r3(5639)["__core-js_shared__"];e3.exports=n2;},7114:(e3,t4,r3)=>{var n2=r3(8668),o2=r3(2908),i2=r3(4757);e3.exports=function(e4,t5,r4,a,c2,s){var l=1&r4,u=e4.length,p=t5.length;if(u!=p&&!(l&&p>u))return false;var f2=s.get(e4),d=s.get(t5);if(f2&&d)return f2==t5&&d==e4;var h=-1,y=true,b=2&r4?new n2():void 0;for(s.set(e4,t5),s.set(t5,e4);++h<u;){var v=e4[h],g=t5[h];if(a)var m=l?a(g,v,h,t5,e4,s):a(v,g,h,e4,t5,s);if(void 0!==m){if(m)continue;y=false;break;}if(b){if(!o2(t5,function(e6,t6){if(!i2(b,t6)&&(v===e6||c2(v,e6,r4,a,s)))return b.push(t6);})){y=false;break;}}else if(v!==g&&!c2(v,g,r4,a,s)){y=false;break;}}return s.delete(e4),s.delete(t5),y;};},8351:(e3,t4,r3)=>{var n2=r3(2705),o2=r3(1149),i2=r3(7813),a=r3(7114),c2=r3(8776),s=r3(1814),l=n2?n2.prototype:void 0,u=l?l.valueOf:void 0;e3.exports=function(e4,t5,r4,n3,l2,p,f2){switch(r4){case"[object DataView]":if(e4.byteLength!=t5.byteLength||e4.byteOffset!=t5.byteOffset)return false;e4=e4.buffer,t5=t5.buffer;case"[object ArrayBuffer]":return!(e4.byteLength!=t5.byteLength||!p(new o2(e4),new o2(t5)));case"[object Boolean]":case"[object Date]":case"[object Number]":return i2(+e4,+t5);case"[object Error]":return e4.name==t5.name&&e4.message==t5.message;case"[object RegExp]":case"[object String]":return e4==t5+"";case"[object Map]":var d=c2;case"[object Set]":var h=1&n3;if(d||(d=s),e4.size!=t5.size&&!h)return false;var y=f2.get(e4);if(y)return y==t5;n3|=2,f2.set(e4,t5);var b=a(d(e4),d(t5),n3,l2,p,f2);return f2.delete(e4),b;case"[object Symbol]":if(u)return u.call(e4)==u.call(t5);}return false;};},6096:(e3,t4,r3)=>{var n2=r3(8234),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4,t5,r4,i2,a,c2){var s=1&r4,l=n2(e4),u=l.length;if(u!=n2(t5).length&&!s)return false;for(var p=u;p--;){var f2=l[p];if(!(s?f2 in t5:o2.call(t5,f2)))return false;}var d=c2.get(e4),h=c2.get(t5);if(d&&h)return d==t5&&h==e4;var y=true;c2.set(e4,t5),c2.set(t5,e4);for(var b=s;++p<u;){var v=e4[f2=l[p]],g=t5[f2];if(i2)var m=s?i2(g,v,f2,t5,e4,c2):i2(v,g,f2,e4,t5,c2);if(!(void 0===m?v===g||a(v,g,r4,i2,c2):m)){y=false;break;}b||(b="constructor"==f2);}if(y&&!b){var x=e4.constructor,O=t5.constructor;x==O||!("constructor"in e4)||!("constructor"in t5)||"function"==typeof x&&x instanceof x&&"function"==typeof O&&O instanceof O||(y=false);}return c2.delete(e4),c2.delete(t5),y;};},1957:(e3,t4,r3)=>{var n2="object"==typeof r3.g&&r3.g&&r3.g.Object===Object&&r3.g;e3.exports=n2;},8234:(e3,t4,r3)=>{var n2=r3(8866),o2=r3(9551),i2=r3(3674);e3.exports=function(e4){return n2(e4,i2,o2);};},5050:(e3,t4,r3)=>{var n2=r3(7019);e3.exports=function(e4,t5){var r4=e4.__data__;return n2(t5)?r4["string"==typeof t5?"string":"hash"]:r4.map;};},852:(e3,t4,r3)=>{var n2=r3(8458),o2=r3(7801);e3.exports=function(e4,t5){var r4=o2(e4,t5);return n2(r4)?r4:void 0;};},9607:(e3,t4,r3)=>{var n2=r3(2705),o2=Object.prototype,i2=o2.hasOwnProperty,a=o2.toString,c2=n2?n2.toStringTag:void 0;e3.exports=function(e4){var t5=i2.call(e4,c2),r4=e4[c2];try{e4[c2]=void 0;var n3=true;}catch(e6){}var o3=a.call(e4);return n3&&(t5?e4[c2]=r4:delete e4[c2]),o3;};},9551:(e3,t4,r3)=>{var n2=r3(4963),o2=r3(479),i2=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,c2=a?function(e4){return null==e4?[]:(e4=Object(e4),n2(a(e4),function(t5){return i2.call(e4,t5);}));}:o2;e3.exports=c2;},4160:(e3,t4,r3)=>{var n2=r3(8552),o2=r3(7071),i2=r3(3818),a=r3(8525),c2=r3(577),s=r3(4239),l=r3(346),u="[object Map]",p="[object Promise]",f2="[object Set]",d="[object WeakMap]",h="[object DataView]",y=l(n2),b=l(o2),v=l(i2),g=l(a),m=l(c2),x=s;(n2&&x(new n2(new ArrayBuffer(1)))!=h||o2&&x(new o2())!=u||i2&&x(i2.resolve())!=p||a&&x(new a())!=f2||c2&&x(new c2())!=d)&&(x=function(e4){var t5=s(e4),r4="[object Object]"==t5?e4.constructor:void 0,n3=r4?l(r4):"";if(n3)switch(n3){case y:return h;case b:return u;case v:return p;case g:return f2;case m:return d;}return t5;}),e3.exports=x;},7801:e3=>{e3.exports=function(e4,t4){return null==e4?void 0:e4[t4];};},1789:(e3,t4,r3)=>{var n2=r3(4536);e3.exports=function(){this.__data__=n2?n2(null):{},this.size=0;};},401:e3=>{e3.exports=function(e4){var t4=this.has(e4)&&delete this.__data__[e4];return this.size-=t4?1:0,t4;};},7667:(e3,t4,r3)=>{var n2=r3(4536),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4){var t5=this.__data__;if(n2){var r4=t5[e4];return"__lodash_hash_undefined__"===r4?void 0:r4;}return o2.call(t5,e4)?t5[e4]:void 0;};},1327:(e3,t4,r3)=>{var n2=r3(4536),o2=Object.prototype.hasOwnProperty;e3.exports=function(e4){var t5=this.__data__;return n2?void 0!==t5[e4]:o2.call(t5,e4);};},1866:(e3,t4,r3)=>{var n2=r3(4536);e3.exports=function(e4,t5){var r4=this.__data__;return this.size+=this.has(e4)?0:1,r4[e4]=n2&&void 0===t5?"__lodash_hash_undefined__":t5,this;};},5776:e3=>{var t4=/^(?:0|[1-9]\d*)$/;e3.exports=function(e4,r3){var n2=typeof e4;return!!(r3=null==r3?9007199254740991:r3)&&("number"==n2||"symbol"!=n2&&t4.test(e4))&&e4>-1&&e4%1==0&&e4<r3;};},7019:e3=>{e3.exports=function(e4){var t4=typeof e4;return"string"==t4||"number"==t4||"symbol"==t4||"boolean"==t4?"__proto__"!==e4:null===e4;};},5346:(e3,t4,r3)=>{var n2,o2=r3(4429),i2=(n2=/[^.]+$/.exec(o2&&o2.keys&&o2.keys.IE_PROTO||""))?"Symbol(src)_1."+n2:"";e3.exports=function(e4){return!!i2&&i2 in e4;};},5726:e3=>{var t4=Object.prototype;e3.exports=function(e4){var r3=e4&&e4.constructor;return e4===("function"==typeof r3&&r3.prototype||t4);};},7040:e3=>{e3.exports=function(){this.__data__=[],this.size=0;};},4125:(e3,t4,r3)=>{var n2=r3(8470),o2=Array.prototype.splice;e3.exports=function(e4){var t5=this.__data__,r4=n2(t5,e4);return!(r4<0||(r4==t5.length-1?t5.pop():o2.call(t5,r4,1),--this.size,0));};},2117:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4){var t5=this.__data__,r4=n2(t5,e4);return r4<0?void 0:t5[r4][1];};},7518:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4){return n2(this.__data__,e4)>-1;};},4705:(e3,t4,r3)=>{var n2=r3(8470);e3.exports=function(e4,t5){var r4=this.__data__,o2=n2(r4,e4);return o2<0?(++this.size,r4.push([e4,t5])):r4[o2][1]=t5,this;};},4785:(e3,t4,r3)=>{var n2=r3(1989),o2=r3(8407),i2=r3(7071);e3.exports=function(){this.size=0,this.__data__={hash:new n2(),map:new(i2||o2)(),string:new n2()};};},1285:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){var t5=n2(this,e4).delete(e4);return this.size-=t5?1:0,t5;};},6e3:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){return n2(this,e4).get(e4);};},9916:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4){return n2(this,e4).has(e4);};},5265:(e3,t4,r3)=>{var n2=r3(5050);e3.exports=function(e4,t5){var r4=n2(this,e4),o2=r4.size;return r4.set(e4,t5),this.size+=r4.size==o2?0:1,this;};},8776:e3=>{e3.exports=function(e4){var t4=-1,r3=Array(e4.size);return e4.forEach(function(e6,n2){r3[++t4]=[n2,e6];}),r3;};},4536:(e3,t4,r3)=>{var n2=r3(852)(Object,"create");e3.exports=n2;},6916:(e3,t4,r3)=>{var n2=r3(5569)(Object.keys,Object);e3.exports=n2;},1167:(e3,t4,r3)=>{e3=r3.nmd(e3);var n2=r3(1957),o2=t4&&!t4.nodeType&&t4,i2=o2&&e3&&!e3.nodeType&&e3,a=i2&&i2.exports===o2&&n2.process,c2=function(){try{return i2&&i2.require&&i2.require("util").types||a&&a.binding&&a.binding("util");}catch(e4){}}();e3.exports=c2;},2333:e3=>{var t4=Object.prototype.toString;e3.exports=function(e4){return t4.call(e4);};},5569:e3=>{e3.exports=function(e4,t4){return function(r3){return e4(t4(r3));};};},5639:(e3,t4,r3)=>{var n2=r3(1957),o2="object"==typeof self&&self&&self.Object===Object&&self,i2=n2||o2||Function("return this")();e3.exports=i2;},619:e3=>{e3.exports=function(e4){return this.__data__.set(e4,"__lodash_hash_undefined__"),this;};},2385:e3=>{e3.exports=function(e4){return this.__data__.has(e4);};},1814:e3=>{e3.exports=function(e4){var t4=-1,r3=Array(e4.size);return e4.forEach(function(e6){r3[++t4]=e6;}),r3;};},7465:(e3,t4,r3)=>{var n2=r3(8407);e3.exports=function(){this.__data__=new n2(),this.size=0;};},3779:e3=>{e3.exports=function(e4){var t4=this.__data__,r3=t4.delete(e4);return this.size=t4.size,r3;};},7599:e3=>{e3.exports=function(e4){return this.__data__.get(e4);};},4758:e3=>{e3.exports=function(e4){return this.__data__.has(e4);};},4309:(e3,t4,r3)=>{var n2=r3(8407),o2=r3(7071),i2=r3(3369);e3.exports=function(e4,t5){var r4=this.__data__;if(r4 instanceof n2){var a=r4.__data__;if(!o2||a.length<199)return a.push([e4,t5]),this.size=++r4.size,this;r4=this.__data__=new i2(a);}return r4.set(e4,t5),this.size=r4.size,this;};},346:e3=>{var t4=Function.prototype.toString;e3.exports=function(e4){if(null!=e4){try{return t4.call(e4);}catch(e6){}try{return e4+"";}catch(e6){}}return"";};},7813:e3=>{e3.exports=function(e4,t4){return e4===t4||e4!=e4&&t4!=t4;};},5694:(e3,t4,r3)=>{var n2=r3(9454),o2=r3(7005),i2=Object.prototype,a=i2.hasOwnProperty,c2=i2.propertyIsEnumerable,s=n2(function(){return arguments;}())?n2:function(e4){return o2(e4)&&a.call(e4,"callee")&&!c2.call(e4,"callee");};e3.exports=s;},1469:e3=>{var t4=Array.isArray;e3.exports=t4;},8612:(e3,t4,r3)=>{var n2=r3(3560),o2=r3(1780);e3.exports=function(e4){return null!=e4&&o2(e4.length)&&!n2(e4);};},4144:(e3,t4,r3)=>{e3=r3.nmd(e3);var n2=r3(5639),o2=r3(5062),i2=t4&&!t4.nodeType&&t4,a=i2&&e3&&!e3.nodeType&&e3,c2=a&&a.exports===i2?n2.Buffer:void 0,s=(c2?c2.isBuffer:void 0)||o2;e3.exports=s;},8446:(e3,t4,r3)=>{var n2=r3(939);e3.exports=function(e4,t5){return n2(e4,t5);};},3560:(e3,t4,r3)=>{var n2=r3(4239),o2=r3(3218);e3.exports=function(e4){if(!o2(e4))return false;var t5=n2(e4);return"[object Function]"==t5||"[object GeneratorFunction]"==t5||"[object AsyncFunction]"==t5||"[object Proxy]"==t5;};},1780:e3=>{e3.exports=function(e4){return"number"==typeof e4&&e4>-1&&e4%1==0&&e4<=9007199254740991;};},3218:e3=>{e3.exports=function(e4){var t4=typeof e4;return null!=e4&&("object"==t4||"function"==t4);};},7005:e3=>{e3.exports=function(e4){return null!=e4&&"object"==typeof e4;};},6719:(e3,t4,r3)=>{var n2=r3(8749),o2=r3(1717),i2=r3(1167),a=i2&&i2.isTypedArray,c2=a?o2(a):n2;e3.exports=c2;},3674:(e3,t4,r3)=>{var n2=r3(4636),o2=r3(280),i2=r3(8612);e3.exports=function(e4){return i2(e4)?n2(e4):o2(e4);};},8306:(e3,t4,r3)=>{var n2=r3(3369);function o2(e4,t5){if("function"!=typeof e4||null!=t5&&"function"!=typeof t5)throw new TypeError("Expected a function");var r4=function(){var n3=arguments,o3=t5?t5.apply(this,n3):n3[0],i2=r4.cache;if(i2.has(o3))return i2.get(o3);var a=e4.apply(this,n3);return r4.cache=i2.set(o3,a)||i2,a;};return r4.cache=new(o2.Cache||n2)(),r4;}o2.Cache=n2,e3.exports=o2;},479:e3=>{e3.exports=function(){return[];};},5062:e3=>{e3.exports=function(){return false;};},2703:(e3,t4,r3)=>{var n2=r3(414);function o2(){}function i2(){}i2.resetWarningCache=o2,e3.exports=function(){function e4(e6,t6,r5,o3,i3,a){if(a!==n2){var c2=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c2.name="Invariant Violation",c2;}}function t5(){return e4;}e4.isRequired=e4;var r4={array:e4,bigint:e4,bool:e4,func:e4,number:e4,object:e4,string:e4,symbol:e4,any:e4,arrayOf:t5,element:e4,elementType:e4,instanceOf:t5,node:e4,objectOf:t5,oneOf:t5,oneOfType:t5,shape:t5,exact:t5,checkPropTypes:i2,resetWarningCache:o2};return r4.PropTypes=r4,r4;};},5697:(e3,t4,r3)=>{e3.exports=r3(2703)();},414:e3=>{e3.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";},9787:t4=>{t4.exports=e;}},r2={};function n(e3){var o2=r2[e3];if(void 0!==o2)return o2.exports;var i2=r2[e3]={id:e3,loaded:false,exports:{}};return t[e3](i2,i2.exports,n),i2.loaded=true,i2.exports;}n.n=e3=>{var t4=e3&&e3.__esModule?()=>e3.default:()=>e3;return n.d(t4,{a:t4}),t4;},n.d=(e3,t4)=>{for(var r3 in t4)n.o(t4,r3)&&!n.o(e3,r3)&&Object.defineProperty(e3,r3,{enumerable:true,get:t4[r3]});},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")();}catch(e3){if("object"==typeof window)return window;}}(),n.o=(e3,t4)=>Object.prototype.hasOwnProperty.call(e3,t4),n.r=e3=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e3,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e3,"__esModule",{value:true});},n.nmd=e3=>(e3.paths=[],e3.children||(e3.children=[]),e3);var o={};return(()=>{n.r(o),n.d(o,{default:()=>xe,expandNodesToLevel:()=>me});var e3=n(4184),t4=n.n(e3),r3=n(8446),i2=n.n(r3),a=n(8306),c2=n.n(a);let s=(e4=21)=>crypto.getRandomValues(new Uint8Array(e4)).reduce((e6,t5)=>e6+((t5&=63)<36?t5.toString(36):t5<62?(t5-26).toString(36).toUpperCase():t5>62?"-":"_"),"");var l=n(5697),u=n.n(l),p=n(9787),f2=n.n(p);function d(e4){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},d(e4);}var h=["children","title"];function y(){return y=Object.assign?Object.assign.bind():function(e4){for(var t5=1;t5<arguments.length;t5++){var r4=arguments[t5];for(var n2 in r4)Object.prototype.hasOwnProperty.call(r4,n2)&&(e4[n2]=r4[n2]);}return e4;},y.apply(this,arguments);}function b(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function v(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function g(e4,t5){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},g(e4,t5);}function m(e4,t5){if(t5&&("object"===d(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return function(e6){if(void 0===e6)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e6;}(e4);}function x(e4){return x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},x(e4);}function O(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var k=function(e4){!function(e6,t6){if("function"!=typeof t6&&null!==t6)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t6&&t6.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t6&&g(e6,t6);}(a2,e4);var t5,r4,n2,o2,i3=(n2=a2,o2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t6=x(n2);if(o2){var r5=x(this).constructor;e6=Reflect.construct(t6,arguments,r5);}else e6=t6.apply(this,arguments);return m(this,e6);});function a2(){return b(this,a2),i3.apply(this,arguments);}return t5=a2,(r4=[{key:"render",value:function(){var e6=this.props,t6=e6.children,r5=e6.title,n3=function(e7,t7){if(null==e7)return{};var r6,n4,o3=function(e8,t8){if(null==e8)return{};var r7,n5,o4={},i5=Object.keys(e8);for(n5=0;n5<i5.length;n5++)r7=i5[n5],t8.indexOf(r7)>=0||(o4[r7]=e8[r7]);return o4;}(e7,t7);if(Object.getOwnPropertySymbols){var i4=Object.getOwnPropertySymbols(e7);for(n4=0;n4<i4.length;n4++)r6=i4[n4],t7.indexOf(r6)>=0||Object.prototype.propertyIsEnumerable.call(e7,r6)&&(o3[r6]=e7[r6]);}return o3;}(e6,h);return f2().createElement("button",y({"aria-label":r5,title:r5,type:"button"},n3),t6);}}])&&v(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),a2;}(f2().PureComponent);O(k,"propTypes",{children:u().node.isRequired,title:u().string}),O(k,"defaultProps",{title:null});const j=k,_={ALL:"all",PARENT:"parent",LEAF:"leaf"};function w(e4){this.message=e4,this.stack=Error().stack;}w.prototype=Object.create(Error.prototype),w.prototype.name="CheckboxTreeError";const C2=w;function P(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function E2(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}function N(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function A5(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}var S=_;const T=function(){function e4(t6){var r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};N(this,e4),this.props=t6,this.flatNodes=r5;}var t5,r4;return t5=e4,r4=[{key:"setProps",value:function(e6){this.props=e6;}},{key:"clone",value:function(){var t6=this,r5={};return Object.keys(this.flatNodes).forEach(function(e6){var n2=t6.flatNodes[e6];r5[e6]=function(e7){for(var t7=1;t7<arguments.length;t7++){var r6=null!=arguments[t7]?arguments[t7]:{};t7%2?P(Object(r6),true).forEach(function(t8){E2(e7,t8,r6[t8]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e7,Object.getOwnPropertyDescriptors(r6)):P(Object(r6)).forEach(function(t8){Object.defineProperty(e7,t8,Object.getOwnPropertyDescriptor(r6,t8));});}return e7;}({},n2);}),new e4(this.props,r5);}},{key:"getNode",value:function(e6){return this.flatNodes[e6];}},{key:"reset",value:function(){this.flatNodes={};}},{key:"flattenNodes",value:function(e6){var t6=this,r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n2=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(Array.isArray(e6)&&0!==e6.length){var o2=this.props,i3=o2.disabled,a2=o2.noCascade;e6.forEach(function(e7,o3){var c3=t6.nodeHasChildren(e7);if(void 0!==t6.flatNodes[e7.value])throw new C2("Duplicate value '".concat(e7.value,"' detected. All node values must be unique."));t6.flatNodes[e7.value]={label:e7.label,value:e7.value,children:e7.children,parent:r5,isChild:void 0!==r5.value,isParent:c3,isLeaf:!c3,showCheckbox:void 0===e7.showCheckbox||e7.showCheckbox,disabled:t6.getDisabledState(e7,r5,i3,a2),treeDepth:n2,index:o3},t6.flattenNodes(e7.children,e7,n2+1);});}}},{key:"nodeHasChildren",value:function(e6){return Array.isArray(e6.children);}},{key:"getDisabledState",value:function(e6,t6,r5,n2){return!!r5||!(n2||!t6.disabled)||Boolean(e6.disabled);}},{key:"deserializeLists",value:function(e6){var t6=this,r5=["checked","expanded"];Object.keys(this.flatNodes).forEach(function(e7){r5.forEach(function(r6){t6.flatNodes[e7][r6]=false;});}),r5.forEach(function(r6){e6[r6].forEach(function(e7){void 0!==t6.flatNodes[e7]&&(t6.flatNodes[e7][r6]=true);});});}},{key:"serializeList",value:function(e6){var t6=this,r5=[];return Object.keys(this.flatNodes).forEach(function(n2){t6.flatNodes[n2][e6]&&r5.push(n2);}),r5;}},{key:"expandAllNodes",value:function(e6){var t6=this;return Object.keys(this.flatNodes).forEach(function(r5){t6.flatNodes[r5].isParent&&(t6.flatNodes[r5].expanded=e6);}),this;}},{key:"toggleChecked",value:function(e6,t6,r5,n2){var o2=this,i3=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],a2=this.flatNodes[e6.value],c3=[S.PARENT,S.ALL].indexOf(r5)>-1,s2=[S.LEAF,S.ALL].indexOf(r5)>-1;if(a2.isLeaf||n2){if(e6.disabled)return this;this.toggleNode(e6.value,"checked",t6);}else(c3||0===a2.children.length)&&this.toggleNode(e6.value,"checked",t6),s2&&a2.children.forEach(function(e7){o2.toggleChecked(e7,t6,r5,n2,false);});return i3&&!n2&&a2.isChild&&c3&&this.toggleParentStatus(a2.parent,r5),this;}},{key:"toggleParentStatus",value:function(e6,t6){var r5=this.flatNodes[e6.value];r5.isChild?(t6===S.ALL&&this.toggleNode(e6.value,"checked",this.isEveryChildChecked(r5)),this.toggleParentStatus(r5.parent,t6)):this.toggleNode(e6.value,"checked",this.isEveryChildChecked(r5));}},{key:"isEveryChildChecked",value:function(e6){var t6=this;return e6.children.every(function(e7){return t6.getNode(e7.value).checked;});}},{key:"toggleNode",value:function(e6,t6,r5){return this.flatNodes[e6][t6]=r5,this;}}],r4&&A5(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),e4;}();function R(e4){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},R(e4);}function L(){return L=Object.assign?Object.assign.bind():function(e4){for(var t5=1;t5<arguments.length;t5++){var r4=arguments[t5];for(var n2 in r4)Object.prototype.hasOwnProperty.call(r4,n2)&&(e4[n2]=r4[n2]);}return e4;},L.apply(this,arguments);}function D2(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function I(e4,t5){if(!(e4 instanceof t5))throw new TypeError("Cannot call a class as a function");}function z(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function q2(e4,t5){return q2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},q2(e4,t5);}function B2(e4,t5){if(t5&&("object"===R(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return function(e6){if(void 0===e6)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e6;}(e4);}function F(e4){return F=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},F(e4);}function M2(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var U=function(e4){!function(e6,t6){if("function"!=typeof t6&&null!==t6)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t6&&t6.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t6&&q2(e6,t6);}(a2,e4);var t5,r4,n2,o2,i3=(n2=a2,o2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t6=F(n2);if(o2){var r5=F(this).constructor;e6=Reflect.construct(t6,arguments,r5);}else e6=t6.apply(this,arguments);return B2(this,e6);});function a2(){return I(this,a2),i3.apply(this,arguments);}return t5=a2,r4=[{key:"componentDidMount",value:function(){this.updateDeterminateProperty();}},{key:"componentDidUpdate",value:function(){this.updateDeterminateProperty();}},{key:"updateDeterminateProperty",value:function(){var e6=this.props.indeterminate;this.checkbox.indeterminate=e6;}},{key:"render",value:function(){var e6=this,t6=function(e7){for(var t7=1;t7<arguments.length;t7++){var r5=null!=arguments[t7]?arguments[t7]:{};t7%2?D2(Object(r5),true).forEach(function(t8){M2(e7,t8,r5[t8]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e7,Object.getOwnPropertyDescriptors(r5)):D2(Object(r5)).forEach(function(t8){Object.defineProperty(e7,t8,Object.getOwnPropertyDescriptor(r5,t8));});}return e7;}({},this.props);return delete t6.indeterminate,f2().createElement("input",L({},t6,{ref:function(t7){e6.checkbox=t7;},type:"checkbox"}));}}],r4&&z(t5.prototype,r4),Object.defineProperty(t5,"prototype",{writable:false}),a2;}(f2().PureComponent);M2(U,"propTypes",{indeterminate:u().bool}),M2(U,"defaultProps",{indeterminate:false});const K2=U,H=u().shape({check:u().node,uncheck:u().node,halfCheck:u().node,expandClose:u().node,expandOpen:u().node,expandAll:u().node,collapseAll:u().node,parentClose:u().node,parentOpen:u().node,leaf:u().node}),$=u().shape({collapseAll:u().string.isRequired,expandAll:u().string.isRequired,toggle:u().string.isRequired});function V(e4){return V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},V(e4);}function W(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function J(e4,t5){return J=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},J(e4,t5);}function G(e4,t5){if(t5&&("object"===V(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return Y3(e4);}function Y3(e4){if(void 0===e4)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e4;}function Q(e4){return Q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},Q(e4);}function X3(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var Z=function(e4){!function(e6,t5){if("function"!=typeof t5&&null!==t5)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t5&&t5.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t5&&J(e6,t5);}(c3,e4);var r4,n2,o2,i3,a2=(o2=c3,i3=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t5=Q(o2);if(i3){var r5=Q(this).constructor;e6=Reflect.construct(t5,arguments,r5);}else e6=t5.apply(this,arguments);return G(this,e6);});function c3(e6){var t5;return function(e7,t6){if(!(e7 instanceof t6))throw new TypeError("Cannot call a class as a function");}(this,c3),(t5=a2.call(this,e6)).onCheck=t5.onCheck.bind(Y3(t5)),t5.onCheckboxKeyPress=t5.onCheckboxKeyPress.bind(Y3(t5)),t5.onCheckboxKeyUp=t5.onCheckboxKeyUp.bind(Y3(t5)),t5.onClick=t5.onClick.bind(Y3(t5)),t5.onExpand=t5.onExpand.bind(Y3(t5)),t5;}return r4=c3,(n2=[{key:"onCheck",value:function(){var e6=this.props,t5=e6.value;(0,e6.onCheck)({value:t5,checked:this.getCheckState({toggle:true})});}},{key:"onCheckboxKeyPress",value:function(e6){32===e6.which&&e6.preventDefault();}},{key:"onCheckboxKeyUp",value:function(e6){var t5=e6.keyCode;[13,32].includes(t5)&&this.onCheck();}},{key:"onClick",value:function(){var e6=this.props,t5=e6.expandOnClick,r5=e6.isParent,n3=e6.value,o3=e6.onClick;r5&&t5&&this.onExpand(),o3({value:n3,checked:this.getCheckState({toggle:false})});}},{key:"onExpand",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.value;(0,e6.onExpand)({value:r5,expanded:!t5});}},{key:"getCheckState",value:function(e6){var t5=e6.toggle,r5=this.props,n3=r5.checked,o3=r5.optimisticToggle;return!(0!==n3||!t5)||1===n3&&!t5||2===n3&&o3;}},{key:"renderCollapseButton",value:function(){var e6=this.props,t5=e6.expandDisabled,r5=e6.isLeaf,n3=e6.lang;return r5?f2().createElement("span",{className:"rct-collapse"},f2().createElement("span",{className:"rct-icon"})):f2().createElement(j,{className:"rct-collapse rct-collapse-btn",disabled:t5,title:n3.toggle,onClick:this.onExpand},this.renderCollapseIcon());}},{key:"renderCollapseIcon",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.icons,n3=r5.expandClose,o3=r5.expandOpen;return t5?o3:n3;}},{key:"renderCheckboxIcon",value:function(){var e6=this.props,t5=e6.checked,r5=e6.icons,n3=r5.uncheck,o3=r5.check,i4=r5.halfCheck;return 0===t5?n3:1===t5?o3:i4;}},{key:"renderNodeIcon",value:function(){var e6=this.props,t5=e6.expanded,r5=e6.icon,n3=e6.icons,o3=n3.leaf,i4=n3.parentClose,a3=n3.parentOpen,c4=e6.isLeaf;return null!==r5?r5:c4?o3:t5?a3:i4;}},{key:"renderBareLabel",value:function(e6){var t5=this.props,r5=t5.onClick,n3=t5.title,o3=null!==r5;return f2().createElement("span",{className:"rct-bare-label",title:n3},o3?f2().createElement("span",{className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"button",tabIndex:0},e6):e6);}},{key:"renderCheckboxLabel",value:function(e6){var t5=this.props,r5=t5.checked,n3=t5.disabled,o3=t5.title,i4=t5.treeId,a3=t5.value,c4=null!==t5.onClick,s2="".concat(i4,"-").concat(String(a3).split(" ").join("_")),l2=[f2().createElement("label",{key:0,htmlFor:s2,title:o3},f2().createElement(K2,{checked:1===r5,disabled:n3,id:s2,indeterminate:2===r5,onClick:this.onCheck,onChange:function(){}}),f2().createElement("span",{"aria-checked":1===r5,"aria-disabled":n3,className:"rct-checkbox",role:"checkbox",tabIndex:0,onKeyPress:this.onCheckboxKeyPress,onKeyUp:this.onCheckboxKeyUp},this.renderCheckboxIcon()),c4?null:e6)];return c4&&l2.push(f2().createElement("span",{key:1,className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"link",tabIndex:0},e6)),l2;}},{key:"renderLabel",value:function(){var e6=this.props,t5=e6.label,r5=e6.showCheckbox,n3=[e6.showNodeIcon?f2().createElement("span",{key:0,className:"rct-node-icon"},this.renderNodeIcon()):null,f2().createElement("span",{key:1,className:"rct-title"},t5)];return r5?this.renderCheckboxLabel(n3):this.renderBareLabel(n3);}},{key:"renderChildren",value:function(){return this.props.expanded?this.props.children:null;}},{key:"render",value:function(){var e6=this.props,r5=e6.className,n3=e6.disabled,o3=e6.expanded,i4=e6.isLeaf,a3=t4()({"rct-node":true,"rct-node-leaf":i4,"rct-node-parent":!i4,"rct-node-expanded":!i4&&o3,"rct-node-collapsed":!i4&&!o3,"rct-disabled":n3},r5);return f2().createElement("li",{className:a3},f2().createElement("span",{className:"rct-text"},this.renderCollapseButton(),this.renderLabel()),this.renderChildren());}}])&&W(r4.prototype,n2),Object.defineProperty(r4,"prototype",{writable:false}),c3;}(f2().PureComponent);X3(Z,"propTypes",{checked:u().number.isRequired,disabled:u().bool.isRequired,expandDisabled:u().bool.isRequired,expanded:u().bool.isRequired,icons:H.isRequired,isLeaf:u().bool.isRequired,isParent:u().bool.isRequired,label:u().node.isRequired,lang:$.isRequired,optimisticToggle:u().bool.isRequired,showNodeIcon:u().bool.isRequired,treeId:u().string.isRequired,value:u().oneOfType([u().string,u().number]).isRequired,onCheck:u().func.isRequired,onExpand:u().func.isRequired,children:u().node,className:u().string,expandOnClick:u().bool,icon:u().node,showCheckbox:u().bool,title:u().string,onClick:u().func}),X3(Z,"defaultProps",{children:null,className:null,expandOnClick:false,icon:null,showCheckbox:true,title:null,onClick:function(){}});const ee=Z,te=u().oneOfType([u().arrayOf(u().string),u().arrayOf(u().number)]);function re2(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function ne(e4){for(var t5=1;t5<arguments.length;t5++){var r4=null!=arguments[t5]?arguments[t5]:{};t5%2?re2(Object(r4),true).forEach(function(t6){oe(e4,t6,r4[t6]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e4,Object.getOwnPropertyDescriptors(r4)):re2(Object(r4)).forEach(function(t6){Object.defineProperty(e4,t6,Object.getOwnPropertyDescriptor(r4,t6));});}return e4;}function oe(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var ie={label:u().node.isRequired,value:u().oneOfType([u().string,u().number]).isRequired,disabled:u().bool,icon:u().node,showCheckbox:u().bool,title:u().string};const ae=u().oneOfType([u().shape(ie),u().shape(ne(ne({},ie),{},{children:u().arrayOf(ie).isRequired}))]);function ce(e4){return ce="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e6){return typeof e6;}:function(e6){return e6&&"function"==typeof Symbol&&e6.constructor===Symbol&&e6!==Symbol.prototype?"symbol":typeof e6;},ce(e4);}function se(e4,t5){var r4=Object.keys(e4);if(Object.getOwnPropertySymbols){var n2=Object.getOwnPropertySymbols(e4);t5&&(n2=n2.filter(function(t6){return Object.getOwnPropertyDescriptor(e4,t6).enumerable;})),r4.push.apply(r4,n2);}return r4;}function le(e4){for(var t5=1;t5<arguments.length;t5++){var r4=null!=arguments[t5]?arguments[t5]:{};t5%2?se(Object(r4),true).forEach(function(t6){ye(e4,t6,r4[t6]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(e4,Object.getOwnPropertyDescriptors(r4)):se(Object(r4)).forEach(function(t6){Object.defineProperty(e4,t6,Object.getOwnPropertyDescriptor(r4,t6));});}return e4;}function ue(e4,t5){for(var r4=0;r4<t5.length;r4++){var n2=t5[r4];n2.enumerable=n2.enumerable||false,n2.configurable=true,"value"in n2&&(n2.writable=true),Object.defineProperty(e4,n2.key,n2);}}function pe(e4,t5){return pe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e6,t6){return e6.__proto__=t6,e6;},pe(e4,t5);}function fe(e4,t5){if(t5&&("object"===ce(t5)||"function"==typeof t5))return t5;if(void 0!==t5)throw new TypeError("Derived constructors may only return object or undefined");return de(e4);}function de(e4){if(void 0===e4)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e4;}function he(e4){return he=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e6){return e6.__proto__||Object.getPrototypeOf(e6);},he(e4);}function ye(e4,t5,r4){return t5 in e4?Object.defineProperty(e4,t5,{value:r4,enumerable:true,configurable:true,writable:true}):e4[t5]=r4,e4;}var be=function(e4){!function(e6,t5){if("function"!=typeof t5&&null!==t5)throw new TypeError("Super expression must either be null or a function");e6.prototype=Object.create(t5&&t5.prototype,{constructor:{value:e6,writable:true,configurable:true}}),Object.defineProperty(e6,"prototype",{writable:false}),t5&&pe(e6,t5);}(p2,e4);var r4,n2,o2,a2,l2,u2=(a2=p2,l2=function(){if("undefined"==typeof Reflect||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if("function"==typeof Proxy)return true;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),true;}catch(e6){return false;}}(),function(){var e6,t5=he(a2);if(l2){var r5=he(this).constructor;e6=Reflect.construct(t5,arguments,r5);}else e6=t5.apply(this,arguments);return fe(this,e6);});function p2(e6){var t5;!function(e7,t6){if(!(e7 instanceof t6))throw new TypeError("Cannot call a class as a function");}(this,p2),t5=u2.call(this,e6);var r5=new T(e6);return r5.flattenNodes(e6.nodes),r5.deserializeLists({checked:e6.checked,expanded:e6.expanded}),t5.state={id:e6.id||"rct-".concat(s()),model:r5,prevProps:e6},t5.onCheck=t5.onCheck.bind(de(t5)),t5.onExpand=t5.onExpand.bind(de(t5)),t5.onNodeClick=t5.onNodeClick.bind(de(t5)),t5.onExpandAll=t5.onExpandAll.bind(de(t5)),t5.onCollapseAll=t5.onCollapseAll.bind(de(t5)),t5.combineMemorized=c2()(function(e7,t6){return le(le({},e7),t6);}).bind(de(t5)),t5;}return r4=p2,n2=[{key:"onCheck",value:function(e6){var t5=this.props,r5=t5.checkModel,n3=t5.noCascade,o3=t5.onCheck,i3=this.state.model.clone(),a3=i3.getNode(e6.value);i3.toggleChecked(e6,e6.checked,r5,n3),o3(i3.serializeList("checked"),le(le({},a3),e6));}},{key:"onExpand",value:function(e6){var t5=this.props.onExpand,r5=this.state.model.clone(),n3=r5.getNode(e6.value);r5.toggleNode(e6.value,"expanded",e6.expanded),t5(r5.serializeList("expanded"),le(le({},n3),e6));}},{key:"onNodeClick",value:function(e6){(0,this.props.onClick)(le(le({},this.state.model.getNode(e6.value)),e6));}},{key:"onExpandAll",value:function(){this.expandAllNodes();}},{key:"onCollapseAll",value:function(){this.expandAllNodes(false);}},{key:"expandAllNodes",value:function(){var e6=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t5=this.props.onExpand;t5(this.state.model.clone().expandAllNodes(e6).serializeList("expanded"));}},{key:"determineShallowCheckState",value:function(e6,t5){var r5=this.state.model.getNode(e6.value);return r5.isLeaf||t5||0===e6.children.length?r5.checked?1:0:this.isEveryChildChecked(e6)?1:this.isSomeChildChecked(e6)?2:0;}},{key:"isEveryChildChecked",value:function(e6){var t5=this;return e6.children.every(function(e7){return 1===t5.state.model.getNode(e7.value).checkState;});}},{key:"isSomeChildChecked",value:function(e6){var t5=this;return e6.children.some(function(e7){return t5.state.model.getNode(e7.value).checkState>0;});}},{key:"renderTreeNodes",value:function(e6){var t5=this,r5=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n3=this.props,o3=n3.expandDisabled,i3=n3.expandOnClick,a3=n3.icons,c3=n3.lang,s2=n3.noCascade,l3=n3.onClick,u3=n3.onlyLeafCheckboxes,d2=n3.optimisticToggle,h2=n3.showNodeTitle,y2=n3.showNodeIcon,b2=this.state,v2=b2.id,g2=b2.model,m2=p2.defaultProps.icons,x2=e6.map(function(e7){var n4=e7.value,p3=g2.getNode(e7.value),b3=p3.isParent?t5.renderTreeNodes(e7.children,e7):null;p3.checkState=t5.determineShallowCheckState(e7,s2);var x3=u3?p3.isLeaf:p3.showCheckbox;return!r5.value||g2.getNode(r5.value).expanded?f2().createElement(ee,{key:n4,checked:p3.checkState,className:e7.className,disabled:p3.disabled,expandDisabled:o3,expandOnClick:i3,expanded:p3.expanded,icon:e7.icon,icons:t5.combineMemorized(m2,a3),label:e7.label,lang:c3,optimisticToggle:d2,isLeaf:p3.isLeaf,isParent:p3.isParent,showCheckbox:x3,showNodeIcon:y2,title:h2?e7.title||e7.label:e7.title,treeId:v2,value:e7.value,onCheck:t5.onCheck,onClick:l3&&t5.onNodeClick,onExpand:t5.onExpand},b3):null;});return f2().createElement("ol",null,x2);}},{key:"renderExpandAll",value:function(){var e6=this.props,t5=e6.icons,r5=t5.expandAll,n3=t5.collapseAll,o3=e6.lang;return e6.showExpandAll?f2().createElement("div",{className:"rct-options"},f2().createElement(j,{className:"rct-option rct-option-expand-all",title:o3.expandAll,onClick:this.onExpandAll},r5),f2().createElement(j,{className:"rct-option rct-option-collapse-all",title:o3.collapseAll,onClick:this.onCollapseAll},n3)):null;}},{key:"renderHiddenInput",value:function(){var e6=this.props,t5=e6.name,r5=e6.nameAsArray;return void 0===t5?null:r5?this.renderArrayHiddenInput():this.renderJoinedHiddenInput();}},{key:"renderArrayHiddenInput",value:function(){var e6=this.props,t5=e6.checked,r5=e6.name;return t5.map(function(e7){var t6="".concat(r5,"[]");return f2().createElement("input",{key:e7,name:t6,type:"hidden",value:e7});});}},{key:"renderJoinedHiddenInput",value:function(){var e6=this.props,t5=e6.checked,r5=e6.name,n3=t5.join(",");return f2().createElement("input",{name:r5,type:"hidden",value:n3});}},{key:"render",value:function(){var e6,r5=this.props,n3=r5.direction,o3=r5.disabled,i3=r5.iconsClass,a3=r5.nodes,c3=r5.nativeCheckboxes,s2=this.state.id,l3=this.renderTreeNodes(a3),u3=t4()((ye(e6={"react-checkbox-tree":true,"rct-disabled":o3},"rct-icons-".concat(i3),true),ye(e6,"rct-native-display",c3),ye(e6,"rct-direction-rtl","rtl"===n3),e6));return f2().createElement("div",{className:u3,id:s2},this.renderExpandAll(),this.renderHiddenInput(),l3);}}],o2=[{key:"getDerivedStateFromProps",value:function(e6,t5){var r5=t5.model,n3=t5.prevProps,o3=e6.disabled,a3=e6.id,c3=e6.nodes,s2=le(le({},t5),{},{prevProps:e6});return r5.setProps(e6),i2()(n3.nodes,c3)&&n3.disabled===o3||(r5.reset(),r5.flattenNodes(c3)),null!==a3&&(s2=le(le({},s2),{},{id:a3})),r5.deserializeLists({checked:e6.checked,expanded:e6.expanded}),s2;}}],n2&&ue(r4.prototype,n2),o2&&ue(r4,o2),Object.defineProperty(r4,"prototype",{writable:false}),p2;}(f2().Component);function ve(e4){return function(e6){if(Array.isArray(e6))return ge(e6);}(e4)||function(e6){if("undefined"!=typeof Symbol&&null!=e6[Symbol.iterator]||null!=e6["@@iterator"])return Array.from(e6);}(e4)||function(e6,t5){if(e6){if("string"==typeof e6)return ge(e6,t5);var r4=Object.prototype.toString.call(e6).slice(8,-1);return"Object"===r4&&e6.constructor&&(r4=e6.constructor.name),"Map"===r4||"Set"===r4?Array.from(e6):"Arguments"===r4||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r4)?ge(e6,t5):void 0;}}(e4)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}();}function ge(e4,t5){(null==t5||t5>e4.length)&&(t5=e4.length);for(var r4=0,n2=new Array(t5);r4<t5;r4++)n2[r4]=e4[r4];return n2;}function me(e4,t5){var r4=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(r4>t5)return[];var n2=[];return e4.forEach(function(e6){e6.children&&(n2=[].concat(ve(n2),[e6.value],ve(me(e6.children,t5,r4+1))));}),n2;}ye(be,"propTypes",{nodes:u().arrayOf(ae).isRequired,checkModel:u().oneOf([_.LEAF,_.ALL]),checked:te,direction:u().string,disabled:u().bool,expandDisabled:u().bool,expandOnClick:u().bool,expanded:te,icons:H,iconsClass:u().string,id:u().string,lang:$,name:u().string,nameAsArray:u().bool,nativeCheckboxes:u().bool,noCascade:u().bool,onlyLeafCheckboxes:u().bool,optimisticToggle:u().bool,showExpandAll:u().bool,showNodeIcon:u().bool,showNodeTitle:u().bool,onCheck:u().func,onClick:u().func,onExpand:u().func}),ye(be,"defaultProps",{checkModel:_.LEAF,checked:[],direction:"ltr",disabled:false,expandDisabled:false,expandOnClick:false,expanded:[],icons:{check:f2().createElement("span",{className:"rct-icon rct-icon-check"}),uncheck:f2().createElement("span",{className:"rct-icon rct-icon-uncheck"}),halfCheck:f2().createElement("span",{className:"rct-icon rct-icon-half-check"}),expandClose:f2().createElement("span",{className:"rct-icon rct-icon-expand-close"}),expandOpen:f2().createElement("span",{className:"rct-icon rct-icon-expand-open"}),expandAll:f2().createElement("span",{className:"rct-icon rct-icon-expand-all"}),collapseAll:f2().createElement("span",{className:"rct-icon rct-icon-collapse-all"}),parentClose:f2().createElement("span",{className:"rct-icon rct-icon-parent-close"}),parentOpen:f2().createElement("span",{className:"rct-icon rct-icon-parent-open"}),leaf:f2().createElement("span",{className:"rct-icon rct-icon-leaf"})},iconsClass:"fa4",id:null,lang:{collapseAll:"Collapse all",expandAll:"Expand all",toggle:"Toggle"},name:void 0,nameAsArray:false,nativeCheckboxes:false,noCascade:false,onlyLeafCheckboxes:false,optimisticToggle:true,showExpandAll:false,showNodeIcon:true,showNodeTitle:false,onCheck:function(){},onClick:null,onExpand:function(){}});const xe=be;})(),o;})());})(index_browser);const CheckboxTree=/* @__PURE__ */getDefaultExportFromCjs(index_browser.exports);const TilesetFinder$2="";let TilesetFinder=/*#__PURE__*/function(_React__default$defau11){_inherits3(TilesetFinder,_React__default$defau11);var _super66=_createSuper3(TilesetFinder);function TilesetFinder(props){var _this85;_classCallCheck3(this,TilesetFinder);_this85=_super66.call(this,props);_this85.localTracks=TRACKS_INFO.filter(x=>x.local&&!x.hidden).map(x=>{const y={...x};y.datatype=x.datatype[0];return y;});_this85.augmentedTracksInfo=TRACKS_INFO;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{_this85.augmentedTracksInfo.push(window.higlassTracksByType[pluginTrackType].config);});}if(props.datatype){_this85.localTracks=_this85.localTracks.filter(x=>x.datatype[0]===props.datatype);}else{_this85.localTracks=_this85.localTracks.filter(x=>x.orientation===_this85.props.orientation);}_this85.localTracks.forEach(x=>{x.uuid=slugid.nice();});const newOptions=_this85.prepareNewEntries("",_this85.localTracks,{});const availableTilesetKeys=Object.keys(newOptions);const selectedUuid=availableTilesetKeys.length?[availableTilesetKeys[0]]:null;_this85.mounted=false;_this85.state={selectedUuid,options:newOptions,filter:"",checked:[],expanded:[]};_this85.requestTilesetLists();return _this85;}_createClass3(TilesetFinder,[{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;this.requestTilesetLists();this.searchBox.focus();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mounted=false;}},{key:"prepareNewEntries",value:function prepareNewEntries(sourceServer,newEntries,existingOptions){const newOptions=existingOptions;const entries=newEntries.map(ne=>{const ane={...ne,server:sourceServer,tilesetUid:ne.uuid,serverUidKey:this.serverUidKey(sourceServer,ne.uuid),datatype:ne.datatype,name:ne.name,uid:slugid.nice()};return ane;});entries.forEach(ne=>{newOptions[ne.serverUidKey]=ne;});return newOptions;}},{key:"serverUidKey",value:function serverUidKey(server,uid){return`${server}/${uid}`;}},{key:"requestTilesetLists",value:function requestTilesetLists(){let datatypesQuery=null;if(this.props.datatype){datatypesQuery=`dt=${this.props.datatype}`;}else{const datatypes=new Set([].concat(...this.augmentedTracksInfo.filter(x=>x.datatype).filter(x=>{return x.orientation===this.props.orientation||this.props.orientation==="1d-vertical"&&x.orientation==="1d-horizontal";}).map(x=>x.datatype)));datatypesQuery=[...datatypes].map(x=>`dt=${x}`).join("&");}if(!this.props.trackSourceServers){console.warn("No track source servers specified in the viewconf");return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/tilesets/?limit=10000&${datatypesQuery}`,(error,data2)=>{if(error){console.error("ERROR:",error);}else{const newOptions=this.prepareNewEntries(sourceServer,data2.results,this.state.options);const availableTilesetKeys=Object.keys(newOptions);let{selectedUuid}=this.state;if(!selectedUuid){selectedUuid=availableTilesetKeys.length?[availableTilesetKeys[0]]:null;const selectedTileset=this.state.options[selectedUuid[0]];this.props.selectedTilesetChanged([selectedTileset]);}if(this.mounted){this.setState({selectedUuid,options:newOptions});}}},this.props.pubSub);});}},{key:"handleOptionDoubleClick",value:function handleOptionDoubleClick(x){const value2=this.state.options[x.target.value];this.props.onDoubleClick(value2);}},{key:"handleSelectedOptions",value:function handleSelectedOptions(selectedOptions){const selectedValues=[];const selectedTilesets=[];for(let i2=0;i2<selectedOptions.length;i2++){selectedValues.push(selectedOptions[i2]);selectedTilesets.push(this.state.options[selectedOptions[i2]]);}this.props.selectedTilesetChanged(selectedTilesets);this.setState({selectedUuid:selectedValues});}},{key:"handleSelect",value:function handleSelect(){const{selectedOptions}=this.multiSelect;const selectedOptionsList=[];for(let i2=0;i2<selectedOptions.length;i2++){const selectedOption=selectedOptions[i2];selectedOptionsList.push(selectedOption.value);}this.handleSelectedOptions(selectedOptionsList);}},{key:"handleSearchChange",value:function handleSearchChange(){const domElement=this.searchBox;this.setState({filter:domElement.value});}},{key:"partitionByGroup",value:function partitionByGroup(datasetsDict,filter2){const itemsByGroup={"":{name:"",value:"",children:[]}};for(const uuid2 of Object.keys(datasetsDict)){const item=datasetsDict[uuid2];if(!item.name.toLowerCase().includes(filter2)){continue;}if("project_name"in item){const group2=item.project_name;if(!(group2 in itemsByGroup)){itemsByGroup[group2]={value:group2,label:group2,children:[]};}itemsByGroup[group2].children.push({label:item.name,value:uuid2});}else{itemsByGroup[""].children.push({label:item.name,value:uuid2});}}const allItems=itemsByGroup[""].children;for(const group2 of Object.keys(itemsByGroup)){if(group2!==""){itemsByGroup[group2].children.sort((a,b)=>a.label.toLowerCase().localeCompare(b.label.toLowerCase(),"en"));allItems.push(itemsByGroup[group2]);}}allItems.sort((a,b)=>a.label.toLowerCase().localeCompare(b.label.toLowerCase(),"en"));return allItems;}},{key:"handleChecked",value:function handleChecked(checked){this.handleSelectedOptions(checked);this.setState({checked});}},{key:"handleExpanded",value:function handleExpanded(expanded){this.setState({expanded});}},{key:"render",value:function render(){const optionsList=[];for(const key in this.state.options){optionsList.push(this.state.options[key]);}const nestedItems=this.partitionByGroup(this.state.options,this.state.filter);const svgStyle={width:15,height:15,top:2,right:2,position:"relative"};const halfSvgStyle=JSON.parse(JSON.stringify(svgStyle));halfSvgStyle.opacity=0.5;const form=/* @__PURE__ */React__default.default.createElement("form",{onSubmit:evt=>{evt.preventDefault();}},/* @__PURE__ */React__default.default.createElement("div",{className:"tileset-finder-search-bar"},/* @__PURE__ */React__default.default.createElement("span",{className:"tileset-finder-label"},"Select tileset:"),/* @__PURE__ */React__default.default.createElement("input",{ref:c2=>{this.searchBox=c2;},className:"tileset-finder-search-box",onChange:this.handleSearchChange.bind(this),placeholder:"Search Term",type:"text"})),/* @__PURE__ */React__default.default.createElement("div",{className:"tileset-finder-checkbox-tree"},/* @__PURE__ */React__default.default.createElement(CheckboxTree,{checked:this.state.checked,expanded:this.state.expanded,icons:{uncheck:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#square_o"})),check:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#check_square_o"})),halfCheck:/* @__PURE__ */React__default.default.createElement("svg",{style:halfSvgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#check_square_o"})),leaf:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#file_o"})),expandClose:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#chevron_right"})),expandOpen:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#chevron_down"})),parentClose:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#folder_o"})),parentOpen:/* @__PURE__ */React__default.default.createElement("svg",{style:svgStyle},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#folder_open_o"}))},nodes:nestedItems,onCheck:this.handleChecked.bind(this),onExpand:this.handleExpanded.bind(this)})));return/* @__PURE__ */React__default.default.createElement("div",null,form);}}]);return TilesetFinder;}(React__default.default.Component);TilesetFinder.propTypes={datatype:propTypes$3.exports.string,orientation:propTypes$3.exports.string,onDoubleClick:propTypes$3.exports.func,pubSub:propTypes$3.exports.object.isRequired,selectedTilesetChanged:propTypes$3.exports.func,trackSourceServers:propTypes$3.exports.array};const TilesetFinder$1=withPubSub(TilesetFinder);const PlotTypeChooser$1="";let PlotTypeChooser=/*#__PURE__*/function(_React__default$defau12){_inherits3(PlotTypeChooser,_React__default$defau12);var _super67=_createSuper3(PlotTypeChooser);function PlotTypeChooser(props){var _this86;_classCallCheck3(this,PlotTypeChooser);_this86=_super67.call(this,props);_this86.DATATYPE_TO_TRACK_TYPE=DATATYPE_TO_TRACK_TYPE(_this86.props.orientation);_this86.AVAILABLE_TRACK_TYPES=AVAILABLE_TRACK_TYPES(_this86.props.datatypes,_this86.props.orientation);_this86.state={selectedPlotType:_this86.AVAILABLE_TRACK_TYPES[0]};return _this86;}_createClass3(PlotTypeChooser,[{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.AVAILABLE_TRACK_TYPES=AVAILABLE_TRACK_TYPES(newProps.datatypes,this.props.orientation);if(!this.AVAILABLE_TRACK_TYPES){return;}if(!newProps.allTracksSameDatatype){return;}if(this.AVAILABLE_TRACK_TYPES.length>0){if(!this.AVAILABLE_TRACK_TYPES.includes(this.state.selectedPlotType)){const defaultTrackType=getDefaultTrackForDatatype(newProps.datatypes[0][0],this.props.position,this.AVAILABLE_TRACK_TYPES);this.handlePlotTypeSelected(defaultTrackType);}}}},{key:"handlePlotTypeSelected",value:function handlePlotTypeSelected(key){this.setState({selectedPlotType:key});this.props.onPlotTypeSelected(key.type);}},{key:"render",value:function render(){let AVAILABLE_TRACK_TYPES_LIST="No plot types available for track";const trackTypeToInfo={};TRACKS_INFO.forEach(ti=>{trackTypeToInfo[ti.type]=ti;});if(this.AVAILABLE_TRACK_TYPES){AVAILABLE_TRACK_TYPES_LIST=this.AVAILABLE_TRACK_TYPES.sort((a,b)=>a.type<b.type).map(x=>{const thumbnail=trackTypeToInfo[x.type].thumbnail;const plotTypeClass=this.state.selectedPlotType.type===x.type?"plot-type-item plot-type-selected":"plot-type-item";const imgTag=trackTypeToInfo[x.type].thumbnail?/* @__PURE__ */React__default.default.createElement("div",{className:"track-thumbnail",dangerouslySetInnerHTML:{__html:thumbnail.outerHTML}}):/* @__PURE__ */React__default.default.createElement("div",{className:"track-thumbnail"},/* @__PURE__ */React__default.default.createElement("svg",{height:20,width:30}));return/* @__PURE__ */React__default.default.createElement("li",{key:x.type,className:plotTypeClass,onClick:e=>{this.setState({selectedPlotType:x});this.props.onPlotTypeSelected(x.type);},style:{listStyle:"none",paddingLeft:5,paddingBottom:0}},imgTag,/* @__PURE__ */React__default.default.createElement("span",{style:{verticalAlign:"middle"}},x.type));});}return/* @__PURE__ */React__default.default.createElement("div",null,AVAILABLE_TRACK_TYPES_LIST.length>0&&this.props.allTracksSameDatatype&&/* @__PURE__ */React__default.default.createElement("div",{className:"plot-type-container"},AVAILABLE_TRACK_TYPES_LIST),!this.props.allTracksSameDatatype&&/* @__PURE__ */React__default.default.createElement("div",{className:"plot-type-container-empty"},"Datasets with multiple datatypes chosen. They will be added with their default track types."));}}]);return PlotTypeChooser;}(React__default.default.Component);PlotTypeChooser.propTypes={allTracksSameDatatype:propTypes$3.exports.bool,datatypes:propTypes$3.exports.array,orientation:propTypes$3.exports.string,onPlotTypeSelected:propTypes$3.exports.func,position:propTypes$3.exports.string};const collapsed="_collapsed_ub7s6_9";const modal="_modal_ub7s6_14";const AddTrackDialog_module={"collapse-toggle-icon":"_collapse-toggle-icon_ub7s6_1",collapsed,"modal-title":"_modal-title_ub7s6_14","modal-container":"_modal-container_ub7s6_19",modal,"modal-backdrop":"_modal-backdrop_ub7s6_23","modal-dialog":"_modal-dialog_ub7s6_27"};let AddTrackDialog=/*#__PURE__*/function(_React__default$defau13){_inherits3(AddTrackDialog,_React__default$defau13);var _super68=_createSuper3(AddTrackDialog);function AddTrackDialog(props){var _this87;_classCallCheck3(this,AddTrackDialog);_this87=_super68.call(this,props);_this87.options={};_this87.state={selectedTilesets:[{datatype:"none"}],allTracksSameDatatype:true};_this87.handleSubmitBound=_this87.handleSubmit.bind(_assertThisInitialized3(_this87));_this87.handleTilesetPickerDoubleClickBound=_this87.handleTilesetPickerDoubleClick.bind(_assertThisInitialized3(_this87));_this87.selectedTilesetsChangedBound=_this87.selectedTilesetsChanged.bind(_assertThisInitialized3(_this87));return _this87;}_createClass3(AddTrackDialog,[{key:"getOrientation",value:function getOrientation(position){let orientation2=null;if(position==="top"||position==="bottom"){orientation2="1d-horizontal";}else if(position==="left"||position==="right"){orientation2="1d-vertical";}else{orientation2="2d";}return orientation2;}},{key:"handleSubmit",value:function handleSubmit(evt){if(evt)evt.preventDefault();this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host);}},{key:"handleTilesetPickerDoubleClick",value:function handleTilesetPickerDoubleClick(tileset){this.selectedTilesetsChanged([tileset]);this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host);}},{key:"handleOptionsChanged",value:function handleOptionsChanged(newOptions){this.options=newOptions;}},{key:"handlePlotTypeSelected",value:function handlePlotTypeSelected(newPlotType){const{selectedTilesets}=this.state;for(const tileset of selectedTilesets){tileset.type=newPlotType;}this.selectedPlotType=newPlotType;this.setState({selectedTilesets});}},{key:"selectedTilesetsChanged",value:function selectedTilesetsChanged(selectedTilesetsIn){let selectedTilesets=null;if(selectedTilesetsIn.length===0){selectedTilesets=[{datatype:"none"}];}else{selectedTilesets=selectedTilesetsIn;}let allTracksSameDatatype=true;const firstDatatype=selectedTilesets[0].datatype;for(const tileset of selectedTilesets){if(tileset.datatype!==firstDatatype){allTracksSameDatatype=false;}}if(allTracksSameDatatype){for(const tileset of selectedTilesets){tileset.type=this.selectedPlotType;}}else{for(const tileset of selectedTilesets){let datatypes=[tileset.datatype];const orientation2=this.getOrientation(this.props.position);if(tileset.filetype==="cooler"){datatypes=[tileset.datatype,"chromsizes"];}const availableTrackTypes=AVAILABLE_TRACK_TYPES([datatypes],orientation2);const defaultTrackType=getDefaultTrackForDatatype(datatypes[0],this.props.position,availableTrackTypes);tileset.type=defaultTrackType.type;}}this.setState({selectedTilesets,allTracksSameDatatype});}},{key:"render",value:function render(){const orientation2=this.getOrientation(this.props.position);const form=/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement(TilesetFinder$1,{ref:c2=>{this.tilesetFinder=c2;},datatype:this.props.datatype,onDoubleClick:this.handleTilesetPickerDoubleClick.bind(this),onTracksChosen:value2=>this.props.onTracksChosen(value2,this.props.position),orientation:orientation2,selectedTilesetChanged:this.selectedTilesetsChanged.bind(this),trackSourceServers:this.props.trackSourceServers}));return/* @__PURE__ */React__default.default.createElement(Dialog$1,{maxHeight:true,okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmitBound,title:"Add Track"},/* @__PURE__ */React__default.default.createElement(React__default.default.Fragment,null,form,/* @__PURE__ */React__default.default.createElement(PlotTypeChooser,{ref:c2=>{this.plotTypeChooser=c2;},allTracksSameDatatype:this.state.allTracksSameDatatype,datatypes:this.state.selectedTilesets.map(x=>{if(x.filetype==="cooler"){return[x.datatype,"chromsizes"];}return[x.datatype];}),onPlotTypeSelected:this.handlePlotTypeSelected.bind(this),orientation:orientation2,position:this.props.position})));}}]);return AddTrackDialog;}(React__default.default.Component);AddTrackDialog.defaultProps={position:"top"};AddTrackDialog.propTypes={datatype:propTypes$3.exports.string,host:propTypes$3.exports.string,onCancel:propTypes$3.exports.func.isRequired,onTracksChosen:propTypes$3.exports.func.isRequired,position:propTypes$3.exports.string,trackSourceServers:propTypes$3.exports.array.isRequired};let CustomTrackDialog=/*#__PURE__*/function(_React__default$defau14){_inherits3(CustomTrackDialog,_React__default$defau14);var _super69=_createSuper3(CustomTrackDialog);function CustomTrackDialog(){_classCallCheck3(this,CustomTrackDialog);return _super69.apply(this,arguments);}_createClass3(CustomTrackDialog,[{key:"render",value:function render(){const childrenWithProp=[];this.props.children.forEach((Child,i2)=>{const key=`customTrackDialog_${i2}`;childrenWithProp.push(/* @__PURE__ */React__default.default.createElement(Child,{key,...this.props.bodyProps[i2]}));});return/* @__PURE__ */React__default.default.createElement(Dialog$1,{maxHeight:true,okayOnly:true,okayTitle:"Close",onCancel:this.props.onCancel,onOkay:this.props.onCancel,title:this.props.title},childrenWithProp);}}]);return CustomTrackDialog;}(React__default.default.PureComponent);CustomTrackDialog.defaultProps={};CustomTrackDialog.propTypes={onCancel:propTypes$3.exports.func.isRequired,title:propTypes$3.exports.string,bodyProps:propTypes$3.exports.array,children:propTypes$3.exports.array};const TRACK_CONTROL_HEIGHT=20;let ContextMenuContainer=/*#__PURE__*/function(_React__default$defau15){_inherits3(ContextMenuContainer,_React__default$defau15);var _super70=_createSuper3(ContextMenuContainer);function ContextMenuContainer(props){var _this88;_classCallCheck3(this,ContextMenuContainer);_this88=_super70.call(this,props);_this88.adjusted=false;_this88.state={orientation:_this88.props.orientation?_this88.props.orientation:"right",left:_this88.props.position.left,top:_this88.props.position.top,submenuShown:null};return _this88;}_createClass3(ContextMenuContainer,[{key:"componentDidMount",value:function componentDidMount(){this.updateOrientation();}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.adjusted=false;this.setState({left:newProps.position.left,top:newProps.position.top});}},{key:"componentDidUpdate",value:function componentDidUpdate(){this.updateOrientation();}},{key:"handleItemMouseEnterWithRect",value:function handleItemMouseEnterWithRect(clientRect,series){this.setState({submenuShown:series,submenuSourceBbox:clientRect});}},{key:"handleItemMouseEnter",value:function handleItemMouseEnter(evt,series){this.handleItemMouseEnterWithRect(evt.currentTarget.getBoundingClientRect(),series);}},{key:"handleMouseLeave",value:function handleMouseLeave(){}},{key:"handleOtherMouseEnter",value:function handleOtherMouseEnter(){this.setState({submenuShown:null});}},{key:"updateOrientation",value:function updateOrientation(){if(this.adjusted)return;this.adjusted=true;this.divDom=ReactDOM__default.default.findDOMNode(this.div);const bbox=this.divDom.getBoundingClientRect();const parentBbox=this.props.parentBbox?this.props.parentBbox:{top:this.props.position.top,left:this.props.position.left,width:0,height:0};let orientation2=this.state.orientation;let topPosition=parentBbox.top;if(parentBbox.top+bbox.height>window.innerHeight){if(parentBbox.top-bbox.height>0){topPosition=parentBbox.top-bbox.height+TRACK_CONTROL_HEIGHT;}else{topPosition=parentBbox.top-bbox.height+TRACK_CONTROL_HEIGHT;topPosition-=topPosition+bbox.height-window.innerHeight;}}if(this.state.orientation==="left"){let leftPosition=parentBbox.left-bbox.width;if(leftPosition<0){if(parentBbox.left+parentBbox.width+bbox.width>window.innerWidth){leftPosition=0;}else{leftPosition=parentBbox.left+parentBbox.width;orientation2="right";}}this.setState({left:leftPosition,top:topPosition,orientation:orientation2});}else{let leftPosition=parentBbox.left+parentBbox.width;if(parentBbox.left+parentBbox.width+bbox.width>window.innerWidth){if(parentBbox.left-bbox.width<0){leftPosition=0;orientation2="right";}else{leftPosition=parentBbox.left-bbox.width;orientation2="left";}}this.setState({left:leftPosition,top:topPosition,orientation:orientation2});}}},{key:"render",value:function render(){const stylePosition=this.state.left?{left:this.state.left}:{right:this.state.right};const otherStyle={top:this.state.top};const wholeStyle=Object.assign(stylePosition,otherStyle);return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx("context-menu-item",classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),style:wholeStyle},this.props.children);}}]);return ContextMenuContainer;}(React__default.default.Component);ContextMenuContainer.propTypes={children:propTypes$3.exports.node,orientation:propTypes$3.exports.string,parentBbox:propTypes$3.exports.object,position:propTypes$3.exports.object,theme:propTypes$3.exports.symbol.isRequired};let NestedContextMenu=/*#__PURE__*/function(_ContextMenuContainer){_inherits3(NestedContextMenu,_ContextMenuContainer);var _super71=_createSuper3(NestedContextMenu);function NestedContextMenu(){_classCallCheck3(this,NestedContextMenu);return _super71.apply(this,arguments);}_createClass3(NestedContextMenu,[{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const menuItem=this.state.submenuShown;return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{menuItems:menuItem.children,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"componentWillUnmount",value:function componentWillUnmount(){}},{key:"render",value:function render(){const menuItems=[];for(const menuItemKey in this.props.menuItems){const menuItem=this.props.menuItems[menuItemKey];menuItems.push(/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:menuItemKey,onClick:menuItem.handler?menuItem.handler:()=>null,onMouseEnter:menuItem.children?e=>this.handleItemMouseEnter(e,menuItem):this.handleOtherMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave},menuItem.name,menuItem.children&&/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"}))));}return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),style:{left:this.state.left,top:this.state.top}},menuItems,this.getSubmenu());}}]);return NestedContextMenu;}(ContextMenuContainer);let SeriesListMenu=/*#__PURE__*/function(_ContextMenuContainer2){_inherits3(SeriesListMenu,_ContextMenuContainer2);var _super72=_createSuper3(SeriesListMenu);function SeriesListMenu(){_classCallCheck3(this,SeriesListMenu);return _super72.apply(this,arguments);}_createClass3(SeriesListMenu,[{key:"getConfigureSeriesMenu",value:function getConfigureSeriesMenu(position,bbox,track){const menuItems={};const pluginOptionsInfo=window.higlassTracksByType&&window.higlassTracksByType[track.type]&&window.higlassTracksByType[track.type].config&&window.higlassTracksByType[track.type].config.optionsInfo;if(pluginOptionsInfo){for(const key of Object.keys(pluginOptionsInfo)){OPTIONS_INFO[key]=pluginOptionsInfo[key];}}if(!TRACKS_INFO_BY_TYPE[track.type]||!TRACKS_INFO_BY_TYPE[track.type].availableOptions){return null;}for(const optionType of TRACKS_INFO_BY_TYPE[track.type].availableOptions){if(optionType in OPTIONS_INFO){menuItems[optionType]={name:OPTIONS_INFO[optionType].name};if(OPTIONS_INFO[optionType].generateOptions){const generatedOptions=OPTIONS_INFO[optionType].generateOptions(track);if(!menuItems[optionType].children){menuItems[optionType].children={};}for(const generatedOption of generatedOptions){const optionSelectorSettings={name:generatedOption.name,value:generatedOption.value,handler:()=>{track.options[optionType]=generatedOption.value;this.props.onTrackOptionsChanged(track.uid,track.options);this.props.closeMenu();}};menuItems[optionType].children[generatedOption.value]=optionSelectorSettings;}}if(OPTIONS_INFO[optionType].inlineOptions){for(const inlineOptionKey in OPTIONS_INFO[optionType].inlineOptions){const inlineOption=OPTIONS_INFO[optionType].inlineOptions[inlineOptionKey];if(!menuItems[optionType].children){menuItems[optionType].children={};}const optionSelectorSettings={name:inlineOption.name,value:inlineOption.value};if(inlineOption.componentPickers&&inlineOption.componentPickers[track.type]){optionSelectorSettings.handler=()=>{this.props.onConfigureTrack(track,inlineOption.componentPickers[track.type]);this.props.closeMenu();};}else{optionSelectorSettings.handler=()=>{track.options[optionType]=inlineOption.value;this.props.onTrackOptionsChanged(track.uid,track.options);this.props.closeMenu();};}menuItems[optionType].children[inlineOptionKey]=optionSelectorSettings;}}else if(OPTIONS_INFO[optionType].componentPickers&&OPTIONS_INFO[optionType].componentPickers[track.type]){menuItems[optionType].handler=()=>{this.props.onConfigureTrack(track,OPTIONS_INFO[optionType].componentPickers[track.type]);this.props.closeMenu();};}}}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getTrackTypeItems",value:function getTrackTypeItems(position,bbox,track){if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}let{datatype}=track;let orientation2=null;if(track.type in TRACKS_INFO_BY_TYPE){if(!datatype){datatype=TRACKS_INFO_BY_TYPE[track.type].datatype[0];}({orientation:orientation2}=TRACKS_INFO_BY_TYPE[track.type]);}const availableTrackTypes=Object.values(TRACKS_INFO_BY_TYPE).filter(x=>x.datatype).filter(x=>x.orientation).filter(x=>x.datatype.includes(datatype)).filter(x=>x.orientation===orientation2).map(x=>x.type);const menuItems={};for(let i2=0;i2<availableTrackTypes.length;i2++){menuItems[availableTrackTypes[i2]]={value:availableTrackTypes[i2],name:availableTrackTypes[i2],handler:()=>{this.props.onChangeTrackType(track.uid,availableTrackTypes[i2]);}};}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"track-type-items",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const subMenuData=this.state.submenuShown;const track=subMenuData.value;if(subMenuData.option==="track-type"){return this.getTrackTypeItems(position,bbox,track);}return this.getConfigureSeriesMenu(position,bbox,track);}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"getDivideByMenuItem",value:function getDivideByMenuItem(){if(this.props.series.data&&this.props.series.data.type==="divided"){const newData={tilesetUid:this.props.series.data.children[0].tilesetUid,server:this.props.series.data.children[0].server};return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onChangeTrackData(this.props.series.uid,newData),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Remove divisor"));}return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onAddDivisor(this.props.series),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Divide by"));}},{key:"componentWillUnmount",value:function componentWillUnmount(){}},{key:"render",value:function render(){let exportDataMenuItem=null;if(TRACKS_INFO_BY_TYPE[this.props.series.type]&&TRACKS_INFO_BY_TYPE[this.props.series.type].exportable){exportDataMenuItem=/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>this.props.onExportData(this.props.hostTrack.uid,this.props.track.uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Export Data"));}const replaceSeriesItem=this.props.onAddSeries?/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>{this.props.onCloseTrack(this.props.series.uid);this.props.onAddSeries(this.props.hostTrack.uid);},onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Replace Series")):null;return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"SeriesListMenu",onMouseLeave:this.props.handleMouseLeave,style:{left:this.state.left,top:this.state.top}},/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>{},onMouseEnter:e=>this.handleItemMouseEnter(e,{option:"configure-series",value:this.props.track}),onMouseLeave:e=>this.handleMouseLeave(e)},"Configure Series",/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"}))),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:()=>{},onMouseEnter:e=>this.handleItemMouseEnter(e,{option:"track-type",value:this.props.track}),onMouseLeave:e=>this.handleMouseLeave(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Track Type",/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"})))),exportDataMenuItem,this.getDivideByMenuItem(),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{className:classes$b["context-menu-item"],onClick:this.props.onCloseTrack,onMouseEnter:e=>this.handleOtherMouseEnter(e)},/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},"Close Series")),replaceSeriesItem,this.getSubmenu());}}]);return SeriesListMenu;}(ContextMenuContainer);const getAllTracksAndSubtracks=tracks2=>{let series=[];for(const track of tracks2){if(track.contents){series=series.concat(track.contents);}else{series.push(track);}}return series;};const getSeriesItems=(tracks2,onItemMouseEnter,onItemMouseLeave,onItemClick)=>{if(!tracks2)return null;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}return getAllTracksAndSubtracks(tracks2).map(x=>{const thumbnail=TRACKS_INFO_BY_TYPE[x.type]?TRACKS_INFO_BY_TYPE[x.type].thumbnail:null;const imgTag=thumbnail?/* @__PURE__ */React__default.default.createElement("div",{className:classes$b["context-menu-icon"],dangerouslySetInnerHTML:{__html:thumbnail.outerHTML}}):/* @__PURE__ */React__default.default.createElement("div",{className:classes$b["context-menu-icon"]},/* @__PURE__ */React__default.default.createElement("svg",null));return/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:x.uid,className:classes$b["context-menu-item"],onClick:()=>{if(onItemClick)onItemClick(x.uid);},onMouseEnter:e=>{if(onItemMouseEnter)onItemMouseEnter(e,x);},onMouseLeave:e=>{if(onItemMouseLeave)onItemMouseLeave(e);}},imgTag,/* @__PURE__ */React__default.default.createElement("span",{className:classes$b["context-menu-span"]},x.options&&x.options.name&&x.options.name.length?x.options.name:x.type,onItemMouseEnter&&onItemMouseLeave?/* @__PURE__ */React__default.default.createElement("svg",{className:classes$b["play-icon"]},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#play"})):null));});};const SeriesListSubmenuMixin=Mixin(superclass=>/*#__PURE__*/function(_superclass4){_inherits3(_class6,_superclass4);var _super73=_createSuper3(_class6);function _class6(){_classCallCheck3(this,_class6);return _super73.apply(this,arguments);}_createClass3(_class6,[{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;let position=null;if(this.state.orientation==="left"){position={left:this.state.left,top:bbox.top};}else{position={left:this.state.left+bbox.width+7,top:bbox.top};}const series=getAllTracksAndSubtracks(this.props.tracks);const selectedTrack=series.filter(t=>t.uid===this.state.submenuShown.uid)[0];const canBeReplaced=selectedTrack&&!(selectedTrack.position==="whole");return/* @__PURE__ */React__default.default.createElement(SeriesListMenu,{key:`series-list-menu-${selectedTrack.uid}`,ref:c2=>{this.seriesListMenu=c2;},closeMenu:this.props.closeMenu,hostTrack:this.props.tracks[0],onAddDivisor:this.props.onAddDivisor,onAddSeries:canBeReplaced?this.props.onAddSeries:null,onChangeTrackData:this.props.onChangeTrackData,onChangeTrackType:this.props.onChangeTrackType,onCloseTrack:()=>this.props.onCloseTrack(this.state.submenuShown.uid),onConfigureTrack:this.props.onConfigureTrack,onDivideSeries:this.props.onDivideSeries,onExportData:this.props.onExportData,onLockScales:this.props.onLockScales,onTrackOptionsChanged:this.props.onTrackOptionsChanged,orientation:this.state.orientation,parentBbox:bbox,position,series:this.state.submenuShown,theme:this.props.theme,track:selectedTrack,trackOrientation:this.props.trackOrientation,trackSourceServers:this.props.trackSourceServers});}return/* @__PURE__ */React__default.default.createElement("div",null);}}]);return _class6;}(superclass));let ConfigTrackMenu=/*#__PURE__*/function(_mix$with4){_inherits3(ConfigTrackMenu,_mix$with4);var _super74=_createSuper3(ConfigTrackMenu);function ConfigTrackMenu(props){var _this89;_classCallCheck3(this,ConfigTrackMenu);_this89=_super74.call(this,props);_this89.seriesRefs={};_this89.seriesListMenu=null;return _this89;}_createClass3(ConfigTrackMenu,[{key:"componentDidMount",value:function componentDidMount(){_get4(_getPrototypeOf4(ConfigTrackMenu.prototype),"componentDidMount",this).call(this);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ConfigTrackMenu",style:{left:this.state.left,top:this.state.top}},getSeriesItems(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this),null),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onLockValueScale(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Lock Value Scale With"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onUnlockValueScale(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Unlock Value Scale"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{contextMenu:this,onClick:()=>this.props.onAddSeries(this.props.tracks[0].uid),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Series"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onCloseTrack(this.props.tracks[0].uid)},"Close Track"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>{this.props.onReplaceTrack(this.props.tracks[0].uid,this.props.trackOrientation);}},"Replace Track"),this.getSubmenu());}}]);return ConfigTrackMenu;}(mix(ContextMenuContainer).with(SeriesListSubmenuMixin));function CloseTrackMenu(props){return/* @__PURE__ */React__default.default.createElement("div",null,getSeriesItems(props.tracks,null,null,props.onCloseTrack),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>props.onCloseTrack(props.tracks[0].uid)},"Close all series"));}CloseTrackMenu.propTypes={onCloseTrack:propTypes$3.exports.func.isRequired,tracks:propTypes$3.exports.array.isRequired};let PopupMenu=/*#__PURE__*/function(_React__default$defau16){_inherits3(PopupMenu,_React__default$defau16);var _super75=_createSuper3(PopupMenu);function PopupMenu(props){var _this90;_classCallCheck3(this,PopupMenu);_this90=_super75.call(this,props);_this90.clickHandlerBound=_this90.clickHandler.bind(_assertThisInitialized3(_this90));_this90.contextMenuHandlerBound=_this90.contextMenuHandler.bind(_assertThisInitialized3(_this90));_this90.resizeHandlerBound=_this90.resizeHandler.bind(_assertThisInitialized3(_this90));return _this90;}_createClass3(PopupMenu,[{key:"componentDidMount",value:function componentDidMount(){this.popup=document.createElement("div");document.body.appendChild(this.popup);this.popup.style.zIndex=99;this.popup.style.position="absolute";this.popup.className="hg-popup";document.addEventListener("click",this.clickHandlerBound,true);document.addEventListener("contextmenu",this.contextMenuHandlerBound,true);window.addEventListener("resize",this.resizeHandlerBound,true);this._renderLayer();}},{key:"componentDidUpdate",value:function componentDidUpdate(){this._renderLayer();}},{key:"componentWillUnmount",value:function componentWillUnmount(){document.removeEventListener("click",this.clickHandlerBound,true);document.removeEventListener("contextmenu",this.contextMenuHandlerBound,true);window.removeEventListener("resize",this.resizeHandlerBound,true);ReactDOM__default.default.unmountComponentAtNode(this.popup);document.body.removeChild(this.popup);}},{key:"_renderLayer",value:function _renderLayer(){ReactDOM__default.default.render(this.props.children,this.popup);}},{key:"clickHandler",value:function clickHandler(event){if(!this.popup.contains(event.target)){if(this.props.onMenuClosed)this.props.onMenuClosed(event);}}},{key:"contextMenuHandler",value:function contextMenuHandler(event){if(event.altKey)return;event.preventDefault();this.clickHandler(event);}},{key:"resizeHandler",value:function resizeHandler(){this.props.onMenuClosed(null);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",null);}}]);return PopupMenu;}(React__default.default.Component);PopupMenu.defaultProps={onMenuClosed:intoTheVoid};PopupMenu.propTypes={children:propTypes$3.exports.node.isRequired,onMenuClosed:propTypes$3.exports.func};const VerticalItem=sortableElement(props=>/* @__PURE__ */React__default.default.createElement(VerticalTrack,{className:props.className,controlAlignLeft:props.controlAlignLeft,editable:props.editable,handleConfigTrack:props.handleConfigTrack,handleResizeTrack:props.handleResizeTrack,height:props.height,item:props.item,onAddSeries:props.onAddSeries,onCloseTrack:props.onCloseTrack,onCloseTrackMenuOpened:props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:props.onConfigTrackMenuOpened,resizeHandles:props.resizeHandles,uid:props.uid,width:props.width}));const styles$3={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function sourceEvent(event){return event&&event.sourceEvent;}let VerticalTiledPlot=/*#__PURE__*/function(_React__default$defau17){_inherits3(VerticalTiledPlot,_React__default$defau17);var _super76=_createSuper3(VerticalTiledPlot);function VerticalTiledPlot(props){var _this91;_classCallCheck3(this,VerticalTiledPlot);_this91=_super76.call(this,props);_this91.brushBehavior=brushY().on("start",_this91.brushStarted.bind(_assertThisInitialized3(_this91))).on("brush",_this91.brushed.bind(_assertThisInitialized3(_this91))).on("end",_this91.brushedEnded.bind(_assertThisInitialized3(_this91)));return _this91;}_createClass3(VerticalTiledPlot,[{key:"componentDidMount",value:function componentDidMount(){if(this.props.isRangeSelectionActive){this.addBrush();}}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){if(this.rangeSelectionTriggered){this.rangeSelectionTriggered=false;if(this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==nextProps.rangeSelection){this.moveBrush(nextProps.rangeSelection[0]?nextProps.rangeSelection[0]:null,true);}this.rangeSelectionTriggeredEnd=false;return this.state!==nextState;}if(this.props.rangeSelection!==nextProps.rangeSelection){const accessor=this.props.is1dRangeSelection?0:1;this.moveBrush(nextProps.rangeSelection[accessor]?nextProps.rangeSelection[accessor]:null,nextProps.rangeSelectionEnd);return this.state!==nextState;}return true;}},{key:"componentDidUpdate",value:function componentDidUpdate(){if(this.props.isRangeSelectionActive){this.addBrush();}else{this.removeBrush();}}},{key:"addBrush",value:function addBrush(){if(!this.brushEl||this.brushElAddedBefore===this.brushEl){return;}if(this.brushElAddedBefore){this.brushElAddedBefore.on(".brush",null);}this.brushEl.call(this.brushBehavior);this.brushElAddedBefore=this.brushEl;resetD3BrushStyle(this.brushEl,stylesTrack["track-range-selection-group-brush-selection"]);}},{key:"brushed",value:function brushed(event){const rangeSelectionMoved=this.rangeSelectionMoved;this.rangeSelectionMoved=false;if(!sourceEvent(event)||!this.props.onRangeSelection||rangeSelectionMoved)return;this.rangeSelectionTriggered=true;this.props.onRangeSelection(event.selection);}},{key:"brushStarted",value:function brushStarted(event){if(!sourceEvent(event)||!event.selection)return;this.props.onRangeSelectionStart();}},{key:"brushedEnded",value:function brushedEnded(event){if(!this.props.is1dRangeSelection)return;const rangeSelectionMovedEnd=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=false;if(event.selection&&event.sourceEvent&&this.props.onRangeSelection&&!rangeSelectionMovedEnd){this.rangeSelectionTriggered=true;this.rangeSelectionTriggeredEnd=true;this.props.onRangeSelectionEnd(event.selection);}if(!event.selection){this.rangeSelectionTriggered=true;this.props.onRangeSelectionReset();}}},{key:"moveBrush",value:function moveBrush(rangeSelection,animate=false){if(!this.brushEl){return;}const relRange=rangeSelection?[this.props.scale(rangeSelection[0]),this.props.scale(rangeSelection[1])]:null;this.rangeSelectionMoved=true;this.rangeSelectionMovedEnd=true;if(animate){this.brushEl.transition().call(this.brushBehavior.move,relRange);}else{this.brushEl.call(this.brushBehavior.move,relRange);}}},{key:"removeBrush",value:function removeBrush(){if(this.brushElAddedBefore){this.brushElAddedBefore.call(this.brushBehavior.move,null);this.brushElAddedBefore.on(".brush",null);this.brushElAddedBefore=void 0;this.props.onRangeSelectionReset();}}},{key:"render",value:function render(){const width=this.props.tracks.map(x=>x.width).reduce(sum,0);const isBrushable=this.props.tracks.map(track=>IS_TRACK_RANGE_SELECTABLE(track)).reduce(or,false);const rangeSelectorClass=stylesTrack[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return/* @__PURE__ */React__default.default.createElement("div",{className:styles$3["vertical-tiled-plot"]},isBrushable&&/* @__PURE__ */React__default.default.createElement("svg",{ref:el=>{this.brushEl=select$1(el);},className:rangeSelectorClass,style:{height:this.props.height,width},xmlns:"http://www.w3.org/2000/svg"}),/* @__PURE__ */React__default.default.createElement(ListWrapper,{axis:"x",className:clsx(styles$5.list,styles$5.stylizedList,styles$5.horizontalList),component:SortableList,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:styles$5.stylizedHelper,itemClass:clsx(styles$5.stylizedItem,styles$5.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:VerticalItem,items:this.props.tracks.map(d=>({configMenuVisible:d.uid===this.props.configTrackMenuId,uid:d.uid||slugid.nice(),height:this.props.height,width:d.width,value:d.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:true,width}));}}]);return VerticalTiledPlot;}(React__default.default.Component);VerticalTiledPlot.propTypes={configTrackMenuId:propTypes$3.exports.string,editable:propTypes$3.exports.bool,handleConfigTrack:propTypes$3.exports.func,handleResizeTrack:propTypes$3.exports.func,handleSortEnd:propTypes$3.exports.func,is1dRangeSelection:propTypes$3.exports.bool,isRangeSelectionActive:propTypes$3.exports.bool,height:propTypes$3.exports.number,onAddSeries:propTypes$3.exports.func,onCloseTrack:propTypes$3.exports.func,onCloseTrackMenuOpened:propTypes$3.exports.func,onConfigTrackMenuOpened:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func,onRangeSelectionEnd:propTypes$3.exports.func,onRangeSelectionReset:propTypes$3.exports.func,onRangeSelectionStart:propTypes$3.exports.func,rangeSelection:propTypes$3.exports.array,rangeSelectionEnd:propTypes$3.exports.bool,referenceAncestor:propTypes$3.exports.func,resizeHandles:propTypes$3.exports.object,scale:propTypes$3.exports.func,tracks:propTypes$3.exports.array,tracksControlAlignLeft:propTypes$3.exports.bool};let ViewContextMenu=/*#__PURE__*/function(_mix$with5){_inherits3(ViewContextMenu,_mix$with5);var _super77=_createSuper3(ViewContextMenu);function ViewContextMenu(){_classCallCheck3(this,ViewContextMenu);return _super77.apply(this,arguments);}_createClass3(ViewContextMenu,[{key:"render",value:function render(){const seriesItems=getSeriesItems(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this));const customItemsWrapped=this.props.customItems?React__default.default.Children.map(this.props.customItems,child=>React__default.default.cloneElement(child,{onMouseEnter:e=>{this.handleOtherMouseEnter(e);}})):null;return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},customItemsWrapped,customItemsWrapped&&/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),seriesItems,seriesItems&&/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Horizontal Rule"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Vertical Rule"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Cross Rule"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:e=>this.handleOtherMouseEnter(e)},"Add Vertical Cross Section"),this.getSubmenu());}},{key:"hasMatrixTrack",value:function hasMatrixTrack(tracks2){const trackList=expandCombinedTracks(this.props.tracks);return trackList.filter(track=>track.type==="heatmap").length>0;}},{key:"handleAddHorizontalSection",value:function handleAddHorizontalSection(){const trackList=expandCombinedTracks(this.props.tracks);const matrixTrack=trackList.filter(track=>track.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"});this.props.onAddTrack({data:{type:"horizontal-section",server:matrixTrack.server,tilesetUid:matrixTrack.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"});}},{key:"handleAddVerticalSection",value:function handleAddVerticalSection(){const trackList=expandCombinedTracks(this.props.tracks);const matrixTrack=trackList.filter(track=>track.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"});this.props.onAddTrack({data:{type:"vertical-section",server:matrixTrack.server,tilesetUid:matrixTrack.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"});}}]);return ViewContextMenu;}(mix(ContextMenuContainer).with(SeriesListSubmenuMixin));ViewContextMenu.propTypes={coords:propTypes$3.exports.array,customItems:propTypes$3.exports.array};let TiledPlot=/*#__PURE__*/function(_React__default$defau18){_inherits3(TiledPlot,_React__default$defau18);var _super78=_createSuper3(TiledPlot);function TiledPlot(props){var _this92;_classCallCheck3(this,TiledPlot);_this92=_super78.call(this,props);_this92.closing=false;const{tracks:tracks2}=_this92.props;_this92.canvasElement=null;_this92.tracksByUidInit={};[...(_this92.props.tracks.top||[]),...(_this92.props.tracks.right||[]),...(_this92.props.tracks.bottom||[]),...(_this92.props.tracks.left||[]),...(_this92.props.tracks.gallery||[]),...(_this92.props.tracks.center||[])].forEach(track=>{if(track.type==="combined"){track.contents.forEach(track2=>{_this92.tracksByUidInit[track2.uid]=false;});}else{_this92.tracksByUidInit[track.uid]=false;}});_this92.xScale=null;_this92.yScale=null;_this92.addUidsToTracks(tracks2);_this92.trackToReplace=null;_this92.trackRenderer=null;_this92.configTrackMenu=null;_this92.state={sizeMeasured:false,height:10,width:10,tracks:tracks2,init:false,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:false,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null};_this92.reset=true;if(window.higlassTracksByType){Object.keys(window.higlassTracksByType).forEach(pluginTrackType=>{TRACKS_INFO_BY_TYPE[pluginTrackType]=window.higlassTracksByType[pluginTrackType].config;});}_this92.topHeight=0;_this92.bottomHeight=0;_this92.leftWidth=0;_this92.rightWidth=0;_this92.centerHeight=0;_this92.centerWidth=0;_this92.dragTimeout=null;_this92.previousPropsStr="";_this92.contextMenuHandlerBound=_this92.contextMenuHandler.bind(_assertThisInitialized3(_this92));_this92.handleNoTrackAddedBound=_this92.handleNoTrackAdded.bind(_assertThisInitialized3(_this92));_this92.handleTracksAddedBound=_this92.handleTracksAdded.bind(_assertThisInitialized3(_this92));_this92.closeMenusBound=_this92.closeMenus.bind(_assertThisInitialized3(_this92));_this92.handleAddDivisorBound=_this92.handleAddDivisor.bind(_assertThisInitialized3(_this92));_this92.handleAddSeriesBound=_this92.handleAddSeries.bind(_assertThisInitialized3(_this92));_this92.handleChangeTrackDataBound=_this92.handleChangeTrackData.bind(_assertThisInitialized3(_this92));_this92.handleChangeTrackTypeBound=_this92.handleChangeTrackType.bind(_assertThisInitialized3(_this92));_this92.handleCloseTrackBound=_this92.handleCloseTrack.bind(_assertThisInitialized3(_this92));_this92.handleConfigureTrackBound=_this92.handleConfigureTrack.bind(_assertThisInitialized3(_this92));_this92.handleExportTrackDataBound=_this92.handleExportTrackData.bind(_assertThisInitialized3(_this92));_this92.handleLockValueScaleBound=_this92.handleLockValueScale.bind(_assertThisInitialized3(_this92));_this92.handleReplaceTrackBound=_this92.handleReplaceTrack.bind(_assertThisInitialized3(_this92));_this92.handleTrackOptionsChangedBound=_this92.handleTrackOptionsChanged.bind(_assertThisInitialized3(_this92));_this92.handleUnlockValueScaleBound=_this92.handleUnlockValueScale.bind(_assertThisInitialized3(_this92));_this92.onAddTrack=_this92.handleAddTrack.bind(_assertThisInitialized3(_this92));return _this92;}_createClass3(TiledPlot,[{key:"waitForDOMAttachment",value:function waitForDOMAttachment(callback){if(!this.mounted)return;const thisElement=ReactDOM__default.default.findDOMNode(this);if(document.body.contains(thisElement)){callback();}else{requestAnimationFrame(()=>this.waitForDOMAttachment(callback));}}},{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;this.element=ReactDOM__default.default.findDOMNode(this);this.canvasElement=ReactDOM__default.default.findDOMNode(this.props.canvasElement);this.waitForDOMAttachment(()=>{cssElementQueries.ElementQueries.listen();this.resizeSensor=new cssElementQueries.ResizeSensor(this.element.parentNode,this.measureSize.bind(this));this.measureSize();});this.addEventListeners();this.pubSubs=[];this.pubSubs.push(this.props.pubSub.subscribe("contextmenu",this.contextMenuHandlerBound));}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(newProps){this.addUidsToTracks(newProps.tracks);this.setState({tracks:newProps.tracks});}},{key:"shouldComponentUpdate",value:function shouldComponentUpdate(nextProps,nextState){const thisPropsStr=this.previousPropsStr;const nextPropsStr=this.updatablePropsToString(nextProps);const thisStateStr=JSON.stringify(this.state);const nextStateStr=JSON.stringify(nextState);const toUpdate=thisPropsStr!==nextPropsStr||thisStateStr!==nextStateStr||this.props.chooseTrackHandler!==nextProps.chooseTrackHandler||this.props.customDialog!==nextProps.customDialog;if(toUpdate)this.previousPropsStr=nextPropsStr;const numPrevTracks=this.numTracks;this.numTracks=0;visitPositionedTracks(this.props.tracks,()=>this.numTracks++);this.reset=this.reset||numPrevTracks===0&&this.numTracks>0;if(!this.numTracks)this.tracksByUidInit={};return toUpdate;}},{key:"UNSAFE_componentWillUpdate",value:function UNSAFE_componentWillUpdate(){}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(prevState.rangeSelection!==this.state.rangeSelection){let genomicRange=[null,null];if(this.state.defaultChromSizes&&this.state.rangeSelection.every(range2=>range2&&range2.length)){genomicRange=this.state.rangeSelection.map(range2=>dataToGenomicLoci(...range2,this.state.defaultChromSizes));}this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange});}if(this.state.customDialog||this.props.customDialog){const dialogData=this.state.customDialog||this.props.customDialog;if(dialogData.length>0){const componentArray=[];const bodyPropsArray=[];dialogData.forEach(dd=>{componentArray.push(dd.bodyComponent);bodyPropsArray.push(dd.bodyProps);});this.props.modal.open(/* @__PURE__ */React__default.default.createElement(CustomTrackDialog,{children:componentArray,bodyProps:bodyPropsArray,onCancel:this.props.closeCustomDialog,title:dialogData[0].title}));}}if(prevProps.tracks.center!==this.props.tracks.center);if(this.state.addTrackPosition||this.props.addTrackPosition){this.props.modal.open(/* @__PURE__ */React__default.default.createElement(AddTrackDialog,{host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers}));}if(this.state.addDivisorDialog){const series=this.state.addDivisorDialog;this.props.modal.open(/* @__PURE__ */React__default.default.createElement(AddTrackDialog,{datatype:TRACKS_INFO_BY_TYPE[series.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null});},onTracksChosen:newTrack=>{this.handleDivisorChosen(series,newTrack);},trackSourceServers:this.props.trackSourceServers}));}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.closing=true;this.removeEventListeners();this.pubSubs.forEach(subscription=>this.props.pubSub.unsubscribe(subscription));}},{key:"addUidsToTracks",value:function addUidsToTracks(positionedTracks){Object.keys(positionedTracks).forEach(position=>{positionedTracks[position].forEach(track=>{track.uid=track.uid||slugid.nice();});});}},{key:"contextMenuHandler",value:function contextMenuHandler(e){if(!this.divTiledPlot)return;const bBox=this.divTiledPlot.getBoundingClientRect();const isClickWithin=_isWithin(e.clientX,e.clientY,bBox.left,bBox.left+bBox.width,bBox.top,bBox.top+bBox.height);if(!isClickWithin)return;const mousePos=[e.clientX,e.clientY];const canvasMousePos=pointer(e,this.divTiledPlot);const xVal=this.trackRenderer.zoomedXScale.invert(canvasMousePos[0]);const yVal=this.trackRenderer.zoomedYScale.invert(canvasMousePos[1]);let contextMenuCustomItems=null;if(e.hgCustomItems){contextMenuCustomItems=e.hgCustomItems.map(item=>/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{key:item.key,onClick:item.onClick},item.text));}this.setState({contextMenuCustomItems,contextMenuPosition:{left:mousePos[0],top:mousePos[1],canvasLeft:canvasMousePos[0]+this.trackRenderer.xPositionOffset,canvasTop:canvasMousePos[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:xVal,contextMenuDataY:yVal});}},{key:"measureSize",value:function measureSize(){if(this.element.clientWidth>0&&this.element.clientHeight>0){this.setState({sizeMeasured:true,width:this.element.clientWidth,height:this.element.clientHeight});}}},{key:"handleTrackOptionsChanged",value:function handleTrackOptionsChanged(trackUid,newOptions){return this.props.onTrackOptionsChanged(trackUid,newOptions);}},{key:"handleScalesChanged",value:function handleScalesChanged(x,y){this.xScale=x;this.yScale=y;this.props.onScalesChanged(x,y);}},{key:"handleTilesetInfoReceived",value:function handleTilesetInfoReceived(trackUid,tilesetInfo){const track=getTrackByUid(this.props.tracks,trackUid);if(!track){console.warn("Strange, track not found:",trackUid);return;}this.tracksByUidInit[track.uid]=true;this.checkAllTilesetInfoReceived();if(!track.options){track.options={};}track.name=tilesetInfo.name;track.maxWidth=tilesetInfo.max_width;track.transforms=tilesetInfo.transforms;track.aggregationModes=tilesetInfo.aggregation_modes;track.header=tilesetInfo.header;track.binsPerDimension=tilesetInfo.bins_per_dimension;if(tilesetInfo.resolutions){track.maxZoom=tilesetInfo.resolutions.length-1;track.resolutions=tilesetInfo.resolutions;}else{track.maxZoom=tilesetInfo.max_zoom;}track.coordSystem=tilesetInfo.coordSystem;track.datatype=tilesetInfo.datatype;}},{key:"checkAllTilesetInfoReceived",value:function checkAllTilesetInfoReceived(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit()){return;}const allTracksWithTilesetInfos=Object.keys(this.trackRenderer.trackDefObjects).map(trackUuid=>{const track=this.trackRenderer.trackDefObjects[trackUuid].trackObject;if(track.childTracks)return track.childTracks;return track;}).reduce((a,b)=>a.concat(b),[]).filter(({tilesetInfo})=>typeof tilesetInfo!=="undefined"&&tilesetInfo!==true);const loadedTilesetInfos=Object.values(this.tracksByUidInit).filter(x=>x).length;if(allTracksWithTilesetInfos.length===loadedTilesetInfos){this.setState({init:true});this.reset=false;this.handleZoomToData();}}},{key:"handleOverlayMouseEnter",value:function handleOverlayMouseEnter(uid){this.setState({mouseOverOverlayUid:uid});}},{key:"handleOverlayMouseLeave",value:function handleOverlayMouseLeave(uid){if(uid===this.state.mouseOverOverlayUid){this.setState({mouseOverOverlayUid:null});}}},{key:"handleTrackPositionChosen",value:function handleTrackPositionChosen(pTrack){this.setState({mouseOverOverlayUid:null});this.props.chooseTrackHandler(pTrack.track.uid);}},{key:"handleNoTrackAdded",value:function handleNoTrackAdded(){this.trackToReplace=null;this.props.onNoTrackAdded();this.setState({addTrackPosition:null,addTrackHost:null});}},{key:"handleAddDivisor",value:function handleAddDivisor(series){this.setState({addDivisorDialog:series});}},{key:"handleDivisorChosen",value:function handleDivisorChosen(series,newTrack){this.setState({addDivisorDialog:null});const numerator=series.data?{server:series.data.server,tilesetUid:series.data.tilesetUid}:{server:series.server,tilesetUid:series.tilesetUid};const denominator={server:newTrack[0].server,tilesetUid:newTrack[0].uuid};this.handleChangeTrackData(series.uid,{type:"divided",children:[numerator,denominator]});}},{key:"handleDivideSeries",value:function handleDivideSeries(seriesUid){}},{key:"handleAddSeries",value:function handleAddSeries(trackUid){const trackPosition=getTrackPositionByUid(this.props.tracks,trackUid);const track=getTrackByUid(this.props.tracks,trackUid);this.setState({addTrackPosition:trackPosition,addTrackHost:track});}},{key:"handleReplaceTrack",value:function handleReplaceTrack(uid,orientation2){this.trackToReplace=uid;this.handleAddTrack(orientation2);}},{key:"handleAddTrack",value:function handleAddTrack(position){this.setState({addTrackPosition:position,addTrackHost:null});}},{key:"handleResizeTrack",value:function handleResizeTrack(uid,width,height){const{tracks:tracks2}=this.state;for(const trackType in tracks2){const theseTracks=tracks2[trackType];const filteredTracks=theseTracks.filter(d=>d.uid===uid);if(filteredTracks.length>0){filteredTracks[0].width=width;filteredTracks[0].height=height;}}this.setState({tracks:tracks2,forceUpdate:Math.random()});this.props.onResizeTrack();}},{key:"closeMenus",value:function closeMenus(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null});}},{key:"handleLockValueScale",value:function handleLockValueScale(uid){this.closeMenus();this.props.onLockValueScale(uid);}},{key:"handleUnlockValueScale",value:function handleUnlockValueScale(uid){this.closeMenus();this.props.onUnlockValueScale(uid);}},{key:"handleCloseTrack",value:function handleCloseTrack(uid){this.closeMenus();this.props.onCloseTrack(uid);}},{key:"handleChangeTrackType",value:function handleChangeTrackType(uid,newType){this.closeMenus();this.props.onChangeTrackType(uid,newType);}},{key:"handleChangeTrackData",value:function handleChangeTrackData(uid,newData){this.closeMenus();this.props.onChangeTrackData(uid,newData);}},{key:"handleTracksAdded",value:function handleTracksAdded(newTracks,position,host){if(this.trackToReplace){this.handleCloseTrack(this.trackToReplace);this.trackToReplace=null;}this.props.onTracksAdded(newTracks,position,host);this.setState({addTrackPosition:null,addTrackHost:null});return newTracks;}},{key:"handleCloseTrackMenuOpened",value:function handleCloseTrackMenuOpened(uid,clickPosition){this.setState({closeTrackMenuId:uid,closeTrackMenuLocation:clickPosition});}},{key:"handleCloseContextMenu",value:function handleCloseContextMenu(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null});}},{key:"handleCloseTrackMenuClosed",value:function handleCloseTrackMenuClosed(){this.setState({closeTrackMenuId:null});}},{key:"handleConfigTrackMenuOpened",value:function handleConfigTrackMenuOpened(uid,clickPosition){this.closeMenus();this.setState({configTrackMenuId:uid,configTrackMenuLocation:clickPosition});}},{key:"handleConfigureTrack",value:function handleConfigureTrack(track,configComponent){this.setState({configTrackMenuId:null,trackOptions:{track,configComponent}});this.closeMenus();}},{key:"handleSortEnd",value:function handleSortEnd(sortedTracks){this.setState(prevState=>{const tracks2=prevState.tracks;const positions={};for(let i2=0;i2<sortedTracks.length;i2++){positions[sortedTracks[i2].uid]=i2;}for(const trackType in tracks2){const theseTracks=tracks2[trackType];if(!theseTracks.length){continue;}if(theseTracks[0].uid in positions){const newTracks=new Array(theseTracks.length);for(let i2=0;i2<theseTracks.length;i2++){newTracks[positions[theseTracks[i2].uid]]=theseTracks[i2];}tracks2[trackType]=newTracks;}}return{tracks:tracks2,forceUpdate:Math.random()};});}},{key:"createTracksAndLocations",value:function createTracksAndLocations(){const tracksAndLocations=[];const{tracks:tracks2}=this.state;TRACK_LOCATIONS.forEach(location=>{if(tracks2[location]){tracks2[location].forEach(track=>{if(track.contents){track.contents.forEach(content=>{content.position=location;});}track.position=location;tracksAndLocations.push({track,location});});}});return tracksAndLocations;}},{key:"calculateTrackPosition",value:function calculateTrackPosition(track,location){let top2=this.props.paddingTop;let bottom2=this.props.paddingBottom;let left2=this.props.paddingLeft;let right2=this.props.paddingRight;let width=this.centerWidth;let height=track.height;let offsetX=0;let offsetY=0;switch(location){case"top":left2+=this.leftWidth;for(let i2=0;i2<this.state.tracks.top.length;i2++){if(this.state.tracks.top[i2].uid===track.uid){break;}else{top2+=this.state.tracks.top[i2].height;}}break;case"bottom":left2+=this.leftWidth;top2+=this.topHeight+this.centerHeight+this.galleryDim;for(let i2=0;i2<this.state.tracks.bottom.length;i2++){if(this.state.tracks.bottom[i2].uid===track.uid){break;}else{top2+=this.state.tracks.bottom[i2].height;}}break;case"left":top2+=this.topHeight;width=track.width;height=this.centerHeight;for(let i2=0;i2<this.state.tracks.left.length;i2++){if(this.state.tracks.left[i2].uid===track.uid){break;}else{left2+=this.state.tracks.left[i2].width;}}break;case"right":left2+=this.leftWidth+this.centerWidth+this.galleryDim;top2+=this.topHeight;width=track.width;height=this.centerHeight;for(let i2=0;i2<this.state.tracks.right.length;i2++){if(this.state.tracks.right[i2].uid===track.uid){break;}else{left2+=this.state.tracks.right[i2].width;}}break;case"center":left2+=this.leftWidth;top2+=this.topHeight;height=this.centerHeight;break;case"gallery":left2+=this.leftWidthNoGallery;top2+=this.topHeightNoGallery;width=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft;height=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop;offsetX=this.galleryDim;offsetY=this.galleryDim;for(let i2=0;i2<this.state.tracks.gallery.length;i2++){if(this.state.tracks.gallery[i2].uid===track.uid){break;}else{width-=2*this.state.tracks.gallery[i2].height;height-=2*this.state.tracks.gallery[i2].height;left2+=this.state.tracks.gallery[i2].height;top2+=this.state.tracks.gallery[i2].height;offsetX-=this.state.tracks.gallery[i2].height;offsetY-=this.state.tracks.gallery[i2].height;}}for(let i2=0;i2<this.state.tracks.right.length;i2++){right2+=this.state.tracks.right[i2].width;}for(let i2=0;i2<this.state.tracks.bottom.length;i2++){bottom2+=this.state.tracks.bottom[i2].height;}track.offsetX=offsetX;track.offsetY=offsetY;track.offsetTop=top2;track.offsetRight=right2;track.offsetBottom=bottom2;track.offsetLeft=left2;break;case"whole":default:width=this.leftWidth+this.centerWidth+this.rightWidth;height=this.topHeight+this.centerHeight+this.bottomHeight;}if(TRACK_LOCATIONS.indexOf(location)===-1){console.warn("Track with unknown position present:",location,track);}return{left:left2,top:top2,width,height,track};}},{key:"findCentralHeatmapTrack",value:function findCentralHeatmapTrack(tracks2){for(let i2=0;i2<tracks2.length;i2++){if(tracks2[i2].type==="combined"){return this.findCentralHeatmapTrack(tracks2[i2].contents);}if(tracks2[i2].type==="heatmap")return tracks2[i2];}return void 0;}},{key:"trackUuidToOrientation",value:function trackUuidToOrientation(trackUuid){}},{key:"overlayTracks",value:function overlayTracks(positionedTracks){if(this.props.overlays){const overlayDefs=this.props.overlays.filter(overlayTrack=>overlayTrack.includes&&overlayTrack.includes.length).map(overlayTrack=>{const type2=overlayTrack.type?`overlay-${overlayTrack.type}-track`:"overlay-track";const overlayDef={...overlayTrack,uid:overlayTrack.uid||slugid.nice(),includes:overlayTrack.includes,type:type2,options:Object.assign(overlayTrack.options,{orientationsAndPositions:overlayTrack.includes.map(trackUuid=>{const includedTrack=getTrackByUid(this.props.tracks,trackUuid);if(!includedTrack){console.warn(`OverlayTrack included uid (${trackUuid}) not found in the track list`);return null;}const trackPos=getTrackPositionByUid(this.props.tracks,includedTrack.uid);let orientation2;if(trackPos==="top"||trackPos==="bottom"){orientation2="1d-horizontal";}if(trackPos==="left"||trackPos==="right"){orientation2="1d-vertical";}if(trackPos==="center"){orientation2="2d";}if(!orientation2){console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment");return null;}const positionedTrack=positionedTracks.filter(track=>track.track.uid===trackUuid);if(!positionedTrack.length){return null;}const position={left:positionedTrack[0].left-this.props.paddingLeft,top:positionedTrack[0].top-this.props.paddingTop,width:positionedTrack[0].width,height:positionedTrack[0].height};return{orientation:orientation2,position};}).filter(x=>x)})};return{top:this.props.paddingTop,left:this.props.paddingLeft,width:this.leftWidth+this.centerWidth+this.rightWidth,height:this.topHeight+this.centerHeight+this.bottomHeight+this.props.marginTop+this.props.marginBottom,track:overlayDef};});return overlayDefs;}return[];}},{key:"positionedTracks",value:function positionedTracks(){const tracksAndLocations=this.createTracksAndLocations().map(({track,location})=>this.calculateTrackPosition(track,location));return tracksAndLocations;}},{key:"createTrackPositionTexts",value:function createTrackPositionTexts(){const positionedTracks=this.positionedTracks();this.createTracksAndLocations();const trackElements=positionedTracks.map(trackPosition=>{const{track}=trackPosition;return/* @__PURE__ */React__default.default.createElement("div",{key:track.uid,style:{left:trackPosition.left,top:trackPosition.top,width:trackPosition.width,height:trackPosition.height,position:"absolute"}},track.uid.slice(0,2));});return trackElements;}},{key:"handleExportTrackData",value:function handleExportTrackData(hostTrackUid,trackUid){const track=getTrackByUid(this.props.tracks,trackUid);let trackObject=null;if(hostTrackUid!==trackUid){trackObject=this.trackRenderer.trackDefObjects[hostTrackUid].trackObject.createdTracks[track.uid];}else{({trackObject}=this.trackRenderer.trackDefObjects[hostTrackUid]);}trackObject.exportData();this.closeMenus();}},{key:"listTracksAtPosition",value:function listTracksAtPosition(x,y,isReturnTrackObj=false){const trackObjectsAtPosition=[];if(!this.trackRenderer)return[];for(const uid in this.trackRenderer.trackDefObjects){const trackObj=this.trackRenderer.trackDefObjects[uid].trackObject;if(trackObj.respondsToPosition(x,y)){if(isReturnTrackObj){if(this.props.tracks.center){if(this.props.tracks.center.contents){for(let i2=0;i2<this.props.tracks.center.contents.length;i2++){if(this.props.tracks.center.contents[i2].uid===uid){trackObj.is2d=true;}}}else if(this.props.tracks.center&&this.props.tracks.center.length&&this.props.tracks.center[0].uid===uid){trackObj.is2d=true;}}trackObjectsAtPosition.push(trackObj);}else{trackObjectsAtPosition.push(this.trackRenderer.trackDefObjects[uid].trackDef.track);}}}return trackObjectsAtPosition;}},{key:"listAllTrackObjects",value:function listAllTrackObjects(){const trackObjectsToCheck=[];for(const uid in this.trackRenderer.trackDefObjects){const tdo=this.trackRenderer.trackDefObjects[uid];if(tdo.trackObject.createdTracks){for(const uid1 in tdo.trackObject.createdTracks){const trackObject=tdo.trackObject.createdTracks[uid1];trackObjectsToCheck.push(trackObject);}}else{trackObjectsToCheck.push(tdo.trackObject);}}return trackObjectsToCheck;}},{key:"handleZoomToData",value:function handleZoomToData(){const maxSafeInt=Number.MAX_SAFE_INTEGER;const minSafeInt=Number.MIN_SAFE_INTEGER;const minPos=[maxSafeInt,maxSafeInt];const maxPos=[minSafeInt,minSafeInt];const trackObjectsToCheck=this.listAllTrackObjects();for(const trackObject of trackObjectsToCheck){if(trackObject.tilesetInfo){if(trackObject.tilesetInfo.min_pos){for(let j=0;j<trackObject.tilesetInfo.min_pos.length;j++){if(trackObject.tilesetInfo.min_pos[j]<minPos[j]){minPos[j]=trackObject.tilesetInfo.min_pos[j];}if(trackObject.tilesetInfo.max_pos[j]>maxPos[j]){maxPos[j]=trackObject.tilesetInfo.max_pos[j];}}}}}const left2=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let newXDomain=[left2,left2+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const top2=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let newYDomain=[top2,top2+this.trackRenderer.currentProps.centerHeight].map(this.trackRenderer.zoomTransform.rescaleY(this.trackRenderer.yScale).invert);this.trackRenderer.zoomTransform.k=1;this.trackRenderer.zoomTransform.x=0;this.trackRenderer.zoomTransform.y=0;this.trackRenderer.applyZoomTransform();if(minPos[0]<Number.MAX_SAFE_INTEGER&&maxPos[0]>Number.MIN_SAFE_INTEGER){newXDomain=[minPos[0],maxPos[0]];}if(minPos[1]<Number.MAX_SAFE_INTEGER&&maxPos[1]>Number.MIN_SAFE_INTEGER){newYDomain=[minPos[1],maxPos[1]];}this.props.onDataDomainChanged(newXDomain,newYDomain);}},{key:"resetViewport",value:function resetViewport(){this.trackRenderer.zoomTransform.k=1;this.trackRenderer.zoomTransform.x=0;this.trackRenderer.zoomTransform.y=0;this.trackRenderer.applyZoomTransform();this.props.onDataDomainChanged(this.props.initialXDomain,this.props.initialYDomain);}},{key:"updatablePropsToString",value:function updatablePropsToString(props){return JSON.stringify({tracks:props.tracks,overlays:props.overlays,viewOptions:props.viewOptions,uid:props.uid,addTrackPosition:props.addTrackPosition,editable:props.editable,marginTop:props.marginTop,marginBottom:props.marginBottom,marginLeft:props.marginLeft,marginRight:props.marginRight,paddingTop:props.paddingTop,paddingBottom:props.paddingBottom,paddingLeft:props.paddingLeft,paddingRight:props.paddingRight,mouseTool:props.mouseTool,initialXDomain:props.initialXDomain,initialYDomain:props.initialYDomain,trackSourceServers:props.trackSourceServers,zoomable:props.zoomable,draggingHappening:props.draggingHappening});}},{key:"getXYScales",value:function getXYScales(){if(this.trackRenderer){this.xScale=this.trackRenderer.currentXScale;this.yScale=this.trackRenderer.currentYScale;}}},{key:"rangeViewToDataLoci",value:function rangeViewToDataLoci(range2,scale){if(!scale)return[null,null];return[parseInt(scale.invert(range2[0]),10),parseInt(scale.invert(range2[1]),10)];}},{key:"rangeSelectionResetHandler",value:function rangeSelectionResetHandler(){if(this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:false});}}},{key:"rangeSelection1dEndHandler",value:function rangeSelection1dEndHandler(axis2){if(!this.xScale||!this.yScale){this.getXYScales();}const scale=axis2==="x"?this.xScale:this.yScale;return range2=>{this.setState(prevState=>{const newRangeSelection=prevState.is1dRangeSelection?[null,null]:prevState.rangeSelection.slice();const accessor=!this.state.is1dRangeSelection&&axis2==="y"?1:0;let dataPos=this.rangeViewToDataLoci(range2,scale);const size=dataPos[1]-dataPos[0];if(this.props.rangeSelection1dSize[0]>size){const center2=dataPos[0]+size/2;dataPos=[center2-this.props.rangeSelection1dSize[0]/2,center2+this.props.rangeSelection1dSize[0]/2];}else if(this.props.rangeSelection1dSize[1]<size){const center2=dataPos[0]+size/2;dataPos=[center2-this.props.rangeSelection1dSize[1]/2,center2+this.props.rangeSelection1dSize[1]/2];}newRangeSelection[accessor]=dataPos;if(this.props.rangeSelectionToInt){newRangeSelection[accessor]=newRangeSelection[accessor].map(x=>Math.round(x));}return{rangeSelection:newRangeSelection,rangeSelectionEnd:true};});};}},{key:"rangeSelection1dHandler",value:function rangeSelection1dHandler(axis2){if(!this.xScale||!this.yScale)this.getXYScales();const scale=axis2==="x"?this.xScale:this.yScale;return range2=>{this.setState(prevState=>{const newRangeSelection=prevState.is1dRangeSelection?[null,null]:prevState.rangeSelection.slice();const accessor=!prevState.is1dRangeSelection&&axis2==="y"?1:0;newRangeSelection[accessor]=this.rangeViewToDataLoci(range2,scale);return{rangeSelection:newRangeSelection,rangeSelectionEnd:false};});};}},{key:"rangeSelection1dStartHandler",value:function rangeSelection1dStartHandler(){if(!this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:true,rangeSelectionMaster:true,rangeSelectionEnd:false});}}},{key:"rangeSelection2dHandler",value:function rangeSelection2dHandler(range2){if(!this.xScale||!this.yScale)this.getXYScales();this.setState({rangeSelection:[this.rangeViewToDataLoci(range2[0],this.xScale),this.rangeViewToDataLoci(range2[1],this.yScale)],rangeSelectionEnd:false});}},{key:"rangeSelection2dStartHandler",value:function rangeSelection2dStartHandler(){if(!this.state.rangeSelectionMaster){this.setState({is1dRangeSelection:false,rangeSelectionMaster:true,rangeSelectionEnd:false});}}},{key:"rangeSelection2dEndHandler",value:function rangeSelection2dEndHandler(range2){if(!this.xScale||!this.yScale)this.getXYScales();const dataPosX=this.rangeViewToDataLoci(range2[0],this.xScale);const dataPosY=this.rangeViewToDataLoci(range2[1],this.yScale);let dataPos=[dataPosX,dataPosY];const sizeX=dataPosX[1]-dataPosX[0];const sizeY=dataPosY[1]-dataPosY[0];const size=[sizeX,sizeY];dataPos.forEach((pos,i2)=>{if(this.props.rangeSelection1dSize[0]>size[i2]){const center2=pos[0]+Math.round(size[i2]/2);pos[0]=center2-this.props.rangeSelection1dSize[0]/2;pos[1]=center2+this.props.rangeSelection1dSize[0]/2;}else if(this.props.rangeSelection1dSize[1]<size[i2]){const center2=pos[0]+Math.round(size[i2]/2);pos[0]=center2-this.props.rangeSelection1dSize[1]/2;pos[1]=center2+this.props.rangeSelection1dSize[1]/2;}});if(this.props.rangeSelectionToInt){dataPos=dataPos.map(x=>x.map(y=>Math.round(y)));}this.setState({rangeSelection:dataPos,rangeSelectionEnd:true});}},{key:"getContextMenu",value:function getContextMenu(){if(this.state.contextMenuPosition){const relevantTracks=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.closeMenusBound},/* @__PURE__ */React__default.default.createElement(ViewContextMenu,{closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:newTrack=>{this.props.onTracksAdded([newTrack],newTrack.position,null);this.handleCloseContextMenu();},onChangeTrackData:this.handleChangeTrackDataBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,orientation:"right",position:this.state.contextMenuPosition,theme:this.props.theme,tracks:relevantTracks,trackSourceServers:this.props.trackSourceServers}));}return null;}},{key:"getIdealizedTrackPositionsOverlay",value:function getIdealizedTrackPositionsOverlay(){const evtJson=this.props.draggingHappening;const datatype=evtJson.datatype;if(!(datatype in DEFAULT_TRACKS_FOR_DATATYPE)&&!evtJson.defaultTracks){console.warn("unknown data type:",evtJson.higlassTrack);return void 0;}const orientationToPositions={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]};const defaultTracks=DEFAULT_TRACKS_FOR_DATATYPE[datatype]||{};if(evtJson.defaultTracks){for(const trackType of evtJson.defaultTracks){if(!TRACKS_INFO_BY_TYPE[trackType]){console.warn("unknown track type",trackType);}else{for(const position of orientationToPositions[TRACKS_INFO_BY_TYPE[trackType].orientation]){defaultTracks[position]=trackType;}}}}const presentTracks=new Set(["top","left","right","center","bottom"].filter(x=>x in this.state.tracks&&this.state.tracks[x].length));const topAllowed=("top"in defaultTracks);const leftAllowed=("left"in defaultTracks);const rightAllowed=("right"in defaultTracks);const bottomAllowed=("bottom"in defaultTracks);const centerAllowed=("center"in defaultTracks);const hasVerticalComponent="center"in defaultTracks||presentTracks.has("left")||presentTracks.has("right")||presentTracks.has("center");const topDisplayed=("top"in defaultTracks);const bottomDisplayed="bottom"in defaultTracks&&hasVerticalComponent;const leftDisplayed="left"in defaultTracks&&hasVerticalComponent;const rightDisplayed="right"in defaultTracks&&hasVerticalComponent;const centerDisplayed=Object.keys(defaultTracks).length&&("center"in defaultTracks||hasVerticalComponent);const topLeftDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{flexGrow:1}});const topRightDiv=React__default.default.cloneElement(topLeftDiv);const topDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",flexGrow:1}},topDisplayed&&(centerDisplayed||leftDisplayed)?topLeftDiv:null,/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.top,draggingHappening:this.props.draggingHappening,enabled:topAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"top"),style:{border:"1px solid black",flexGrow:1}}),topDisplayed&&(centerDisplayed||leftDisplayed)?topRightDiv:null);const bottomDiv=/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",flexGrow:1}},topDisplayed&&(centerDisplayed||leftDisplayed)?topLeftDiv:null,/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.bottom,draggingHappening:this.props.draggingHappening,enabled:bottomAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"bottom"),style:{border:"1px solid black",flexGrow:1}}),topDisplayed&&(centerDisplayed||leftDisplayed)?topRightDiv:null);const leftDiv=/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.left,draggingHappening:this.props.draggingHappening,enabled:leftAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"left"),style:{border:"1px solid black",flexGrow:1}});const centerDiv=/* @__PURE__ */React__default.default.createElement(DragListeningDiv$1,{defaultTrackType:defaultTracks.center,draggingHappening:this.props.draggingHappening,enabled:centerAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}});const rightDiv=React__default.default.cloneElement(leftDiv,{defaultTrackType:defaultTracks.right,enabled:rightAllowed,onTrackDropped:track=>this.handleTracksAdded([track],"right")});return/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},/* @__PURE__ */React__default.default.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:0.4}}),/* @__PURE__ */React__default.default.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},topDisplayed?topDiv:null,hasVerticalComponent&&/* @__PURE__ */React__default.default.createElement("div",{style:{display:"flex",height:topDisplayed||bottomDisplayed?"40%":"100%",width:"100%"}},leftDisplayed?leftDiv:null,centerDisplayed?centerDiv:null,rightDisplayed?rightDiv:null),bottomDisplayed?bottomDiv:null));}},{key:"render",value:function render(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(x=>x.height).reduce(sum,0):0;this.topHeightNoGallery=this.props.tracks.top.map(x=>x.height).reduce(sum,0);this.topHeight=this.topHeightNoGallery+this.galleryDim;this.bottomHeightNoGallery=this.props.tracks.bottom.map(x=>x.height).reduce(sum,0);this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim;this.leftWidthNoGallery=this.props.tracks.left.map(x=>x.width).reduce(sum,0);this.leftWidth=this.leftWidthNoGallery+this.galleryDim;this.rightWidthNoGallery=this.props.tracks.right.map(x=>x.width).reduce(sum,0);this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const verticalPadding=this.props.paddingTop+this.props.paddingBottom;const horizontalPadding=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(0,this.state.height-this.topHeight-this.bottomHeight-verticalPadding);this.centerWidth=Math.max(0,this.state.width-this.leftWidth-this.rightWidth-horizontalPadding);const trackOutline="none";const topTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"top-track-container",style:{left:this.leftWidth+this.props.paddingLeft,top:this.props.paddingTop,width:this.centerWidth,height:this.topHeightNoGallery,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(HorizontalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth}));const leftTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"left-track-container",style:{left:this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.leftWidthNoGallery,height:this.centerHeight,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(VerticalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left}));const rightTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"right-track-container",style:{right:this.props.paddingRight,top:this.topHeight+this.props.paddingTop,width:this.rightWidthNoGallery,height:this.centerHeight,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(VerticalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:true}));const bottomTracks=/* @__PURE__ */React__default.default.createElement("div",{className:"bottom-track-container",style:{left:this.leftWidth+this.props.paddingLeft,bottom:this.props.paddingBottom,width:this.centerWidth,height:this.bottomHeightNoGallery,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(HorizontalTiledPlot,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:/* @__PURE__ */new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth}));const galleryTracks=/* @__PURE__ */React__default.default.createElement("div",{key:"galleryTracksDiv",className:"gallery-track-container",style:{left:this.leftWidthNoGallery+this.props.paddingLeft,top:this.topHeightNoGallery+this.props.paddingTop,width:this.centerWidth+2*this.galleryDim,height:this.centerHeight+2*this.galleryDim,outline:trackOutline,position:"absolute"}},/* @__PURE__ */React__default.default.createElement(GalleryTracks,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight+2*this.galleryDim,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),tracks:this.props.tracks.gallery,width:this.centerWidth+2*this.galleryDim}));let centerTrack=/* @__PURE__ */React__default.default.createElement("div",{className:["center-track-container",stylesCenterTrack["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:trackOutline}});if(this.props.tracks.center.length){centerTrack=/* @__PURE__ */React__default.default.createElement("div",{className:["center-track-container",stylesCenterTrack["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:trackOutline}},/* @__PURE__ */React__default.default.createElement(CenterTrack,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===MOUSE_TOOL_SELECT,onAddSeries:this.handleAddSeries.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection2dStartHandler.bind(this),onRangeSelectionX:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionXEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionXY:this.rangeSelection2dHandler.bind(this),onRangeSelectionXYEnd:this.rangeSelection2dEndHandler.bind(this),onRangeSelectionY:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionYEnd:this.rangeSelection1dEndHandler("y").bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,scaleX:this.xScale,scaleY:this.yScale,tracks:this.props.tracks.center,uid:this.props.tracks.center[0].uid,width:this.centerWidth}));}this.createTrackPositionTexts();let positionedTracks=this.positionedTracks();positionedTracks=positionedTracks.concat(this.overlayTracks(positionedTracks));let trackRenderer=null;if(this.state.sizeMeasured){trackRenderer=/* @__PURE__ */React__default.default.createElement(TrackRenderer$1,{ref:c2=>{this.trackRenderer=c2;this.checkAllTilesetInfoReceived();},canvasElement:this.canvasElement,centerHeight:this.centerHeight,centerWidth:this.centerWidth,disableTrackMenu:this.props.disableTrackMenu,dragging:this.props.dragging,galleryDim:this.galleryDim,getLockGroupExtrema:this.props.getLockGroupExtrema,height:this.state.height,initialXDomain:this.props.initialXDomain,initialYDomain:this.props.initialYDomain,isRangeSelection:this.props.mouseTool===MOUSE_TOOL_SELECT,isShowGlobalMousePosition:this.props.isShowGlobalMousePosition,isValueScaleLocked:this.props.isValueScaleLocked,leftWidth:this.leftWidth,leftWidthNoGallery:this.leftWidthNoGallery,metaTracks:this.props.metaTracks,onMouseMoveZoom:this.props.onMouseMoveZoom,onNewTilesLoaded:this.props.onNewTilesLoaded,onScalesChanged:this.handleScalesChanged.bind(this),onTilesetInfoReceived:this.handleTilesetInfoReceived.bind(this),onTrackOptionsChanged:this.handleTrackOptionsChanged.bind(this),onValueScaleChanged:this.props.onValueScaleChanged,paddingLeft:this.props.paddingLeft,paddingTop:this.props.paddingTop,pixiRenderer:this.props.pixiRenderer,pixiStage:this.props.pixiStage,pluginDataFetchers:this.props.pluginDataFetchers,pluginTracks:this.props.pluginTracks,positionedTracks,registerDraggingChangedListener:this.props.registerDraggingChangedListener,removeDraggingChangedListener:this.props.removeDraggingChangedListener,setCentersFunction:this.props.setCentersFunction,svgElement:this.props.svgElement,topHeight:this.topHeight,topHeightNoGallery:this.topHeightNoGallery,uid:this.props.uid,viewOptions:this.props.viewOptions,width:this.state.width,xDomainLimits:this.props.xDomainLimits,yDomainLimits:this.props.yDomainLimits,zoomable:this.props.zoomable,zoomLimits:this.props.zoomLimits},topTracks,leftTracks,rightTracks,bottomTracks,galleryTracks,centerTrack);}let configTrackMenu=null;let closeTrackMenu=null;if(this.state.configTrackMenuId){configTrackMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.closeMenusBound},/* @__PURE__ */React__default.default.createElement(ConfigTrackMenu,{ref:c2=>{this.configTrackMenu=c2;},closeMenu:this.closeMenusBound,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:this.handleAddTrackBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,position:this.state.configTrackMenuLocation,theme:this.props.theme,trackOrientation:getTrackPositionByUid(this.props.tracks,this.state.configTrackMenuId),tracks:[getTrackByUid(this.props.tracks,this.state.configTrackMenuId)]}));}if(this.state.closeTrackMenuId){closeTrackMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},/* @__PURE__ */React__default.default.createElement(ContextMenuContainer,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},/* @__PURE__ */React__default.default.createElement(CloseTrackMenu,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[getTrackByUid(this.props.tracks,this.state.closeTrackMenuId)]})));}let overlays=null;if(this.props.chooseTrackHandler){overlays=positionedTracks.filter(pTrack=>pTrack.track.position!=="whole").map(pTrack=>{let background="transparent";let border="none";if(this.state.mouseOverOverlayUid===pTrack.track.uid){background="yellow";border="1px solid black";}return/* @__PURE__ */React__default.default.createElement("div",{key:pTrack.track.uid,className:"tiled-plot-track-overlay",onClick:()=>this.handleTrackPositionChosen(pTrack),onDragEnter:evt=>{this.handleOverlayMouseEnter(pTrack.track.uid);evt.preventDefault();},onDragLeave:()=>this.handleOverlayMouseLeave(pTrack.track.uid),onDragOver:evt=>evt.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(pTrack),onMouseEnter:()=>this.handleOverlayMouseEnter(pTrack.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(pTrack.track.uid),style:{position:"absolute",left:pTrack.left,top:pTrack.top,width:pTrack.width,height:pTrack.height,background,opacity:0.4,border,zIndex:1}});});}let trackOptionsElement=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const configComponent=this.state.trackOptions.configComponent;const track=this.state.trackOptions.track;trackOptionsElement=React__default.default.createElement(configComponent,{track,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null});},onTrackOptionsChanged:newOptions=>newOptions,onSubmit:newOptions=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,newOptions);this.setState({trackOptions:null});}});}return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.divTiledPlot=c2;},className:["tiled-plot-div",styles$5["tiled-plot"]].join(" "),style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},trackRenderer,overlays,configTrackMenu,closeTrackMenu,trackOptionsElement,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay());}},{key:"addEventListeners",value:function addEventListeners(){this.eventListeners=[];this.eventListeners.forEach(event=>document.addEventListener(event.name,event.callback,false));}},{key:"removeEventListeners",value:function removeEventListeners(){this.eventListeners.forEach(event=>document.removeEventListener(event.name,event.callback));}}]);return TiledPlot;}(React__default.default.Component);TiledPlot.defaultProps={isShowGlobalMousePosition:false,pluginDataFetchers:{},pluginTracks:{},metaTracks:[],zoomable:true};TiledPlot.propTypes={addTrackPosition:propTypes$3.exports.string,canvasElement:propTypes$3.exports.object,chooseTrackHandler:propTypes$3.exports.func,chromInfoPath:propTypes$3.exports.string,customDialog:propTypes$3.exports.array,closeCustomDialog:propTypes$3.exports.func,disableTrackMenu:propTypes$3.exports.bool,dragging:propTypes$3.exports.bool,draggingHappening:propTypes$3.exports.bool,editable:propTypes$3.exports.bool,getLockGroupExtrema:propTypes$3.exports.func,initialXDomain:propTypes$3.exports.array,initialYDomain:propTypes$3.exports.array,isShowGlobalMousePosition:propTypes$3.exports.bool,isValueScaleLocked:propTypes$3.exports.func,marginBottom:propTypes$3.exports.number.isRequired,marginLeft:propTypes$3.exports.number.isRequired,marginRight:propTypes$3.exports.number.isRequired,marginTop:propTypes$3.exports.number.isRequired,paddingBottom:propTypes$3.exports.number.isRequired,paddingLeft:propTypes$3.exports.number.isRequired,paddingRight:propTypes$3.exports.number.isRequired,paddingTop:propTypes$3.exports.number.isRequired,metaTracks:propTypes$3.exports.array,modal:propTypes$3.exports.object,mouseTool:propTypes$3.exports.string,onCloseTrack:propTypes$3.exports.func,onChangeTrackData:propTypes$3.exports.func,onChangeTrackType:propTypes$3.exports.func,onDataDomainChanged:propTypes$3.exports.func,onLockValueScale:propTypes$3.exports.func,onMouseMoveZoom:propTypes$3.exports.func,onNewTilesLoaded:propTypes$3.exports.func,onNoTrackAdded:propTypes$3.exports.func,onRangeSelection:propTypes$3.exports.func.isRequired,onScalesChanged:propTypes$3.exports.func,onTrackOptionsChanged:propTypes$3.exports.func,onTrackPositionChosen:propTypes$3.exports.func,onTracksAdded:propTypes$3.exports.func,onUnlockValueScale:propTypes$3.exports.func,onValueScaleChanged:propTypes$3.exports.func,onResizeTrack:propTypes$3.exports.func,overlays:propTypes$3.exports.array,openModal:propTypes$3.exports.func,pixiRenderer:propTypes$3.exports.object,pixiStage:propTypes$3.exports.object,pluginDataFetchers:propTypes$3.exports.object,pluginTracks:propTypes$3.exports.object,pubSub:propTypes$3.exports.object.isRequired,rangeSelection1dSize:propTypes$3.exports.array,rangeSelectionToInt:propTypes$3.exports.bool,registerDraggingChangedListener:propTypes$3.exports.func,removeDraggingChangedListener:propTypes$3.exports.func,setCentersFunction:propTypes$3.exports.func,svgElement:propTypes$3.exports.object,theme:propTypes$3.exports.symbol.isRequired,tracks:propTypes$3.exports.object,trackSourceServers:propTypes$3.exports.array,uid:propTypes$3.exports.string,viewOptions:propTypes$3.exports.object,xDomainLimits:propTypes$3.exports.array,yDomainLimits:propTypes$3.exports.array,zoomable:propTypes$3.exports.bool,zoomLimits:propTypes$3.exports.array,zoomToDataExtentOnInit:propTypes$3.exports.func};const TiledPlot$1=withPubSub(withModal(withTheme(TiledPlot)));var lib$1={exports:{}};var _extends$1=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol?"symbol":typeof obj;};var RE_NUM=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;function getClientPosition(elem){var box=void 0;var x=void 0;var y=void 0;var doc=elem.ownerDocument;var body=doc.body;var docElem=doc&&doc.documentElement;box=elem.getBoundingClientRect();x=box.left;y=box.top;x-=docElem.clientLeft||body.clientLeft||0;y-=docElem.clientTop||body.clientTop||0;return{left:x,top:y};}function getScroll(w,top2){var ret=w["page"+(top2?"Y":"X")+"Offset"];var method="scroll"+(top2?"Top":"Left");if(typeof ret!=="number"){var d=w.document;ret=d.documentElement[method];if(typeof ret!=="number"){ret=d.body[method];}}return ret;}function getScrollLeft(w){return getScroll(w);}function getScrollTop(w){return getScroll(w,true);}function getOffset(el){var pos=getClientPosition(el);var doc=el.ownerDocument;var w=doc.defaultView||doc.parentWindow;pos.left+=getScrollLeft(w);pos.top+=getScrollTop(w);return pos;}function _getComputedStyle(elem,name,computedStyle_){var val2="";var d=elem.ownerDocument;var computedStyle=computedStyle_||d.defaultView.getComputedStyle(elem,null);if(computedStyle){val2=computedStyle.getPropertyValue(name)||computedStyle[name];}return val2;}var _RE_NUM_NO_PX=new RegExp("^("+RE_NUM+")(?!px)[a-z%]+$","i");var RE_POS=/^(top|right|bottom|left)$/;var CURRENT_STYLE="currentStyle";var RUNTIME_STYLE="runtimeStyle";var LEFT="left";var PX="px";function _getComputedStyleIE(elem,name){var ret=elem[CURRENT_STYLE]&&elem[CURRENT_STYLE][name];if(_RE_NUM_NO_PX.test(ret)&&!RE_POS.test(name)){var style=elem.style;var left2=style[LEFT];var rsLeft=elem[RUNTIME_STYLE][LEFT];elem[RUNTIME_STYLE][LEFT]=elem[CURRENT_STYLE][LEFT];style[LEFT]=name==="fontSize"?"1em":ret||0;ret=style.pixelLeft+PX;style[LEFT]=left2;elem[RUNTIME_STYLE][LEFT]=rsLeft;}return ret===""?"auto":ret;}var getComputedStyleX=void 0;if(typeof window!=="undefined"){getComputedStyleX=window.getComputedStyle?_getComputedStyle:_getComputedStyleIE;}function each(arr,fn){for(var i2=0;i2<arr.length;i2++){fn(arr[i2]);}}function isBorderBoxFn(elem){return getComputedStyleX(elem,"boxSizing")==="border-box";}var BOX_MODELS=["margin","border","padding"];var CONTENT_INDEX=-1;var PADDING_INDEX=2;var BORDER_INDEX=1;var MARGIN_INDEX=0;function swap(elem,options2,callback){var old={};var style=elem.style;var name=void 0;for(name in options2){if(options2.hasOwnProperty(name)){old[name]=style[name];style[name]=options2[name];}}callback.call(elem);for(name in options2){if(options2.hasOwnProperty(name)){style[name]=old[name];}}}function getPBMWidth(elem,props,which){var value2=0;var prop2=void 0;var j=void 0;var i2=void 0;for(j=0;j<props.length;j++){prop2=props[j];if(prop2){for(i2=0;i2<which.length;i2++){var cssProp=void 0;if(prop2==="border"){cssProp=prop2+which[i2]+"Width";}else{cssProp=prop2+which[i2];}value2+=parseFloat(getComputedStyleX(elem,cssProp))||0;}}}return value2;}function isWindow(obj){return obj!=null&&obj==obj.window;}var domUtils={};each(["Width","Height"],function(name){domUtils["doc"+name]=function(refWin){var d=refWin.document;return Math.max(d.documentElement["scroll"+name],d.body["scroll"+name],domUtils["viewport"+name](d));};domUtils["viewport"+name]=function(win){var prop2="client"+name;var doc=win.document;var body=doc.body;var documentElement=doc.documentElement;var documentElementProp=documentElement[prop2];return doc.compatMode==="CSS1Compat"&&documentElementProp||body&&body[prop2]||documentElementProp;};});function getWH(elem,name,extra){if(isWindow(elem)){return name==="width"?domUtils.viewportWidth(elem):domUtils.viewportHeight(elem);}else if(elem.nodeType===9){return name==="width"?domUtils.docWidth(elem):domUtils.docHeight(elem);}var which=name==="width"?["Left","Right"]:["Top","Bottom"];var borderBoxValue=name==="width"?elem.offsetWidth:elem.offsetHeight;getComputedStyleX(elem);var isBorderBox=isBorderBoxFn(elem);var cssBoxValue=0;if(borderBoxValue==null||borderBoxValue<=0){borderBoxValue=void 0;cssBoxValue=getComputedStyleX(elem,name);if(cssBoxValue==null||Number(cssBoxValue)<0){cssBoxValue=elem.style[name]||0;}cssBoxValue=parseFloat(cssBoxValue)||0;}if(extra===void 0){extra=isBorderBox?BORDER_INDEX:CONTENT_INDEX;}var borderBoxValueOrIsBorderBox=borderBoxValue!==void 0||isBorderBox;var val2=borderBoxValue||cssBoxValue;if(extra===CONTENT_INDEX){if(borderBoxValueOrIsBorderBox){return val2-getPBMWidth(elem,["border","padding"],which);}return cssBoxValue;}if(borderBoxValueOrIsBorderBox){var padding=extra===PADDING_INDEX?-getPBMWidth(elem,["border"],which):getPBMWidth(elem,["margin"],which);return val2+(extra===BORDER_INDEX?0:padding);}return cssBoxValue+getPBMWidth(elem,BOX_MODELS.slice(extra),which);}var cssShow={position:"absolute",visibility:"hidden",display:"block"};function getWHIgnoreDisplay(elem){var val2=void 0;var args=arguments;if(elem.offsetWidth!==0){val2=getWH.apply(void 0,args);}else{swap(elem,cssShow,function(){val2=getWH.apply(void 0,args);});}return val2;}function css(el,name,v){var value2=v;if((typeof name==="undefined"?"undefined":_typeof(name))==="object"){for(var i2 in name){if(name.hasOwnProperty(i2)){css(el,i2,name[i2]);}}return void 0;}if(typeof value2!=="undefined"){if(typeof value2==="number"){value2+="px";}el.style[name]=value2;return void 0;}return getComputedStyleX(el,name);}each(["width","height"],function(name){var first2=name.charAt(0).toUpperCase()+name.slice(1);domUtils["outer"+first2]=function(el,includeMargin){return el&&getWHIgnoreDisplay(el,name,includeMargin?MARGIN_INDEX:BORDER_INDEX);};var which=name==="width"?["Left","Right"]:["Top","Bottom"];domUtils[name]=function(elem,val2){if(val2!==void 0){if(elem){getComputedStyleX(elem);var isBorderBox=isBorderBoxFn(elem);if(isBorderBox){val2+=getPBMWidth(elem,["padding","border"],which);}return css(elem,name,val2);}return void 0;}return elem&&getWHIgnoreDisplay(elem,name,CONTENT_INDEX);};});function setOffset(elem,offset){if(css(elem,"position")==="static"){elem.style.position="relative";}var old=getOffset(elem);var ret={};var current=void 0;var key=void 0;for(key in offset){if(offset.hasOwnProperty(key)){current=parseFloat(css(elem,key))||0;ret[key]=current+offset[key]-old[key];}}css(elem,ret);}var util$7=_extends$1({getWindow:function getWindow(node2){var doc=node2.ownerDocument||node2;return doc.defaultView||doc.parentWindow;},offset:function offset(el,value2){if(typeof value2!=="undefined"){setOffset(el,value2);}else{return getOffset(el);}},isWindow,each,css,clone:function clone2(obj){var ret={};for(var i2 in obj){if(obj.hasOwnProperty(i2)){ret[i2]=obj[i2];}}var overflow=obj.overflow;if(overflow){for(var i2 in obj){if(obj.hasOwnProperty(i2)){ret.overflow[i2]=obj.overflow[i2];}}}return ret;},scrollLeft:function scrollLeft(w,v){if(isWindow(w)){if(v===void 0){return getScrollLeft(w);}window.scrollTo(v,getScrollTop(w));}else{if(v===void 0){return w.scrollLeft;}w.scrollLeft=v;}},scrollTop:function scrollTop(w,v){if(isWindow(w)){if(v===void 0){return getScrollTop(w);}window.scrollTo(getScrollLeft(w),v);}else{if(v===void 0){return w.scrollTop;}w.scrollTop=v;}},viewportWidth:0,viewportHeight:0},domUtils);var util$6=util$7;function scrollIntoView$1(elem,container,config){config=config||{};if(container.nodeType===9){container=util$6.getWindow(container);}var allowHorizontalScroll=config.allowHorizontalScroll;var onlyScrollIfNeeded=config.onlyScrollIfNeeded;var alignWithTop=config.alignWithTop;var alignWithLeft=config.alignWithLeft;var offsetTop=config.offsetTop||0;var offsetLeft=config.offsetLeft||0;var offsetBottom=config.offsetBottom||0;var offsetRight=config.offsetRight||0;allowHorizontalScroll=allowHorizontalScroll===void 0?true:allowHorizontalScroll;var isWin=util$6.isWindow(container);var elemOffset=util$6.offset(elem);var eh=util$6.outerHeight(elem);var ew=util$6.outerWidth(elem);var containerOffset=void 0;var ch=void 0;var cw=void 0;var containerScroll=void 0;var diffTop=void 0;var diffBottom=void 0;var win=void 0;var winScroll=void 0;var ww=void 0;var wh=void 0;if(isWin){win=container;wh=util$6.height(win);ww=util$6.width(win);winScroll={left:util$6.scrollLeft(win),top:util$6.scrollTop(win)};diffTop={left:elemOffset.left-winScroll.left-offsetLeft,top:elemOffset.top-winScroll.top-offsetTop};diffBottom={left:elemOffset.left+ew-(winScroll.left+ww)+offsetRight,top:elemOffset.top+eh-(winScroll.top+wh)+offsetBottom};containerScroll=winScroll;}else{containerOffset=util$6.offset(container);ch=container.clientHeight;cw=container.clientWidth;containerScroll={left:container.scrollLeft,top:container.scrollTop};diffTop={left:elemOffset.left-(containerOffset.left+(parseFloat(util$6.css(container,"borderLeftWidth"))||0))-offsetLeft,top:elemOffset.top-(containerOffset.top+(parseFloat(util$6.css(container,"borderTopWidth"))||0))-offsetTop};diffBottom={left:elemOffset.left+ew-(containerOffset.left+cw+(parseFloat(util$6.css(container,"borderRightWidth"))||0))+offsetRight,top:elemOffset.top+eh-(containerOffset.top+ch+(parseFloat(util$6.css(container,"borderBottomWidth"))||0))+offsetBottom};}if(diffTop.top<0||diffBottom.top>0){if(alignWithTop===true){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else if(alignWithTop===false){util$6.scrollTop(container,containerScroll.top+diffBottom.top);}else{if(diffTop.top<0){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else{util$6.scrollTop(container,containerScroll.top+diffBottom.top);}}}else{if(!onlyScrollIfNeeded){alignWithTop=alignWithTop===void 0?true:!!alignWithTop;if(alignWithTop){util$6.scrollTop(container,containerScroll.top+diffTop.top);}else{util$6.scrollTop(container,containerScroll.top+diffBottom.top);}}}if(allowHorizontalScroll){if(diffTop.left<0||diffBottom.left>0){if(alignWithLeft===true){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else if(alignWithLeft===false){util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}else{if(diffTop.left<0){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else{util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}}}else{if(!onlyScrollIfNeeded){alignWithLeft=alignWithLeft===void 0?true:!!alignWithLeft;if(alignWithLeft){util$6.scrollLeft(container,containerScroll.left+diffTop.left);}else{util$6.scrollLeft(container,containerScroll.left+diffBottom.left);}}}}}var domScrollIntoView=scrollIntoView$1;(function(module2){module2.exports=domScrollIntoView;})(lib$1);const scrollIntoView=/* @__PURE__ */getDefaultExportFromCjs(lib$1.exports);const _debugStates=[];let Autocomplete=/*#__PURE__*/function(_React__default$defau19){_inherits3(Autocomplete,_React__default$defau19);var _super79=_createSuper3(Autocomplete);function Autocomplete(props){var _this93;_classCallCheck3(this,Autocomplete);_this93=_super79.call(this,props);_this93.state={highlightedIndex:null,menuTop:0,menuLeft:0,menuWidth:0,isOpen:false};_this93.keyDownHandlers={ArrowDown(event){event.preventDefault();const itemsLength=this.getFilteredItems().length;if(!itemsLength)return;const{highlightedIndex}=this.state;const index2=highlightedIndex===null||highlightedIndex===itemsLength-1?0:highlightedIndex+1;this._performAutoCompleteOnKeyUp=true;this.setState({highlightedIndex:index2,isOpen:true});},ArrowUp(event){event.preventDefault();const itemsLength=this.getFilteredItems().length;if(!itemsLength)return;const{highlightedIndex}=this.state;const index2=highlightedIndex===0||highlightedIndex===null?itemsLength-1:highlightedIndex-1;this._performAutoCompleteOnKeyUp=true;this.setState({highlightedIndex:index2,isOpen:true});},Enter(event){if(this.state.isOpen===false);else if(this.state.highlightedIndex===null){this.setState({isOpen:false},()=>{this.inputEl.select();});}else{event.preventDefault();const item=this.getFilteredItems()[this.state.highlightedIndex];const value2=this.props.getItemValue(item);this.setState({isOpen:false,highlightedIndex:null},()=>{this.inputEl.setSelectionRange(value2.length,value2.length);this.props.onSelect(value2,item);});}},Escape(){this.setState({highlightedIndex:null,isOpen:false});}};return _this93;}_createClass3(Autocomplete,[{key:"getInitialState",value:function getInitialState(){return{isOpen:false,highlightedIndex:null};}},{key:"UNSAFE_componentWillMount",value:function UNSAFE_componentWillMount(){this._ignoreBlur=false;this._performAutoCompleteOnUpdate=false;this._performAutoCompleteOnKeyUp=false;}},{key:"UNSAFE_componentWillReceiveProps",value:function UNSAFE_componentWillReceiveProps(nextProps){this._performAutoCompleteOnUpdate=true;if(this.props.items!==nextProps.items||this.state.highlightedIndex>=nextProps.items.length){this.setState({highlightedIndex:null});}}},{key:"componentDidUpdate",value:function componentDidUpdate(prevProps,prevState){if(this.state.isOpen===true&&prevState.isOpen===false){this.setMenuPositions();}if(this.state.isOpen&&this._performAutoCompleteOnUpdate){this._performAutoCompleteOnUpdate=false;this.maybeAutoCompleteText();}this.maybeScrollItemIntoView();if(prevState.isOpen!==this.state.isOpen){this.props.onMenuVisibilityChange(this.state.isOpen,this.inputEl);}}},{key:"maybeScrollItemIntoView",value:function maybeScrollItemIntoView(){if(this.state.isOpen===true&&this.state.highlightedIndex!==null){const itemNode=this.refs[`item-${this.state.highlightedIndex}`];const menuNode=this.refs.menu;if(itemNode){scrollIntoView(ReactDOM.findDOMNode(itemNode),ReactDOM.findDOMNode(menuNode),{onlyScrollIfNeeded:true});}}}},{key:"handleKeyDown",value:function handleKeyDown(event){if(this.keyDownHandlers[event.key]){this.keyDownHandlers[event.key].call(this,event);}else{this.setState({highlightedIndex:null,isOpen:true});}}},{key:"handleChange",value:function handleChange(event){this._performAutoCompleteOnKeyUp=true;this.props.onChange(event,event.target.value);}},{key:"handleKeyUp",value:function handleKeyUp(){if(this._performAutoCompleteOnKeyUp){this._performAutoCompleteOnKeyUp=false;this.maybeAutoCompleteText();}}},{key:"getFilteredItems",value:function getFilteredItems(){let items2=this.props.items;if(this.props.shouldItemRender){items2=items2.filter(item=>this.props.shouldItemRender(item,this.props.value));}if(this.props.sortItems){items2.sort((a,b)=>this.props.sortItems(a,b,this.props.value));}return items2;}},{key:"maybeAutoCompleteText",value:function maybeAutoCompleteText(){if(!this.props.autoHighlight||this.props.value===""){return;}const{highlightedIndex}=this.state;const items2=this.getFilteredItems();if(items2.length===0){return;}const matchedItem=highlightedIndex!==null?items2[highlightedIndex]:items2[0];const itemValue=this.props.getItemValue(matchedItem);const itemValueDoesMatch=itemValue.toLowerCase().indexOf(this.props.value.toLowerCase())===0;if(itemValueDoesMatch&&highlightedIndex===null){this.setState({highlightedIndex:0});}}},{key:"setMenuPositions",value:function setMenuPositions(){const node2=this.inputEl;const rect=node2.getBoundingClientRect();const computedStyle=globalThis.window.getComputedStyle(node2);const marginBottom=parseInt(computedStyle.marginBottom,10)||0;const marginLeft=parseInt(computedStyle.marginLeft,10)||0;const marginRight=parseInt(computedStyle.marginRight,10)||0;this.setState({menuTop:rect.bottom+marginBottom,menuLeft:rect.left+marginLeft,menuWidth:rect.width+marginLeft+marginRight});}},{key:"highlightItemFromMouse",value:function highlightItemFromMouse(index2){this.setState({highlightedIndex:index2});}},{key:"selectItemFromMouse",value:function selectItemFromMouse(item){const value2=this.props.getItemValue(item);this.setState({isOpen:false,highlightedIndex:null},()=>{this.props.onSelect(value2,item);this.inputEl.focus();});}},{key:"setIgnoreBlur",value:function setIgnoreBlur(ignore2){this._ignoreBlur=ignore2;}},{key:"renderMenu",value:function renderMenu(){const items2=this.getFilteredItems().map((item,index2)=>{const element=this.props.renderItem(item,this.state.highlightedIndex===index2,{cursor:"default"});return React__default.default.cloneElement(element,{onMouseDown:()=>this.setIgnoreBlur(true),onMouseEnter:()=>this.highlightItemFromMouse(index2),onClick:()=>this.selectItemFromMouse(item),ref:`item-${index2}`});});const style={left:this.state.menuLeft,top:this.state.menuTop,minWidth:this.state.menuWidth};if(!items2.length)return null;const menu=this.props.renderMenu(items2,this.props.value,style);return React__default.default.cloneElement(menu,{ref:"menu"});}},{key:"handleInputBlur",value:function handleInputBlur(){if(this.props.onFocus){this.props.onFocus();}if(this._ignoreBlur){return;}this.setState({isOpen:false,highlightedIndex:null});}},{key:"handleInputFocus",value:function handleInputFocus(){if(this.props.onFocus){this.props.onFocus(true);}if(this._ignoreBlur){this.setIgnoreBlur(false);return;}this._ignoreClick=true;this.setState({isOpen:true});}},{key:"isInputFocused",value:function isInputFocused(){return this.inputEl.ownerDocument&&this.inputEl===this.inputEl.ownerDocument.activeElement;}},{key:"handleInputClick",value:function handleInputClick(){if(this.isInputFocused()&&this.state.isOpen===false){this.setState({isOpen:true});}else if(this.state.highlightedIndex!==null&&!this._ignoreClick){this.selectItemFromMouse(this.getFilteredItems()[this.state.highlightedIndex]);}this._ignoreClick=false;}},{key:"composeEventHandlers",value:function composeEventHandlers(internal,external){return external?e=>{internal(e);external(e);}:internal;}},{key:"render",value:function render(){if(this.props.debug){_debugStates.push({id:_debugStates.length,state:this.state});}const{inputProps}=this.props;return/* @__PURE__ */React__default.default.createElement("div",{style:{...this.props.wrapperStyle},...this.props.wrapperProps},/* @__PURE__ */React__default.default.createElement("input",{...inputProps,ref:el=>{this.inputEl=el;},"aria-autocomplete":"list",autoComplete:"off",onBlur:this.composeEventHandlers(this.handleInputBlur.bind(this),inputProps.onBlur&&inputProps.onBlur.bind(this)),onChange:this.handleChange.bind(this),onClick:this.composeEventHandlers(this.handleInputClick.bind(this),inputProps.onClick&&inputProps.onClick.bind(this)),onFocus:this.composeEventHandlers(this.handleInputFocus.bind(this),inputProps.onFocus&&inputProps.onFocus.bind(this)),onKeyDown:this.composeEventHandlers(this.handleKeyDown.bind(this),inputProps.onKeyDown&&inputProps.onKeyDown.bind(this)),onKeyUp:this.composeEventHandlers(this.handleKeyUp.bind(this),inputProps.onKeyUp&&inputProps.onKeyUp.bind(this)),role:"combobox",value:this.props.value}),("open"in this.props?this.props.open:this.state.isOpen)&&this.renderMenu(),this.props.debug&&/* @__PURE__ */React__default.default.createElement("pre",{style:{marginLeft:300}},JSON.stringify(_debugStates.slice(_debugStates.length-5,_debugStates.length),null,2)));}}]);return Autocomplete;}(React__default.default.Component);Autocomplete.defaultProps={value:"",wrapperProps:{},wrapperStyle:{display:"inline-block"},inputProps:{},onChange(){},onSelect(){},renderMenu(items2,value2,style){return/* @__PURE__ */React__default.default.createElement("div",{style:{...style,...this.menuStyle}},items2);},shouldItemRender(){return true;},menuStyle:{borderRadius:"3px",boxShadow:"0 2px 12px rgba(0, 0, 0, 0.1)",background:"rgba(255, 255, 255, 0.9)",padding:"2px 0",fontSize:"90%",position:"fixed",overflow:"auto",maxHeight:"50%"},autoHighlight:true,onMenuVisibilityChange(){}};Autocomplete.propTypes={autoHighlight:propTypes$3.exports.bool,debug:propTypes$3.exports.bool,getItemValue:propTypes$3.exports.func.isRequired,inputProps:propTypes$3.exports.object,items:propTypes$3.exports.array,menuStyle:propTypes$3.exports.object,onChange:propTypes$3.exports.func,onFocus:propTypes$3.exports.func,onMenuVisibilityChange:propTypes$3.exports.func,onSelect:propTypes$3.exports.func,open:propTypes$3.exports.bool,renderItem:propTypes$3.exports.func.isRequired,renderMenu:propTypes$3.exports.func,shouldItemRender:propTypes$3.exports.func,sortItems:propTypes$3.exports.func,value:propTypes$3.exports.any,wrapperProps:propTypes$3.exports.object,wrapperStyle:propTypes$3.exports.object};const btn="_btn_1l2sx_95";const styles$2={"genome-position-search":"_genome-position-search_1l2sx_1","genome-position-search-focus":"_genome-position-search-focus_1l2sx_2","genome-position-search-bar":"_genome-position-search-bar_1l2sx_16","genome-position-search-dark":"_genome-position-search-dark_1l2sx_34","genome-position-search-bar-button":"_genome-position-search-bar-button_1l2sx_38","genome-position-search-bar-button-focus":"_genome-position-search-bar-button-focus_1l2sx_39","genome-position-search-bar-icon":"_genome-position-search-bar-icon_1l2sx_62","genome-position-search-bar-icon-focus":"_genome-position-search-bar-icon-focus_1l2sx_63","genome-position-search-bar-suggestions":"_genome-position-search-bar-suggestions_1l2sx_83",btn,"btn-sm":"_btn-sm_1l2sx_116","btn-default":"_btn-default_1l2sx_122"};let GenomePositionSearchBox=/*#__PURE__*/function(_React__default$defau20){_inherits3(GenomePositionSearchBox,_React__default$defau20);var _super80=_createSuper3(GenomePositionSearchBox);function GenomePositionSearchBox(props){var _this94;_classCallCheck3(this,GenomePositionSearchBox);_this94=_super80.call(this,props);_this94.mounted=false;_this94.uid=slugid.nice();_this94.chromInfo=null;_this94.searchField=null;_this94.autocompleteMenu=null;_this94.xScale=null;_this94.yScale=null;_this94.prevParts=[];_this94.props.registerViewportChangedListener(_this94.scalesChanged.bind(_assertThisInitialized3(_this94)));_this94.menuPosition={left:0,top:0};_this94.positionText="chr4:190,998,876-191,000,255";_this94.state={genes:[],isFocused:false,autocompleteServer:_this94.props.autocompleteServer,autocompleteId:_this94.props.autocompleteId,availableAssemblies:[],selectedAssembly:null};_this94.styles={item:{padding:"2px 6px",cursor:"default"},highlightedItem:{color:"white",background:"hsl(200, 50%, 50%)",padding:"2px 6px",cursor:"default"},menu:{border:"solid 1px #ccc"}};_this94.availableAutocompletes={};if(_this94.props.autocompleteId){_this94.availableAutocompletes[_this94.props.chromInfoId]=/* @__PURE__ */new Set([{server:_this94.props.autocompleteServer,acId:_this94.props.autocompleteId}]);}_this94.availableChromSizes={};return _this94;}_createClass3(GenomePositionSearchBox,[{key:"componentDidMount",value:function componentDidMount(){this.mounted=true;select$1(this.autocompleteMenu.inputEl).on("keypress",this.autocompleteKeyPress.bind(this));this.findAvailableAutocompleteSources();this.findAvailableChromSizes();if(this.props.chromInfoPath){this.searchPosition=true;ChromosomeInfo(this.props.chromInfoPath,chromInfo=>{if(!chromInfo){this.searchPosition=null;return;}this.chromInfo=chromInfo;this.searchField=new SearchField(this.chromInfo);this.setPositionText();});}this.setPositionText();}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.mounted=false;this.props.removeViewportChangedListener();}},{key:"onAutocompleteChange",value:function onAutocompleteChange(evt,value2){this.positionText=value2;this.setState({value:value2,loading:true});this.changedPart=null;const spaceParts=value2.split(/ /);let partIndex=0;const newParts=[];let changedAtStartOfWord=false;for(let j=0;j<spaceParts.length;j++){const parts=spaceParts[j].split(/-/);for(let i2=0;i2<parts.length;i2++){partIndex+=1;newParts.push(parts[i2]);if(i2===0)changedAtStartOfWord=true;else changedAtStartOfWord=false;if(i2===this.prevParts.length){this.changedPart=partIndex-1;break;}if(parts[i2]!==this.prevParts[i2]){this.changedPart=partIndex-1;break;}}}this.prevParts=newParts;if(!(this.state.autocompleteServer&&this.state.autocompleteId)){return;}if(this.changedPart!==null){this.setState({loading:true});let url=`${this.state.autocompleteServer}/suggest/`;url+=`?d=${this.state.autocompleteId}&ac=${newParts[this.changedPart].toLowerCase()}`;api.json(url,(error,data2)=>{if(error){this.setState({loading:false,genes:[]});}else if(this.changedPart>0&&!changedAtStartOfWord){const url1=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${newParts[this.changedPart-1].toLowerCase()}-${newParts[this.changedPart].toLowerCase()}`;api.json(url1,(error1,data1)=>{if(error1){this.setState({loading:false,genes:data2});}else{this.setState({loading:false,genes:data1.concat(data2)});}},this.props.pubSub);}else{this.setState({loading:false,genes:data2});}},this.props.pubSub);}}},{key:"setAvailableAssemblies",value:function setAvailableAssemblies(){const chromsizeKeys=new Set(dictKeys(this.availableChromSizes));const commonKeys=/* @__PURE__ */new Set([...chromsizeKeys]);if(this.gpsbForm){this.setState({availableAssemblies:[...commonKeys]});}}},{key:"setSelectedAssembly",value:function setSelectedAssembly(assemblyName){if(!this.mounted)return;if(!this.availableChromSizes[assemblyName])return;const serverAndChromInfoToUse=[...this.availableChromSizes[assemblyName]][0];this.setState({autocompleteServer:serverAndChromInfoToUse.server});const{server}=serverAndChromInfoToUse;if(this.availableAutocompletes[assemblyName]){const newAcId=[...this.availableAutocompletes[assemblyName]][0].acId;this.props.onSelectedAssemblyChanged(assemblyName,newAcId,server);if(this.gpsbForm){this.setState({autocompleteId:newAcId});}}else{this.props.onSelectedAssemblyChanged(assemblyName,null,server);if(this.gpsbForm){this.setState({autocompleteId:null});}}this.fetchChromInfo(serverAndChromInfoToUse.uuid,serverAndChromInfoToUse.server);}},{key:"setPositionText",value:function setPositionText(){if(!this.mounted){return;}if(!this.searchField){return;}const positionString=this.searchField.scalesToPositionText(this.xScale,this.yScale,this.props.twoD);this.prevParts=positionString.split(/[ -]/);if(this.gpsbForm){this.positionText=positionString;this.origPositionText=positionString;this.autocompleteMenu.inputEl.value=positionString;}}},{key:"scalesChanged",value:function scalesChanged(xScale,yScale){this.xScale=xScale;this.yScale=yScale;this.setPositionText();}},{key:"findAvailableChromSizes",value:function findAvailableChromSizes(){if(!this.props.trackSourceServers){return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/available-chrom-sizes/`,(error,data2)=>{if(error){console.error(error);}else{data2.results.forEach(x=>{if(!(x.coordSystem in this.availableChromSizes)){this.availableChromSizes[x.coordSystem]=/* @__PURE__ */new Set();}this.availableChromSizes[x.coordSystem].add({server:sourceServer,uuid:x.uuid});this.setAvailableAssemblies();});if(!this.searchField){this.fetchChromInfo(this.props.chromInfoId in this.availableChromSizes?[...this.availableChromSizes[this.props.chromInfoId]][0].uuid:this.props.chromInfoId,this.props.chromInfoId in this.availableChromSizes?[...this.availableChromSizes[this.props.chromInfoId]][0].server:this.props.chromInfoServer);}}},this.props.pubSub);});}},{key:"findAvailableAutocompleteSources",value:function findAvailableAutocompleteSources(){if(!this.props.trackSourceServers){return;}this.props.trackSourceServers.forEach(sourceServer=>{api.json(`${sourceServer}/tilesets/?limit=100&dt=gene-annotation`,(error,data2)=>{if(error){console.error(error);}else{data2.results.forEach(x=>{if(!(x.coordSystem in this.availableAutocompletes)){this.availableAutocompletes[x.coordSystem]=/* @__PURE__ */new Set();}this.availableAutocompletes[x.coordSystem].add({server:sourceServer,acId:x.uuid});this.setAvailableAssemblies();});if(!this.state.autocompleteId){if(this.gpsbForm){if(this.availableAutocompletes[this.props.chromInfoId]){this.setState({autocompleteId:[...this.availableAutocompletes[this.props.chromInfoId]][0].acId});}}}}},this.props.pubSub);});}},{key:"fetchChromInfo",value:function fetchChromInfo(chromInfoId,server){ChromosomeInfo(`${server}/chrom-sizes/?id=${chromInfoId}`,newChromInfo=>{if(!newChromInfo){return;}api.json(`${server}/tileset_info/?d=${chromInfoId}`,(error2,tilesetInfo)=>{if(error2){return;}if(this.gpsbForm){this.setState({selectedAssembly:tilesetInfo[chromInfoId].coordSystem});}},this.props.pubSub);this.chromInfo=newChromInfo;this.searchField=new SearchField(this.chromInfo);this.setPositionText();},this.props.pubSub);}},{key:"autocompleteKeyPress",value:function autocompleteKeyPress(event){const ENTER_KEY_CODE=13;if(event.keyCode===ENTER_KEY_CODE){this.buttonClick();}}},{key:"genePositionToSearchBarText",value:function genePositionToSearchBarText(genePosition){}},{key:"replaceGenesWithLoadedPositions",value:function replaceGenesWithLoadedPositions(genePositions){const origSearchText=this.positionText;const spaceParts=origSearchText.split(" ");let foundGeneSymbol=false;for(let i2=0;i2<spaceParts.length;i2++){const dashParts=spaceParts[i2].split("-");let j=0;let k=0;let spacePart="";while(j<dashParts.length){k=dashParts.length;while(k>j){const dashChunk=dashParts.slice(j,k).join("-");if(genePositions[dashChunk.toLowerCase()]){const genePosition=genePositions[dashChunk.toLowerCase()];const extension=Math.floor((genePosition.txEnd-genePosition.txStart)/4);if(j===0&&k<dashParts.length){spacePart=`${genePosition.chr}:${genePosition.txStart-extension}`;}else if(j===0&&k===dashParts.length){spacePart=`${genePosition.chr}:${genePosition.txStart-extension}-${genePosition.txEnd+extension}`;}else{spacePart+=`- ${genePosition.chr}:${genePosition.txEnd+extension}`;}foundGeneSymbol=true;break;}else if(k===j+1){if(spacePart.length){spacePart+="-";}spacePart+=dashChunk;}k-=1;}j=k+1;}spaceParts[i2]=spacePart;}const newValue=spaceParts.join(" ");this.prevParts=newValue.split(/[ -]/);this.positionText=newValue;this.setState({value:newValue});return foundGeneSymbol?origSearchText:null;}},{key:"replaceGenesWithPositions",value:function replaceGenesWithPositions(finished){const valueParts=this.positionText.split(/[ -]/);const requests=[];for(let i2=0;i2<valueParts.length;i2++){if(valueParts[i2].length===0){continue;}const retPos=this.searchField.parsePosition(valueParts[i2])[2];if(retPos===null||Number.isNaN(+retPos)){const url=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${valueParts[i2].toLowerCase()}`;requests.push(api.json(url,toVoid,this.props.pubSub));}}Promise.all(requests).then(files=>{if(files){const genePositions={};for(let i2=0;i2<files.length;i2++){if(!files[i2][0]){continue;}for(let j=0;j<files[i2].length;j++){genePositions[files[i2][j].geneName.toLowerCase()]=files[i2][j];}}const geneSymbol=this.replaceGenesWithLoadedPositions(genePositions);finished(geneSymbol);}}).catch(error=>console.error(error));}},{key:"buttonClick",value:function buttonClick(){this.setState({genes:[]});this.replaceGenesWithPositions(geneSymbol=>{const searchFieldValue=this.positionText;if(this.searchField!==null){const rangePair=this.searchField.searchPosition(searchFieldValue);const range1=rangePair[0];let range2=rangePair[1];if(!range1){this.setPositionText();return;}if(range1&&(Number.isNaN(+range1[0])||Number.isNaN(+range1[1]))||range2&&(Number.isNaN(+range2[0])||Number.isNaN(+range2[1]))){return;}if(!range2){range2=range1;}const newXScale=this.xScale.copy().domain(range1);const newYScale=this.yScale.copy().domain(range2);const[centerX,centerY,k]=scalesCenterAndK(newXScale,newYScale);if(geneSymbol){this.props.onGeneSearch({geneSymbol,range:range1,centerX,centerY});}this.props.setCenters(centerX,centerY,k,ZOOM_TRANSITION_DURATION);}});}},{key:"searchFieldSubmit",value:function searchFieldSubmit(){this.buttonClick();}},{key:"pathJoin",value:function pathJoin(parts,sep){const separator=sep||"/";const replace=new RegExp(`${separator}{1,}`,"g");return parts.join(separator).replace(replace,separator);}},{key:"geneSelected",value:function geneSelected(value2,objct){const parts=this.positionText.split(" ");let partCount=this.changedPart;for(let i2=0;i2<parts.length;i2++){const dashParts=parts[i2].split("-");const geneParts=objct.geneName.split("-");if(partCount>dashParts.length-1){partCount-=dashParts.length;}else{dashParts[partCount]=objct.geneName;if(geneParts.length===2&&partCount>0&&dashParts[partCount-1].toLowerCase()===geneParts[0].toLowerCase()){const newDashParts=dashParts.slice(0,partCount-1);newDashParts.push(geneParts.join("-"));if(partCount<dashParts.length-1){newDashParts.push(dashParts.slice(partCount+1));}parts[i2]=newDashParts.join("-");}else{parts[i2]=dashParts.join("-");}break;}}this.prevParts=parts.join(" ").split(/[ -]/);this.positionText=parts.join(" ");this.setState({value:parts.join(" "),genes:[]});}},{key:"handleMenuVisibilityChange",value:function handleMenuVisibilityChange(isOpen,inputEl){const box=inputEl.getBoundingClientRect();this.menuPosition={left:box.left,top:box.top+box.height};this.setState({menuOpened:isOpen});}},{key:"handleRenderMenu",value:function handleRenderMenu(items2){return/* @__PURE__ */React__default.default.createElement(PopupMenu,null,/* @__PURE__ */React__default.default.createElement("div",{className:styles$2["genome-position-search-bar-suggestions"],style:{left:this.menuPosition.left,top:this.menuPosition.top}},items2));}},{key:"handleAssemblySelectEvt",value:function handleAssemblySelectEvt(evt){this.handleAssemblySelect(evt.target.value);}},{key:"handleAssemblySelect",value:function handleAssemblySelect(assembly){this.setSelectedAssembly(assembly);this.setState({selectedAssembly:assembly});}},{key:"focusHandler",value:function focusHandler(isFocused){this.setState({isFocused});}},{key:"render",value:function render(){const assemblyMenuItems=this.state.availableAssemblies.map(x=>/* @__PURE__ */React__default.default.createElement("option",{key:x,value:x},x));return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.gpsbForm=c2;},className:clsx({[styles$2["genome-position-search-focus"]]:this.state.isFocused,[styles$2["genome-position-search"]]:!this.state.isFocused,[styles$2["genome-position-search-dark"]]:this.props.theme===THEME_DARK})},!this.props.hideAvailableAssemblies&&/* @__PURE__ */React__default.default.createElement("select",{ref:c2=>{this.assemblyPickButton=c2;},className:styles$2["genome-position-search-bar-button"],id:this.uid,onChange:this.handleAssemblySelectEvt.bind(this),value:this.state.selectedAssembly||void 0},assemblyMenuItems),/* @__PURE__ */React__default.default.createElement(Autocomplete,{ref:c2=>{this.autocompleteMenu=c2;},getItemValue:item=>item.geneName,inputProps:{className:styles$2["genome-position-search-bar"],title:"Current location: enter a symbol or location to change the position of the current view"},items:this.state.genes,menuStyle:{position:"absolute",left:this.menuPosition.left,top:this.menuPosition.top,border:"1px solid black"},onChange:this.onAutocompleteChange.bind(this),onFocus:this.focusHandler.bind(this),onMenuVisibilityChange:this.handleMenuVisibilityChange.bind(this),onSelect:(value2,objct)=>this.geneSelected(value2,objct),onSubmit:this.searchFieldSubmit.bind(this),renderItem:(item,isHighlighted)=>/* @__PURE__ */React__default.default.createElement("div",{key:item.refseqid,id:item.refseqid,style:isHighlighted?this.styles.highlightedItem:this.styles.item},item.geneName),renderMenu:this.handleRenderMenu.bind(this),value:this.state.selectedAssembly?this.positionText:"No valid assembly selected",wrapperStyle:{width:"100%"}}),/* @__PURE__ */React__default.default.createElement(SearchIcon,{onClick:this.buttonClick.bind(this),theStyle:"multitrack-header-icon"}));}}]);return GenomePositionSearchBox;}(React__default.default.Component);GenomePositionSearchBox.propTypes={autocompleteId:propTypes$3.exports.string,autocompleteServer:propTypes$3.exports.string,chromInfoId:propTypes$3.exports.string,chromInfoServer:propTypes$3.exports.string,chromInfoPath:propTypes$3.exports.string,hideAvailableAssemblies:propTypes$3.exports.bool,isFocused:propTypes$3.exports.bool,pubSub:propTypes$3.exports.object,onFocus:propTypes$3.exports.func,onGeneSearch:propTypes$3.exports.func,onSelectedAssemblyChanged:propTypes$3.exports.func,registerViewportChangedListener:propTypes$3.exports.func,removeViewportChangedListener:propTypes$3.exports.func,setCenters:propTypes$3.exports.func,theme:propTypes$3.exports.symbol.isRequired,trackSourceServers:propTypes$3.exports.array,twoD:propTypes$3.exports.bool};const GenomePositionSearchBox$1=withPubSub(withTheme(GenomePositionSearchBox));const classes$2={"export-link-dialog-wrapper":"_export-link-dialog-wrapper_p9gxw_1"};let ExportLinkDialog=/*#__PURE__*/function(_React__default$defau21){_inherits3(ExportLinkDialog,_React__default$defau21);var _super81=_createSuper3(ExportLinkDialog);function ExportLinkDialog(){_classCallCheck3(this,ExportLinkDialog);return _super81.apply(this,arguments);}_createClass3(ExportLinkDialog,[{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement(Dialog$1,{okayOnly:true,okayTitle:"Done",onOkay:this.props.onDone,title:"Share view link"},/* @__PURE__ */React__default.default.createElement("div",{className:classes$2["export-link-dialog-wrapper"]},/* @__PURE__ */React__default.default.createElement("input",{ref:element=>{if(!element)return;this.input=element;element.focus();element.select();},onClick:event=>{event.target.select();},placeholder:"Generating the link...",readOnly:true,value:this.props.url}),/* @__PURE__ */React__default.default.createElement(Button,{onClick:event=>{this.input.select();document.execCommand("copy");}},"Copy")));}}]);return ExportLinkDialog;}(React__default.default.Component);ExportLinkDialog.defaultProps={onDone:()=>{},url:""};ExportLinkDialog.propTypes={onDone:propTypes$3.exports.func,url:propTypes$3.exports.string};let ConfigViewMenu=/*#__PURE__*/function(_ContextMenuContainer3){_inherits3(ConfigViewMenu,_ContextMenuContainer3);var _super82=_createSuper3(ConfigViewMenu);function ConfigViewMenu(props){var _this95;_classCallCheck3(this,ConfigViewMenu);_this95=_super82.call(this,props);_this95.state={submenuShown:false};return _this95;}_createClass3(ConfigViewMenu,[{key:"getConfigureViewMenu",value:function getConfigureViewMenu(position,bbox){const availableOptions=["backgroundColor"];const menuItems={};const newOptions={};for(const optionType of availableOptions){if(optionType in Object.keys(OPTIONS_INFO)){menuItems[optionType]={name:OPTIONS_INFO[optionType].name};if(OPTIONS_INFO[optionType].inlineOptions){for(const inlineOptionKey in OPTIONS_INFO[optionType].inlineOptions){const inlineOption=OPTIONS_INFO[optionType].inlineOptions[inlineOptionKey];if(!menuItems[optionType].children){menuItems[optionType].children={};}const optionSelectorSettings={name:inlineOption.name,value:inlineOption.value};optionSelectorSettings.handler=()=>{newOptions[optionType]=inlineOption.value;this.props.onOptionsChanged(newOptions);};menuItems[optionType].children[inlineOptionKey]=optionSelectorSettings;}}}}return/* @__PURE__ */React__default.default.createElement(NestedContextMenu,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems,orientation:this.state.orientation,parentBbox:bbox,position,theme:this.props.theme});}},{key:"getSubmenu",value:function getSubmenu(){if(this.state.submenuShown){const bbox=this.state.submenuSourceBbox;const position=this.state.orientation==="left"?{left:this.state.left,top:bbox.top}:{left:this.state.left+bbox.width+7,top:bbox.top};const subMenuData=this.state.submenuShown;if(subMenuData.option==="options"){return this.getConfigureViewMenu(position,bbox);}return/* @__PURE__ */React__default.default.createElement("div",null);}return/* @__PURE__ */React__default.default.createElement("div",null);}},{key:"render",value:function render(){return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.div=c2;},className:clsx(classes$b["context-menu"],{[classes$b["context-menu-dark"]]:this.props.theme===THEME_DARK}),"data-menu-type":"ConfigViewMenu",style:{left:this.state.left,top:this.state.top}},/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onTogglePositionSearchBox(e)},"Toggle position search box"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onZoomToData(e)},"Zoom to data extent"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onClearView(e)},"Clear View"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankZoom(e)},"Take zoom from"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankLocation(e)},"Take location from"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onYankZoomAndLocation(e)},"Take zoom and location from"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockZoom},"Lock zoom with"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockLocation},"Lock location with"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onLockZoomAndLocation},"Lock zoom and location with"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:this.props.onTakeAndLockZoomAndLocation},"Take and lock zoom and location with"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockZoom(e)},"Unlock zoom"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockLocation(e)},"Unlock location"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onUnlockZoomAndLocation(e)},"Unlock zoom and location"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onProjectViewport(e)},"Show this viewport on"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:e=>this.props.onEditViewConfig(e)},"Edit view config"),/* @__PURE__ */React__default.default.createElement("hr",{className:classes$b["context-menu-hr"]}),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportSVG()},"Export views as SVG"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportPNG()},"Export views as PNG"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportViewAsJSON()},"Export views as JSON"),/* @__PURE__ */React__default.default.createElement(ContextMenuItem,{onClick:()=>this.props.onExportViewAsLink()},"Export views as Link"),this.getSubmenu());}}]);return ConfigViewMenu;}(ContextMenuContainer);ConfigViewMenu.propTypes={onEditViewConfig:propTypes$3.exports.func.isRequired,onExportSVG:propTypes$3.exports.func,onExportPNG:propTypes$3.exports.func,onExportViewAsJSON:propTypes$3.exports.func,onExportViewAsLink:propTypes$3.exports.func,onLockLocation:propTypes$3.exports.func,onLockZoom:propTypes$3.exports.func,onLockZoomAndLocation:propTypes$3.exports.func,onProjectViewport:propTypes$3.exports.func,onTakeAndLockZoomAndLocation:propTypes$3.exports.func,onTogglePositionSearchBox:propTypes$3.exports.func,onUnlockLocation:propTypes$3.exports.func,onUnlockZoom:propTypes$3.exports.func,onUnlockZoomAndLocation:propTypes$3.exports.func,onYankLocation:propTypes$3.exports.func,onYankZoom:propTypes$3.exports.func,onYankZoomAndLocation:propTypes$3.exports.func,onZoomToData:propTypes$3.exports.func,theme:propTypes$3.exports.symbol};const classes$1={"add-track-position-table":"_add-track-position-table_wdy5w_1","add-track-position-table-dark":"_add-track-position-table-dark_wdy5w_7","add-track-position-other":"_add-track-position-other_wdy5w_11","add-track-position-top-center":"_add-track-position-top-center_wdy5w_15","add-track-position-middle-left":"_add-track-position-middle-left_wdy5w_30","add-track-position-middle-right":"_add-track-position-middle-right_wdy5w_45","add-track-position-middle-middle":"_add-track-position-middle-middle_wdy5w_60","add-track-position-bottom-middle":"_add-track-position-bottom-middle_wdy5w_71","add-track-position-span":"_add-track-position-span_wdy5w_86"};function AddTrackPositionMenu(props){return/* @__PURE__ */React__default.default.createElement("div",null,/* @__PURE__ */React__default.default.createElement("div",{className:classes$1["add-track-position-span"]},"Add Track..."),/* @__PURE__ */React__default.default.createElement("table",{className:clsx(classes$1["add-track-position-table"],{[classes$1["add-track-position-table-dark"]]:props.theme===THEME_DARK})},/* @__PURE__ */React__default.default.createElement("tbody",null,/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"30px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]}),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-top-center"],onClick:()=>props.onTrackPositionChosen("top")},"top"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]})),/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"80px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-left"],onClick:()=>props.onTrackPositionChosen("left")},"left"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-middle"],onClick:()=>props.onTrackPositionChosen("center")},"center"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-middle-right"],onClick:()=>props.onTrackPositionChosen("right")},"right")),/* @__PURE__ */React__default.default.createElement("tr",{style:{height:"30px"}},/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]}),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-bottom-middle"],onClick:()=>props.onTrackPositionChosen("bottom")},"bottom"),/* @__PURE__ */React__default.default.createElement("td",{className:classes$1["add-track-position-other"]})))));}AddTrackPositionMenu.propTypes={onTrackPositionChosen:propTypes$3.exports.func.isRequired,theme:propTypes$3.exports.symbol.isRequired};const AddTrackPositionMenu$1=withTheme(AddTrackPositionMenu);let ViewHeader=/*#__PURE__*/function(_React__default$defau22){_inherits3(ViewHeader,_React__default$defau22);var _super83=_createSuper3(ViewHeader);function ViewHeader(props){var _this96;_classCallCheck3(this,ViewHeader);_this96=_super83.call(this,props);_this96.configImg=null;_this96.plusImg=null;_this96.state={addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null,configMenuUid:null,configMenuPosition:null,isFocused:false,width:-1};_this96.handleTrackPositionChosenBound=_this96.handleTrackPositionChosen.bind(_assertThisInitialized3(_this96));return _this96;}_createClass3(ViewHeader,[{key:"componentDidMount",value:function componentDidMount(){this.setState({width:this.el.clientWidth});}},{key:"checkWidth",value:function checkWidth(){const width=this.el.clientWidth;if(width!==this.state.width)this.setState({width});}},{key:"handleConfigMenuOpened",value:function handleConfigMenuOpened(uid){this.setState({configMenuUid:uid,configMenuPosition:this.configImg.getBoundingClientRect()});}},{key:"handleAddTrackPositionMenuOpened",value:function handleAddTrackPositionMenuOpened(uid){this.setState({addTrackPositionMenuUid:uid,addTrackPositionMenuPosition:this.plusImg.getBoundingClientRect()});}},{key:"handleTrackPositionChosen",value:function handleTrackPositionChosen(position){this.props.onTrackPositionChosen(position);this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null});}},{key:"render",value:function render(){let configMenu=null;let addTrackPositionMenu=null;if(this.state.addTrackPositionMenuPosition){addTrackPositionMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:()=>{this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null});}},/* @__PURE__ */React__default.default.createElement(ContextMenuContainer,{orientation:"left",position:this.state.addTrackPositionMenuPosition,theme:this.props.theme},/* @__PURE__ */React__default.default.createElement(AddTrackPositionMenu$1,{onTrackPositionChosen:this.handleTrackPositionChosenBound})));}if(this.state.configMenuUid){configMenu=/* @__PURE__ */React__default.default.createElement(PopupMenu,{onMenuClosed:()=>this.setState({configMenuUid:null})},/* @__PURE__ */React__default.default.createElement(ConfigViewMenu,{onClearView:()=>{this.setState({configMenuUid:null});this.props.onClearView();},onEditViewConfig:()=>{this.setState({configMenuUid:null});this.props.onEditViewConfig(this.state.configMenuUid);},onExportPNG:()=>{this.setState({configMenuUid:null});this.props.onExportPNG();},onExportSVG:()=>{this.setState({configMenuUid:null});this.props.onExportSVG();},onExportViewAsJSON:()=>{this.setState({configMenuUid:null});this.props.onExportViewsAsJSON();},onExportViewAsLink:()=>{this.setState({configMenuUid:null});this.props.onExportViewsAsLink();},onLockLocation:()=>{this.setState({configMenuUid:null});this.props.onLockLocation(this.state.configMenuUid);},onLockZoom:()=>{this.setState({configMenuUid:null});this.props.onLockZoom(this.state.configMenuUid);},onLockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onLockZoomAndLocation(this.state.configMenuUid);},onOptionsChanged:newOptions=>{this.props.onViewOptionsChanged(newOptions);this.setState({configMenuUid:null});},onProjectViewport:()=>{this.setState({configMenuUid:null});this.props.onProjectViewport(this.state.configMenuUid);},onTakeAndLockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onTakeAndLockZoomAndLocation(this.state.configMenuUid);},onTogglePositionSearchBox:()=>{this.setState({configMenuUid:null});this.props.onTogglePositionSearchBox(this.state.configMenuUid);},onUnlockLocation:()=>{this.setState({configMenuUid:null});this.props.onUnlockLocation(this.state.configMenuUid);},onUnlockZoom:()=>{this.setState({configMenuUid:null});this.props.onUnlockZoom(this.state.configMenuUid);},onUnlockZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onUnlockZoomAndLocation(this.state.configMenuUid);},onYankLocation:()=>{this.setState({configMenuUid:null});this.props.onYankLocation(this.state.configMenuUid);},onYankZoom:()=>{this.setState({configMenuUid:null});this.props.onYankZoom(this.state.configMenuUid);},onYankZoomAndLocation:()=>{this.setState({configMenuUid:null});this.props.onYankZoomAndLocation(this.state.configMenuUid);},onZoomToData:()=>{this.setState({configMenuUid:null});this.props.onZoomToData(this.state.configMenuUid);},orientation:"left",position:this.state.configMenuPosition,theme:this.props.theme}));}const GenomePositionSearchBox2=this.props.getGenomePositionSearchBox(this.state.isFocused,focus=>{this.setState({isFocused:focus});});const className2=clsx(this.state.isFocused?stylesMTHeader["multitrack-header-focus"]:stylesMTHeader["multitrack-header"],{[stylesMTHeader["multitrack-header-dark"]]:this.props.theme===THEME_DARK});const classNameIcon=this.state.width<=VIEW_HEADER_MED_WIDTH_SEARCH_BAR?stylesMTHeader["multitrack-header-icon-squeazed"]:stylesMTHeader["multitrack-header-icon"];return/* @__PURE__ */React__default.default.createElement("div",{ref:c2=>{this.el=c2;},className:className2},/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-left"]},this.props.mouseTool===MOUSE_TOOL_SELECT&&/* @__PURE__ */React__default.default.createElement("svg",{className:clsx(stylesMTHeader["mouse-tool-selection"],classNameIcon),title:"Selection tool active"},/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#select"})),/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-grabber"],title:"Drag to move the view"},/* @__PURE__ */React__default.default.createElement("div",null),/* @__PURE__ */React__default.default.createElement("div",null),/* @__PURE__ */React__default.default.createElement("div",null)),this.state.width>VIEW_HEADER_MIN_WIDTH_SEARCH_BAR&&/* @__PURE__ */React__default.default.createElement("div",{className:stylesMTHeader["multitrack-header-search"]},this.props.isGenomePositionSearchBoxVisible&&GenomePositionSearchBox2)),/* @__PURE__ */React__default.default.createElement("nav",{className:stylesMTHeader["multitrack-header-nav-list"]},/* @__PURE__ */React__default.default.createElement("svg",{className:classNameIcon,onClick:this.props.onAddView},/* @__PURE__ */React__default.default.createElement("title",null,"Add new view (clone this view)"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#copy"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.configImg=c2;},className:classNameIcon,onClick:()=>this.handleConfigMenuOpened(this.props.viewUid)},/* @__PURE__ */React__default.default.createElement("title",null,"Configure this view"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cog"})),/* @__PURE__ */React__default.default.createElement("svg",{ref:c2=>{this.plusImg=c2;},className:classNameIcon,onClick:()=>this.handleAddTrackPositionMenuOpened(this.props.viewUid)},/* @__PURE__ */React__default.default.createElement("title",null,"Add Track"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#plus"})),/* @__PURE__ */React__default.default.createElement("svg",{className:classNameIcon,onClick:this.props.onCloseView},/* @__PURE__ */React__default.default.createElement("title",null,"Close View"),/* @__PURE__ */React__default.default.createElement("use",{xlinkHref:"#cross"}))),configMenu,addTrackPositionMenu);}}]);return ViewHeader;}(React__default.default.Component);ViewHeader.defaultProps={isGenomePositionSearchBoxVisible:false};ViewHeader.propTypes={getGenomePositionSearchBox:propTypes$3.exports.func.isRequired,isGenomePositionSearchBoxVisible:propTypes$3.exports.bool,mouseTool:propTypes$3.exports.string.isRequired,onAddView:propTypes$3.exports.func.isRequired,onClearView:propTypes$3.exports.func.isRequired,onCloseView:propTypes$3.exports.func.isRequired,onEditViewConfig:propTypes$3.exports.func.isRequired,onExportSVG:propTypes$3.exports.func.isRequired,onExportPNG:propTypes$3.exports.func.isRequired,onExportViewsAsJSON:propTypes$3.exports.func.isRequired,onExportViewsAsLink:propTypes$3.exports.func.isRequired,onLockLocation:propTypes$3.exports.func.isRequired,onLockZoom:propTypes$3.exports.func.isRequired,onLockZoomAndLocation:propTypes$3.exports.func.isRequired,onProjectViewport:propTypes$3.exports.func.isRequired,onTakeAndLockZoomAndLocation:propTypes$3.exports.func.isRequired,onTogglePositionSearchBox:propTypes$3.exports.func.isRequired,onTrackPositionChosen:propTypes$3.exports.func.isRequired,onUnlockLocation:propTypes$3.exports.func.isRequired,onUnlockZoom:propTypes$3.exports.func.isRequired,onUnlockZoomAndLocation:propTypes$3.exports.func.isRequired,onViewOptionsChanged:propTypes$3.exports.func.isRequired,onYankLocation:propTypes$3.exports.func.isRequired,onYankZoom:propTypes$3.exports.func.isRequired,onYankZoomAndLocation:propTypes$3.exports.func.isRequired,onZoomToData:propTypes$3.exports.func.isRequired,theme:propTypes$3.exports.symbol.isRequired,viewUid:propTypes$3.exports.string.isRequired};const ViewHeader$1=withTheme(ViewHeader);var lib={};Object.defineProperty(lib,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i2=1;i2<arguments.length;i2++){var source=arguments[i2];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};var _createClass=function(){function defineProperties2(target,props){for(var i2=0;i2<props.length;i2++){var descriptor=props[i2];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties2(Constructor.prototype,protoProps);if(staticProps)defineProperties2(Constructor,staticProps);return Constructor;};}();var _react=React__default.default;var React=_interopRequireWildcard(_react);function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))newObj[key]=obj[key];}}newObj.default=obj;return newObj;}}function _objectWithoutProperties(obj,keys2){var target={};for(var i2 in obj){if(keys2.indexOf(i2)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i2))continue;target[i2]=obj[i2];}return target;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self2,call){if(!self2){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self2;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var KEYCODE_ENTER=13;var KEYCODE_TAB=9;var KEYCODE_BACKSPACE=8;var KEYCODE_Y=89;var KEYCODE_Z=90;var KEYCODE_M=77;var KEYCODE_PARENS=57;var KEYCODE_BRACKETS=219;var KEYCODE_QUOTE=222;var KEYCODE_BACK_QUOTE=192;var KEYCODE_ESCAPE=27;var HISTORY_LIMIT=100;var HISTORY_TIME_GAP=3e3;var isWindows="navigator"in globalThis&&/Win/i.test(navigator.platform);var isMacLike="navigator"in globalThis&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);var className="npm__react-simple-code-editor__textarea";var cssText="\n/**\n * Reset the text fill color so that placeholder is visible\n */\n."+className+":empty {\n -webkit-text-fill-color: inherit !important;\n}\n\n/**\n * Hack to apply on some CSS on IE10 and IE11\n */\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n /**\n * IE doesn't support '-webkit-text-fill-color'\n * So we use 'color: transparent' to make the text transparent on IE\n * Unlike other browsers, it doesn't affect caret color in IE\n */\n ."+className+" {\n color: transparent !important;\n }\n\n ."+className+"::selection {\n background-color: #accef7 !important;\n color: transparent !important;\n }\n}\n";var Editor=function(_React$Component){_inherits(Editor2,_React$Component);function Editor2(){var _ref;var _temp,_this,_ret;_classCallCheck(this,Editor2);for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}return _ret=(_temp=(_this=_possibleConstructorReturn(this,(_ref=Editor2.__proto__||Object.getPrototypeOf(Editor2)).call.apply(_ref,[this].concat(args))),_this),_this.state={capture:true},_this._recordCurrentState=function(){var input=_this._input;if(!input)return;var value2=input.value,selectionStart=input.selectionStart,selectionEnd=input.selectionEnd;_this._recordChange({value:value2,selectionStart,selectionEnd});},_this._getLines=function(text2,position){return text2.substring(0,position).split("\n");},_this._recordChange=function(record){var overwrite=arguments.length>1&&arguments[1]!==void 0?arguments[1]:false;var _this$_history=_this._history,stack=_this$_history.stack,offset=_this$_history.offset;if(stack.length&&offset>-1){_this._history.stack=stack.slice(0,offset+1);var count2=_this._history.stack.length;if(count2>HISTORY_LIMIT){var extras=count2-HISTORY_LIMIT;_this._history.stack=stack.slice(extras,count2);_this._history.offset=Math.max(_this._history.offset-extras,0);}}var timestamp=Date.now();if(overwrite){var last2=_this._history.stack[_this._history.offset];if(last2&&timestamp-last2.timestamp<HISTORY_TIME_GAP){var re2=/[^a-z0-9]([a-z0-9]+)$/i;var previous=_this._getLines(last2.value,last2.selectionStart).pop().match(re2);var current=_this._getLines(record.value,record.selectionStart).pop().match(re2);if(previous&&current&&current[1].startsWith(previous[1])){_this._history.stack[_this._history.offset]=_extends({},record,{timestamp});return;}}}_this._history.stack.push(_extends({},record,{timestamp}));_this._history.offset++;},_this._updateInput=function(record){var input=_this._input;if(!input)return;input.value=record.value;input.selectionStart=record.selectionStart;input.selectionEnd=record.selectionEnd;_this.props.onValueChange(record.value);},_this._applyEdits=function(record){var input=_this._input;var last2=_this._history.stack[_this._history.offset];if(last2&&input){_this._history.stack[_this._history.offset]=_extends({},last2,{selectionStart:input.selectionStart,selectionEnd:input.selectionEnd});}_this._recordChange(record);_this._updateInput(record);},_this._undoEdit=function(){var _this$_history2=_this._history,stack=_this$_history2.stack,offset=_this$_history2.offset;var record=stack[offset-1];if(record){_this._updateInput(record);_this._history.offset=Math.max(offset-1,0);}},_this._redoEdit=function(){var _this$_history3=_this._history,stack=_this$_history3.stack,offset=_this$_history3.offset;var record=stack[offset+1];if(record){_this._updateInput(record);_this._history.offset=Math.min(offset+1,stack.length-1);}},_this._handleKeyDown=function(e){var _this$props=_this.props,tabSize=_this$props.tabSize,insertSpaces=_this$props.insertSpaces,ignoreTabKey=_this$props.ignoreTabKey,onKeyDown=_this$props.onKeyDown;if(onKeyDown){onKeyDown(e);if(e.defaultPrevented){return;}}if(e.keyCode===KEYCODE_ESCAPE){e.target.blur();}var _e$target=e.target,value2=_e$target.value,selectionStart=_e$target.selectionStart,selectionEnd=_e$target.selectionEnd;var tabCharacter=(insertSpaces?" ":" ").repeat(tabSize);if(e.keyCode===KEYCODE_TAB&&!ignoreTabKey&&_this.state.capture){e.preventDefault();if(e.shiftKey){var linesBeforeCaret=_this._getLines(value2,selectionStart);var startLine=linesBeforeCaret.length-1;var endLine=_this._getLines(value2,selectionEnd).length-1;var nextValue=value2.split("\n").map(function(line2,i2){if(i2>=startLine&&i2<=endLine&&line2.startsWith(tabCharacter)){return line2.substring(tabCharacter.length);}return line2;}).join("\n");if(value2!==nextValue){var startLineText=linesBeforeCaret[startLine];_this._applyEdits({value:nextValue,selectionStart:startLineText.startsWith(tabCharacter)?selectionStart-tabCharacter.length:selectionStart,selectionEnd:selectionEnd-(value2.length-nextValue.length)});}}else if(selectionStart!==selectionEnd){var _linesBeforeCaret=_this._getLines(value2,selectionStart);var _startLine=_linesBeforeCaret.length-1;var _endLine=_this._getLines(value2,selectionEnd).length-1;var _startLineText=_linesBeforeCaret[_startLine];_this._applyEdits({value:value2.split("\n").map(function(line2,i2){if(i2>=_startLine&&i2<=_endLine){return tabCharacter+line2;}return line2;}).join("\n"),selectionStart:/\S/.test(_startLineText)?selectionStart+tabCharacter.length:selectionStart,selectionEnd:selectionEnd+tabCharacter.length*(_endLine-_startLine+1)});}else{var updatedSelection=selectionStart+tabCharacter.length;_this._applyEdits({value:value2.substring(0,selectionStart)+tabCharacter+value2.substring(selectionEnd),selectionStart:updatedSelection,selectionEnd:updatedSelection});}}else if(e.keyCode===KEYCODE_BACKSPACE){var hasSelection=selectionStart!==selectionEnd;var textBeforeCaret=value2.substring(0,selectionStart);if(textBeforeCaret.endsWith(tabCharacter)&&!hasSelection){e.preventDefault();var _updatedSelection=selectionStart-tabCharacter.length;_this._applyEdits({value:value2.substring(0,selectionStart-tabCharacter.length)+value2.substring(selectionEnd),selectionStart:_updatedSelection,selectionEnd:_updatedSelection});}}else if(e.keyCode===KEYCODE_ENTER){if(selectionStart===selectionEnd){var line=_this._getLines(value2,selectionStart).pop();var matches=line.match(/^\s+/);if(matches&&matches[0]){e.preventDefault();var indent2="\n"+matches[0];var _updatedSelection2=selectionStart+indent2.length;_this._applyEdits({value:value2.substring(0,selectionStart)+indent2+value2.substring(selectionEnd),selectionStart:_updatedSelection2,selectionEnd:_updatedSelection2});}}}else if(e.keyCode===KEYCODE_PARENS||e.keyCode===KEYCODE_BRACKETS||e.keyCode===KEYCODE_QUOTE||e.keyCode===KEYCODE_BACK_QUOTE){var chars=void 0;if(e.keyCode===KEYCODE_PARENS&&e.shiftKey){chars=["(",")"];}else if(e.keyCode===KEYCODE_BRACKETS){if(e.shiftKey){chars=["{","}"];}else{chars=["[","]"];}}else if(e.keyCode===KEYCODE_QUOTE){if(e.shiftKey){chars=['"','"'];}else{chars=["'","'"];}}else if(e.keyCode===KEYCODE_BACK_QUOTE&&!e.shiftKey){chars=["`","`"];}if(selectionStart!==selectionEnd&&chars){e.preventDefault();_this._applyEdits({value:value2.substring(0,selectionStart)+chars[0]+value2.substring(selectionStart,selectionEnd)+chars[1]+value2.substring(selectionEnd),selectionStart,selectionEnd:selectionEnd+2});}}else if((isMacLike?e.metaKey&&e.keyCode===KEYCODE_Z:e.ctrlKey&&e.keyCode===KEYCODE_Z)&&!e.shiftKey&&!e.altKey){e.preventDefault();_this._undoEdit();}else if((isMacLike?e.metaKey&&e.keyCode===KEYCODE_Z&&e.shiftKey:isWindows?e.ctrlKey&&e.keyCode===KEYCODE_Y:e.ctrlKey&&e.keyCode===KEYCODE_Z&&e.shiftKey)&&!e.altKey){e.preventDefault();_this._redoEdit();}else if(e.keyCode===KEYCODE_M&&e.ctrlKey&&(isMacLike?e.shiftKey:true)){e.preventDefault();_this.setState(function(state){return{capture:!state.capture};});}},_this._handleChange=function(e){var _e$target2=e.target,value2=_e$target2.value,selectionStart=_e$target2.selectionStart,selectionEnd=_e$target2.selectionEnd;_this._recordChange({value:value2,selectionStart,selectionEnd},true);_this.props.onValueChange(value2);},_this._history={stack:[],offset:-1},_temp),_possibleConstructorReturn(_this,_ret);}_createClass(Editor2,[{key:"componentDidMount",value:function componentDidMount(){this._recordCurrentState();}},{key:"render",value:function render2(){var _this2=this;var _props=this.props,value2=_props.value,style=_props.style,padding=_props.padding,highlight=_props.highlight,textareaId=_props.textareaId,autoFocus=_props.autoFocus,disabled=_props.disabled,form=_props.form,maxLength=_props.maxLength,minLength=_props.minLength,name=_props.name,placeholder=_props.placeholder,readOnly=_props.readOnly,required2=_props.required,onClick=_props.onClick,onFocus=_props.onFocus,onBlur=_props.onBlur,onKeyUp=_props.onKeyUp;_props.onKeyDown;_props.onValueChange;_props.tabSize;_props.insertSpaces;_props.ignoreTabKey;var rest=_objectWithoutProperties(_props,["value","style","padding","highlight","textareaId","autoFocus","disabled","form","maxLength","minLength","name","placeholder","readOnly","required","onClick","onFocus","onBlur","onKeyUp","onKeyDown","onValueChange","tabSize","insertSpaces","ignoreTabKey"]);var contentStyle={paddingTop:padding,paddingRight:padding,paddingBottom:padding,paddingLeft:padding};var highlighted=highlight(value2);return React.createElement("div",_extends({},rest,{style:_extends({},styles$1.container,style)}),React.createElement("textarea",{ref:function ref2(c2){return _this2._input=c2;},style:_extends({},styles$1.editor,styles$1.textarea,contentStyle),className,id:textareaId,value:value2,onChange:this._handleChange,onKeyDown:this._handleKeyDown,onClick,onKeyUp,onFocus,onBlur,disabled,form,maxLength,minLength,name,placeholder,readOnly,required:required2,autoFocus,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:false,"data-gramm":false}),React.createElement("pre",_extends({"aria-hidden":"true",style:_extends({},styles$1.editor,styles$1.highlight,contentStyle)},typeof highlighted==="string"?{dangerouslySetInnerHTML:{__html:highlighted+"<br />"}}:{children:highlighted})),React.createElement("style",{type:"text/css",dangerouslySetInnerHTML:{__html:cssText}}));}},{key:"session",get:function get2(){return{history:this._history};},set:function set2(session){this._history=session.history;}}]);return Editor2;}(React.Component);Editor.defaultProps={tabSize:2,insertSpaces:true,ignoreTabKey:false,padding:0};var _default=lib.default=Editor;var styles$1={container:{position:"relative",textAlign:"left",boxSizing:"border-box",padding:0,overflow:"hidden"},textarea:{position:"absolute",top:0,left:0,height:"100%",width:"100%",resize:"none",color:"inherit",overflow:"hidden",MozOsxFontSmoothing:"grayscale",WebkitFontSmoothing:"antialiased",WebkitTextFillColor:"transparent"},highlight:{position:"relative",pointerEvents:"none"},editor:{margin:0,border:0,background:"none",boxSizing:"inherit",display:"inherit",fontFamily:"inherit",fontSize:"inherit",fontStyle:"inherit",fontVariantLigatures:"inherit",fontWeight:"inherit",letterSpacing:"inherit",lineHeight:"inherit",tabSize:"inherit",textIndent:"inherit",textRendering:"inherit",textTransform:"inherit",whiteSpace:"pre-wrap",wordBreak:"keep-all",overflowWrap:"break-word"}};var prismCore={exports:{}};(function(module2){var _self=typeof window!=="undefined"?window:typeof WorkerGlobalScope!=="undefined"&&self instanceof WorkerGlobalScope?self:{};/**
197
197
  * Prism: Lightweight, robust, elegant syntax highlighting
198
198
  *
199
199
  * @license MIT <https://opensource.org/licenses/MIT>