higlass 1.12.1 → 1.12.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.min.js CHANGED
@@ -46,7 +46,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
46
46
  `+o+o)),/\s{0,}\(\s{0,}SELECT\s{0,}/.exec(r[c])?(a++,u+=l[a]+r[c]):/\'/.exec(r[c])?(s<1&&a&&a--,u+=r[c]):(u+=l[a]+r[c],s<1&&a&&a--);return u=u.replace(/^\n{1,}/,"").replace(/\n{1,}/g,`
47
47
  `),u},Eo.prototype.xmlmin=function(e,t){var n=t?e:e.replace(/\<![ \r\n\t]*(--([^\-]|[\r\n]|-[^\-])*--[ \r\n\t]*)\>/g,"").replace(/[ \r\n\t]{1,}xmlns/g," xmlns");return n.replace(/>\s{0,}</g,"><")},Eo.prototype.jsonmin=function(e){return typeof JSON>"u"?e:JSON.stringify(JSON.parse(e),null,0)},Eo.prototype.cssmin=function(e,t){var n=t?e:e.replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\//g,"");return n.replace(/\s{1,}/g," ").replace(/\{\s{1,}/g,"{").replace(/\}\s{1,}/g,"}").replace(/\;\s{1,}/g,";").replace(/\/\*\s{1,}/g,"/*").replace(/\*\/\s{1,}/g,"*/")},Eo.prototype.sqlmin=function(e){return e.replace(/\s{1,}/g," ").replace(/\s{1,}\(/,"(").replace(/\s{1,}\)/,")")};var Xq=new Eo,Kq=function(t,n){if(n=n.split(":")[0],t=+t,!t)return!1;switch(n){case"http":case"ws":return t!==80;case"https":case"wss":return t!==443;case"ftp":return t!==21;case"gopher":return t!==70;case"file":return!1}return t!==0},B1={},Zq=Object.prototype.hasOwnProperty,Qq;function Xx(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return null}}function Kx(e){try{return encodeURIComponent(e)}catch{return null}}function Jq(e){for(var t=/([^=?#&]+)=?([^&]*)/g,n={},i;i=t.exec(e);){var r=Xx(i[1]),a=Xx(i[2]);r===null||a===null||r in n||(n[r]=a)}return n}function eX(e,t){t=t||"";var n=[],i,r;typeof t!="string"&&(t="?");for(r in e)if(Zq.call(e,r)){if(i=e[r],!i&&(i===null||i===Qq||isNaN(i))&&(i=""),r=Kx(r),i=Kx(i),r===null||i===null)continue;n.push(r+"="+i)}return n.length?t+n.join("&"):""}B1.stringify=eX,B1.parse=Jq;var Zx=Kq,hg=B1,tX=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,Qx=/[\n\r\t]/g,nX=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,Jx=/:\d+$/,rX=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,iX=/^[a-zA-Z]:/;function F1(e){return(e||"").toString().replace(tX,"")}var H1=[["#","hash"],["?","query"],function(t,n){return Ra(n.protocol)?t.replace(/\\/g,"/"):t},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],eP={hash:1,query:1};function tP(e){var t;typeof window<"u"?t=window:typeof globalThis<"u"?t=globalThis:typeof self<"u"?t=self:t={};var n=t.location||{};e=e||n;var i={},r=typeof e,a;if(e.protocol==="blob:")i=new Na(unescape(e.pathname),{});else if(r==="string"){i=new Na(e,{});for(a in eP)delete i[a]}else if(r==="object"){for(a in e)a in eP||(i[a]=e[a]);i.slashes===void 0&&(i.slashes=nX.test(e.href))}return i}function Ra(e){return e==="file:"||e==="ftp:"||e==="http:"||e==="https:"||e==="ws:"||e==="wss:"}function nP(e,t){e=F1(e),e=e.replace(Qx,""),t=t||{};var n=rX.exec(e),i=n[1]?n[1].toLowerCase():"",r=!!n[2],a=!!n[3],o=0,s;return r?a?(s=n[2]+n[3]+n[4],o=n[2].length+n[3].length):(s=n[2]+n[4],o=n[2].length):a?(s=n[3]+n[4],o=n[3].length):s=n[4],i==="file:"?o>=2&&(s=s.slice(2)):Ra(i)?s=n[4]:i?r&&(s=s.slice(2)):o>=2&&Ra(t.protocol)&&(s=n[4]),{protocol:i,slashes:r||Ra(i),slashesCount:o,rest:s}}function aX(e,t){if(e==="")return t;for(var n=(t||"/").split("/").slice(0,-1).concat(e.split("/")),i=n.length,r=n[i-1],a=!1,o=0;i--;)n[i]==="."?n.splice(i,1):n[i]===".."?(n.splice(i,1),o++):o&&(i===0&&(a=!0),n.splice(i,1),o--);return a&&n.unshift(""),(r==="."||r==="..")&&n.push(""),n.join("/")}function Na(e,t,n){if(e=F1(e),e=e.replace(Qx,""),!(this instanceof Na))return new Na(e,t,n);var i,r,a,o,s,u,c=H1.slice(),l=typeof t,f=this,h=0;for(l!=="object"&&l!=="string"&&(n=t,t=null),n&&typeof n!="function"&&(n=hg.parse),t=tP(t),r=nP(e||"",t),i=!r.protocol&&!r.slashes,f.slashes=r.slashes||i&&t.slashes,f.protocol=r.protocol||t.protocol||"",e=r.rest,(r.protocol==="file:"&&(r.slashesCount!==2||iX.test(e))||!r.slashes&&(r.protocol||r.slashesCount<2||!Ra(f.protocol)))&&(c[3]=[/(.*)/,"pathname"]);h<c.length;h++){if(o=c[h],typeof o=="function"){e=o(e,f);continue}a=o[0],u=o[1],a!==a?f[u]=e:typeof a=="string"?(s=a==="@"?e.lastIndexOf(a):e.indexOf(a),~s&&(typeof o[2]=="number"?(f[u]=e.slice(0,s),e=e.slice(s+o[2])):(f[u]=e.slice(s),e=e.slice(0,s)))):(s=a.exec(e))&&(f[u]=s[1],e=e.slice(0,s.index)),f[u]=f[u]||i&&o[3]&&t[u]||"",o[4]&&(f[u]=f[u].toLowerCase())}n&&(f.query=n(f.query)),i&&t.slashes&&f.pathname.charAt(0)!=="/"&&(f.pathname!==""||t.pathname!=="")&&(f.pathname=aX(f.pathname,t.pathname)),f.pathname.charAt(0)!=="/"&&Ra(f.protocol)&&(f.pathname="/"+f.pathname),Zx(f.port,f.protocol)||(f.host=f.hostname,f.port=""),f.username=f.password="",f.auth&&(s=f.auth.indexOf(":"),~s?(f.username=f.auth.slice(0,s),f.username=encodeURIComponent(decodeURIComponent(f.username)),f.password=f.auth.slice(s+1),f.password=encodeURIComponent(decodeURIComponent(f.password))):f.username=encodeURIComponent(decodeURIComponent(f.auth)),f.auth=f.password?f.username+":"+f.password:f.username),f.origin=f.protocol!=="file:"&&Ra(f.protocol)&&f.host?f.protocol+"//"+f.host:"null",f.href=f.toString()}function oX(e,t,n){var i=this;switch(e){case"query":typeof t=="string"&&t.length&&(t=(n||hg.parse)(t)),i[e]=t;break;case"port":i[e]=t,Zx(t,i.protocol)?t&&(i.host=i.hostname+":"+t):(i.host=i.hostname,i[e]="");break;case"hostname":i[e]=t,i.port&&(t+=":"+i.port),i.host=t;break;case"host":i[e]=t,Jx.test(t)?(t=t.split(":"),i.port=t.pop(),i.hostname=t.join(":")):(i.hostname=t,i.port="");break;case"protocol":i.protocol=t.toLowerCase(),i.slashes=!n;break;case"pathname":case"hash":if(t){var r=e==="pathname"?"/":"#";i[e]=t.charAt(0)!==r?r+t:t}else i[e]=t;break;case"username":case"password":i[e]=encodeURIComponent(t);break;case"auth":var a=t.indexOf(":");~a?(i.username=t.slice(0,a),i.username=encodeURIComponent(decodeURIComponent(i.username)),i.password=t.slice(a+1),i.password=encodeURIComponent(decodeURIComponent(i.password))):i.username=encodeURIComponent(decodeURIComponent(t))}for(var o=0;o<H1.length;o++){var s=H1[o];s[4]&&(i[s[1]]=i[s[1]].toLowerCase())}return i.auth=i.password?i.username+":"+i.password:i.username,i.origin=i.protocol!=="file:"&&Ra(i.protocol)&&i.host?i.protocol+"//"+i.host:"null",i.href=i.toString(),i}function sX(e){(!e||typeof e!="function")&&(e=hg.stringify);var t,n=this,i=n.host,r=n.protocol;r&&r.charAt(r.length-1)!==":"&&(r+=":");var a=r+(n.protocol&&n.slashes||Ra(n.protocol)?"//":"");return n.username?(a+=n.username,n.password&&(a+=":"+n.password),a+="@"):n.password?(a+=":"+n.password,a+="@"):n.protocol!=="file:"&&Ra(n.protocol)&&!i&&n.pathname!=="/"&&(a+="@"),(i[i.length-1]===":"||Jx.test(n.hostname)&&!n.port)&&(i+=":"),a+=i+n.pathname,t=typeof n.query=="object"?e(n.query):n.query,t&&(a+=t.charAt(0)!=="?"?"?"+t:t),n.hash&&(a+=n.hash),a}Na.prototype={set:oX,toString:sX},Na.extractProtocol=nP,Na.location=tP,Na.trimLeft=F1,Na.qs=hg;var lX=Na;const rP=(()=>{try{return new window.BroadcastChannel("pub-sub-es")}catch{return{postMessage:()=>{}}}})(),$1=(e,t)=>t?e.toLowerCase():e,iP=(e,{caseInsensitive:t}={})=>(n,i,r=1/0)=>{const a=$1(n,t);return e[a]||(e[a]=[],e.__times__[a]=[]),e[a].push(i),e.__times__[a].push(+r||1/0),{event:a,handler:i}},U1=(e,{caseInsensitive:t}={})=>(n,i)=>{typeof n=="object"&&(i=n.handler,n=n.event);const r=$1(n,t);if(!e[r])return;const a=e[r].indexOf(i);a===-1||a>=e[r].length||(e[r].splice(a,1),e.__times__[r].splice(a,1))},aP=(e,t)=>()=>{e.forEach(n=>n(t))},oP=(e,{isGlobal:t,caseInsensitive:n,async:i}={})=>{const r=U1(e);return(a,o,s={})=>{const u=$1(a,n);if(!e[u])return;const c=[...e[u]];if(c.forEach((l,f)=>{--e.__times__[u][f]<1&&r(u,l)}),i||s.async?setTimeout(aP(c,o),0):aP(c,o)(),t&&!s.isNoGlobalBroadcast)try{rP.postMessage({event:u,news:o})}catch(l){if(l instanceof DOMException)console.warn(`Could not broadcast '${u}' globally. Payload is not clonable.`);else throw l}}},uX=e=>()=>{Object.keys(e).filter(t=>t[0]!=="_").forEach(t=>{e[t]=void 0,e.__times__[t]=void 0,delete e[t],delete e.__times__[t]})},sP=()=>({__times__:{}}),fg=({async:e=!1,caseInsensitive:t=!1,stack:n=sP()}={})=>(n.__times__||(n.__times__={}),{publish:oP(n,{async:e,caseInsensitive:t}),subscribe:iP(n,{caseInsensitive:t}),unsubscribe:U1(n,{caseInsensitive:t}),clear:uX(n),stack:n}),dg=sP(),hf={publish:oP(dg,{isGlobal:!0}),subscribe:iP(dg),unsubscribe:U1(dg),stack:dg};rP.onmessage=({data:{event:e,news:t}})=>hf.publish(e,t,!0);const mt={"context-menu":"_context-menu_18ock_1","context-menu-dark":"_context-menu-dark_18ock_12","context-menu-icon":"_context-menu-icon_18ock_17","context-menu-item":"_context-menu-item_18ock_27","context-menu-hr":"_context-menu-hr_18ock_38","play-icon":"_play-icon_18ock_45","context-menu-span":"_context-menu-span_18ock_52","context-menu-thumbnail":"_context-menu-thumbnail_18ock_60","context-menu-thumbnail-inline":"_context-menu-thumbnail-inline_18ock_65"};function St(e){return A.default.createElement("div",{"data-menu-item-for":typeof e.children=="string"?e.children:null,className:mt["context-menu-item"],onClick:t=>e.onClick(t),onMouseEnter:t=>e.onMouseEnter(t),onMouseLeave:t=>e.onMouseLeave(t),role:"button",tabIndex:0},A.default.createElement("span",{className:mt["context-menu-span"]},e.children))}St.defaultProps={onMouseEnter:()=>{},onMouseLeave:()=>{}},St.propTypes={children:N.exports.node.isRequired,onClick:N.exports.func.isRequired,onMouseEnter:N.exports.func,onMouseLeave:N.exports.func};var cX={value:()=>{}};function Pu(){for(var e=0,t=arguments.length,n={},i;e<t;++e){if(!(i=arguments[e]+"")||i in n||/[\s.]/.test(i))throw new Error("illegal type: "+i);n[i]=[]}return new pg(n)}function pg(e){this._=e}function hX(e,t){return e.trim().split(/^|\s+/).map(function(n){var i="",r=n.indexOf(".");if(r>=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}pg.prototype=Pu.prototype={constructor:pg,on:function(e,t){var n=this._,i=hX(e+"",n),r,a=-1,o=i.length;if(arguments.length<2){for(;++a<o;)if((r=(e=i[a]).type)&&(r=fX(n[r],e.name)))return r;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<o;)if(r=(e=i[a]).type)n[r]=lP(n[r],e.name,t);else if(t==null)for(r in n)n[r]=lP(n[r],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new pg(e)},call:function(e,t){if((r=arguments.length-2)>0)for(var n=new Array(r),i=0,r,a;i<r;++i)n[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],i=0,r=a.length;i<r;++i)a[i].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],r=0,a=i.length;r<a;++r)i[r].value.apply(t,n)}};function fX(e,t){for(var n=0,i=e.length,r;n<i;++n)if((r=e[n]).name===t)return r.value}function lP(e,t,n){for(var i=0,r=e.length;i<r;++i)if(e[i].name===t){e[i]=cX,e=e.slice(0,i).concat(e.slice(i+1));break}return n!=null&&e.push({name:t,value:n}),e}function G1(e){e.stopImmediatePropagation()}function Ru(e){e.preventDefault(),e.stopImmediatePropagation()}function mg(e){var t=e.document.documentElement,n=xt(e).on("dragstart.drag",Ru,!0);"onselectstart"in t?n.on("selectstart.drag",Ru,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function gg(e,t){var n=e.document.documentElement,i=xt(e).on("dragstart.drag",null);t&&(i.on("click.drag",Ru,!0),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const vg=e=>()=>e;function z1(e,{sourceEvent:t,subject:n,target:i,identifier:r,active:a,x:o,y:s,dx:u,dy:c,dispatch:l}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:l}})}z1.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function dX(e){return!e.ctrlKey&&!e.button}function pX(){return this.parentNode}function mX(e,t){return t??{x:e.x,y:e.y}}function gX(){return navigator.maxTouchPoints||"ontouchstart"in this}function bo(){var e=dX,t=pX,n=mX,i=gX,r={},a=Pu("start","drag","end"),o=0,s,u,c,l,f=0;function h(T){T.on("mousedown.drag",d).filter(i).on("touchstart.drag",g).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",E).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(T,b){if(!(l||!e.call(this,T,b))){var S=y(this,t.call(this,T,b),T,b,"mouse");!S||(xt(T.view).on("mousemove.drag",p,!0).on("mouseup.drag",m,!0),mg(T.view),G1(T),c=!1,s=T.clientX,u=T.clientY,S("start",T))}}function p(T){if(Ru(T),!c){var b=T.clientX-s,S=T.clientY-u;c=b*b+S*S>f}r.mouse("drag",T)}function m(T){xt(T.view).on("mousemove.drag mouseup.drag",null),gg(T.view,c),Ru(T),r.mouse("end",T)}function g(T,b){if(!!e.call(this,T,b)){var S=T.changedTouches,I=t.call(this,T,b),D=S.length,R,M;for(R=0;R<D;++R)(M=y(this,I,T,b,S[R].identifier,S[R]))&&(G1(T),M("start",T,S[R]))}}function v(T){var b=T.changedTouches,S=b.length,I,D;for(I=0;I<S;++I)(D=r[b[I].identifier])&&(Ru(T),D("drag",T,b[I]))}function E(T){var b=T.changedTouches,S=b.length,I,D;for(l&&clearTimeout(l),l=setTimeout(function(){l=null},500),I=0;I<S;++I)(D=r[b[I].identifier])&&(G1(T),D("end",T,b[I]))}function y(T,b,S,I,D,R){var M=a.copy(),k=sn(R||S,b),L,$,P;if((P=n.call(T,new z1("beforestart",{sourceEvent:S,target:h,identifier:D,active:o,x:k[0],y:k[1],dx:0,dy:0,dispatch:M}),I))!=null)return L=P.x-k[0]||0,$=P.y-k[1]||0,function B(X,ee,se){var fe=k,Z;switch(X){case"start":r[D]=B,Z=o++;break;case"end":delete r[D],--o;case"drag":k=sn(se||ee,b),Z=o;break}M.call(X,T,new z1(X,{sourceEvent:ee,subject:P,target:h,identifier:D,active:Z,x:k[0]+L,y:k[1]+$,dx:k[0]-fe[0],dy:k[1]-fe[1],dispatch:M}),I)}}return h.filter=function(T){return arguments.length?(e=typeof T=="function"?T:vg(!!T),h):e},h.container=function(T){return arguments.length?(t=typeof T=="function"?T:vg(T),h):t},h.subject=function(T){return arguments.length?(n=typeof T=="function"?T:vg(T),h):n},h.touchable=function(T){return arguments.length?(i=typeof T=="function"?T:vg(!!T),h):i},h.on=function(){var T=a.on.apply(a,arguments);return T===a?h:T},h.clickDistance=function(T){return arguments.length?(f=(T=+T)*T,h):Math.sqrt(f)},h}const vX=Object.freeze(Object.defineProperty({__proto__:null,drag:bo,dragDisable:mg,dragEnable:gg},Symbol.toStringTag,{value:"Module"}));var Nu=0,ff=0,df=0,uP=1e3,yg,pf,Tg=0,ol=0,Eg=0,mf=typeof performance=="object"&&performance.now?performance:Date,cP=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function j1(){return ol||(cP(yX),ol=mf.now()+Eg)}function yX(){ol=0}function bg(){this._call=this._time=this._next=null}bg.prototype=hP.prototype={constructor:bg,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?j1():+n)+(t==null?0:+t),!this._next&&pf!==this&&(pf?pf._next=this:yg=this,pf=this),this._call=e,this._time=n,V1()},stop:function(){this._call&&(this._call=null,this._time=1/0,V1())}};function hP(e,t,n){var i=new bg;return i.restart(e,t,n),i}function TX(){j1(),++Nu;for(var e=yg,t;e;)(t=ol-e._time)>=0&&e._call.call(null,t),e=e._next;--Nu}function fP(){ol=(Tg=mf.now())+Eg,Nu=ff=0;try{TX()}finally{Nu=0,bX(),ol=0}}function EX(){var e=mf.now(),t=e-Tg;t>uP&&(Eg-=t,Tg=e)}function bX(){for(var e,t=yg,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:yg=n);pf=e,V1(i)}function V1(e){if(!Nu){ff&&(ff=clearTimeout(ff));var t=e-ol;t>24?(e<1/0&&(ff=setTimeout(fP,e-mf.now()-Eg)),df&&(df=clearInterval(df))):(df||(Tg=mf.now(),df=setInterval(EX,uP)),Nu=1,cP(fP))}}function dP(e,t,n){var i=new bg;return t=t==null?0:+t,i.restart(r=>{i.stop(),e(r+t)},t,n),i}var _X=Pu("start","end","cancel","interrupt"),SX=[],pP=0,mP=1,Y1=2,_g=3,gP=4,W1=5,Sg=6;function Ag(e,t,n,i,r,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;AX(e,n,{name:t,index:i,group:r,on:_X,tween:SX,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:pP})}function q1(e,t){var n=sa(e,t);if(n.state>pP)throw new Error("too late; already scheduled");return n}function Ma(e,t){var n=sa(e,t);if(n.state>_g)throw new Error("too late; already running");return n}function sa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function AX(e,t,n){var i=e.__transition,r;i[t]=n,n.timer=hP(a,0,n.time);function a(c){n.state=mP,n.timer.restart(o,n.delay,n.time),n.delay<=c&&o(c-n.delay)}function o(c){var l,f,h,d;if(n.state!==mP)return u();for(l in i)if(d=i[l],d.name===n.name){if(d.state===_g)return dP(o);d.state===gP?(d.state=Sg,d.timer.stop(),d.on.call("interrupt",e,e.__data__,d.index,d.group),delete i[l]):+l<t&&(d.state=Sg,d.timer.stop(),d.on.call("cancel",e,e.__data__,d.index,d.group),delete i[l])}if(dP(function(){n.state===_g&&(n.state=gP,n.timer.restart(s,n.delay,n.time),s(c))}),n.state=Y1,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Y1){for(n.state=_g,r=new Array(h=n.tween.length),l=0,f=-1;l<h;++l)(d=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(r[++f]=d);r.length=f+1}}function s(c){for(var l=c<n.duration?n.ease.call(null,c/n.duration):(n.timer.restart(u),n.state=W1,1),f=-1,h=r.length;++f<h;)r[f].call(e,l);n.state===W1&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=Sg,n.timer.stop(),delete i[t];for(var c in i)return;delete e.__transition}}function X1(e,t){var n=e.__transition,i,r,a=!0,o;if(!!n){t=t==null?null:t+"";for(o in n){if((i=n[o]).name!==t){a=!1;continue}r=i.state>Y1&&i.state<W1,i.state=Sg,i.timer.stop(),i.on.call(r?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete n[o]}a&&delete e.__transition}}function CX(e){return this.each(function(){X1(this,e)})}function DX(e,t){var n,i;return function(){var r=Ma(this,e),a=r.tween;if(a!==n){i=n=a;for(var o=0,s=i.length;o<s;++o)if(i[o].name===t){i=i.slice(),i.splice(o,1);break}}r.tween=i}}function IX(e,t,n){var i,r;if(typeof n!="function")throw new Error;return function(){var a=Ma(this,e),o=a.tween;if(o!==i){r=(i=o).slice();for(var s={name:t,value:n},u=0,c=r.length;u<c;++u)if(r[u].name===t){r[u]=s;break}u===c&&r.push(s)}a.tween=r}}function wX(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i=sa(this.node(),n).tween,r=0,a=i.length,o;r<a;++r)if((o=i[r]).name===e)return o.value;return null}return this.each((t==null?DX:IX)(n,e,t))}function K1(e,t,n){var i=e._id;return e.each(function(){var r=Ma(this,i);(r.value||(r.value={}))[t]=n.apply(this,arguments)}),function(r){return sa(r,i).value[t]}}function vP(e,t){var n;return(typeof t=="number"?$i:t instanceof Xn?Tu:(n=Xn(t))?(t=n,Tu):wE)(e,t)}function kX(e){return function(){this.removeAttribute(e)}}function OX(e){return function(){this.removeAttributeNS(e.space,e.local)}}function xX(e,t,n){var i,r=n+"",a;return function(){var o=this.getAttribute(e);return o===r?null:o===i?a:a=t(i=o,n)}}function PX(e,t,n){var i,r=n+"",a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===r?null:o===i?a:a=t(i=o,n)}}function RX(e,t,n){var i,r,a;return function(){var o,s=n(this),u;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),u=s+"",o===u?null:o===i&&u===r?a:(r=u,a=t(i=o,s)))}}function NX(e,t,n){var i,r,a;return function(){var o,s=n(this),u;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),u=s+"",o===u?null:o===i&&u===r?a:(r=u,a=t(i=o,s)))}}function MX(e,t){var n=Vs(e),i=n==="transform"?Xk:vP;return this.attrTween(e,typeof t=="function"?(n.local?NX:RX)(n,i,K1(this,"attr."+e,t)):t==null?(n.local?OX:kX)(n):(n.local?PX:xX)(n,i,t))}function LX(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function BX(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function FX(e,t){var n,i;function r(){var a=t.apply(this,arguments);return a!==i&&(n=(i=a)&&BX(e,a)),n}return r._value=t,r}function HX(e,t){var n,i;function r(){var a=t.apply(this,arguments);return a!==i&&(n=(i=a)&&LX(e,a)),n}return r._value=t,r}function $X(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var i=Vs(e);return this.tween(n,(i.local?FX:HX)(i,t))}function UX(e,t){return function(){q1(this,e).delay=+t.apply(this,arguments)}}function GX(e,t){return t=+t,function(){q1(this,e).delay=t}}function zX(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?UX:GX)(t,e)):sa(this.node(),t).delay}function jX(e,t){return function(){Ma(this,e).duration=+t.apply(this,arguments)}}function VX(e,t){return t=+t,function(){Ma(this,e).duration=t}}function YX(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?jX:VX)(t,e)):sa(this.node(),t).duration}function WX(e,t){if(typeof t!="function")throw new Error;return function(){Ma(this,e).ease=t}}function qX(e){var t=this._id;return arguments.length?this.each(WX(t,e)):sa(this.node(),t).ease}function XX(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Ma(this,e).ease=n}}function KX(e){if(typeof e!="function")throw new Error;return this.each(XX(this._id,e))}function ZX(e){typeof e!="function"&&(e=pm(e));for(var t=this._groups,n=t.length,i=new Array(n),r=0;r<n;++r)for(var a=t[r],o=a.length,s=i[r]=[],u,c=0;c<o;++c)(u=a[c])&&e.call(u,u.__data__,c,a)&&s.push(u);return new _o(i,this._parents,this._name,this._id)}function QX(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,r=n.length,a=Math.min(i,r),o=new Array(i),s=0;s<a;++s)for(var u=t[s],c=n[s],l=u.length,f=o[s]=new Array(l),h,d=0;d<l;++d)(h=u[d]||c[d])&&(f[d]=h);for(;s<i;++s)o[s]=t[s];return new _o(o,this._parents,this._name,this._id)}function JX(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function eK(e,t,n){var i,r,a=JX(t)?q1:Ma;return function(){var o=a(this,e),s=o.on;s!==i&&(r=(i=s).copy()).on(t,n),o.on=r}}function tK(e,t){var n=this._id;return arguments.length<2?sa(this.node(),n).on.on(e):this.each(eK(n,e,t))}function nK(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function rK(){return this.on("end.remove",nK(this._id))}function iK(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Vh(e));for(var i=this._groups,r=i.length,a=new Array(r),o=0;o<r;++o)for(var s=i[o],u=s.length,c=a[o]=new Array(u),l,f,h=0;h<u;++h)(l=s[h])&&(f=e.call(l,l.__data__,h,s))&&("__data__"in l&&(f.__data__=l.__data__),c[h]=f,Ag(c[h],t,n,h,c,sa(l,n)));return new _o(a,this._parents,t,n)}function aK(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dm(e));for(var i=this._groups,r=i.length,a=[],o=[],s=0;s<r;++s)for(var u=i[s],c=u.length,l,f=0;f<c;++f)if(l=u[f]){for(var h=e.call(l,l.__data__,f,u),d,p=sa(l,n),m=0,g=h.length;m<g;++m)(d=h[m])&&Ag(d,t,n,m,h,p);a.push(h),o.push(l)}return new _o(a,o,t,n)}var oK=ia.prototype.constructor;function sK(){return new oK(this._groups,this._parents)}function lK(e,t){var n,i,r;return function(){var a=Fi(this,e),o=(this.style.removeProperty(e),Fi(this,e));return a===o?null:a===n&&o===i?r:r=t(n=a,i=o)}}function yP(e){return function(){this.style.removeProperty(e)}}function uK(e,t,n){var i,r=n+"",a;return function(){var o=Fi(this,e);return o===r?null:o===i?a:a=t(i=o,n)}}function cK(e,t,n){var i,r,a;return function(){var o=Fi(this,e),s=n(this),u=s+"";return s==null&&(u=s=(this.style.removeProperty(e),Fi(this,e))),o===u?null:o===i&&u===r?a:(r=u,a=t(i=o,s))}}function hK(e,t){var n,i,r,a="style."+t,o="end."+a,s;return function(){var u=Ma(this,e),c=u.on,l=u.value[a]==null?s||(s=yP(t)):void 0;(c!==n||r!==l)&&(i=(n=c).copy()).on(o,r=l),u.on=i}}function fK(e,t,n){var i=(e+="")=="transform"?qk:vP;return t==null?this.styleTween(e,lK(e,i)).on("end.style."+e,yP(e)):typeof t=="function"?this.styleTween(e,cK(e,i,K1(this,"style."+e,t))).each(hK(this._id,e)):this.styleTween(e,uK(e,i,t),n).on("end.style."+e,null)}function dK(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}function pK(e,t,n){var i,r;function a(){var o=t.apply(this,arguments);return o!==r&&(i=(r=o)&&dK(e,o,n)),i}return a._value=t,a}function mK(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(t==null)return this.tween(i,null);if(typeof t!="function")throw new Error;return this.tween(i,pK(e,t,n??""))}function gK(e){return function(){this.textContent=e}}function vK(e){return function(){var t=e(this);this.textContent=t??""}}function yK(e){return this.tween("text",typeof e=="function"?vK(K1(this,"text",e)):gK(e==null?"":e+""))}function TK(e){return function(t){this.textContent=e.call(this,t)}}function EK(e){var t,n;function i(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&TK(r)),t}return i._value=e,i}function bK(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,EK(e))}function _K(){for(var e=this._name,t=this._id,n=TP(),i=this._groups,r=i.length,a=0;a<r;++a)for(var o=i[a],s=o.length,u,c=0;c<s;++c)if(u=o[c]){var l=sa(u,t);Ag(u,e,n,c,o,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new _o(i,this._parents,e,n)}function SK(){var e,t,n=this,i=n._id,r=n.size();return new Promise(function(a,o){var s={value:o},u={value:function(){--r===0&&a()}};n.each(function(){var c=Ma(this,i),l=c.on;l!==e&&(t=(e=l).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),c.on=t}),r===0&&a()})}var AK=0;function _o(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function TP(){return++AK}var sl=ia.prototype;_o.prototype={constructor:_o,select:iK,selectAll:aK,filter:ZX,merge:QX,selection:sK,transition:_K,call:sl.call,nodes:sl.nodes,node:sl.node,size:sl.size,empty:sl.empty,each:sl.each,on:tK,attr:MX,attrTween:$X,style:fK,styleTween:mK,text:yK,textTween:bK,remove:rK,tween:wX,delay:zX,duration:YX,ease:qX,easeVarying:KX,end:SK,[Symbol.iterator]:sl[Symbol.iterator]};function CK(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var DK={time:null,delay:0,duration:250,ease:CK};function IK(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function wK(e){var t,n;e instanceof _o?(t=e._id,e=e._name):(t=TP(),(n=DK).time=j1(),e=e==null?null:e+"");for(var i=this._groups,r=i.length,a=0;a<r;++a)for(var o=i[a],s=o.length,u,c=0;c<s;++c)(u=o[c])&&Ag(u,e,t,c,o,n||IK(u,t));return new _o(i,this._parents,e,t)}ia.prototype.interrupt=CX,ia.prototype.transition=wK;const Z1=e=>()=>e;function kK(e,{sourceEvent:t,target:n,selection:i,mode:r,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:i,enumerable:!0,configurable:!0},mode:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function OK(e){e.stopImmediatePropagation()}function Q1(e){e.preventDefault(),e.stopImmediatePropagation()}var EP={name:"drag"},J1={name:"space"},Mu={name:"handle"},Lu={name:"center"};const{abs:bP,max:kr,min:Or}=Math;function _P(e){return[+e[0],+e[1]]}function eb(e){return[_P(e[0]),_P(e[1])]}var Cg={name:"x",handles:["w","e"].map(gf),input:function(e,t){return e==null?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},Dg={name:"y",handles:["n","s"].map(gf),input:function(e,t){return e==null?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},xK={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(gf),input:function(e){return e==null?null:eb(e)},output:function(e){return e}},So={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},SP={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},AP={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},PK={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},RK={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function gf(e){return{type:e}}function NK(e){return!e.ctrlKey&&!e.button}function MK(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function LK(){return navigator.maxTouchPoints||"ontouchstart"in this}function tb(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function BK(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function FK(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function Ig(){return rb(Cg)}function vf(){return rb(Dg)}function nb(){return rb(xK)}function rb(e){var t=MK,n=NK,i=LK,r=!0,a=Pu("start","brush","end"),o=6,s;function u(g){var v=g.property("__brush",m).selectAll(".overlay").data([gf("overlay")]);v.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",So.overlay).merge(v).each(function(){var y=tb(this).extent;xt(this).attr("x",y[0][0]).attr("y",y[0][1]).attr("width",y[1][0]-y[0][0]).attr("height",y[1][1]-y[0][1])}),g.selectAll(".selection").data([gf("selection")]).enter().append("rect").attr("class","selection").attr("cursor",So.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var E=g.selectAll(".handle").data(e.handles,function(y){return y.type});E.exit().remove(),E.enter().append("rect").attr("class",function(y){return"handle handle--"+y.type}).attr("cursor",function(y){return So[y.type]}),g.each(c).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(i).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}u.move=function(g,v){g.tween?g.on("start.brush",function(E){l(this,arguments).beforestart().start(E)}).on("interrupt.brush end.brush",function(E){l(this,arguments).end(E)}).tween("brush",function(){var E=this,y=E.__brush,T=l(E,arguments),b=y.selection,S=e.input(typeof v=="function"?v.apply(this,arguments):v,y.extent),I=Ks(b,S);function D(R){y.selection=R===1&&S===null?null:I(R),c.call(E),T.brush()}return b!==null&&S!==null?D:D(1)}):g.each(function(){var E=this,y=arguments,T=E.__brush,b=e.input(typeof v=="function"?v.apply(E,y):v,T.extent),S=l(E,y).beforestart();X1(E),T.selection=b===null?null:b,c.call(E),S.start().brush().end()})},u.clear=function(g){u.move(g,null)};function c(){var g=xt(this),v=tb(this).selection;v?(g.selectAll(".selection").style("display",null).attr("x",v[0][0]).attr("y",v[0][1]).attr("width",v[1][0]-v[0][0]).attr("height",v[1][1]-v[0][1]),g.selectAll(".handle").style("display",null).attr("x",function(E){return E.type[E.type.length-1]==="e"?v[1][0]-o/2:v[0][0]-o/2}).attr("y",function(E){return E.type[0]==="s"?v[1][1]-o/2:v[0][1]-o/2}).attr("width",function(E){return E.type==="n"||E.type==="s"?v[1][0]-v[0][0]+o:o}).attr("height",function(E){return E.type==="e"||E.type==="w"?v[1][1]-v[0][1]+o:o})):g.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function l(g,v,E){var y=g.__brush.emitter;return y&&(!E||!y.clean)?y:new f(g,v,E)}function f(g,v,E){this.that=g,this.args=v,this.state=g.__brush,this.active=0,this.clean=E}f.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(g,v){return this.starting?(this.starting=!1,this.emit("start",g,v)):this.emit("brush",g),this},brush:function(g,v){return this.emit("brush",g,v),this},end:function(g,v){return--this.active===0&&(delete this.state.emitter,this.emit("end",g,v)),this},emit:function(g,v,E){var y=xt(this.that).datum();a.call(g,this.that,new kK(g,{sourceEvent:v,target:u,selection:e.output(this.state.selection),mode:E,dispatch:a}),y)}};function h(g){if(s&&!g.touches||!n.apply(this,arguments))return;var v=this,E=g.target.__data__.type,y=(r&&g.metaKey?E="overlay":E)==="selection"?EP:r&&g.altKey?Lu:Mu,T=e===Dg?null:PK[E],b=e===Cg?null:RK[E],S=tb(v),I=S.extent,D=S.selection,R=I[0][0],M,k,L=I[0][1],$,P,B=I[1][0],X,ee,se=I[1][1],fe,Z,he=0,j=0,H,G=T&&b&&r&&g.shiftKey,K,ae,pe=Array.from(g.touches||[g],qe=>{const Et=qe.identifier;return qe=sn(qe,v),qe.point0=qe.slice(),qe.identifier=Et,qe});if(E==="overlay"){D&&(H=!0);const qe=[pe[0],pe[1]||pe[0]];S.selection=D=[[M=e===Dg?R:Or(qe[0][0],qe[1][0]),$=e===Cg?L:Or(qe[0][1],qe[1][1])],[X=e===Dg?B:kr(qe[0][0],qe[1][0]),fe=e===Cg?se:kr(qe[0][1],qe[1][1])]],pe.length>1&&Ye()}else M=D[0][0],$=D[0][1],X=D[1][0],fe=D[1][1];k=M,P=$,ee=X,Z=fe;var Ie=xt(v).attr("pointer-events","none"),Ee=Ie.selectAll(".overlay").attr("cursor",So[E]);X1(v);var xe=l(v,arguments,!0).beforestart();if(g.touches)xe.moved=ke,xe.ended=je;else{var He=xt(g.view).on("mousemove.brush",ke,!0).on("mouseup.brush",je,!0);r&&He.on("keydown.brush",dt,!0).on("keyup.brush",st,!0),mg(g.view)}c.call(v),xe.start(g,y.name);function ke(qe){for(const Et of qe.changedTouches||[qe])for(const yt of pe)yt.identifier===Et.identifier&&(yt.cur=sn(Et,v));if(G&&!K&&!ae&&pe.length===1){const Et=pe[0];bP(Et.cur[0]-Et[0])>bP(Et.cur[1]-Et[1])?ae=!0:K=!0}for(const Et of pe)Et.cur&&(Et[0]=Et.cur[0],Et[1]=Et.cur[1]);H=!0,Q1(qe),Ye(qe)}function Ye(qe){const Et=pe[0],yt=Et.point0;var Bt;switch(he=Et[0]-yt[0],j=Et[1]-yt[1],y){case J1:case EP:{T&&(he=kr(R-M,Or(B-X,he)),k=M+he,ee=X+he),b&&(j=kr(L-$,Or(se-fe,j)),P=$+j,Z=fe+j);break}case Mu:{pe[1]?(T&&(k=kr(R,Or(B,pe[0][0])),ee=kr(R,Or(B,pe[1][0])),T=1),b&&(P=kr(L,Or(se,pe[0][1])),Z=kr(L,Or(se,pe[1][1])),b=1)):(T<0?(he=kr(R-M,Or(B-M,he)),k=M+he,ee=X):T>0&&(he=kr(R-X,Or(B-X,he)),k=M,ee=X+he),b<0?(j=kr(L-$,Or(se-$,j)),P=$+j,Z=fe):b>0&&(j=kr(L-fe,Or(se-fe,j)),P=$,Z=fe+j));break}case Lu:{T&&(k=kr(R,Or(B,M-he*T)),ee=kr(R,Or(B,X+he*T))),b&&(P=kr(L,Or(se,$-j*b)),Z=kr(L,Or(se,fe+j*b)));break}}ee<k&&(T*=-1,Bt=M,M=X,X=Bt,Bt=k,k=ee,ee=Bt,E in SP&&Ee.attr("cursor",So[E=SP[E]])),Z<P&&(b*=-1,Bt=$,$=fe,fe=Bt,Bt=P,P=Z,Z=Bt,E in AP&&Ee.attr("cursor",So[E=AP[E]])),S.selection&&(D=S.selection),K&&(k=D[0][0],ee=D[1][0]),ae&&(P=D[0][1],Z=D[1][1]),(D[0][0]!==k||D[0][1]!==P||D[1][0]!==ee||D[1][1]!==Z)&&(S.selection=[[k,P],[ee,Z]],c.call(v),xe.brush(qe,y.name))}function je(qe){if(OK(qe),qe.touches){if(qe.touches.length)return;s&&clearTimeout(s),s=setTimeout(function(){s=null},500)}else gg(qe.view,H),He.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Ie.attr("pointer-events","all"),Ee.attr("cursor",So.overlay),S.selection&&(D=S.selection),BK(D)&&(S.selection=null,c.call(v)),xe.end(qe,y.name)}function dt(qe){switch(qe.keyCode){case 16:{G=T&&b;break}case 18:{y===Mu&&(T&&(X=ee-he*T,M=k+he*T),b&&(fe=Z-j*b,$=P+j*b),y=Lu,Ye());break}case 32:{(y===Mu||y===Lu)&&(T<0?X=ee-he:T>0&&(M=k-he),b<0?fe=Z-j:b>0&&($=P-j),y=J1,Ee.attr("cursor",So.selection),Ye());break}default:return}Q1(qe)}function st(qe){switch(qe.keyCode){case 16:{G&&(K=ae=G=!1,Ye());break}case 18:{y===Lu&&(T<0?X=ee:T>0&&(M=k),b<0?fe=Z:b>0&&($=P),y=Mu,Ye());break}case 32:{y===J1&&(qe.altKey?(T&&(X=ee-he*T,M=k+he*T),b&&(fe=Z-j*b,$=P+j*b),y=Lu):(T<0?X=ee:T>0&&(M=k),b<0?fe=Z:b>0&&($=P),y=Mu),Ee.attr("cursor",So[E]),Ye());break}default:return}Q1(qe)}}function d(g){l(this,arguments).moved(g)}function p(g){l(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=eb(t.apply(this,arguments)),g.dim=e,g}return u.extent=function(g){return arguments.length?(t=typeof g=="function"?g:Z1(eb(g)),u):t},u.filter=function(g){return arguments.length?(n=typeof g=="function"?g:Z1(!!g),u):n},u.touchable=function(g){return arguments.length?(i=typeof g=="function"?g:Z1(!!g),u):i},u.handleSize=function(g){return arguments.length?(o=+g,u):o},u.keyModifiers=function(g){return arguments.length?(r=!!g,u):r},u.on=function(){var g=a.on.apply(a,arguments);return g===a?u:g},u}const HK=Object.freeze(Object.defineProperty({__proto__:null,brush:nb,brushX:Ig,brushY:vf,brushSelection:FK},Symbol.toStringTag,{value:"Module"}));function yf(){return yf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},yf.apply(this,arguments)}function $K(e){if(Array.isArray(e))return e}function UK(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var i,r,a,o,s=[],u=!0,c=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;u=!1}else for(;!(u=(i=a.call(n)).done)&&(s.push(i.value),s.length!==t);u=!0);}catch(l){c=!0,r=l}finally{try{if(!u&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return s}}function ib(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function CP(e,t){if(!!e){if(typeof e=="string")return ib(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ib(e,t)}}function GK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
48
48
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function DP(e,t){return $K(e)||UK(e,t)||CP(e,t)||GK()}function Bu(e){return Bu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bu(e)}function zK(e,t){if(Bu(e)!=="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Bu(i)!=="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function IP(e){var t=zK(e,"string");return Bu(t)==="symbol"?t:String(t)}function hn(e,t,n){return t=IP(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ab(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?Object(arguments[t]):{},i=Object.keys(n);typeof Object.getOwnPropertySymbols=="function"&&i.push.apply(i,Object.getOwnPropertySymbols(n).filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),i.forEach(function(r){hn(e,r,n[r])})}return e}function Tf(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wP(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,IP(i.key),i)}}function Ef(e,t,n){return t&&wP(e.prototype,t),n&&wP(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ut(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ob(e,t){if(t&&(Bu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ut(e)}function bf(e){return bf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},bf(e)}function sb(e,t){return sb=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,r){return i.__proto__=r,i},sb(e,t)}function lb(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&sb(e,t)}var jK=function(e,t,n,i,r,a,o,s){if(!e){var u;if(t===void 0)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,i,r,a,o,s],l=0;u=new Error(t.replace(/%s/g,function(){return c[l++]})),u.name="Invariant Violation"}throw u.framesToPop=1,u}},ll=jK;function VK(e){if(Array.isArray(e))return ib(e)}function YK(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function WK(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
49
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qK(e){return VK(e)||YK(e)||CP(e)||WK()}var XK=function(){function e(){Tf(this,e),hn(this,"refs",{})}return Ef(e,[{key:"add",value:function(n,i){this.refs[n]||(this.refs[n]=[]),this.refs[n].push(i)}},{key:"remove",value:function(n,i){var r=this.getIndex(n,i);r!==-1&&this.refs[n].splice(r,1)}},{key:"isActive",value:function(){return this.active}},{key:"getActive",value:function(){var n=this;return this.refs[this.active.collection].find(function(i){var r=i.node;return r.sortableInfo.index==n.active.index})}},{key:"getIndex",value:function(n,i){return this.refs[n].indexOf(i)}},{key:"getOrderedRefs",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.active.collection;return this.refs[n].sort(KK)}}]),e}();function KK(e,t){var n=e.node.sortableInfo.index,i=t.node.sortableInfo.index;return n-i}function ZK(e,t,n){return e=e.slice(),e.splice(n<0?e.length+n:n,0,e.splice(t,1)[0]),e}function kP(e,t){return Object.keys(e).reduce(function(n,i){return t.indexOf(i)===-1&&(n[i]=e[i]),n},{})}var Fu={end:["touchend","touchcancel","mouseup"],move:["touchmove","mousemove"],start:["touchstart","mousedown"]},OP=function(){if(typeof window>"u"||typeof document>"u")return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||e.OLink===""&&["","o"])[1];switch(t){case"ms":return"ms";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):""}}();function wg(e,t){Object.keys(t).forEach(function(n){e.style[n]=t[n]})}function kg(e,t){e.style["".concat(OP,"Transform")]=t==null?"":"translate3d(".concat(t.x,"px,").concat(t.y,"px,0)")}function ub(e,t){e.style["".concat(OP,"TransitionDuration")]=t==null?"":"".concat(t,"ms")}function _f(e,t){for(;e;){if(t(e))return e;e=e.parentNode}return null}function xP(e,t,n){return Math.max(e,Math.min(n,t))}function Hu(e){return e.substr(-2)==="px"?parseFloat(e):0}function QK(e){var t=window.getComputedStyle(e);return{bottom:Hu(t.marginBottom),left:Hu(t.marginLeft),right:Hu(t.marginRight),top:Hu(t.marginTop)}}function cb(e,t){var n=t.displayName||t.name;return n?"".concat(e,"(").concat(n,")"):e}function hb(e,t){var n=e.getBoundingClientRect();return{top:n.top+t.top,left:n.left+t.left}}function Sf(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}}function JK(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length}function Og(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{left:0,top:0};if(!!e){var i={left:n.left+e.offsetLeft,top:n.top+e.offsetTop};return e.parentNode===t?i:Og(e.parentNode,t,i)}}function eZ(e,t,n){return e<n&&e>t?e-1:e>n&&e<t?e+1:e}function PP(e){var t=e.lockOffset,n=e.width,i=e.height,r=t,a=t,o="px";if(typeof t=="string"){var s=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(t);ll(s!==null,'lockOffset value should be a number or a string of a number followed by "px" or "%". Given %s',t),r=parseFloat(t),a=parseFloat(t),o=s[1]}return ll(isFinite(r)&&isFinite(a),"lockOffset value should be a finite. Given %s",t),o==="%"&&(r=r*n/100,a=a*i/100),{x:r,y:a}}function tZ(e){var t=e.height,n=e.width,i=e.lockOffset,r=Array.isArray(i)?i:[i,i];ll(r.length===2,"lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given %s",i);var a=DP(r,2),o=a[0],s=a[1];return[PP({height:t,lockOffset:o,width:n}),PP({height:t,lockOffset:s,width:n})]}function nZ(e){var t=window.getComputedStyle(e),n=/(auto|scroll)/,i=["overflow","overflowX","overflowY"];return i.find(function(r){return n.test(t[r])})}function RP(e){return e instanceof HTMLElement?nZ(e)?e:RP(e.parentNode):null}function rZ(e){var t=window.getComputedStyle(e);return t.display==="grid"?{x:Hu(t.gridColumnGap),y:Hu(t.gridRowGap)}:{x:0,y:0}}var ul={TAB:9,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40},cl={Anchor:"A",Button:"BUTTON",Canvas:"CANVAS",Input:"INPUT",Option:"OPTION",Textarea:"TEXTAREA",Select:"SELECT"};function iZ(e){var t="input, textarea, select, canvas, [contenteditable]",n=e.querySelectorAll(t),i=e.cloneNode(!0),r=qK(i.querySelectorAll(t));return r.forEach(function(a,o){if(a.type!=="file"&&(a.value=n[o].value),a.type==="radio"&&a.name&&(a.name="__sortableClone__".concat(a.name)),a.tagName===cl.Canvas&&n[o].width>0&&n[o].height>0){var s=a.getContext("2d");s.drawImage(n[o],0,0)}}),i}function fb(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(){return Tf(this,a),ob(this,bf(a).apply(this,arguments))}return Ef(a,[{key:"componentDidMount",value:function(){var s=gn.findDOMNode(this);s.sortableHandle=!0}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call"),this.refs.wrappedInstance}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},this.props))}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableHandle",e)),n}function NP(e){return e.sortableHandle!=null}var aZ=function(){function e(t,n){Tf(this,e),this.container=t,this.onScrollCallback=n}return Ef(e,[{key:"clear",value:function(){this.interval!=null&&(clearInterval(this.interval),this.interval=null)}},{key:"update",value:function(n){var i=this,r=n.translate,a=n.minTranslate,o=n.maxTranslate,s=n.width,u=n.height,c={x:0,y:0},l={x:1,y:1},f={x:10,y:10},h=this.container,d=h.scrollTop,p=h.scrollLeft,m=h.scrollHeight,g=h.scrollWidth,v=h.clientHeight,E=h.clientWidth,y=d===0,T=m-d-v===0,b=p===0,S=g-p-E===0;r.y>=o.y-u/2&&!T?(c.y=1,l.y=f.y*Math.abs((o.y-u/2-r.y)/u)):r.x>=o.x-s/2&&!S?(c.x=1,l.x=f.x*Math.abs((o.x-s/2-r.x)/s)):r.y<=a.y+u/2&&!y?(c.y=-1,l.y=f.y*Math.abs((r.y-u/2-a.y)/u)):r.x<=a.x+s/2&&!b&&(c.x=-1,l.x=f.x*Math.abs((r.x-s/2-a.x)/s)),this.interval&&(this.clear(),this.isAutoScrolling=!1),(c.x!==0||c.y!==0)&&(this.interval=setInterval(function(){i.isAutoScrolling=!0;var I={left:l.x*c.x,top:l.y*c.y};i.container.scrollTop+=I.top,i.container.scrollLeft+=I.left,i.onScrollCallback(I)},5))}}]),e}();function oZ(e){var t=e.node;return{height:t.offsetHeight,width:t.offsetWidth}}function sZ(e){var t=[cl.Input,cl.Textarea,cl.Select,cl.Option,cl.Button];return!!(t.indexOf(e.target.tagName)!==-1||_f(e.target,function(n){return n.contentEditable==="true"}))}var MP={axis:N.exports.oneOf(["x","y","xy"]),contentWindow:N.exports.any,disableAutoscroll:N.exports.bool,distance:N.exports.number,getContainer:N.exports.func,getHelperDimensions:N.exports.func,helperClass:N.exports.string,helperContainer:N.exports.oneOfType([N.exports.func,typeof HTMLElement>"u"?N.exports.any:N.exports.instanceOf(HTMLElement)]),hideSortableGhost:N.exports.bool,keyboardSortingTransitionDuration:N.exports.number,lockAxis:N.exports.string,lockOffset:N.exports.oneOfType([N.exports.number,N.exports.string,N.exports.arrayOf(N.exports.oneOfType([N.exports.number,N.exports.string]))]),lockToContainerEdges:N.exports.bool,onSortEnd:N.exports.func,onSortMove:N.exports.func,onSortOver:N.exports.func,onSortStart:N.exports.func,pressDelay:N.exports.number,pressThreshold:N.exports.number,keyCodes:N.exports.shape({lift:N.exports.arrayOf(N.exports.number),drop:N.exports.arrayOf(N.exports.number),cancel:N.exports.arrayOf(N.exports.number),up:N.exports.arrayOf(N.exports.number),down:N.exports.arrayOf(N.exports.number)}),shouldCancelStart:N.exports.func,transitionDuration:N.exports.number,updateBeforeSortStart:N.exports.func,useDragHandle:N.exports.bool,useWindowAsScrollContainer:N.exports.bool},LP={lift:[ul.SPACE],drop:[ul.SPACE],cancel:[ul.ESC],up:[ul.UP,ul.LEFT],down:[ul.DOWN,ul.RIGHT]},lZ={axis:"y",disableAutoscroll:!1,distance:0,getHelperDimensions:oZ,hideSortableGhost:!0,lockOffset:"50%",lockToContainerEdges:!1,pressDelay:0,pressThreshold:5,keyCodes:LP,shouldCancelStart:sZ,transitionDuration:300,useWindowAsScrollContainer:!1},uZ=Object.keys(MP);function cZ(e){ll(!(e.distance&&e.pressDelay),"Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.")}function hZ(e,t){try{var n=e()}catch(i){return t(!0,i)}return n&&n.then?n.then(t.bind(null,!1),t.bind(null,!0)):t(!1,value)}function fZ(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(o){var s;return Tf(this,a),s=ob(this,bf(a).call(this,o)),hn(Ut(Ut(s)),"state",{}),hn(Ut(Ut(s)),"handleStart",function(u){var c=s.props,l=c.distance,f=c.shouldCancelStart;if(!(u.button===2||f(u))){s.touched=!0,s.position=Sf(u);var h=_f(u.target,function(E){return E.sortableInfo!=null});if(h&&h.sortableInfo&&s.nodeIsChild(h)&&!s.state.sorting){var d=s.props.useDragHandle,p=h.sortableInfo,m=p.index,g=p.collection,v=p.disabled;if(v||d&&!_f(u.target,NP))return;s.manager.active={collection:g,index:m},!JK(u)&&u.target.tagName===cl.Anchor&&u.preventDefault(),l||(s.props.pressDelay===0?s.handlePress(u):s.pressTimer=setTimeout(function(){return s.handlePress(u)},s.props.pressDelay))}}}),hn(Ut(Ut(s)),"nodeIsChild",function(u){return u.sortableInfo.manager===s.manager}),hn(Ut(Ut(s)),"handleMove",function(u){var c=s.props,l=c.distance,f=c.pressThreshold;if(!s.state.sorting&&s.touched&&!s._awaitingUpdateBeforeSortStart){var h=Sf(u),d={x:s.position.x-h.x,y:s.position.y-h.y},p=Math.abs(d.x)+Math.abs(d.y);s.delta=d,!l&&(!f||p>=f)?(clearTimeout(s.cancelTimer),s.cancelTimer=setTimeout(s.cancel,0)):l&&p>=l&&s.manager.isActive()&&s.handlePress(u)}}),hn(Ut(Ut(s)),"handleEnd",function(){s.touched=!1,s.cancel()}),hn(Ut(Ut(s)),"cancel",function(){var u=s.props.distance,c=s.state.sorting;c||(u||clearTimeout(s.pressTimer),s.manager.active=null)}),hn(Ut(Ut(s)),"handlePress",function(u){try{var c=s.manager.getActive(),l=function(){if(c){var f=function(){var R=T.sortableInfo.index,M=QK(T),k=rZ(s.container),L=s.scrollContainer.getBoundingClientRect(),$=p({index:R,node:T,collection:b});if(s.node=T,s.margin=M,s.gridGap=k,s.width=$.width,s.height=$.height,s.marginOffset={x:s.margin.left+s.margin.right+s.gridGap.x,y:Math.max(s.margin.top,s.margin.bottom,s.gridGap.y)},s.boundingClientRect=T.getBoundingClientRect(),s.containerBoundingRect=L,s.index=R,s.newIndex=R,s.axis={x:d.indexOf("x")>=0,y:d.indexOf("y")>=0},s.offsetEdge=Og(T,s.container),S?s.initialOffset=Sf(ab({},u,{pageX:s.boundingClientRect.left,pageY:s.boundingClientRect.top})):s.initialOffset=Sf(u),s.initialScroll={left:s.scrollContainer.scrollLeft,top:s.scrollContainer.scrollTop},s.initialWindowScroll={left:window.pageXOffset,top:window.pageYOffset},s.helper=s.helperContainer.appendChild(iZ(T)),wg(s.helper,{boxSizing:"border-box",height:"".concat(s.height,"px"),left:"".concat(s.boundingClientRect.left-M.left,"px"),pointerEvents:"none",position:"fixed",top:"".concat(s.boundingClientRect.top-M.top,"px"),width:"".concat(s.width,"px")}),S&&s.helper.focus(),g&&(s.sortableGhost=T,wg(T,{opacity:0,visibility:"hidden"})),s.minTranslate={},s.maxTranslate={},S){var P=y?{top:0,left:0,width:s.contentWindow.innerWidth,height:s.contentWindow.innerHeight}:s.containerBoundingRect,B=P.top,X=P.left,ee=P.width,se=P.height,fe=B+se,Z=X+ee;s.axis.x&&(s.minTranslate.x=X-s.boundingClientRect.left,s.maxTranslate.x=Z-(s.boundingClientRect.left+s.width)),s.axis.y&&(s.minTranslate.y=B-s.boundingClientRect.top,s.maxTranslate.y=fe-(s.boundingClientRect.top+s.height))}else s.axis.x&&(s.minTranslate.x=(y?0:L.left)-s.boundingClientRect.left-s.width/2,s.maxTranslate.x=(y?s.contentWindow.innerWidth:L.left+L.width)-s.boundingClientRect.left-s.width/2),s.axis.y&&(s.minTranslate.y=(y?0:L.top)-s.boundingClientRect.top-s.height/2,s.maxTranslate.y=(y?s.contentWindow.innerHeight:L.top+L.height)-s.boundingClientRect.top-s.height/2);m&&m.split(" ").forEach(function(he){return s.helper.classList.add(he)}),s.listenerNode=u.touches?T:s.contentWindow,S?(s.listenerNode.addEventListener("wheel",s.handleKeyEnd,!0),s.listenerNode.addEventListener("mousedown",s.handleKeyEnd,!0),s.listenerNode.addEventListener("keydown",s.handleKeyDown)):(Fu.move.forEach(function(he){return s.listenerNode.addEventListener(he,s.handleSortMove,!1)}),Fu.end.forEach(function(he){return s.listenerNode.addEventListener(he,s.handleSortEnd,!1)})),s.setState({sorting:!0,sortingIndex:R}),E&&E({node:T,index:R,collection:b,isKeySorting:S,nodes:s.manager.getOrderedRefs(),helper:s.helper},u),S&&s.keyMove(0)},h=s.props,d=h.axis,p=h.getHelperDimensions,m=h.helperClass,g=h.hideSortableGhost,v=h.updateBeforeSortStart,E=h.onSortStart,y=h.useWindowAsScrollContainer,T=c.node,b=c.collection,S=s.manager.isKeySorting,I=function(){if(typeof v=="function"){s._awaitingUpdateBeforeSortStart=!0;var D=hZ(function(){var R=T.sortableInfo.index;return Promise.resolve(v({collection:b,index:R,node:T,isKeySorting:S},u)).then(function(){})},function(R,M){if(s._awaitingUpdateBeforeSortStart=!1,R)throw M;return M});if(D&&D.then)return D.then(function(){})}}();return I&&I.then?I.then(f):f(I)}}();return Promise.resolve(l&&l.then?l.then(function(){}):void 0)}catch(f){return Promise.reject(f)}}),hn(Ut(Ut(s)),"handleSortMove",function(u){var c=s.props.onSortMove;typeof u.preventDefault=="function"&&u.preventDefault(),s.updateHelperPosition(u),s.animateNodes(),s.autoscroll(),c&&c(u)}),hn(Ut(Ut(s)),"handleSortEnd",function(u){var c=s.props,l=c.hideSortableGhost,f=c.onSortEnd,h=s.manager,d=h.active.collection,p=h.isKeySorting,m=s.manager.getOrderedRefs();s.listenerNode&&(p?(s.listenerNode.removeEventListener("wheel",s.handleKeyEnd,!0),s.listenerNode.removeEventListener("mousedown",s.handleKeyEnd,!0),s.listenerNode.removeEventListener("keydown",s.handleKeyDown)):(Fu.move.forEach(function(T){return s.listenerNode.removeEventListener(T,s.handleSortMove)}),Fu.end.forEach(function(T){return s.listenerNode.removeEventListener(T,s.handleSortEnd)}))),s.helper.parentNode.removeChild(s.helper),l&&s.sortableGhost&&wg(s.sortableGhost,{opacity:"",visibility:""});for(var g=0,v=m.length;g<v;g++){var E=m[g],y=E.node;E.edgeOffset=null,E.boundingClientRect=null,kg(y,null),ub(y,null),E.translate=null}s.autoScroller.clear(),s.manager.active=null,s.manager.isKeySorting=!1,s.setState({sorting:!1,sortingIndex:null}),typeof f=="function"&&f({collection:d,newIndex:s.newIndex,oldIndex:s.index,isKeySorting:p,nodes:m},u),s.touched=!1}),hn(Ut(Ut(s)),"autoscroll",function(){var u=s.props.disableAutoscroll,c=s.manager.isKeySorting;if(u){s.autoScroller.clear();return}if(c){var l=ab({},s.translate),f=0,h=0;s.axis.x&&(l.x=Math.min(s.maxTranslate.x,Math.max(s.minTranslate.x,s.translate.x)),f=s.translate.x-l.x),s.axis.y&&(l.y=Math.min(s.maxTranslate.y,Math.max(s.minTranslate.y,s.translate.y)),h=s.translate.y-l.y),s.translate=l,kg(s.helper,s.translate),s.scrollContainer.scrollLeft+=f,s.scrollContainer.scrollTop+=h;return}s.autoScroller.update({height:s.height,maxTranslate:s.maxTranslate,minTranslate:s.minTranslate,translate:s.translate,width:s.width})}),hn(Ut(Ut(s)),"onAutoScroll",function(u){s.translate.x+=u.left,s.translate.y+=u.top,s.animateNodes()}),hn(Ut(Ut(s)),"handleKeyDown",function(u){var c=u.keyCode,l=s.props,f=l.shouldCancelStart,h=l.keyCodes,d=h===void 0?{}:h,p=ab({},LP,d);s.manager.active&&!s.manager.isKeySorting||!s.manager.active&&(!p.lift.includes(c)||f(u)||!s.isValidSortingTarget(u))||(u.stopPropagation(),u.preventDefault(),p.lift.includes(c)&&!s.manager.active?s.keyLift(u):p.drop.includes(c)&&s.manager.active?s.keyDrop(u):p.cancel.includes(c)?(s.newIndex=s.manager.active.index,s.keyDrop(u)):p.up.includes(c)?s.keyMove(-1):p.down.includes(c)&&s.keyMove(1))}),hn(Ut(Ut(s)),"keyLift",function(u){var c=u.target,l=_f(c,function(p){return p.sortableInfo!=null}),f=l.sortableInfo,h=f.index,d=f.collection;s.initialFocusedNode=c,s.manager.isKeySorting=!0,s.manager.active={index:h,collection:d},s.handlePress(u)}),hn(Ut(Ut(s)),"keyMove",function(u){var c=s.manager.getOrderedRefs(),l=c[c.length-1].node.sortableInfo.index,f=s.newIndex+u,h=s.newIndex;if(!(f<0||f>l)){s.prevIndex=h,s.newIndex=f;var d=eZ(s.newIndex,s.prevIndex,s.index),p=c.find(function(S){var I=S.node;return I.sortableInfo.index===d}),m=p.node,g=s.containerScrollDelta,v=p.boundingClientRect||hb(m,g),E=p.translate||{x:0,y:0},y={top:v.top+E.y-g.top,left:v.left+E.x-g.left},T=h<f,b={x:T&&s.axis.x?m.offsetWidth-s.width:0,y:T&&s.axis.y?m.offsetHeight-s.height:0};s.handleSortMove({pageX:y.left+b.x,pageY:y.top+b.y,ignoreTransition:u===0})}}),hn(Ut(Ut(s)),"keyDrop",function(u){s.handleSortEnd(u),s.initialFocusedNode&&s.initialFocusedNode.focus()}),hn(Ut(Ut(s)),"handleKeyEnd",function(u){s.manager.active&&s.keyDrop(u)}),hn(Ut(Ut(s)),"isValidSortingTarget",function(u){var c=s.props.useDragHandle,l=u.target,f=_f(l,function(h){return h.sortableInfo!=null});return f&&f.sortableInfo&&!f.sortableInfo.disabled&&(c?NP(l):l.sortableInfo)}),cZ(o),s.manager=new XK,s.events={end:s.handleEnd,move:s.handleMove,start:s.handleStart},s}return Ef(a,[{key:"getChildContext",value:function(){return{manager:this.manager}}},{key:"componentDidMount",value:function(){var s=this,u=this.props.useWindowAsScrollContainer,c=this.getContainer();Promise.resolve(c).then(function(l){s.container=l,s.document=s.container.ownerDocument||document;var f=s.props.contentWindow||s.document.defaultView||window;s.contentWindow=typeof f=="function"?f():f,s.scrollContainer=u?s.document.scrollingElement||s.document.documentElement:RP(s.container)||s.container,s.autoScroller=new aZ(s.scrollContainer,s.onAutoScroll),Object.keys(s.events).forEach(function(h){return Fu[h].forEach(function(d){return s.container.addEventListener(d,s.events[h],!1)})}),s.container.addEventListener("keydown",s.handleKeyDown)})}},{key:"componentWillUnmount",value:function(){var s=this;this.helper&&this.helper.parentNode&&this.helper.parentNode.removeChild(this.helper),this.container&&(Object.keys(this.events).forEach(function(u){return Fu[u].forEach(function(c){return s.container.removeEventListener(c,s.events[u])})}),this.container.removeEventListener("keydown",this.handleKeyDown))}},{key:"updateHelperPosition",value:function(s){var u=this.props,c=u.lockAxis,l=u.lockOffset,f=u.lockToContainerEdges,h=u.transitionDuration,d=u.keyboardSortingTransitionDuration,p=d===void 0?h:d,m=this.manager.isKeySorting,g=s.ignoreTransition,v=Sf(s),E={x:v.x-this.initialOffset.x,y:v.y-this.initialOffset.y};if(E.y-=window.pageYOffset-this.initialWindowScroll.top,E.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=E,f){var y=tZ({height:this.height,lockOffset:l,width:this.width}),T=DP(y,2),b=T[0],S=T[1],I={x:this.width/2-b.x,y:this.height/2-b.y},D={x:this.width/2-S.x,y:this.height/2-S.y};E.x=xP(this.minTranslate.x+I.x,this.maxTranslate.x-D.x,E.x),E.y=xP(this.minTranslate.y+I.y,this.maxTranslate.y-D.y,E.y)}c==="x"?E.y=0:c==="y"&&(E.x=0),m&&p&&!g&&ub(this.helper,p),kg(this.helper,E)}},{key:"animateNodes",value:function(){var s=this.props,u=s.transitionDuration,c=s.hideSortableGhost,l=s.onSortOver,f=this.containerScrollDelta,h=this.windowScrollDelta,d=this.manager.getOrderedRefs(),p={left:this.offsetEdge.left+this.translate.x+f.left,top:this.offsetEdge.top+this.translate.y+f.top},m=this.manager.isKeySorting,g=this.newIndex;this.newIndex=null;for(var v=0,E=d.length;v<E;v++){var y=d[v].node,T=y.sortableInfo.index,b=y.offsetWidth,S=y.offsetHeight,I={height:this.height>S?S/2:this.height/2,width:this.width>b?b/2:this.width/2},D=m&&T>this.index&&T<=g,R=m&&T<this.index&&T>=g,M={x:0,y:0},k=d[v].edgeOffset;k||(k=Og(y,this.container),d[v].edgeOffset=k,m&&(d[v].boundingClientRect=hb(y,f)));var L=v<d.length-1&&d[v+1],$=v>0&&d[v-1];if(L&&!L.edgeOffset&&(L.edgeOffset=Og(L.node,this.container),m&&(L.boundingClientRect=hb(L.node,f))),T===this.index){c&&(this.sortableGhost=y,wg(y,{opacity:0,visibility:"hidden"}));continue}u&&ub(y,u),this.axis.x?this.axis.y?R||T<this.index&&(p.left+h.left-I.width<=k.left&&p.top+h.top<=k.top+I.height||p.top+h.top+I.height<=k.top)?(M.x=this.width+this.marginOffset.x,k.left+M.x>this.containerBoundingRect.width-I.width&&L&&(M.x=L.edgeOffset.left-k.left,M.y=L.edgeOffset.top-k.top),this.newIndex===null&&(this.newIndex=T)):(D||T>this.index&&(p.left+h.left+I.width>=k.left&&p.top+h.top+I.height>=k.top||p.top+h.top+I.height>=k.top+S))&&(M.x=-(this.width+this.marginOffset.x),k.left+M.x<this.containerBoundingRect.left+I.width&&$&&(M.x=$.edgeOffset.left-k.left,M.y=$.edgeOffset.top-k.top),this.newIndex=T):D||T>this.index&&p.left+h.left+I.width>=k.left?(M.x=-(this.width+this.marginOffset.x),this.newIndex=T):(R||T<this.index&&p.left+h.left<=k.left+I.width)&&(M.x=this.width+this.marginOffset.x,this.newIndex==null&&(this.newIndex=T)):this.axis.y&&(D||T>this.index&&p.top+h.top+I.height>=k.top?(M.y=-(this.height+this.marginOffset.y),this.newIndex=T):(R||T<this.index&&p.top+h.top<=k.top+I.height)&&(M.y=this.height+this.marginOffset.y,this.newIndex==null&&(this.newIndex=T))),kg(y,M),d[v].translate=M}this.newIndex==null&&(this.newIndex=this.index),m&&(this.newIndex=g);var P=m?this.prevIndex:g;l&&this.newIndex!==P&&l({collection:this.manager.active.collection,index:this.index,newIndex:this.newIndex,oldIndex:P,isKeySorting:m,nodes:d,helper:this.helper})}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call"),this.refs.wrappedInstance}},{key:"getContainer",value:function(){var s=this.props.getContainer;return typeof s!="function"?gn.findDOMNode(this):s(i.withRef?this.getWrappedInstance():void 0)}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},kP(this.props,uZ)))}},{key:"helperContainer",get:function(){var s=this.props.helperContainer;return typeof s=="function"?s():this.props.helperContainer||this.document.body}},{key:"containerScrollDelta",get:function(){var s=this.props.useWindowAsScrollContainer;return s?{left:0,top:0}:{left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top}}},{key:"windowScrollDelta",get:function(){return{left:this.contentWindow.pageXOffset-this.initialWindowScroll.left,top:this.contentWindow.pageYOffset-this.initialWindowScroll.top}}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableList",e)),hn(t,"defaultProps",lZ),hn(t,"propTypes",MP),hn(t,"childContextTypes",{manager:N.exports.object.isRequired}),n}var BP={index:N.exports.number.isRequired,collection:N.exports.oneOfType([N.exports.number,N.exports.string]),disabled:N.exports.bool},dZ=Object.keys(BP);function FP(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(){return Tf(this,a),ob(this,bf(a).apply(this,arguments))}return Ef(a,[{key:"componentDidMount",value:function(){this.register()}},{key:"componentDidUpdate",value:function(s){this.node&&(s.index!==this.props.index&&(this.node.sortableInfo.index=this.props.index),s.disabled!==this.props.disabled&&(this.node.sortableInfo.disabled=this.props.disabled)),s.collection!==this.props.collection&&(this.unregister(s.collection),this.register())}},{key:"componentWillUnmount",value:function(){this.unregister()}},{key:"register",value:function(){var s=this.props,u=s.collection,c=s.disabled,l=s.index,f=gn.findDOMNode(this);f.sortableInfo={collection:u,disabled:c,index:l,manager:this.context.manager},this.node=f,this.ref={node:f},this.context.manager.add(u,this.ref)}},{key:"unregister",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.collection;this.context.manager.remove(s,this.ref)}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call"),this.refs.wrappedInstance}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},kP(this.props,dZ)))}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableElement",e)),hn(t,"contextTypes",{manager:N.exports.object.isRequired}),hn(t,"propTypes",BP),hn(t,"defaultProps",{collection:0}),n}const La=()=>{},{Provider:pZ,Consumer:mZ}=A.default.createContext({close:La,open:La}),hl=e=>A.default.forwardRef((t,n)=>A.default.createElement(mZ,null,i=>A.default.createElement(e,{ref:n,...t,theme:i}))),Af=0,Cf=5,HP=10,$P=10,UP=300,xg="move",zi="select",db=100,Pg=10,GP=110,Df=3e3,If="locationListenerPrefix",zP=1e3,pb="http://higlass.io/api/v1",jP=400,VP=300,mb=["top","left","right","bottom","center","whole","gallery"],YP=20,WP=20,Rg=Symbol("Light theme"),pn=Symbol("Dark theme"),gZ=Rg,Be={PIXI:jh},gb=e=>{const t={},n=i=>!!(i.orientation===e||e==="1d-vertical"&&i.orientation==="1d-horizontal"&&i.rotatable);return Hl.filter(n).forEach(i=>{let r=i.datatype;Array.isArray(i.datatype)||(r=[r]),r.forEach(a=>{a in t||(t[a]=[]),t[a].push(i)})}),t.none=[],t},$u=[[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]],qP=hu(e=>e.pos).left,Zn=(e,t)=>{if(!t||!t.cumPositions||!t.cumPositions.length)return null;let n=qP(t.cumPositions,e);const i=t.cumPositions[t.cumPositions.length-1].chr,r=t.chromLengths[i];n-=n>0&&1;let a=Math.floor(e-t.cumPositions[n].pos),o=0;return a<0&&(o=a-1,a=1),n===t.cumPositions.length-1&&a>r&&(o=a-r,a=r),[t.cumPositions[n].chr,a,o,n]},XP=(e,t)=>n=>n%e*t+Math.floor(n/e),vZ=e=>e,KP=(e,t,n=vZ)=>e.map((i,r)=>i+t[n(r)]),yZ="http://www.w3.org/2000/svg",Ng=(e,t)=>{if(e.namespaceURI===yZ){const n=e.getAttribute("class");return n&&!!n.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))},TZ="http://www.w3.org/2000/svg",EZ=(e,t)=>{if(e.namespaceURI===TZ){if(!Ng(e,t)){const n=e.getAttribute("class")||"";e.setAttribute("class",`${n} ${t}`)}}else e.classList?e.classList.add(t):Ng(e,t)||(e.className+=` ${t}`)},bZ=(e,t,n)=>{const i=document.createElement("canvas");return new Promise((r,a)=>{const o=new window.Image;o.onload=()=>{i.width=t||o.width,i.height=n||o.height,i.getContext("2d").drawImage(o,0,0),r(i)},o.onerror=()=>{a(new Error("Could not convert base64 to canvas"))},o.src=`data:image/png;base64,${e}`})},Mg=(e,t,n)=>n.chrPositions[e].pos+t,ZP=e=>{const t=new e.constructor(e.type,e);return t.sourceUid=e.sourceUid,t.forwarded=e.forwarded,t},Jo=(e,t=!1)=>{const n=e.map((o,s)=>s*(255/(e.length-1))),i=_t().domain(n).range(e),a=Ur(t?255:254,-1,-1).map(i).map(o=>{const s=vu(o);return[s.r,s.g,s.b,s.opacity*255]});return a.length<256&&a.push([255,255,255,0]),a},at=e=>{const t=Xn(e);return Be.PIXI.utils.rgb2hex([t.r/255,t.g/255,t.b/255])},QP=e=>{if(e==="transparent")return[255,255,255,0];const t=Xn(e);return[t.r,t.g,t.b,255]},Lg=(e,t,n)=>{const i=Zn(e,n),r=Zn(t,n);return[i[0],Math.round(i[1]),r[0],Math.round(r[1])]},Bg=(e,t,n)=>{let i;const r=(...a)=>{const o=()=>{i=null,n||e(...a)},s=n&&!i;clearTimeout(i),i=setTimeout(o,t),s&&e(...a)};return Bg.cancel=()=>{clearTimeout(i),i=null},r},vb=e=>(e+16**6).toString(16).substr(-6),JP=e=>{const t={};return e.forEach(n=>{t[n[0]]=n[1]}),t},ji=e=>{const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push([n,e[n]]);return t};function Vi(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(n);return t}function un(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function wf(e,t){const n=typeof t=="string"?new Blob([t],{type:"application/octet-stream"}):t;if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveBlob(n,e);else{const i=window.document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(i.href)}}const eR=e=>{const t=["top","bottom","gallery"],n=["left","right","gallery"];return e.center=e.center||[],e.left=e.left||[],e.right=e.right||[],e.top=e.top||[],e.bottom=e.bottom||[],e.whole=e.whole||[],e.gallery=e.gallery||[],t.map(i=>e[i]).forEach(i=>i.forEach(r=>{const a=dn[r.type],o=a&&a.defaultOptions||{},s=r.options?{...o,...r.options}:o;s.minHeight!==void 0&&r.height===void 0&&(r.height=s.minHeight),r.height===void 0&&(r.height=a&&a.defaultHeight||YP)})),n.map(i=>e[i]).forEach(i=>i.forEach(r=>{const a=dn[r.type],o=a&&a.defaultOptions||{},s=r.options?{...o,...r.options}:o;s.minWidth!==void 0&&r.width===void 0&&(r.width=s.minWidth),r.width===void 0&&(r.width=a&&a.defaultWidth||WP)})),e},tR=e=>t=>Array.prototype.reduce.call(t,e),_Z=tR((e,t)=>e.concat(t)),SZ=e=>t=>Array.prototype.forEach.call(t,e),Fg=(e,t)=>{t.dispatchEvent(ZP(e))},AZ=(e,t)=>[Mg(e[0],e[1],t),Mg(e[2],e[3],t)];function CZ(e,t,n,i,r){const{chr:a,pos:o}=t,{chr:s,pos:u}=n,c=[];if(a===s){const l=a,f=Math.floor(o/i),h=Math.min(f+r,Math.ceil(u/i));c.push([l,f,h])}else{let l=r;const f=e.findIndex(([d])=>d===a),h=e.findIndex(([d])=>d===s);for(let d=f;d<=h;d++){let p,m;const[g,v]=e[d];d<h?(d===f?p=o:p=0,m=v):(p=0,m=u);const E=Math.floor(p/i),y=Math.min(E+l,Math.ceil(m/i));c.push([g,E,y]),l-=y-E}}return c}const yb=(e,t,n)=>{if(n.length===0)return;if(n.length===1)return n[0];let i=n[0];const r=sp[e]!==void 0?sp[e][t]:void 0;return r!==void 0&&(i=n.find(a=>a.type===r)||i),i},Tb=e=>t=>Array.prototype.map.call(t,e),nR=()=>[window,Tb(e=>e.charCodeAt(0))("1.12.1").map(e=>e<=999?`00${e}`.slice(-3):e).join("")];let rR=!1;const iR={listen:()=>{if(rR)return;const[e,t]=nR(),n="102117110099116105111110040041123115101108102046099111110115111108101046108111103040039",i="072",r="105",a="071",o="108097115115",s="032118",u="058032104116116112058047047104105103108097115115046105111039041125",c=[String.fromCharCode(...n.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...i.match(/.{1,3}/g).map(I=>+I)),String.fromCharCode(...r.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...a.match(/.{1,3}/g).map(I=>+I)),String.fromCharCode(...o.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...s.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...t.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...u.match(/.{1,3}/g).map(I=>+I)).toLowerCase()].join(""),l="085082076",f="066076079066",h="087111114107101114",d="099114101097116101079098106101099116085082076",p="114101118111107101079098106101099116085082076",m=I=>I.charAt(0).toUpperCase()+I.slice(1),g=I=>I.slice(0,6)+I.charAt(6).toUpperCase()+I.slice(7,12)+I.slice(12).toUpperCase(),v=e[String.fromCharCode(...l.match(/.{1,3}/g).map(I=>+I))],E=e[m(String.fromCharCode(...f.match(/.{1,3}/g).map(I=>+I)).toLowerCase())],y=e[m(String.fromCharCode(...h.match(/.{1,3}/g).map(I=>+I)).toLowerCase())],T=g(String.fromCharCode(...d.match(/.{1,3}/g).map(I=>+I)).toLowerCase()),b=g(String.fromCharCode(...p.match(/.{1,3}/g).map(I=>+I)).toLowerCase()),S=v[T](new E([`(${c})()`],{type:"application/javascript"}));new y(S),v[b](S),rR=!0}},aR=e=>(iR.listen(),[e.clientWidth,e.clientHeight]),Ci=(e,t)=>{let n=null;const i=r=>(r.uid===t&&(n=r),r.type.substr(0,8)==="combined"&&r.contents.forEach(i),null);return Object.keys(e).map(r=>e[r]).filter(r=>r.filter).reduce((r,a)=>r.concat(a),[]).forEach(i),n},DZ=(e,t,n)=>{const r=e.state.views[t];if(!r)return null;let a=null;const o=u=>(u.uid===n&&(a=u),u.type.substr(0,8)==="combined"&&u.contents.forEach(o),null),s=r.tracks;return Object.keys(s).map(u=>s[u]).filter(u=>u.filter).reduce((u,c)=>u.concat(c),[]).forEach(o),a},kf=(e,t,n)=>{const i=t?e[t]:Object.values(e)[0];if(!i){console.warn(t?`Could't find view with id "${t}"`:"No views available.");return}let r=i.trackRenderer.trackDefObjects[n];return r?r=r.trackObject:Object.values(i.trackRenderer.trackDefObjects).map(a=>a.trackObject).filter(a=>a.childTracks).forEach(a=>{a.createdTracks[n]&&(r=a.createdTracks[n])}),r},Eb=(e,t,n=!0,i=null)=>e.forEach(r=>{r.type==="combined"?n&&(Eb(r.contents,t,n,i),t(r,i)):t(r,i)}),Ao=(e,t,n=!0)=>{const i=[];return Object.keys(e).forEach(r=>{Eb(e[r],t,n,r)}),i},Of=(e,t)=>{let n=null;return Ao(e,(i,r)=>{i.uid===t&&(n=r)}),n},oR=(e,t=1,n=100,i=0,r=0,a=0,o=100)=>{const s=document.createElement("canvas");s.width=t,s.height=n;const u=s.getContext("2d"),c=u.createLinearGradient(i,r,a,o);return e.forEach(l=>{c.addColorStop(l.from,l.color)}),u.fillStyle=c,u.fillRect(0,0,t,n),s},sR=(e,t)=>{let n=e;for(;n&&n!==t&&n.tagName!=="HTML";)n=n.parentNode;return n===t},lR=e=>parseInt(e.replace(/^#/,""),16),uR=()=>{};let bb=function(){function e(t){_classCallCheck3(this,e),this.context=t;const{tracks:n,createTrackObject:i}=t;this.childTracks=n.map(i),this.createdTracks={},this.uid=Pt.nice(),this.childTracks.forEach((r,a)=>{this.createdTracks[n[a].uid]=r});for(let r=0;r<this.childTracks.length;r++)this.childTracks[r]||console.error("Empty child track in CombinedTrack:",this)}return _createClass3(e,[{key:"updateContents",value:function(n,i){const r=[],a=new Set;n.forEach(u=>{if(a.add(u.uid),u.uid in this.createdTracks)r.push(this.createdTracks[u.uid]);else{const c=i(u);c.setPosition(this.position),c.setDimensions(this.dimensions),r.push(c),c.zoomed(this._xScale,this._yScale),this.createdTracks[u.uid]=c}}),this.childTracks=r;const o=new Set(Object.keys(this.createdTracks));return[...new Set([...o].filter(u=>!a.has(u)))].forEach(u=>{this.createdTracks[u].remove(),delete this.createdTracks[u]}),this}},{key:"setPosition",value:function(n){this.position=n;for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].setPosition(n)}},{key:"setDimensions",value:function(n){this.dimensions=n;for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].setDimensions(n)}},{key:"zoomed",value:function(n,i,r,a,o,s,u){this._xScale=n,this._yScale=i;for(let c=0;c<this.childTracks.length;c++)this.childTracks[c].zoomed(n,i,r,a,o,s,u)}},{key:"clickOutside",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].clickOutside()}},{key:"click",value:function(...n){for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].click(...n)}},{key:"draw",value:function(){}},{key:"refScalesChanged",value:function(n,i){for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].refScalesChanged(n,i)}},{key:"remove",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].remove()}},{key:"exportSVG",value:function(){const n=document.createElement("g");for(const i of this.childTracks)i.exportSVG&&n.appendChild(i.exportSVG()[0]);return[n,n]}},{key:"rerender",value:function(n){}},{key:"minValue",value:function(n){if(arguments.length===0){const i=this.childTracks.filter(r=>r.minValue).map(r=>r.minValue()).filter(r=>r);return Math.min(...i)}for(const i of this.childTracks)i.minValue&&i.minValue(n)}},{key:"maxValue",value:function(n){if(arguments.length===0){const i=this.childTracks.filter(r=>r.maxValue).map(r=>r.maxValue()).filter(r=>r);return Math.max(...i)}for(const i of this.childTracks)i.maxValue&&i.maxValue(n)}},{key:"respondsToPosition",value:function(n,i){return n>=this.position[0]&&n<=this.dimensions[0]+this.position[0]&&i>=this.position[1]&&i<=this.dimensions[1]+this.position[1]}},{key:"stopHover",value:function(){for(const n of this.childTracks)n.stopHover&&n.stopHover()}},{key:"getMouseOverHtml",value:function(n,i){let r="";for(const a of this.childTracks)if(a.getMouseOverHtml){const o=a.getMouseOverHtml(n,i);o&&o.length&&(r+=o,r+="<br/>")}return r}}]),e}();const cR=(e,t)=>t===e?!0:t instanceof bb?Object.keys(t.createdTracks).map(n=>t.createdTracks[n]).some(n=>cR(e,n)):!1,_b=(e,t,n,i,r,a,o=!1)=>o?e>=n&&e<=i||t>=r&&t<=a:e>=n&&e<=i&&t>=r&&t<=a,IZ=e=>Math.log(Math.tan((e+Math.PI/2)/2)),wZ=(e,t)=>{let n=e*Math.PI/180;return n=IZ(n),2**t*(Math.PI-n)/(2*Math.PI)};var hR={},Sb={},Ab=34,xf=10,Cb=13;function fR(e){return new Function("d","return {"+e.map(function(t,n){return JSON.stringify(t)+": d["+n+'] || ""'}).join(",")+"}")}function kZ(e,t){var n=fR(e);return function(i,r){return t(n(i),r,e)}}function dR(e){var t=Object.create(null),n=[];return e.forEach(function(i){for(var r in i)r in t||n.push(t[r]=r)}),n}function li(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function OZ(e){return e<0?"-"+li(-e,6):e>9999?"+"+li(e,6):li(e,4)}function xZ(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),i=e.getUTCSeconds(),r=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":OZ(e.getUTCFullYear())+"-"+li(e.getUTCMonth()+1,2)+"-"+li(e.getUTCDate(),2)+(r?"T"+li(t,2)+":"+li(n,2)+":"+li(i,2)+"."+li(r,3)+"Z":i?"T"+li(t,2)+":"+li(n,2)+":"+li(i,2)+"Z":n||t?"T"+li(t,2)+":"+li(n,2)+"Z":"")}function Db(e){var t=new RegExp('["'+e+`
49
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qK(e){return VK(e)||YK(e)||CP(e)||WK()}var XK=function(){function e(){Tf(this,e),hn(this,"refs",{})}return Ef(e,[{key:"add",value:function(n,i){this.refs[n]||(this.refs[n]=[]),this.refs[n].push(i)}},{key:"remove",value:function(n,i){var r=this.getIndex(n,i);r!==-1&&this.refs[n].splice(r,1)}},{key:"isActive",value:function(){return this.active}},{key:"getActive",value:function(){var n=this;return this.refs[this.active.collection].find(function(i){var r=i.node;return r.sortableInfo.index==n.active.index})}},{key:"getIndex",value:function(n,i){return this.refs[n].indexOf(i)}},{key:"getOrderedRefs",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.active.collection;return this.refs[n].sort(KK)}}]),e}();function KK(e,t){var n=e.node.sortableInfo.index,i=t.node.sortableInfo.index;return n-i}function ZK(e,t,n){return e=e.slice(),e.splice(n<0?e.length+n:n,0,e.splice(t,1)[0]),e}function kP(e,t){return Object.keys(e).reduce(function(n,i){return t.indexOf(i)===-1&&(n[i]=e[i]),n},{})}var Fu={end:["touchend","touchcancel","mouseup"],move:["touchmove","mousemove"],start:["touchstart","mousedown"]},OP=function(){if(typeof window>"u"||typeof document>"u")return"";var e=window.getComputedStyle(document.documentElement,"")||["-moz-hidden-iframe"],t=(Array.prototype.slice.call(e).join("").match(/-(moz|webkit|ms)-/)||e.OLink===""&&["","o"])[1];switch(t){case"ms":return"ms";default:return t&&t.length?t[0].toUpperCase()+t.substr(1):""}}();function wg(e,t){Object.keys(t).forEach(function(n){e.style[n]=t[n]})}function kg(e,t){e.style["".concat(OP,"Transform")]=t==null?"":"translate3d(".concat(t.x,"px,").concat(t.y,"px,0)")}function ub(e,t){e.style["".concat(OP,"TransitionDuration")]=t==null?"":"".concat(t,"ms")}function _f(e,t){for(;e;){if(t(e))return e;e=e.parentNode}return null}function xP(e,t,n){return Math.max(e,Math.min(n,t))}function Hu(e){return e.substr(-2)==="px"?parseFloat(e):0}function QK(e){var t=window.getComputedStyle(e);return{bottom:Hu(t.marginBottom),left:Hu(t.marginLeft),right:Hu(t.marginRight),top:Hu(t.marginTop)}}function cb(e,t){var n=t.displayName||t.name;return n?"".concat(e,"(").concat(n,")"):e}function hb(e,t){var n=e.getBoundingClientRect();return{top:n.top+t.top,left:n.left+t.left}}function Sf(e){return e.touches&&e.touches.length?{x:e.touches[0].pageX,y:e.touches[0].pageY}:e.changedTouches&&e.changedTouches.length?{x:e.changedTouches[0].pageX,y:e.changedTouches[0].pageY}:{x:e.pageX,y:e.pageY}}function JK(e){return e.touches&&e.touches.length||e.changedTouches&&e.changedTouches.length}function Og(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{left:0,top:0};if(!!e){var i={left:n.left+e.offsetLeft,top:n.top+e.offsetTop};return e.parentNode===t?i:Og(e.parentNode,t,i)}}function eZ(e,t,n){return e<n&&e>t?e-1:e>n&&e<t?e+1:e}function PP(e){var t=e.lockOffset,n=e.width,i=e.height,r=t,a=t,o="px";if(typeof t=="string"){var s=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(t);ll(s!==null,'lockOffset value should be a number or a string of a number followed by "px" or "%". Given %s',t),r=parseFloat(t),a=parseFloat(t),o=s[1]}return ll(isFinite(r)&&isFinite(a),"lockOffset value should be a finite. Given %s",t),o==="%"&&(r=r*n/100,a=a*i/100),{x:r,y:a}}function tZ(e){var t=e.height,n=e.width,i=e.lockOffset,r=Array.isArray(i)?i:[i,i];ll(r.length===2,"lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given %s",i);var a=DP(r,2),o=a[0],s=a[1];return[PP({height:t,lockOffset:o,width:n}),PP({height:t,lockOffset:s,width:n})]}function nZ(e){var t=window.getComputedStyle(e),n=/(auto|scroll)/,i=["overflow","overflowX","overflowY"];return i.find(function(r){return n.test(t[r])})}function RP(e){return e instanceof HTMLElement?nZ(e)?e:RP(e.parentNode):null}function rZ(e){var t=window.getComputedStyle(e);return t.display==="grid"?{x:Hu(t.gridColumnGap),y:Hu(t.gridRowGap)}:{x:0,y:0}}var ul={TAB:9,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40},cl={Anchor:"A",Button:"BUTTON",Canvas:"CANVAS",Input:"INPUT",Option:"OPTION",Textarea:"TEXTAREA",Select:"SELECT"};function iZ(e){var t="input, textarea, select, canvas, [contenteditable]",n=e.querySelectorAll(t),i=e.cloneNode(!0),r=qK(i.querySelectorAll(t));return r.forEach(function(a,o){if(a.type!=="file"&&(a.value=n[o].value),a.type==="radio"&&a.name&&(a.name="__sortableClone__".concat(a.name)),a.tagName===cl.Canvas&&n[o].width>0&&n[o].height>0){var s=a.getContext("2d");s.drawImage(n[o],0,0)}}),i}function fb(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(){return Tf(this,a),ob(this,bf(a).apply(this,arguments))}return Ef(a,[{key:"componentDidMount",value:function(){var s=gn.findDOMNode(this);s.sortableHandle=!0}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableHandle() call"),this.refs.wrappedInstance}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},this.props))}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableHandle",e)),n}function NP(e){return e.sortableHandle!=null}var aZ=function(){function e(t,n){Tf(this,e),this.container=t,this.onScrollCallback=n}return Ef(e,[{key:"clear",value:function(){this.interval!=null&&(clearInterval(this.interval),this.interval=null)}},{key:"update",value:function(n){var i=this,r=n.translate,a=n.minTranslate,o=n.maxTranslate,s=n.width,u=n.height,c={x:0,y:0},l={x:1,y:1},f={x:10,y:10},h=this.container,d=h.scrollTop,p=h.scrollLeft,m=h.scrollHeight,g=h.scrollWidth,v=h.clientHeight,E=h.clientWidth,y=d===0,T=m-d-v===0,b=p===0,S=g-p-E===0;r.y>=o.y-u/2&&!T?(c.y=1,l.y=f.y*Math.abs((o.y-u/2-r.y)/u)):r.x>=o.x-s/2&&!S?(c.x=1,l.x=f.x*Math.abs((o.x-s/2-r.x)/s)):r.y<=a.y+u/2&&!y?(c.y=-1,l.y=f.y*Math.abs((r.y-u/2-a.y)/u)):r.x<=a.x+s/2&&!b&&(c.x=-1,l.x=f.x*Math.abs((r.x-s/2-a.x)/s)),this.interval&&(this.clear(),this.isAutoScrolling=!1),(c.x!==0||c.y!==0)&&(this.interval=setInterval(function(){i.isAutoScrolling=!0;var I={left:l.x*c.x,top:l.y*c.y};i.container.scrollTop+=I.top,i.container.scrollLeft+=I.left,i.onScrollCallback(I)},5))}}]),e}();function oZ(e){var t=e.node;return{height:t.offsetHeight,width:t.offsetWidth}}function sZ(e){var t=[cl.Input,cl.Textarea,cl.Select,cl.Option,cl.Button];return!!(t.indexOf(e.target.tagName)!==-1||_f(e.target,function(n){return n.contentEditable==="true"}))}var MP={axis:N.exports.oneOf(["x","y","xy"]),contentWindow:N.exports.any,disableAutoscroll:N.exports.bool,distance:N.exports.number,getContainer:N.exports.func,getHelperDimensions:N.exports.func,helperClass:N.exports.string,helperContainer:N.exports.oneOfType([N.exports.func,typeof HTMLElement>"u"?N.exports.any:N.exports.instanceOf(HTMLElement)]),hideSortableGhost:N.exports.bool,keyboardSortingTransitionDuration:N.exports.number,lockAxis:N.exports.string,lockOffset:N.exports.oneOfType([N.exports.number,N.exports.string,N.exports.arrayOf(N.exports.oneOfType([N.exports.number,N.exports.string]))]),lockToContainerEdges:N.exports.bool,onSortEnd:N.exports.func,onSortMove:N.exports.func,onSortOver:N.exports.func,onSortStart:N.exports.func,pressDelay:N.exports.number,pressThreshold:N.exports.number,keyCodes:N.exports.shape({lift:N.exports.arrayOf(N.exports.number),drop:N.exports.arrayOf(N.exports.number),cancel:N.exports.arrayOf(N.exports.number),up:N.exports.arrayOf(N.exports.number),down:N.exports.arrayOf(N.exports.number)}),shouldCancelStart:N.exports.func,transitionDuration:N.exports.number,updateBeforeSortStart:N.exports.func,useDragHandle:N.exports.bool,useWindowAsScrollContainer:N.exports.bool},LP={lift:[ul.SPACE],drop:[ul.SPACE],cancel:[ul.ESC],up:[ul.UP,ul.LEFT],down:[ul.DOWN,ul.RIGHT]},lZ={axis:"y",disableAutoscroll:!1,distance:0,getHelperDimensions:oZ,hideSortableGhost:!0,lockOffset:"50%",lockToContainerEdges:!1,pressDelay:0,pressThreshold:5,keyCodes:LP,shouldCancelStart:sZ,transitionDuration:300,useWindowAsScrollContainer:!1},uZ=Object.keys(MP);function cZ(e){ll(!(e.distance&&e.pressDelay),"Attempted to set both `pressDelay` and `distance` on SortableContainer, you may only use one or the other, not both at the same time.")}function hZ(e,t){try{var n=e()}catch(i){return t(!0,i)}return n&&n.then?n.then(t.bind(null,!1),t.bind(null,!0)):t(!1,value)}function fZ(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(o){var s;return Tf(this,a),s=ob(this,bf(a).call(this,o)),hn(Ut(Ut(s)),"state",{}),hn(Ut(Ut(s)),"handleStart",function(u){var c=s.props,l=c.distance,f=c.shouldCancelStart;if(!(u.button===2||f(u))){s.touched=!0,s.position=Sf(u);var h=_f(u.target,function(E){return E.sortableInfo!=null});if(h&&h.sortableInfo&&s.nodeIsChild(h)&&!s.state.sorting){var d=s.props.useDragHandle,p=h.sortableInfo,m=p.index,g=p.collection,v=p.disabled;if(v||d&&!_f(u.target,NP))return;s.manager.active={collection:g,index:m},!JK(u)&&u.target.tagName===cl.Anchor&&u.preventDefault(),l||(s.props.pressDelay===0?s.handlePress(u):s.pressTimer=setTimeout(function(){return s.handlePress(u)},s.props.pressDelay))}}}),hn(Ut(Ut(s)),"nodeIsChild",function(u){return u.sortableInfo.manager===s.manager}),hn(Ut(Ut(s)),"handleMove",function(u){var c=s.props,l=c.distance,f=c.pressThreshold;if(!s.state.sorting&&s.touched&&!s._awaitingUpdateBeforeSortStart){var h=Sf(u),d={x:s.position.x-h.x,y:s.position.y-h.y},p=Math.abs(d.x)+Math.abs(d.y);s.delta=d,!l&&(!f||p>=f)?(clearTimeout(s.cancelTimer),s.cancelTimer=setTimeout(s.cancel,0)):l&&p>=l&&s.manager.isActive()&&s.handlePress(u)}}),hn(Ut(Ut(s)),"handleEnd",function(){s.touched=!1,s.cancel()}),hn(Ut(Ut(s)),"cancel",function(){var u=s.props.distance,c=s.state.sorting;c||(u||clearTimeout(s.pressTimer),s.manager.active=null)}),hn(Ut(Ut(s)),"handlePress",function(u){try{var c=s.manager.getActive(),l=function(){if(c){var f=function(){var R=T.sortableInfo.index,M=QK(T),k=rZ(s.container),L=s.scrollContainer.getBoundingClientRect(),$=p({index:R,node:T,collection:b});if(s.node=T,s.margin=M,s.gridGap=k,s.width=$.width,s.height=$.height,s.marginOffset={x:s.margin.left+s.margin.right+s.gridGap.x,y:Math.max(s.margin.top,s.margin.bottom,s.gridGap.y)},s.boundingClientRect=T.getBoundingClientRect(),s.containerBoundingRect=L,s.index=R,s.newIndex=R,s.axis={x:d.indexOf("x")>=0,y:d.indexOf("y")>=0},s.offsetEdge=Og(T,s.container),S?s.initialOffset=Sf(ab({},u,{pageX:s.boundingClientRect.left,pageY:s.boundingClientRect.top})):s.initialOffset=Sf(u),s.initialScroll={left:s.scrollContainer.scrollLeft,top:s.scrollContainer.scrollTop},s.initialWindowScroll={left:window.pageXOffset,top:window.pageYOffset},s.helper=s.helperContainer.appendChild(iZ(T)),wg(s.helper,{boxSizing:"border-box",height:"".concat(s.height,"px"),left:"".concat(s.boundingClientRect.left-M.left,"px"),pointerEvents:"none",position:"fixed",top:"".concat(s.boundingClientRect.top-M.top,"px"),width:"".concat(s.width,"px")}),S&&s.helper.focus(),g&&(s.sortableGhost=T,wg(T,{opacity:0,visibility:"hidden"})),s.minTranslate={},s.maxTranslate={},S){var P=y?{top:0,left:0,width:s.contentWindow.innerWidth,height:s.contentWindow.innerHeight}:s.containerBoundingRect,B=P.top,X=P.left,ee=P.width,se=P.height,fe=B+se,Z=X+ee;s.axis.x&&(s.minTranslate.x=X-s.boundingClientRect.left,s.maxTranslate.x=Z-(s.boundingClientRect.left+s.width)),s.axis.y&&(s.minTranslate.y=B-s.boundingClientRect.top,s.maxTranslate.y=fe-(s.boundingClientRect.top+s.height))}else s.axis.x&&(s.minTranslate.x=(y?0:L.left)-s.boundingClientRect.left-s.width/2,s.maxTranslate.x=(y?s.contentWindow.innerWidth:L.left+L.width)-s.boundingClientRect.left-s.width/2),s.axis.y&&(s.minTranslate.y=(y?0:L.top)-s.boundingClientRect.top-s.height/2,s.maxTranslate.y=(y?s.contentWindow.innerHeight:L.top+L.height)-s.boundingClientRect.top-s.height/2);m&&m.split(" ").forEach(function(he){return s.helper.classList.add(he)}),s.listenerNode=u.touches?T:s.contentWindow,S?(s.listenerNode.addEventListener("wheel",s.handleKeyEnd,!0),s.listenerNode.addEventListener("mousedown",s.handleKeyEnd,!0),s.listenerNode.addEventListener("keydown",s.handleKeyDown)):(Fu.move.forEach(function(he){return s.listenerNode.addEventListener(he,s.handleSortMove,!1)}),Fu.end.forEach(function(he){return s.listenerNode.addEventListener(he,s.handleSortEnd,!1)})),s.setState({sorting:!0,sortingIndex:R}),E&&E({node:T,index:R,collection:b,isKeySorting:S,nodes:s.manager.getOrderedRefs(),helper:s.helper},u),S&&s.keyMove(0)},h=s.props,d=h.axis,p=h.getHelperDimensions,m=h.helperClass,g=h.hideSortableGhost,v=h.updateBeforeSortStart,E=h.onSortStart,y=h.useWindowAsScrollContainer,T=c.node,b=c.collection,S=s.manager.isKeySorting,I=function(){if(typeof v=="function"){s._awaitingUpdateBeforeSortStart=!0;var D=hZ(function(){var R=T.sortableInfo.index;return Promise.resolve(v({collection:b,index:R,node:T,isKeySorting:S},u)).then(function(){})},function(R,M){if(s._awaitingUpdateBeforeSortStart=!1,R)throw M;return M});if(D&&D.then)return D.then(function(){})}}();return I&&I.then?I.then(f):f(I)}}();return Promise.resolve(l&&l.then?l.then(function(){}):void 0)}catch(f){return Promise.reject(f)}}),hn(Ut(Ut(s)),"handleSortMove",function(u){var c=s.props.onSortMove;typeof u.preventDefault=="function"&&u.preventDefault(),s.updateHelperPosition(u),s.animateNodes(),s.autoscroll(),c&&c(u)}),hn(Ut(Ut(s)),"handleSortEnd",function(u){var c=s.props,l=c.hideSortableGhost,f=c.onSortEnd,h=s.manager,d=h.active.collection,p=h.isKeySorting,m=s.manager.getOrderedRefs();s.listenerNode&&(p?(s.listenerNode.removeEventListener("wheel",s.handleKeyEnd,!0),s.listenerNode.removeEventListener("mousedown",s.handleKeyEnd,!0),s.listenerNode.removeEventListener("keydown",s.handleKeyDown)):(Fu.move.forEach(function(T){return s.listenerNode.removeEventListener(T,s.handleSortMove)}),Fu.end.forEach(function(T){return s.listenerNode.removeEventListener(T,s.handleSortEnd)}))),s.helper.parentNode.removeChild(s.helper),l&&s.sortableGhost&&wg(s.sortableGhost,{opacity:"",visibility:""});for(var g=0,v=m.length;g<v;g++){var E=m[g],y=E.node;E.edgeOffset=null,E.boundingClientRect=null,kg(y,null),ub(y,null),E.translate=null}s.autoScroller.clear(),s.manager.active=null,s.manager.isKeySorting=!1,s.setState({sorting:!1,sortingIndex:null}),typeof f=="function"&&f({collection:d,newIndex:s.newIndex,oldIndex:s.index,isKeySorting:p,nodes:m},u),s.touched=!1}),hn(Ut(Ut(s)),"autoscroll",function(){var u=s.props.disableAutoscroll,c=s.manager.isKeySorting;if(u){s.autoScroller.clear();return}if(c){var l=ab({},s.translate),f=0,h=0;s.axis.x&&(l.x=Math.min(s.maxTranslate.x,Math.max(s.minTranslate.x,s.translate.x)),f=s.translate.x-l.x),s.axis.y&&(l.y=Math.min(s.maxTranslate.y,Math.max(s.minTranslate.y,s.translate.y)),h=s.translate.y-l.y),s.translate=l,kg(s.helper,s.translate),s.scrollContainer.scrollLeft+=f,s.scrollContainer.scrollTop+=h;return}s.autoScroller.update({height:s.height,maxTranslate:s.maxTranslate,minTranslate:s.minTranslate,translate:s.translate,width:s.width})}),hn(Ut(Ut(s)),"onAutoScroll",function(u){s.translate.x+=u.left,s.translate.y+=u.top,s.animateNodes()}),hn(Ut(Ut(s)),"handleKeyDown",function(u){var c=u.keyCode,l=s.props,f=l.shouldCancelStart,h=l.keyCodes,d=h===void 0?{}:h,p=ab({},LP,d);s.manager.active&&!s.manager.isKeySorting||!s.manager.active&&(!p.lift.includes(c)||f(u)||!s.isValidSortingTarget(u))||(u.stopPropagation(),u.preventDefault(),p.lift.includes(c)&&!s.manager.active?s.keyLift(u):p.drop.includes(c)&&s.manager.active?s.keyDrop(u):p.cancel.includes(c)?(s.newIndex=s.manager.active.index,s.keyDrop(u)):p.up.includes(c)?s.keyMove(-1):p.down.includes(c)&&s.keyMove(1))}),hn(Ut(Ut(s)),"keyLift",function(u){var c=u.target,l=_f(c,function(p){return p.sortableInfo!=null}),f=l.sortableInfo,h=f.index,d=f.collection;s.initialFocusedNode=c,s.manager.isKeySorting=!0,s.manager.active={index:h,collection:d},s.handlePress(u)}),hn(Ut(Ut(s)),"keyMove",function(u){var c=s.manager.getOrderedRefs(),l=c[c.length-1].node.sortableInfo.index,f=s.newIndex+u,h=s.newIndex;if(!(f<0||f>l)){s.prevIndex=h,s.newIndex=f;var d=eZ(s.newIndex,s.prevIndex,s.index),p=c.find(function(S){var I=S.node;return I.sortableInfo.index===d}),m=p.node,g=s.containerScrollDelta,v=p.boundingClientRect||hb(m,g),E=p.translate||{x:0,y:0},y={top:v.top+E.y-g.top,left:v.left+E.x-g.left},T=h<f,b={x:T&&s.axis.x?m.offsetWidth-s.width:0,y:T&&s.axis.y?m.offsetHeight-s.height:0};s.handleSortMove({pageX:y.left+b.x,pageY:y.top+b.y,ignoreTransition:u===0})}}),hn(Ut(Ut(s)),"keyDrop",function(u){s.handleSortEnd(u),s.initialFocusedNode&&s.initialFocusedNode.focus()}),hn(Ut(Ut(s)),"handleKeyEnd",function(u){s.manager.active&&s.keyDrop(u)}),hn(Ut(Ut(s)),"isValidSortingTarget",function(u){var c=s.props.useDragHandle,l=u.target,f=_f(l,function(h){return h.sortableInfo!=null});return f&&f.sortableInfo&&!f.sortableInfo.disabled&&(c?NP(l):l.sortableInfo)}),cZ(o),s.manager=new XK,s.events={end:s.handleEnd,move:s.handleMove,start:s.handleStart},s}return Ef(a,[{key:"getChildContext",value:function(){return{manager:this.manager}}},{key:"componentDidMount",value:function(){var s=this,u=this.props.useWindowAsScrollContainer,c=this.getContainer();Promise.resolve(c).then(function(l){s.container=l,s.document=s.container.ownerDocument||document;var f=s.props.contentWindow||s.document.defaultView||window;s.contentWindow=typeof f=="function"?f():f,s.scrollContainer=u?s.document.scrollingElement||s.document.documentElement:RP(s.container)||s.container,s.autoScroller=new aZ(s.scrollContainer,s.onAutoScroll),Object.keys(s.events).forEach(function(h){return Fu[h].forEach(function(d){return s.container.addEventListener(d,s.events[h],!1)})}),s.container.addEventListener("keydown",s.handleKeyDown)})}},{key:"componentWillUnmount",value:function(){var s=this;this.helper&&this.helper.parentNode&&this.helper.parentNode.removeChild(this.helper),this.container&&(Object.keys(this.events).forEach(function(u){return Fu[u].forEach(function(c){return s.container.removeEventListener(c,s.events[u])})}),this.container.removeEventListener("keydown",this.handleKeyDown))}},{key:"updateHelperPosition",value:function(s){var u=this.props,c=u.lockAxis,l=u.lockOffset,f=u.lockToContainerEdges,h=u.transitionDuration,d=u.keyboardSortingTransitionDuration,p=d===void 0?h:d,m=this.manager.isKeySorting,g=s.ignoreTransition,v=Sf(s),E={x:v.x-this.initialOffset.x,y:v.y-this.initialOffset.y};if(E.y-=window.pageYOffset-this.initialWindowScroll.top,E.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=E,f){var y=tZ({height:this.height,lockOffset:l,width:this.width}),T=DP(y,2),b=T[0],S=T[1],I={x:this.width/2-b.x,y:this.height/2-b.y},D={x:this.width/2-S.x,y:this.height/2-S.y};E.x=xP(this.minTranslate.x+I.x,this.maxTranslate.x-D.x,E.x),E.y=xP(this.minTranslate.y+I.y,this.maxTranslate.y-D.y,E.y)}c==="x"?E.y=0:c==="y"&&(E.x=0),m&&p&&!g&&ub(this.helper,p),kg(this.helper,E)}},{key:"animateNodes",value:function(){var s=this.props,u=s.transitionDuration,c=s.hideSortableGhost,l=s.onSortOver,f=this.containerScrollDelta,h=this.windowScrollDelta,d=this.manager.getOrderedRefs(),p={left:this.offsetEdge.left+this.translate.x+f.left,top:this.offsetEdge.top+this.translate.y+f.top},m=this.manager.isKeySorting,g=this.newIndex;this.newIndex=null;for(var v=0,E=d.length;v<E;v++){var y=d[v].node,T=y.sortableInfo.index,b=y.offsetWidth,S=y.offsetHeight,I={height:this.height>S?S/2:this.height/2,width:this.width>b?b/2:this.width/2},D=m&&T>this.index&&T<=g,R=m&&T<this.index&&T>=g,M={x:0,y:0},k=d[v].edgeOffset;k||(k=Og(y,this.container),d[v].edgeOffset=k,m&&(d[v].boundingClientRect=hb(y,f)));var L=v<d.length-1&&d[v+1],$=v>0&&d[v-1];if(L&&!L.edgeOffset&&(L.edgeOffset=Og(L.node,this.container),m&&(L.boundingClientRect=hb(L.node,f))),T===this.index){c&&(this.sortableGhost=y,wg(y,{opacity:0,visibility:"hidden"}));continue}u&&ub(y,u),this.axis.x?this.axis.y?R||T<this.index&&(p.left+h.left-I.width<=k.left&&p.top+h.top<=k.top+I.height||p.top+h.top+I.height<=k.top)?(M.x=this.width+this.marginOffset.x,k.left+M.x>this.containerBoundingRect.width-I.width&&L&&(M.x=L.edgeOffset.left-k.left,M.y=L.edgeOffset.top-k.top),this.newIndex===null&&(this.newIndex=T)):(D||T>this.index&&(p.left+h.left+I.width>=k.left&&p.top+h.top+I.height>=k.top||p.top+h.top+I.height>=k.top+S))&&(M.x=-(this.width+this.marginOffset.x),k.left+M.x<this.containerBoundingRect.left+I.width&&$&&(M.x=$.edgeOffset.left-k.left,M.y=$.edgeOffset.top-k.top),this.newIndex=T):D||T>this.index&&p.left+h.left+I.width>=k.left?(M.x=-(this.width+this.marginOffset.x),this.newIndex=T):(R||T<this.index&&p.left+h.left<=k.left+I.width)&&(M.x=this.width+this.marginOffset.x,this.newIndex==null&&(this.newIndex=T)):this.axis.y&&(D||T>this.index&&p.top+h.top+I.height>=k.top?(M.y=-(this.height+this.marginOffset.y),this.newIndex=T):(R||T<this.index&&p.top+h.top<=k.top+I.height)&&(M.y=this.height+this.marginOffset.y,this.newIndex==null&&(this.newIndex=T))),kg(y,M),d[v].translate=M}this.newIndex==null&&(this.newIndex=this.index),m&&(this.newIndex=g);var P=m?this.prevIndex:g;l&&this.newIndex!==P&&l({collection:this.manager.active.collection,index:this.index,newIndex:this.newIndex,oldIndex:P,isKeySorting:m,nodes:d,helper:this.helper})}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableContainer() call"),this.refs.wrappedInstance}},{key:"getContainer",value:function(){var s=this.props.getContainer;return typeof s!="function"?gn.findDOMNode(this):s(i.withRef?this.getWrappedInstance():void 0)}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},kP(this.props,uZ)))}},{key:"helperContainer",get:function(){var s=this.props.helperContainer;return typeof s=="function"?s():this.props.helperContainer||this.document.body}},{key:"containerScrollDelta",get:function(){var s=this.props.useWindowAsScrollContainer;return s?{left:0,top:0}:{left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top}}},{key:"windowScrollDelta",get:function(){return{left:this.contentWindow.pageXOffset-this.initialWindowScroll.left,top:this.contentWindow.pageYOffset-this.initialWindowScroll.top}}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableList",e)),hn(t,"defaultProps",lZ),hn(t,"propTypes",MP),hn(t,"childContextTypes",{manager:N.exports.object.isRequired}),n}var BP={index:N.exports.number.isRequired,collection:N.exports.oneOfType([N.exports.number,N.exports.string]),disabled:N.exports.bool},dZ=Object.keys(BP);function FP(e){var t,n,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{withRef:!1};return n=t=function(r){lb(a,r);function a(){return Tf(this,a),ob(this,bf(a).apply(this,arguments))}return Ef(a,[{key:"componentDidMount",value:function(){this.register()}},{key:"componentDidUpdate",value:function(s){this.node&&(s.index!==this.props.index&&(this.node.sortableInfo.index=this.props.index),s.disabled!==this.props.disabled&&(this.node.sortableInfo.disabled=this.props.disabled)),s.collection!==this.props.collection&&(this.unregister(s.collection),this.register())}},{key:"componentWillUnmount",value:function(){this.unregister()}},{key:"register",value:function(){var s=this.props,u=s.collection,c=s.disabled,l=s.index,f=gn.findDOMNode(this);f.sortableInfo={collection:u,disabled:c,index:l,manager:this.context.manager},this.node=f,this.ref={node:f},this.context.manager.add(u,this.ref)}},{key:"unregister",value:function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.collection;this.context.manager.remove(s,this.ref)}},{key:"getWrappedInstance",value:function(){return ll(i.withRef,"To access the wrapped instance, you need to pass in {withRef: true} as the second argument of the SortableElement() call"),this.refs.wrappedInstance}},{key:"render",value:function(){var s=i.withRef?"wrappedInstance":null;return Ze.createElement(e,yf({ref:s},kP(this.props,dZ)))}}]),a}(Ze.Component),hn(t,"displayName",cb("sortableElement",e)),hn(t,"contextTypes",{manager:N.exports.object.isRequired}),hn(t,"propTypes",BP),hn(t,"defaultProps",{collection:0}),n}const La=()=>{},{Provider:pZ,Consumer:mZ}=A.default.createContext({close:La,open:La}),hl=e=>A.default.forwardRef((t,n)=>A.default.createElement(mZ,null,i=>A.default.createElement(e,{ref:n,...t,theme:i}))),Af=0,Cf=5,HP=10,$P=10,UP=300,xg="move",zi="select",db=100,Pg=10,GP=110,Df=3e3,If="locationListenerPrefix",zP=1e3,pb="http://higlass.io/api/v1",jP=400,VP=300,mb=["top","left","right","bottom","center","whole","gallery"],YP=20,WP=20,Rg=Symbol("Light theme"),pn=Symbol("Dark theme"),gZ=Rg,Be={PIXI:jh},gb=e=>{const t={},n=i=>!!(i.orientation===e||e==="1d-vertical"&&i.orientation==="1d-horizontal"&&i.rotatable);return Hl.filter(n).forEach(i=>{let r=i.datatype;Array.isArray(i.datatype)||(r=[r]),r.forEach(a=>{a in t||(t[a]=[]),t[a].push(i)})}),t.none=[],t},$u=[[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]],qP=hu(e=>e.pos).left,Zn=(e,t)=>{if(!t||!t.cumPositions||!t.cumPositions.length)return null;let n=qP(t.cumPositions,e);const i=t.cumPositions[t.cumPositions.length-1].chr,r=t.chromLengths[i];n-=n>0&&1;let a=Math.floor(e-t.cumPositions[n].pos),o=0;return a<0&&(o=a-1,a=1),n===t.cumPositions.length-1&&a>r&&(o=a-r,a=r),[t.cumPositions[n].chr,a,o,n]},XP=(e,t)=>n=>n%e*t+Math.floor(n/e),vZ=e=>e,KP=(e,t,n=vZ)=>e.map((i,r)=>i+t[n(r)]),yZ="http://www.w3.org/2000/svg",Ng=(e,t)=>{if(e.namespaceURI===yZ){const n=e.getAttribute("class");return n&&!!n.match(new RegExp(`(\\s|^)${t}(\\s|$)`))}return e.classList?e.classList.contains(t):!!e.className.match(new RegExp(`(\\s|^)${t}(\\s|$)`))},TZ="http://www.w3.org/2000/svg",EZ=(e,t)=>{if(e.namespaceURI===TZ){if(!Ng(e,t)){const n=e.getAttribute("class")||"";e.setAttribute("class",`${n} ${t}`)}}else e.classList?e.classList.add(t):Ng(e,t)||(e.className+=` ${t}`)},bZ=(e,t,n)=>{const i=document.createElement("canvas");return new Promise((r,a)=>{const o=new window.Image;o.onload=()=>{i.width=t||o.width,i.height=n||o.height,i.getContext("2d").drawImage(o,0,0),r(i)},o.onerror=()=>{a(new Error("Could not convert base64 to canvas"))},o.src=`data:image/png;base64,${e}`})},Mg=(e,t,n)=>n.chrPositions[e].pos+t,ZP=e=>{const t=new e.constructor(e.type,e);return t.sourceUid=e.sourceUid,t.forwarded=e.forwarded,t},Jo=(e,t=!1)=>{const n=e.map((o,s)=>s*(255/(e.length-1))),i=_t().domain(n).range(e),a=Ur(t?255:254,-1,-1).map(i).map(o=>{const s=vu(o);return[s.r,s.g,s.b,s.opacity*255]});return a.length<256&&a.push([255,255,255,0]),a},at=e=>{const t=Xn(e);return Be.PIXI.utils.rgb2hex([t.r/255,t.g/255,t.b/255])},QP=e=>{if(e==="transparent")return[255,255,255,0];const t=Xn(e);return[t.r,t.g,t.b,255]},Lg=(e,t,n)=>{const i=Zn(e,n),r=Zn(t,n);return[i[0],Math.round(i[1]),r[0],Math.round(r[1])]},Bg=(e,t,n)=>{let i;const r=(...a)=>{const o=()=>{i=null,n||e(...a)},s=n&&!i;clearTimeout(i),i=setTimeout(o,t),s&&e(...a)};return Bg.cancel=()=>{clearTimeout(i),i=null},r},vb=e=>(e+16**6).toString(16).substr(-6),JP=e=>{const t={};return e.forEach(n=>{t[n[0]]=n[1]}),t},ji=e=>{const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push([n,e[n]]);return t};function Vi(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(n);return t}function un(e){const t=[];for(const n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function wf(e,t){const n=typeof t=="string"?new Blob([t],{type:"application/octet-stream"}):t;if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveBlob(n,e);else{const i=window.document.createElement("a");i.href=window.URL.createObjectURL(n),i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(i.href)}}const eR=e=>{const t=["top","bottom","gallery"],n=["left","right","gallery"];return e.center=e.center||[],e.left=e.left||[],e.right=e.right||[],e.top=e.top||[],e.bottom=e.bottom||[],e.whole=e.whole||[],e.gallery=e.gallery||[],t.map(i=>e[i]).forEach(i=>i.forEach(r=>{const a=dn[r.type],o=a&&a.defaultOptions||{},s=r.options?{...o,...r.options}:o;s.minHeight!==void 0&&r.height===void 0&&(r.height=s.minHeight),r.height===void 0&&(r.height=a&&a.defaultHeight||YP)})),n.map(i=>e[i]).forEach(i=>i.forEach(r=>{const a=dn[r.type],o=a&&a.defaultOptions||{},s=r.options?{...o,...r.options}:o;s.minWidth!==void 0&&r.width===void 0&&(r.width=s.minWidth),r.width===void 0&&(r.width=a&&a.defaultWidth||WP)})),e},tR=e=>t=>Array.prototype.reduce.call(t,e),_Z=tR((e,t)=>e.concat(t)),SZ=e=>t=>Array.prototype.forEach.call(t,e),Fg=(e,t)=>{t.dispatchEvent(ZP(e))},AZ=(e,t)=>[Mg(e[0],e[1],t),Mg(e[2],e[3],t)];function CZ(e,t,n,i,r){const{chr:a,pos:o}=t,{chr:s,pos:u}=n,c=[];if(a===s){const l=a,f=Math.floor(o/i),h=Math.min(f+r,Math.ceil(u/i));c.push([l,f,h])}else{let l=r;const f=e.findIndex(([d])=>d===a),h=e.findIndex(([d])=>d===s);for(let d=f;d<=h;d++){let p,m;const[g,v]=e[d];d<h?(d===f?p=o:p=0,m=v):(p=0,m=u);const E=Math.floor(p/i),y=Math.min(E+l,Math.ceil(m/i));c.push([g,E,y]),l-=y-E}}return c}const yb=(e,t,n)=>{if(n.length===0)return;if(n.length===1)return n[0];let i=n[0];const r=sp[e]!==void 0?sp[e][t]:void 0;return r!==void 0&&(i=n.find(a=>a.type===r)||i),i},Tb=e=>t=>Array.prototype.map.call(t,e),nR=()=>[window,Tb(e=>e.charCodeAt(0))("1.12.2").map(e=>e<=999?`00${e}`.slice(-3):e).join("")];let rR=!1;const iR={listen:()=>{if(rR)return;const[e,t]=nR(),n="102117110099116105111110040041123115101108102046099111110115111108101046108111103040039",i="072",r="105",a="071",o="108097115115",s="032118",u="058032104116116112058047047104105103108097115115046105111039041125",c=[String.fromCharCode(...n.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...i.match(/.{1,3}/g).map(I=>+I)),String.fromCharCode(...r.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...a.match(/.{1,3}/g).map(I=>+I)),String.fromCharCode(...o.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...s.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...t.match(/.{1,3}/g).map(I=>+I)).toLowerCase(),String.fromCharCode(...u.match(/.{1,3}/g).map(I=>+I)).toLowerCase()].join(""),l="085082076",f="066076079066",h="087111114107101114",d="099114101097116101079098106101099116085082076",p="114101118111107101079098106101099116085082076",m=I=>I.charAt(0).toUpperCase()+I.slice(1),g=I=>I.slice(0,6)+I.charAt(6).toUpperCase()+I.slice(7,12)+I.slice(12).toUpperCase(),v=e[String.fromCharCode(...l.match(/.{1,3}/g).map(I=>+I))],E=e[m(String.fromCharCode(...f.match(/.{1,3}/g).map(I=>+I)).toLowerCase())],y=e[m(String.fromCharCode(...h.match(/.{1,3}/g).map(I=>+I)).toLowerCase())],T=g(String.fromCharCode(...d.match(/.{1,3}/g).map(I=>+I)).toLowerCase()),b=g(String.fromCharCode(...p.match(/.{1,3}/g).map(I=>+I)).toLowerCase()),S=v[T](new E([`(${c})()`],{type:"application/javascript"}));new y(S),v[b](S),rR=!0}},aR=e=>(iR.listen(),[e.clientWidth,e.clientHeight]),Ci=(e,t)=>{let n=null;const i=r=>(r.uid===t&&(n=r),r.type.substr(0,8)==="combined"&&r.contents.forEach(i),null);return Object.keys(e).map(r=>e[r]).filter(r=>r.filter).reduce((r,a)=>r.concat(a),[]).forEach(i),n},DZ=(e,t,n)=>{const r=e.state.views[t];if(!r)return null;let a=null;const o=u=>(u.uid===n&&(a=u),u.type.substr(0,8)==="combined"&&u.contents.forEach(o),null),s=r.tracks;return Object.keys(s).map(u=>s[u]).filter(u=>u.filter).reduce((u,c)=>u.concat(c),[]).forEach(o),a},kf=(e,t,n)=>{const i=t?e[t]:Object.values(e)[0];if(!i){console.warn(t?`Could't find view with id "${t}"`:"No views available.");return}let r=i.trackRenderer.trackDefObjects[n];return r?r=r.trackObject:Object.values(i.trackRenderer.trackDefObjects).map(a=>a.trackObject).filter(a=>a.childTracks).forEach(a=>{a.createdTracks[n]&&(r=a.createdTracks[n])}),r},Eb=(e,t,n=!0,i=null)=>e.forEach(r=>{r.type==="combined"?n&&(Eb(r.contents,t,n,i),t(r,i)):t(r,i)}),Ao=(e,t,n=!0)=>{const i=[];return Object.keys(e).forEach(r=>{Eb(e[r],t,n,r)}),i},Of=(e,t)=>{let n=null;return Ao(e,(i,r)=>{i.uid===t&&(n=r)}),n},oR=(e,t=1,n=100,i=0,r=0,a=0,o=100)=>{const s=document.createElement("canvas");s.width=t,s.height=n;const u=s.getContext("2d"),c=u.createLinearGradient(i,r,a,o);return e.forEach(l=>{c.addColorStop(l.from,l.color)}),u.fillStyle=c,u.fillRect(0,0,t,n),s},sR=(e,t)=>{let n=e;for(;n&&n!==t&&n.tagName!=="HTML";)n=n.parentNode;return n===t},lR=e=>parseInt(e.replace(/^#/,""),16),uR=()=>{};let bb=function(){function e(t){_classCallCheck3(this,e),this.context=t;const{tracks:n,createTrackObject:i}=t;this.childTracks=n.map(i),this.createdTracks={},this.uid=Pt.nice(),this.childTracks.forEach((r,a)=>{this.createdTracks[n[a].uid]=r});for(let r=0;r<this.childTracks.length;r++)this.childTracks[r]||console.error("Empty child track in CombinedTrack:",this)}return _createClass3(e,[{key:"updateContents",value:function(n,i){const r=[],a=new Set;n.forEach(u=>{if(a.add(u.uid),u.uid in this.createdTracks)r.push(this.createdTracks[u.uid]);else{const c=i(u);c.setPosition(this.position),c.setDimensions(this.dimensions),r.push(c),c.zoomed(this._xScale,this._yScale),this.createdTracks[u.uid]=c}}),this.childTracks=r;const o=new Set(Object.keys(this.createdTracks));return[...new Set([...o].filter(u=>!a.has(u)))].forEach(u=>{this.createdTracks[u].remove(),delete this.createdTracks[u]}),this}},{key:"setPosition",value:function(n){this.position=n;for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].setPosition(n)}},{key:"setDimensions",value:function(n){this.dimensions=n;for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].setDimensions(n)}},{key:"zoomed",value:function(n,i,r,a,o,s,u){this._xScale=n,this._yScale=i;for(let c=0;c<this.childTracks.length;c++)this.childTracks[c].zoomed(n,i,r,a,o,s,u)}},{key:"clickOutside",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].clickOutside()}},{key:"click",value:function(...n){for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].click(...n)}},{key:"draw",value:function(){}},{key:"refScalesChanged",value:function(n,i){for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].refScalesChanged(n,i)}},{key:"remove",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].remove()}},{key:"exportSVG",value:function(){const n=document.createElement("g");for(const i of this.childTracks)i.exportSVG&&n.appendChild(i.exportSVG()[0]);return[n,n]}},{key:"rerender",value:function(n){}},{key:"minValue",value:function(n){if(arguments.length===0){const i=this.childTracks.filter(r=>r.minValue).map(r=>r.minValue()).filter(r=>r);return Math.min(...i)}for(const i of this.childTracks)i.minValue&&i.minValue(n)}},{key:"maxValue",value:function(n){if(arguments.length===0){const i=this.childTracks.filter(r=>r.maxValue).map(r=>r.maxValue()).filter(r=>r);return Math.max(...i)}for(const i of this.childTracks)i.maxValue&&i.maxValue(n)}},{key:"respondsToPosition",value:function(n,i){return n>=this.position[0]&&n<=this.dimensions[0]+this.position[0]&&i>=this.position[1]&&i<=this.dimensions[1]+this.position[1]}},{key:"stopHover",value:function(){for(const n of this.childTracks)n.stopHover&&n.stopHover()}},{key:"getMouseOverHtml",value:function(n,i){let r="";for(const a of this.childTracks)if(a.getMouseOverHtml){const o=a.getMouseOverHtml(n,i);o&&o.length&&(r+=o,r+="<br/>")}return r}}]),e}();const cR=(e,t)=>t===e?!0:t instanceof bb?Object.keys(t.createdTracks).map(n=>t.createdTracks[n]).some(n=>cR(e,n)):!1,_b=(e,t,n,i,r,a,o=!1)=>o?e>=n&&e<=i||t>=r&&t<=a:e>=n&&e<=i&&t>=r&&t<=a,IZ=e=>Math.log(Math.tan((e+Math.PI/2)/2)),wZ=(e,t)=>{let n=e*Math.PI/180;return n=IZ(n),2**t*(Math.PI-n)/(2*Math.PI)};var hR={},Sb={},Ab=34,xf=10,Cb=13;function fR(e){return new Function("d","return {"+e.map(function(t,n){return JSON.stringify(t)+": d["+n+'] || ""'}).join(",")+"}")}function kZ(e,t){var n=fR(e);return function(i,r){return t(n(i),r,e)}}function dR(e){var t=Object.create(null),n=[];return e.forEach(function(i){for(var r in i)r in t||n.push(t[r]=r)}),n}function li(e,t){var n=e+"",i=n.length;return i<t?new Array(t-i+1).join(0)+n:n}function OZ(e){return e<0?"-"+li(-e,6):e>9999?"+"+li(e,6):li(e,4)}function xZ(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),i=e.getUTCSeconds(),r=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":OZ(e.getUTCFullYear())+"-"+li(e.getUTCMonth()+1,2)+"-"+li(e.getUTCDate(),2)+(r?"T"+li(t,2)+":"+li(n,2)+":"+li(i,2)+"."+li(r,3)+"Z":i?"T"+li(t,2)+":"+li(n,2)+":"+li(i,2)+"Z":n||t?"T"+li(t,2)+":"+li(n,2)+"Z":"")}function Db(e){var t=new RegExp('["'+e+`
50
50
  \r]`),n=e.charCodeAt(0);function i(f,h){var d,p,m=r(f,function(g,v){if(d)return d(g,v-1);p=g,d=h?kZ(g,h):fR(g)});return m.columns=p||[],m}function r(f,h){var d=[],p=f.length,m=0,g=0,v,E=p<=0,y=!1;f.charCodeAt(p-1)===xf&&--p,f.charCodeAt(p-1)===Cb&&--p;function T(){if(E)return Sb;if(y)return y=!1,hR;var S,I=m,D;if(f.charCodeAt(I)===Ab){for(;m++<p&&f.charCodeAt(m)!==Ab||f.charCodeAt(++m)===Ab;);return(S=m)>=p?E=!0:(D=f.charCodeAt(m++))===xf?y=!0:D===Cb&&(y=!0,f.charCodeAt(m)===xf&&++m),f.slice(I+1,S-1).replace(/""/g,'"')}for(;m<p;){if((D=f.charCodeAt(S=m++))===xf)y=!0;else if(D===Cb)y=!0,f.charCodeAt(m)===xf&&++m;else if(D!==n)continue;return f.slice(I,S)}return E=!0,f.slice(I,p)}for(;(v=T())!==Sb;){for(var b=[];v!==hR&&v!==Sb;)b.push(v),v=T();h&&(b=h(b,g++))==null||d.push(b)}return d}function a(f,h){return f.map(function(d){return h.map(function(p){return l(d[p])}).join(e)})}function o(f,h){return h==null&&(h=dR(f)),[h.map(l).join(e)].concat(a(f,h)).join(`
51
51
  `)}function s(f,h){return h==null&&(h=dR(f)),a(f,h).join(`
52
52
  `)}function u(f){return f.map(c).join(`
@@ -329,14 +329,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
329
329
  ${s.rectGraphics.position.y})
330
330
  scale(${s.rectGraphics.scale.x},
331
331
  ${s.rectGraphics.scale.y})`),s.allRects.forEach(c=>{const l=document.createElement("path"),f=c[0];let h=`M ${f[0]} ${f[1]}`;for(let d=2;d<f.length;d+=2)h+=` L ${f[d]} ${f[d+1]}`;l.setAttribute("d",h),c[1]==="+"?l.setAttribute("fill",this.options.plusStrandColor):l.setAttribute("fill",this.options.minusStrandColor),l.setAttribute("opacity","0.3"),u.appendChild(l)}),o.appendChild(u)}),this.allTexts.filter(s=>s.text.visible).forEach(s=>{const u=document.createElement("g"),c=document.createElement("text");c.setAttribute("text-anchor","middle"),c.setAttribute("font-family",nI),c.setAttribute("font-size",`${this.fontSize}px`),c.setAttribute("dy","-.2em"),u.setAttribute("transform",`scale(${s.text.scale.x},1)`),s.strand==="+"?c.setAttribute("fill",this.options.plusStrandColor):c.setAttribute("fill",this.options.minusStrandColor),c.innerHTML=s.text.text,u.appendChild(c),u.setAttribute("transform",`translate(${s.text.x},${s.text.y})scale(${s.text.scale.x},1)`),o.appendChild(u)}),[a,a]}}]),n}(mh),O8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{animate:o}=i;return a.pMain=a.pMobile,a.colorScale=$u,a.continuousScaling=!1,r&&r.colorRange&&(a.colorScale=Jo(r.colorRange)),a.animate=o,a.options=r,a.pubSubs=[],a}return _createClass3(n,[{key:"rerender",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"rerender",this).call(this,r,a),this.zoomed(this.xScale(),this.yScale(),this.pMain.scale.x,this.pMain.position.x,this.pMain.position.y)}},{key:"calculateZoomLevel",value:function(){let r=null;if(this.tilesetInfo.resolutions){const a=Xe.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),o=Xe.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);r=Math.min(a,o)}else{const a=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),o=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);r=Math.max(a,o),r=Math.min(r,this.maxZoom)}return this.options&&this.options.maxZoom&&(this.options.maxZoom>=0?r=Math.min(this.options.maxZoom,r):console.error("Invalid maxZoom on track:",this)),r}},{key:"calculateVisibleTiles",value:function(){if(!this.tilesetInfo)return;this.zoomLevel=this.calculateZoomLevel();const r=this._xScale.copy();if(r.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.tilesetInfo.resolutions){const f=this.tilesetInfo.resolutions.map(h=>+h).sort((h,d)=>d-h);this.xTiles=Xe.calculateTilesFromResolution(f[this.zoomLevel],r,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),this.yTiles=Xe.calculateTilesFromResolution(f[this.zoomLevel],r,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0])}else this.xTiles=Xe.calculateTiles(this.zoomLevel,r,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width),this.yTiles=Xe.calculateTiles(this.zoomLevel,r,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const a=this.xTiles,o=this.yTiles,s=this.zoomLevel,c=this.tilesetInfo.max_width/2**s,l=[];for(let f=0;f<a.length;f++)for(let h=f;h<o.length;h++){if((h-f-2)*(this._xScale(c)-this._xScale(0))*Math.sqrt(2)/2>this.dimensions[1])continue;const p=[s,a[f],o[h]];p.mirrored=!1,p.dataTransform=this.options.dataTransform?this.options.dataTransform:"default",l.push(p)}this.setVisibleTiles(l)}},{key:"tileDataToCanvas",value:function(r){const a=document.createElement("canvas");a.width=256,a.height=256;const o=a.getContext("2d");o.fillStyle="transparent",o.fillRect(0,0,a.width,a.height);const s=new ImageData(r,a.width,a.height);return o.putImageData(s,0,0),a}},{key:"setSpriteProperties",value:function(r,a,o,s){const{tileX:u,tileY:c,tileWidth:l,tileHeight:f}=this.getTilePosAndDimensions(a,o),h=u+l,d=c+f;r.width=this._refXScale(h)-this._refXScale(u),r.height=this._refYScale(d)-this._refYScale(c),r.x=this._refXScale(u),r.y=this._refYScale(c)}},{key:"pixDataFunction",value:function(r,a){if(a){const o=r.graphics,s=this.tileDataToCanvas(a.pixData),u=Be.PIXI.VERSION[0]==="4"?Be.PIXI.Texture.fromCanvas(s,Be.PIXI.SCALE_MODES.NEAREST):Be.PIXI.Texture.from(s,{scaleMode:Be.PIXI.SCALE_MODES.NEAREST});r.sprite=new Be.PIXI.Sprite(u),r.canvas=s,this.setSpriteProperties(r.sprite,r.tileData.zoomLevel,r.tileData.tilePos,r.mirrored),o.pivot.x=this._refXScale(0),o.pivot.y=this._refYScale(0),o.scale.x=-1/Math.sqrt(2),o.rotation=-3*Math.PI/4,o.scale.y=1/Math.sqrt(2),o.position.x=this._refXScale(0),o.position.y=0,o.removeChildren(),o.addChild(r.sprite)}this.renderingTiles.delete(r.tileId)}},{key:"refScalesChanged",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"refScalesChanged",this).call(this,r,a);for(const o in this.fetchedTiles){const s=this.fetchedTiles[o];if(s.sprite){this.setSpriteProperties(s.sprite,s.tileData.zoomLevel,s.tileData.tilePos,s.mirrored);const u=s.graphics;u.pivot.x=this._refXScale(0),u.pivot.y=this._refYScale(0),u.scale.x=-1/Math.sqrt(2),u.rotation=-3*Math.PI/4,u.scale.y=1/Math.sqrt(2),u.position.x=this._refXScale(0),u.position.y=0}}}},{key:"zoomed",value:function(r,a,o,s,u){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a,o,s,u),_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this),this.pMain.position.x=s,this.pMain.position.y=this.position[1]+this.dimensions[1],this.pMain.scale.x=o,this.pMain.scale.y=o,this.options.oneDHeatmapFlipped&&(this.pMain.scale.y=-o,this.pMain.position.y=this.position[1])}},{key:"leftTrackDraw",value:function(){this.draw()}},{key:"exportSVG",value:function(){let r=null,a=null;[a,r]=_get4(_getPrototypeOf4(n.prototype),"superSVG",this).call(this);const o=document.createElement("g");r.appendChild(o),o.setAttribute("transform",`translate(${this.pMain.position.x},${this.pMain.position.y}) scale(${this.pMain.scale.x},${this.pMain.scale.y})`);for(const u of this.visibleAndFetchedTiles()){const c=document.createElement("g"),l=u.graphics,f=l.rotation*180/Math.PI,h=`translate(${l.position.x},${l.position.y}) rotate(${f}) scale(${l.scale.x},${l.scale.y}) translate(${-l.pivot.x},${-l.pivot.y})`;c.setAttribute("transform",h);const d=u.sprite.rotation*180/Math.PI,p=document.createElement("g");p.setAttribute("transform",`translate(${u.sprite.x},${u.sprite.y}) rotate(${d}) scale(${u.sprite.scale.x},${u.sprite.scale.y})`);const m=document.createElement("image");m.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",u.canvas.toDataURL()),m.setAttribute("width",256),m.setAttribute("height",256),p.appendChild(m),c.appendChild(p),o.appendChild(c)}const s=this.exportColorBarSVG();return r.appendChild(s),[a,a]}}]),n}(Hp);function SIe(e){let t=0;const n=[];return e.forEach(i=>{t+=+i||0,n.push(t)}),Float64Array.from(n)}const AIe=(e,t)=>{const n=$g(e,t);return SIe(e.map(i=>(Array.isArray(i)&&t?i.length:1)/n))};let x8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.pMain=a.pMobile,a.continuousScaling=!1,a.updateDataFetcher(r),a}return _createClass3(n,[{key:"updateDataFetcher",value:function(r){if(r&&r.selectRows&&r.selectRowsAggregationMethod==="server"){const{pubSub:a,dataFetcher:o}=this,s=o.dataConfig.options,u={aggGroups:r.selectRows,aggFunc:r.selectRowsAggregationMode};if(JSON.stringify(s)!==JSON.stringify(u)){const c={...o.dataConfig,options:u};this.dataFetcher=new o.constructor(c,a),this.dataFetcher.dataConfig.tilesetUid&&this.fetchNewTiles(Object.keys(this.fetchedTiles).map(l=>({tileId:l,remoteId:l})))}}}},{key:"rerender",value:function(r,a){this.updateDataFetcher(r),_get4(_getPrototypeOf4(n.prototype),"rerender",this).call(this,r,a),r.selectRows&&(this.selectRowsCumWeights=AIe(r.selectRows,r.selectRowsAggregationWithRelativeHeight))}},{key:"tileDataToCanvas",value:function(r){const a=document.createElement("canvas");this.options.selectRows&&this.tilesetInfo.shape?(a.width=this.tilesetInfo.shape[0],a.height=$g(this.options.selectRows,this.options.selectRowsAggregationWithRelativeHeight)):this.tilesetInfo.shape?(a.width=this.tilesetInfo.shape[0],a.height=this.tilesetInfo.shape[1]):(a.width=this.tilesetInfo.tile_size,a.height=1);const o=a.getContext("2d");if(o.fillStyle="transparent",o.fillRect(0,0,a.width,a.height),r.length!==0&&r.length===4*a.width*a.height){const s=new ImageData(r,a.width,a.height);o.putImageData(s,0,0)}else console.warn("HorizontalMultivecTrack: pixData has an incorrect length.");return a}},{key:"setSpriteProperties",value:function(r,a,o){const{tileX:s,tileWidth:u}=this.getTilePosAndDimensions(a,o,this.tilesetInfo.tile_size),c=s+u;r.width=this._refXScale(c)-this._refXScale(s),r.height=this.dimensions[1],r.x=this._refXScale(s),r.y=0}},{key:"leftTrackZoomed",value:function(r,a,o,s,u){const c=this._xScale(0)-o*this._refXScale(0);this.pMobile.position.x=c+this.position[0],this.pMobile.position.y=this.position[1],this.pMobile.scale.x=o,this.pMobile.scale.y=1}},{key:"zoomed",value:function(r,a,o,s){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.pMain.position.x=s,this.pMain.position.y=this.position[1],this.pMain.scale.x=o,this.pMain.scale.y=1,this.drawColorbar()}},{key:"calculateVisibleTiles",value:function(){if(!this.tilesetInfo)return;if(this.zoomLevel=this.calculateZoomLevel(),this.tilesetInfo.resolutions){const a=this.tilesetInfo.resolutions.map(o=>+o).sort((o,s)=>s-o);this.xTiles=Xe.calculateTilesFromResolution(a[this.zoomLevel],this._xScale,this.tilesetInfo.min_pos[0],null,this.tilesetInfo.tile_size)}else this.xTiles=Xe.calculateTiles(this.zoomLevel,this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const r=this.xTiles.map(a=>[this.zoomLevel,a]);this.setVisibleTiles(r)}},{key:"calculateZoomLevel",value:function(){if(!this.tilesetInfo)return;const r=this.tilesetInfo.min_pos[0];let a=null;return this.tilesetInfo.resolutions?a=Xe.calculateZoomLevelFromResolutions(this.tilesetInfo.resolutions,this._xScale,r):a=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),a}},{key:"tileToLocalId",value:function(r){return r.join(".")}},{key:"tileToRemoteId",value:function(r){return r.join(".")}},{key:"getTilePosAtPosition",value:function(r,a){if(!this.tilesetInfo)return;const o=this.calculateZoomLevel(),s=Xe.calculateTileWidth(this.tilesetInfo,o,this.tilesetInfo.tile_size),u=this._xScale.invert(r)/s;return[o,Math.floor(u)]}},{key:"getVisibleData",value:function(r,a){const o=this.calculateZoomLevel(),s=Xe.calculateTileWidth(this.tilesetInfo,o,this.tilesetInfo.tile_size),u=this._xScale.invert(r)/s;let c=this.tilesetInfo.shape?this.tilesetInfo.shape[1]:1;this.options.selectRows&&(c=$g(this.options.selectRows,this.options.selectRowsAggregationWithRelativeHeight));let l=this.tilesetInfo.tile_size*(u-Math.floor(u));const f=a/this.dimensions[1],h=f*c;let d=Math.floor(h),p;this.options.selectRows&&(this.options.selectRowsAggregationWithRelativeHeight&&(d=this.selectRowsCumWeights.findIndex((E,y)=>f<=E&&(y===this.selectRowsCumWeights.length-1||this.selectRowsCumWeights[y+1]>=f))),p=this.options.selectRows[d]);const m=this.tileToLocalId([o,Math.floor(u)]),g=this.fetchedTiles[m];let v="";if(g){this.tilesetInfo.shape||(l=g.tileData.dense.length*(u-Math.floor(u)));let E=null;if(this.tilesetInfo.shape?Array.isArray(p)&&this.options.selectRowsAggregationMethod==="client"?E=p.map(y=>this.tilesetInfo.shape[0]*y+Math.floor(l)):p&&this.options.selectRowsAggregationMethod==="client"?E=this.tilesetInfo.shape[0]*p+Math.floor(l):E=this.tilesetInfo.shape[0]*d+Math.floor(l):E=g.tileData.dense.length*d+Math.floor(l),Array.isArray(E)){const y=mR(this.options.selectRowsAggregationMode),T=E.map(b=>g.tileData.dense[b]);v=bi(".3f")(y(T)),v+="<br/>",v+=`${E.length}-item ${this.options.selectRowsAggregationMode}`}else v=bi(".3f")(g.tileData.dense[E]),Array.isArray(p)&&(v+="<br/>",v+=`${p.length}-item ${this.options.selectRowsAggregationMode}`)}if(this.tilesetInfo.row_infos){v+="<br/>";let E="";this.options.selectRows&&!Array.isArray(p)?E=this.tilesetInfo.row_infos[p]:d>=0&&d<this.tilesetInfo.row_infos.length&&(E=this.tilesetInfo.row_infos[d]),typeof E=="object"?v+=Object.values(E).join(" "):v+=E}return`${v}`}},{key:"getMouseOverHtml",value:function(r,a){if(!this.tilesetInfo)return"";const o=this.getTilePosAtPosition(r,a);let s="";if(this.options&&this.options.heatmapValueScaling&&this.options.heatmapValueScaling==="categorical"&&this.options.colorRange){const c=this.getVisibleData(r,a).split("<br/>"),l=this.options.colorRange[parseInt(c[0],10)-1],f=c[1];if(Number.isNaN(l)||l==="NaN"||typeof l>"u"||l==="undefined")return"";s=`<svg width="10" height="10" style="position:relative;bottom:1px"><rect width="10" height="10" rx="2" ry="2"
332
- style="fill:${l};stroke:black;stroke-width:2;"></svg> ${f}`}else s+=`Data value: ${this.getVisibleData(r,a)}</br>`,s+=`Zoom level: ${o[0]} tile position: ${o[1]}`;return s}}]),n}(Hp),P8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"initTile",value:function(r){r.barXValues=new Array(r.tileData.dense.length),r.barYValues=new Array(r.tileData.dense.length),r.barWidths=new Array(r.tileData.dense.length),r.barHeights=new Array(r.tileData.dense.length),_get4(_getPrototypeOf4(n.prototype),"initTile",this).call(this,r)}},{key:"drawTile",value:function(r){if(!r.graphics||!r.tileData||!r.tileData.dense)return;const a=r.graphics,{tileX:o,tileWidth:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=r.tileData.dense;if(u.length===0)return;let c=0;if(this.valueScale=null,this.options.valueScaling==="log"){let m=this.medianVisibleValue;this.medianVisibleValue||(m=this.minValue()),this.valueScale=qo().domain([m,this.maxValue()+m]).range([this.dimensions[1],0]),c=m}else this.valueScale=_t().domain([this.minValue(),this.maxValue()]).range([this.dimensions[1],0]);if(a.clear(),this.drawAxis(this.valueScale),this.options.valueScaling==="log"&&this.valueScale.domain()[1]<0){console.warn("Negative values present when using a log scale",this.valueScale.domain());return}const l=at(this.options.lineStrokeColor?this.options.lineStrokeColor:"blue"),f=_t().domain([0,this.tilesetInfo.tile_size]).range([o,o+s]),h=0;a.lineStyle(h,l,1);const d=this.options.pointSize?this.options.pointSize:3,p=at(this.options.pointColor?this.options.pointColor:"red");a.beginFill(p,1),r.drawnAtScale=this._xScale.copy();for(let m=0;m<u.length;m++){const g=this._xScale(f(m)),v=this.valueScale(u[m]+c);if(r.barXValues[m]=g-d/2/this.pMain.scale.x,r.barYValues[m]=v-d/2/this.pMain.scale.y,r.barWidths[m]=d/this.pMain.scale.x,r.barHeights[m]=d/this.pMain.scale.y,f(m)>this.tilesetInfo.max_pos[0])break;a.drawRect(g-d/2/this.pMain.scale.x,v-d/2/this.pMain.scale.y,d/this.pMain.scale.x,d/this.pMain.scale.y)}}},{key:"draw",value:function(){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this);for(const r of un(this.fetchedTiles)){const a=(r.drawnAtScale.domain()[1]-r.drawnAtScale.domain()[0])/(this._xScale.domain()[1]-this._xScale.domain()[0]),s=this._xScale.domain().map(r.drawnAtScale)[0];r.graphics.scale.x=a,r.graphics.position.x=-s*a}}},{key:"zoomed",value:function(r,a,o,s,u){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a)}},{key:"exportSVG",value:function(){let r=null,a=null;[a,r]=_get4(_getPrototypeOf4(n.prototype),"superSVG",this).call(this),a.setAttribute("class","exported-line-track");const o=document.createElement("g");r.appendChild(o),o.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);for(const u of this.visibleAndFetchedTiles())for(let c=0;c<u.barXValues.length;c++){const l=document.createElement("rect"),f=this.options.lineStrokeColor||"blue",h=this.options.pointColor||"red";l.setAttribute("fill",h),l.setAttribute("stroke",f),l.setAttribute("stroke-width",0),l.setAttribute("x",u.barXValues[c]),l.setAttribute("y",u.barYValues[c]),l.setAttribute("height",u.barHeights[c]),l.setAttribute("width",u.barWidths[c]),o.appendChild(l)}const s=document.createElement("g");if(s.setAttribute("id","axis"),a.appendChild(s),s.setAttribute("transform",`translate(${this.axis.pAxis.position.x}, ${this.axis.pAxis.position.y})`),this.options.axisPositionHorizontal==="left"||this.options.axisPositionVertical==="top"){const u=this.axis.exportAxisLeftSVG(this.valueScale,this.dimensions[1]);s.appendChild(u)}else if(this.options.axisPositionHorizontal==="right"||this.options.axisPositionVertical==="bottom"){const u=this.axis.exportAxisRightSVG(this.valueScale,this.dimensions[1]);s.appendChild(u)}return[a,r]}}]),n}(gh);const CIe=ky(e=>function(t){_inherits3(i,t);var n=_createSuper3(i);function i(){return _classCallCheck3(this,i),n.apply(this,arguments)}return _createClass3(i,[{key:"drawHorizontalRule",value:function(a){let o=at(this.options.color||"black");this.highlighted&&(o=at("red")),a.lineStyle(this.strokeWidth,o,this.strokeOpacity);let s=0;for(;s<this.dimensions[0];)a.moveTo(s,this._yScale(this.yPosition)),a.lineTo(s+this.dashLength,this._yScale(this.yPosition)),s+=this.dashLength+this.dashGap}},{key:"isMouseOverHorizontalLine",value:function(a){return Math.abs(a.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS}}]),i}(e));let R8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.yPosition=i.yPosition,a.strokeWidth=2,a.strokeOpacity=1,a.dashLength=5,a.dashGap=3,a}return _createClass3(n,[{key:"mouseMoveHandler",value:function(r){if(this.isWithin(r.x,r.y)&&this.isMouseOverHorizontalLine(r)){this.highlighted=!0,this.draw();return}this.highlighted=!1,this.draw()}},{key:"draw",value:function(){const r=this.pMain;r.clear(),this.drawHorizontalRule(r),this.animate()}},{key:"exportSVG",value:function(){let r=null,a=null;_get4(_getPrototypeOf4(n.prototype),"exportSVG",this)?[a,r]=_get4(_getPrototypeOf4(n.prototype),"exportSVG",this).call(this):(a=document.createElement("g"),r=a);const o=document.createElement("g");o.setAttribute("class","horizontal-rule"),o.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`),r.appendChild(o);const s=this.options.color||"black",u=document.createElement("line");return u.setAttribute("stroke",s),u.setAttribute("stroke-width",this.strokeWidth),u.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`),u.setAttribute("x1",0),u.setAttribute("y1",this._yScale(this.yPosition)),u.setAttribute("x2",this.dimensions[0]),u.setAttribute("y2",this._yScale(this.yPosition)),o.appendChild(u),[a,r]}}]),n}(fh(ai).with(tI,CIe)),Vy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n({items:i}){var r;return _classCallCheck3(this,n),r=t.call(this),r.state={items:i,isSorting:!1},r}return _createClass3(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.setState({items:r.items})}},{key:"onSortStart",value:function({node:r,index:a,collection:o},s){s.stopImmediatePropagation();const{onSortStart:u}=this.props;this.setState({isSorting:!0}),u&&u(this.ref),this.sortingIndex=a,this.sortStartTop=s.offsetTop,this.sortStartLeft=s.offsetLeft}},{key:"onSortMove",value:function(){}},{key:"onSortEnd",value:function({oldIndex:r,newIndex:a}){const{onSortEnd:o}=this.props,{items:s}=this.state;this.setState({items:ZK(s,r,a),isSorting:!1}),o&&o(this.state.items),this.sortingIndex=null}},{key:"render",value:function(){const r=this.props.component,{items:a,isSorting:o}=this.state,s={isSorting:o,items:a,onSortEnd:this.onSortEnd.bind(this),onSortStart:this.onSortStart.bind(this),onSortMove:this.onSortMove.bind(this)};return A.default.createElement(r,{...this.props,...s,ref:u=>{this.ref=u}})}}]),n}(A.default.Component);Vy.propTypes={axis:N.exports.string,className:N.exports.string,component:N.exports.func,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,height:N.exports.number,helperClass:N.exports.string,itemClass:N.exports.string,itemControlAlignLeft:N.exports.bool,itemReactClass:N.exports.func,items:N.exports.array,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onSortEnd:N.exports.func,onSortStart:N.exports.func,referenceAncestor:N.exports.string,resizeHandles:N.exports.object,useDragHandle:N.exports.bool,width:N.exports.number},Vy.defaultProps={className:"list stylizedList",itemClass:"item stylizedItem",width:400,height:600};const lI={"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 N8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.dragTopRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopRightFunc.bind(_assertThisInitialized3(r))),r.dragTopLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopLeftFunc.bind(_assertThisInitialized3(r))),r.dragBottomRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomRightFunc.bind(_assertThisInitialized3(r))),r.dragBottomLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomLeftFunc.bind(_assertThisInitialized3(r))),r.dragBottom=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomFunc.bind(_assertThisInitialized3(r))),r.dragTop=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopFunc.bind(_assertThisInitialized3(r))),r.dragLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragLeftFunc.bind(_assertThisInitialized3(r))),r.dragRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragRightFunc.bind(_assertThisInitialized3(r))),r.minWidth=10,r.minHeight=10,r.bottomHandleWidth=20,r.state={uid:r.props.uid,width:r.props.width,height:r.props.height,top:r.props.top,left:r.props.left},r.domBody=xt("body").node(),r}return _createClass3(n,[{key:"componentDidMount",value:function(){xt(this.bottomHandle).call(this.dragBottom),xt(this.topHandle).call(this.dragTop),xt(this.leftHandle).call(this.dragLeft),xt(this.rightHandle).call(this.dragRight)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){"width"in r&&this.setState({width:r.width}),"height"in r&&this.setState({height:r.height})}},{key:"dragBottomFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight,this.setState({height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartLeft+a[0]-this.dragStartMousePos[0];s=o>this.minWidth?s:this.dragStartLeft+this.dragStartWidth-this.minWidth,this.setState({left:s,width:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartTop+a[1]-this.dragStartMousePos[1];s=o>this.minHeight?s:this.dragStartTop+this.dragStartHeight-this.minHeight,this.setState({top:s,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth,this.setState({width:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragBottomLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);s=s>this.minWidth?s:this.minWidth;let u=this.dragStartLeft+a[0]-this.dragStartMousePos[0];u=s>this.minWidth?u:this.dragStartLeft+this.dragStartWidth-this.minWidth,this.setState({left:u,width:s,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragBottomRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);s=s>this.minHeight?s:this.minHeight,this.setState({width:o,height:s}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartTop+a[1]-this.dragStartMousePos[1];s=o>this.minHeight?s:this.dragStartTop+this.dragStartHeight-this.minHeight;let u=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);u=u>this.minWidth?u:this.minWidth,this.setState({top:s,width:u,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartLeft+a[0]-this.dragStartMousePos[0];s=o>this.minWidth?s:this.dragStartLeft+this.dragStartWidth-this.minWidth;let u=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);u=u>this.minHeight?u:this.minHeight;let c=this.dragStartTop+a[1]-this.dragStartMousePos[1];c=u>this.minHeight?c:this.dragStartTop+this.dragStartHeight-this.minHeight,this.setState({top:c,left:s,width:o,height:u}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragStart",value:function(r){this.dragStartMousePos=sn(r,this.domBody),this.dragStartWidth=this.state.width,this.dragStartHeight=this.state.height,this.dragStartTop=this.state.top,this.dragStartLeft=this.state.left,r.sourceEvent.stopPropagation()}},{key:"sizeChanged",value:function(){this.props.sizeChanged&&this.props.sizeChanged(this.state)}},{key:"rotateClicked",value:function(){this.props.trackRotated(this.state.uid)}},{key:"closeClicked",value:function(){this.props.trackClosed(this.state.uid)}},{key:"render",value:function(){const r=this.props.theme===pn?"white":"black",a={top:this.state.top,left:this.state.left,width:this.state.width,height:this.state.height,opacity:this.props.opacity},o=24,s=24,u={left:this.state.width/2-o/2,width:o},c={top:this.state.height/2-s/2,height:s},l={bottom:{...u,bottom:1},top:{...u,top:1},left:{...c,left:1},right:{...c,right:1}},f=[...this.props.resizeHandles].map(h=>A.default.createElement("div",{key:h,ref:d=>{this[`${h}Handle`]=d},className:lI[`${h}-draggable-handle`],style:l[h],title:"Resize track"},A.default.createElement("div",{className:lI[`${h}-draggable-handle-grabber`],style:{borderColor:r}})));return A.default.createElement("div",{ref:h=>{this.divContainer=h},className:qt(this.props.className,lI["draggable-div"]),style:a},f)}}]),n}(A.default.Component);N8.propTypes={className:N.exports.string,height:N.exports.number,left:N.exports.number,opacity:N.exports.number,resizeHandles:N.exports.object,sizeChanged:N.exports.func,top:N.exports.number,trackClosed:N.exports.func,trackRotated:N.exports.func,uid:N.exports.string,width:N.exports.number,theme:N.exports.symbol};const DIe=hl(N8);let M8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={controlsVisible:!1},r}return _createClass3(n,[{key:"shouldComponentUpdate",value:function(){return!this.resizing}},{key:"handleMouseEnter",value:function(){this.setState({controlsVisible:!0})}},{key:"handleMouseLeave",value:function(){this.setState({controlsVisible:!1})}},{key:"handleMouseMove",value:function(){this.setState({controlsVisible:!0})}},{key:"getControls",value:function(){let r=null;return this.moveable?r=fb(()=>A.default.createElement("svg",{className:"no-zoom",height:"10px",onClick:()=>{},style:this.getMoveImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#move"}))):r=fb(()=>A.default.createElement("div",null)),A.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"}},A.default.createElement(r,null),A.default.createElement("svg",{ref:a=>{this.imgConfig=a},className:"no-zoom",height:"10px",onClick:()=>{const o=Un.default.findDOMNode(this.imgConfig).getBoundingClientRect();this.props.onConfigTrackMenuOpened(this.props.uid,o)},style:this.getSettingsImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#cog"})),A.default.createElement("svg",{ref:a=>{this.imgAdd=a},className:"no-zoom",height:"10px",onClick:()=>this.props.onAddSeries(this.props.uid),style:this.getAddImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{ref:a=>{this.imgClose=a},className:"no-zoom",height:"10px",onClick:()=>{const o=Un.default.findDOMNode(this.imgClose).getBoundingClientRect();this.props.onCloseTrackMenuOpened(this.props.uid,o)},style:this.getCloseImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#cross"})))}}]),n}(A.default.Component);M8.propTypes={configMenuOpen:N.exports.bool,onConfigTrackMenuOpened:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onAddSeries:N.exports.func,uid:N.exports.string};let Yy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.moveable=!0,r}return _createClass3(n,[{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.el=r},className:this.props.className,onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:()=>{this.handleMouseLeave()},style:{height:this.props.height,width:this.props.width}},A.default.createElement(DIe,{key:this.props.uid,height:this.props.height,resizeHandles:this.props.editable?this.props.resizeHandles:new Set,sizeChanged:r=>this.props.handleResizeTrack(this.props.uid,r.width,r.height),style:{background:"transparent"},uid:this.props.uid,width:this.props.width}),this.props.editable&&this.getControls(this.state.controlsVisible||this.props.item.configMenuVisible))}}]),n}(M8);Yy.propTypes={className:N.exports.string,uid:N.exports.string,item:N.exports.object,height:N.exports.number,width:N.exports.number};const Wy={pointerEvents:"all"};let L8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getControls",value:function(r){return A.default.createElement(pT,{configMenuVisible:this.props.item.configMenuVisible,imgStyleAdd:Wy,imgStyleClose:Wy,imgStyleMove:Wy,imgStyleSettings:Wy,isMoveable:this.moveable,isVisible:r,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}]),n}(Yy);const IIe=FP(e=>A.default.createElement(L8,{className:e.className,editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,item:e.item,onAddSeries:e.onAddSeries,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width})),B8=fZ(({className:e,items:t,itemClass:n,itemControlAlignLeft:i,sortingIndex:r,useDragHandle:a,sortableHandlers:o,height:s,width:u,onCloseTrack:c,onCloseTrackMenuOpened:l,onConfigTrackMenuOpened:f,onAddSeries:h,handleConfigTrack:d,editable:p,itemReactClass:m,handleResizeTrack:g,resizeHandles:v})=>{const E=t.map((y,T)=>A.default.createElement(m,{key:`sci-${y.uid}`,className:n,controlAlignLeft:i,sortingIndex:r,index:T,uid:y.uid,height:y.height,width:y.width,item:y,useDragHandle:a,onCloseTrack:c,onCloseTrackMenuOpened:l,onConfigTrackMenuOpened:f,onAddSeries:h,handleConfigTrack:d,editable:p,handleResizeTrack:g,resizeHandles:v}));return A.default.createElement("div",{className:e,style:{height:s,width:u,background:"transparent"},...o},E)}),wIe={"horizontal-tiled-plot":"_horizontal-tiled-plot_1bqkg_1"},Sa={"tiled-plot":"_tiled-plot_1y7td_1",horizontalList:"_horizontalList_1y7td_7",list:"_list_1y7td_14",stylizedList:"_stylizedList_1y7td_21",stylizedItem:"_stylizedItem_1y7td_28",stylizedHelper:"_stylizedHelper_1y7td_39",horizontalItem:"_horizontalItem_1y7td_44","resizable-track":"_resizable-track_1y7td_55",domain:"_domain_1y7td_60"},Aa={"track-range-selection":"_track-range-selection_5bcsr_1","track-range-selection-active":"_track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-active-primary":"_track-range-selection-active-primary_5bcsr_14 _track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-active-secondary":"_track-range-selection-active-secondary_5bcsr_18 _track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-group-inactive":"_track-range-selection-group-inactive_5bcsr_22","track-range-selection-group-brush-selection":"_track-range-selection-group-brush-selection_5bcsr_26"};function F8(e){return e&&e.sourceEvent}let qy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.brushBehavior=Ig().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushed.bind(_assertThisInitialized3(r))).on("end",r.brushedEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,a){return this.rangeSelectionTriggered?(this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==a):this.props.rangeSelection!==r.rangeSelection?(this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,r.rangeSelectionEnd),this.state!==a):!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,zu(this.brushEl,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!F8(r)||!this.props.onRangeSelection||a)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!F8(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!a&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,a=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){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(){const r=this.props.tracks.map(s=>s.height).reduce(es,0),a=this.props.tracks.map(s=>Ld(s)).reduce(Nf,!1),o=this.props.isRangeSelectionActive?Aa["track-range-selection-active"]:Aa["track-range-selection"];return A.default.createElement("div",{className:qt("horizontal-tiled-plot",wIe["horizontal-tiled-plot"])},a&&A.default.createElement("svg",{ref:s=>{this.brushEl=xt(s)},className:o,style:{height:r,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"}),A.default.createElement(Vy,{className:qt(Sa.list,Sa.stylizedList),component:B8,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:r,helperClass:Sa.stylizedHelper,itemClass:Sa.stylizedItem,itemReactClass:IIe,items:this.props.tracks.map(s=>({configMenuVisible:s.uid===this.props.configTrackMenuId,uid:s.uid||Pt.nice(),width:this.props.width,height:s.height,value:s.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:!0,width:this.props.width}))}}]),n}(A.default.Component);qy.propTypes={configTrackMenuId:N.exports.string,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,handleSortEnd:N.exports.func,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onRangeSelection:N.exports.func,onRangeSelectionEnd:N.exports.func,onRangeSelectionReset:N.exports.func,onRangeSelectionStart:N.exports.func,rangeSelection:N.exports.array,rangeSelectionEnd:N.exports.bool,referenceAncestor:N.exports.func,resizeHandles:N.exports.object,scale:N.exports.func,tracks:N.exports.array,width:N.exports.number};function H8(e){if(!e.graphics)return;const t=e.graphics,{tileX:n,tileY:i,tileWidth:r}=this.getTilePosAndDimensions(e.tileData.zoomLevel,e.tileData.tilePos);e.drawnAtScale=this._xScale.copy();const a=1/((this._xScale(1)-this._xScale(0))/(this._refXScale(1)-this._refXScale(0))),o=1/((this._yScale(1)-this._yScale(0))/(this._refYScale(1)-this._refYScale(0)));e.text.scale.x=a,e.text.scale.y=o;const s=this._xScale(r)-this._xScale(0);if(e.textGraphics.scale.x=s/256,e.textGraphics.scale.y=s/256,t.clear(),t.lineStyle(4*a,255,1),t.beginFill(16740363,.4),t.alpha=.5,e.mirrored){const u=this._refXScale(i+r)-this._refXScale(i),c=this._refYScale(n+r)-this._refYScale(n);e.textGraphics.position.x=this._refXScale(i)+u/2,e.textGraphics.position.y=this._refYScale(n)+c/2,t.drawRect(this._refXScale(i),this._refYScale(n),u,c)}else{const u=this._refXScale(n+r)-this._refXScale(n),c=this._refYScale(i+r)-this._refYScale(i);e.textGraphics.position.x=this._refXScale(n)+u/2,e.textGraphics.position.y=this._refYScale(i)+c/2,t.drawRect(this._refXScale(n),this._refYScale(i),u,c)}}function $8(e){const t=e.graphics;e.textGraphics=new Be.PIXI.Graphics,e.mirrored?e.text=new Be.PIXI.Text(`${e.tileData.zoomLevel}/${[e.tileData.tilePos[1],e.tileData.tilePos[0]].join("/")}`,{fontFamily:"Arial",fontSize:24,fill:16715792,align:"center"}):e.text=new Be.PIXI.Text(`${e.tileData.zoomLevel}/${e.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:24,fill:16715792,align:"center"}),e.textGraphics.addChild(e.text),e.text.anchor.x=.5,e.text.anchor.y=.5,t.addChild(e.textGraphics)}let U8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){$8.bind(this)(r),this.drawTile(r)}},{key:"destroyTile",value:function(r,a){}},{key:"drawTile",value:function(r){H8.bind(this)(r)}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[0],tilePos:s.slice(1,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics()}}]),n}(Hp),G8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.pMain=a.pMobile,a}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){const a=r.graphics;r.textGraphics=new Be.PIXI.Graphics,r.text=new Be.PIXI.Text(`${r.tileData.zoomLevel}/${r.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:32,fill:16715792,align:"center"}),r.textGraphics.addChild(r.text),r.text.anchor.x=.5,r.text.anchor.y=.5,a.addChild(r.textGraphics),this.drawTile(r)}},{key:"destroyTile",value:function(r){}},{key:"drawTile",value:function(r){if(_get4(_getPrototypeOf4(n.prototype),"drawTile",this).call(this,r),!r.graphics)return;const a=r.graphics,{tileX:o,tileWidth:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=1/((this._xScale(1)-this._xScale(0))/(this._refXScale(1)-this._refXScale(0)));r.text.scale.x=u,a.clear();const c=this.dimensions[1],l=this._refXScale(o+s)-this._refXScale(o);r.textGraphics.position.x=this._refXScale(o)+l/2,r.textGraphics.position.y=c/2;const f=this._refXScale(o);a.lineStyle(4*u,255,1),a.beginFill(16740363,.4),a.alpha=.5,a.moveTo(f,0),a.lineTo(f,c),a.moveTo(f+l,0),a.lineTo(f+l,c),a.lineStyle(0,255,1),a.drawRect(f,0,l,c)}}]),n}(mh),z8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._yScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);return Math.min(r,this.maxZoom)}},{key:"relevantScale",value:function(){return this._yScale}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a);const o=1,s=(a(1)-a(0))/(this._refYScale(1)-this._refYScale(0)),u=this.position[0],c=a(0)+this.position[1]-this._refYScale(1)*s;this.pMain.position.x=u,this.pMain.position.y=c,this.pMain.scale.x=o,this.pMain.scale.y=s}}]),n}(BD),j8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){const a=r.graphics;r.textGraphics=new Be.PIXI.Graphics,r.text=new Be.PIXI.Text(`${r.tileData.zoomLevel}/${r.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:32,fill:16715792,align:"center"}),r.textGraphics.addChild(r.text),r.text.anchor.x=.5,r.text.anchor.y=.5,r.text.rotation=-Math.PI/2,a.addChild(r.textGraphics),this.drawTile(r,a)}},{key:"destroyTile",value:function(r,a){}},{key:"drawTile",value:function(r){if(_get4(_getPrototypeOf4(n.prototype),"drawTile",this).call(this,r),!r.graphics)return;const a=r.graphics,{tileY:o,tileHeight:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=1/((this._yScale(1)-this._yScale(0))/(this._refYScale(1)-this._refYScale(0)));r.text.scale.x=u,a.clear(),a.lineStyle(4*u,255,1),a.beginFill(16740363,.4),a.alpha=.5;const c=this.dimensions[0],l=this._refYScale(o+s)-this._refYScale(o);r.textGraphics.position.x=c/2,r.textGraphics.position.y=this._refYScale(o)+l/2,a.drawRect(0,this._refYScale(o),c,l)}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[1],tilePos:s.slice(2,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics()}}]),n}(z8),Ds=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{svgElement:o}=i;return a.gMain=xt(o).append("g"),a.clipUid=Pt.nice(),a.clipRect=a.gMain.append("clipPath").attr("id",`track-bounds-${a.clipUid}`).append("rect"),a.gMain.attr("clip-path",`url(#track-bounds-${a.clipUid})`),a}return _createClass3(n,[{key:"setPosition",value:function(r){this.position=r,this.gMain.attr("transform",`translate(${this.position[0]},${this.position[1]})`),this.draw()}},{key:"setDimensions",value:function(r){this.dimensions=r,this._xScale.range([0,this.dimensions[0]]),this._yScale.range([0,this.dimensions[1]]),r[0]>=0&&r[1]>=0?(this.clipRect.attr("width",r[0]),this.clipRect.attr("height",r[1])):(this.clipRect.attr("width",0),this.clipRect.attr("height",0)),this.draw()}},{key:"remove",value:function(){this.gMain.remove(),this.gMain=null}},{key:"draw",value:function(){return this}}]),n}(ph),V8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=Y4(a._yScale),a.gAxis=a.gMain.append("g"),a.tilesetInfo=!0,a}return _createClass3(n,[{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.axis.ticks(Math.ceil(this.dimensions[1]/150)),this.gAxis.attr("transform",`translate(${r[0]},0)`)}},{key:"draw",value:function(){return this.axis.scale(this._yScale),this.gAxis.call(this.axis),this}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.draw()}}]),n}(Ds),$p=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{animate:o}=i;return a.visibleTiles=new Set,a.visibleTileIds=new Set,a.fetching=new Set,a.fetchedTiles={},a.tileGraphics={},a.minX=typeof a.options.minPos<"u"&&!Number.isNaN(+a.options.minPos)?+a.options.minPos:-180,a.maxX=+a.options.maxPos||180,a.maxX=typeof a.options.maxPos<"u"&&!Number.isNaN(+a.options.maxPos)?+a.options.maxPos:180,a.minY=a.options.minY||a.minX,a.maxY=a.options.maxY||a.maxX,a.maxZoom=19,a.maxWidth=a.maxX-a.minX,a.animate=o,a.uuid=Pt.nice(),a.refreshTilesDebounced=Bg(a.refreshTiles.bind(_assertThisInitialized3(a)),Pg),a}return _createClass3(n,[{key:"visibleAndFetchedIds",value:function(){return Object.keys(this.fetchedTiles).filter(r=>this.visibleTileIds.has(r))}},{key:"visibleAndFetchedTiles",value:function(){return this.visibleAndFetchedIds().map(r=>this.fetchedTiles[r])}},{key:"setVisibleTiles",value:function(r){this.visibleTiles=r.map(a=>({tileId:this.tileToLocalId(a),remoteId:this.tileToRemoteId(a),mirrored:a.mirrored})),this.visibleTileIds=new Set(this.visibleTiles.map(a=>a.tileId))}},{key:"removeAllTiles",value:function(){const r=new Set(Object.keys(this.fetchedTiles));this.removeTiles([...r])}},{key:"refreshTiles",value:function(){this.calculateVisibleTiles();const r=new Set(Object.keys(this.fetchedTiles)),a=[...this.visibleTiles].filter(s=>!this.fetching.has(s.remoteId)&&!r.has(s.tileId));for(let s=0;s<a.length;s++)this.fetching.add(a[s].remoteId);const o=[...r].filter(s=>!this.visibleTileIds.has(s));this.removeTiles(o),this.fetchNewTiles(a)}},{key:"removeTiles",value:function(r){!r.length||!this.areAllVisibleTilesLoaded()||(r.forEach(a=>{const o=a;this.destroyTile(this.fetchedTiles[o]),o in this.tileGraphics&&(this.pMain.removeChild(this.tileGraphics[o]),delete this.tileGraphics[o]),delete this.fetchedTiles[o]}),this.synchronizeTilesAndGraphics(),this.draw())}},{key:"tileToLocalId",value:function(r){return r.join(".")}},{key:"tileToRemoteId",value:function(r){return r.join(".")}},{key:"localToRemoteId",value:function(r){const a=r.split(".");return a.slice(0,a.length-1).join(".")}},{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._xScale,this.minX,this.maxX),a=Xe.calculateZoomLevel(this._xScale,this.minY,this.maxY);let o=Math.min(Math.max(r,a),this.maxZoom);return this.options.maxZoom&&(this.options.maxZoom>=0?o=Math.min(this.options.maxZoom,o):console.error("Invalid maxZoom on track:",this)),o}},{key:"calculateVisibleTiles",value:function(){this.zoomLevel=this.calculateZoomLevel(),this.xTiles=Xe.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.maxZoom,this.maxWidth),this.yTiles=Xe.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.maxZoom,this.maxWidth);const r=this.xTiles,a=this.yTiles,o=this.zoomLevel,s=[];for(let u=0;u<r.length;u++)for(let c=0;c<a.length;c++){const l=[o,r[u],a[c]];s.push(l)}this.setVisibleTiles(s)}},{key:"zoomed",value:function(r,a,o,s,u){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.xScale(r),this.yScale(a),this.pMain.position.x=s,this.pMain.position.y=u,this.pMain.scale.x=o,this.pMain.scale.y=o,this.refreshTilesDebounced(),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r)}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r)}},{key:"areAllVisibleTilesLoaded",value:function(){const r=new Set(Object.keys(this.fetchedTiles)),a=[...this.visibleTileIds];for(let o=0;o<a.length;o++)if(!r.has(a[o]))return!1;return!0}},{key:"allTilesLoaded",value:function(){}},{key:"minValue",value:function(r){return r&&(this.scale.minValue=r),this.scale.minValue}},{key:"maxValue",value:function(r){return r&&(this.scale.maxValue=r),this.scale.maxValue}},{key:"minRawValue",value:function(){return this.scale.minRawValue}},{key:"maxRawValue",value:function(){return this.scale.maxRawValue}},{key:"getTilePosAndDimensions",value:function(r,a){const o=this.maxWidth/2**r,s=o,u=this.minX+a[0]*o,c=this.minY+a[1]*s;return{tileX:u,tileY:c,tileWidth:o,tileHeight:s}}},{key:"setSpriteProperties",value:function(r,a,o){const{tileX:s,tileY:u,tileWidth:c,tileHeight:l}=this.getTilePosAndDimensions(a,o);r.x=this._refXScale(s),r.y=this._refYScale(u);const f=s+c,h=u+l;r.width=this._refXScale(f)-this._refXScale(s),r.height=this._refYScale(h)-this._refYScale(u)}},{key:"initTile",value:function(r){const a=new Be.PIXI.Texture(new Be.PIXI.BaseTexture(r.tileData.img)),o=new Be.PIXI.Sprite(a),s=r.graphics;r.sprite=o,this.setSpriteProperties(r.sprite,r.tileData.zoomLevel,r.tileData.tilePos),s.removeChildren(),s.addChild(r.sprite)}},{key:"updateTile",value:function(r){}},{key:"destroyTile",value:function(r){}},{key:"addMissingGraphics",value:function(){const r=Object.keys(this.fetchedTiles);for(let a=0;a<r.length;a++)if(!(r[a]in this.tileGraphics)){const o=new Be.PIXI.Graphics;this.pMain.addChild(o),this.fetchedTiles[r[a]].graphics=o,this.initTile(this.fetchedTiles[r[a]]),this.tileGraphics[r[a]]=o}}},{key:"updateExistingGraphics",value:function(){const r=Object.keys(this.fetchedTiles);for(let a=0;a<r.length;a++)this.updateTile(this.fetchedTiles[r[a]])}},{key:"synchronizeTilesAndGraphics",value:function(){this.addMissingGraphics(),this.updateExistingGraphics()}},{key:"loadTileData",value:function(r,a){let o=this.lruCache.get(r.tileId);return o||(o=a(r.data,r.type),this.lruCache.put(r.tileId,o)),o}},{key:"getTileUrl",value:function(r){const a=["a","b","c"],o=Math.floor(Math.random()*a.length);return`https://${a[o]}.tile.openstreetmap.org/${r[0]}/${r[1]}/${r[2]}.png`}},{key:"fetchNewTiles",value:function(r){if(r.length>0){const a=[...new Set(r.map(o=>o.remoteId))];for(const o of a){const s=o.split("."),u=this.getTileUrl(s),c=new Image;c.crossOrigin="Anonymous",c.src=u,c.onload=()=>{const l={};l[o]={tileId:o,img:c,zoomLevel:+s[0],tilePos:[+s[1],+s[2]],tileSrc:u},this.receivedTiles(l)}}}}},{key:"receivedTiles",value:function(r){for(let a=0;a<this.visibleTiles.length;a++){const o=this.visibleTiles[a].tileId;!r[this.visibleTiles[a].remoteId]||this.visibleTiles[a].remoteId in r&&(o in this.fetchedTiles||(this.fetchedTiles[o]=this.visibleTiles[a]),this.fetchedTiles[o].tileData=r[this.visibleTiles[a].remoteId])}for(const a in r)r[a]&&this.fetching.has(a)&&this.fetching.delete(a);this.synchronizeTilesAndGraphics(),this.refreshTiles(),this.draw(),this.animate()}},{key:"draw",value:function(){this.delayDrawing||_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}},{key:"drawTile",value:function(){}},{key:"refScalesChanged",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"refScalesChanged",this).call(this,r,a);for(const o in this.fetchedTiles){const s=this.fetchedTiles[o];s.sprite&&this.setSpriteProperties(s.sprite,s.tileData.zoomLevel,s.tileData.tilePos)}}}]),n}(ai),Y8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.style=r.style,a.options.accessToken||(a.errorTextText="No access token provided in the viewconf's track options ('accessToken' option).",a.drawError()),a}return _createClass3(n,[{key:"rerender",value:function(r){_get4(_getPrototypeOf4(n.prototype),"rerender",this).call(this,r),r.style!==this.style&&(this.style=r.style,this.removeAllTiles(),this.refreshTiles())}},{key:"getTileUrl",value:function(r){const a=this.options&&this.options.style?this.options.style:"streets-v10",o=this.options&&+this.options.tileSize?+this.options.tileSize:256;return`https://api.mapbox.com/styles/v1/mapbox/${a}/tiles/${o}/${r[0]}/${r[1]}/${r[2]}?access_token=${this.options.accessToken}`}}]),n}($p),W8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"initTile",value:function(r){$8.bind(this)(r),this.drawTile(r)}},{key:"drawTile",value:function(r){H8.bind(this)(r)}},{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[0],tilePos:s.slice(1,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics(),this.draw(),this.animate()}},{key:"draw",value:function(){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}}]),n}($p);const kIe=(e,t,n,i,r)=>{r.drawRect(e,t,n,i)},OIe=(e,t,n,i,r,{fill:a=0,fillOpacity:o=0,stroke:s=0,strokeWidth:u=0,strokeOpacity:c=0}={})=>{const l=document.createElement("rect");l.setAttribute("x",e),l.setAttribute("y",t),l.setAttribute("width",n),l.setAttribute("height",i),l.setAttribute("fill",`#${vb(a)}`),l.setAttribute("fill-opacity",o),l.setAttribute("stroke",`#${vb(s)}`),l.setAttribute("stroke-opacity",c),l.setAttribute("stroke-width",u),r.appendChild(l)},io=(e,t,n,i,r,a)=>{r instanceof HTMLElement?OIe(e,t,n,i,r,a):kIe(e,t,n,i,r)},q8=(e,t,n,i,r,a,o,s,{isVertical:u=!1,svg:c=null}={})=>{let l=t,f=n,h=i,d=r;const p=s.width*2>i?i/2:s.width,m=s.width*2>r?r/2:s.width,g=c||e,v={fill:0,fillOpacity:0,stroke:0,strokeOpacity:0,strokeWidth:1};if(s.positions&&s.positions.length?(e.lineStyle(1,0,0),e.beginFill(s.color,s.opacity),v.fill=s.color,v.fillOpacity=s.opacity,v.stroke=0,v.strokeOpacity=0,v.strokeWidth=1,s.positions.forEach(E=>{E==="top"&&!u||E==="left"&&u?io(t-p,n-m,i+p*2,m,g,v):E==="bottom"&&!u||E==="right"&&u?io(t-p,n+r,i+p*2,m,g,v):E==="left"&&!u||E==="top"&&u?io(t-p,n-m,p,r+m*2,g,v):(E==="right"&&!u||E==="bottom"&&u)&&io(t+i,n-m,p,r+m*2,g,v)})):s.width>0&&s.opacity>0&&(e.lineStyle(s.width,s.color,s.opacity),e.beginFill(0,0),v.fill=0,v.fillOpacity=0,v.stroke=s.color,v.strokeOpacity=s.opacity,v.strokeWidth=s.width,io(t-p,n-m,i+p*2,r+m*2,g,v)),o.positions&&o.positions.length){e.lineStyle(1,0,0),e.beginFill(o.color,o.opacity);const E=o.width*2>i?i/2:o.width,y=o.width*2>r?r/2:o.width;v.fill=o.color,v.fillOpacity=o.opacity,v.stroke=0,v.strokeOpacity=0,v.strokeWidth=1,o.positions.forEach(T=>{T==="top"&&!u||T==="left"&&u?(io(t,n,i,y,g,v),f+=y,d-=y):T==="bottom"&&!u||T==="right"&&u?(io(t,n+r-y,i,y,g,v),d-=y):T==="left"&&!u||T==="top"&&u?(io(t,n,E,r,g,v),l+=E,h-=E):(T==="right"&&!u||T==="bottom"&&u)&&(io(t+i-E,n,E,r,g,v),h-=E)})}else e.lineStyle(o.width,o.color,o.opacity),v.stroke=o.color,v.strokeOpacity=o.opacity,v.strokeWidth=o.width;e.beginFill(a.color,a.opacity),v.fill=a.color,v.fillOpacity=a.opacity,io(l,f,h,d,g,v)};let X8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.options=r||{},a.drawnRects={},a}return _createClass3(n,[{key:"drawHorizontalOverlay",value:function(r,a,o,s=0,u,c,l,f){if(!o||o.length<2)return;let h=this.position[0]+a.left+this._xScale(o[0]);const d=this.position[1]+a.top,p=a.height;let m=this._xScale(o[1])-this._xScale(o[0]);m<s&&(h-=(s-m)/2,m=s),q8(r,h,d,m,p,u,c,l,f)}},{key:"drawVerticalOverlay",value:function(r,a,o,s=0,u,c,l,f={}){if(!o||o.length<2)return;const h=this.position[0]+a.left;let d=this.position[1]+a.top+this._yScale(o.length>=4?o[2]:o[0]);const p=this.position[1]+a.top,m=this.position[1]+a.top+a.height;if(d>m)return;d<p&&(d=p);const g=a.width;let v=this._yScale(o.length>=4?o[3]:o[1])-d+a.top+this.position[1];v<0||(d+v>m&&(v+=m-(d+v)),v<s&&(d-=(s-v)/2,v=s),f.isVertical=!0,q8(r,h,d,g,v,u,c,l,f))}},{key:"draw",value:function(r){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this);const a=this.pMain,o={color:at(this.options.fill||this.options.fillColor||"blue"),opacity:Number.isNaN(+this.options.fillOpacity)?.3:+this.options.fillOpacity},s={color:at(this.options.stroke||"blue"),opacity:+this.options.strokeOpacity||1,width:+this.options.strokeWidth||0,positions:!this.options.strokePos||Array.isArray(this.options.strokePos)?this.options.strokePos:[this.options.strokePos]},u={color:at(this.options.outline||"white"),opacity:+this.options.outlineOpacity||1,width:+this.options.outlineWidth||0,positions:!this.options.outlinePos||Array.isArray(this.options.outlinePos)?this.options.outlinePos:[this.options.outlinePos]};(!r||!r.svg)&&a.clear(),a.lineStyle(s.width,s,+!s.positions*s.opacity),a.beginFill(o.color,o.opacity);const c=Math.max(0,+this.options.minWidth||0),l=Math.max(0,+this.options.minHeight||0);Array.isArray(this.options.extent)&&this.options.orientationsAndPositions.forEach(f=>{(f.orientation==="1d-horizontal"||f.orientation==="2d")&&this.options.extent.forEach(h=>this.drawHorizontalOverlay(a,f.position,h,c,o,s,u,r)),(f.orientation==="1d-vertical"||f.orientation==="2d")&&this.options.extent.forEach(h=>this.drawVerticalOverlay(a,f.position,h,l,o,s,u,r))})}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.draw()}},{key:"exportSVG",value:function(){let r=null,a=null;_get4(_getPrototypeOf4(n.prototype),"exportSVG",this)?[a,r]=_get4(_getPrototypeOf4(n.prototype),"exportSVG",this).call(this):(a=document.createElement("g"),r=a);const o=document.createElement("g");return r.appendChild(o),this.draw({svg:o}),[a,r]}}]),n}(ai),K8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.style=r.style,a.options.tileSource||(a.errorTextText="No tile source string provided in the options. It should be in the form of http://a.com/{z}/{x}/{y}",a.drawError()),a}return _createClass3(n,[{key:"getTileUrl",value:function(r){let a=this.options.tileSource.replace("{z}",r[0]);return a=a.replace("{x}",r[1]),a=a.replace("{y}",r[2]),a}}]),n}($p),Z8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.drawnRects=new Set,a}return _createClass3(n,[{key:"tileToLocalId",value:function(r){return`${r.join(".")}`}},{key:"tileToRemoteId",value:function(r){return`${r.join(".")}`}},{key:"localToRemoteId",value:function(r){const a=r.split(".");return a.slice(0,a.length-1).join(".")}},{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),a=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let o=Math.max(r,a);return o=Math.min(o,this.maxZoom),o}},{key:"setVisibleTiles",value:function(r){this.visibleTiles=r.map(a=>({tileId:this.tileToLocalId(a),remoteId:this.tileToRemoteId(a)})),this.visibleTileIds=new Set(this.visibleTiles.map(a=>a.tileId))}},{key:"calculateVisibleTiles",value:function(r=!0){if(!this.tilesetInfo)return;this.zoomLevel=this.calculateZoomLevel(),this.xTiles=Xe.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=Xe.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const a=this.xTiles,o=this.yTiles,s=this.zoomLevel,u=[];for(let c=0;c<a.length;c++)for(let l=0;l<o.length;l++){const f=[s,a[c],o[l]];u.push(f)}this.setVisibleTiles(u)}},{key:"initTile",value:function(r){}},{key:"destroyTile",value:function(r,a){}},{key:"draw",value:function(){this.drawnRects.clear(),_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}},{key:"drawTile",value:function(r){if(!r.graphics)return;const a=r.graphics;a.clear();const o=at("green");a.lineStyle(1,255,1),a.beginFill(o,.8),a.alpha=.5;for(const s of r.tileData){const u=this._xScale(s.xStart),c=this._xScale(s.xEnd),l=this._yScale(s.yStart),f=this._yScale(s.yEnd),h=s.uid;if(this.drawnRects.has(h))continue;this.drawnRects.add(h);const d=6,p=6;let m=f-l,g=c-u;const v=(u+c)/2,E=(l+f)/2;m<d&&(m=d),g<p&&(g=p),a.drawRect(v-m/2,E-g/2,m,g)}}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0]}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.refreshTiles(),this.draw()}}]),n}(Ts),Q8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=V4(a._xScale),a.gAxis=a.gMain.append("g"),a.tilesetInfo=!0,a}return _createClass3(n,[{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.axis.ticks(Math.ceil(this.dimensions[0]/150)),this.gAxis.attr("transform",`translate(0,${r[1]})`)}},{key:"draw",value:function(){return this.axis.scale(this._xScale),this.gAxis.call(this.axis),this}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.draw()}}]),n}(Ds),J8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=new r0(_assertThisInitialized3(a)),a.pBase.addChild(a.axis.pAxis),a}return _createClass3(n,[{key:"initTile",value:function(r){this.scale.minRawValue=this.minVisibleValueInTiles(),this.scale.maxRawValue=this.minVisibleValueInTiles(),this.scale.minValue=this.scale.minRawValue,this.scale.maxValue=this.scale.maxRawValue,this.drawTile(r)}},{key:"drawTile",value:function(r){if(!r.graphics)return;const a=r.graphics,o=6,s=4;a.clear(),this.valueScale=qo().domain([this.minValue()+.01,this.maxValue()]).range([this.dimensions[1]-o/2,o/2]);const u=at("black");a.lineStyle(1,u,.3),a.beginFill(u,.3),this.drawAxis(this.valueScale),r.tileData.forEach(c=>{const l=c.fields,f=+c.chrOffset,h=+l[1]+f,d=+l[2]+f,p=+l[3],m=this._xScale(h),g=this._xScale(d),v=Math.max(g-m,s),E=this.valueScale(p),y=(g+m)/2;a.drawRect(y-v/2,E-o/2,v,o)})}},{key:"minVisibleValueInTiles",value:function(){let r=this.visibleAndFetchedIds();return r.length===0&&(r=Object.keys(this.fetchedTiles)),Math.min.apply(null,r.map(o=>+Math.min(...this.fetchedTiles[o].tileData.filter(s=>!Number.isNaN(s.fields[3])).map(s=>+s.fields[3]))))}},{key:"maxVisibleValueInTiles",value:function(){let r=this.visibleAndFetchedIds();return r.length===0&&(r=Object.keys(this.fetchedTiles)),Math.max.apply(null,r.map(o=>+Math.max(...this.fetchedTiles[o].tileData.filter(s=>!Number.isNaN(s.fields[3])).map(s=>+s.fields[3]))))}}]),n}(gh);const Xy={pointerEvents:"all"};let e9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getControls",value:function(r){return A.default.createElement(pT,{imgStyleAdd:Xy,imgStyleClose:Xy,imgStyleMove:Xy,imgStyleSettings:Xy,isAlignLeft:this.props.controlAlignLeft,isMoveable:this.moveable,isVertical:!0,isVisible:r,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}]),n}(Yy),t9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionXDomain||!i.projectionYDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:i.projectionXDomain,a.viewportYDomain=a.hasFromView?null:i.projectionYDomain,a.brush=nb().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--n").style("pointer-events","none"),a.gBrush.selectAll(".handle--s").style("pointer-events","none"),a.gBrush.selectAll(".handle--w").style("pointer-events","none"),a.gBrush.selectAll(".handle--e").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=[this._xScale.invert(a[0][0]),this._xScale.invert(a[1][0])],s=[this._yScale.invert(a[0][1]),this._yScale.invert(a[1][1])];this.hasFromView||(this.viewportXDomain=o,this.viewportYDomain=s),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a){const o=r.domain(),s=a.domain();this.viewportXDomain=o,this.viewportYDomain=s,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._xScale(this.viewportXDomain[0]),a=this._yScale(this.viewportYDomain[0]),o=this._xScale(this.viewportXDomain[1]),s=this._yScale(this.viewportYDomain[1]),u=[[r,a],[o,s]];this.brush.on("brush",null),this.gBrush.call(this.brush.move,u),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=a[1]-a[0],u=o[1]-o[0];this.brush.extent([[a[0]-s,o[0]-u],[a[1]+s,o[1]+u]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds),xIe=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s}=i,u=Pt.nice();return a.uid=u,a.removeViewportChanged=s,a.viewportXDomain=null,a.viewportYDomain=null,o(u,a.viewportChanged.bind(_assertThisInitialized3(a))),a}return _createClass3(n,[{key:"viewportChanged",value:function(r,a){const o=r.domain(),s=a.domain();this.viewportXDomain=o,this.viewportYDomain=s,this.draw()}},{key:"draw",value:function(){const r=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain)return;r.clear(),r.lineStyle(1,255,1),r.beginFill(16740363,1);const a=this._xScale(this.viewportXDomain[0]),o=this._yScale(this.viewportYDomain[0]),s=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]),u=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(a,o,s,u)}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0],this.draw()}}]),n}(ai),n9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionXDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:i.projectionXDomain,a.viewportYDomain=a.hasFromView?null:[0,0],a.brush=Ig().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--ne").style("pointer-events","none"),a.gBrush.selectAll(".handle--nw").style("pointer-events","none"),a.gBrush.selectAll(".handle--sw").style("pointer-events","none"),a.gBrush.selectAll(".handle--se").style("pointer-events","none"),a.gBrush.selectAll(".handle--n").style("pointer-events","none"),a.gBrush.selectAll(".handle--s").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=[this._xScale.invert(a[0]),this._xScale.invert(a[1])],s=this.viewportYDomain;this.hasFromView||(this.viewportXDomain=o),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a,o=!0){const s=r.domain(),u=a.domain();this.viewportXDomain=s,this.viewportYDomain=u,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._xScale(this.viewportXDomain[0]),a=this._xScale(this.viewportXDomain[1]),o=[r,a];this.brush.on("brush",null),this.gBrush.call(this.brush.move,o),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=a[1]-a[0];this.brush.extent([[a[0]-s,o[0]],[a[1]+s,o[1]]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds),r9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionYDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:[0,0],a.viewportYDomain=a.hasFromView?null:i.projectionYDomain,a.brush=vf().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--ne").style("pointer-events","none"),a.gBrush.selectAll(".handle--nw").style("pointer-events","none"),a.gBrush.selectAll(".handle--sw").style("pointer-events","none"),a.gBrush.selectAll(".handle--se").style("pointer-events","none"),a.gBrush.selectAll(".handle--e").style("pointer-events","none"),a.gBrush.selectAll(".handle--w").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=this.viewportXDomain,s=[this._yScale.invert(a[0]),this._yScale.invert(a[1])];this.hasFromView||(this.viewportYDomain=s),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a,o=!0){const s=r.domain(),u=a.domain();this.viewportXDomain=s,this.viewportYDomain=u,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._yScale(this.viewportYDomain[0]),a=this._yScale(this.viewportYDomain[1]),o=[r,a];this.brush.on("brush",null),this.gBrush.call(this.brush.move,o),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=o[1]-o[0];this.brush.extent([[a[0],o[0]-s],[a[1],o[1]+s]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds);function i9(e){this.size=0,this.limit=e,this._keymap={}}function PIe(e,t){const n={key:e,value:t};if(this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit)return this.shift();this.size+=1}function RIe(){const e=this.head;return e&&(this.head.newer?(this.head=this.head.newer,this.head.older=void 0):(this.head=void 0,this.tail=void 0),e.newer=void 0,e.older=void 0,delete this._keymap[e.key],this.size-=1),e}function NIe(e,t){const n=this._keymap[e];if(n!==void 0)return n===this.tail||(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n),t?n:n.value}function MIe(e){return this._keymap[e]}function LIe(e,t){const n=this.get(e,!0);let i;return n?(i=n.value,n.value=t):(i=this.put(e,t),i&&(i=i.value)),i}function BIe(e){const t=this._keymap[e];if(!!t)return delete this._keymap[t.key],t.newer&&t.older?(t.older.newer=t.newer,t.newer.older=t.older):t.newer?(t.newer.older=void 0,this.head=t.newer):t.older?(t.older.newer=void 0,this.tail=t.older):(this.head=void 0,this.tail=void 0),this.size-=1,t.value}function FIe(){this.head=void 0,this.tail=void 0,this.size=0,this._keymap={}}function HIe(){return Object.keys(this._keymap)}function $Ie(e,t,n){let i;if(t===!0?(n=!0,t=void 0):typeof t!="object"&&(t=this),n)for(i=this.tail;i;)e.call(t,i.key,i.value,this),i=i.older;else for(i=this.head;i;)e.call(t,i.key,i.value,this),i=i.newer}function UIe(){const e=[];let t=this.head;for(;t;)e.push({key:t.key.toJSON(),value:t.value.toJSON()}),t=t.newer;return e}function GIe(){let e="",t=this.head;for(;t;)e+=`${String(t.key)}:${t.value}`,t=t.newer,t&&(e+=" < ");return e}Object.assign(i9.prototype,{put:PIe,get:NIe,find:MIe,keys:HIe,set:LIe,shift:RIe,remove:BIe,removeAll:FIe,forEach:$Ie,toJSON:UIe,toString:GIe});var Go={};(function(e){var t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function n(a,o){return Object.prototype.hasOwnProperty.call(a,o)}e.assign=function(a){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var s=o.shift();if(!!s){if(typeof s!="object")throw new TypeError(s+"must be non-object");for(var u in s)n(s,u)&&(a[u]=s[u])}}return a},e.shrinkBuf=function(a,o){return a.length===o?a:a.subarray?a.subarray(0,o):(a.length=o,a)};var i={arraySet:function(a,o,s,u,c){if(o.subarray&&a.subarray){a.set(o.subarray(s,s+u),c);return}for(var l=0;l<u;l++)a[c+l]=o[s+l]},flattenChunks:function(a){var o,s,u,c,l,f;for(u=0,o=0,s=a.length;o<s;o++)u+=a[o].length;for(f=new Uint8Array(u),c=0,o=0,s=a.length;o<s;o++)l=a[o],f.set(l,c),c+=l.length;return f}},r={arraySet:function(a,o,s,u,c){for(var l=0;l<u;l++)a[c+l]=o[s+l]},flattenChunks:function(a){return[].concat.apply([],a)}};e.setTyped=function(a){a?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,r))},e.setTyped(t)})(Go);var Up={},ao={},kh={},zIe=Go,jIe=4,a9=0,o9=1,VIe=2;function Oh(e){for(var t=e.length;--t>=0;)e[t]=0}var YIe=0,s9=1,WIe=2,qIe=3,XIe=258,uI=29,Gp=256,zp=Gp+1+uI,xh=30,cI=19,l9=2*zp+1,Xl=15,hI=16,KIe=7,fI=256,u9=16,c9=17,h9=18,dI=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ky=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ZIe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f9=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],QIe=512,zo=new Array((zp+2)*2);Oh(zo);var jp=new Array(xh*2);Oh(jp);var Vp=new Array(QIe);Oh(Vp);var Yp=new Array(XIe-qIe+1);Oh(Yp);var pI=new Array(uI);Oh(pI);var Zy=new Array(xh);Oh(Zy);function mI(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}var d9,p9,m9;function gI(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function g9(e){return e<256?Vp[e]:Vp[256+(e>>>7)]}function Wp(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ei(e,t,n){e.bi_valid>hI-n?(e.bi_buf|=t<<e.bi_valid&65535,Wp(e,e.bi_buf),e.bi_buf=t>>hI-e.bi_valid,e.bi_valid+=n-hI):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function oo(e,t,n){Ei(e,n[t*2],n[t*2+1])}function v9(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function JIe(e){e.bi_valid===16?(Wp(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function ewe(e,t){var n=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,u=t.stat_desc.max_length,c,l,f,h,d,p,m=0;for(h=0;h<=Xl;h++)e.bl_count[h]=0;for(n[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<l9;c++)l=e.heap[c],h=n[n[l*2+1]*2+1]+1,h>u&&(h=u,m++),n[l*2+1]=h,!(l>i)&&(e.bl_count[h]++,d=0,l>=s&&(d=o[l-s]),p=n[l*2],e.opt_len+=p*(h+d),a&&(e.static_len+=p*(r[l*2+1]+d)));if(m!==0){do{for(h=u-1;e.bl_count[h]===0;)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[u]--,m-=2}while(m>0);for(h=u;h!==0;h--)for(l=e.bl_count[h];l!==0;)f=e.heap[--c],!(f>i)&&(n[f*2+1]!==h&&(e.opt_len+=(h-n[f*2+1])*n[f*2],n[f*2+1]=h),l--)}}function y9(e,t,n){var i=new Array(Xl+1),r=0,a,o;for(a=1;a<=Xl;a++)i[a]=r=r+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=v9(i[s]++,s))}}function twe(){var e,t,n,i,r,a=new Array(Xl+1);for(n=0,i=0;i<uI-1;i++)for(pI[i]=n,e=0;e<1<<dI[i];e++)Yp[n++]=i;for(Yp[n-1]=i,r=0,i=0;i<16;i++)for(Zy[i]=r,e=0;e<1<<Ky[i];e++)Vp[r++]=i;for(r>>=7;i<xh;i++)for(Zy[i]=r<<7,e=0;e<1<<Ky[i]-7;e++)Vp[256+r++]=i;for(t=0;t<=Xl;t++)a[t]=0;for(e=0;e<=143;)zo[e*2+1]=8,e++,a[8]++;for(;e<=255;)zo[e*2+1]=9,e++,a[9]++;for(;e<=279;)zo[e*2+1]=7,e++,a[7]++;for(;e<=287;)zo[e*2+1]=8,e++,a[8]++;for(y9(zo,zp+1,a),e=0;e<xh;e++)jp[e*2+1]=5,jp[e*2]=v9(e,5);d9=new mI(zo,dI,Gp+1,zp,Xl),p9=new mI(jp,Ky,0,xh,Xl),m9=new mI(new Array(0),ZIe,0,cI,KIe)}function T9(e){var t;for(t=0;t<zp;t++)e.dyn_ltree[t*2]=0;for(t=0;t<xh;t++)e.dyn_dtree[t*2]=0;for(t=0;t<cI;t++)e.bl_tree[t*2]=0;e.dyn_ltree[fI*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function E9(e){e.bi_valid>8?Wp(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function nwe(e,t,n,i){E9(e),i&&(Wp(e,n),Wp(e,~n)),zIe.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function b9(e,t,n,i){var r=t*2,a=n*2;return e[r]<e[a]||e[r]===e[a]&&i[t]<=i[n]}function vI(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&b9(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!b9(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function _9(e,t,n){var i,r,a=0,o,s;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],r=e.pending_buf[e.l_buf+a],a++,i===0?oo(e,r,t):(o=Yp[r],oo(e,o+Gp+1,t),s=dI[o],s!==0&&(r-=pI[o],Ei(e,r,s)),i--,o=g9(i),oo(e,o,n),s=Ky[o],s!==0&&(i-=Zy[o],Ei(e,i,s)));while(a<e.last_lit);oo(e,fI,t)}function yI(e,t){var n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,u=-1,c;for(e.heap_len=0,e.heap_max=l9,o=0;o<a;o++)n[o*2]!==0?(e.heap[++e.heap_len]=u=o,e.depth[o]=0):n[o*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,n[c*2]=1,e.depth[c]=0,e.opt_len--,r&&(e.static_len-=i[c*2+1]);for(t.max_code=u,o=e.heap_len>>1;o>=1;o--)vI(e,n,o);c=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],vI(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[c*2]=n[o*2]+n[s*2],e.depth[c]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=c,e.heap[1]=c++,vI(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],ewe(e,t),y9(n,u,e.bl_count)}function S9(e,t,n){var i,r=-1,a,o=t[0*2+1],s=0,u=7,c=4;for(o===0&&(u=138,c=3),t[(n+1)*2+1]=65535,i=0;i<=n;i++)a=o,o=t[(i+1)*2+1],!(++s<u&&a===o)&&(s<c?e.bl_tree[a*2]+=s:a!==0?(a!==r&&e.bl_tree[a*2]++,e.bl_tree[u9*2]++):s<=10?e.bl_tree[c9*2]++:e.bl_tree[h9*2]++,s=0,r=a,o===0?(u=138,c=3):a===o?(u=6,c=3):(u=7,c=4))}function A9(e,t,n){var i,r=-1,a,o=t[0*2+1],s=0,u=7,c=4;for(o===0&&(u=138,c=3),i=0;i<=n;i++)if(a=o,o=t[(i+1)*2+1],!(++s<u&&a===o)){if(s<c)do oo(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==r&&(oo(e,a,e.bl_tree),s--),oo(e,u9,e.bl_tree),Ei(e,s-3,2)):s<=10?(oo(e,c9,e.bl_tree),Ei(e,s-3,3)):(oo(e,h9,e.bl_tree),Ei(e,s-11,7));s=0,r=a,o===0?(u=138,c=3):a===o?(u=6,c=3):(u=7,c=4)}}function rwe(e){var t;for(S9(e,e.dyn_ltree,e.l_desc.max_code),S9(e,e.dyn_dtree,e.d_desc.max_code),yI(e,e.bl_desc),t=cI-1;t>=3&&e.bl_tree[f9[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function iwe(e,t,n,i){var r;for(Ei(e,t-257,5),Ei(e,n-1,5),Ei(e,i-4,4),r=0;r<i;r++)Ei(e,e.bl_tree[f9[r]*2+1],3);A9(e,e.dyn_ltree,t-1),A9(e,e.dyn_dtree,n-1)}function awe(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return a9;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return o9;for(n=32;n<Gp;n++)if(e.dyn_ltree[n*2]!==0)return o9;return a9}var C9=!1;function owe(e){C9||(twe(),C9=!0),e.l_desc=new gI(e.dyn_ltree,d9),e.d_desc=new gI(e.dyn_dtree,p9),e.bl_desc=new gI(e.bl_tree,m9),e.bi_buf=0,e.bi_valid=0,T9(e)}function D9(e,t,n,i){Ei(e,(YIe<<1)+(i?1:0),3),nwe(e,t,n,!0)}function swe(e){Ei(e,s9<<1,3),oo(e,fI,zo),JIe(e)}function lwe(e,t,n,i){var r,a,o=0;e.level>0?(e.strm.data_type===VIe&&(e.strm.data_type=awe(e)),yI(e,e.l_desc),yI(e,e.d_desc),o=rwe(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&t!==-1?D9(e,t,n,i):e.strategy===jIe||a===r?(Ei(e,(s9<<1)+(i?1:0),3),_9(e,zo,jp)):(Ei(e,(WIe<<1)+(i?1:0),3),iwe(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),_9(e,e.dyn_ltree,e.dyn_dtree)),T9(e),i&&E9(e)}function uwe(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(Yp[n]+Gp+1)*2]++,e.dyn_dtree[g9(t)*2]++),e.last_lit===e.lit_bufsize-1}kh._tr_init=owe,kh._tr_stored_block=D9,kh._tr_flush_block=lwe,kh._tr_tally=uwe,kh._tr_align=swe;function cwe(e,t,n,i){for(var r=e&65535|0,a=e>>>16&65535|0,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do r=r+t[i++]|0,a=a+r|0;while(--o);r%=65521,a%=65521}return r|a<<16|0}var I9=cwe;function hwe(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var fwe=hwe();function dwe(e,t,n,i){var r=fwe,a=i+n;e^=-1;for(var o=i;o<a;o++)e=e>>>8^r[(e^t[o])&255];return e^-1}var w9=dwe,TI={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},si=Go,Zi=kh,k9=I9,Is=w9,pwe=TI,Kl=0,mwe=1,gwe=3,ws=4,O9=5,so=0,x9=1,Qi=-2,vwe=-3,EI=-5,ywe=-1,Twe=1,Qy=2,Ewe=3,bwe=4,_we=0,Swe=2,Jy=8,Awe=9,Cwe=15,Dwe=8,Iwe=29,wwe=256,bI=wwe+1+Iwe,kwe=30,Owe=19,xwe=2*bI+1,Pwe=15,Yt=3,ks=258,Ca=ks+Yt+1,Rwe=32,eT=42,_I=69,tT=73,nT=91,rT=103,Zl=113,qp=666,rr=1,Xp=2,Ql=3,Ph=4,Nwe=3;function Os(e,t){return e.msg=pwe[t],t}function P9(e){return(e<<1)-(e>4?9:0)}function xs(e){for(var t=e.length;--t>=0;)e[t]=0}function Ps(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(si.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function yr(e,t){Zi._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ps(e.strm)}function Zt(e,t){e.pending_buf[e.pending++]=t}function Kp(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Mwe(e,t,n,i){var r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,si.arraySet(t,e.input,e.next_in,r,n),e.state.wrap===1?e.adler=k9(e.adler,t,r,n):e.state.wrap===2&&(e.adler=Is(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)}function R9(e,t){var n=e.max_chain_length,i=e.strstart,r,a,o=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-Ca?e.strstart-(e.w_size-Ca):0,c=e.window,l=e.w_mask,f=e.prev,h=e.strstart+ks,d=c[i+o-1],p=c[i+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(c[r+o]!==p||c[r+o-1]!==d||c[r]!==c[i]||c[++r]!==c[i+1])){i+=2,r++;do;while(c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&i<h);if(a=ks-(h-i),i=h-ks,a>o){if(e.match_start=t,o=a,a>=s)break;d=c[i+o-1],p=c[i+o]}}while((t=f[t&l])>u&&--n!==0);return o<=e.lookahead?o:e.lookahead}function Jl(e){var t=e.w_size,n,i,r,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ca)){si.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,n=i;do r=e.head[--n],e.head[n]=r>=t?r-t:0;while(--i);i=t,n=i;do r=e.prev[--n],e.prev[n]=r>=t?r-t:0;while(--i);a+=t}if(e.strm.avail_in===0)break;if(i=Mwe(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=Yt)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+Yt-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<Yt)););}while(e.lookahead<Ca&&e.strm.avail_in!==0)}function Lwe(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Jl(e),e.lookahead===0&&t===Kl)return rr;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,yr(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ca&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):(e.strstart>e.block_start&&(yr(e,!1),e.strm.avail_out===0),rr)}function SI(e,t){for(var n,i;;){if(e.lookahead<Ca){if(Jl(e),e.lookahead<Ca&&t===Kl)return rr;if(e.lookahead===0)break}if(n=0,e.lookahead>=Yt&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-Ca&&(e.match_length=R9(e,n)),e.match_length>=Yt)if(i=Zi._tr_tally(e,e.strstart-e.match_start,e.match_length-Yt),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Yt){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=e.strstart<Yt-1?e.strstart:Yt-1,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Rh(e,t){for(var n,i,r;;){if(e.lookahead<Ca){if(Jl(e),e.lookahead<Ca&&t===Kl)return rr;if(e.lookahead===0)break}if(n=0,e.lookahead>=Yt&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Yt-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ca&&(e.match_length=R9(e,n),e.match_length<=5&&(e.strategy===Twe||e.match_length===Yt&&e.strstart-e.match_start>4096)&&(e.match_length=Yt-1)),e.prev_length>=Yt&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-Yt,i=Zi._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Yt),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Yt-1,e.strstart++,i&&(yr(e,!1),e.strm.avail_out===0))return rr}else if(e.match_available){if(i=Zi._tr_tally(e,0,e.window[e.strstart-1]),i&&yr(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return rr}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Zi._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Yt-1?e.strstart:Yt-1,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Bwe(e,t){for(var n,i,r,a,o=e.window;;){if(e.lookahead<=ks){if(Jl(e),e.lookahead<=ks&&t===Kl)return rr;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Yt&&e.strstart>0&&(r=e.strstart-1,i=o[r],i===o[++r]&&i===o[++r]&&i===o[++r])){a=e.strstart+ks;do;while(i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&r<a);e.match_length=ks-(a-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Yt?(n=Zi._tr_tally(e,1,e.match_length-Yt),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Fwe(e,t){for(var n;;){if(e.lookahead===0&&(Jl(e),e.lookahead===0)){if(t===Kl)return rr;break}if(e.match_length=0,n=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function lo(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}var Nh;Nh=[new lo(0,0,0,0,Lwe),new lo(4,4,8,4,SI),new lo(4,5,16,8,SI),new lo(4,6,32,32,SI),new lo(4,4,16,16,Rh),new lo(8,16,32,32,Rh),new lo(8,16,128,128,Rh),new lo(8,32,128,256,Rh),new lo(32,128,258,1024,Rh),new lo(32,258,258,4096,Rh)];function Hwe(e){e.window_size=2*e.w_size,xs(e.head),e.max_lazy_match=Nh[e.level].max_lazy,e.good_match=Nh[e.level].good_length,e.nice_match=Nh[e.level].nice_length,e.max_chain_length=Nh[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Yt-1,e.match_available=0,e.ins_h=0}function $we(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Jy,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new si.Buf16(xwe*2),this.dyn_dtree=new si.Buf16((2*kwe+1)*2),this.bl_tree=new si.Buf16((2*Owe+1)*2),xs(this.dyn_ltree),xs(this.dyn_dtree),xs(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new si.Buf16(Pwe+1),this.heap=new si.Buf16(2*bI+1),xs(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new si.Buf16(2*bI+1),xs(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function N9(e){var t;return!e||!e.state?Os(e,Qi):(e.total_in=e.total_out=0,e.data_type=Swe,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?eT:Zl,e.adler=t.wrap===2?0:1,t.last_flush=Kl,Zi._tr_init(t),so)}function M9(e){var t=N9(e);return t===so&&Hwe(e.state),t}function Uwe(e,t){return!e||!e.state||e.state.wrap!==2?Qi:(e.state.gzhead=t,so)}function L9(e,t,n,i,r,a){if(!e)return Qi;var o=1;if(t===ywe&&(t=6),i<0?(o=0,i=-i):i>15&&(o=2,i-=16),r<1||r>Awe||n!==Jy||i<8||i>15||t<0||t>9||a<0||a>bwe)return Os(e,Qi);i===8&&(i=9);var s=new $we;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Yt-1)/Yt),s.window=new si.Buf8(s.w_size*2),s.head=new si.Buf16(s.hash_size),s.prev=new si.Buf16(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new si.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=(1+2)*s.lit_bufsize,s.level=t,s.strategy=a,s.method=n,M9(e)}function Gwe(e,t){return L9(e,t,Jy,Cwe,Dwe,_we)}function zwe(e,t){var n,i,r,a;if(!e||!e.state||t>O9||t<0)return e?Os(e,Qi):Qi;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===qp&&t!==ws)return Os(e,e.avail_out===0?EI:Qi);if(i.strm=e,n=i.last_flush,i.last_flush=t,i.status===eT)if(i.wrap===2)e.adler=0,Zt(i,31),Zt(i,139),Zt(i,8),i.gzhead?(Zt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Zt(i,i.gzhead.time&255),Zt(i,i.gzhead.time>>8&255),Zt(i,i.gzhead.time>>16&255),Zt(i,i.gzhead.time>>24&255),Zt(i,i.level===9?2:i.strategy>=Qy||i.level<2?4:0),Zt(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(Zt(i,i.gzhead.extra.length&255),Zt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Is(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=_I):(Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,i.level===9?2:i.strategy>=Qy||i.level<2?4:0),Zt(i,Nwe),i.status=Zl);else{var o=Jy+(i.w_bits-8<<4)<<8,s=-1;i.strategy>=Qy||i.level<2?s=0:i.level<6?s=1:i.level===6?s=2:s=3,o|=s<<6,i.strstart!==0&&(o|=Rwe),o+=31-o%31,i.status=Zl,Kp(i,o),i.strstart!==0&&(Kp(i,e.adler>>>16),Kp(i,e.adler&65535)),e.adler=1}if(i.status===_I)if(i.gzhead.extra){for(r=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size));)Zt(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=tT)}else i.status=tT;if(i.status===tT)if(i.gzhead.name){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.name.length?a=i.gzhead.name.charCodeAt(i.gzindex++)&255:a=0,Zt(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),a===0&&(i.gzindex=0,i.status=nT)}else i.status=nT;if(i.status===nT)if(i.gzhead.comment){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.comment.length?a=i.gzhead.comment.charCodeAt(i.gzindex++)&255:a=0,Zt(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),a===0&&(i.status=rT)}else i.status=rT;if(i.status===rT&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Ps(e),i.pending+2<=i.pending_buf_size&&(Zt(i,e.adler&255),Zt(i,e.adler>>8&255),e.adler=0,i.status=Zl)):i.status=Zl),i.pending!==0){if(Ps(e),e.avail_out===0)return i.last_flush=-1,so}else if(e.avail_in===0&&P9(t)<=P9(n)&&t!==ws)return Os(e,EI);if(i.status===qp&&e.avail_in!==0)return Os(e,EI);if(e.avail_in!==0||i.lookahead!==0||t!==Kl&&i.status!==qp){var u=i.strategy===Qy?Fwe(i,t):i.strategy===Ewe?Bwe(i,t):Nh[i.level].func(i,t);if((u===Ql||u===Ph)&&(i.status=qp),u===rr||u===Ql)return e.avail_out===0&&(i.last_flush=-1),so;if(u===Xp&&(t===mwe?Zi._tr_align(i):t!==O9&&(Zi._tr_stored_block(i,0,0,!1),t===gwe&&(xs(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Ps(e),e.avail_out===0))return i.last_flush=-1,so}return t!==ws?so:i.wrap<=0?x9:(i.wrap===2?(Zt(i,e.adler&255),Zt(i,e.adler>>8&255),Zt(i,e.adler>>16&255),Zt(i,e.adler>>24&255),Zt(i,e.total_in&255),Zt(i,e.total_in>>8&255),Zt(i,e.total_in>>16&255),Zt(i,e.total_in>>24&255)):(Kp(i,e.adler>>>16),Kp(i,e.adler&65535)),Ps(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?so:x9)}function jwe(e){var t;return!e||!e.state?Qi:(t=e.state.status,t!==eT&&t!==_I&&t!==tT&&t!==nT&&t!==rT&&t!==Zl&&t!==qp?Os(e,Qi):(e.state=null,t===Zl?Os(e,vwe):so))}function Vwe(e,t){var n=t.length,i,r,a,o,s,u,c,l;if(!e||!e.state||(i=e.state,o=i.wrap,o===2||o===1&&i.status!==eT||i.lookahead))return Qi;for(o===1&&(e.adler=k9(e.adler,t,n,0)),i.wrap=0,n>=i.w_size&&(o===0&&(xs(i.head),i.strstart=0,i.block_start=0,i.insert=0),l=new si.Buf8(i.w_size),si.arraySet(l,t,n-i.w_size,i.w_size,0),t=l,n=i.w_size),s=e.avail_in,u=e.next_in,c=e.input,e.avail_in=n,e.next_in=0,e.input=t,Jl(i);i.lookahead>=Yt;){r=i.strstart,a=i.lookahead-(Yt-1);do i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+Yt-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++;while(--a);i.strstart=r,i.lookahead=Yt-1,Jl(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=Yt-1,i.match_available=0,e.next_in=u,e.input=c,e.avail_in=s,i.wrap=o,so}ao.deflateInit=Gwe,ao.deflateInit2=L9,ao.deflateReset=M9,ao.deflateResetKeep=N9,ao.deflateSetHeader=Uwe,ao.deflate=zwe,ao.deflateEnd=jwe,ao.deflateSetDictionary=Vwe,ao.deflateInfo="pako deflate (from Nodeca project)";var eu={},iT=Go,B9=!0,F9=!0;try{String.fromCharCode.apply(null,[0])}catch{B9=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{F9=!1}for(var Zp=new iT.Buf8(256),Rs=0;Rs<256;Rs++)Zp[Rs]=Rs>=252?6:Rs>=248?5:Rs>=240?4:Rs>=224?3:Rs>=192?2:1;Zp[254]=Zp[254]=1,eu.string2buf=function(e){var t,n,i,r,a,o=e.length,s=0;for(r=0;r<o;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<o&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new iT.Buf8(s),a=0,r=0;a<s;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<o&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t};function H9(e,t){if(t<65534&&(e.subarray&&F9||!e.subarray&&B9))return String.fromCharCode.apply(null,iT.shrinkBuf(e,t));for(var n="",i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n}eu.buf2binstring=function(e){return H9(e,e.length)},eu.binstring2buf=function(e){for(var t=new iT.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},eu.buf2string=function(e,t){var n,i,r,a,o=t||e.length,s=new Array(o*2);for(i=0,n=0;n<o;){if(r=e[n++],r<128){s[i++]=r;continue}if(a=Zp[r],a>4){s[i++]=65533,n+=a-1;continue}for(r&=a===2?31:a===3?15:7;a>1&&n<o;)r=r<<6|e[n++]&63,a--;if(a>1){s[i++]=65533;continue}r<65536?s[i++]=r:(r-=65536,s[i++]=55296|r>>10&1023,s[i++]=56320|r&1023)}return H9(s,i)},eu.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Zp[e[n]]>t?n:t};function Ywe(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var $9=Ywe,Qp=ao,Jp=Go,AI=eu,CI=TI,Wwe=$9,U9=Object.prototype.toString,qwe=0,DI=4,Mh=0,G9=1,z9=2,Xwe=-1,Kwe=0,Zwe=8;function tu(e){if(!(this instanceof tu))return new tu(e);this.options=Jp.assign({level:Xwe,method:Zwe,chunkSize:16384,windowBits:15,memLevel:8,strategy:Kwe,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Wwe,this.strm.avail_out=0;var n=Qp.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Mh)throw new Error(CI[n]);if(t.header&&Qp.deflateSetHeader(this.strm,t.header),t.dictionary){var i;if(typeof t.dictionary=="string"?i=AI.string2buf(t.dictionary):U9.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,n=Qp.deflateSetDictionary(this.strm,i),n!==Mh)throw new Error(CI[n]);this._dict_set=!0}}tu.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,r,a;if(this.ended)return!1;a=t===~~t?t:t===!0?DI:qwe,typeof e=="string"?n.input=AI.string2buf(e):U9.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Jp.Buf8(i),n.next_out=0,n.avail_out=i),r=Qp.deflate(n,a),r!==G9&&r!==Mh)return this.onEnd(r),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(a===DI||a===z9))&&(this.options.to==="string"?this.onData(AI.buf2binstring(Jp.shrinkBuf(n.output,n.next_out))):this.onData(Jp.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&r!==G9);return a===DI?(r=Qp.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Mh):(a===z9&&(this.onEnd(Mh),n.avail_out=0),!0)},tu.prototype.onData=function(e){this.chunks.push(e)},tu.prototype.onEnd=function(e){e===Mh&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Jp.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function II(e,t){var n=new tu(t);if(n.push(e,!0),n.err)throw n.msg||CI[n.err];return n.result}function Qwe(e,t){return t=t||{},t.raw=!0,II(e,t)}function Jwe(e,t){return t=t||{},t.gzip=!0,II(e,t)}Up.Deflate=tu,Up.deflate=II,Up.deflateRaw=Qwe,Up.gzip=Jwe;var em={},Da={},aT=30,eke=12,tke=function(t,n){var i,r,a,o,s,u,c,l,f,h,d,p,m,g,v,E,y,T,b,S,I,D,R,M,k;i=t.state,r=t.next_in,M=t.input,a=r+(t.avail_in-5),o=t.next_out,k=t.output,s=o-(n-t.avail_out),u=o+(t.avail_out-257),c=i.dmax,l=i.wsize,f=i.whave,h=i.wnext,d=i.window,p=i.hold,m=i.bits,g=i.lencode,v=i.distcode,E=(1<<i.lenbits)-1,y=(1<<i.distbits)-1;e:do{m<15&&(p+=M[r++]<<m,m+=8,p+=M[r++]<<m,m+=8),T=g[p&E];t:for(;;){if(b=T>>>24,p>>>=b,m-=b,b=T>>>16&255,b===0)k[o++]=T&65535;else if(b&16){S=T&65535,b&=15,b&&(m<b&&(p+=M[r++]<<m,m+=8),S+=p&(1<<b)-1,p>>>=b,m-=b),m<15&&(p+=M[r++]<<m,m+=8,p+=M[r++]<<m,m+=8),T=v[p&y];n:for(;;){if(b=T>>>24,p>>>=b,m-=b,b=T>>>16&255,b&16){if(I=T&65535,b&=15,m<b&&(p+=M[r++]<<m,m+=8,m<b&&(p+=M[r++]<<m,m+=8)),I+=p&(1<<b)-1,I>c){t.msg="invalid distance too far back",i.mode=aT;break e}if(p>>>=b,m-=b,b=o-s,I>b){if(b=I-b,b>f&&i.sane){t.msg="invalid distance too far back",i.mode=aT;break e}if(D=0,R=d,h===0){if(D+=l-b,b<S){S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}}else if(h<b){if(D+=l+h-b,b-=h,b<S){S-=b;do k[o++]=d[D++];while(--b);if(D=0,h<S){b=h,S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}}}else if(D+=h-b,b<S){S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}for(;S>2;)k[o++]=R[D++],k[o++]=R[D++],k[o++]=R[D++],S-=3;S&&(k[o++]=R[D++],S>1&&(k[o++]=R[D++]))}else{D=o-I;do k[o++]=k[D++],k[o++]=k[D++],k[o++]=k[D++],S-=3;while(S>2);S&&(k[o++]=k[D++],S>1&&(k[o++]=k[D++]))}}else if((b&64)===0){T=v[(T&65535)+(p&(1<<b)-1)];continue n}else{t.msg="invalid distance code",i.mode=aT;break e}break}}else if((b&64)===0){T=g[(T&65535)+(p&(1<<b)-1)];continue t}else if(b&32){i.mode=eke;break e}else{t.msg="invalid literal/length code",i.mode=aT;break e}break}}while(r<a&&o<u);S=m>>3,r-=S,m-=S<<3,p&=(1<<m)-1,t.next_in=r,t.next_out=o,t.avail_in=r<a?5+(a-r):5-(r-a),t.avail_out=o<u?257+(u-o):257-(o-u),i.hold=p,i.bits=m},j9=Go,Lh=15,V9=852,Y9=592,W9=0,wI=1,q9=2,nke=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],rke=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],ike=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],ake=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],oke=function(t,n,i,r,a,o,s,u){var c=u.bits,l=0,f=0,h=0,d=0,p=0,m=0,g=0,v=0,E=0,y=0,T,b,S,I,D,R=null,M=0,k,L=new j9.Buf16(Lh+1),$=new j9.Buf16(Lh+1),P=null,B=0,X,ee,se;for(l=0;l<=Lh;l++)L[l]=0;for(f=0;f<r;f++)L[n[i+f]]++;for(p=c,d=Lh;d>=1&&L[d]===0;d--);if(p>d&&(p=d),d===0)return a[o++]=1<<24|64<<16|0,a[o++]=1<<24|64<<16|0,u.bits=1,0;for(h=1;h<d&&L[h]===0;h++);for(p<h&&(p=h),v=1,l=1;l<=Lh;l++)if(v<<=1,v-=L[l],v<0)return-1;if(v>0&&(t===W9||d!==1))return-1;for($[1]=0,l=1;l<Lh;l++)$[l+1]=$[l]+L[l];for(f=0;f<r;f++)n[i+f]!==0&&(s[$[n[i+f]]++]=f);if(t===W9?(R=P=s,k=19):t===wI?(R=nke,M-=257,P=rke,B-=257,k=256):(R=ike,P=ake,k=-1),y=0,f=0,l=h,D=o,m=p,g=0,S=-1,E=1<<p,I=E-1,t===wI&&E>V9||t===q9&&E>Y9)return 1;for(;;){X=l-g,s[f]<k?(ee=0,se=s[f]):s[f]>k?(ee=P[B+s[f]],se=R[M+s[f]]):(ee=32+64,se=0),T=1<<l-g,b=1<<m,h=b;do b-=T,a[D+(y>>g)+b]=X<<24|ee<<16|se|0;while(b!==0);for(T=1<<l-1;y&T;)T>>=1;if(T!==0?(y&=T-1,y+=T):y=0,f++,--L[l]===0){if(l===d)break;l=n[i+s[f]]}if(l>p&&(y&I)!==S){for(g===0&&(g=p),D+=h,m=l-g,v=1<<m;m+g<d&&(v-=L[m+g],!(v<=0));)m++,v<<=1;if(E+=1<<m,t===wI&&E>V9||t===q9&&E>Y9)return 1;S=y&I,a[S]=p<<24|m<<16|D-o|0}}return y!==0&&(a[D+y]=l-g<<24|64<<16|0),u.bits=p,0},Mi=Go,kI=I9,uo=w9,ske=tke,tm=oke,lke=0,X9=1,K9=2,Z9=4,uke=5,oT=6,nu=0,cke=1,hke=2,Ji=-2,Q9=-3,J9=-4,fke=-5,e$=8,t$=1,n$=2,r$=3,i$=4,a$=5,o$=6,s$=7,l$=8,u$=9,c$=10,sT=11,jo=12,OI=13,h$=14,xI=15,f$=16,d$=17,p$=18,m$=19,lT=20,uT=21,g$=22,v$=23,y$=24,T$=25,E$=26,PI=27,b$=28,_$=29,kn=30,S$=31,dke=32,pke=852,mke=592,gke=15,vke=gke;function A$(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function yke(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Mi.Buf16(320),this.work=new Mi.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function C$(e){var t;return!e||!e.state?Ji:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=t$,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Mi.Buf32(pke),t.distcode=t.distdyn=new Mi.Buf32(mke),t.sane=1,t.back=-1,nu)}function D$(e){var t;return!e||!e.state?Ji:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,C$(e))}function I$(e,t){var n,i;return!e||!e.state||(i=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ji:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,D$(e))}function w$(e,t){var n,i;return e?(i=new yke,e.state=i,i.window=null,n=I$(e,t),n!==nu&&(e.state=null),n):Ji}function Tke(e){return w$(e,vke)}var k$=!0,RI,NI;function Eke(e){if(k$){var t;for(RI=new Mi.Buf32(512),NI=new Mi.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(tm(X9,e.lens,0,288,RI,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;tm(K9,e.lens,0,32,NI,0,e.work,{bits:5}),k$=!1}e.lencode=RI,e.lenbits=9,e.distcode=NI,e.distbits=5}function O$(e,t,n,i){var r,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Mi.Buf8(a.wsize)),i>=a.wsize?(Mi.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>i&&(r=i),Mi.arraySet(a.window,t,n-i,r,a.wnext),i-=r,i?(Mi.arraySet(a.window,t,n-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0}function bke(e,t){var n,i,r,a,o,s,u,c,l,f,h,d,p,m,g=0,v,E,y,T,b,S,I,D,R=new Mi.Buf8(4),M,k,L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ji;n=e.state,n.mode===jo&&(n.mode=OI),o=e.next_out,r=e.output,u=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,c=n.hold,l=n.bits,f=s,h=u,D=nu;e:for(;;)switch(n.mode){case t$:if(n.wrap===0){n.mode=OI;break}for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.wrap&2&&c===35615){n.check=0,R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0),c=0,l=0,n.mode=n$;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=kn;break}if((c&15)!==e$){e.msg="unknown compression method",n.mode=kn;break}if(c>>>=4,l-=4,I=(c&15)+8,n.wbits===0)n.wbits=I;else if(I>n.wbits){e.msg="invalid window size",n.mode=kn;break}n.dmax=1<<I,e.adler=n.check=1,n.mode=c&512?c$:jo,c=0,l=0;break;case n$:for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.flags=c,(n.flags&255)!==e$){e.msg="unknown compression method",n.mode=kn;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=kn;break}n.head&&(n.head.text=c>>8&1),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0,n.mode=r$;case r$:for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.head&&(n.head.time=c),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,R[2]=c>>>16&255,R[3]=c>>>24&255,n.check=uo(n.check,R,4,0)),c=0,l=0,n.mode=i$;case i$:for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.head&&(n.head.xflags=c&255,n.head.os=c>>8),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0,n.mode=a$;case a$:if(n.flags&1024){for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=o$;case o$:if(n.flags&1024&&(d=n.length,d>s&&(d=s),d&&(n.head&&(I=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Mi.arraySet(n.head.extra,i,a,d,I)),n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,n.length-=d),n.length))break e;n.length=0,n.mode=s$;case s$:if(n.flags&2048){if(s===0)break e;d=0;do I=i[a+d++],n.head&&I&&n.length<65536&&(n.head.name+=String.fromCharCode(I));while(I&&d<s);if(n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,I)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=l$;case l$:if(n.flags&4096){if(s===0)break e;d=0;do I=i[a+d++],n.head&&I&&n.length<65536&&(n.head.comment+=String.fromCharCode(I));while(I&&d<s);if(n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,I)break e}else n.head&&(n.head.comment=null);n.mode=u$;case u$:if(n.flags&512){for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c!==(n.check&65535)){e.msg="header crc mismatch",n.mode=kn;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=jo;break;case c$:for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}e.adler=n.check=A$(c),c=0,l=0,n.mode=sT;case sT:if(n.havedict===0)return e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,hke;e.adler=n.check=1,n.mode=jo;case jo:if(t===uke||t===oT)break e;case OI:if(n.last){c>>>=l&7,l-=l&7,n.mode=PI;break}for(;l<3;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}switch(n.last=c&1,c>>>=1,l-=1,c&3){case 0:n.mode=h$;break;case 1:if(Eke(n),n.mode=lT,t===oT){c>>>=2,l-=2;break e}break;case 2:n.mode=d$;break;case 3:e.msg="invalid block type",n.mode=kn}c>>>=2,l-=2;break;case h$:for(c>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=kn;break}if(n.length=c&65535,c=0,l=0,n.mode=xI,t===oT)break e;case xI:n.mode=f$;case f$:if(d=n.length,d){if(d>s&&(d=s),d>u&&(d=u),d===0)break e;Mi.arraySet(r,i,a,d,o),s-=d,a+=d,u-=d,o+=d,n.length-=d;break}n.mode=jo;break;case d$:for(;l<14;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.nlen=(c&31)+257,c>>>=5,l-=5,n.ndist=(c&31)+1,c>>>=5,l-=5,n.ncode=(c&15)+4,c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=kn;break}n.have=0,n.mode=p$;case p$:for(;n.have<n.ncode;){for(;l<3;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.lens[L[n.have++]]=c&7,c>>>=3,l-=3}for(;n.have<19;)n.lens[L[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,M={bits:n.lenbits},D=tm(lke,n.lens,0,19,n.lencode,0,n.work,M),n.lenbits=M.bits,D){e.msg="invalid code lengths set",n.mode=kn;break}n.have=0,n.mode=m$;case m$:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[c&(1<<n.lenbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(y<16)c>>>=v,l-=v,n.lens[n.have++]=y;else{if(y===16){for(k=v+2;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c>>>=v,l-=v,n.have===0){e.msg="invalid bit length repeat",n.mode=kn;break}I=n.lens[n.have-1],d=3+(c&3),c>>>=2,l-=2}else if(y===17){for(k=v+3;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=v,l-=v,I=0,d=3+(c&7),c>>>=3,l-=3}else{for(k=v+7;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=v,l-=v,I=0,d=11+(c&127),c>>>=7,l-=7}if(n.have+d>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=kn;break}for(;d--;)n.lens[n.have++]=I}}if(n.mode===kn)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=kn;break}if(n.lenbits=9,M={bits:n.lenbits},D=tm(X9,n.lens,0,n.nlen,n.lencode,0,n.work,M),n.lenbits=M.bits,D){e.msg="invalid literal/lengths set",n.mode=kn;break}if(n.distbits=6,n.distcode=n.distdyn,M={bits:n.distbits},D=tm(K9,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,M),n.distbits=M.bits,D){e.msg="invalid distances set",n.mode=kn;break}if(n.mode=lT,t===oT)break e;case lT:n.mode=uT;case uT:if(s>=6&&u>=258){e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,ske(e,h),o=e.next_out,r=e.output,u=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===jo&&(n.back=-1);break}for(n.back=0;g=n.lencode[c&(1<<n.lenbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(E&&(E&240)===0){for(T=v,b=E,S=y;g=n.lencode[S+((c&(1<<T+b)-1)>>T)],v=g>>>24,E=g>>>16&255,y=g&65535,!(T+v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=T,l-=T,n.back+=T}if(c>>>=v,l-=v,n.back+=v,n.length=y,E===0){n.mode=E$;break}if(E&32){n.back=-1,n.mode=jo;break}if(E&64){e.msg="invalid literal/length code",n.mode=kn;break}n.extra=E&15,n.mode=g$;case g$:if(n.extra){for(k=n.extra;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=v$;case v$:for(;g=n.distcode[c&(1<<n.distbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if((E&240)===0){for(T=v,b=E,S=y;g=n.distcode[S+((c&(1<<T+b)-1)>>T)],v=g>>>24,E=g>>>16&255,y=g&65535,!(T+v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=T,l-=T,n.back+=T}if(c>>>=v,l-=v,n.back+=v,E&64){e.msg="invalid distance code",n.mode=kn;break}n.offset=y,n.extra=E&15,n.mode=y$;case y$:if(n.extra){for(k=n.extra;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=kn;break}n.mode=T$;case T$:if(u===0)break e;if(d=h-u,n.offset>d){if(d=n.offset-d,d>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=kn;break}d>n.wnext?(d-=n.wnext,p=n.wsize-d):p=n.wnext-d,d>n.length&&(d=n.length),m=n.window}else m=r,p=o-n.offset,d=n.length;d>u&&(d=u),u-=d,n.length-=d;do r[o++]=m[p++];while(--d);n.length===0&&(n.mode=uT);break;case E$:if(u===0)break e;r[o++]=n.length,u--,n.mode=uT;break;case PI:if(n.wrap){for(;l<32;){if(s===0)break e;s--,c|=i[a++]<<l,l+=8}if(h-=u,e.total_out+=h,n.total+=h,h&&(e.adler=n.check=n.flags?uo(n.check,r,h,o-h):kI(n.check,r,h,o-h)),h=u,(n.flags?c:A$(c))!==n.check){e.msg="incorrect data check",n.mode=kn;break}c=0,l=0}n.mode=b$;case b$:if(n.wrap&&n.flags){for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=kn;break}c=0,l=0}n.mode=_$;case _$:D=cke;break e;case kn:D=Q9;break e;case S$:return J9;case dke:default:return Ji}return e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||h!==e.avail_out&&n.mode<kn&&(n.mode<PI||t!==Z9))&&O$(e,e.output,e.next_out,h-e.avail_out),f-=e.avail_in,h-=e.avail_out,e.total_in+=f,e.total_out+=h,n.total+=h,n.wrap&&h&&(e.adler=n.check=n.flags?uo(n.check,r,h,e.next_out-h):kI(n.check,r,h,e.next_out-h)),e.data_type=n.bits+(n.last?64:0)+(n.mode===jo?128:0)+(n.mode===lT||n.mode===xI?256:0),(f===0&&h===0||t===Z9)&&D===nu&&(D=fke),D}function _ke(e){if(!e||!e.state)return Ji;var t=e.state;return t.window&&(t.window=null),e.state=null,nu}function Ske(e,t){var n;return!e||!e.state||(n=e.state,(n.wrap&2)===0)?Ji:(n.head=t,t.done=!1,nu)}function Ake(e,t){var n=t.length,i,r,a;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==sT)?Ji:i.mode===sT&&(r=1,r=kI(r,t,n,0),r!==i.check)?Q9:(a=O$(e,t,n,n),a?(i.mode=S$,J9):(i.havedict=1,nu))}Da.inflateReset=D$,Da.inflateReset2=I$,Da.inflateResetKeep=C$,Da.inflateInit=Tke,Da.inflateInit2=w$,Da.inflate=bke,Da.inflateEnd=_ke,Da.inflateGetHeader=Ske,Da.inflateSetDictionary=Ake,Da.inflateInfo="pako inflate (from Nodeca project)";var x$={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};function Cke(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var Dke=Cke,Bh=Da,nm=Go,cT=eu,Vn=x$,MI=TI,Ike=$9,wke=Dke,P$=Object.prototype.toString;function ru(e){if(!(this instanceof ru))return new ru(e);this.options=nm.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ike,this.strm.avail_out=0;var n=Bh.inflateInit2(this.strm,t.windowBits);if(n!==Vn.Z_OK)throw new Error(MI[n]);if(this.header=new wke,Bh.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=cT.string2buf(t.dictionary):P$.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Bh.inflateSetDictionary(this.strm,t.dictionary),n!==Vn.Z_OK)))throw new Error(MI[n])}ru.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,r=this.options.dictionary,a,o,s,u,c,l=!1;if(this.ended)return!1;o=t===~~t?t:t===!0?Vn.Z_FINISH:Vn.Z_NO_FLUSH,typeof e=="string"?n.input=cT.binstring2buf(e):P$.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new nm.Buf8(i),n.next_out=0,n.avail_out=i),a=Bh.inflate(n,Vn.Z_NO_FLUSH),a===Vn.Z_NEED_DICT&&r&&(a=Bh.inflateSetDictionary(this.strm,r)),a===Vn.Z_BUF_ERROR&&l===!0&&(a=Vn.Z_OK,l=!1),a!==Vn.Z_STREAM_END&&a!==Vn.Z_OK)return this.onEnd(a),this.ended=!0,!1;n.next_out&&(n.avail_out===0||a===Vn.Z_STREAM_END||n.avail_in===0&&(o===Vn.Z_FINISH||o===Vn.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=cT.utf8border(n.output,n.next_out),u=n.next_out-s,c=cT.buf2string(n.output,s),n.next_out=u,n.avail_out=i-u,u&&nm.arraySet(n.output,n.output,s,u,0),this.onData(c)):this.onData(nm.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(l=!0)}while((n.avail_in>0||n.avail_out===0)&&a!==Vn.Z_STREAM_END);return a===Vn.Z_STREAM_END&&(o=Vn.Z_FINISH),o===Vn.Z_FINISH?(a=Bh.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Vn.Z_OK):(o===Vn.Z_SYNC_FLUSH&&(this.onEnd(Vn.Z_OK),n.avail_out=0),!0)},ru.prototype.onData=function(e){this.chunks.push(e)},ru.prototype.onEnd=function(e){e===Vn.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=nm.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function LI(e,t){var n=new ru(t);if(n.push(e,!0),n.err)throw n.msg||MI[n.err];return n.result}function kke(e,t){return t=t||{},t.raw=!0,LI(e,t)}em.Inflate=ru,em.inflate=LI,em.inflateRaw=kke,em.ungzip=LI;var Oke=Go.assign,xke=Up,Pke=em,Rke=x$,R$={};Oke(R$,xke,Pke,Rke);var Nke=R$,Mke=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];const Lke=Mke;function Bke(e){if(typeof e!="string")throw new TypeError("input must be a string");let t=[],n,i,r={LOCUS_TAG:"LOCUS",DEFINITION_TAG:"DEFINITION",ACCESSION_TAG:"ACCESSION",VERSION_TAG:"VERSION",KEYWORDS_TAG:"KEYWORDS",SOURCE_TAG:"SOURCE",ORGANISM_TAG:"ORGANISM",REFERENCE_TAG:"REFERENCE",AUTHORS_TAG:"AUTHORS",CONSORTIUM_TAG:"CONSRTM",TITLE_TAG:"TITLE",JOURNAL_TAG:"JOURNAL",PUBMED_TAG:"PUBMED",REMARK_TAG:"REMARK",FEATURES_TAG:"FEATURES",BASE_COUNT_TAG:"BASE COUNT",ORIGIN_TAG:"ORIGIN",END_SEQUENCE_TAG:"//"},a=e.split(/\r?\n/),o,s,u,c,l,f=!1;for(let P of a){if(P===null)break;let B=D(P),X=M(P),ee=L(P),se=k(P);if(B===r.END_SEQUENCE_TAG||se?(o=B,s=null):ee&&(s=B),!(P.trim()===""||B===";")){if(!f&&o!==r.LOCUS_TAG)break;switch(o){case r.LOCUS_TAG:f=!0,g(P);break;case r.FEATURES_TAG:y(P,B,X);break;case r.ORIGIN_TAG:m(P,B);break;case r.DEFINITION_TAG:case r.ACCESSION_TAG:case r.VERSION_TAG:case r.KEYWORDS_TAG:R(o,P,o.toLowerCase());break;case r.SOURCE_TAG:s===r.ORGANISM_TAG?R(s,P,"organism"):R(B,P,"source");break;case r.REFERENCE_TAG:if(B===r.REFERENCE_TAG){const fe=n.references||[];n.references=fe,fe.push({})}E(P,s);break;case r.END_SEQUENCE_TAG:h();break}}}return t[t.length-1]!==n&&h(),t;function h(){p(),t.push(n)}function d(){return n.features[n.features.length-1]}function p(){if(n&&n.features)for(let P=0;P<n.features.length;P++)n.features[P]=$(n.features[P])}function m(P,B){if(B!==r.ORIGIN_TAG){let X=P.replace(/[\s]*[0-9]*/g,"");n.sequence+=X}}function g(P){n={features:[],name:"Untitled sequence",sequence:"",references:[]},P=v(r.LOCUS_TAG,P);const B=P.match(/^([^\s]+)\s+(\d+)\s+bp\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s*([^\s]+)?$/);let X=B[1],ee=+B[2],se=B[3],fe=B[4]==="circular";const Z=n;let he="";B[6]?(Z.genbankDivision=B[5],he=B[6]):he=B[5],Z.circular=fe,Z.moleculeType=se;const j=he.match(/^(\d{2})-(.{3})-(\d{4})$/),H=new Date;H.setFullYear(+j[3]),H.setUTCMonth(Lke.indexOf(j[2].toUpperCase())),H.setDate(+j[1]),H.setUTCHours(12),H.setMinutes(0),H.setSeconds(0),H.setMilliseconds(0),Z.date=H.toISOString(),Z.name=X,Z.size=ee}function v(P,B){return B=B.replace(/^\s*/,""),B.indexOf(P)===0&&(B=B.replace(P,"")),B.trim()}function E(P,B){const X=n.references;let ee=X[X.length-1];B?R(B,P,B.toLowerCase(),ee):R(r.REFERENCE_TAG,P,"description",ee)}function y(P,B,X){let ee;if(B===r.FEATURES_TAG){c=!0;return}if(c&&(u=N$(P),c=!1),Fke(P,u))l?(S(P.trim()),l=!0):(i&&(i[i.length-1]+=P.trim().replace(/"/g,"")),l=!1);else if(b(P))d()&&(I(P),l=!1);else{X.match(/complement/g)?ee=-1:ee=1,T();let se=d();se.type=B,se.strand=ee,S(X),l=!0}}function T(){n.features.push({notes:{}})}function b(P){let B=!1;return(P.trim().charAt(0).match(/\//)||P.match(/^[\s]*\/[\w]+=[\S]+/))&&(B=!0),B}function S(P){P=P.trim();let B=[];P.replace(/(\d+)/g,function(ee,se){B.push(se)});let X=d();X.start=+B[0],X.end=B[1]===void 0?+B[0]:+B[1]}function I(P){let B,X;B=P.trim(),B=B.replace(/^\/|"$/g,""),X=B.split(/="|=/);let ee=X[1];ee&&(ee=ee.replace(/\\/g," "),P.match(/="/g)?ee=ee.replace(/".*/g,""):ee.match(/^\d+$/g)&&(ee=+ee));let se=X[0],fe=d().notes;fe[se]?fe[se].push(ee):fe[se]=[ee],i=fe[se]}function D(P){let B;return P=P.trim(),B=P.split(/[\s]+/),B[0]}function R(P,B,X,ee){ee=ee||n;let se=v(P,B);ee[X]=ee[X]?`${ee[X]} `:"",ee[X]+=se}function M(P){let B;return P.indexOf("=")<0?(P=P.replace(/^[\s]*[\S]+[\s]+|[\s]+$/,""),P=P.trim(),P):(B=P.split(/=/),B[1])}function k(P){let B=!1;return P.substr(0,10).match(/^[\S]+/)&&(B=!0),B}function L(P){let B=!1;return P.substr(0,10).match(/^[\s]+[\S]+/)&&(B=!0),B}function $(P){return P.notes.label?P.name=P.notes.label[0]:P.notes.gene?P.name=P.notes.gene[0]:P.notes.ApEinfo_label?P.name=P.notes.ApEinfo_label[0]:P.notes.name?P.name=P.notes.name[0]:P.notes.organism?P.name=P.notes.organism[0]:P.notes.locus_tag?P.name=P.notes.locus_tag[0]:P.notes.note?P.name=P.notes.note[0]:P.name="Untitled Feature",P.name=typeof P.name=="string"?P.name:String(P.name),P}}function Fke(e,t){let n=N$(e);return!(t===n||e.trim().charAt(0).match(/\//))}function N$(e){let t=/^\s*/.exec(e);return t!==null?t[0].length:0}var Hke=Bke;function M$(e,t){const n=[];if(!e.length)return[];let r=e[0].start,a=e[0].end;for(let o=1;o<e.length;o++)e[o].start<a+5*1/t?a=Math.max(a,e[o].end):(n.push({type:"filler",start:r,end:a}),r=e[o].start,a=e[o].end);return n.push({start:r,end:a,type:"filler"}),n}function $ke(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),i=e[t];e[t]=e[n],e[n]=i}return e}function Uke(e){const t=e.end-e.start,n=e.strand===1?"+":"-",i=Pt.nice();return e.type==="filler"?{xStart:e.start,xEnd:e.end,strand:e.strand,fields:[],type:"filler",uid:i}:{xStart:e.start,xEnd:e.end,strand:n,chrOffset:0,importance:e.end-e.start,uid:i,type:e.type,fields:["chrom",e.start,e.end,e.name,t,n,"","",e.type,e.name,e.start.toString(),e.end.toString(),e.start.toString(),e.end.toString()]}}const L$=e=>{const t=Hke(e),n=$ke(t[0].features.filter(i=>i.type!=="source").sort((i,r)=>i.start-r.start));return[t,n]};let B$=function(){function e(t){if(_classCallCheck3(this,e),this.dataConfig=t,this.trackUid=Pt.nice(),t.url){const i=t.url.slice(t.url.length-3)===".gz";this.errorTxt="",this.dataPromise=fetch(t.url,{mode:"cors",redirect:"follow",method:"GET"}).then(r=>i?r.arrayBuffer():r.text()).then(r=>{const a=i?Nke.inflate(r,{to:"string"}):r;[this.gbJson,this.cdss]=L$(a)})}else t.text&&(this.dataPromise=new Promise((n,i)=>{[this.gbJson,this.cdss]=L$(t.text),n()}))}return _createClass3(e,[{key:"tilesetInfo",value:function(n){return this.tilesetInfoLoading=!0,this.dataPromise.then(()=>{this.tilesetInfoLoading=!1;const i=1024;let r={};return r={tile_size:i,max_zoom:Math.ceil(Math.log(this.gbJson[0].size/i)/Math.log(2)),max_width:this.gbJson[0].size,min_pos:[0],max_pos:[this.gbJson[0].size]},n&&n(r),r}).catch(i=>{this.tilesetInfoLoading=!1,n&&n({error:`Error parsing genbank: ${i}`})})}},{key:"fetchTilesDebounced",value:function(n,i){const r={},a=[],o=[];for(const s of i){const u=s.split("."),c=parseInt(u[0],10),l=parseInt(u[1],10);if(Number.isNaN(l)||Number.isNaN(c)){console.warn("Invalid tile zoom or position:",c,l);continue}a.push(s),o.push(this.tile(c,l))}return Promise.all(o).then(s=>{for(let u=0;u<s.length;u++){const c=a[u];r[c]=s[u],r[c].tilePositionId=c}n(r)}),r}},{key:"tile",value:function(n,i){return this.tilesetInfo().then(r=>{const a=+r.max_width/2**+n,o=r.min_pos[0]+i*a,s=r.min_pos[0]+(i+1)*a,u=this.cdss.filter(p=>p.end>o&&p.start<s),c=1024/2**(r.max_zoom-n),l=M$(u.filter(p=>p.strand===1),c),f=M$(u.filter(p=>p.strand!==1),c);l.forEach(p=>{p.strand="+"}),f.forEach(p=>{p.strand="-"});let h=[];const d=20;for(let p=0;p<this.cdss.length&&!(h.length>=d);p++)this.cdss[p].end>=o&&this.cdss[p].start<=s&&h.push(this.cdss[p]);return h=[...h,...l,...f],h.map(p=>Uke(p))})}}]),e}(),F$=function(){function e(t){_classCallCheck3(this,e),this.dataConfig=t,this.tilesetInfoData=Object.values(this.dataConfig.tilesetInfo)[0]}return _createClass3(e,[{key:"tilesetInfo",value:function(n){this.tilesetInfoLoading=!1,n(this.tilesetInfoData)}},{key:"fetchTilesDebounced",value:function(n,i){this.tilesData={};for(const o of Object.keys(this.dataConfig.tiles)){const u=`localtile.${o.split(".").slice(1).join(".")}`;this.tilesData[u]=this.dataConfig.tiles[o]}const r={},a=i.map(o=>`localtile.${o}`);yR(this.tilesData,"",a);for(const o of i)r[o]=this.tilesData[`localtile.${o}`];n(r)}},{key:"tile",value:function(n,i){}}]),e}();const H$=(e,t,n,i=hT)=>{const r=n[e.type];return r?new r.dataFetcher(i,e,t):e.type==="genbank"?new B$(e,t):e.type==="local-tiles"?new F$(e,t):new Oy(e,t)},BI="1.12.1",Gke={d3Array:Jz,d3Axis:qSe,d3Brush:HK,d3Color:dj,d3Drag:vX,d3Dsv:WZ,d3Format:Uj,d3Geo:lCe,d3Queue:dCe,d3Request:RCe,d3Scale:gY,d3Selection:sz,d3Transition:see,d3Zoom:pee,PIXI:Be.PIXI,mix:fh,slugid:Pt},hT={chromosomes:{ChromosomeInfo:ro,SearchField:Dh},libraries:Gke,tracks:{Annotations1dTrack:LD,Annotations2dTrack:TH,ArrowheadDomainsTrack:bH,BarTrack:FD,BedLikeTrack:c8,CNVIntervalTrack:h8,Chromosome2DAnnotations:f8,Chromosome2DLabels:d8,ChromosomeGrid:Lp,CombinedTrack:bb,CrossRule:g8,DivergentBarTrack:v8,HeatmapTiledPixiTrack:Hp,Horizontal1dHeatmapTrack:b8,Horizontal2DDomainsTrack:_8,HorizontalChromosomeLabels:A8,HorizontalGeneAnnotationsTrack:sI,HorizontalHeatmapTrack:O8,HorizontalLine1DPixiTrack:gh,HorizontalMultivecTrack:x8,HorizontalPoint1DPixiTrack:P8,HorizontalRule:R8,HorizontalTiled1DPixiTrack:mh,HorizontalTiledPlot:qy,HorizontalTrack:L8,Id2DTiledPixiTrack:U8,IdHorizontal1DTiledPixiTrack:G8,IdVertical1DTiledPixiTrack:j8,LeftAxisTrack:V8,MapboxTilesTrack:Y8,MoveableTrack:Yy,OSMTileIdsTrack:W8,OSMTilesTrack:$p,OverlayTrack:X8,PixiTrack:ai,RasterTilesTrack:K8,SVGTrack:Ds,SquareMarkersTrack:Z8,Tiled1DPixiTrack:BD,TiledPixiTrack:Ts,TopAxisTrack:Q8,Track:ph,ValueIntervalTrack:J8,VerticalRule:m8,VerticalTiled1DPixiTrack:z8,VerticalTrack:e9,ViewportTracker2D:t9,ViewportTracker2DPixi:xIe,ViewportTrackerHorizontal:n9,ViewportTrackerVertical:r9},dataFetchers:{DataFetcher:Oy,GBKDataFetcher:B$,LocalDataFetcher:F$,getDataFetcher:H$},factories:{ContextMenuItem:St,DataFetcher:Oy,LruCache:i9},services:xQ,utils:Bge,configs:hm,VERSION:BI},fT=(e,t)=>{const n=gb(t);let i=new Set(Object.values(n).flatMap(r=>r));for(const r of e){const a=new Set(r);i=new Set([...i].filter(o=>o.datatype.filter(s=>a.has(s)).length>0))}return[...i]},Ns={"track-control":"_track-control_w7hx2_1","track-control-vertical":"_track-control-vertical_w7hx2_2","track-control-dark":"_track-control-dark_w7hx2_15","track-control-active":"_track-control-active_w7hx2_16 _track-control_w7hx2_1","track-control-left":"_track-control-left_w7hx2_24","track-control-vertical-active":"_track-control-vertical-active_w7hx2_30","track-control-padding-right":"_track-control-padding-right_w7hx2_48","track-control-button":"_track-control-button_w7hx2_52","track-control-button-vertical":"_track-control-button-vertical_w7hx2_81"},zke=e=>qt({[Ns["track-control-active"]]:e.isVisible,[Ns["track-control"]]:!e.isVisible,[Ns["track-control-left"]]:e.isAlignLeft,[Ns["track-control-vertical"]]:e.isVertical,[Ns["track-control-padding-right"]]:e.paddingRight,[Ns["track-control-dark"]]:e.theme===pn}),dT=e=>qt("no-zoom",Ns["track-control-button"],{[Ns["track-control-button-vertical"]]:e.isVertical});let FI=null,U$=null;function G$(e){(!e||!FI||Object.keys(e).some(i=>FI[i]!==e[i]))&&(FI=e,U$=fb(()=>A.default.createElement("svg",{className:dT(e),style:{height:"20px",width:"20px",...e.imgStyleMove}},A.default.createElement("title",null,"Move track"),A.default.createElement("use",{xlinkHref:"#move"}))));let t,n;return A.default.createElement("div",{className:zke(e)},e.isMoveable&&A.default.createElement(U$,null),A.default.createElement("svg",{ref:i=>{t=i},className:dT(e),onClick:()=>{e.onConfigTrackMenuOpened(e.uid,t.getBoundingClientRect())},style:{height:"20px",width:"20px",...e.imgStyleSettings}},A.default.createElement("title",null,"Configure track"),A.default.createElement("use",{xlinkHref:"#cog"})),e.onAddSeries&&A.default.createElement("svg",{className:dT(e),onClick:()=>e.onAddSeries(e.uid),style:{height:"20px",width:"20px",...e.imgStyleAdd}},A.default.createElement("title",null,"Add series"),A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{ref:i=>{n=i},className:dT(e),onClick:()=>{e.onCloseTrackMenuOpened(e.uid,n.getBoundingClientRect())},style:{height:"20px",width:"20px",...e.imgStyleClose}},A.default.createElement("title",null,"Close track"),A.default.createElement("use",{xlinkHref:"#cross"})))}G$.propTypes={imgStyleAdd:N.exports.object,imgStyleClose:N.exports.object,imgStyleMove:N.exports.object,imgStyleSettings:N.exports.object,isAlignLeft:N.exports.bool,isMoveable:N.exports.bool,isVertical:N.exports.bool,isVisible:N.exports.bool,onConfigTrackMenuOpened:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onAddSeries:N.exports.func,paddingRight:N.exports.bool,theme:N.exports.symbol.isRequired,uid:N.exports.string};const pT=hl(G$),HI={"center-track":"_center-track_fiu64_1","center-track-container":"_center-track-container_fiu64_6"},mT={pointerEvents:"all"};function Fh(e){return e&&e.sourceEvent}let $I=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={isVisible:!1},r.brushBehaviorX=Ig().on("brush",r.brushedX.bind(_assertThisInitialized3(r))).on("end",r.brushedXEnded.bind(_assertThisInitialized3(r))),r.brushBehaviorY=vf().on("brush",r.brushedY.bind(_assertThisInitialized3(r))).on("end",r.brushedYEnded.bind(_assertThisInitialized3(r))),r.brushBehaviorXY=nb().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushedXY.bind(_assertThisInitialized3(r))).on("end",r.brushedXYEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush2d()}},{key:"shouldComponentUpdate",value:function(r,a){if(this.rangeSelectionTriggeredXY){if(this.rangeSelectionTriggeredXY=!1,this.rangeSelectionTriggeredXYEnd){const o=r.rangeSelection[0]||null;this.moveBrushXY([o,r.rangeSelection[1]],!0),this.rangeSelectionTriggeredXYEnd=!1}return this.state!==a}if(this.props.rangeSelection!==r.rangeSelection){const o=r.rangeSelection[0]||null;this.props.is1dRangeSelection?(this.rangeSelectionTriggeredX||this.moveBrushX(o,r.rangeSelectionEnd),this.rangeSelectionTriggeredXEnd&&this.moveBrushX(o,r.rangeSelectionEnd,!0),this.rangeSelectionTriggeredY||this.moveBrushY(o,r.rangeSelectionEnd),this.rangeSelectionTriggeredYEnd&&this.moveBrushY(o,r.rangeSelectionEnd,!0),this.rangeSelectionTriggeredX=!1,this.rangeSelectionTriggeredXEnd=!1,this.rangeSelectionTriggeredY=!1,this.rangeSelectionTriggeredYEnd=!1):this.moveBrushXY([o,r.rangeSelection[1]],r.rangeSelectionEnd);const s=this.props.is1dRangeSelection&&!r.is1dRangeSelection&&o===null;return this.state!==a||s}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush2d():(this.removeBrush1d(),this.removeBrush2d())}},{key:"addBrush1d",value:function(){!this.brushElX||!this.brushElY||this.brushElXOld===this.brushElX&&this.brushElYOld===this.brushElY||(this.brushElXOld&&this.brushElXOld.on(".brush",null),this.brushElYOld&&this.brushElYOld.on(".brush",null),this.brushElX.call(this.brushBehaviorX),this.brushElY.call(this.brushBehaviorY),zu(this.brushElX,Aa["track-range-selection-group-brush-selection"]),zu(this.brushElY,Aa["track-range-selection-group-brush-selection"]),this.brushElXOld=this.brushElX,this.brushElYOld=this.brushElY,this.brushIs1dBound=!0)}},{key:"addBrush2d",value:function(){!this.brushElXY||this.brushElXYOld===this.brushElXY||(this.brushElXYOld&&this.brushElXYOld.on(".brush",null),this.brushElXY.call(this.brushBehaviorXY),this.brushElXYOld=this.brushElXY,this.brushIs2dBound=!0,zu(this.brushElXY,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushedX",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionX||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredX=!0,this.props.onRangeSelectionX(r.selection))}},{key:"brushedXEnded",value:function(r){const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,!(!Fh(r)||!this.props.onRangeSelectionX||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredX=!0,this.rangeSelectionTriggeredXEnd=!0,this.props.onRangeSelectionXEnd(r.selection))}},{key:"brushedY",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionY||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredY=!0,this.props.onRangeSelectionY(r.selection))}},{key:"brushedYEnded",value:function(r){const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,!(!Fh(r)||!this.props.onRangeSelectionY||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredY=!0,this.rangeSelectionTriggeredYEnd=!0,this.props.onRangeSelectionYEnd(r.selection))}},{key:"brushedXY",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionXY||a||this.props.is1dRangeSelection)&&(this.rangeSelectionTriggeredXY=!0,this.props.onRangeSelectionXY([[r.selection[0][0],r.selection[1][0]],[r.selection[0][1],r.selection[1][1]]]))}},{key:"brushedXYEnded",value:function(r){if(this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelectionXY&&!a&&(this.rangeSelectionTriggeredXY=!0,this.rangeSelectionTriggeredXYEnd=!0,this.props.onRangeSelectionXYEnd([[r.selection[0][0],r.selection[1][0]],[r.selection[0][1],r.selection[1][1]]])),r.selection||(this.rangeSelectionTriggeredXY=!0,this.props.onRangeSelectionReset())}},{key:"brushStarted",value:function(r){!Fh(r)||this.props.onRangeSelectionStart()}},{key:"moveBrushX",value:function(r,a=!1){if(!this.brushEl)return;this.brushIs2dBound&&(this.removeBrush2d(),this.addBrush1d());const o=r?[this.props.scaleX(r[0]),this.props.scaleX(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElX.transition().call(this.brushBehaviorX.move,o):this.brushElX.call(this.brushBehaviorX.move,o)}},{key:"moveBrushY",value:function(r,a=!1){if(!this.brushEl)return;this.brushIs2dBound&&(this.removeBrush2d(),this.addBrush1d());const o=r?[this.props.scaleY(r[0]),this.props.scaleY(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElY.transition().call(this.brushBehaviorY.move,o):this.brushElY.call(this.brushBehaviorY.move,o)}},{key:"moveBrushXY",value:function(r,a=!1){if(!this.brushEl)return;const o=[[this.props.scaleX(r[0][0]),this.props.scaleY(r[1][0])],[this.props.scaleX(r[0][1]),this.props.scaleY(r[1][1])]];this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElXY.transition().call(this.brushBehaviorXY.move,o):this.brushElXY.call(this.brushBehaviorXY.move,o)}},{key:"mouseEnterHandler",value:function(){this.props.isRangeSelectionActive||this.setState({isVisible:!0})}},{key:"mouseLeaveHandler",value:function(){this.setState({isVisible:!1})}},{key:"removeBrush1d",value:function(){!this.brushIs1dBound||(this.brushElX&&(this.brushElX.call(this.brushBehaviorX.move,null),this.brushElX.on(".brush",null)),this.brushElY&&(this.brushElY.call(this.brushBehaviorY.move,null),this.brushElY.on(".brush",null)),this.brushIs1dBound=!1)}},{key:"removeBrush2d",value:function(){!this.brushIs2dBound||this.brushElXY&&(this.brushElXY.call(this.brushBehaviorXY.move,null),this.brushElXY.on(".brush",null),this.brushElXYOld=void 0,this.brushIs2dBound=!1,this.props.is1dRangeSelection||this.props.onRangeSelectionReset())}},{key:"render",value:function(){const r=this.props.tracks.map(c=>Ld(c)).reduce(Nf,!1),a=this.props.tracks.some(c=>c.contents?c.contents.some(l=>l.type==="heatmap"?l.options.colorbarPosition==="topRight":!1):c.type==="heatmap"?c.options.colorbarPosition==="topRight":!1);let o="track-range-selection";this.props.isRangeSelectionActive&&(o+=this.props.is1dRangeSelection?"-active-secondary":"-active-primary");const s=qt(!this.props.is1dRangeSelection&&Aa["track-range-selection-group-inactive"]),u=qt(this.props.is1dRangeSelection&&Aa["track-range-selection-group-inactive"]);return A.default.createElement("div",{className:qt(this.props.className,HI["center-track"]),onMouseEnter:this.mouseEnterHandler.bind(this),onMouseLeave:this.mouseLeaveHandler.bind(this),style:{height:this.props.height,width:this.props.width}},r&&A.default.createElement("svg",{className:Aa[o],style:{height:this.props.height,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"},A.default.createElement("g",{ref:c=>{this.brushElX=xt(c)},className:s}),A.default.createElement("g",{ref:c=>{this.brushElY=xt(c)},className:s}),A.default.createElement("g",{ref:c=>{this.brushElXY=xt(c)},className:u})),this.props.editable&&A.default.createElement(pT,{imgStyleAdd:mT,imgStyleClose:mT,imgStyleMove:mT,imgStyleSettings:mT,isMoveable:!1,isVisible:this.state.isVisible||this.props.uid===this.props.configTrackMenuId,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,paddingRight:a,uid:this.props.uid}))}}]),n}(A.default.Component);$I.defaultProps={className:"center-track",configTrackMenuId:null,is1dRangeSelection:!1,rangeSelectionEnd:N.exports.bool,isRangeSelectionActive:!1,scaleX:e=>e,scaleY:e=>e},$I.propTypes={className:N.exports.string,configTrackMenuId:N.exports.string,editable:N.exports.bool,height:N.exports.number.isRequired,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,onAddSeries:N.exports.func.isRequired,onCloseTrackMenuOpened:N.exports.func.isRequired,onConfigTrackMenuOpened:N.exports.func.isRequired,onRangeSelectionX:N.exports.func.isRequired,onRangeSelectionXEnd:N.exports.func.isRequired,onRangeSelectionY:N.exports.func.isRequired,onRangeSelectionYEnd:N.exports.func.isRequired,onRangeSelectionXY:N.exports.func.isRequired,onRangeSelectionXYEnd:N.exports.func.isRequired,onRangeSelectionReset:N.exports.func.isRequired,onRangeSelectionStart:N.exports.func.isRequired,rangeSelection:N.exports.array.isRequired,rangeSelectionEnd:N.exports.bool,scaleX:N.exports.func,scaleY:N.exports.func,tracks:N.exports.array.isRequired,uid:N.exports.string.isRequired,width:N.exports.number.isRequired};const jke={"drag-listening-div-active":"_drag-listening-div-active_19gkt_1"};let UI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={dragOnTop:!1},r}return _createClass3(n,[{key:"render",value:function(){let r="red";return this.props.enabled&&this.state.dragOnTop?r="green":this.props.enabled&&(r="blue"),A.default.createElement("div",{className:qt("DragListeningDiv",{[jke["drag-listening-div-active"]]:this.props.enabled}),onDragEnter:()=>{this.setState({dragOnTop:!0})},onDragLeave:()=>{this.setState({dragOnTop:!1})},onDragOver:a=>{a.preventDefault()},onDrop:()=>{if(!this.props.enabled)return;const a=this.props.draggingHappening,o={type:this.props.defaultTrackType,uid:Pt.nice(),tilesetUid:a.tilesetUid,server:a.server};this.props.onTrackDropped(o),this.props.pubSub.publish("trackDropped",o)},style:{background:r,opacity:.6,...this.props.style}})}}]),n}(A.default.Component);UI.defaultProps={enabled:!1,style:{},draggingHappening:{},onTrackDropped:()=>{}},UI.propTypes={enabled:N.exports.bool,style:N.exports.object,defaultTrackType:N.exports.object,draggingHappening:N.exports.object,onTrackDropped:N.exports.func,position:N.exports.string.isRequired,pubSub:N.exports.object.isRequired};const gT=dh(UI),iu={"gallery-tracks":"_gallery-tracks_fbxxi_1","gallery-track":"_gallery-track_fbxxi_1","gallery-sub-track":"_gallery-sub-track_fbxxi_18","gallery-invisible-track":"_gallery-invisible-track_fbxxi_19"},vT={pointerEvents:"all"};let z$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={hovering:!1},r}return _createClass3(n,[{key:"mouseEnterHandler",value:function(){this.setState({hovering:!0})}},{key:"mouseLeaveHandler",value:function(){this.setState({hovering:!1})}},{key:"render",value:function(){return A.default.createElement("div",{className:qt("gallery-tracks",iu["gallery-tracks"])},this.props.tracks&&this.props.tracks.map((r,a)=>A.default.createElement("div",{key:r.uid||a,className:iu["gallery-track"],onMouseLeave:this.mouseLeaveHandler.bind(this),style:{top:r.height*a,right:r.height*a,bottom:r.height*a,left:r.height*a}},A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,right:0,left:0,height:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,right:0,bottom:0,width:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{right:0,bottom:0,left:0,height:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,bottom:0,left:0,width:r.height}}),A.default.createElement("div",{className:iu["gallery-invisible-track"],onMouseLeave:this.mouseLeaveHandler.bind(this),style:{top:r.height,right:r.height,bottom:r.height,left:r.height}}),this.props.editable&&A.default.createElement(pT,{configMenuVisible:!0,imgStyleAdd:vT,imgStyleClose:vT,imgStyleMove:vT,imgStyleSettings:vT,isMoveable:!1,isVisible:this.state.hovering,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:r.uid||a}))))}}]),n}(A.default.Component);z$.propTypes={editable:N.exports.bool,onCloseTrackMenuOpened:N.exports.func.isRequired,onConfigTrackMenuOpened:N.exports.func.isRequired,tracks:N.exports.array};let j$=function(){function e(t){_classCallCheck3(this,e),this.scene=t.scene,this.originalTrack=t,this.pBase=new Be.PIXI.Graphics,this.scene.removeChild(t.pBase),this.scene.addChild(this.pBase),this.moveToOrigin=new Be.PIXI.Graphics,this.moveToOrigin.addChild(t.pBase),this.pBase.addChild(this.moveToOrigin),this.moveToOrigin.rotation=Math.PI/2,t.isLeftModified=!0,t.flipText=!0,this.svgOutput=null,t.gBase&&t.gMain&&(this.originalTrack.gBase.attr("transform",`translate(${this.moveToOrigin.position.x},${this.moveToOrigin.position.y})
332
+ style="fill:${l};stroke:black;stroke-width:2;"></svg> ${f}`}else s+=`Data value: ${this.getVisibleData(r,a)}</br>`,s+=`Zoom level: ${o[0]} tile position: ${o[1]}`;return s}}]),n}(Hp),P8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"initTile",value:function(r){r.barXValues=new Array(r.tileData.dense.length),r.barYValues=new Array(r.tileData.dense.length),r.barWidths=new Array(r.tileData.dense.length),r.barHeights=new Array(r.tileData.dense.length),_get4(_getPrototypeOf4(n.prototype),"initTile",this).call(this,r)}},{key:"drawTile",value:function(r){if(!r.graphics||!r.tileData||!r.tileData.dense)return;const a=r.graphics,{tileX:o,tileWidth:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=r.tileData.dense;if(u.length===0)return;let c=0;if(this.valueScale=null,this.options.valueScaling==="log"){let m=this.medianVisibleValue;this.medianVisibleValue||(m=this.minValue()),this.valueScale=qo().domain([m,this.maxValue()+m]).range([this.dimensions[1],0]),c=m}else this.valueScale=_t().domain([this.minValue(),this.maxValue()]).range([this.dimensions[1],0]);if(a.clear(),this.drawAxis(this.valueScale),this.options.valueScaling==="log"&&this.valueScale.domain()[1]<0){console.warn("Negative values present when using a log scale",this.valueScale.domain());return}const l=at(this.options.lineStrokeColor?this.options.lineStrokeColor:"blue"),f=_t().domain([0,this.tilesetInfo.tile_size]).range([o,o+s]),h=0;a.lineStyle(h,l,1);const d=this.options.pointSize?this.options.pointSize:3,p=at(this.options.pointColor?this.options.pointColor:"red");a.beginFill(p,1),r.drawnAtScale=this._xScale.copy();for(let m=0;m<u.length;m++){const g=this._xScale(f(m)),v=this.valueScale(u[m]+c);if(r.barXValues[m]=g-d/2/this.pMain.scale.x,r.barYValues[m]=v-d/2/this.pMain.scale.y,r.barWidths[m]=d/this.pMain.scale.x,r.barHeights[m]=d/this.pMain.scale.y,f(m)>this.tilesetInfo.max_pos[0])break;a.drawRect(g-d/2/this.pMain.scale.x,v-d/2/this.pMain.scale.y,d/this.pMain.scale.x,d/this.pMain.scale.y)}}},{key:"draw",value:function(){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this);for(const r of un(this.fetchedTiles)){const a=(r.drawnAtScale.domain()[1]-r.drawnAtScale.domain()[0])/(this._xScale.domain()[1]-this._xScale.domain()[0]),s=this._xScale.domain().map(r.drawnAtScale)[0];r.graphics.scale.x=a,r.graphics.position.x=-s*a}}},{key:"zoomed",value:function(r,a,o,s,u){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a)}},{key:"exportSVG",value:function(){let r=null,a=null;[a,r]=_get4(_getPrototypeOf4(n.prototype),"superSVG",this).call(this),a.setAttribute("class","exported-line-track");const o=document.createElement("g");r.appendChild(o),o.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`);for(const u of this.visibleAndFetchedTiles())for(let c=0;c<u.barXValues.length;c++){const l=document.createElement("rect"),f=this.options.lineStrokeColor||"blue",h=this.options.pointColor||"red";l.setAttribute("fill",h),l.setAttribute("stroke",f),l.setAttribute("stroke-width",0),l.setAttribute("x",u.barXValues[c]),l.setAttribute("y",u.barYValues[c]),l.setAttribute("height",u.barHeights[c]),l.setAttribute("width",u.barWidths[c]),o.appendChild(l)}const s=document.createElement("g");if(s.setAttribute("id","axis"),a.appendChild(s),s.setAttribute("transform",`translate(${this.axis.pAxis.position.x}, ${this.axis.pAxis.position.y})`),this.options.axisPositionHorizontal==="left"||this.options.axisPositionVertical==="top"){const u=this.axis.exportAxisLeftSVG(this.valueScale,this.dimensions[1]);s.appendChild(u)}else if(this.options.axisPositionHorizontal==="right"||this.options.axisPositionVertical==="bottom"){const u=this.axis.exportAxisRightSVG(this.valueScale,this.dimensions[1]);s.appendChild(u)}return[a,r]}}]),n}(gh);const CIe=ky(e=>function(t){_inherits3(i,t);var n=_createSuper3(i);function i(){return _classCallCheck3(this,i),n.apply(this,arguments)}return _createClass3(i,[{key:"drawHorizontalRule",value:function(a){let o=at(this.options.color||"black");this.highlighted&&(o=at("red")),a.lineStyle(this.strokeWidth,o,this.strokeOpacity);let s=0;for(;s<this.dimensions[0];)a.moveTo(s,this._yScale(this.yPosition)),a.lineTo(s+this.dashLength,this._yScale(this.yPosition)),s+=this.dashLength+this.dashGap}},{key:"isMouseOverHorizontalLine",value:function(a){return Math.abs(a.y-this.position[1]-this._yScale(this.yPosition))<this.MOUSEOVER_RADIUS}}]),i}(e));let R8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.yPosition=i.yPosition,a.strokeWidth=2,a.strokeOpacity=1,a.dashLength=5,a.dashGap=3,a}return _createClass3(n,[{key:"mouseMoveHandler",value:function(r){if(this.isWithin(r.x,r.y)&&this.isMouseOverHorizontalLine(r)){this.highlighted=!0,this.draw();return}this.highlighted=!1,this.draw()}},{key:"draw",value:function(){const r=this.pMain;r.clear(),this.drawHorizontalRule(r),this.animate()}},{key:"exportSVG",value:function(){let r=null,a=null;_get4(_getPrototypeOf4(n.prototype),"exportSVG",this)?[a,r]=_get4(_getPrototypeOf4(n.prototype),"exportSVG",this).call(this):(a=document.createElement("g"),r=a);const o=document.createElement("g");o.setAttribute("class","horizontal-rule"),o.setAttribute("transform",`translate(${this.position[0]},${this.position[1]})`),r.appendChild(o);const s=this.options.color||"black",u=document.createElement("line");return u.setAttribute("stroke",s),u.setAttribute("stroke-width",this.strokeWidth),u.setAttribute("stroke-dasharray",`${this.dashLength} ${this.dashGap}`),u.setAttribute("x1",0),u.setAttribute("y1",this._yScale(this.yPosition)),u.setAttribute("x2",this.dimensions[0]),u.setAttribute("y2",this._yScale(this.yPosition)),o.appendChild(u),[a,r]}}]),n}(fh(ai).with(tI,CIe)),Vy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n({items:i}){var r;return _classCallCheck3(this,n),r=t.call(this),r.state={items:i,isSorting:!1},r}return _createClass3(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.setState({items:r.items})}},{key:"onSortStart",value:function({node:r,index:a,collection:o},s){s.stopImmediatePropagation();const{onSortStart:u}=this.props;this.setState({isSorting:!0}),u&&u(this.ref),this.sortingIndex=a,this.sortStartTop=s.offsetTop,this.sortStartLeft=s.offsetLeft}},{key:"onSortMove",value:function(){}},{key:"onSortEnd",value:function({oldIndex:r,newIndex:a}){const{onSortEnd:o}=this.props,{items:s}=this.state;this.setState({items:ZK(s,r,a),isSorting:!1}),o&&o(this.state.items),this.sortingIndex=null}},{key:"render",value:function(){const r=this.props.component,{items:a,isSorting:o}=this.state,s={isSorting:o,items:a,onSortEnd:this.onSortEnd.bind(this),onSortStart:this.onSortStart.bind(this),onSortMove:this.onSortMove.bind(this)};return A.default.createElement(r,{...this.props,...s,ref:u=>{this.ref=u}})}}]),n}(A.default.Component);Vy.propTypes={axis:N.exports.string,className:N.exports.string,component:N.exports.func,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,height:N.exports.number,helperClass:N.exports.string,itemClass:N.exports.string,itemControlAlignLeft:N.exports.bool,itemReactClass:N.exports.func,items:N.exports.array,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onSortEnd:N.exports.func,onSortStart:N.exports.func,referenceAncestor:N.exports.string,resizeHandles:N.exports.object,useDragHandle:N.exports.bool,width:N.exports.number},Vy.defaultProps={className:"list stylizedList",itemClass:"item stylizedItem",width:400,height:600};const lI={"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 N8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.dragTopRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopRightFunc.bind(_assertThisInitialized3(r))),r.dragTopLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopLeftFunc.bind(_assertThisInitialized3(r))),r.dragBottomRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomRightFunc.bind(_assertThisInitialized3(r))),r.dragBottomLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomLeftFunc.bind(_assertThisInitialized3(r))),r.dragBottom=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragBottomFunc.bind(_assertThisInitialized3(r))),r.dragTop=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragTopFunc.bind(_assertThisInitialized3(r))),r.dragLeft=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragLeftFunc.bind(_assertThisInitialized3(r))),r.dragRight=bo().on("start",r.dragStart.bind(_assertThisInitialized3(r))).on("drag",r.dragRightFunc.bind(_assertThisInitialized3(r))),r.minWidth=10,r.minHeight=10,r.bottomHandleWidth=20,r.state={uid:r.props.uid,width:r.props.width,height:r.props.height,top:r.props.top,left:r.props.left},r.domBody=xt("body").node(),r}return _createClass3(n,[{key:"componentDidMount",value:function(){xt(this.bottomHandle).call(this.dragBottom),xt(this.topHandle).call(this.dragTop),xt(this.leftHandle).call(this.dragLeft),xt(this.rightHandle).call(this.dragRight)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){"width"in r&&this.setState({width:r.width}),"height"in r&&this.setState({height:r.height})}},{key:"dragBottomFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight,this.setState({height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartLeft+a[0]-this.dragStartMousePos[0];s=o>this.minWidth?s:this.dragStartLeft+this.dragStartWidth-this.minWidth,this.setState({left:s,width:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartTop+a[1]-this.dragStartMousePos[1];s=o>this.minHeight?s:this.dragStartTop+this.dragStartHeight-this.minHeight,this.setState({top:s,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth,this.setState({width:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragBottomLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);s=s>this.minWidth?s:this.minWidth;let u=this.dragStartLeft+a[0]-this.dragStartMousePos[0];u=s>this.minWidth?u:this.dragStartLeft+this.dragStartWidth-this.minWidth,this.setState({left:u,width:s,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragBottomRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartHeight+(a[1]-this.dragStartMousePos[1]);s=s>this.minHeight?s:this.minHeight,this.setState({width:o,height:s}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopRightFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);o=o>this.minHeight?o:this.minHeight;let s=this.dragStartTop+a[1]-this.dragStartMousePos[1];s=o>this.minHeight?s:this.dragStartTop+this.dragStartHeight-this.minHeight;let u=this.dragStartWidth+(a[0]-this.dragStartMousePos[0]);u=u>this.minWidth?u:this.minWidth,this.setState({top:s,width:u,height:o}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragTopLeftFunc",value:function(r){const a=sn(r,this.domBody);let o=this.dragStartWidth-(a[0]-this.dragStartMousePos[0]);o=o>this.minWidth?o:this.minWidth;let s=this.dragStartLeft+a[0]-this.dragStartMousePos[0];s=o>this.minWidth?s:this.dragStartLeft+this.dragStartWidth-this.minWidth;let u=this.dragStartHeight-(a[1]-this.dragStartMousePos[1]);u=u>this.minHeight?u:this.minHeight;let c=this.dragStartTop+a[1]-this.dragStartMousePos[1];c=u>this.minHeight?c:this.dragStartTop+this.dragStartHeight-this.minHeight,this.setState({top:c,left:s,width:o,height:u}),r.sourceEvent.stopPropagation(),this.sizeChanged()}},{key:"dragStart",value:function(r){this.dragStartMousePos=sn(r,this.domBody),this.dragStartWidth=this.state.width,this.dragStartHeight=this.state.height,this.dragStartTop=this.state.top,this.dragStartLeft=this.state.left,r.sourceEvent.stopPropagation()}},{key:"sizeChanged",value:function(){this.props.sizeChanged&&this.props.sizeChanged(this.state)}},{key:"rotateClicked",value:function(){this.props.trackRotated(this.state.uid)}},{key:"closeClicked",value:function(){this.props.trackClosed(this.state.uid)}},{key:"render",value:function(){const r=this.props.theme===pn?"white":"black",a={top:this.state.top,left:this.state.left,width:this.state.width,height:this.state.height,opacity:this.props.opacity},o=24,s=24,u={left:this.state.width/2-o/2,width:o},c={top:this.state.height/2-s/2,height:s},l={bottom:{...u,bottom:1},top:{...u,top:1},left:{...c,left:1},right:{...c,right:1}},f=[...this.props.resizeHandles].map(h=>A.default.createElement("div",{key:h,ref:d=>{this[`${h}Handle`]=d},className:lI[`${h}-draggable-handle`],style:l[h],title:"Resize track"},A.default.createElement("div",{className:lI[`${h}-draggable-handle-grabber`],style:{borderColor:r}})));return A.default.createElement("div",{ref:h=>{this.divContainer=h},className:qt(this.props.className,lI["draggable-div"]),style:a},f)}}]),n}(A.default.Component);N8.propTypes={className:N.exports.string,height:N.exports.number,left:N.exports.number,opacity:N.exports.number,resizeHandles:N.exports.object,sizeChanged:N.exports.func,top:N.exports.number,trackClosed:N.exports.func,trackRotated:N.exports.func,uid:N.exports.string,width:N.exports.number,theme:N.exports.symbol};const DIe=hl(N8);let M8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={controlsVisible:!1},r}return _createClass3(n,[{key:"shouldComponentUpdate",value:function(){return!this.resizing}},{key:"handleMouseEnter",value:function(){this.setState({controlsVisible:!0})}},{key:"handleMouseLeave",value:function(){this.setState({controlsVisible:!1})}},{key:"handleMouseMove",value:function(){this.setState({controlsVisible:!0})}},{key:"getControls",value:function(){let r=null;return this.moveable?r=fb(()=>A.default.createElement("svg",{className:"no-zoom",height:"10px",onClick:()=>{},style:this.getMoveImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#move"}))):r=fb(()=>A.default.createElement("div",null)),A.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"}},A.default.createElement(r,null),A.default.createElement("svg",{ref:a=>{this.imgConfig=a},className:"no-zoom",height:"10px",onClick:()=>{const o=Un.default.findDOMNode(this.imgConfig).getBoundingClientRect();this.props.onConfigTrackMenuOpened(this.props.uid,o)},style:this.getSettingsImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#cog"})),A.default.createElement("svg",{ref:a=>{this.imgAdd=a},className:"no-zoom",height:"10px",onClick:()=>this.props.onAddSeries(this.props.uid),style:this.getAddImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{ref:a=>{this.imgClose=a},className:"no-zoom",height:"10px",onClick:()=>{const o=Un.default.findDOMNode(this.imgClose).getBoundingClientRect();this.props.onCloseTrackMenuOpened(this.props.uid,o)},style:this.getCloseImgStyle(),width:"10px"},A.default.createElement("use",{xlinkHref:"#cross"})))}}]),n}(A.default.Component);M8.propTypes={configMenuOpen:N.exports.bool,onConfigTrackMenuOpened:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onAddSeries:N.exports.func,uid:N.exports.string};let Yy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.moveable=!0,r}return _createClass3(n,[{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.el=r},className:this.props.className,onMouseEnter:this.handleMouseEnter.bind(this),onMouseLeave:()=>{this.handleMouseLeave()},style:{height:this.props.height,width:this.props.width}},A.default.createElement(DIe,{key:this.props.uid,height:this.props.height,resizeHandles:this.props.editable?this.props.resizeHandles:new Set,sizeChanged:r=>this.props.handleResizeTrack(this.props.uid,r.width,r.height),style:{background:"transparent"},uid:this.props.uid,width:this.props.width}),this.props.editable&&this.getControls(this.state.controlsVisible||this.props.item.configMenuVisible))}}]),n}(M8);Yy.propTypes={className:N.exports.string,uid:N.exports.string,item:N.exports.object,height:N.exports.number,width:N.exports.number};const Wy={pointerEvents:"all"};let L8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getControls",value:function(r){return A.default.createElement(pT,{configMenuVisible:this.props.item.configMenuVisible,imgStyleAdd:Wy,imgStyleClose:Wy,imgStyleMove:Wy,imgStyleSettings:Wy,isMoveable:this.moveable,isVisible:r,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}]),n}(Yy);const IIe=FP(e=>A.default.createElement(L8,{className:e.className,editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,item:e.item,onAddSeries:e.onAddSeries,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width})),B8=fZ(({className:e,items:t,itemClass:n,itemControlAlignLeft:i,sortingIndex:r,useDragHandle:a,sortableHandlers:o,height:s,width:u,onCloseTrack:c,onCloseTrackMenuOpened:l,onConfigTrackMenuOpened:f,onAddSeries:h,handleConfigTrack:d,editable:p,itemReactClass:m,handleResizeTrack:g,resizeHandles:v})=>{const E=t.map((y,T)=>A.default.createElement(m,{key:`sci-${y.uid}`,className:n,controlAlignLeft:i,sortingIndex:r,index:T,uid:y.uid,height:y.height,width:y.width,item:y,useDragHandle:a,onCloseTrack:c,onCloseTrackMenuOpened:l,onConfigTrackMenuOpened:f,onAddSeries:h,handleConfigTrack:d,editable:p,handleResizeTrack:g,resizeHandles:v}));return A.default.createElement("div",{className:e,style:{height:s,width:u,background:"transparent"},...o},E)}),wIe={"horizontal-tiled-plot":"_horizontal-tiled-plot_1bqkg_1"},Sa={"tiled-plot":"_tiled-plot_1y7td_1",horizontalList:"_horizontalList_1y7td_7",list:"_list_1y7td_14",stylizedList:"_stylizedList_1y7td_21",stylizedItem:"_stylizedItem_1y7td_28",stylizedHelper:"_stylizedHelper_1y7td_39",horizontalItem:"_horizontalItem_1y7td_44","resizable-track":"_resizable-track_1y7td_55",domain:"_domain_1y7td_60"},Aa={"track-range-selection":"_track-range-selection_5bcsr_1","track-range-selection-active":"_track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-active-primary":"_track-range-selection-active-primary_5bcsr_14 _track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-active-secondary":"_track-range-selection-active-secondary_5bcsr_18 _track-range-selection-active_5bcsr_8 _track-range-selection_5bcsr_1","track-range-selection-group-inactive":"_track-range-selection-group-inactive_5bcsr_22","track-range-selection-group-brush-selection":"_track-range-selection-group-brush-selection_5bcsr_26"};function F8(e){return e&&e.sourceEvent}let qy=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.brushBehavior=Ig().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushed.bind(_assertThisInitialized3(r))).on("end",r.brushedEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,a){return this.rangeSelectionTriggered?(this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==a):this.props.rangeSelection!==r.rangeSelection?(this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,r.rangeSelectionEnd),this.state!==a):!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,zu(this.brushEl,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!F8(r)||!this.props.onRangeSelection||a)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!F8(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!a&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,a=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){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(){const r=this.props.tracks.map(s=>s.height).reduce(es,0),a=this.props.tracks.map(s=>Ld(s)).reduce(Nf,!1),o=this.props.isRangeSelectionActive?Aa["track-range-selection-active"]:Aa["track-range-selection"];return A.default.createElement("div",{className:qt("horizontal-tiled-plot",wIe["horizontal-tiled-plot"])},a&&A.default.createElement("svg",{ref:s=>{this.brushEl=xt(s)},className:o,style:{height:r,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"}),A.default.createElement(Vy,{className:qt(Sa.list,Sa.stylizedList),component:B8,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:r,helperClass:Sa.stylizedHelper,itemClass:Sa.stylizedItem,itemReactClass:IIe,items:this.props.tracks.map(s=>({configMenuVisible:s.uid===this.props.configTrackMenuId,uid:s.uid||Pt.nice(),width:this.props.width,height:s.height,value:s.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:!0,width:this.props.width}))}}]),n}(A.default.Component);qy.propTypes={configTrackMenuId:N.exports.string,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,handleSortEnd:N.exports.func,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onRangeSelection:N.exports.func,onRangeSelectionEnd:N.exports.func,onRangeSelectionReset:N.exports.func,onRangeSelectionStart:N.exports.func,rangeSelection:N.exports.array,rangeSelectionEnd:N.exports.bool,referenceAncestor:N.exports.func,resizeHandles:N.exports.object,scale:N.exports.func,tracks:N.exports.array,width:N.exports.number};function H8(e){if(!e.graphics)return;const t=e.graphics,{tileX:n,tileY:i,tileWidth:r}=this.getTilePosAndDimensions(e.tileData.zoomLevel,e.tileData.tilePos);e.drawnAtScale=this._xScale.copy();const a=1/((this._xScale(1)-this._xScale(0))/(this._refXScale(1)-this._refXScale(0))),o=1/((this._yScale(1)-this._yScale(0))/(this._refYScale(1)-this._refYScale(0)));e.text.scale.x=a,e.text.scale.y=o;const s=this._xScale(r)-this._xScale(0);if(e.textGraphics.scale.x=s/256,e.textGraphics.scale.y=s/256,t.clear(),t.lineStyle(4*a,255,1),t.beginFill(16740363,.4),t.alpha=.5,e.mirrored){const u=this._refXScale(i+r)-this._refXScale(i),c=this._refYScale(n+r)-this._refYScale(n);e.textGraphics.position.x=this._refXScale(i)+u/2,e.textGraphics.position.y=this._refYScale(n)+c/2,t.drawRect(this._refXScale(i),this._refYScale(n),u,c)}else{const u=this._refXScale(n+r)-this._refXScale(n),c=this._refYScale(i+r)-this._refYScale(i);e.textGraphics.position.x=this._refXScale(n)+u/2,e.textGraphics.position.y=this._refYScale(i)+c/2,t.drawRect(this._refXScale(n),this._refYScale(i),u,c)}}function $8(e){const t=e.graphics;e.textGraphics=new Be.PIXI.Graphics,e.mirrored?e.text=new Be.PIXI.Text(`${e.tileData.zoomLevel}/${[e.tileData.tilePos[1],e.tileData.tilePos[0]].join("/")}`,{fontFamily:"Arial",fontSize:24,fill:16715792,align:"center"}):e.text=new Be.PIXI.Text(`${e.tileData.zoomLevel}/${e.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:24,fill:16715792,align:"center"}),e.textGraphics.addChild(e.text),e.text.anchor.x=.5,e.text.anchor.y=.5,t.addChild(e.textGraphics)}let U8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){$8.bind(this)(r),this.drawTile(r)}},{key:"destroyTile",value:function(r,a){}},{key:"drawTile",value:function(r){H8.bind(this)(r)}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[0],tilePos:s.slice(1,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics()}}]),n}(Hp),G8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.pMain=a.pMobile,a}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){const a=r.graphics;r.textGraphics=new Be.PIXI.Graphics,r.text=new Be.PIXI.Text(`${r.tileData.zoomLevel}/${r.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:32,fill:16715792,align:"center"}),r.textGraphics.addChild(r.text),r.text.anchor.x=.5,r.text.anchor.y=.5,a.addChild(r.textGraphics),this.drawTile(r)}},{key:"destroyTile",value:function(r){}},{key:"drawTile",value:function(r){if(_get4(_getPrototypeOf4(n.prototype),"drawTile",this).call(this,r),!r.graphics)return;const a=r.graphics,{tileX:o,tileWidth:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=1/((this._xScale(1)-this._xScale(0))/(this._refXScale(1)-this._refXScale(0)));r.text.scale.x=u,a.clear();const c=this.dimensions[1],l=this._refXScale(o+s)-this._refXScale(o);r.textGraphics.position.x=this._refXScale(o)+l/2,r.textGraphics.position.y=c/2;const f=this._refXScale(o);a.lineStyle(4*u,255,1),a.beginFill(16740363,.4),a.alpha=.5,a.moveTo(f,0),a.lineTo(f,c),a.moveTo(f+l,0),a.lineTo(f+l,c),a.lineStyle(0,255,1),a.drawRect(f,0,l,c)}}]),n}(mh),z8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._yScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]);return Math.min(r,this.maxZoom)}},{key:"relevantScale",value:function(){return this._yScale}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a);const o=1,s=(a(1)-a(0))/(this._refYScale(1)-this._refYScale(0)),u=this.position[0],c=a(0)+this.position[1]-this._refYScale(1)*s;this.pMain.position.x=u,this.pMain.position.y=c,this.pMain.scale.x=o,this.pMain.scale.y=s}}]),n}(BD),j8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"initTile",value:function(r){const a=r.graphics;r.textGraphics=new Be.PIXI.Graphics,r.text=new Be.PIXI.Text(`${r.tileData.zoomLevel}/${r.tileData.tilePos.join("/")}`,{fontFamily:"Arial",fontSize:32,fill:16715792,align:"center"}),r.textGraphics.addChild(r.text),r.text.anchor.x=.5,r.text.anchor.y=.5,r.text.rotation=-Math.PI/2,a.addChild(r.textGraphics),this.drawTile(r,a)}},{key:"destroyTile",value:function(r,a){}},{key:"drawTile",value:function(r){if(_get4(_getPrototypeOf4(n.prototype),"drawTile",this).call(this,r),!r.graphics)return;const a=r.graphics,{tileY:o,tileHeight:s}=this.getTilePosAndDimensions(r.tileData.zoomLevel,r.tileData.tilePos),u=1/((this._yScale(1)-this._yScale(0))/(this._refYScale(1)-this._refYScale(0)));r.text.scale.x=u,a.clear(),a.lineStyle(4*u,255,1),a.beginFill(16740363,.4),a.alpha=.5;const c=this.dimensions[0],l=this._refYScale(o+s)-this._refYScale(o);r.textGraphics.position.x=c/2,r.textGraphics.position.y=this._refYScale(o)+l/2,a.drawRect(0,this._refYScale(o),c,l)}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[1],tilePos:s.slice(2,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics()}}]),n}(z8),Ds=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{svgElement:o}=i;return a.gMain=xt(o).append("g"),a.clipUid=Pt.nice(),a.clipRect=a.gMain.append("clipPath").attr("id",`track-bounds-${a.clipUid}`).append("rect"),a.gMain.attr("clip-path",`url(#track-bounds-${a.clipUid})`),a}return _createClass3(n,[{key:"setPosition",value:function(r){this.position=r,this.gMain.attr("transform",`translate(${this.position[0]},${this.position[1]})`),this.draw()}},{key:"setDimensions",value:function(r){this.dimensions=r,this._xScale.range([0,this.dimensions[0]]),this._yScale.range([0,this.dimensions[1]]),r[0]>=0&&r[1]>=0?(this.clipRect.attr("width",r[0]),this.clipRect.attr("height",r[1])):(this.clipRect.attr("width",0),this.clipRect.attr("height",0)),this.draw()}},{key:"remove",value:function(){this.gMain.remove(),this.gMain=null}},{key:"draw",value:function(){return this}}]),n}(ph),V8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=Y4(a._yScale),a.gAxis=a.gMain.append("g"),a.tilesetInfo=!0,a}return _createClass3(n,[{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.axis.ticks(Math.ceil(this.dimensions[1]/150)),this.gAxis.attr("transform",`translate(${r[0]},0)`)}},{key:"draw",value:function(){return this.axis.scale(this._yScale),this.gAxis.call(this.axis),this}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.draw()}}]),n}(Ds),$p=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{animate:o}=i;return a.visibleTiles=new Set,a.visibleTileIds=new Set,a.fetching=new Set,a.fetchedTiles={},a.tileGraphics={},a.minX=typeof a.options.minPos<"u"&&!Number.isNaN(+a.options.minPos)?+a.options.minPos:-180,a.maxX=+a.options.maxPos||180,a.maxX=typeof a.options.maxPos<"u"&&!Number.isNaN(+a.options.maxPos)?+a.options.maxPos:180,a.minY=a.options.minY||a.minX,a.maxY=a.options.maxY||a.maxX,a.maxZoom=19,a.maxWidth=a.maxX-a.minX,a.animate=o,a.uuid=Pt.nice(),a.refreshTilesDebounced=Bg(a.refreshTiles.bind(_assertThisInitialized3(a)),Pg),a}return _createClass3(n,[{key:"visibleAndFetchedIds",value:function(){return Object.keys(this.fetchedTiles).filter(r=>this.visibleTileIds.has(r))}},{key:"visibleAndFetchedTiles",value:function(){return this.visibleAndFetchedIds().map(r=>this.fetchedTiles[r])}},{key:"setVisibleTiles",value:function(r){this.visibleTiles=r.map(a=>({tileId:this.tileToLocalId(a),remoteId:this.tileToRemoteId(a),mirrored:a.mirrored})),this.visibleTileIds=new Set(this.visibleTiles.map(a=>a.tileId))}},{key:"removeAllTiles",value:function(){const r=new Set(Object.keys(this.fetchedTiles));this.removeTiles([...r])}},{key:"refreshTiles",value:function(){this.calculateVisibleTiles();const r=new Set(Object.keys(this.fetchedTiles)),a=[...this.visibleTiles].filter(s=>!this.fetching.has(s.remoteId)&&!r.has(s.tileId));for(let s=0;s<a.length;s++)this.fetching.add(a[s].remoteId);const o=[...r].filter(s=>!this.visibleTileIds.has(s));this.removeTiles(o),this.fetchNewTiles(a)}},{key:"removeTiles",value:function(r){!r.length||!this.areAllVisibleTilesLoaded()||(r.forEach(a=>{const o=a;this.destroyTile(this.fetchedTiles[o]),o in this.tileGraphics&&(this.pMain.removeChild(this.tileGraphics[o]),delete this.tileGraphics[o]),delete this.fetchedTiles[o]}),this.synchronizeTilesAndGraphics(),this.draw())}},{key:"tileToLocalId",value:function(r){return r.join(".")}},{key:"tileToRemoteId",value:function(r){return r.join(".")}},{key:"localToRemoteId",value:function(r){const a=r.split(".");return a.slice(0,a.length-1).join(".")}},{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._xScale,this.minX,this.maxX),a=Xe.calculateZoomLevel(this._xScale,this.minY,this.maxY);let o=Math.min(Math.max(r,a),this.maxZoom);return this.options.maxZoom&&(this.options.maxZoom>=0?o=Math.min(this.options.maxZoom,o):console.error("Invalid maxZoom on track:",this)),o}},{key:"calculateVisibleTiles",value:function(){this.zoomLevel=this.calculateZoomLevel(),this.xTiles=Xe.calculateTiles(this.zoomLevel,this._xScale,this.minX,this.maxX,this.maxZoom,this.maxWidth),this.yTiles=Xe.calculateTiles(this.zoomLevel,this._yScale,this.minY,this.maxY,this.maxZoom,this.maxWidth);const r=this.xTiles,a=this.yTiles,o=this.zoomLevel,s=[];for(let u=0;u<r.length;u++)for(let c=0;c<a.length;c++){const l=[o,r[u],a[c]];s.push(l)}this.setVisibleTiles(s)}},{key:"zoomed",value:function(r,a,o,s,u){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.xScale(r),this.yScale(a),this.pMain.position.x=s,this.pMain.position.y=u,this.pMain.scale.x=o,this.pMain.scale.y=o,this.refreshTilesDebounced(),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r)}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r)}},{key:"areAllVisibleTilesLoaded",value:function(){const r=new Set(Object.keys(this.fetchedTiles)),a=[...this.visibleTileIds];for(let o=0;o<a.length;o++)if(!r.has(a[o]))return!1;return!0}},{key:"allTilesLoaded",value:function(){}},{key:"minValue",value:function(r){return r&&(this.scale.minValue=r),this.scale.minValue}},{key:"maxValue",value:function(r){return r&&(this.scale.maxValue=r),this.scale.maxValue}},{key:"minRawValue",value:function(){return this.scale.minRawValue}},{key:"maxRawValue",value:function(){return this.scale.maxRawValue}},{key:"getTilePosAndDimensions",value:function(r,a){const o=this.maxWidth/2**r,s=o,u=this.minX+a[0]*o,c=this.minY+a[1]*s;return{tileX:u,tileY:c,tileWidth:o,tileHeight:s}}},{key:"setSpriteProperties",value:function(r,a,o){const{tileX:s,tileY:u,tileWidth:c,tileHeight:l}=this.getTilePosAndDimensions(a,o);r.x=this._refXScale(s),r.y=this._refYScale(u);const f=s+c,h=u+l;r.width=this._refXScale(f)-this._refXScale(s),r.height=this._refYScale(h)-this._refYScale(u)}},{key:"initTile",value:function(r){const a=new Be.PIXI.Texture(new Be.PIXI.BaseTexture(r.tileData.img)),o=new Be.PIXI.Sprite(a),s=r.graphics;r.sprite=o,this.setSpriteProperties(r.sprite,r.tileData.zoomLevel,r.tileData.tilePos),s.removeChildren(),s.addChild(r.sprite)}},{key:"updateTile",value:function(r){}},{key:"destroyTile",value:function(r){}},{key:"addMissingGraphics",value:function(){const r=Object.keys(this.fetchedTiles);for(let a=0;a<r.length;a++)if(!(r[a]in this.tileGraphics)){const o=new Be.PIXI.Graphics;this.pMain.addChild(o),this.fetchedTiles[r[a]].graphics=o,this.initTile(this.fetchedTiles[r[a]]),this.tileGraphics[r[a]]=o}}},{key:"updateExistingGraphics",value:function(){const r=Object.keys(this.fetchedTiles);for(let a=0;a<r.length;a++)this.updateTile(this.fetchedTiles[r[a]])}},{key:"synchronizeTilesAndGraphics",value:function(){this.addMissingGraphics(),this.updateExistingGraphics()}},{key:"loadTileData",value:function(r,a){let o=this.lruCache.get(r.tileId);return o||(o=a(r.data,r.type),this.lruCache.put(r.tileId,o)),o}},{key:"getTileUrl",value:function(r){const a=["a","b","c"],o=Math.floor(Math.random()*a.length);return`https://${a[o]}.tile.openstreetmap.org/${r[0]}/${r[1]}/${r[2]}.png`}},{key:"fetchNewTiles",value:function(r){if(r.length>0){const a=[...new Set(r.map(o=>o.remoteId))];for(const o of a){const s=o.split("."),u=this.getTileUrl(s),c=new Image;c.crossOrigin="Anonymous",c.src=u,c.onload=()=>{const l={};l[o]={tileId:o,img:c,zoomLevel:+s[0],tilePos:[+s[1],+s[2]],tileSrc:u},this.receivedTiles(l)}}}}},{key:"receivedTiles",value:function(r){for(let a=0;a<this.visibleTiles.length;a++){const o=this.visibleTiles[a].tileId;!r[this.visibleTiles[a].remoteId]||this.visibleTiles[a].remoteId in r&&(o in this.fetchedTiles||(this.fetchedTiles[o]=this.visibleTiles[a]),this.fetchedTiles[o].tileData=r[this.visibleTiles[a].remoteId])}for(const a in r)r[a]&&this.fetching.has(a)&&this.fetching.delete(a);this.synchronizeTilesAndGraphics(),this.refreshTiles(),this.draw(),this.animate()}},{key:"draw",value:function(){this.delayDrawing||_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}},{key:"drawTile",value:function(){}},{key:"refScalesChanged",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"refScalesChanged",this).call(this,r,a);for(const o in this.fetchedTiles){const s=this.fetchedTiles[o];s.sprite&&this.setSpriteProperties(s.sprite,s.tileData.zoomLevel,s.tileData.tilePos)}}}]),n}(ai),Y8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.style=r.style,a.options.accessToken||(a.errorTextText="No access token provided in the viewconf's track options ('accessToken' option).",a.drawError()),a}return _createClass3(n,[{key:"rerender",value:function(r){_get4(_getPrototypeOf4(n.prototype),"rerender",this).call(this,r),r.style!==this.style&&(this.style=r.style,this.removeAllTiles(),this.refreshTiles())}},{key:"getTileUrl",value:function(r){const a=this.options&&this.options.style?this.options.style:"streets-v10",o=this.options&&+this.options.tileSize?+this.options.tileSize:256;return`https://api.mapbox.com/styles/v1/mapbox/${a}/tiles/${o}/${r[0]}/${r[1]}/${r[2]}?access_token=${this.options.accessToken}`}}]),n}($p),W8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"initTile",value:function(r){$8.bind(this)(r),this.drawTile(r)}},{key:"drawTile",value:function(r){H8.bind(this)(r)}},{key:"areAllVisibleTilesLoaded",value:function(){return!0}},{key:"fetchNewTiles",value:function(r){r.forEach(a=>{const s=a.remoteId.split("."),u={zoomLevel:s[0],tilePos:s.slice(1,s.length).map(c=>+c)};this.fetchedTiles[a.tileId]=a,this.fetchedTiles[a.tileId].tileData=u,this.fetching.has(a.remoteId)&&this.fetching.delete(a.remoteId)}),this.synchronizeTilesAndGraphics(),this.draw(),this.animate()}},{key:"draw",value:function(){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}}]),n}($p);const kIe=(e,t,n,i,r)=>{r.drawRect(e,t,n,i)},OIe=(e,t,n,i,r,{fill:a=0,fillOpacity:o=0,stroke:s=0,strokeWidth:u=0,strokeOpacity:c=0}={})=>{const l=document.createElement("rect");l.setAttribute("x",e),l.setAttribute("y",t),l.setAttribute("width",n),l.setAttribute("height",i),l.setAttribute("fill",`#${vb(a)}`),l.setAttribute("fill-opacity",o),l.setAttribute("stroke",`#${vb(s)}`),l.setAttribute("stroke-opacity",c),l.setAttribute("stroke-width",u),r.appendChild(l)},io=(e,t,n,i,r,a)=>{r instanceof HTMLElement?OIe(e,t,n,i,r,a):kIe(e,t,n,i,r)},q8=(e,t,n,i,r,a,o,s,{isVertical:u=!1,svg:c=null}={})=>{let l=t,f=n,h=i,d=r;const p=s.width*2>i?i/2:s.width,m=s.width*2>r?r/2:s.width,g=c||e,v={fill:0,fillOpacity:0,stroke:0,strokeOpacity:0,strokeWidth:1};if(s.positions&&s.positions.length?(e.lineStyle(1,0,0),e.beginFill(s.color,s.opacity),v.fill=s.color,v.fillOpacity=s.opacity,v.stroke=0,v.strokeOpacity=0,v.strokeWidth=1,s.positions.forEach(E=>{E==="top"&&!u||E==="left"&&u?io(t-p,n-m,i+p*2,m,g,v):E==="bottom"&&!u||E==="right"&&u?io(t-p,n+r,i+p*2,m,g,v):E==="left"&&!u||E==="top"&&u?io(t-p,n-m,p,r+m*2,g,v):(E==="right"&&!u||E==="bottom"&&u)&&io(t+i,n-m,p,r+m*2,g,v)})):s.width>0&&s.opacity>0&&(e.lineStyle(s.width,s.color,s.opacity),e.beginFill(0,0),v.fill=0,v.fillOpacity=0,v.stroke=s.color,v.strokeOpacity=s.opacity,v.strokeWidth=s.width,io(t-p,n-m,i+p*2,r+m*2,g,v)),o.positions&&o.positions.length){e.lineStyle(1,0,0),e.beginFill(o.color,o.opacity);const E=o.width*2>i?i/2:o.width,y=o.width*2>r?r/2:o.width;v.fill=o.color,v.fillOpacity=o.opacity,v.stroke=0,v.strokeOpacity=0,v.strokeWidth=1,o.positions.forEach(T=>{T==="top"&&!u||T==="left"&&u?(io(t,n,i,y,g,v),f+=y,d-=y):T==="bottom"&&!u||T==="right"&&u?(io(t,n+r-y,i,y,g,v),d-=y):T==="left"&&!u||T==="top"&&u?(io(t,n,E,r,g,v),l+=E,h-=E):(T==="right"&&!u||T==="bottom"&&u)&&(io(t+i-E,n,E,r,g,v),h-=E)})}else e.lineStyle(o.width,o.color,o.opacity),v.stroke=o.color,v.strokeOpacity=o.opacity,v.strokeWidth=o.width;e.beginFill(a.color,a.opacity),v.fill=a.color,v.fillOpacity=a.opacity,io(l,f,h,d,g,v)};let X8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.options=r||{},a.drawnRects={},a}return _createClass3(n,[{key:"drawHorizontalOverlay",value:function(r,a,o,s=0,u,c,l,f){if(!o||o.length<2)return;let h=this.position[0]+a.left+this._xScale(o[0]);const d=this.position[1]+a.top,p=a.height;let m=this._xScale(o[1])-this._xScale(o[0]);m<s&&(h-=(s-m)/2,m=s),q8(r,h,d,m,p,u,c,l,f)}},{key:"drawVerticalOverlay",value:function(r,a,o,s=0,u,c,l,f={}){if(!o||o.length<2)return;const h=this.position[0]+a.left;let d=this.position[1]+a.top+this._yScale(o.length>=4?o[2]:o[0]);const p=this.position[1]+a.top,m=this.position[1]+a.top+a.height;if(d>m)return;d<p&&(d=p);const g=a.width;let v=this._yScale(o.length>=4?o[3]:o[1])-d+a.top+this.position[1];v<0||(d+v>m&&(v+=m-(d+v)),v<s&&(d-=(s-v)/2,v=s),f.isVertical=!0,q8(r,h,d,g,v,u,c,l,f))}},{key:"draw",value:function(r){_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this);const a=this.pMain,o={color:at(this.options.fill||this.options.fillColor||"blue"),opacity:Number.isNaN(+this.options.fillOpacity)?.3:+this.options.fillOpacity},s={color:at(this.options.stroke||"blue"),opacity:+this.options.strokeOpacity||1,width:+this.options.strokeWidth||0,positions:!this.options.strokePos||Array.isArray(this.options.strokePos)?this.options.strokePos:[this.options.strokePos]},u={color:at(this.options.outline||"white"),opacity:+this.options.outlineOpacity||1,width:+this.options.outlineWidth||0,positions:!this.options.outlinePos||Array.isArray(this.options.outlinePos)?this.options.outlinePos:[this.options.outlinePos]};(!r||!r.svg)&&a.clear(),a.lineStyle(s.width,s,+!s.positions*s.opacity),a.beginFill(o.color,o.opacity);const c=Math.max(0,+this.options.minWidth||0),l=Math.max(0,+this.options.minHeight||0);Array.isArray(this.options.extent)&&this.options.orientationsAndPositions.forEach(f=>{(f.orientation==="1d-horizontal"||f.orientation==="2d")&&this.options.extent.forEach(h=>this.drawHorizontalOverlay(a,f.position,h,c,o,s,u,r)),(f.orientation==="1d-vertical"||f.orientation==="2d")&&this.options.extent.forEach(h=>this.drawVerticalOverlay(a,f.position,h,l,o,s,u,r))})}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.draw()}},{key:"exportSVG",value:function(){let r=null,a=null;_get4(_getPrototypeOf4(n.prototype),"exportSVG",this)?[a,r]=_get4(_getPrototypeOf4(n.prototype),"exportSVG",this).call(this):(a=document.createElement("g"),r=a);const o=document.createElement("g");return r.appendChild(o),this.draw({svg:o}),[a,r]}}]),n}(ai),K8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.style=r.style,a.options.tileSource||(a.errorTextText="No tile source string provided in the options. It should be in the form of http://a.com/{z}/{x}/{y}",a.drawError()),a}return _createClass3(n,[{key:"getTileUrl",value:function(r){let a=this.options.tileSource.replace("{z}",r[0]);return a=a.replace("{x}",r[1]),a=a.replace("{y}",r[2]),a}}]),n}($p),Z8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.drawnRects=new Set,a}return _createClass3(n,[{key:"tileToLocalId",value:function(r){return`${r.join(".")}`}},{key:"tileToRemoteId",value:function(r){return`${r.join(".")}`}},{key:"localToRemoteId",value:function(r){const a=r.split(".");return a.slice(0,a.length-1).join(".")}},{key:"calculateZoomLevel",value:function(){const r=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[0],this.tilesetInfo.max_pos[0]),a=Xe.calculateZoomLevel(this._xScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1]);let o=Math.max(r,a);return o=Math.min(o,this.maxZoom),o}},{key:"setVisibleTiles",value:function(r){this.visibleTiles=r.map(a=>({tileId:this.tileToLocalId(a),remoteId:this.tileToRemoteId(a)})),this.visibleTileIds=new Set(this.visibleTiles.map(a=>a.tileId))}},{key:"calculateVisibleTiles",value:function(r=!0){if(!this.tilesetInfo)return;this.zoomLevel=this.calculateZoomLevel(),this.xTiles=Xe.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=Xe.calculateTiles(this.zoomLevel,this._yScale,this.tilesetInfo.min_pos[1],this.tilesetInfo.max_pos[1],this.tilesetInfo.max_zoom,this.tilesetInfo.max_width);const a=this.xTiles,o=this.yTiles,s=this.zoomLevel,u=[];for(let c=0;c<a.length;c++)for(let l=0;l<o.length;l++){const f=[s,a[c],o[l]];u.push(f)}this.setVisibleTiles(u)}},{key:"initTile",value:function(r){}},{key:"destroyTile",value:function(r,a){}},{key:"draw",value:function(){this.drawnRects.clear(),_get4(_getPrototypeOf4(n.prototype),"draw",this).call(this)}},{key:"drawTile",value:function(r){if(!r.graphics)return;const a=r.graphics;a.clear();const o=at("green");a.lineStyle(1,255,1),a.beginFill(o,.8),a.alpha=.5;for(const s of r.tileData){const u=this._xScale(s.xStart),c=this._xScale(s.xEnd),l=this._yScale(s.yStart),f=this._yScale(s.yEnd),h=s.uid;if(this.drawnRects.has(h))continue;this.drawnRects.add(h);const d=6,p=6;let m=f-l,g=c-u;const v=(u+c)/2,E=(l+f)/2;m<d&&(m=d),g<p&&(g=p),a.drawRect(v-m/2,E-g/2,m,g)}}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0]}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.refreshTiles(),this.draw()}}]),n}(Ts),Q8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=V4(a._xScale),a.gAxis=a.gMain.append("g"),a.tilesetInfo=!0,a}return _createClass3(n,[{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r),this.axis.ticks(Math.ceil(this.dimensions[0]/150)),this.gAxis.attr("transform",`translate(0,${r[1]})`)}},{key:"draw",value:function(){return this.axis.scale(this._xScale),this.gAxis.call(this.axis),this}},{key:"zoomed",value:function(r,a){_get4(_getPrototypeOf4(n.prototype),"zoomed",this).call(this,r,a),this.draw()}}]),n}(Ds),J8=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.axis=new r0(_assertThisInitialized3(a)),a.pBase.addChild(a.axis.pAxis),a}return _createClass3(n,[{key:"initTile",value:function(r){this.scale.minRawValue=this.minVisibleValueInTiles(),this.scale.maxRawValue=this.minVisibleValueInTiles(),this.scale.minValue=this.scale.minRawValue,this.scale.maxValue=this.scale.maxRawValue,this.drawTile(r)}},{key:"drawTile",value:function(r){if(!r.graphics)return;const a=r.graphics,o=6,s=4;a.clear(),this.valueScale=qo().domain([this.minValue()+.01,this.maxValue()]).range([this.dimensions[1]-o/2,o/2]);const u=at("black");a.lineStyle(1,u,.3),a.beginFill(u,.3),this.drawAxis(this.valueScale),r.tileData.forEach(c=>{const l=c.fields,f=+c.chrOffset,h=+l[1]+f,d=+l[2]+f,p=+l[3],m=this._xScale(h),g=this._xScale(d),v=Math.max(g-m,s),E=this.valueScale(p),y=(g+m)/2;a.drawRect(y-v/2,E-o/2,v,o)})}},{key:"minVisibleValueInTiles",value:function(){let r=this.visibleAndFetchedIds();return r.length===0&&(r=Object.keys(this.fetchedTiles)),Math.min.apply(null,r.map(o=>+Math.min(...this.fetchedTiles[o].tileData.filter(s=>!Number.isNaN(s.fields[3])).map(s=>+s.fields[3]))))}},{key:"maxVisibleValueInTiles",value:function(){let r=this.visibleAndFetchedIds();return r.length===0&&(r=Object.keys(this.fetchedTiles)),Math.max.apply(null,r.map(o=>+Math.max(...this.fetchedTiles[o].tileData.filter(s=>!Number.isNaN(s.fields[3])).map(s=>+s.fields[3]))))}}]),n}(gh);const Xy={pointerEvents:"all"};let e9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getControls",value:function(r){return A.default.createElement(pT,{imgStyleAdd:Xy,imgStyleClose:Xy,imgStyleMove:Xy,imgStyleSettings:Xy,isAlignLeft:this.props.controlAlignLeft,isMoveable:this.moveable,isVertical:!0,isVisible:r,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}]),n}(Yy),t9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionXDomain||!i.projectionYDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:i.projectionXDomain,a.viewportYDomain=a.hasFromView?null:i.projectionYDomain,a.brush=nb().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--n").style("pointer-events","none"),a.gBrush.selectAll(".handle--s").style("pointer-events","none"),a.gBrush.selectAll(".handle--w").style("pointer-events","none"),a.gBrush.selectAll(".handle--e").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=[this._xScale.invert(a[0][0]),this._xScale.invert(a[1][0])],s=[this._yScale.invert(a[0][1]),this._yScale.invert(a[1][1])];this.hasFromView||(this.viewportXDomain=o,this.viewportYDomain=s),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a){const o=r.domain(),s=a.domain();this.viewportXDomain=o,this.viewportYDomain=s,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._xScale(this.viewportXDomain[0]),a=this._yScale(this.viewportYDomain[0]),o=this._xScale(this.viewportXDomain[1]),s=this._yScale(this.viewportYDomain[1]),u=[[r,a],[o,s]];this.brush.on("brush",null),this.gBrush.call(this.brush.move,u),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=a[1]-a[0],u=o[1]-o[0];this.brush.extent([[a[0]-s,o[0]-u],[a[1]+s,o[1]+u]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds),xIe=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s}=i,u=Pt.nice();return a.uid=u,a.removeViewportChanged=s,a.viewportXDomain=null,a.viewportYDomain=null,o(u,a.viewportChanged.bind(_assertThisInitialized3(a))),a}return _createClass3(n,[{key:"viewportChanged",value:function(r,a){const o=r.domain(),s=a.domain();this.viewportXDomain=o,this.viewportYDomain=s,this.draw()}},{key:"draw",value:function(){const r=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain)return;r.clear(),r.lineStyle(1,255,1),r.beginFill(16740363,1);const a=this._xScale(this.viewportXDomain[0]),o=this._yScale(this.viewportYDomain[0]),s=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]),u=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(a,o,s,u)}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0],this.draw()}}]),n}(ai),n9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionXDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:i.projectionXDomain,a.viewportYDomain=a.hasFromView?null:[0,0],a.brush=Ig().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--ne").style("pointer-events","none"),a.gBrush.selectAll(".handle--nw").style("pointer-events","none"),a.gBrush.selectAll(".handle--sw").style("pointer-events","none"),a.gBrush.selectAll(".handle--se").style("pointer-events","none"),a.gBrush.selectAll(".handle--n").style("pointer-events","none"),a.gBrush.selectAll(".handle--s").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=[this._xScale.invert(a[0]),this._xScale.invert(a[1])],s=this.viewportYDomain;this.hasFromView||(this.viewportXDomain=o),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a,o=!0){const s=r.domain(),u=a.domain();this.viewportXDomain=s,this.viewportYDomain=u,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._xScale(this.viewportXDomain[0]),a=this._xScale(this.viewportXDomain[1]),o=[r,a];this.brush.on("brush",null),this.gBrush.call(this.brush.move,o),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=a[1]-a[0];this.brush.extent([[a[0]-s,o[0]],[a[1]+s,o[1]]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds),r9=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;_classCallCheck3(this,n),a=t.call(this,i,r);const{registerViewportChanged:o,removeViewportChanged:s,setDomainsCallback:u}=i,c=Pt.nice();return a.uid=c,a.options=r,a.hasFromView=!i.projectionYDomain,a.removeViewportChanged=s,a.setDomainsCallback=u,a.viewportXDomain=a.hasFromView?null:[0,0],a.viewportYDomain=a.hasFromView?null:i.projectionYDomain,a.brush=vf().on("brush",a.brushed.bind(_assertThisInitialized3(a))),a.gBrush=a.gMain.append("g").attr("id",`brush-${a.uid}`).call(a.brush),a.gBrush.selectAll(".overlay").style("pointer-events","none"),a.gBrush.selectAll(".handle--ne").style("pointer-events","none"),a.gBrush.selectAll(".handle--nw").style("pointer-events","none"),a.gBrush.selectAll(".handle--sw").style("pointer-events","none"),a.gBrush.selectAll(".handle--se").style("pointer-events","none"),a.gBrush.selectAll(".handle--e").style("pointer-events","none"),a.gBrush.selectAll(".handle--w").style("pointer-events","none"),o(c,a.viewportChanged.bind(_assertThisInitialized3(a))),a.rerender(),a.draw(),a}return _createClass3(n,[{key:"brushed",value:function(r){const a=r.selection;if(!this._xScale||!this._yScale)return;const o=this.viewportXDomain,s=[this._yScale.invert(a[0]),this._yScale.invert(a[1])];this.hasFromView||(this.viewportYDomain=s),this.setDomainsCallback(o,s)}},{key:"viewportChanged",value:function(r,a,o=!0){const s=r.domain(),u=a.domain();this.viewportXDomain=s,this.viewportYDomain=u,this.draw()}},{key:"remove",value:function(){this.removeViewportChanged(this.uid),_get4(_getPrototypeOf4(n.prototype),"remove",this).call(this)}},{key:"rerender",value:function(){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(){if(!this._xScale||!this.yScale||!this.viewportXDomain||!this.viewportYDomain)return;const r=this._yScale(this.viewportYDomain[0]),a=this._yScale(this.viewportYDomain[1]),o=[r,a];this.brush.on("brush",null),this.gBrush.call(this.brush.move,o),this.brush.on("brush",this.brushed.bind(this))}},{key:"zoomed",value:function(r,a){this.xScale(r),this.yScale(a),this.draw()}},{key:"setPosition",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setPosition",this).call(this,r),this.draw()}},{key:"setDimensions",value:function(r){_get4(_getPrototypeOf4(n.prototype),"setDimensions",this).call(this,r);const a=this._xScale.range(),o=this._yScale.range(),s=o[1]-o[0];this.brush.extent([[a[0],o[0]-s],[a[1],o[1]+s]]),this.gBrush.call(this.brush),this.draw()}}]),n}(Ds);function i9(e){this.size=0,this.limit=e,this._keymap={}}function PIe(e,t){const n={key:e,value:t};if(this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit)return this.shift();this.size+=1}function RIe(){const e=this.head;return e&&(this.head.newer?(this.head=this.head.newer,this.head.older=void 0):(this.head=void 0,this.tail=void 0),e.newer=void 0,e.older=void 0,delete this._keymap[e.key],this.size-=1),e}function NIe(e,t){const n=this._keymap[e];if(n!==void 0)return n===this.tail||(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n),t?n:n.value}function MIe(e){return this._keymap[e]}function LIe(e,t){const n=this.get(e,!0);let i;return n?(i=n.value,n.value=t):(i=this.put(e,t),i&&(i=i.value)),i}function BIe(e){const t=this._keymap[e];if(!!t)return delete this._keymap[t.key],t.newer&&t.older?(t.older.newer=t.newer,t.newer.older=t.older):t.newer?(t.newer.older=void 0,this.head=t.newer):t.older?(t.older.newer=void 0,this.tail=t.older):(this.head=void 0,this.tail=void 0),this.size-=1,t.value}function FIe(){this.head=void 0,this.tail=void 0,this.size=0,this._keymap={}}function HIe(){return Object.keys(this._keymap)}function $Ie(e,t,n){let i;if(t===!0?(n=!0,t=void 0):typeof t!="object"&&(t=this),n)for(i=this.tail;i;)e.call(t,i.key,i.value,this),i=i.older;else for(i=this.head;i;)e.call(t,i.key,i.value,this),i=i.newer}function UIe(){const e=[];let t=this.head;for(;t;)e.push({key:t.key.toJSON(),value:t.value.toJSON()}),t=t.newer;return e}function GIe(){let e="",t=this.head;for(;t;)e+=`${String(t.key)}:${t.value}`,t=t.newer,t&&(e+=" < ");return e}Object.assign(i9.prototype,{put:PIe,get:NIe,find:MIe,keys:HIe,set:LIe,shift:RIe,remove:BIe,removeAll:FIe,forEach:$Ie,toJSON:UIe,toString:GIe});var Go={};(function(e){var t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function n(a,o){return Object.prototype.hasOwnProperty.call(a,o)}e.assign=function(a){for(var o=Array.prototype.slice.call(arguments,1);o.length;){var s=o.shift();if(!!s){if(typeof s!="object")throw new TypeError(s+"must be non-object");for(var u in s)n(s,u)&&(a[u]=s[u])}}return a},e.shrinkBuf=function(a,o){return a.length===o?a:a.subarray?a.subarray(0,o):(a.length=o,a)};var i={arraySet:function(a,o,s,u,c){if(o.subarray&&a.subarray){a.set(o.subarray(s,s+u),c);return}for(var l=0;l<u;l++)a[c+l]=o[s+l]},flattenChunks:function(a){var o,s,u,c,l,f;for(u=0,o=0,s=a.length;o<s;o++)u+=a[o].length;for(f=new Uint8Array(u),c=0,o=0,s=a.length;o<s;o++)l=a[o],f.set(l,c),c+=l.length;return f}},r={arraySet:function(a,o,s,u,c){for(var l=0;l<u;l++)a[c+l]=o[s+l]},flattenChunks:function(a){return[].concat.apply([],a)}};e.setTyped=function(a){a?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,r))},e.setTyped(t)})(Go);var Up={},ao={},kh={},zIe=Go,jIe=4,a9=0,o9=1,VIe=2;function Oh(e){for(var t=e.length;--t>=0;)e[t]=0}var YIe=0,s9=1,WIe=2,qIe=3,XIe=258,uI=29,Gp=256,zp=Gp+1+uI,xh=30,cI=19,l9=2*zp+1,Xl=15,hI=16,KIe=7,fI=256,u9=16,c9=17,h9=18,dI=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ky=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ZIe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],f9=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],QIe=512,zo=new Array((zp+2)*2);Oh(zo);var jp=new Array(xh*2);Oh(jp);var Vp=new Array(QIe);Oh(Vp);var Yp=new Array(XIe-qIe+1);Oh(Yp);var pI=new Array(uI);Oh(pI);var Zy=new Array(xh);Oh(Zy);function mI(e,t,n,i,r){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=e&&e.length}var d9,p9,m9;function gI(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function g9(e){return e<256?Vp[e]:Vp[256+(e>>>7)]}function Wp(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function Ei(e,t,n){e.bi_valid>hI-n?(e.bi_buf|=t<<e.bi_valid&65535,Wp(e,e.bi_buf),e.bi_buf=t>>hI-e.bi_valid,e.bi_valid+=n-hI):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function oo(e,t,n){Ei(e,n[t*2],n[t*2+1])}function v9(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function JIe(e){e.bi_valid===16?(Wp(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function ewe(e,t){var n=t.dyn_tree,i=t.max_code,r=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,u=t.stat_desc.max_length,c,l,f,h,d,p,m=0;for(h=0;h<=Xl;h++)e.bl_count[h]=0;for(n[e.heap[e.heap_max]*2+1]=0,c=e.heap_max+1;c<l9;c++)l=e.heap[c],h=n[n[l*2+1]*2+1]+1,h>u&&(h=u,m++),n[l*2+1]=h,!(l>i)&&(e.bl_count[h]++,d=0,l>=s&&(d=o[l-s]),p=n[l*2],e.opt_len+=p*(h+d),a&&(e.static_len+=p*(r[l*2+1]+d)));if(m!==0){do{for(h=u-1;e.bl_count[h]===0;)h--;e.bl_count[h]--,e.bl_count[h+1]+=2,e.bl_count[u]--,m-=2}while(m>0);for(h=u;h!==0;h--)for(l=e.bl_count[h];l!==0;)f=e.heap[--c],!(f>i)&&(n[f*2+1]!==h&&(e.opt_len+=(h-n[f*2+1])*n[f*2],n[f*2+1]=h),l--)}}function y9(e,t,n){var i=new Array(Xl+1),r=0,a,o;for(a=1;a<=Xl;a++)i[a]=r=r+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=v9(i[s]++,s))}}function twe(){var e,t,n,i,r,a=new Array(Xl+1);for(n=0,i=0;i<uI-1;i++)for(pI[i]=n,e=0;e<1<<dI[i];e++)Yp[n++]=i;for(Yp[n-1]=i,r=0,i=0;i<16;i++)for(Zy[i]=r,e=0;e<1<<Ky[i];e++)Vp[r++]=i;for(r>>=7;i<xh;i++)for(Zy[i]=r<<7,e=0;e<1<<Ky[i]-7;e++)Vp[256+r++]=i;for(t=0;t<=Xl;t++)a[t]=0;for(e=0;e<=143;)zo[e*2+1]=8,e++,a[8]++;for(;e<=255;)zo[e*2+1]=9,e++,a[9]++;for(;e<=279;)zo[e*2+1]=7,e++,a[7]++;for(;e<=287;)zo[e*2+1]=8,e++,a[8]++;for(y9(zo,zp+1,a),e=0;e<xh;e++)jp[e*2+1]=5,jp[e*2]=v9(e,5);d9=new mI(zo,dI,Gp+1,zp,Xl),p9=new mI(jp,Ky,0,xh,Xl),m9=new mI(new Array(0),ZIe,0,cI,KIe)}function T9(e){var t;for(t=0;t<zp;t++)e.dyn_ltree[t*2]=0;for(t=0;t<xh;t++)e.dyn_dtree[t*2]=0;for(t=0;t<cI;t++)e.bl_tree[t*2]=0;e.dyn_ltree[fI*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function E9(e){e.bi_valid>8?Wp(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function nwe(e,t,n,i){E9(e),i&&(Wp(e,n),Wp(e,~n)),zIe.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}function b9(e,t,n,i){var r=t*2,a=n*2;return e[r]<e[a]||e[r]===e[a]&&i[t]<=i[n]}function vI(e,t,n){for(var i=e.heap[n],r=n<<1;r<=e.heap_len&&(r<e.heap_len&&b9(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!b9(t,i,e.heap[r],e.depth));)e.heap[n]=e.heap[r],n=r,r<<=1;e.heap[n]=i}function _9(e,t,n){var i,r,a=0,o,s;if(e.last_lit!==0)do i=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],r=e.pending_buf[e.l_buf+a],a++,i===0?oo(e,r,t):(o=Yp[r],oo(e,o+Gp+1,t),s=dI[o],s!==0&&(r-=pI[o],Ei(e,r,s)),i--,o=g9(i),oo(e,o,n),s=Ky[o],s!==0&&(i-=Zy[o],Ei(e,i,s)));while(a<e.last_lit);oo(e,fI,t)}function yI(e,t){var n=t.dyn_tree,i=t.stat_desc.static_tree,r=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,u=-1,c;for(e.heap_len=0,e.heap_max=l9,o=0;o<a;o++)n[o*2]!==0?(e.heap[++e.heap_len]=u=o,e.depth[o]=0):n[o*2+1]=0;for(;e.heap_len<2;)c=e.heap[++e.heap_len]=u<2?++u:0,n[c*2]=1,e.depth[c]=0,e.opt_len--,r&&(e.static_len-=i[c*2+1]);for(t.max_code=u,o=e.heap_len>>1;o>=1;o--)vI(e,n,o);c=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],vI(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[c*2]=n[o*2]+n[s*2],e.depth[c]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=c,e.heap[1]=c++,vI(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],ewe(e,t),y9(n,u,e.bl_count)}function S9(e,t,n){var i,r=-1,a,o=t[0*2+1],s=0,u=7,c=4;for(o===0&&(u=138,c=3),t[(n+1)*2+1]=65535,i=0;i<=n;i++)a=o,o=t[(i+1)*2+1],!(++s<u&&a===o)&&(s<c?e.bl_tree[a*2]+=s:a!==0?(a!==r&&e.bl_tree[a*2]++,e.bl_tree[u9*2]++):s<=10?e.bl_tree[c9*2]++:e.bl_tree[h9*2]++,s=0,r=a,o===0?(u=138,c=3):a===o?(u=6,c=3):(u=7,c=4))}function A9(e,t,n){var i,r=-1,a,o=t[0*2+1],s=0,u=7,c=4;for(o===0&&(u=138,c=3),i=0;i<=n;i++)if(a=o,o=t[(i+1)*2+1],!(++s<u&&a===o)){if(s<c)do oo(e,a,e.bl_tree);while(--s!==0);else a!==0?(a!==r&&(oo(e,a,e.bl_tree),s--),oo(e,u9,e.bl_tree),Ei(e,s-3,2)):s<=10?(oo(e,c9,e.bl_tree),Ei(e,s-3,3)):(oo(e,h9,e.bl_tree),Ei(e,s-11,7));s=0,r=a,o===0?(u=138,c=3):a===o?(u=6,c=3):(u=7,c=4)}}function rwe(e){var t;for(S9(e,e.dyn_ltree,e.l_desc.max_code),S9(e,e.dyn_dtree,e.d_desc.max_code),yI(e,e.bl_desc),t=cI-1;t>=3&&e.bl_tree[f9[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function iwe(e,t,n,i){var r;for(Ei(e,t-257,5),Ei(e,n-1,5),Ei(e,i-4,4),r=0;r<i;r++)Ei(e,e.bl_tree[f9[r]*2+1],3);A9(e,e.dyn_ltree,t-1),A9(e,e.dyn_dtree,n-1)}function awe(e){var t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return a9;if(e.dyn_ltree[9*2]!==0||e.dyn_ltree[10*2]!==0||e.dyn_ltree[13*2]!==0)return o9;for(n=32;n<Gp;n++)if(e.dyn_ltree[n*2]!==0)return o9;return a9}var C9=!1;function owe(e){C9||(twe(),C9=!0),e.l_desc=new gI(e.dyn_ltree,d9),e.d_desc=new gI(e.dyn_dtree,p9),e.bl_desc=new gI(e.bl_tree,m9),e.bi_buf=0,e.bi_valid=0,T9(e)}function D9(e,t,n,i){Ei(e,(YIe<<1)+(i?1:0),3),nwe(e,t,n,!0)}function swe(e){Ei(e,s9<<1,3),oo(e,fI,zo),JIe(e)}function lwe(e,t,n,i){var r,a,o=0;e.level>0?(e.strm.data_type===VIe&&(e.strm.data_type=awe(e)),yI(e,e.l_desc),yI(e,e.d_desc),o=rwe(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=n+5,n+4<=r&&t!==-1?D9(e,t,n,i):e.strategy===jIe||a===r?(Ei(e,(s9<<1)+(i?1:0),3),_9(e,zo,jp)):(Ei(e,(WIe<<1)+(i?1:0),3),iwe(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),_9(e,e.dyn_ltree,e.dyn_dtree)),T9(e),i&&E9(e)}function uwe(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(Yp[n]+Gp+1)*2]++,e.dyn_dtree[g9(t)*2]++),e.last_lit===e.lit_bufsize-1}kh._tr_init=owe,kh._tr_stored_block=D9,kh._tr_flush_block=lwe,kh._tr_tally=uwe,kh._tr_align=swe;function cwe(e,t,n,i){for(var r=e&65535|0,a=e>>>16&65535|0,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do r=r+t[i++]|0,a=a+r|0;while(--o);r%=65521,a%=65521}return r|a<<16|0}var I9=cwe;function hwe(){for(var e,t=[],n=0;n<256;n++){e=n;for(var i=0;i<8;i++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var fwe=hwe();function dwe(e,t,n,i){var r=fwe,a=i+n;e^=-1;for(var o=i;o<a;o++)e=e>>>8^r[(e^t[o])&255];return e^-1}var w9=dwe,TI={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},si=Go,Zi=kh,k9=I9,Is=w9,pwe=TI,Kl=0,mwe=1,gwe=3,ws=4,O9=5,so=0,x9=1,Qi=-2,vwe=-3,EI=-5,ywe=-1,Twe=1,Qy=2,Ewe=3,bwe=4,_we=0,Swe=2,Jy=8,Awe=9,Cwe=15,Dwe=8,Iwe=29,wwe=256,bI=wwe+1+Iwe,kwe=30,Owe=19,xwe=2*bI+1,Pwe=15,Yt=3,ks=258,Ca=ks+Yt+1,Rwe=32,eT=42,_I=69,tT=73,nT=91,rT=103,Zl=113,qp=666,rr=1,Xp=2,Ql=3,Ph=4,Nwe=3;function Os(e,t){return e.msg=pwe[t],t}function P9(e){return(e<<1)-(e>4?9:0)}function xs(e){for(var t=e.length;--t>=0;)e[t]=0}function Ps(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(si.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))}function yr(e,t){Zi._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ps(e.strm)}function Zt(e,t){e.pending_buf[e.pending++]=t}function Kp(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function Mwe(e,t,n,i){var r=e.avail_in;return r>i&&(r=i),r===0?0:(e.avail_in-=r,si.arraySet(t,e.input,e.next_in,r,n),e.state.wrap===1?e.adler=k9(e.adler,t,r,n):e.state.wrap===2&&(e.adler=Is(e.adler,t,r,n)),e.next_in+=r,e.total_in+=r,r)}function R9(e,t){var n=e.max_chain_length,i=e.strstart,r,a,o=e.prev_length,s=e.nice_match,u=e.strstart>e.w_size-Ca?e.strstart-(e.w_size-Ca):0,c=e.window,l=e.w_mask,f=e.prev,h=e.strstart+ks,d=c[i+o-1],p=c[i+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(r=t,!(c[r+o]!==p||c[r+o-1]!==d||c[r]!==c[i]||c[++r]!==c[i+1])){i+=2,r++;do;while(c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&c[++i]===c[++r]&&i<h);if(a=ks-(h-i),i=h-ks,a>o){if(e.match_start=t,o=a,a>=s)break;d=c[i+o-1],p=c[i+o]}}while((t=f[t&l])>u&&--n!==0);return o<=e.lookahead?o:e.lookahead}function Jl(e){var t=e.w_size,n,i,r,a,o;do{if(a=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ca)){si.arraySet(e.window,e.window,t,t,0),e.match_start-=t,e.strstart-=t,e.block_start-=t,i=e.hash_size,n=i;do r=e.head[--n],e.head[n]=r>=t?r-t:0;while(--i);i=t,n=i;do r=e.prev[--n],e.prev[n]=r>=t?r-t:0;while(--i);a+=t}if(e.strm.avail_in===0)break;if(i=Mwe(e.strm,e.window,e.strstart+e.lookahead,a),e.lookahead+=i,e.lookahead+e.insert>=Yt)for(o=e.strstart-e.insert,e.ins_h=e.window[o],e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[o+Yt-1])&e.hash_mask,e.prev[o&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=o,o++,e.insert--,!(e.lookahead+e.insert<Yt)););}while(e.lookahead<Ca&&e.strm.avail_in!==0)}function Lwe(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(Jl(e),e.lookahead===0&&t===Kl)return rr;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+n;if((e.strstart===0||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,yr(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-Ca&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):(e.strstart>e.block_start&&(yr(e,!1),e.strm.avail_out===0),rr)}function SI(e,t){for(var n,i;;){if(e.lookahead<Ca){if(Jl(e),e.lookahead<Ca&&t===Kl)return rr;if(e.lookahead===0)break}if(n=0,e.lookahead>=Yt&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-Ca&&(e.match_length=R9(e,n)),e.match_length>=Yt)if(i=Zi._tr_tally(e,e.strstart-e.match_start,e.match_length-Yt),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Yt){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=e.strstart<Yt-1?e.strstart:Yt-1,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Rh(e,t){for(var n,i,r;;){if(e.lookahead<Ca){if(Jl(e),e.lookahead<Ca&&t===Kl)return rr;if(e.lookahead===0)break}if(n=0,e.lookahead>=Yt&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=Yt-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ca&&(e.match_length=R9(e,n),e.match_length<=5&&(e.strategy===Twe||e.match_length===Yt&&e.strstart-e.match_start>4096)&&(e.match_length=Yt-1)),e.prev_length>=Yt&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-Yt,i=Zi._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-Yt),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Yt-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=Yt-1,e.strstart++,i&&(yr(e,!1),e.strm.avail_out===0))return rr}else if(e.match_available){if(i=Zi._tr_tally(e,0,e.window[e.strstart-1]),i&&yr(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return rr}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=Zi._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Yt-1?e.strstart:Yt-1,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Bwe(e,t){for(var n,i,r,a,o=e.window;;){if(e.lookahead<=ks){if(Jl(e),e.lookahead<=ks&&t===Kl)return rr;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=Yt&&e.strstart>0&&(r=e.strstart-1,i=o[r],i===o[++r]&&i===o[++r]&&i===o[++r])){a=e.strstart+ks;do;while(i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&i===o[++r]&&r<a);e.match_length=ks-(a-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Yt?(n=Zi._tr_tally(e,1,e.match_length-Yt),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function Fwe(e,t){for(var n;;){if(e.lookahead===0&&(Jl(e),e.lookahead===0)){if(t===Kl)return rr;break}if(e.match_length=0,n=Zi._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(yr(e,!1),e.strm.avail_out===0))return rr}return e.insert=0,t===ws?(yr(e,!0),e.strm.avail_out===0?Ql:Ph):e.last_lit&&(yr(e,!1),e.strm.avail_out===0)?rr:Xp}function lo(e,t,n,i,r){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=i,this.func=r}var Nh;Nh=[new lo(0,0,0,0,Lwe),new lo(4,4,8,4,SI),new lo(4,5,16,8,SI),new lo(4,6,32,32,SI),new lo(4,4,16,16,Rh),new lo(8,16,32,32,Rh),new lo(8,16,128,128,Rh),new lo(8,32,128,256,Rh),new lo(32,128,258,1024,Rh),new lo(32,258,258,4096,Rh)];function Hwe(e){e.window_size=2*e.w_size,xs(e.head),e.max_lazy_match=Nh[e.level].max_lazy,e.good_match=Nh[e.level].good_length,e.nice_match=Nh[e.level].nice_length,e.max_chain_length=Nh[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Yt-1,e.match_available=0,e.ins_h=0}function $we(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Jy,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new si.Buf16(xwe*2),this.dyn_dtree=new si.Buf16((2*kwe+1)*2),this.bl_tree=new si.Buf16((2*Owe+1)*2),xs(this.dyn_ltree),xs(this.dyn_dtree),xs(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new si.Buf16(Pwe+1),this.heap=new si.Buf16(2*bI+1),xs(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new si.Buf16(2*bI+1),xs(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function N9(e){var t;return!e||!e.state?Os(e,Qi):(e.total_in=e.total_out=0,e.data_type=Swe,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?eT:Zl,e.adler=t.wrap===2?0:1,t.last_flush=Kl,Zi._tr_init(t),so)}function M9(e){var t=N9(e);return t===so&&Hwe(e.state),t}function Uwe(e,t){return!e||!e.state||e.state.wrap!==2?Qi:(e.state.gzhead=t,so)}function L9(e,t,n,i,r,a){if(!e)return Qi;var o=1;if(t===ywe&&(t=6),i<0?(o=0,i=-i):i>15&&(o=2,i-=16),r<1||r>Awe||n!==Jy||i<8||i>15||t<0||t>9||a<0||a>bwe)return Os(e,Qi);i===8&&(i=9);var s=new $we;return e.state=s,s.strm=e,s.wrap=o,s.gzhead=null,s.w_bits=i,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=r+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+Yt-1)/Yt),s.window=new si.Buf8(s.w_size*2),s.head=new si.Buf16(s.hash_size),s.prev=new si.Buf16(s.w_size),s.lit_bufsize=1<<r+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new si.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=(1+2)*s.lit_bufsize,s.level=t,s.strategy=a,s.method=n,M9(e)}function Gwe(e,t){return L9(e,t,Jy,Cwe,Dwe,_we)}function zwe(e,t){var n,i,r,a;if(!e||!e.state||t>O9||t<0)return e?Os(e,Qi):Qi;if(i=e.state,!e.output||!e.input&&e.avail_in!==0||i.status===qp&&t!==ws)return Os(e,e.avail_out===0?EI:Qi);if(i.strm=e,n=i.last_flush,i.last_flush=t,i.status===eT)if(i.wrap===2)e.adler=0,Zt(i,31),Zt(i,139),Zt(i,8),i.gzhead?(Zt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Zt(i,i.gzhead.time&255),Zt(i,i.gzhead.time>>8&255),Zt(i,i.gzhead.time>>16&255),Zt(i,i.gzhead.time>>24&255),Zt(i,i.level===9?2:i.strategy>=Qy||i.level<2?4:0),Zt(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(Zt(i,i.gzhead.extra.length&255),Zt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=Is(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=_I):(Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,0),Zt(i,i.level===9?2:i.strategy>=Qy||i.level<2?4:0),Zt(i,Nwe),i.status=Zl);else{var o=Jy+(i.w_bits-8<<4)<<8,s=-1;i.strategy>=Qy||i.level<2?s=0:i.level<6?s=1:i.level===6?s=2:s=3,o|=s<<6,i.strstart!==0&&(o|=Rwe),o+=31-o%31,i.status=Zl,Kp(i,o),i.strstart!==0&&(Kp(i,e.adler>>>16),Kp(i,e.adler&65535)),e.adler=1}if(i.status===_I)if(i.gzhead.extra){for(r=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size));)Zt(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=tT)}else i.status=tT;if(i.status===tT)if(i.gzhead.name){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.name.length?a=i.gzhead.name.charCodeAt(i.gzindex++)&255:a=0,Zt(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),a===0&&(i.gzindex=0,i.status=nT)}else i.status=nT;if(i.status===nT)if(i.gzhead.comment){r=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),Ps(e),r=i.pending,i.pending===i.pending_buf_size)){a=1;break}i.gzindex<i.gzhead.comment.length?a=i.gzhead.comment.charCodeAt(i.gzindex++)&255:a=0,Zt(i,a)}while(a!==0);i.gzhead.hcrc&&i.pending>r&&(e.adler=Is(e.adler,i.pending_buf,i.pending-r,r)),a===0&&(i.status=rT)}else i.status=rT;if(i.status===rT&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&Ps(e),i.pending+2<=i.pending_buf_size&&(Zt(i,e.adler&255),Zt(i,e.adler>>8&255),e.adler=0,i.status=Zl)):i.status=Zl),i.pending!==0){if(Ps(e),e.avail_out===0)return i.last_flush=-1,so}else if(e.avail_in===0&&P9(t)<=P9(n)&&t!==ws)return Os(e,EI);if(i.status===qp&&e.avail_in!==0)return Os(e,EI);if(e.avail_in!==0||i.lookahead!==0||t!==Kl&&i.status!==qp){var u=i.strategy===Qy?Fwe(i,t):i.strategy===Ewe?Bwe(i,t):Nh[i.level].func(i,t);if((u===Ql||u===Ph)&&(i.status=qp),u===rr||u===Ql)return e.avail_out===0&&(i.last_flush=-1),so;if(u===Xp&&(t===mwe?Zi._tr_align(i):t!==O9&&(Zi._tr_stored_block(i,0,0,!1),t===gwe&&(xs(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),Ps(e),e.avail_out===0))return i.last_flush=-1,so}return t!==ws?so:i.wrap<=0?x9:(i.wrap===2?(Zt(i,e.adler&255),Zt(i,e.adler>>8&255),Zt(i,e.adler>>16&255),Zt(i,e.adler>>24&255),Zt(i,e.total_in&255),Zt(i,e.total_in>>8&255),Zt(i,e.total_in>>16&255),Zt(i,e.total_in>>24&255)):(Kp(i,e.adler>>>16),Kp(i,e.adler&65535)),Ps(e),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?so:x9)}function jwe(e){var t;return!e||!e.state?Qi:(t=e.state.status,t!==eT&&t!==_I&&t!==tT&&t!==nT&&t!==rT&&t!==Zl&&t!==qp?Os(e,Qi):(e.state=null,t===Zl?Os(e,vwe):so))}function Vwe(e,t){var n=t.length,i,r,a,o,s,u,c,l;if(!e||!e.state||(i=e.state,o=i.wrap,o===2||o===1&&i.status!==eT||i.lookahead))return Qi;for(o===1&&(e.adler=k9(e.adler,t,n,0)),i.wrap=0,n>=i.w_size&&(o===0&&(xs(i.head),i.strstart=0,i.block_start=0,i.insert=0),l=new si.Buf8(i.w_size),si.arraySet(l,t,n-i.w_size,i.w_size,0),t=l,n=i.w_size),s=e.avail_in,u=e.next_in,c=e.input,e.avail_in=n,e.next_in=0,e.input=t,Jl(i);i.lookahead>=Yt;){r=i.strstart,a=i.lookahead-(Yt-1);do i.ins_h=(i.ins_h<<i.hash_shift^i.window[r+Yt-1])&i.hash_mask,i.prev[r&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=r,r++;while(--a);i.strstart=r,i.lookahead=Yt-1,Jl(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=Yt-1,i.match_available=0,e.next_in=u,e.input=c,e.avail_in=s,i.wrap=o,so}ao.deflateInit=Gwe,ao.deflateInit2=L9,ao.deflateReset=M9,ao.deflateResetKeep=N9,ao.deflateSetHeader=Uwe,ao.deflate=zwe,ao.deflateEnd=jwe,ao.deflateSetDictionary=Vwe,ao.deflateInfo="pako deflate (from Nodeca project)";var eu={},iT=Go,B9=!0,F9=!0;try{String.fromCharCode.apply(null,[0])}catch{B9=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{F9=!1}for(var Zp=new iT.Buf8(256),Rs=0;Rs<256;Rs++)Zp[Rs]=Rs>=252?6:Rs>=248?5:Rs>=240?4:Rs>=224?3:Rs>=192?2:1;Zp[254]=Zp[254]=1,eu.string2buf=function(e){var t,n,i,r,a,o=e.length,s=0;for(r=0;r<o;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<o&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new iT.Buf8(s),a=0,r=0;a<s;r++)n=e.charCodeAt(r),(n&64512)===55296&&r+1<o&&(i=e.charCodeAt(r+1),(i&64512)===56320&&(n=65536+(n-55296<<10)+(i-56320),r++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t};function H9(e,t){if(t<65534&&(e.subarray&&F9||!e.subarray&&B9))return String.fromCharCode.apply(null,iT.shrinkBuf(e,t));for(var n="",i=0;i<t;i++)n+=String.fromCharCode(e[i]);return n}eu.buf2binstring=function(e){return H9(e,e.length)},eu.binstring2buf=function(e){for(var t=new iT.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},eu.buf2string=function(e,t){var n,i,r,a,o=t||e.length,s=new Array(o*2);for(i=0,n=0;n<o;){if(r=e[n++],r<128){s[i++]=r;continue}if(a=Zp[r],a>4){s[i++]=65533,n+=a-1;continue}for(r&=a===2?31:a===3?15:7;a>1&&n<o;)r=r<<6|e[n++]&63,a--;if(a>1){s[i++]=65533;continue}r<65536?s[i++]=r:(r-=65536,s[i++]=55296|r>>10&1023,s[i++]=56320|r&1023)}return H9(s,i)},eu.utf8border=function(e,t){var n;for(t=t||e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)===128;)n--;return n<0||n===0?t:n+Zp[e[n]]>t?n:t};function Ywe(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var $9=Ywe,Qp=ao,Jp=Go,AI=eu,CI=TI,Wwe=$9,U9=Object.prototype.toString,qwe=0,DI=4,Mh=0,G9=1,z9=2,Xwe=-1,Kwe=0,Zwe=8;function tu(e){if(!(this instanceof tu))return new tu(e);this.options=Jp.assign({level:Xwe,method:Zwe,chunkSize:16384,windowBits:15,memLevel:8,strategy:Kwe,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Wwe,this.strm.avail_out=0;var n=Qp.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Mh)throw new Error(CI[n]);if(t.header&&Qp.deflateSetHeader(this.strm,t.header),t.dictionary){var i;if(typeof t.dictionary=="string"?i=AI.string2buf(t.dictionary):U9.call(t.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(t.dictionary):i=t.dictionary,n=Qp.deflateSetDictionary(this.strm,i),n!==Mh)throw new Error(CI[n]);this._dict_set=!0}}tu.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,r,a;if(this.ended)return!1;a=t===~~t?t:t===!0?DI:qwe,typeof e=="string"?n.input=AI.string2buf(e):U9.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new Jp.Buf8(i),n.next_out=0,n.avail_out=i),r=Qp.deflate(n,a),r!==G9&&r!==Mh)return this.onEnd(r),this.ended=!0,!1;(n.avail_out===0||n.avail_in===0&&(a===DI||a===z9))&&(this.options.to==="string"?this.onData(AI.buf2binstring(Jp.shrinkBuf(n.output,n.next_out))):this.onData(Jp.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||n.avail_out===0)&&r!==G9);return a===DI?(r=Qp.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===Mh):(a===z9&&(this.onEnd(Mh),n.avail_out=0),!0)},tu.prototype.onData=function(e){this.chunks.push(e)},tu.prototype.onEnd=function(e){e===Mh&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Jp.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function II(e,t){var n=new tu(t);if(n.push(e,!0),n.err)throw n.msg||CI[n.err];return n.result}function Qwe(e,t){return t=t||{},t.raw=!0,II(e,t)}function Jwe(e,t){return t=t||{},t.gzip=!0,II(e,t)}Up.Deflate=tu,Up.deflate=II,Up.deflateRaw=Qwe,Up.gzip=Jwe;var em={},Da={},aT=30,eke=12,tke=function(t,n){var i,r,a,o,s,u,c,l,f,h,d,p,m,g,v,E,y,T,b,S,I,D,R,M,k;i=t.state,r=t.next_in,M=t.input,a=r+(t.avail_in-5),o=t.next_out,k=t.output,s=o-(n-t.avail_out),u=o+(t.avail_out-257),c=i.dmax,l=i.wsize,f=i.whave,h=i.wnext,d=i.window,p=i.hold,m=i.bits,g=i.lencode,v=i.distcode,E=(1<<i.lenbits)-1,y=(1<<i.distbits)-1;e:do{m<15&&(p+=M[r++]<<m,m+=8,p+=M[r++]<<m,m+=8),T=g[p&E];t:for(;;){if(b=T>>>24,p>>>=b,m-=b,b=T>>>16&255,b===0)k[o++]=T&65535;else if(b&16){S=T&65535,b&=15,b&&(m<b&&(p+=M[r++]<<m,m+=8),S+=p&(1<<b)-1,p>>>=b,m-=b),m<15&&(p+=M[r++]<<m,m+=8,p+=M[r++]<<m,m+=8),T=v[p&y];n:for(;;){if(b=T>>>24,p>>>=b,m-=b,b=T>>>16&255,b&16){if(I=T&65535,b&=15,m<b&&(p+=M[r++]<<m,m+=8,m<b&&(p+=M[r++]<<m,m+=8)),I+=p&(1<<b)-1,I>c){t.msg="invalid distance too far back",i.mode=aT;break e}if(p>>>=b,m-=b,b=o-s,I>b){if(b=I-b,b>f&&i.sane){t.msg="invalid distance too far back",i.mode=aT;break e}if(D=0,R=d,h===0){if(D+=l-b,b<S){S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}}else if(h<b){if(D+=l+h-b,b-=h,b<S){S-=b;do k[o++]=d[D++];while(--b);if(D=0,h<S){b=h,S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}}}else if(D+=h-b,b<S){S-=b;do k[o++]=d[D++];while(--b);D=o-I,R=k}for(;S>2;)k[o++]=R[D++],k[o++]=R[D++],k[o++]=R[D++],S-=3;S&&(k[o++]=R[D++],S>1&&(k[o++]=R[D++]))}else{D=o-I;do k[o++]=k[D++],k[o++]=k[D++],k[o++]=k[D++],S-=3;while(S>2);S&&(k[o++]=k[D++],S>1&&(k[o++]=k[D++]))}}else if((b&64)===0){T=v[(T&65535)+(p&(1<<b)-1)];continue n}else{t.msg="invalid distance code",i.mode=aT;break e}break}}else if((b&64)===0){T=g[(T&65535)+(p&(1<<b)-1)];continue t}else if(b&32){i.mode=eke;break e}else{t.msg="invalid literal/length code",i.mode=aT;break e}break}}while(r<a&&o<u);S=m>>3,r-=S,m-=S<<3,p&=(1<<m)-1,t.next_in=r,t.next_out=o,t.avail_in=r<a?5+(a-r):5-(r-a),t.avail_out=o<u?257+(u-o):257-(o-u),i.hold=p,i.bits=m},j9=Go,Lh=15,V9=852,Y9=592,W9=0,wI=1,q9=2,nke=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],rke=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],ike=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],ake=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],oke=function(t,n,i,r,a,o,s,u){var c=u.bits,l=0,f=0,h=0,d=0,p=0,m=0,g=0,v=0,E=0,y=0,T,b,S,I,D,R=null,M=0,k,L=new j9.Buf16(Lh+1),$=new j9.Buf16(Lh+1),P=null,B=0,X,ee,se;for(l=0;l<=Lh;l++)L[l]=0;for(f=0;f<r;f++)L[n[i+f]]++;for(p=c,d=Lh;d>=1&&L[d]===0;d--);if(p>d&&(p=d),d===0)return a[o++]=1<<24|64<<16|0,a[o++]=1<<24|64<<16|0,u.bits=1,0;for(h=1;h<d&&L[h]===0;h++);for(p<h&&(p=h),v=1,l=1;l<=Lh;l++)if(v<<=1,v-=L[l],v<0)return-1;if(v>0&&(t===W9||d!==1))return-1;for($[1]=0,l=1;l<Lh;l++)$[l+1]=$[l]+L[l];for(f=0;f<r;f++)n[i+f]!==0&&(s[$[n[i+f]]++]=f);if(t===W9?(R=P=s,k=19):t===wI?(R=nke,M-=257,P=rke,B-=257,k=256):(R=ike,P=ake,k=-1),y=0,f=0,l=h,D=o,m=p,g=0,S=-1,E=1<<p,I=E-1,t===wI&&E>V9||t===q9&&E>Y9)return 1;for(;;){X=l-g,s[f]<k?(ee=0,se=s[f]):s[f]>k?(ee=P[B+s[f]],se=R[M+s[f]]):(ee=32+64,se=0),T=1<<l-g,b=1<<m,h=b;do b-=T,a[D+(y>>g)+b]=X<<24|ee<<16|se|0;while(b!==0);for(T=1<<l-1;y&T;)T>>=1;if(T!==0?(y&=T-1,y+=T):y=0,f++,--L[l]===0){if(l===d)break;l=n[i+s[f]]}if(l>p&&(y&I)!==S){for(g===0&&(g=p),D+=h,m=l-g,v=1<<m;m+g<d&&(v-=L[m+g],!(v<=0));)m++,v<<=1;if(E+=1<<m,t===wI&&E>V9||t===q9&&E>Y9)return 1;S=y&I,a[S]=p<<24|m<<16|D-o|0}}return y!==0&&(a[D+y]=l-g<<24|64<<16|0),u.bits=p,0},Mi=Go,kI=I9,uo=w9,ske=tke,tm=oke,lke=0,X9=1,K9=2,Z9=4,uke=5,oT=6,nu=0,cke=1,hke=2,Ji=-2,Q9=-3,J9=-4,fke=-5,e$=8,t$=1,n$=2,r$=3,i$=4,a$=5,o$=6,s$=7,l$=8,u$=9,c$=10,sT=11,jo=12,OI=13,h$=14,xI=15,f$=16,d$=17,p$=18,m$=19,lT=20,uT=21,g$=22,v$=23,y$=24,T$=25,E$=26,PI=27,b$=28,_$=29,kn=30,S$=31,dke=32,pke=852,mke=592,gke=15,vke=gke;function A$(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function yke(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Mi.Buf16(320),this.work=new Mi.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function C$(e){var t;return!e||!e.state?Ji:(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=t.wrap&1),t.mode=t$,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Mi.Buf32(pke),t.distcode=t.distdyn=new Mi.Buf32(mke),t.sane=1,t.back=-1,nu)}function D$(e){var t;return!e||!e.state?Ji:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,C$(e))}function I$(e,t){var n,i;return!e||!e.state||(i=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?Ji:(i.window!==null&&i.wbits!==t&&(i.window=null),i.wrap=n,i.wbits=t,D$(e))}function w$(e,t){var n,i;return e?(i=new yke,e.state=i,i.window=null,n=I$(e,t),n!==nu&&(e.state=null),n):Ji}function Tke(e){return w$(e,vke)}var k$=!0,RI,NI;function Eke(e){if(k$){var t;for(RI=new Mi.Buf32(512),NI=new Mi.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(tm(X9,e.lens,0,288,RI,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;tm(K9,e.lens,0,32,NI,0,e.work,{bits:5}),k$=!1}e.lencode=RI,e.lenbits=9,e.distcode=NI,e.distbits=5}function O$(e,t,n,i){var r,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Mi.Buf8(a.wsize)),i>=a.wsize?(Mi.arraySet(a.window,t,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>i&&(r=i),Mi.arraySet(a.window,t,n-i,r,a.wnext),i-=r,i?(Mi.arraySet(a.window,t,n-i,i,0),a.wnext=i,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0}function bke(e,t){var n,i,r,a,o,s,u,c,l,f,h,d,p,m,g=0,v,E,y,T,b,S,I,D,R=new Mi.Buf8(4),M,k,L=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return Ji;n=e.state,n.mode===jo&&(n.mode=OI),o=e.next_out,r=e.output,u=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,c=n.hold,l=n.bits,f=s,h=u,D=nu;e:for(;;)switch(n.mode){case t$:if(n.wrap===0){n.mode=OI;break}for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.wrap&2&&c===35615){n.check=0,R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0),c=0,l=0,n.mode=n$;break}if(n.flags=0,n.head&&(n.head.done=!1),!(n.wrap&1)||(((c&255)<<8)+(c>>8))%31){e.msg="incorrect header check",n.mode=kn;break}if((c&15)!==e$){e.msg="unknown compression method",n.mode=kn;break}if(c>>>=4,l-=4,I=(c&15)+8,n.wbits===0)n.wbits=I;else if(I>n.wbits){e.msg="invalid window size",n.mode=kn;break}n.dmax=1<<I,e.adler=n.check=1,n.mode=c&512?c$:jo,c=0,l=0;break;case n$:for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.flags=c,(n.flags&255)!==e$){e.msg="unknown compression method",n.mode=kn;break}if(n.flags&57344){e.msg="unknown header flags set",n.mode=kn;break}n.head&&(n.head.text=c>>8&1),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0,n.mode=r$;case r$:for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.head&&(n.head.time=c),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,R[2]=c>>>16&255,R[3]=c>>>24&255,n.check=uo(n.check,R,4,0)),c=0,l=0,n.mode=i$;case i$:for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.head&&(n.head.xflags=c&255,n.head.os=c>>8),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0,n.mode=a$;case a$:if(n.flags&1024){for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.length=c,n.head&&(n.head.extra_len=c),n.flags&512&&(R[0]=c&255,R[1]=c>>>8&255,n.check=uo(n.check,R,2,0)),c=0,l=0}else n.head&&(n.head.extra=null);n.mode=o$;case o$:if(n.flags&1024&&(d=n.length,d>s&&(d=s),d&&(n.head&&(I=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),Mi.arraySet(n.head.extra,i,a,d,I)),n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,n.length-=d),n.length))break e;n.length=0,n.mode=s$;case s$:if(n.flags&2048){if(s===0)break e;d=0;do I=i[a+d++],n.head&&I&&n.length<65536&&(n.head.name+=String.fromCharCode(I));while(I&&d<s);if(n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,I)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=l$;case l$:if(n.flags&4096){if(s===0)break e;d=0;do I=i[a+d++],n.head&&I&&n.length<65536&&(n.head.comment+=String.fromCharCode(I));while(I&&d<s);if(n.flags&512&&(n.check=uo(n.check,i,d,a)),s-=d,a+=d,I)break e}else n.head&&(n.head.comment=null);n.mode=u$;case u$:if(n.flags&512){for(;l<16;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c!==(n.check&65535)){e.msg="header crc mismatch",n.mode=kn;break}c=0,l=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=jo;break;case c$:for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}e.adler=n.check=A$(c),c=0,l=0,n.mode=sT;case sT:if(n.havedict===0)return e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,hke;e.adler=n.check=1,n.mode=jo;case jo:if(t===uke||t===oT)break e;case OI:if(n.last){c>>>=l&7,l-=l&7,n.mode=PI;break}for(;l<3;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}switch(n.last=c&1,c>>>=1,l-=1,c&3){case 0:n.mode=h$;break;case 1:if(Eke(n),n.mode=lT,t===oT){c>>>=2,l-=2;break e}break;case 2:n.mode=d$;break;case 3:e.msg="invalid block type",n.mode=kn}c>>>=2,l-=2;break;case h$:for(c>>>=l&7,l-=l&7;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if((c&65535)!==(c>>>16^65535)){e.msg="invalid stored block lengths",n.mode=kn;break}if(n.length=c&65535,c=0,l=0,n.mode=xI,t===oT)break e;case xI:n.mode=f$;case f$:if(d=n.length,d){if(d>s&&(d=s),d>u&&(d=u),d===0)break e;Mi.arraySet(r,i,a,d,o),s-=d,a+=d,u-=d,o+=d,n.length-=d;break}n.mode=jo;break;case d$:for(;l<14;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(n.nlen=(c&31)+257,c>>>=5,l-=5,n.ndist=(c&31)+1,c>>>=5,l-=5,n.ncode=(c&15)+4,c>>>=4,l-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=kn;break}n.have=0,n.mode=p$;case p$:for(;n.have<n.ncode;){for(;l<3;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.lens[L[n.have++]]=c&7,c>>>=3,l-=3}for(;n.have<19;)n.lens[L[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,M={bits:n.lenbits},D=tm(lke,n.lens,0,19,n.lencode,0,n.work,M),n.lenbits=M.bits,D){e.msg="invalid code lengths set",n.mode=kn;break}n.have=0,n.mode=m$;case m$:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[c&(1<<n.lenbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(y<16)c>>>=v,l-=v,n.lens[n.have++]=y;else{if(y===16){for(k=v+2;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c>>>=v,l-=v,n.have===0){e.msg="invalid bit length repeat",n.mode=kn;break}I=n.lens[n.have-1],d=3+(c&3),c>>>=2,l-=2}else if(y===17){for(k=v+3;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=v,l-=v,I=0,d=3+(c&7),c>>>=3,l-=3}else{for(k=v+7;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=v,l-=v,I=0,d=11+(c&127),c>>>=7,l-=7}if(n.have+d>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=kn;break}for(;d--;)n.lens[n.have++]=I}}if(n.mode===kn)break;if(n.lens[256]===0){e.msg="invalid code -- missing end-of-block",n.mode=kn;break}if(n.lenbits=9,M={bits:n.lenbits},D=tm(X9,n.lens,0,n.nlen,n.lencode,0,n.work,M),n.lenbits=M.bits,D){e.msg="invalid literal/lengths set",n.mode=kn;break}if(n.distbits=6,n.distcode=n.distdyn,M={bits:n.distbits},D=tm(K9,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,M),n.distbits=M.bits,D){e.msg="invalid distances set",n.mode=kn;break}if(n.mode=lT,t===oT)break e;case lT:n.mode=uT;case uT:if(s>=6&&u>=258){e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,ske(e,h),o=e.next_out,r=e.output,u=e.avail_out,a=e.next_in,i=e.input,s=e.avail_in,c=n.hold,l=n.bits,n.mode===jo&&(n.back=-1);break}for(n.back=0;g=n.lencode[c&(1<<n.lenbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(E&&(E&240)===0){for(T=v,b=E,S=y;g=n.lencode[S+((c&(1<<T+b)-1)>>T)],v=g>>>24,E=g>>>16&255,y=g&65535,!(T+v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=T,l-=T,n.back+=T}if(c>>>=v,l-=v,n.back+=v,n.length=y,E===0){n.mode=E$;break}if(E&32){n.back=-1,n.mode=jo;break}if(E&64){e.msg="invalid literal/length code",n.mode=kn;break}n.extra=E&15,n.mode=g$;case g$:if(n.extra){for(k=n.extra;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.length+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=v$;case v$:for(;g=n.distcode[c&(1<<n.distbits)-1],v=g>>>24,E=g>>>16&255,y=g&65535,!(v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if((E&240)===0){for(T=v,b=E,S=y;g=n.distcode[S+((c&(1<<T+b)-1)>>T)],v=g>>>24,E=g>>>16&255,y=g&65535,!(T+v<=l);){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}c>>>=T,l-=T,n.back+=T}if(c>>>=v,l-=v,n.back+=v,E&64){e.msg="invalid distance code",n.mode=kn;break}n.offset=y,n.extra=E&15,n.mode=y$;case y$:if(n.extra){for(k=n.extra;l<k;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}n.offset+=c&(1<<n.extra)-1,c>>>=n.extra,l-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=kn;break}n.mode=T$;case T$:if(u===0)break e;if(d=h-u,n.offset>d){if(d=n.offset-d,d>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=kn;break}d>n.wnext?(d-=n.wnext,p=n.wsize-d):p=n.wnext-d,d>n.length&&(d=n.length),m=n.window}else m=r,p=o-n.offset,d=n.length;d>u&&(d=u),u-=d,n.length-=d;do r[o++]=m[p++];while(--d);n.length===0&&(n.mode=uT);break;case E$:if(u===0)break e;r[o++]=n.length,u--,n.mode=uT;break;case PI:if(n.wrap){for(;l<32;){if(s===0)break e;s--,c|=i[a++]<<l,l+=8}if(h-=u,e.total_out+=h,n.total+=h,h&&(e.adler=n.check=n.flags?uo(n.check,r,h,o-h):kI(n.check,r,h,o-h)),h=u,(n.flags?c:A$(c))!==n.check){e.msg="incorrect data check",n.mode=kn;break}c=0,l=0}n.mode=b$;case b$:if(n.wrap&&n.flags){for(;l<32;){if(s===0)break e;s--,c+=i[a++]<<l,l+=8}if(c!==(n.total&4294967295)){e.msg="incorrect length check",n.mode=kn;break}c=0,l=0}n.mode=_$;case _$:D=cke;break e;case kn:D=Q9;break e;case S$:return J9;case dke:default:return Ji}return e.next_out=o,e.avail_out=u,e.next_in=a,e.avail_in=s,n.hold=c,n.bits=l,(n.wsize||h!==e.avail_out&&n.mode<kn&&(n.mode<PI||t!==Z9))&&O$(e,e.output,e.next_out,h-e.avail_out),f-=e.avail_in,h-=e.avail_out,e.total_in+=f,e.total_out+=h,n.total+=h,n.wrap&&h&&(e.adler=n.check=n.flags?uo(n.check,r,h,e.next_out-h):kI(n.check,r,h,e.next_out-h)),e.data_type=n.bits+(n.last?64:0)+(n.mode===jo?128:0)+(n.mode===lT||n.mode===xI?256:0),(f===0&&h===0||t===Z9)&&D===nu&&(D=fke),D}function _ke(e){if(!e||!e.state)return Ji;var t=e.state;return t.window&&(t.window=null),e.state=null,nu}function Ske(e,t){var n;return!e||!e.state||(n=e.state,(n.wrap&2)===0)?Ji:(n.head=t,t.done=!1,nu)}function Ake(e,t){var n=t.length,i,r,a;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==sT)?Ji:i.mode===sT&&(r=1,r=kI(r,t,n,0),r!==i.check)?Q9:(a=O$(e,t,n,n),a?(i.mode=S$,J9):(i.havedict=1,nu))}Da.inflateReset=D$,Da.inflateReset2=I$,Da.inflateResetKeep=C$,Da.inflateInit=Tke,Da.inflateInit2=w$,Da.inflate=bke,Da.inflateEnd=_ke,Da.inflateGetHeader=Ske,Da.inflateSetDictionary=Ake,Da.inflateInfo="pako inflate (from Nodeca project)";var x$={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};function Cke(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}var Dke=Cke,Bh=Da,nm=Go,cT=eu,Vn=x$,MI=TI,Ike=$9,wke=Dke,P$=Object.prototype.toString;function ru(e){if(!(this instanceof ru))return new ru(e);this.options=nm.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15)===0&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ike,this.strm.avail_out=0;var n=Bh.inflateInit2(this.strm,t.windowBits);if(n!==Vn.Z_OK)throw new Error(MI[n]);if(this.header=new wke,Bh.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary=="string"?t.dictionary=cT.string2buf(t.dictionary):P$.call(t.dictionary)==="[object ArrayBuffer]"&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Bh.inflateSetDictionary(this.strm,t.dictionary),n!==Vn.Z_OK)))throw new Error(MI[n])}ru.prototype.push=function(e,t){var n=this.strm,i=this.options.chunkSize,r=this.options.dictionary,a,o,s,u,c,l=!1;if(this.ended)return!1;o=t===~~t?t:t===!0?Vn.Z_FINISH:Vn.Z_NO_FLUSH,typeof e=="string"?n.input=cT.binstring2buf(e):P$.call(e)==="[object ArrayBuffer]"?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;do{if(n.avail_out===0&&(n.output=new nm.Buf8(i),n.next_out=0,n.avail_out=i),a=Bh.inflate(n,Vn.Z_NO_FLUSH),a===Vn.Z_NEED_DICT&&r&&(a=Bh.inflateSetDictionary(this.strm,r)),a===Vn.Z_BUF_ERROR&&l===!0&&(a=Vn.Z_OK,l=!1),a!==Vn.Z_STREAM_END&&a!==Vn.Z_OK)return this.onEnd(a),this.ended=!0,!1;n.next_out&&(n.avail_out===0||a===Vn.Z_STREAM_END||n.avail_in===0&&(o===Vn.Z_FINISH||o===Vn.Z_SYNC_FLUSH))&&(this.options.to==="string"?(s=cT.utf8border(n.output,n.next_out),u=n.next_out-s,c=cT.buf2string(n.output,s),n.next_out=u,n.avail_out=i-u,u&&nm.arraySet(n.output,n.output,s,u,0),this.onData(c)):this.onData(nm.shrinkBuf(n.output,n.next_out))),n.avail_in===0&&n.avail_out===0&&(l=!0)}while((n.avail_in>0||n.avail_out===0)&&a!==Vn.Z_STREAM_END);return a===Vn.Z_STREAM_END&&(o=Vn.Z_FINISH),o===Vn.Z_FINISH?(a=Bh.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Vn.Z_OK):(o===Vn.Z_SYNC_FLUSH&&(this.onEnd(Vn.Z_OK),n.avail_out=0),!0)},ru.prototype.onData=function(e){this.chunks.push(e)},ru.prototype.onEnd=function(e){e===Vn.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=nm.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function LI(e,t){var n=new ru(t);if(n.push(e,!0),n.err)throw n.msg||MI[n.err];return n.result}function kke(e,t){return t=t||{},t.raw=!0,LI(e,t)}em.Inflate=ru,em.inflate=LI,em.inflateRaw=kke,em.ungzip=LI;var Oke=Go.assign,xke=Up,Pke=em,Rke=x$,R$={};Oke(R$,xke,Pke,Rke);var Nke=R$,Mke=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];const Lke=Mke;function Bke(e){if(typeof e!="string")throw new TypeError("input must be a string");let t=[],n,i,r={LOCUS_TAG:"LOCUS",DEFINITION_TAG:"DEFINITION",ACCESSION_TAG:"ACCESSION",VERSION_TAG:"VERSION",KEYWORDS_TAG:"KEYWORDS",SOURCE_TAG:"SOURCE",ORGANISM_TAG:"ORGANISM",REFERENCE_TAG:"REFERENCE",AUTHORS_TAG:"AUTHORS",CONSORTIUM_TAG:"CONSRTM",TITLE_TAG:"TITLE",JOURNAL_TAG:"JOURNAL",PUBMED_TAG:"PUBMED",REMARK_TAG:"REMARK",FEATURES_TAG:"FEATURES",BASE_COUNT_TAG:"BASE COUNT",ORIGIN_TAG:"ORIGIN",END_SEQUENCE_TAG:"//"},a=e.split(/\r?\n/),o,s,u,c,l,f=!1;for(let P of a){if(P===null)break;let B=D(P),X=M(P),ee=L(P),se=k(P);if(B===r.END_SEQUENCE_TAG||se?(o=B,s=null):ee&&(s=B),!(P.trim()===""||B===";")){if(!f&&o!==r.LOCUS_TAG)break;switch(o){case r.LOCUS_TAG:f=!0,g(P);break;case r.FEATURES_TAG:y(P,B,X);break;case r.ORIGIN_TAG:m(P,B);break;case r.DEFINITION_TAG:case r.ACCESSION_TAG:case r.VERSION_TAG:case r.KEYWORDS_TAG:R(o,P,o.toLowerCase());break;case r.SOURCE_TAG:s===r.ORGANISM_TAG?R(s,P,"organism"):R(B,P,"source");break;case r.REFERENCE_TAG:if(B===r.REFERENCE_TAG){const fe=n.references||[];n.references=fe,fe.push({})}E(P,s);break;case r.END_SEQUENCE_TAG:h();break}}}return t[t.length-1]!==n&&h(),t;function h(){p(),t.push(n)}function d(){return n.features[n.features.length-1]}function p(){if(n&&n.features)for(let P=0;P<n.features.length;P++)n.features[P]=$(n.features[P])}function m(P,B){if(B!==r.ORIGIN_TAG){let X=P.replace(/[\s]*[0-9]*/g,"");n.sequence+=X}}function g(P){n={features:[],name:"Untitled sequence",sequence:"",references:[]},P=v(r.LOCUS_TAG,P);const B=P.match(/^([^\s]+)\s+(\d+)\s+bp\s+([^\s]+)\s+([^\s]+)\s+([^\s]+)\s*([^\s]+)?$/);let X=B[1],ee=+B[2],se=B[3],fe=B[4]==="circular";const Z=n;let he="";B[6]?(Z.genbankDivision=B[5],he=B[6]):he=B[5],Z.circular=fe,Z.moleculeType=se;const j=he.match(/^(\d{2})-(.{3})-(\d{4})$/),H=new Date;H.setFullYear(+j[3]),H.setUTCMonth(Lke.indexOf(j[2].toUpperCase())),H.setDate(+j[1]),H.setUTCHours(12),H.setMinutes(0),H.setSeconds(0),H.setMilliseconds(0),Z.date=H.toISOString(),Z.name=X,Z.size=ee}function v(P,B){return B=B.replace(/^\s*/,""),B.indexOf(P)===0&&(B=B.replace(P,"")),B.trim()}function E(P,B){const X=n.references;let ee=X[X.length-1];B?R(B,P,B.toLowerCase(),ee):R(r.REFERENCE_TAG,P,"description",ee)}function y(P,B,X){let ee;if(B===r.FEATURES_TAG){c=!0;return}if(c&&(u=N$(P),c=!1),Fke(P,u))l?(S(P.trim()),l=!0):(i&&(i[i.length-1]+=P.trim().replace(/"/g,"")),l=!1);else if(b(P))d()&&(I(P),l=!1);else{X.match(/complement/g)?ee=-1:ee=1,T();let se=d();se.type=B,se.strand=ee,S(X),l=!0}}function T(){n.features.push({notes:{}})}function b(P){let B=!1;return(P.trim().charAt(0).match(/\//)||P.match(/^[\s]*\/[\w]+=[\S]+/))&&(B=!0),B}function S(P){P=P.trim();let B=[];P.replace(/(\d+)/g,function(ee,se){B.push(se)});let X=d();X.start=+B[0],X.end=B[1]===void 0?+B[0]:+B[1]}function I(P){let B,X;B=P.trim(),B=B.replace(/^\/|"$/g,""),X=B.split(/="|=/);let ee=X[1];ee&&(ee=ee.replace(/\\/g," "),P.match(/="/g)?ee=ee.replace(/".*/g,""):ee.match(/^\d+$/g)&&(ee=+ee));let se=X[0],fe=d().notes;fe[se]?fe[se].push(ee):fe[se]=[ee],i=fe[se]}function D(P){let B;return P=P.trim(),B=P.split(/[\s]+/),B[0]}function R(P,B,X,ee){ee=ee||n;let se=v(P,B);ee[X]=ee[X]?`${ee[X]} `:"",ee[X]+=se}function M(P){let B;return P.indexOf("=")<0?(P=P.replace(/^[\s]*[\S]+[\s]+|[\s]+$/,""),P=P.trim(),P):(B=P.split(/=/),B[1])}function k(P){let B=!1;return P.substr(0,10).match(/^[\S]+/)&&(B=!0),B}function L(P){let B=!1;return P.substr(0,10).match(/^[\s]+[\S]+/)&&(B=!0),B}function $(P){return P.notes.label?P.name=P.notes.label[0]:P.notes.gene?P.name=P.notes.gene[0]:P.notes.ApEinfo_label?P.name=P.notes.ApEinfo_label[0]:P.notes.name?P.name=P.notes.name[0]:P.notes.organism?P.name=P.notes.organism[0]:P.notes.locus_tag?P.name=P.notes.locus_tag[0]:P.notes.note?P.name=P.notes.note[0]:P.name="Untitled Feature",P.name=typeof P.name=="string"?P.name:String(P.name),P}}function Fke(e,t){let n=N$(e);return!(t===n||e.trim().charAt(0).match(/\//))}function N$(e){let t=/^\s*/.exec(e);return t!==null?t[0].length:0}var Hke=Bke;function M$(e,t){const n=[];if(!e.length)return[];let r=e[0].start,a=e[0].end;for(let o=1;o<e.length;o++)e[o].start<a+5*1/t?a=Math.max(a,e[o].end):(n.push({type:"filler",start:r,end:a}),r=e[o].start,a=e[o].end);return n.push({start:r,end:a,type:"filler"}),n}function $ke(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1)),i=e[t];e[t]=e[n],e[n]=i}return e}function Uke(e){const t=e.end-e.start,n=e.strand===1?"+":"-",i=Pt.nice();return e.type==="filler"?{xStart:e.start,xEnd:e.end,strand:e.strand,fields:[],type:"filler",uid:i}:{xStart:e.start,xEnd:e.end,strand:n,chrOffset:0,importance:e.end-e.start,uid:i,type:e.type,fields:["chrom",e.start,e.end,e.name,t,n,"","",e.type,e.name,e.start.toString(),e.end.toString(),e.start.toString(),e.end.toString()]}}const L$=e=>{const t=Hke(e),n=$ke(t[0].features.filter(i=>i.type!=="source").sort((i,r)=>i.start-r.start));return[t,n]};let B$=function(){function e(t){if(_classCallCheck3(this,e),this.dataConfig=t,this.trackUid=Pt.nice(),t.url){const i=t.url.slice(t.url.length-3)===".gz";this.errorTxt="",this.dataPromise=fetch(t.url,{mode:"cors",redirect:"follow",method:"GET"}).then(r=>i?r.arrayBuffer():r.text()).then(r=>{const a=i?Nke.inflate(r,{to:"string"}):r;[this.gbJson,this.cdss]=L$(a)})}else t.text&&(this.dataPromise=new Promise((n,i)=>{[this.gbJson,this.cdss]=L$(t.text),n()}))}return _createClass3(e,[{key:"tilesetInfo",value:function(n){return this.tilesetInfoLoading=!0,this.dataPromise.then(()=>{this.tilesetInfoLoading=!1;const i=1024;let r={};return r={tile_size:i,max_zoom:Math.ceil(Math.log(this.gbJson[0].size/i)/Math.log(2)),max_width:this.gbJson[0].size,min_pos:[0],max_pos:[this.gbJson[0].size]},n&&n(r),r}).catch(i=>{this.tilesetInfoLoading=!1,n&&n({error:`Error parsing genbank: ${i}`})})}},{key:"fetchTilesDebounced",value:function(n,i){const r={},a=[],o=[];for(const s of i){const u=s.split("."),c=parseInt(u[0],10),l=parseInt(u[1],10);if(Number.isNaN(l)||Number.isNaN(c)){console.warn("Invalid tile zoom or position:",c,l);continue}a.push(s),o.push(this.tile(c,l))}return Promise.all(o).then(s=>{for(let u=0;u<s.length;u++){const c=a[u];r[c]=s[u],r[c].tilePositionId=c}n(r)}),r}},{key:"tile",value:function(n,i){return this.tilesetInfo().then(r=>{const a=+r.max_width/2**+n,o=r.min_pos[0]+i*a,s=r.min_pos[0]+(i+1)*a,u=this.cdss.filter(p=>p.end>o&&p.start<s),c=1024/2**(r.max_zoom-n),l=M$(u.filter(p=>p.strand===1),c),f=M$(u.filter(p=>p.strand!==1),c);l.forEach(p=>{p.strand="+"}),f.forEach(p=>{p.strand="-"});let h=[];const d=20;for(let p=0;p<this.cdss.length&&!(h.length>=d);p++)this.cdss[p].end>=o&&this.cdss[p].start<=s&&h.push(this.cdss[p]);return h=[...h,...l,...f],h.map(p=>Uke(p))})}}]),e}(),F$=function(){function e(t){_classCallCheck3(this,e),this.dataConfig=t,this.tilesetInfoData=Object.values(this.dataConfig.tilesetInfo)[0]}return _createClass3(e,[{key:"tilesetInfo",value:function(n){this.tilesetInfoLoading=!1,n(this.tilesetInfoData)}},{key:"fetchTilesDebounced",value:function(n,i){this.tilesData={};for(const o of Object.keys(this.dataConfig.tiles)){const u=`localtile.${o.split(".").slice(1).join(".")}`;this.tilesData[u]=this.dataConfig.tiles[o]}const r={},a=i.map(o=>`localtile.${o}`);yR(this.tilesData,"",a);for(const o of i)r[o]=this.tilesData[`localtile.${o}`];n(r)}},{key:"tile",value:function(n,i){}}]),e}();const H$=(e,t,n,i=hT)=>{const r=n[e.type];return r?new r.dataFetcher(i,e,t):e.type==="genbank"?new B$(e,t):e.type==="local-tiles"?new F$(e,t):new Oy(e,t)},BI="1.12.2",Gke={d3Array:Jz,d3Axis:qSe,d3Brush:HK,d3Color:dj,d3Drag:vX,d3Dsv:WZ,d3Format:Uj,d3Geo:lCe,d3Queue:dCe,d3Request:RCe,d3Scale:gY,d3Selection:sz,d3Transition:see,d3Zoom:pee,PIXI:Be.PIXI,mix:fh,slugid:Pt},hT={chromosomes:{ChromosomeInfo:ro,SearchField:Dh},libraries:Gke,tracks:{Annotations1dTrack:LD,Annotations2dTrack:TH,ArrowheadDomainsTrack:bH,BarTrack:FD,BedLikeTrack:c8,CNVIntervalTrack:h8,Chromosome2DAnnotations:f8,Chromosome2DLabels:d8,ChromosomeGrid:Lp,CombinedTrack:bb,CrossRule:g8,DivergentBarTrack:v8,HeatmapTiledPixiTrack:Hp,Horizontal1dHeatmapTrack:b8,Horizontal2DDomainsTrack:_8,HorizontalChromosomeLabels:A8,HorizontalGeneAnnotationsTrack:sI,HorizontalHeatmapTrack:O8,HorizontalLine1DPixiTrack:gh,HorizontalMultivecTrack:x8,HorizontalPoint1DPixiTrack:P8,HorizontalRule:R8,HorizontalTiled1DPixiTrack:mh,HorizontalTiledPlot:qy,HorizontalTrack:L8,Id2DTiledPixiTrack:U8,IdHorizontal1DTiledPixiTrack:G8,IdVertical1DTiledPixiTrack:j8,LeftAxisTrack:V8,MapboxTilesTrack:Y8,MoveableTrack:Yy,OSMTileIdsTrack:W8,OSMTilesTrack:$p,OverlayTrack:X8,PixiTrack:ai,RasterTilesTrack:K8,SVGTrack:Ds,SquareMarkersTrack:Z8,Tiled1DPixiTrack:BD,TiledPixiTrack:Ts,TopAxisTrack:Q8,Track:ph,ValueIntervalTrack:J8,VerticalRule:m8,VerticalTiled1DPixiTrack:z8,VerticalTrack:e9,ViewportTracker2D:t9,ViewportTracker2DPixi:xIe,ViewportTrackerHorizontal:n9,ViewportTrackerVertical:r9},dataFetchers:{DataFetcher:Oy,GBKDataFetcher:B$,LocalDataFetcher:F$,getDataFetcher:H$},factories:{ContextMenuItem:St,DataFetcher:Oy,LruCache:i9},services:xQ,utils:Bge,configs:hm,VERSION:BI},fT=(e,t)=>{const n=gb(t);let i=new Set(Object.values(n).flatMap(r=>r));for(const r of e){const a=new Set(r);i=new Set([...i].filter(o=>o.datatype.filter(s=>a.has(s)).length>0))}return[...i]},Ns={"track-control":"_track-control_w7hx2_1","track-control-vertical":"_track-control-vertical_w7hx2_2","track-control-dark":"_track-control-dark_w7hx2_15","track-control-active":"_track-control-active_w7hx2_16 _track-control_w7hx2_1","track-control-left":"_track-control-left_w7hx2_24","track-control-vertical-active":"_track-control-vertical-active_w7hx2_30","track-control-padding-right":"_track-control-padding-right_w7hx2_48","track-control-button":"_track-control-button_w7hx2_52","track-control-button-vertical":"_track-control-button-vertical_w7hx2_81"},zke=e=>qt({[Ns["track-control-active"]]:e.isVisible,[Ns["track-control"]]:!e.isVisible,[Ns["track-control-left"]]:e.isAlignLeft,[Ns["track-control-vertical"]]:e.isVertical,[Ns["track-control-padding-right"]]:e.paddingRight,[Ns["track-control-dark"]]:e.theme===pn}),dT=e=>qt("no-zoom",Ns["track-control-button"],{[Ns["track-control-button-vertical"]]:e.isVertical});let FI=null,U$=null;function G$(e){(!e||!FI||Object.keys(e).some(i=>FI[i]!==e[i]))&&(FI=e,U$=fb(()=>A.default.createElement("svg",{className:dT(e),style:{height:"20px",width:"20px",...e.imgStyleMove}},A.default.createElement("title",null,"Move track"),A.default.createElement("use",{xlinkHref:"#move"}))));let t,n;return A.default.createElement("div",{className:zke(e)},e.isMoveable&&A.default.createElement(U$,null),A.default.createElement("svg",{ref:i=>{t=i},className:dT(e),onClick:()=>{e.onConfigTrackMenuOpened(e.uid,t.getBoundingClientRect())},style:{height:"20px",width:"20px",...e.imgStyleSettings}},A.default.createElement("title",null,"Configure track"),A.default.createElement("use",{xlinkHref:"#cog"})),e.onAddSeries&&A.default.createElement("svg",{className:dT(e),onClick:()=>e.onAddSeries(e.uid),style:{height:"20px",width:"20px",...e.imgStyleAdd}},A.default.createElement("title",null,"Add series"),A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{ref:i=>{n=i},className:dT(e),onClick:()=>{e.onCloseTrackMenuOpened(e.uid,n.getBoundingClientRect())},style:{height:"20px",width:"20px",...e.imgStyleClose}},A.default.createElement("title",null,"Close track"),A.default.createElement("use",{xlinkHref:"#cross"})))}G$.propTypes={imgStyleAdd:N.exports.object,imgStyleClose:N.exports.object,imgStyleMove:N.exports.object,imgStyleSettings:N.exports.object,isAlignLeft:N.exports.bool,isMoveable:N.exports.bool,isVertical:N.exports.bool,isVisible:N.exports.bool,onConfigTrackMenuOpened:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onAddSeries:N.exports.func,paddingRight:N.exports.bool,theme:N.exports.symbol.isRequired,uid:N.exports.string};const pT=hl(G$),HI={"center-track":"_center-track_fiu64_1","center-track-container":"_center-track-container_fiu64_6"},mT={pointerEvents:"all"};function Fh(e){return e&&e.sourceEvent}let $I=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={isVisible:!1},r.brushBehaviorX=Ig().on("brush",r.brushedX.bind(_assertThisInitialized3(r))).on("end",r.brushedXEnded.bind(_assertThisInitialized3(r))),r.brushBehaviorY=vf().on("brush",r.brushedY.bind(_assertThisInitialized3(r))).on("end",r.brushedYEnded.bind(_assertThisInitialized3(r))),r.brushBehaviorXY=nb().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushedXY.bind(_assertThisInitialized3(r))).on("end",r.brushedXYEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush2d()}},{key:"shouldComponentUpdate",value:function(r,a){if(this.rangeSelectionTriggeredXY){if(this.rangeSelectionTriggeredXY=!1,this.rangeSelectionTriggeredXYEnd){const o=r.rangeSelection[0]||null;this.moveBrushXY([o,r.rangeSelection[1]],!0),this.rangeSelectionTriggeredXYEnd=!1}return this.state!==a}if(this.props.rangeSelection!==r.rangeSelection){const o=r.rangeSelection[0]||null;this.props.is1dRangeSelection?(this.rangeSelectionTriggeredX||this.moveBrushX(o,r.rangeSelectionEnd),this.rangeSelectionTriggeredXEnd&&this.moveBrushX(o,r.rangeSelectionEnd,!0),this.rangeSelectionTriggeredY||this.moveBrushY(o,r.rangeSelectionEnd),this.rangeSelectionTriggeredYEnd&&this.moveBrushY(o,r.rangeSelectionEnd,!0),this.rangeSelectionTriggeredX=!1,this.rangeSelectionTriggeredXEnd=!1,this.rangeSelectionTriggeredY=!1,this.rangeSelectionTriggeredYEnd=!1):this.moveBrushXY([o,r.rangeSelection[1]],r.rangeSelectionEnd);const s=this.props.is1dRangeSelection&&!r.is1dRangeSelection&&o===null;return this.state!==a||s}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush2d():(this.removeBrush1d(),this.removeBrush2d())}},{key:"addBrush1d",value:function(){!this.brushElX||!this.brushElY||this.brushElXOld===this.brushElX&&this.brushElYOld===this.brushElY||(this.brushElXOld&&this.brushElXOld.on(".brush",null),this.brushElYOld&&this.brushElYOld.on(".brush",null),this.brushElX.call(this.brushBehaviorX),this.brushElY.call(this.brushBehaviorY),zu(this.brushElX,Aa["track-range-selection-group-brush-selection"]),zu(this.brushElY,Aa["track-range-selection-group-brush-selection"]),this.brushElXOld=this.brushElX,this.brushElYOld=this.brushElY,this.brushIs1dBound=!0)}},{key:"addBrush2d",value:function(){!this.brushElXY||this.brushElXYOld===this.brushElXY||(this.brushElXYOld&&this.brushElXYOld.on(".brush",null),this.brushElXY.call(this.brushBehaviorXY),this.brushElXYOld=this.brushElXY,this.brushIs2dBound=!0,zu(this.brushElXY,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushedX",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionX||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredX=!0,this.props.onRangeSelectionX(r.selection))}},{key:"brushedXEnded",value:function(r){const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,!(!Fh(r)||!this.props.onRangeSelectionX||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredX=!0,this.rangeSelectionTriggeredXEnd=!0,this.props.onRangeSelectionXEnd(r.selection))}},{key:"brushedY",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionY||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredY=!0,this.props.onRangeSelectionY(r.selection))}},{key:"brushedYEnded",value:function(r){const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,!(!Fh(r)||!this.props.onRangeSelectionY||!this.props.is1dRangeSelection||a)&&(this.rangeSelectionTriggeredY=!0,this.rangeSelectionTriggeredYEnd=!0,this.props.onRangeSelectionYEnd(r.selection))}},{key:"brushedXY",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Fh(r)||!this.props.onRangeSelectionXY||a||this.props.is1dRangeSelection)&&(this.rangeSelectionTriggeredXY=!0,this.props.onRangeSelectionXY([[r.selection[0][0],r.selection[1][0]],[r.selection[0][1],r.selection[1][1]]]))}},{key:"brushedXYEnded",value:function(r){if(this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelectionXY&&!a&&(this.rangeSelectionTriggeredXY=!0,this.rangeSelectionTriggeredXYEnd=!0,this.props.onRangeSelectionXYEnd([[r.selection[0][0],r.selection[1][0]],[r.selection[0][1],r.selection[1][1]]])),r.selection||(this.rangeSelectionTriggeredXY=!0,this.props.onRangeSelectionReset())}},{key:"brushStarted",value:function(r){!Fh(r)||this.props.onRangeSelectionStart()}},{key:"moveBrushX",value:function(r,a=!1){if(!this.brushEl)return;this.brushIs2dBound&&(this.removeBrush2d(),this.addBrush1d());const o=r?[this.props.scaleX(r[0]),this.props.scaleX(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElX.transition().call(this.brushBehaviorX.move,o):this.brushElX.call(this.brushBehaviorX.move,o)}},{key:"moveBrushY",value:function(r,a=!1){if(!this.brushEl)return;this.brushIs2dBound&&(this.removeBrush2d(),this.addBrush1d());const o=r?[this.props.scaleY(r[0]),this.props.scaleY(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElY.transition().call(this.brushBehaviorY.move,o):this.brushElY.call(this.brushBehaviorY.move,o)}},{key:"moveBrushXY",value:function(r,a=!1){if(!this.brushEl)return;const o=[[this.props.scaleX(r[0][0]),this.props.scaleY(r[1][0])],[this.props.scaleX(r[0][1]),this.props.scaleY(r[1][1])]];this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushElXY.transition().call(this.brushBehaviorXY.move,o):this.brushElXY.call(this.brushBehaviorXY.move,o)}},{key:"mouseEnterHandler",value:function(){this.props.isRangeSelectionActive||this.setState({isVisible:!0})}},{key:"mouseLeaveHandler",value:function(){this.setState({isVisible:!1})}},{key:"removeBrush1d",value:function(){!this.brushIs1dBound||(this.brushElX&&(this.brushElX.call(this.brushBehaviorX.move,null),this.brushElX.on(".brush",null)),this.brushElY&&(this.brushElY.call(this.brushBehaviorY.move,null),this.brushElY.on(".brush",null)),this.brushIs1dBound=!1)}},{key:"removeBrush2d",value:function(){!this.brushIs2dBound||this.brushElXY&&(this.brushElXY.call(this.brushBehaviorXY.move,null),this.brushElXY.on(".brush",null),this.brushElXYOld=void 0,this.brushIs2dBound=!1,this.props.is1dRangeSelection||this.props.onRangeSelectionReset())}},{key:"render",value:function(){const r=this.props.tracks.map(c=>Ld(c)).reduce(Nf,!1),a=this.props.tracks.some(c=>c.contents?c.contents.some(l=>l.type==="heatmap"?l.options.colorbarPosition==="topRight":!1):c.type==="heatmap"?c.options.colorbarPosition==="topRight":!1);let o="track-range-selection";this.props.isRangeSelectionActive&&(o+=this.props.is1dRangeSelection?"-active-secondary":"-active-primary");const s=qt(!this.props.is1dRangeSelection&&Aa["track-range-selection-group-inactive"]),u=qt(this.props.is1dRangeSelection&&Aa["track-range-selection-group-inactive"]);return A.default.createElement("div",{className:qt(this.props.className,HI["center-track"]),onMouseEnter:this.mouseEnterHandler.bind(this),onMouseLeave:this.mouseLeaveHandler.bind(this),style:{height:this.props.height,width:this.props.width}},r&&A.default.createElement("svg",{className:Aa[o],style:{height:this.props.height,width:this.props.width},xmlns:"http://www.w3.org/2000/svg"},A.default.createElement("g",{ref:c=>{this.brushElX=xt(c)},className:s}),A.default.createElement("g",{ref:c=>{this.brushElY=xt(c)},className:s}),A.default.createElement("g",{ref:c=>{this.brushElXY=xt(c)},className:u})),this.props.editable&&A.default.createElement(pT,{imgStyleAdd:mT,imgStyleClose:mT,imgStyleMove:mT,imgStyleSettings:mT,isMoveable:!1,isVisible:this.state.isVisible||this.props.uid===this.props.configTrackMenuId,onAddSeries:this.props.onAddSeries,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,paddingRight:a,uid:this.props.uid}))}}]),n}(A.default.Component);$I.defaultProps={className:"center-track",configTrackMenuId:null,is1dRangeSelection:!1,rangeSelectionEnd:N.exports.bool,isRangeSelectionActive:!1,scaleX:e=>e,scaleY:e=>e},$I.propTypes={className:N.exports.string,configTrackMenuId:N.exports.string,editable:N.exports.bool,height:N.exports.number.isRequired,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,onAddSeries:N.exports.func.isRequired,onCloseTrackMenuOpened:N.exports.func.isRequired,onConfigTrackMenuOpened:N.exports.func.isRequired,onRangeSelectionX:N.exports.func.isRequired,onRangeSelectionXEnd:N.exports.func.isRequired,onRangeSelectionY:N.exports.func.isRequired,onRangeSelectionYEnd:N.exports.func.isRequired,onRangeSelectionXY:N.exports.func.isRequired,onRangeSelectionXYEnd:N.exports.func.isRequired,onRangeSelectionReset:N.exports.func.isRequired,onRangeSelectionStart:N.exports.func.isRequired,rangeSelection:N.exports.array.isRequired,rangeSelectionEnd:N.exports.bool,scaleX:N.exports.func,scaleY:N.exports.func,tracks:N.exports.array.isRequired,uid:N.exports.string.isRequired,width:N.exports.number.isRequired};const jke={"drag-listening-div-active":"_drag-listening-div-active_19gkt_1"};let UI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={dragOnTop:!1},r}return _createClass3(n,[{key:"render",value:function(){let r="red";return this.props.enabled&&this.state.dragOnTop?r="green":this.props.enabled&&(r="blue"),A.default.createElement("div",{className:qt("DragListeningDiv",{[jke["drag-listening-div-active"]]:this.props.enabled}),onDragEnter:()=>{this.setState({dragOnTop:!0})},onDragLeave:()=>{this.setState({dragOnTop:!1})},onDragOver:a=>{a.preventDefault()},onDrop:()=>{if(!this.props.enabled)return;const a=this.props.draggingHappening,o={type:this.props.defaultTrackType,uid:Pt.nice(),tilesetUid:a.tilesetUid,server:a.server};this.props.onTrackDropped(o),this.props.pubSub.publish("trackDropped",o)},style:{background:r,opacity:.6,...this.props.style}})}}]),n}(A.default.Component);UI.defaultProps={enabled:!1,style:{},draggingHappening:{},onTrackDropped:()=>{}},UI.propTypes={enabled:N.exports.bool,style:N.exports.object,defaultTrackType:N.exports.object,draggingHappening:N.exports.object,onTrackDropped:N.exports.func,position:N.exports.string.isRequired,pubSub:N.exports.object.isRequired};const gT=dh(UI),iu={"gallery-tracks":"_gallery-tracks_fbxxi_1","gallery-track":"_gallery-track_fbxxi_1","gallery-sub-track":"_gallery-sub-track_fbxxi_18","gallery-invisible-track":"_gallery-invisible-track_fbxxi_19"},vT={pointerEvents:"all"};let z$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={hovering:!1},r}return _createClass3(n,[{key:"mouseEnterHandler",value:function(){this.setState({hovering:!0})}},{key:"mouseLeaveHandler",value:function(){this.setState({hovering:!1})}},{key:"render",value:function(){return A.default.createElement("div",{className:qt("gallery-tracks",iu["gallery-tracks"])},this.props.tracks&&this.props.tracks.map((r,a)=>A.default.createElement("div",{key:r.uid||a,className:iu["gallery-track"],onMouseLeave:this.mouseLeaveHandler.bind(this),style:{top:r.height*a,right:r.height*a,bottom:r.height*a,left:r.height*a}},A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,right:0,left:0,height:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,right:0,bottom:0,width:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{right:0,bottom:0,left:0,height:r.height}}),A.default.createElement("div",{className:iu["gallery-sub-track"],onMouseEnter:this.mouseEnterHandler.bind(this),style:{top:0,bottom:0,left:0,width:r.height}}),A.default.createElement("div",{className:iu["gallery-invisible-track"],onMouseLeave:this.mouseLeaveHandler.bind(this),style:{top:r.height,right:r.height,bottom:r.height,left:r.height}}),this.props.editable&&A.default.createElement(pT,{configMenuVisible:!0,imgStyleAdd:vT,imgStyleClose:vT,imgStyleMove:vT,imgStyleSettings:vT,isMoveable:!1,isVisible:this.state.hovering,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:r.uid||a}))))}}]),n}(A.default.Component);z$.propTypes={editable:N.exports.bool,onCloseTrackMenuOpened:N.exports.func.isRequired,onConfigTrackMenuOpened:N.exports.func.isRequired,tracks:N.exports.array};let j$=function(){function e(t){_classCallCheck3(this,e),this.scene=t.scene,this.originalTrack=t,this.pBase=new Be.PIXI.Graphics,this.scene.removeChild(t.pBase),this.scene.addChild(this.pBase),this.moveToOrigin=new Be.PIXI.Graphics,this.moveToOrigin.addChild(t.pBase),this.pBase.addChild(this.moveToOrigin),this.moveToOrigin.rotation=Math.PI/2,t.isLeftModified=!0,t.flipText=!0,this.svgOutput=null,t.gBase&&t.gMain&&(this.originalTrack.gBase.attr("transform",`translate(${this.moveToOrigin.position.x},${this.moveToOrigin.position.y})
333
333
  rotate(90)
334
334
  scale(${this.moveToOrigin.scale.x},${this.moveToOrigin.scale.y})`),this.originalTrack.gMain.attr("transform",`translate(${this.originalTrack.pBase.position.x},${this.originalTrack.pBase.position.y})`))}return _createClass3(e,[{key:"remove",value:function(){this.originalTrack.remove(),this.pBase.clear(),this.scene.removeChild(this.pBase)}},{key:"setDimensions",value:function(n){this.dimensions=n;const i=[n[1],n[0]];this.originalTrack.setDimensions(i)}},{key:"setPosition",value:function(n){this.position=n,this.originalTrack.setPosition(n),this.originalTrack.pBase.position.x=-this.originalTrack.position[0],this.originalTrack.pBase.position.y=-this.originalTrack.position[1],this.moveToOrigin.scale.y=-1,this.moveToOrigin.scale.x=1,this.moveToOrigin.position.x=this.originalTrack.position[0],this.moveToOrigin.position.y=this.originalTrack.position[1],this.originalTrack.gMain&&(this.originalTrack.gBase.attr("transform",`translate(${this.moveToOrigin.position.x},${this.moveToOrigin.position.y})
335
335
  rotate(90)
336
336
  scale(${this.moveToOrigin.scale.x},${this.moveToOrigin.scale.y})`),this.originalTrack.gMain.attr("transform",`translate(${this.originalTrack.pBase.position.x},${this.originalTrack.pBase.position.y})`))}},{key:"refXScale",value:function(n){return arguments.length?(this.originalTrack._refXScale=n,this):this.originalTrack._refYScale}},{key:"refYScale",value:function(n){return arguments.length?(this.originalTrack._refYScale=n,this):this.originalTrack._refXScale}},{key:"xScale",value:function(n){return arguments.length?(this.originalTrack._yScale=n,this):this.originalTrack._xScale}},{key:"yScale",value:function(n){return arguments.length?(this.originalTrack._xScale=n,this):this.originalTrack._yScale}},{key:"getMouseOverHtml",value:function(n,i){return this.originalTrack.getMouseOverHtml(i,n)}},{key:"clickOutside",value:function(){this.originalTrack.clickOutside()}},{key:"click",value:function(...n){this.originalTrack.click(...n)}},{key:"draw",value:function(){this.originalTrack.draw()}},{key:"zoomed",value:function(n,i,r=1,a=0,o=0,s=0,u=0){if(this.xScale(n),this.yScale(i),this.originalTrack.leftTrackZoomed){this.originalTrack.refreshTiles&&this.originalTrack.refreshTiles(),this.originalTrack.leftTrackZoomed(n,i,r,a,o),this.originalTrack.draw();return}const c=this.originalTrack._xScale(0)-r*this.originalTrack._refXScale(0);if(this.originalTrack.pMobile.position.x=c+this.originalTrack.position[0],this.originalTrack.pMobile.position.y=this.originalTrack.position[1]+this.originalTrack.dimensions[1],this.originalTrack.pMobile.scale.x=r,this.originalTrack.pMobile.scale.y=r,this.originalTrack.options.oneDHeatmapFlipped&&(this.originalTrack.pMobile.scale.y=-r,this.originalTrack.pMobile.position.y=this.originalTrack.position[1]),this.originalTrack.leftTrackDraw){this.originalTrack.refreshTiles&&this.originalTrack.refreshTiles(),this.originalTrack.leftTrackDraw();return}this.originalTrack.zoomed(this.xScale(),this.yScale())}},{key:"zoomedY",value:function(n,i){this.originalTrack.zoomedY(n,i)}},{key:"movedY",value:function(n){this.originalTrack.movedY(n)}},{key:"refScalesChanged",value:function(n,i){this.originalTrack.refScalesChanged(i,n)}},{key:"rerender",value:function(n){this.originalTrack.rerender(n)}},{key:"exportSVG",value:function(){const n=document.createElement("g");if(n.setAttribute("transform",`translate(${this.moveToOrigin.position.x},${this.moveToOrigin.position.y})
337
337
  rotate(90)
338
338
  scale(${this.moveToOrigin.scale.x},${this.moveToOrigin.scale.y})`),this.originalTrack.exportSVG){const i=document.createElement("g");i.setAttribute("transform",`translate(${this.originalTrack.pBase.position.x}, ${this.originalTrack.pBase.position.y})`),i.appendChild(this.originalTrack.exportSVG()[0]),n.appendChild(i)}return[n,n]}},{key:"respondsToPosition",value:function(n,i){return n>=this.position[0]&&n<=this.dimensions[0]+this.position[0]&&i>=this.position[1]&&i<=this.dimensions[1]+this.position[1]}}]),e}(),V$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i,r){var a;return _classCallCheck3(this,n),a=t.call(this,i,r),a.tilesetInfo={},a.errorTextText=`Unknown track type: ${r.type}`,a}return _createClass3(n,[{key:"zoomed",value:function(){this.draw()}}]),n}(ai);const GI={"track-renderer":"_track-renderer_11dwb_1","track-renderer-element":"_track-renderer-element_11dwb_5","track-renderer-events":"_track-renderer-events_11dwb_6"},Vke=100;let zI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.dragging=!1,r.element=null,r.closing=!1,r.yPositionOffset=0,r.xPositionOffset=0,r.scrollTop=0,r.scrollTimeout=null,r.activeTransitions=0,r.zoomTransform=or,r.windowScrolledBound=r.windowScrolled.bind(_assertThisInitialized3(r)),r.zoomStartedBound=r.zoomStarted.bind(_assertThisInitialized3(r)),r.zoomedBound=r.zoomed.bind(_assertThisInitialized3(r)),r.zoomEndedBound=r.zoomEnded.bind(_assertThisInitialized3(r)),r.uid=Pt.nice(),r.viewUid=r.props.uid,r.availableForPlugins={...hT,services:{...hT.services,pubSub:r.props.pubSub,pixiRenderer:r.props.pixiRenderer}},r.mounted=!1,r.emptyZoomBehavior=Wb(),r.currentProps=i,r.prevPropsStr="",r.zoomBehavior=Wb().filter(a=>!(a.target.classList.contains("no-zoom")||a.target.classList.contains("react-resizable-handle"))).on("start",r.zoomStartedBound).on("zoom",r.zoomedBound).on("end",r.zoomEndedBound),r.zoomTransform=or,r.prevZoomTransform=or,r.initialXDomain=[0,1],r.initialYDomain=[0,1],r.xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.zoomLimits=[0,Number.MAX_SAFE_INTEGER],r.prevCenterX=r.currentProps.paddingLeft+r.currentProps.leftWidth+r.currentProps.centerWidth/2,r.prevCenterY=r.currentProps.paddingTop+r.currentProps.topHeight+r.currentProps.centerHeight/2,r.cumCenterXOffset=0,r.cumCenterYOffset=0,r.setUpInitialScales(r.currentProps.initialXDomain,r.currentProps.initialYDomain,r.currentProps.xDomainLimits,r.currentProps.yDomainLimits,r.currentProps.zoomLimits),r.setUpScales(),r.trackDefObjects={},r.metaTracks={},r.pubSubs=[],window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(a=>{dn[a]=window.higlassTracksByType[a].config}),r.boundForwardEvent=r.forwardEvent.bind(_assertThisInitialized3(r)),r.boundScrollEvent=r.scrollEvent.bind(_assertThisInitialized3(r)),r.boundForwardContextMenu=r.forwardContextMenu.bind(_assertThisInitialized3(r)),r.dispatchEventBound=r.dispatchEvent.bind(_assertThisInitialized3(r)),r.zoomToDataPosHandlerBound=r.zoomToDataPosHandler.bind(_assertThisInitialized3(r)),r.onScrollHandlerBound=r.onScrollHandler.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"UNSAFE_componentWillMount",value:function(){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(){if(this.elementPos=this.element.getBoundingClientRect(),this.elementSelection=xt(this.element),this.svgTrackAreaSelection=xt(this.svgTrackArea),this.pStage=new Be.PIXI.Graphics,this.pMask=new Be.PIXI.Graphics,this.pOutline=new Be.PIXI.Graphics,this.pBackground=new Be.PIXI.Graphics,this.pStage.addChild(this.pMask),this.pStage.addChild(this.pOutline),this.currentProps.pixiStage.addChild(this.pStage),this.pStage.mask=this.pMask,this.props.isRangeSelection||this.addZoom(),!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(!0),this.addEventTracker();const r=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],a=this.svgElement.getBoundingClientRect(),o=[[Math.max(r[0][0],0),Math.max(r[0][1],0)],[Math.min(r[1][0],a.width),Math.min(r[1][1],a.height)]];this.zoomBehavior.extent(o).translateExtent(r).scaleExtent(this.zoomLimits)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){if(!r.svgElement||!r.canvasElement)return;const a=this.updatablePropsToString(r);if(this.currentProps=r,this.prevPropsStr===a)return;this.setBackground();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!0}this.prevPropsStr=a,this.setUpInitialScales(r.initialXDomain,r.initialYDomain,r.xDomainLimits,r.yDomainLimits,r.zoomLimits),this.setUpScales(r.width!==this.props.width||r.height!==this.props.height),this.svgElement=r.svgElement;const o=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],s=this.svgElement.getBoundingClientRect(),u=[[Math.max(o[0][0],0),Math.max(o[0][1],0)],[Math.min(o[1][0],s.width),Math.min(o[1][1],s.height)]];this.zoomBehavior.extent(u).translateExtent(o).scaleExtent(this.zoomLimits),this.syncTrackObjects(r.positionedTracks),this.syncMetaTracks(r.metaTracks);for(const c of r.positionedTracks){const l=c.track.options,f=this.trackDefObjects[c.track.uid].trackObject;if(f.rerender(l),c.track.hasOwnProperty("contents")){const h={};for(const d of c.track.contents)h[d.uid]=d;for(const d in f.createdTracks)f.createdTracks[d].rerender(h[d].options)}}this.props.onNewTilesLoaded();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!1,l.draw()}}},{key:"componentDidUpdate",value:function(r){(this.props.initialXDomain[0]!==r.initialXDomain[0]||this.props.initialXDomain[1]!==r.initialXDomain[1]||this.props.initialYDomain[0]!==r.initialYDomain[0]||this.props.initialYDomain[1]!==r.initialYDomain[1])&&(this.element.__zoom=or),r.isRangeSelection!==this.props.isRangeSelection&&(this.props.isRangeSelection?this.removeZoom():this.addZoom()),r.zoomable!==this.props.zoomable&&(this.props.zoomable?this.addZoom():this.removeZoom()),this.addEventTracker()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,this.removeTracks(Object.keys(this.trackDefObjects)),this.removeMetaTracks(Object.keys(this.metaTracks)),this.currentProps.removeDraggingChangedListener(this.draggingChanged),this.currentProps.pixiStage.removeChild(this.pStage),this.pMask.destroy(!0),this.pStage.destroy(!0),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r)),this.pubSubs=[],this.removeEventTracker()}},{key:"dispatchEvent",value:function(r){r.sourceUid===this.uid&&r.type!=="contextmenu"&&Fg(r,this.element)}},{key:"isWithin",value:function(r,a){if(!this.element)return!1;const o=r>=this.elementPos.left&&r<=this.elementPos.width+this.elementPos.left,s=a>=this.elementPos.top&&a<=this.elementPos.height+this.elementPos.top;return o&&s}},{key:"zoomToDataPosHandler",value:function({pos:r,animateTime:a,isMercator:o}){this.zoomToDataPos(...r,a,o)}},{key:"addZoom",value:function(){!this.elementSelection||!this.currentProps.zoomable||(this.elementSelection.call(this.zoomBehavior),this.zoomBehavior.transform(this.elementSelection,this.zoomTransform))}},{key:"removeZoom",value:function(){this.elementSelection&&(this.zoomEnded(),this.elementSelection.on(".zoom",null))}},{key:"setMask",value:function(){this.pMask.clear(),this.pMask.beginFill(),this.pMask.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pMask.endFill()}},{key:"setBackground",value:function(){const r=this.props.theme===pn?"black":"white",a=at(this.currentProps.viewOptions&&this.currentProps.viewOptions.backgroundColor||r);this.pBackground.clear(),this.pBackground.beginFill(a),this.pBackground.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pBackground.endFill()}},{key:"windowScrolled",value:function(){this.removeZoom(),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout(()=>{this.addZoom()},Vke)}},{key:"setUpInitialScales",value:function(r=[0,1],a=[0,1],o=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],s=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],u=[0,Number.MAX_SAFE_INTEGER]){u[0]=u[0]===null?0:u[0],u[1]=u[1]===null?1/0:u[1];const c=r[1]-r[0],l=(a[0]+a[1])/2;if(a[0]=l-c/2,a[1]=l+c/2,r[0]===this.initialXDomain[0]&&r[1]===this.initialXDomain[1]&&a[0]===this.initialYDomain[0]&&a[1]===this.initialYDomain[1]&&o[0]===this.xDomainLimits[0]&&o[1]===this.xDomainLimits[1]&&s[0]===this.yDomainLimits[0]&&s[1]===this.yDomainLimits[1]&&u[0]===this.zoomLimits[0]&&u[1]===this.zoomLimits[1])return;this.initialXDomain=r,this.initialYDomain=a,this.xDomainLimits=o,this.yDomainLimits=s,this.zoomLimits=u,this.zoomTransform=or,this.prevZoomTransform=or,this.cumCenterYOffset=0,this.cumCenterXOffset=0,this.drawableToDomainX=_t().domain([this.currentProps.paddingLeft+this.currentProps.leftWidth,this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth]).range([r[0],r[1]]);let f,h;this.currentProps.centerWidth===0?(f=this.currentProps.paddingTop+this.currentProps.topHeight,h=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight):(f=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2-this.currentProps.centerWidth/2,h=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2+this.currentProps.centerWidth/2),this.drawableToDomainY=_t().domain([f,h]).range([a[0],a[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(r){return JSON.stringify({positionedTracks:r.positionedTracks,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,width:r.width,height:r.height,paddingLeft:r.paddingLeft,paddingTop:r.paddingTop,leftWidth:r.leftWidth,topHeight:r.topHeight,dragging:r.dragging,viewOptions:r.viewOptions})}},{key:"draggingChanged",value:function(r){this.dragging=r,this.timedUpdatePositionAndDimensions()}},{key:"setUpScales",value:function(r=!1){const a=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,o=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2,s=(this.drawableToDomainX(a)-this.drawableToDomainX(this.prevCenterX))/this.zoomTransform.k,u=(this.drawableToDomainY(o)-this.drawableToDomainY(this.prevCenterY))/this.zoomTransform.k;this.cumCenterYOffset+=u,this.cumCenterXOffset+=s,this.prevCenterY=o,this.prevCenterX=a;const c=[this.drawableToDomainX(0)-this.cumCenterXOffset,this.drawableToDomainX(this.currentProps.width)-this.cumCenterXOffset],l=[this.drawableToDomainY(0)-this.cumCenterYOffset,this.drawableToDomainY(this.currentProps.height)-this.cumCenterYOffset];this.xScale=_t().domain(c).range([0,this.currentProps.width]),this.yScale=_t().domain(l).range([0,this.currentProps.height]);for(const f in this.trackDefObjects)this.trackDefObjects[f].trackObject.refScalesChanged(this.xScale,this.yScale);this.applyZoomTransform(r)}},{key:"getTrackDef",value:function(r){const a=ji(this.trackDefObjects);for(const[,{trackDef:o,trackObject:s}]of a){if(s===r)return o.track;if(o.track.contents){for(const u of o.track.contents)if(s.createdTracks[u.uid]===r)return u}}return null}},{key:"getTrackObject",value:function(r){const a=ji(this.trackDefObjects);for(let o=0;o<a.length;o++){const s=a[o][0],u=a[o][1].trackObject;if(s===r)return u;if(u.createdTracks){const c=ji(u.createdTracks);for(let l=0;l<c.length;l++){const f=c[l][0],h=c[l][1];if(f===r)return h}}}}},{key:"timedUpdatePositionAndDimensions",value:function(){this.closing||!this.element||(this.elementPos=this.element.getBoundingClientRect(),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(),this.updateTrackPositions()&&this.applyZoomTransform(!0),requestAnimationFrame(this.timedUpdatePositionAndDimensions.bind(this))))}},{key:"syncMetaTracks",value:function(r){const a=Object.keys(this.metaTracks),o=new Set(r.map(s=>s.uid));this.addMetaTracks(r.filter(s=>!this.metaTracks[s.uid])),this.updateMetaTracks(r.filter(s=>this.metaTracks[s.uid])),this.removeMetaTracks(a.filter(s=>!o.has(s)))}},{key:"syncTrackObjects",value:function(r){this.prevTrackDefinitions=JSON.stringify(r);const a={};for(let f=0;f<r.length;f++)a[r[f].track.uid]=r[f];const o=new Set(Object.keys(this.trackDefObjects)),s=new Set(Object.keys(a)),u=new Set([...s].filter(f=>!o.has(f))),c=new Set([...o].filter(f=>!s.has(f))),l=new Set([...s].filter(f=>o.has(f)));this.updateExistingTrackDefs([...l].map(f=>a[f])),this.addNewTracks([...u].map(f=>a[f])),this.updateExistingTrackDefs([...u].map(f=>a[f])),this.removeTracks([...c])}},{key:"addMetaTracks",value:function(r){r.filter(a=>!this.metaTracks[a.uid]).forEach(a=>{this.metaTracks[a.uid]={trackDef:a,trackObject:this.createMetaTrack(a)}})}},{key:"addNewTracks",value:function(r){if(!!this.currentProps.pixiStage){for(let a=0;a<r.length;a++){const o=r[a],s=this.createTrackObject(o.track);s.refScalesChanged(this.xScale,this.yScale),this.trackDefObjects[o.track.uid]={trackDef:o,trackObject:s};const u=this.zoomTransform.rescaleX(this.xScale),c=this.zoomTransform.rescaleY(this.yScale);s.setDimensions([o.width,o.height]),s.zoomed(u,c)}this.applyZoomTransform(!1)}}},{key:"updateMetaTracks",value:function(){}},{key:"updateExistingTrackDefs",value:function(r){for(let o=0;o<r.length;o++)this.trackDefObjects[r[o].track.uid].trackDef=r[o],r[o].track.type==="combined"&&this.trackDefObjects[r[o].track.uid].trackObject.updateContents(r[o].track.contents,this.createTrackObject.bind(this)).refScalesChanged(this.xScale,this.yScale);this.updateTrackPositions()&&this.applyZoomTransform(!1)}},{key:"updateTrackPositions",value:function(){let r=!1;for(const a in this.trackDefObjects){const o=this.trackDefObjects[a].trackDef,s=this.trackDefObjects[a].trackObject,u=s.position,c=s.dimensions,l=[this.xPositionOffset+o.left,this.yPositionOffset+o.top],f=[o.width,o.height];(!u||l[0]!==u[0]||l[1]!==u[1])&&(s.setPosition(l),r=!0),(!c||f[0]!==c[0]||f[1]!==c[1])&&(s.setDimensions(f),r=!0)}return r}},{key:"removeMetaTracks",value:function(r){r.forEach(a=>{this.metaTracks[a].trackObject.remove(),this.metaTracks[a]=void 0,delete this.metaTracks[a]})}},{key:"removeTracks",value:function(r){for(let a=0;a<r.length;a++)this.trackDefObjects[r[a]].trackObject.remove(),delete this.trackDefObjects[r[a]]}},{key:"setCenter",value:function(r,a,o,s=!1,u=0,c=this.xScale,l=this.yScale){const h=(this.xScale.invert(1)-this.xScale.invert(0))/o,d=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,p=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2,m=d-c(r)*h,g=p-l(a)*h;let v;const E=()=>{const y=or.translate(m,g).scale(h);this.zoomTransform=y,this.emptyZoomBehavior.transform(this.elementSelection,y),v=this.applyZoomTransform(s)};if(u){let y=this.elementSelection;this.activeTransitions+=1,document.hidden||(y=y.transition().duration(u)),y.call(this.zoomBehavior.transform,or.translate(m,g).scale(h)).on("end",()=>{E(),this.activeTransitions-=1})}else E();return v}},{key:"valueScaleMove",value:function(r){for(const a of this.getTracksAtPosition(...this.zoomStartPos))a.movedY(r);this.zoomTransform=this.zoomStartTransform}},{key:"valueScaleZoom",value:function(r,a){const o=r.sourceEvent.deltaY,s=r.sourceEvent.deltaMode,c=((f,h)=>f*(h?120:1)/500)(o,s),l=sn(r.sourceEvent,this.props.canvasElement);for(const f of this.getTracksAtPosition(...l)){const h=a==="1d-horizontal"?l[1]-f.position[1]:l[0]-f.position[0];f.zoomedY(h,2**c)}this.zoomTransform=this.zoomStartTransform}},{key:"zoomed",value:function(r){let a=null;if(this.zoomStartPos){const s=this.getTracksAtPosition(...this.zoomStartPos);if(s.length){const u=s[0],c=this.getTrackDef(u);dn[c.type]&&(a=dn[c.type].orientation),u instanceof j$&&(a="1d-vertical")}}if(a&&r.sourceEvent){if(r.shiftKey||this.valueScaleZooming){if(r.sourceEvent.deltaY!==void 0){this.valueScaleZoom(r,a);return}a==="1d-horizontal"?this.valueScaleMove(r.sourceEvent.movementY):a==="1d-vertical"&&this.valueScaleMove(r.sourceEvent.movementX)}a==="1d-horizontal"&&r.sourceEvent.movementY?this.valueScaleMove(r.sourceEvent.movementY):a==="1d-vertical"&&r.sourceEvent.movementX&&this.valueScaleMove(r.sourceEvent.movementX)}this.zoomTransform=this.currentProps.zoomable?r.transform:or,this.prevZoomTransform.k!==this.zoomTransform.k||(a==="1d-horizontal"?this.zoomTransform=or.translate(this.zoomTransform.x,this.prevZoomTransform.y).scale(this.zoomTransform.k):a==="1d-vertical"&&(this.zoomTransform=or.translate(this.prevZoomTransform.x,this.zoomTransform.y).scale(this.zoomTransform.k)),this.element.__zoom=this.zoomTransform),this.applyZoomTransform(!0),this.prevZoomTransform=this.zoomTransform,this.props.pubSub.publish("app.zoom",r),r.sourceEvent&&(r.sourceEvent.stopPropagation(),r.sourceEvent.preventDefault())}},{key:"getTracksAtPosition",value:function(r,a){const o=[];let s=[];for(const u in this.trackDefObjects){const c=this.trackDefObjects[u].trackObject;c.childTracks?s=s.concat(c.childTracks):s.push(c)}for(const u of s){const c=u.position[0]<=r&&r<=u.position[0]+u.dimensions[0],l=u.position[1]<=a&&a<=u.position[1]+u.dimensions[1];c&&l&&o.push(u)}return o}},{key:"zoomStarted",value:function(r){this.zooming=!0,r&&r.sourceEvent&&(this.zoomStartPos=sn(r.sourceEvent,this.props.canvasElement),r.sourceEvent.shiftKey&&(this.valueScaleZooming=!0)),this.zoomStartTransform=this.zoomTransform,this.props.pubSub.publish("app.zoomStart")}},{key:"zoomEnded",value:function(){this.zooming=!1,this.zoomStartPos=null,this.valueScaleZooming&&(this.valueScaleZooming=!1,this.element.__zoom=this.zoomStartTransform),this.props.pubSub.publish("app.zoomEnd")}},{key:"applyZoomTransform",value:function(r=!0){const a=this.currentProps,o=a.paddingLeft+a.leftWidth,s=a.paddingTop+a.topHeight;this.zoomedXScale=this.zoomTransform.rescaleX(this.xScale),this.zoomedYScale=this.zoomTransform.rescaleY(this.yScale);const u=_t().domain([o,o+a.centerWidth].map(this.zoomedXScale.invert)).range([0,a.centerWidth]),c=_t().domain([s,s+a.centerHeight].map(this.zoomedYScale.invert)).range([0,a.centerHeight]);for(const l in this.trackDefObjects){const f=this.trackDefObjects[l].trackObject,h=this.trackDefObjects[l].trackDef;let d="unknown";if(dn[h.track.type]&&(d=dn[h.track.type].orientation),d==="whole"){const p=_t().domain([a.paddingLeft,a.width-a.paddingLeft].map(this.zoomedXScale.invert)).range([0,a.width-2*a.paddingLeft]),m=_t().domain([a.paddingTop,a.height-a.paddingTop].map(this.zoomedYScale.invert)).range([0,a.height-2*a.paddingTop]);f.zoomed(p,m);continue}if(this.trackDefObjects[l].trackDef.track.position==="gallery"){const p=_t().domain([a.paddingLeft+a.leftWidthNoGallery,a.paddingLeft+a.leftWidth+a.centerWidth+a.galleryDim].map(this.zoomedXScale.invert)).range([0,a.centerWidth+2*a.galleryDim]),m=_t().domain([a.paddingTop+a.topHeightNoGallery,a.paddingTop+a.topHeight+a.centerHeight+a.galleryDim].map(this.zoomedYScale.invert)).range([0,a.centerHeight-2*a.galleryDim]);f.zoomed(p.copy(),m.copy(),this.zoomTransform.k);continue}f.zoomed(u.copy(),c.copy(),this.zoomTransform.k,this.zoomTransform.x+this.xPositionOffset,this.zoomTransform.y+this.yPositionOffset,a.paddingLeft+a.leftWidth,a.paddingTop+a.topHeight)}return this.currentXScale=u,this.currentYScale=c,r&&this.currentProps.onScalesChanged(u,c),[u,c]}},{key:"createMetaTrack",value:function(r){switch(r.type){default:{const a=this.props.pluginTracks[r.type];if(a&&a.isMetaTrack){const o={getTrackObject:this.getTrackObject.bind(this),onNewTilesLoaded:()=>{this.currentProps.onNewTilesLoaded(r.uid)},definition:r};try{return new a.track(this.availableForPlugins,o,r.options)}catch(s){console.error("Plugin meta track",r.type,"failed to instantiate.",s)}}return console.warn(`Unknown meta track of type: ${r.type}`),new V$(this.pStage,{name:"Unknown Track Type",type:r.type},()=>this.currentProps.onNewTilesLoaded(r.uid))}}}},{key:"createTrackObject",value:function(r){const a=this.createLocationAgnosticTrackObject(r);return(r.position==="left"||r.position==="right")&&dn[r.type].orientation==="1d-horizontal"?new j$(a):a}},{key:"createLocationAgnosticTrackObject",value:function(r){const a=l=>{this.currentProps.onTilesetInfoReceived(r.uid,l)};let o=r.data;o||(o={server:Yg(r.server),tilesetUid:r.tilesetUid}),r.coordSystem&&(o.coordSystem=r.coordSystem);const s=H$(o,this.props.pubSub,this.props.pluginDataFetchers,this.availableForPlugins),u={id:r.uid,trackUid:r.uid,trackType:r.type,viewUid:this.viewUid,pubSub:this.props.pubSub,scene:this.pStage,dataConfig:o,dataFetcher:s,getLockGroupExtrema:()=>this.currentProps.getLockGroupExtrema(r.uid),handleTilesetInfoReceived:a,animate:()=>{this.currentProps.onNewTilesLoaded(r.uid)},svgElement:this.svgElement,isValueScaleLocked:()=>this.currentProps.isValueScaleLocked(r.uid),onValueScaleChanged:()=>{this.currentProps.onValueScaleChanged(r.uid)},onTrackOptionsChanged:l=>{this.currentProps.onTrackOptionsChanged(r.uid,l)},onMouseMoveZoom:this.props.onMouseMoveZoom,chromInfoPath:r.chromInfoPath,isShowGlobalMousePosition:()=>this.props.isShowGlobalMousePosition,getTheme:()=>this.props.theme};r.y&&(u.yPosition=r.y),r.x&&(u.xPosition=r.x),r.projectionXDomain&&(u.projectionXDomain=r.projectionXDomain),r.projectionYDomain&&(u.projectionYDomain=r.projectionYDomain);const c=r.options;switch(r.type){case"left-axis":return new V8(u,c);case"top-axis":return new Q8(u,c);case"heatmap":return new Hp(u,c);case"multivec":case"vector-heatmap":case"horizontal-multivec":case"horizontal-vector-heatmap":case"vertical-multivec":case"vertical-vector-heatmap":return new x8(u,c);case"1d-heatmap":case"horizontal-1d-heatmap":case"vertical-1d-heatmap":return new b8(u,c);case"line":case"horizontal-line":case"vertical-line":return new gh(u,c);case"point":case"horizontal-point":case"vertical-point":return new P8(u,c);case"bar":case"horizontal-bar":case"vertical-bar":return new FD(u,c);case"divergent-bar":case"horizontal-divergent-bar":case"vertical-divergent-bar":return new v8(u,c);case"horizontal-1d-tiles":return new G8(u,c);case"vertical-1d-tiles":return new j8(u,c);case"2d-tiles":return new U8(u,c);case"stacked-interval":case"top-stacked-interval":case"left-stacked-interval":return new h8(u,c);case"viewport-projection-center":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(u.registerViewportChanged=r.registerViewportChanged,u.removeViewportChanged=r.removeViewportChanged,u.setDomainsCallback=r.setDomainsCallback,new t9(u,c)):new ph(u,c);case"viewport-projection-horizontal":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(u.registerViewportChanged=r.registerViewportChanged,u.removeViewportChanged=r.removeViewportChanged,u.setDomainsCallback=r.setDomainsCallback,new n9(u,c)):new ph(u,c);case"viewport-projection-vertical":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(u.registerViewportChanged=r.registerViewportChanged,u.removeViewportChanged=r.removeViewportChanged,u.setDomainsCallback=r.setDomainsCallback,new r9(u,c)):new ph(u,c);case"gene-annotations":case"horizontal-gene-annotations":case"vertical-gene-annotations":return new sI(u,c);case"2d-rectangle-domains":case"arrowhead-domains":return new bH(u,c);case"horizontal-1d-annotations":return new LD(u,c);case"vertical-1d-annotations":return new LD(u,c,!0);case"2d-annotations":return new TH(u,c);case"linear-2d-rectangle-domains":case"horizontal-2d-rectangle-domains":case"vertical-2d-rectangle-domains":return new _8(u,c);case"square-markers":return new Z8(u,c);case"combined":return u.tracks=r.contents,u.createTrackObject=this.createTrackObject.bind(this),new bb(u,c);case"2d-chromosome-labels":return new d8(u,c);case"horizontal-chromosome-grid":return u.orientation="1d-horizontal",new Lp(u,c);case"vertical-chromosome-grid":return u.orientation="1d-vertical",new Lp(u,c);case"2d-chromosome-grid":return new Lp(u,c);case"chromosome-labels":case"horizontal-chromosome-labels":case"vertical-chromosome-labels":return new A8(u,c);case"linear-heatmap":case"horizontal-heatmap":case"vertical-heatmap":return new O8(u,c);case"2d-chromosome-annotations":return new f8(u,c);case"1d-value-interval":case"horizontal-1d-value-interval":case"vertical-1d-value-interval":return new J8(u,c);case"osm":case"osm-tiles":return new $p(u,c);case"osm-2d-tile-ids":return new W8(u,c);case"mapbox":case"mapbox-tiles":return new Y8(u,c);case"raster-tiles":return new K8(u,c);case"bedlike":case"vertical-bedlike":return new c8(u,c);case"overlay-track":return new X8(u,c);case"overlay-chromosome-grid-track":return u.isOverlay=!0,new Lp(u,c);case"horizontal-rule":return new R8(u,c);case"vertical-rule":return new m8(u,c);case"cross-rule":return u.x=r.x,u.y=r.y,new g8(u,c);case"simple-svg":return new Ds(u,c);case"empty":return new ai(u,c);default:{const l=this.props.pluginTracks[r.type];if(l&&!l.isMetaTrack){u.AVAILABLE_FOR_PLUGINS=this.availableForPlugins,u.baseEl=this.baseEl,u.definition=r,r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback&&(u.registerViewportChanged=r.registerViewportChanged,u.removeViewportChanged=r.removeViewportChanged,u.setDomainsCallback=r.setDomainsCallback);try{return new l.track(this.availableForPlugins,u,c)}catch(f){console.error("Plugin track",r.type,"failed to instantiate.",f)}}return console.warn("Unknown track type:",r.type),new V$(u,{name:"Unknown Track Type",type:r.type})}}}},{key:"zoomToDataPos",value:function(r,a,o,s,u=3e3,c=null){const[l,f,h]=Qn(this.xScale.copy().domain([r,a]),this.yScale.copy().domain([o,s])),d=c?c(this.xScale,this.yScale):[this.xScale,this.yScale];this.setCenter(l,f,h,!1,u,d[0],d[1])}},{key:"forwardContextMenu",value:function(r){this.props.disableTrackMenu||r.altKey||(r.preventDefault(),setTimeout(()=>{this.props.pubSub.publish("contextmenu",r)},0))}},{key:"addEventTracker",value:function(){!this.eventTracker||this.eventTracker===this.eventTrackerOld||(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(){!this.eventTracker||(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(){this.elementPos=this.element.getBoundingClientRect()}},{key:"forwardEvent",value:function(r){r.sourceUid=this.uid,r.forwarded=!0,this.props.pubSub.publish("app.event",r)}},{key:"onScrollHandler",value:function(r){this.scrollTop=r}},{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.baseEl=r},className:qt("track-renderer-div",GI["track-renderer"]),style:{height:this.currentProps.height,width:this.currentProps.width}},A.default.createElement("div",{ref:r=>{this.element=r},className:qt("track-renderer-element",GI["track-renderer-element"])}),A.default.createElement("div",{ref:r=>{this.eventTracker=r},className:qt("track-renderer-events",GI["track-renderer-events"])},this.currentProps.children))}}]),n}(A.default.Component);zI.defaultProps={pluginDataFetchers:{},pluginTracks:{},canvasElement:null,centerHeight:0,centerWidth:0,children:[],galleryDim:0,height:0,initialXDomain:[],initialYDomain:[],isShowGlobalMousePosition:!1,isRangeSelection:!1,leftWidth:0,leftWidthNoGallery:0,paddingLeft:0,paddingTop:0,positionedTracks:[],topHeight:0,topHeightNoGallery:0,width:0,metaTracks:[]},zI.propTypes={canvasElement:N.exports.object,centerHeight:N.exports.number,centerWidth:N.exports.number,children:N.exports.array,disableTrackMenu:N.exports.bool,galleryDim:N.exports.number,height:N.exports.number,initialXDomain:N.exports.array,initialYDomain:N.exports.array,isShowGlobalMousePosition:N.exports.bool,isRangeSelection:N.exports.bool,leftWidth:N.exports.number,leftWidthNoGallery:N.exports.number,paddingLeft:N.exports.number,paddingTop:N.exports.number,metaTracks:N.exports.array,onMouseMoveZoom:N.exports.func,onNewTilesLoaded:N.exports.func.isRequired,onScalesChanged:N.exports.func.isRequired,pixiRenderer:N.exports.object.isRequired,pixiStage:N.exports.object.isRequired,pluginDataFetchers:N.exports.object,pluginTracks:N.exports.object,positionedTracks:N.exports.array,pubSub:N.exports.object.isRequired,setCentersFunction:N.exports.func,svgElement:N.exports.object.isRequired,theme:N.exports.symbol.isRequired,topHeight:N.exports.number,topHeightNoGallery:N.exports.number,viewOptions:N.exports.object,width:N.exports.number,xDomainLimits:N.exports.array,yDomainLimits:N.exports.array,valueScaleZoom:N.exports.bool,zoomable:N.exports.bool.isRequired,zoomDomain:N.exports.array};const Yke=dh(hl(zI));var Y$={exports:{}};/*! react-checkbox-tree - v1.8.0 | 2022 */(function(e,t){/*! For license information please see index.browser.js.LICENSE.txt */(function(n,i){e.exports=i(A.default)})(self,n=>(()=>{var i={4184:(s,u)=>{var c;(function(){var l={}.hasOwnProperty;function f(){for(var h=[],d=0;d<arguments.length;d++){var p=arguments[d];if(p){var m=typeof p;if(m==="string"||m==="number")h.push(p);else if(Array.isArray(p)){if(p.length){var g=f.apply(null,p);g&&h.push(g)}}else if(m==="object")if(p.toString===Object.prototype.toString)for(var v in p)l.call(p,v)&&p[v]&&h.push(v);else h.push(p.toString())}}return h.join(" ")}s.exports?(f.default=f,s.exports=f):(c=function(){return f}.apply(u,[]))===void 0||(s.exports=c)})()},8552:(s,u,c)=>{var l=c(852)(c(5639),"DataView");s.exports=l},1989:(s,u,c)=>{var l=c(1789),f=c(401),h=c(7667),d=c(1327),p=c(1866);function m(g){var v=-1,E=g==null?0:g.length;for(this.clear();++v<E;){var y=g[v];this.set(y[0],y[1])}}m.prototype.clear=l,m.prototype.delete=f,m.prototype.get=h,m.prototype.has=d,m.prototype.set=p,s.exports=m},8407:(s,u,c)=>{var l=c(7040),f=c(4125),h=c(2117),d=c(7518),p=c(4705);function m(g){var v=-1,E=g==null?0:g.length;for(this.clear();++v<E;){var y=g[v];this.set(y[0],y[1])}}m.prototype.clear=l,m.prototype.delete=f,m.prototype.get=h,m.prototype.has=d,m.prototype.set=p,s.exports=m},7071:(s,u,c)=>{var l=c(852)(c(5639),"Map");s.exports=l},3369:(s,u,c)=>{var l=c(4785),f=c(1285),h=c(6e3),d=c(9916),p=c(5265);function m(g){var v=-1,E=g==null?0:g.length;for(this.clear();++v<E;){var y=g[v];this.set(y[0],y[1])}}m.prototype.clear=l,m.prototype.delete=f,m.prototype.get=h,m.prototype.has=d,m.prototype.set=p,s.exports=m},3818:(s,u,c)=>{var l=c(852)(c(5639),"Promise");s.exports=l},8525:(s,u,c)=>{var l=c(852)(c(5639),"Set");s.exports=l},8668:(s,u,c)=>{var l=c(3369),f=c(619),h=c(2385);function d(p){var m=-1,g=p==null?0:p.length;for(this.__data__=new l;++m<g;)this.add(p[m])}d.prototype.add=d.prototype.push=f,d.prototype.has=h,s.exports=d},6384:(s,u,c)=>{var l=c(8407),f=c(7465),h=c(3779),d=c(7599),p=c(4758),m=c(4309);function g(v){var E=this.__data__=new l(v);this.size=E.size}g.prototype.clear=f,g.prototype.delete=h,g.prototype.get=d,g.prototype.has=p,g.prototype.set=m,s.exports=g},2705:(s,u,c)=>{var l=c(5639).Symbol;s.exports=l},1149:(s,u,c)=>{var l=c(5639).Uint8Array;s.exports=l},577:(s,u,c)=>{var l=c(852)(c(5639),"WeakMap");s.exports=l},4963:s=>{s.exports=function(u,c){for(var l=-1,f=u==null?0:u.length,h=0,d=[];++l<f;){var p=u[l];c(p,l,u)&&(d[h++]=p)}return d}},4636:(s,u,c)=>{var l=c(2545),f=c(5694),h=c(1469),d=c(4144),p=c(5776),m=c(6719),g=Object.prototype.hasOwnProperty;s.exports=function(v,E){var y=h(v),T=!y&&f(v),b=!y&&!T&&d(v),S=!y&&!T&&!b&&m(v),I=y||T||b||S,D=I?l(v.length,String):[],R=D.length;for(var M in v)!E&&!g.call(v,M)||I&&(M=="length"||b&&(M=="offset"||M=="parent")||S&&(M=="buffer"||M=="byteLength"||M=="byteOffset")||p(M,R))||D.push(M);return D}},2488:s=>{s.exports=function(u,c){for(var l=-1,f=c.length,h=u.length;++l<f;)u[h+l]=c[l];return u}},2908:s=>{s.exports=function(u,c){for(var l=-1,f=u==null?0:u.length;++l<f;)if(c(u[l],l,u))return!0;return!1}},8470:(s,u,c)=>{var l=c(7813);s.exports=function(f,h){for(var d=f.length;d--;)if(l(f[d][0],h))return d;return-1}},8866:(s,u,c)=>{var l=c(2488),f=c(1469);s.exports=function(h,d,p){var m=d(h);return f(h)?m:l(m,p(h))}},4239:(s,u,c)=>{var l=c(2705),f=c(9607),h=c(2333),d=l?l.toStringTag:void 0;s.exports=function(p){return p==null?p===void 0?"[object Undefined]":"[object Null]":d&&d in Object(p)?f(p):h(p)}},9454:(s,u,c)=>{var l=c(4239),f=c(7005);s.exports=function(h){return f(h)&&l(h)=="[object Arguments]"}},939:(s,u,c)=>{var l=c(2492),f=c(7005);s.exports=function h(d,p,m,g,v){return d===p||(d==null||p==null||!f(d)&&!f(p)?d!=d&&p!=p:l(d,p,m,g,h,v))}},2492:(s,u,c)=>{var l=c(6384),f=c(7114),h=c(8351),d=c(6096),p=c(4160),m=c(1469),g=c(4144),v=c(6719),E="[object Arguments]",y="[object Array]",T="[object Object]",b=Object.prototype.hasOwnProperty;s.exports=function(S,I,D,R,M,k){var L=m(S),$=m(I),P=L?y:p(S),B=$?y:p(I),X=(P=P==E?T:P)==T,ee=(B=B==E?T:B)==T,se=P==B;if(se&&g(S)){if(!g(I))return!1;L=!0,X=!1}if(se&&!X)return k||(k=new l),L||v(S)?f(S,I,D,R,M,k):h(S,I,P,D,R,M,k);if(!(1&D)){var fe=X&&b.call(S,"__wrapped__"),Z=ee&&b.call(I,"__wrapped__");if(fe||Z){var he=fe?S.value():S,j=Z?I.value():I;return k||(k=new l),M(he,j,D,R,k)}}return!!se&&(k||(k=new l),d(S,I,D,R,M,k))}},8458:(s,u,c)=>{var l=c(3560),f=c(5346),h=c(3218),d=c(346),p=/^\[object .+?Constructor\]$/,m=Function.prototype,g=Object.prototype,v=m.toString,E=g.hasOwnProperty,y=RegExp("^"+v.call(E).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");s.exports=function(T){return!(!h(T)||f(T))&&(l(T)?y:p).test(d(T))}},8749:(s,u,c)=>{var l=c(4239),f=c(1780),h=c(7005),d={};d["[object Float32Array]"]=d["[object Float64Array]"]=d["[object Int8Array]"]=d["[object Int16Array]"]=d["[object Int32Array]"]=d["[object Uint8Array]"]=d["[object Uint8ClampedArray]"]=d["[object Uint16Array]"]=d["[object Uint32Array]"]=!0,d["[object Arguments]"]=d["[object Array]"]=d["[object ArrayBuffer]"]=d["[object Boolean]"]=d["[object DataView]"]=d["[object Date]"]=d["[object Error]"]=d["[object Function]"]=d["[object Map]"]=d["[object Number]"]=d["[object Object]"]=d["[object RegExp]"]=d["[object Set]"]=d["[object String]"]=d["[object WeakMap]"]=!1,s.exports=function(p){return h(p)&&f(p.length)&&!!d[l(p)]}},280:(s,u,c)=>{var l=c(5726),f=c(6916),h=Object.prototype.hasOwnProperty;s.exports=function(d){if(!l(d))return f(d);var p=[];for(var m in Object(d))h.call(d,m)&&m!="constructor"&&p.push(m);return p}},2545:s=>{s.exports=function(u,c){for(var l=-1,f=Array(u);++l<u;)f[l]=c(l);return f}},1717:s=>{s.exports=function(u){return function(c){return u(c)}}},4757:s=>{s.exports=function(u,c){return u.has(c)}},4429:(s,u,c)=>{var l=c(5639)["__core-js_shared__"];s.exports=l},7114:(s,u,c)=>{var l=c(8668),f=c(2908),h=c(4757);s.exports=function(d,p,m,g,v,E){var y=1&m,T=d.length,b=p.length;if(T!=b&&!(y&&b>T))return!1;var S=E.get(d),I=E.get(p);if(S&&I)return S==p&&I==d;var D=-1,R=!0,M=2&m?new l:void 0;for(E.set(d,p),E.set(p,d);++D<T;){var k=d[D],L=p[D];if(g)var $=y?g(L,k,D,p,d,E):g(k,L,D,d,p,E);if($!==void 0){if($)continue;R=!1;break}if(M){if(!f(p,function(P,B){if(!h(M,B)&&(k===P||v(k,P,m,g,E)))return M.push(B)})){R=!1;break}}else if(k!==L&&!v(k,L,m,g,E)){R=!1;break}}return E.delete(d),E.delete(p),R}},8351:(s,u,c)=>{var l=c(2705),f=c(1149),h=c(7813),d=c(7114),p=c(8776),m=c(1814),g=l?l.prototype:void 0,v=g?g.valueOf:void 0;s.exports=function(E,y,T,b,S,I,D){switch(T){case"[object DataView]":if(E.byteLength!=y.byteLength||E.byteOffset!=y.byteOffset)return!1;E=E.buffer,y=y.buffer;case"[object ArrayBuffer]":return!(E.byteLength!=y.byteLength||!I(new f(E),new f(y)));case"[object Boolean]":case"[object Date]":case"[object Number]":return h(+E,+y);case"[object Error]":return E.name==y.name&&E.message==y.message;case"[object RegExp]":case"[object String]":return E==y+"";case"[object Map]":var R=p;case"[object Set]":var M=1&b;if(R||(R=m),E.size!=y.size&&!M)return!1;var k=D.get(E);if(k)return k==y;b|=2,D.set(E,y);var L=d(R(E),R(y),b,S,I,D);return D.delete(E),L;case"[object Symbol]":if(v)return v.call(E)==v.call(y)}return!1}},6096:(s,u,c)=>{var l=c(8234),f=Object.prototype.hasOwnProperty;s.exports=function(h,d,p,m,g,v){var E=1&p,y=l(h),T=y.length;if(T!=l(d).length&&!E)return!1;for(var b=T;b--;){var S=y[b];if(!(E?S in d:f.call(d,S)))return!1}var I=v.get(h),D=v.get(d);if(I&&D)return I==d&&D==h;var R=!0;v.set(h,d),v.set(d,h);for(var M=E;++b<T;){var k=h[S=y[b]],L=d[S];if(m)var $=E?m(L,k,S,d,h,v):m(k,L,S,h,d,v);if(!($===void 0?k===L||g(k,L,p,m,v):$)){R=!1;break}M||(M=S=="constructor")}if(R&&!M){var P=h.constructor,B=d.constructor;P==B||!("constructor"in h)||!("constructor"in d)||typeof P=="function"&&P instanceof P&&typeof B=="function"&&B instanceof B||(R=!1)}return v.delete(h),v.delete(d),R}},1957:(s,u,c)=>{var l=typeof c.g=="object"&&c.g&&c.g.Object===Object&&c.g;s.exports=l},8234:(s,u,c)=>{var l=c(8866),f=c(9551),h=c(3674);s.exports=function(d){return l(d,h,f)}},5050:(s,u,c)=>{var l=c(7019);s.exports=function(f,h){var d=f.__data__;return l(h)?d[typeof h=="string"?"string":"hash"]:d.map}},852:(s,u,c)=>{var l=c(8458),f=c(7801);s.exports=function(h,d){var p=f(h,d);return l(p)?p:void 0}},9607:(s,u,c)=>{var l=c(2705),f=Object.prototype,h=f.hasOwnProperty,d=f.toString,p=l?l.toStringTag:void 0;s.exports=function(m){var g=h.call(m,p),v=m[p];try{m[p]=void 0;var E=!0}catch{}var y=d.call(m);return E&&(g?m[p]=v:delete m[p]),y}},9551:(s,u,c)=>{var l=c(4963),f=c(479),h=Object.prototype.propertyIsEnumerable,d=Object.getOwnPropertySymbols,p=d?function(m){return m==null?[]:(m=Object(m),l(d(m),function(g){return h.call(m,g)}))}:f;s.exports=p},4160:(s,u,c)=>{var l=c(8552),f=c(7071),h=c(3818),d=c(8525),p=c(577),m=c(4239),g=c(346),v="[object Map]",E="[object Promise]",y="[object Set]",T="[object WeakMap]",b="[object DataView]",S=g(l),I=g(f),D=g(h),R=g(d),M=g(p),k=m;(l&&k(new l(new ArrayBuffer(1)))!=b||f&&k(new f)!=v||h&&k(h.resolve())!=E||d&&k(new d)!=y||p&&k(new p)!=T)&&(k=function(L){var $=m(L),P=$=="[object Object]"?L.constructor:void 0,B=P?g(P):"";if(B)switch(B){case S:return b;case I:return v;case D:return E;case R:return y;case M:return T}return $}),s.exports=k},7801:s=>{s.exports=function(u,c){return u?.[c]}},1789:(s,u,c)=>{var l=c(4536);s.exports=function(){this.__data__=l?l(null):{},this.size=0}},401:s=>{s.exports=function(u){var c=this.has(u)&&delete this.__data__[u];return this.size-=c?1:0,c}},7667:(s,u,c)=>{var l=c(4536),f=Object.prototype.hasOwnProperty;s.exports=function(h){var d=this.__data__;if(l){var p=d[h];return p==="__lodash_hash_undefined__"?void 0:p}return f.call(d,h)?d[h]:void 0}},1327:(s,u,c)=>{var l=c(4536),f=Object.prototype.hasOwnProperty;s.exports=function(h){var d=this.__data__;return l?d[h]!==void 0:f.call(d,h)}},1866:(s,u,c)=>{var l=c(4536);s.exports=function(f,h){var d=this.__data__;return this.size+=this.has(f)?0:1,d[f]=l&&h===void 0?"__lodash_hash_undefined__":h,this}},5776:s=>{var u=/^(?:0|[1-9]\d*)$/;s.exports=function(c,l){var f=typeof c;return!!(l=l??9007199254740991)&&(f=="number"||f!="symbol"&&u.test(c))&&c>-1&&c%1==0&&c<l}},7019:s=>{s.exports=function(u){var c=typeof u;return c=="string"||c=="number"||c=="symbol"||c=="boolean"?u!=="__proto__":u===null}},5346:(s,u,c)=>{var l,f=c(4429),h=(l=/[^.]+$/.exec(f&&f.keys&&f.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"";s.exports=function(d){return!!h&&h in d}},5726:s=>{var u=Object.prototype;s.exports=function(c){var l=c&&c.constructor;return c===(typeof l=="function"&&l.prototype||u)}},7040:s=>{s.exports=function(){this.__data__=[],this.size=0}},4125:(s,u,c)=>{var l=c(8470),f=Array.prototype.splice;s.exports=function(h){var d=this.__data__,p=l(d,h);return!(p<0||(p==d.length-1?d.pop():f.call(d,p,1),--this.size,0))}},2117:(s,u,c)=>{var l=c(8470);s.exports=function(f){var h=this.__data__,d=l(h,f);return d<0?void 0:h[d][1]}},7518:(s,u,c)=>{var l=c(8470);s.exports=function(f){return l(this.__data__,f)>-1}},4705:(s,u,c)=>{var l=c(8470);s.exports=function(f,h){var d=this.__data__,p=l(d,f);return p<0?(++this.size,d.push([f,h])):d[p][1]=h,this}},4785:(s,u,c)=>{var l=c(1989),f=c(8407),h=c(7071);s.exports=function(){this.size=0,this.__data__={hash:new l,map:new(h||f),string:new l}}},1285:(s,u,c)=>{var l=c(5050);s.exports=function(f){var h=l(this,f).delete(f);return this.size-=h?1:0,h}},6e3:(s,u,c)=>{var l=c(5050);s.exports=function(f){return l(this,f).get(f)}},9916:(s,u,c)=>{var l=c(5050);s.exports=function(f){return l(this,f).has(f)}},5265:(s,u,c)=>{var l=c(5050);s.exports=function(f,h){var d=l(this,f),p=d.size;return d.set(f,h),this.size+=d.size==p?0:1,this}},8776:s=>{s.exports=function(u){var c=-1,l=Array(u.size);return u.forEach(function(f,h){l[++c]=[h,f]}),l}},4536:(s,u,c)=>{var l=c(852)(Object,"create");s.exports=l},6916:(s,u,c)=>{var l=c(5569)(Object.keys,Object);s.exports=l},1167:(s,u,c)=>{s=c.nmd(s);var l=c(1957),f=u&&!u.nodeType&&u,h=f&&s&&!s.nodeType&&s,d=h&&h.exports===f&&l.process,p=function(){try{return h&&h.require&&h.require("util").types||d&&d.binding&&d.binding("util")}catch{}}();s.exports=p},2333:s=>{var u=Object.prototype.toString;s.exports=function(c){return u.call(c)}},5569:s=>{s.exports=function(u,c){return function(l){return u(c(l))}}},5639:(s,u,c)=>{var l=c(1957),f=typeof self=="object"&&self&&self.Object===Object&&self,h=l||f||Function("return this")();s.exports=h},619:s=>{s.exports=function(u){return this.__data__.set(u,"__lodash_hash_undefined__"),this}},2385:s=>{s.exports=function(u){return this.__data__.has(u)}},1814:s=>{s.exports=function(u){var c=-1,l=Array(u.size);return u.forEach(function(f){l[++c]=f}),l}},7465:(s,u,c)=>{var l=c(8407);s.exports=function(){this.__data__=new l,this.size=0}},3779:s=>{s.exports=function(u){var c=this.__data__,l=c.delete(u);return this.size=c.size,l}},7599:s=>{s.exports=function(u){return this.__data__.get(u)}},4758:s=>{s.exports=function(u){return this.__data__.has(u)}},4309:(s,u,c)=>{var l=c(8407),f=c(7071),h=c(3369);s.exports=function(d,p){var m=this.__data__;if(m instanceof l){var g=m.__data__;if(!f||g.length<199)return g.push([d,p]),this.size=++m.size,this;m=this.__data__=new h(g)}return m.set(d,p),this.size=m.size,this}},346:s=>{var u=Function.prototype.toString;s.exports=function(c){if(c!=null){try{return u.call(c)}catch{}try{return c+""}catch{}}return""}},7813:s=>{s.exports=function(u,c){return u===c||u!=u&&c!=c}},5694:(s,u,c)=>{var l=c(9454),f=c(7005),h=Object.prototype,d=h.hasOwnProperty,p=h.propertyIsEnumerable,m=l(function(){return arguments}())?l:function(g){return f(g)&&d.call(g,"callee")&&!p.call(g,"callee")};s.exports=m},1469:s=>{var u=Array.isArray;s.exports=u},8612:(s,u,c)=>{var l=c(3560),f=c(1780);s.exports=function(h){return h!=null&&f(h.length)&&!l(h)}},4144:(s,u,c)=>{s=c.nmd(s);var l=c(5639),f=c(5062),h=u&&!u.nodeType&&u,d=h&&s&&!s.nodeType&&s,p=d&&d.exports===h?l.Buffer:void 0,m=(p?p.isBuffer:void 0)||f;s.exports=m},8446:(s,u,c)=>{var l=c(939);s.exports=function(f,h){return l(f,h)}},3560:(s,u,c)=>{var l=c(4239),f=c(3218);s.exports=function(h){if(!f(h))return!1;var d=l(h);return d=="[object Function]"||d=="[object GeneratorFunction]"||d=="[object AsyncFunction]"||d=="[object Proxy]"}},1780:s=>{s.exports=function(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=9007199254740991}},3218:s=>{s.exports=function(u){var c=typeof u;return u!=null&&(c=="object"||c=="function")}},7005:s=>{s.exports=function(u){return u!=null&&typeof u=="object"}},6719:(s,u,c)=>{var l=c(8749),f=c(1717),h=c(1167),d=h&&h.isTypedArray,p=d?f(d):l;s.exports=p},3674:(s,u,c)=>{var l=c(4636),f=c(280),h=c(8612);s.exports=function(d){return h(d)?l(d):f(d)}},8306:(s,u,c)=>{var l=c(3369);function f(h,d){if(typeof h!="function"||d!=null&&typeof d!="function")throw new TypeError("Expected a function");var p=function(){var m=arguments,g=d?d.apply(this,m):m[0],v=p.cache;if(v.has(g))return v.get(g);var E=h.apply(this,m);return p.cache=v.set(g,E)||v,E};return p.cache=new(f.Cache||l),p}f.Cache=l,s.exports=f},479:s=>{s.exports=function(){return[]}},5062:s=>{s.exports=function(){return!1}},2703:(s,u,c)=>{var l=c(414);function f(){}function h(){}h.resetWarningCache=f,s.exports=function(){function d(g,v,E,y,T,b){if(b!==l){var S=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 S.name="Invariant Violation",S}}function p(){return d}d.isRequired=d;var m={array:d,bigint:d,bool:d,func:d,number:d,object:d,string:d,symbol:d,any:d,arrayOf:p,element:d,elementType:d,instanceOf:p,node:d,objectOf:p,oneOf:p,oneOfType:p,shape:p,exact:p,checkPropTypes:h,resetWarningCache:f};return m.PropTypes=m,m}},5697:(s,u,c)=>{s.exports=c(2703)()},414:s=>{s.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},9787:s=>{s.exports=n}},r={};function a(s){var u=r[s];if(u!==void 0)return u.exports;var c=r[s]={id:s,loaded:!1,exports:{}};return i[s](c,c.exports,a),c.loaded=!0,c.exports}a.n=s=>{var u=s&&s.__esModule?()=>s.default:()=>s;return a.d(u,{a:u}),u},a.d=(s,u)=>{for(var c in u)a.o(u,c)&&!a.o(s,c)&&Object.defineProperty(s,c,{enumerable:!0,get:u[c]})},a.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),a.o=(s,u)=>Object.prototype.hasOwnProperty.call(s,u),a.r=s=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(s,"__esModule",{value:!0})},a.nmd=s=>(s.paths=[],s.children||(s.children=[]),s);var o={};return(()=>{a.r(o),a.d(o,{default:()=>Fr,expandNodesToLevel:()=>Br});var s=a(4184),u=a.n(s),c=a(8446),l=a.n(c),f=a(8306),h=a.n(f);let d=(we=21)=>crypto.getRandomValues(new Uint8Array(we)).reduce((ge,W)=>ge+((W&=63)<36?W.toString(36):W<62?(W-26).toString(36).toUpperCase():W>62?"-":"_"),"");var p=a(5697),m=a.n(p),g=a(9787),v=a.n(g);function E(we){return E=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ge){return typeof ge}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":typeof ge},E(we)}var y=["children","title"];function T(){return T=Object.assign?Object.assign.bind():function(we){for(var ge=1;ge<arguments.length;ge++){var W=arguments[ge];for(var q in W)Object.prototype.hasOwnProperty.call(W,q)&&(we[q]=W[q])}return we},T.apply(this,arguments)}function b(we,ge){if(!(we instanceof ge))throw new TypeError("Cannot call a class as a function")}function S(we,ge){for(var W=0;W<ge.length;W++){var q=ge[W];q.enumerable=q.enumerable||!1,q.configurable=!0,"value"in q&&(q.writable=!0),Object.defineProperty(we,q.key,q)}}function I(we,ge){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,q){return W.__proto__=q,W},I(we,ge)}function D(we,ge){if(ge&&(E(ge)==="object"||typeof ge=="function"))return ge;if(ge!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(W){if(W===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return W}(we)}function R(we){return R=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ge){return ge.__proto__||Object.getPrototypeOf(ge)},R(we)}function M(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}var k=function(we){(function(be,de){if(typeof de!="function"&&de!==null)throw new TypeError("Super expression must either be null or a function");be.prototype=Object.create(de&&de.prototype,{constructor:{value:be,writable:!0,configurable:!0}}),Object.defineProperty(be,"prototype",{writable:!1}),de&&I(be,de)})(De,we);var ge,W,q,me,Se=(q=De,me=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var be,de=R(q);if(me){var ye=R(this).constructor;be=Reflect.construct(de,arguments,ye)}else be=de.apply(this,arguments);return D(this,be)});function De(){return b(this,De),Se.apply(this,arguments)}return ge=De,(W=[{key:"render",value:function(){var be=this.props,de=be.children,ye=be.title,z=function(U,re){if(U==null)return{};var _e,Ce,Ge=function(ct,Tt){if(ct==null)return{};var Ht,pt,Nt={},Qt=Object.keys(ct);for(pt=0;pt<Qt.length;pt++)Ht=Qt[pt],Tt.indexOf(Ht)>=0||(Nt[Ht]=ct[Ht]);return Nt}(U,re);if(Object.getOwnPropertySymbols){var ze=Object.getOwnPropertySymbols(U);for(Ce=0;Ce<ze.length;Ce++)_e=ze[Ce],re.indexOf(_e)>=0||Object.prototype.propertyIsEnumerable.call(U,_e)&&(Ge[_e]=U[_e])}return Ge}(be,y);return v().createElement("button",T({"aria-label":ye,title:ye,type:"button"},z),de)}}])&&S(ge.prototype,W),Object.defineProperty(ge,"prototype",{writable:!1}),De}(v().PureComponent);M(k,"propTypes",{children:m().node.isRequired,title:m().string}),M(k,"defaultProps",{title:null});const L=k,$={ALL:"all",PARENT:"parent",LEAF:"leaf"};function P(we){this.message=we,this.stack=Error().stack}P.prototype=Object.create(Error.prototype),P.prototype.name="CheckboxTreeError";const B=P;function X(we,ge){var W=Object.keys(we);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(we);ge&&(q=q.filter(function(me){return Object.getOwnPropertyDescriptor(we,me).enumerable})),W.push.apply(W,q)}return W}function ee(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}function se(we,ge){if(!(we instanceof ge))throw new TypeError("Cannot call a class as a function")}function fe(we,ge){for(var W=0;W<ge.length;W++){var q=ge[W];q.enumerable=q.enumerable||!1,q.configurable=!0,"value"in q&&(q.writable=!0),Object.defineProperty(we,q.key,q)}}var Z=$;const he=function(){function we(q){var me=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};se(this,we),this.props=q,this.flatNodes=me}var ge,W;return ge=we,W=[{key:"setProps",value:function(q){this.props=q}},{key:"clone",value:function(){var q=this,me={};return Object.keys(this.flatNodes).forEach(function(Se){var De=q.flatNodes[Se];me[Se]=function(be){for(var de=1;de<arguments.length;de++){var ye=arguments[de]!=null?arguments[de]:{};de%2?X(Object(ye),!0).forEach(function(z){ee(be,z,ye[z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(be,Object.getOwnPropertyDescriptors(ye)):X(Object(ye)).forEach(function(z){Object.defineProperty(be,z,Object.getOwnPropertyDescriptor(ye,z))})}return be}({},De)}),new we(this.props,me)}},{key:"getNode",value:function(q){return this.flatNodes[q]}},{key:"reset",value:function(){this.flatNodes={}}},{key:"flattenNodes",value:function(q){var me=this,Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},De=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(Array.isArray(q)&&q.length!==0){var be=this.props,de=be.disabled,ye=be.noCascade;q.forEach(function(z,U){var re=me.nodeHasChildren(z);if(me.flatNodes[z.value]!==void 0)throw new B("Duplicate value '".concat(z.value,"' detected. All node values must be unique."));me.flatNodes[z.value]={label:z.label,value:z.value,children:z.children,parent:Se,isChild:Se.value!==void 0,isParent:re,isLeaf:!re,showCheckbox:z.showCheckbox===void 0||z.showCheckbox,disabled:me.getDisabledState(z,Se,de,ye),treeDepth:De,index:U},me.flattenNodes(z.children,z,De+1)})}}},{key:"nodeHasChildren",value:function(q){return Array.isArray(q.children)}},{key:"getDisabledState",value:function(q,me,Se,De){return!!Se||!(De||!me.disabled)||Boolean(q.disabled)}},{key:"deserializeLists",value:function(q){var me=this,Se=["checked","expanded"];Object.keys(this.flatNodes).forEach(function(De){Se.forEach(function(be){me.flatNodes[De][be]=!1})}),Se.forEach(function(De){q[De].forEach(function(be){me.flatNodes[be]!==void 0&&(me.flatNodes[be][De]=!0)})})}},{key:"serializeList",value:function(q){var me=this,Se=[];return Object.keys(this.flatNodes).forEach(function(De){me.flatNodes[De][q]&&Se.push(De)}),Se}},{key:"expandAllNodes",value:function(q){var me=this;return Object.keys(this.flatNodes).forEach(function(Se){me.flatNodes[Se].isParent&&(me.flatNodes[Se].expanded=q)}),this}},{key:"toggleChecked",value:function(q,me,Se,De){var be=this,de=!(arguments.length>4&&arguments[4]!==void 0)||arguments[4],ye=this.flatNodes[q.value],z=[Z.PARENT,Z.ALL].indexOf(Se)>-1,U=[Z.LEAF,Z.ALL].indexOf(Se)>-1;if(ye.isLeaf||De){if(q.disabled)return this;this.toggleNode(q.value,"checked",me)}else(z||ye.children.length===0)&&this.toggleNode(q.value,"checked",me),U&&ye.children.forEach(function(re){be.toggleChecked(re,me,Se,De,!1)});return de&&!De&&ye.isChild&&z&&this.toggleParentStatus(ye.parent,Se),this}},{key:"toggleParentStatus",value:function(q,me){var Se=this.flatNodes[q.value];Se.isChild?(me===Z.ALL&&this.toggleNode(q.value,"checked",this.isEveryChildChecked(Se)),this.toggleParentStatus(Se.parent,me)):this.toggleNode(q.value,"checked",this.isEveryChildChecked(Se))}},{key:"isEveryChildChecked",value:function(q){var me=this;return q.children.every(function(Se){return me.getNode(Se.value).checked})}},{key:"toggleNode",value:function(q,me,Se){return this.flatNodes[q][me]=Se,this}}],W&&fe(ge.prototype,W),Object.defineProperty(ge,"prototype",{writable:!1}),we}();function j(we){return j=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ge){return typeof ge}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":typeof ge},j(we)}function H(){return H=Object.assign?Object.assign.bind():function(we){for(var ge=1;ge<arguments.length;ge++){var W=arguments[ge];for(var q in W)Object.prototype.hasOwnProperty.call(W,q)&&(we[q]=W[q])}return we},H.apply(this,arguments)}function G(we,ge){var W=Object.keys(we);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(we);ge&&(q=q.filter(function(me){return Object.getOwnPropertyDescriptor(we,me).enumerable})),W.push.apply(W,q)}return W}function K(we,ge){if(!(we instanceof ge))throw new TypeError("Cannot call a class as a function")}function ae(we,ge){for(var W=0;W<ge.length;W++){var q=ge[W];q.enumerable=q.enumerable||!1,q.configurable=!0,"value"in q&&(q.writable=!0),Object.defineProperty(we,q.key,q)}}function pe(we,ge){return pe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,q){return W.__proto__=q,W},pe(we,ge)}function Ie(we,ge){if(ge&&(j(ge)==="object"||typeof ge=="function"))return ge;if(ge!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(W){if(W===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return W}(we)}function Ee(we){return Ee=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ge){return ge.__proto__||Object.getPrototypeOf(ge)},Ee(we)}function xe(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}var He=function(we){(function(be,de){if(typeof de!="function"&&de!==null)throw new TypeError("Super expression must either be null or a function");be.prototype=Object.create(de&&de.prototype,{constructor:{value:be,writable:!0,configurable:!0}}),Object.defineProperty(be,"prototype",{writable:!1}),de&&pe(be,de)})(De,we);var ge,W,q,me,Se=(q=De,me=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var be,de=Ee(q);if(me){var ye=Ee(this).constructor;be=Reflect.construct(de,arguments,ye)}else be=de.apply(this,arguments);return Ie(this,be)});function De(){return K(this,De),Se.apply(this,arguments)}return ge=De,W=[{key:"componentDidMount",value:function(){this.updateDeterminateProperty()}},{key:"componentDidUpdate",value:function(){this.updateDeterminateProperty()}},{key:"updateDeterminateProperty",value:function(){var be=this.props.indeterminate;this.checkbox.indeterminate=be}},{key:"render",value:function(){var be=this,de=function(ye){for(var z=1;z<arguments.length;z++){var U=arguments[z]!=null?arguments[z]:{};z%2?G(Object(U),!0).forEach(function(re){xe(ye,re,U[re])}):Object.getOwnPropertyDescriptors?Object.defineProperties(ye,Object.getOwnPropertyDescriptors(U)):G(Object(U)).forEach(function(re){Object.defineProperty(ye,re,Object.getOwnPropertyDescriptor(U,re))})}return ye}({},this.props);return delete de.indeterminate,v().createElement("input",H({},de,{ref:function(ye){be.checkbox=ye},type:"checkbox"}))}}],W&&ae(ge.prototype,W),Object.defineProperty(ge,"prototype",{writable:!1}),De}(v().PureComponent);xe(He,"propTypes",{indeterminate:m().bool}),xe(He,"defaultProps",{indeterminate:!1});const ke=He,Ye=m().shape({check:m().node,uncheck:m().node,halfCheck:m().node,expandClose:m().node,expandOpen:m().node,expandAll:m().node,collapseAll:m().node,parentClose:m().node,parentOpen:m().node,leaf:m().node}),je=m().shape({collapseAll:m().string.isRequired,expandAll:m().string.isRequired,toggle:m().string.isRequired});function dt(we){return dt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ge){return typeof ge}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":typeof ge},dt(we)}function st(we,ge){for(var W=0;W<ge.length;W++){var q=ge[W];q.enumerable=q.enumerable||!1,q.configurable=!0,"value"in q&&(q.writable=!0),Object.defineProperty(we,q.key,q)}}function qe(we,ge){return qe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,q){return W.__proto__=q,W},qe(we,ge)}function Et(we,ge){if(ge&&(dt(ge)==="object"||typeof ge=="function"))return ge;if(ge!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yt(we)}function yt(we){if(we===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return we}function Bt(we){return Bt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ge){return ge.__proto__||Object.getPrototypeOf(ge)},Bt(we)}function On(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}var gt=function(we){(function(be,de){if(typeof de!="function"&&de!==null)throw new TypeError("Super expression must either be null or a function");be.prototype=Object.create(de&&de.prototype,{constructor:{value:be,writable:!0,configurable:!0}}),Object.defineProperty(be,"prototype",{writable:!1}),de&&qe(be,de)})(De,we);var ge,W,q,me,Se=(q=De,me=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var be,de=Bt(q);if(me){var ye=Bt(this).constructor;be=Reflect.construct(de,arguments,ye)}else be=de.apply(this,arguments);return Et(this,be)});function De(be){var de;return function(ye,z){if(!(ye instanceof z))throw new TypeError("Cannot call a class as a function")}(this,De),(de=Se.call(this,be)).onCheck=de.onCheck.bind(yt(de)),de.onCheckboxKeyPress=de.onCheckboxKeyPress.bind(yt(de)),de.onCheckboxKeyUp=de.onCheckboxKeyUp.bind(yt(de)),de.onClick=de.onClick.bind(yt(de)),de.onExpand=de.onExpand.bind(yt(de)),de}return ge=De,(W=[{key:"onCheck",value:function(){var be=this.props,de=be.value;(0,be.onCheck)({value:de,checked:this.getCheckState({toggle:!0})})}},{key:"onCheckboxKeyPress",value:function(be){be.which===32&&be.preventDefault()}},{key:"onCheckboxKeyUp",value:function(be){var de=be.keyCode;[13,32].includes(de)&&this.onCheck()}},{key:"onClick",value:function(){var be=this.props,de=be.expandOnClick,ye=be.isParent,z=be.value,U=be.onClick;ye&&de&&this.onExpand(),U({value:z,checked:this.getCheckState({toggle:!1})})}},{key:"onExpand",value:function(){var be=this.props,de=be.expanded,ye=be.value;(0,be.onExpand)({value:ye,expanded:!de})}},{key:"getCheckState",value:function(be){var de=be.toggle,ye=this.props,z=ye.checked,U=ye.optimisticToggle;return!(z!==0||!de)||z===1&&!de||z===2&&U}},{key:"renderCollapseButton",value:function(){var be=this.props,de=be.expandDisabled,ye=be.isLeaf,z=be.lang;return ye?v().createElement("span",{className:"rct-collapse"},v().createElement("span",{className:"rct-icon"})):v().createElement(L,{className:"rct-collapse rct-collapse-btn",disabled:de,title:z.toggle,onClick:this.onExpand},this.renderCollapseIcon())}},{key:"renderCollapseIcon",value:function(){var be=this.props,de=be.expanded,ye=be.icons,z=ye.expandClose,U=ye.expandOpen;return de?U:z}},{key:"renderCheckboxIcon",value:function(){var be=this.props,de=be.checked,ye=be.icons,z=ye.uncheck,U=ye.check,re=ye.halfCheck;return de===0?z:de===1?U:re}},{key:"renderNodeIcon",value:function(){var be=this.props,de=be.expanded,ye=be.icon,z=be.icons,U=z.leaf,re=z.parentClose,_e=z.parentOpen,Ce=be.isLeaf;return ye!==null?ye:Ce?U:de?_e:re}},{key:"renderBareLabel",value:function(be){var de=this.props,ye=de.onClick,z=de.title,U=ye!==null;return v().createElement("span",{className:"rct-bare-label",title:z},U?v().createElement("span",{className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"button",tabIndex:0},be):be)}},{key:"renderCheckboxLabel",value:function(be){var de=this.props,ye=de.checked,z=de.disabled,U=de.title,re=de.treeId,_e=de.value,Ce=de.onClick!==null,Ge="".concat(re,"-").concat(String(_e).split(" ").join("_")),ze=[v().createElement("label",{key:0,htmlFor:Ge,title:U},v().createElement(ke,{checked:ye===1,disabled:z,id:Ge,indeterminate:ye===2,onClick:this.onCheck,onChange:function(){}}),v().createElement("span",{"aria-checked":ye===1,"aria-disabled":z,className:"rct-checkbox",role:"checkbox",tabIndex:0,onKeyPress:this.onCheckboxKeyPress,onKeyUp:this.onCheckboxKeyUp},this.renderCheckboxIcon()),Ce?null:be)];return Ce&&ze.push(v().createElement("span",{key:1,className:"rct-node-clickable",onClick:this.onClick,onKeyPress:this.onClick,role:"link",tabIndex:0},be)),ze}},{key:"renderLabel",value:function(){var be=this.props,de=be.label,ye=be.showCheckbox,z=[be.showNodeIcon?v().createElement("span",{key:0,className:"rct-node-icon"},this.renderNodeIcon()):null,v().createElement("span",{key:1,className:"rct-title"},de)];return ye?this.renderCheckboxLabel(z):this.renderBareLabel(z)}},{key:"renderChildren",value:function(){return this.props.expanded?this.props.children:null}},{key:"render",value:function(){var be=this.props,de=be.className,ye=be.disabled,z=be.expanded,U=be.isLeaf,re=u()({"rct-node":!0,"rct-node-leaf":U,"rct-node-parent":!U,"rct-node-expanded":!U&&z,"rct-node-collapsed":!U&&!z,"rct-disabled":ye},de);return v().createElement("li",{className:re},v().createElement("span",{className:"rct-text"},this.renderCollapseButton(),this.renderLabel()),this.renderChildren())}}])&&st(ge.prototype,W),Object.defineProperty(ge,"prototype",{writable:!1}),De}(v().PureComponent);On(gt,"propTypes",{checked:m().number.isRequired,disabled:m().bool.isRequired,expandDisabled:m().bool.isRequired,expanded:m().bool.isRequired,icons:Ye.isRequired,isLeaf:m().bool.isRequired,isParent:m().bool.isRequired,label:m().node.isRequired,lang:je.isRequired,optimisticToggle:m().bool.isRequired,showNodeIcon:m().bool.isRequired,treeId:m().string.isRequired,value:m().oneOfType([m().string,m().number]).isRequired,onCheck:m().func.isRequired,onExpand:m().func.isRequired,children:m().node,className:m().string,expandOnClick:m().bool,icon:m().node,showCheckbox:m().bool,title:m().string,onClick:m().func}),On(gt,"defaultProps",{children:null,className:null,expandOnClick:!1,icon:null,showCheckbox:!0,title:null,onClick:function(){}});const Oe=gt,ne=m().oneOfType([m().arrayOf(m().string),m().arrayOf(m().number)]);function oe(we,ge){var W=Object.keys(we);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(we);ge&&(q=q.filter(function(me){return Object.getOwnPropertyDescriptor(we,me).enumerable})),W.push.apply(W,q)}return W}function Te(we){for(var ge=1;ge<arguments.length;ge++){var W=arguments[ge]!=null?arguments[ge]:{};ge%2?oe(Object(W),!0).forEach(function(q){w(we,q,W[q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(we,Object.getOwnPropertyDescriptors(W)):oe(Object(W)).forEach(function(q){Object.defineProperty(we,q,Object.getOwnPropertyDescriptor(W,q))})}return we}function w(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}var _={label:m().node.isRequired,value:m().oneOfType([m().string,m().number]).isRequired,disabled:m().bool,icon:m().node,showCheckbox:m().bool,title:m().string};const C=m().oneOfType([m().shape(_),m().shape(Te(Te({},_),{},{children:m().arrayOf(_).isRequired}))]);function F(we){return F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ge){return typeof ge}:function(ge){return ge&&typeof Symbol=="function"&&ge.constructor===Symbol&&ge!==Symbol.prototype?"symbol":typeof ge},F(we)}function te(we,ge){var W=Object.keys(we);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(we);ge&&(q=q.filter(function(me){return Object.getOwnPropertyDescriptor(we,me).enumerable})),W.push.apply(W,q)}return W}function le(we){for(var ge=1;ge<arguments.length;ge++){var W=arguments[ge]!=null?arguments[ge]:{};ge%2?te(Object(W),!0).forEach(function(q){ot(we,q,W[q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(we,Object.getOwnPropertyDescriptors(W)):te(Object(W)).forEach(function(q){Object.defineProperty(we,q,Object.getOwnPropertyDescriptor(W,q))})}return we}function ve(we,ge){for(var W=0;W<ge.length;W++){var q=ge[W];q.enumerable=q.enumerable||!1,q.configurable=!0,"value"in q&&(q.writable=!0),Object.defineProperty(we,q.key,q)}}function Ue(we,ge){return Ue=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(W,q){return W.__proto__=q,W},Ue(we,ge)}function We(we,ge){if(ge&&(F(ge)==="object"||typeof ge=="function"))return ge;if(ge!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nt(we)}function nt(we){if(we===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return we}function Qe(we){return Qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(ge){return ge.__proto__||Object.getPrototypeOf(ge)},Qe(we)}function ot(we,ge,W){return ge in we?Object.defineProperty(we,ge,{value:W,enumerable:!0,configurable:!0,writable:!0}):we[ge]=W,we}var xn=function(we){(function(de,ye){if(typeof ye!="function"&&ye!==null)throw new TypeError("Super expression must either be null or a function");de.prototype=Object.create(ye&&ye.prototype,{constructor:{value:de,writable:!0,configurable:!0}}),Object.defineProperty(de,"prototype",{writable:!1}),ye&&Ue(de,ye)})(be,we);var ge,W,q,me,Se,De=(me=be,Se=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var de,ye=Qe(me);if(Se){var z=Qe(this).constructor;de=Reflect.construct(ye,arguments,z)}else de=ye.apply(this,arguments);return We(this,de)});function be(de){var ye;(function(U,re){if(!(U instanceof re))throw new TypeError("Cannot call a class as a function")})(this,be),ye=De.call(this,de);var z=new he(de);return z.flattenNodes(de.nodes),z.deserializeLists({checked:de.checked,expanded:de.expanded}),ye.state={id:de.id||"rct-".concat(d()),model:z,prevProps:de},ye.onCheck=ye.onCheck.bind(nt(ye)),ye.onExpand=ye.onExpand.bind(nt(ye)),ye.onNodeClick=ye.onNodeClick.bind(nt(ye)),ye.onExpandAll=ye.onExpandAll.bind(nt(ye)),ye.onCollapseAll=ye.onCollapseAll.bind(nt(ye)),ye.combineMemorized=h()(function(U,re){return le(le({},U),re)}).bind(nt(ye)),ye}return ge=be,W=[{key:"onCheck",value:function(de){var ye=this.props,z=ye.checkModel,U=ye.noCascade,re=ye.onCheck,_e=this.state.model.clone(),Ce=_e.getNode(de.value);_e.toggleChecked(de,de.checked,z,U),re(_e.serializeList("checked"),le(le({},Ce),de))}},{key:"onExpand",value:function(de){var ye=this.props.onExpand,z=this.state.model.clone(),U=z.getNode(de.value);z.toggleNode(de.value,"expanded",de.expanded),ye(z.serializeList("expanded"),le(le({},U),de))}},{key:"onNodeClick",value:function(de){(0,this.props.onClick)(le(le({},this.state.model.getNode(de.value)),de))}},{key:"onExpandAll",value:function(){this.expandAllNodes()}},{key:"onCollapseAll",value:function(){this.expandAllNodes(!1)}},{key:"expandAllNodes",value:function(){var de=!(arguments.length>0&&arguments[0]!==void 0)||arguments[0],ye=this.props.onExpand;ye(this.state.model.clone().expandAllNodes(de).serializeList("expanded"))}},{key:"determineShallowCheckState",value:function(de,ye){var z=this.state.model.getNode(de.value);return z.isLeaf||ye||de.children.length===0?z.checked?1:0:this.isEveryChildChecked(de)?1:this.isSomeChildChecked(de)?2:0}},{key:"isEveryChildChecked",value:function(de){var ye=this;return de.children.every(function(z){return ye.state.model.getNode(z.value).checkState===1})}},{key:"isSomeChildChecked",value:function(de){var ye=this;return de.children.some(function(z){return ye.state.model.getNode(z.value).checkState>0})}},{key:"renderTreeNodes",value:function(de){var ye=this,z=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},U=this.props,re=U.expandDisabled,_e=U.expandOnClick,Ce=U.icons,Ge=U.lang,ze=U.noCascade,ct=U.onClick,Tt=U.onlyLeafCheckboxes,Ht=U.optimisticToggle,pt=U.showNodeTitle,Nt=U.showNodeIcon,Qt=this.state,ht=Qt.id,Ft=Qt.model,Jt=be.defaultProps.icons,nn=de.map(function(An){var Hr=An.value,$e=Ft.getNode(An.value),et=$e.isParent?ye.renderTreeNodes(An.children,An):null;$e.checkState=ye.determineShallowCheckState(An,ze);var Dt=Tt?$e.isLeaf:$e.showCheckbox;return!z.value||Ft.getNode(z.value).expanded?v().createElement(Oe,{key:Hr,checked:$e.checkState,className:An.className,disabled:$e.disabled,expandDisabled:re,expandOnClick:_e,expanded:$e.expanded,icon:An.icon,icons:ye.combineMemorized(Jt,Ce),label:An.label,lang:Ge,optimisticToggle:Ht,isLeaf:$e.isLeaf,isParent:$e.isParent,showCheckbox:Dt,showNodeIcon:Nt,title:pt?An.title||An.label:An.title,treeId:ht,value:An.value,onCheck:ye.onCheck,onClick:ct&&ye.onNodeClick,onExpand:ye.onExpand},et):null});return v().createElement("ol",null,nn)}},{key:"renderExpandAll",value:function(){var de=this.props,ye=de.icons,z=ye.expandAll,U=ye.collapseAll,re=de.lang;return de.showExpandAll?v().createElement("div",{className:"rct-options"},v().createElement(L,{className:"rct-option rct-option-expand-all",title:re.expandAll,onClick:this.onExpandAll},z),v().createElement(L,{className:"rct-option rct-option-collapse-all",title:re.collapseAll,onClick:this.onCollapseAll},U)):null}},{key:"renderHiddenInput",value:function(){var de=this.props,ye=de.name,z=de.nameAsArray;return ye===void 0?null:z?this.renderArrayHiddenInput():this.renderJoinedHiddenInput()}},{key:"renderArrayHiddenInput",value:function(){var de=this.props,ye=de.checked,z=de.name;return ye.map(function(U){var re="".concat(z,"[]");return v().createElement("input",{key:U,name:re,type:"hidden",value:U})})}},{key:"renderJoinedHiddenInput",value:function(){var de=this.props,ye=de.checked,z=de.name,U=ye.join(",");return v().createElement("input",{name:z,type:"hidden",value:U})}},{key:"render",value:function(){var de,ye=this.props,z=ye.direction,U=ye.disabled,re=ye.iconsClass,_e=ye.nodes,Ce=ye.nativeCheckboxes,Ge=this.state.id,ze=this.renderTreeNodes(_e),ct=u()((ot(de={"react-checkbox-tree":!0,"rct-disabled":U},"rct-icons-".concat(re),!0),ot(de,"rct-native-display",Ce),ot(de,"rct-direction-rtl",z==="rtl"),de));return v().createElement("div",{className:ct,id:Ge},this.renderExpandAll(),this.renderHiddenInput(),ze)}}],q=[{key:"getDerivedStateFromProps",value:function(de,ye){var z=ye.model,U=ye.prevProps,re=de.disabled,_e=de.id,Ce=de.nodes,Ge=le(le({},ye),{},{prevProps:de});return z.setProps(de),l()(U.nodes,Ce)&&U.disabled===re||(z.reset(),z.flattenNodes(Ce)),_e!==null&&(Ge=le(le({},Ge),{},{id:_e})),z.deserializeLists({checked:de.checked,expanded:de.expanded}),Ge}}],W&&ve(ge.prototype,W),q&&ve(ge,q),Object.defineProperty(ge,"prototype",{writable:!1}),be}(v().Component);function Tr(we){return function(ge){if(Array.isArray(ge))return Li(ge)}(we)||function(ge){if(typeof Symbol<"u"&&ge[Symbol.iterator]!=null||ge["@@iterator"]!=null)return Array.from(ge)}(we)||function(ge,W){if(ge){if(typeof ge=="string")return Li(ge,W);var q=Object.prototype.toString.call(ge).slice(8,-1);return q==="Object"&&ge.constructor&&(q=ge.constructor.name),q==="Map"||q==="Set"?Array.from(ge):q==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(q)?Li(ge,W):void 0}}(we)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
339
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Li(we,ge){(ge==null||ge>we.length)&&(ge=we.length);for(var W=0,q=new Array(ge);W<ge;W++)q[W]=we[W];return q}function Br(we,ge){var W=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(W>ge)return[];var q=[];return we.forEach(function(me){me.children&&(q=[].concat(Tr(q),[me.value],Tr(Br(me.children,ge,W+1))))}),q}ot(xn,"propTypes",{nodes:m().arrayOf(C).isRequired,checkModel:m().oneOf([$.LEAF,$.ALL]),checked:ne,direction:m().string,disabled:m().bool,expandDisabled:m().bool,expandOnClick:m().bool,expanded:ne,icons:Ye,iconsClass:m().string,id:m().string,lang:je,name:m().string,nameAsArray:m().bool,nativeCheckboxes:m().bool,noCascade:m().bool,onlyLeafCheckboxes:m().bool,optimisticToggle:m().bool,showExpandAll:m().bool,showNodeIcon:m().bool,showNodeTitle:m().bool,onCheck:m().func,onClick:m().func,onExpand:m().func}),ot(xn,"defaultProps",{checkModel:$.LEAF,checked:[],direction:"ltr",disabled:!1,expandDisabled:!1,expandOnClick:!1,expanded:[],icons:{check:v().createElement("span",{className:"rct-icon rct-icon-check"}),uncheck:v().createElement("span",{className:"rct-icon rct-icon-uncheck"}),halfCheck:v().createElement("span",{className:"rct-icon rct-icon-half-check"}),expandClose:v().createElement("span",{className:"rct-icon rct-icon-expand-close"}),expandOpen:v().createElement("span",{className:"rct-icon rct-icon-expand-open"}),expandAll:v().createElement("span",{className:"rct-icon rct-icon-expand-all"}),collapseAll:v().createElement("span",{className:"rct-icon rct-icon-collapse-all"}),parentClose:v().createElement("span",{className:"rct-icon rct-icon-parent-close"}),parentOpen:v().createElement("span",{className:"rct-icon rct-icon-parent-open"}),leaf:v().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:!1,nativeCheckboxes:!1,noCascade:!1,onlyLeafCheckboxes:!1,optimisticToggle:!0,showExpandAll:!1,showNodeIcon:!0,showNodeTitle:!1,onCheck:function(){},onClick:null,onExpand:function(){}});const Fr=xn})(),o})())})(Y$);const Wke=UT(Y$.exports),vNe="";let W$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;_classCallCheck3(this,n),r=t.call(this,i),r.localTracks=Hl.filter(u=>u.local&&!u.hidden).map(u=>{const c={...u};return c.datatype=u.datatype[0],c}),r.augmentedTracksInfo=Hl,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(u=>{r.augmentedTracksInfo.push(window.higlassTracksByType[u].config)}),i.datatype?r.localTracks=r.localTracks.filter(u=>u.datatype[0]===i.datatype):r.localTracks=r.localTracks.filter(u=>u.orientation===r.props.orientation),r.localTracks.forEach(u=>{u.uuid=Pt.nice()});const a=r.prepareNewEntries("",r.localTracks,{}),o=Object.keys(a),s=o.length?[o[0]]:null;return r.mounted=!1,r.state={selectedUuid:s,options:a,filter:"",checked:[],expanded:[]},r.requestTilesetLists(),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.mounted=!0,this.requestTilesetLists(),this.searchBox.focus()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"prepareNewEntries",value:function(r,a,o){const s=o;return a.map(c=>({...c,server:r,tilesetUid:c.uuid,serverUidKey:this.serverUidKey(r,c.uuid),datatype:c.datatype,name:c.name,uid:Pt.nice()})).forEach(c=>{s[c.serverUidKey]=c}),s}},{key:"serverUidKey",value:function(r,a){return`${r}/${a}`}},{key:"requestTilesetLists",value:function(){let r=null;if(this.props.datatype?r=`dt=${this.props.datatype}`:r=[...new Set([].concat(...this.augmentedTracksInfo.filter(o=>o.datatype).filter(o=>o.orientation===this.props.orientation||this.props.orientation==="1d-vertical"&&o.orientation==="1d-horizontal").map(o=>o.datatype)))].map(o=>`dt=${o}`).join("&"),!this.props.trackSourceServers){console.warn("No track source servers specified in the viewconf");return}this.props.trackSourceServers.forEach(a=>{Xe.json(`${a}/tilesets/?limit=10000&${r}`,(o,s)=>{if(o)console.error("ERROR:",o);else{const u=this.prepareNewEntries(a,s.results,this.state.options),c=Object.keys(u);let{selectedUuid:l}=this.state;if(!l){l=c.length?[c[0]]:null;const f=this.state.options[l[0]];this.props.selectedTilesetChanged([f])}this.mounted&&this.setState({selectedUuid:l,options:u})}},this.props.pubSub)})}},{key:"handleOptionDoubleClick",value:function(r){const a=this.state.options[r.target.value];this.props.onDoubleClick(a)}},{key:"handleSelectedOptions",value:function(r){const a=[],o=[];for(let s=0;s<r.length;s++)a.push(r[s]),o.push(this.state.options[r[s]]);this.props.selectedTilesetChanged(o),this.setState({selectedUuid:a})}},{key:"handleSelect",value:function(){const{selectedOptions:r}=this.multiSelect,a=[];for(let o=0;o<r.length;o++){const s=r[o];a.push(s.value)}this.handleSelectedOptions(a)}},{key:"handleSearchChange",value:function(){const r=this.searchBox;this.setState({filter:r.value})}},{key:"partitionByGroup",value:function(r,a){const o={"":{name:"",value:"",children:[]}};for(const u of Object.keys(r)){const c=r[u];if(!!c.name.toLowerCase().includes(a))if("project_name"in c){const l=c.project_name;l in o||(o[l]={value:l,label:l,children:[]}),o[l].children.push({label:c.name,value:u})}else o[""].children.push({label:c.name,value:u})}const s=o[""].children;for(const u of Object.keys(o))u!==""&&(o[u].children.sort((c,l)=>c.label.toLowerCase().localeCompare(l.label.toLowerCase(),"en")),s.push(o[u]));return s.sort((u,c)=>u.label.toLowerCase().localeCompare(c.label.toLowerCase(),"en")),s}},{key:"handleChecked",value:function(r){this.handleSelectedOptions(r),this.setState({checked:r})}},{key:"handleExpanded",value:function(r){this.setState({expanded:r})}},{key:"render",value:function(){const r=[];for(const c in this.state.options)r.push(this.state.options[c]);const a=this.partitionByGroup(this.state.options,this.state.filter),o={width:15,height:15,top:2,right:2,position:"relative"},s=JSON.parse(JSON.stringify(o));s.opacity=.5;const u=A.default.createElement("form",{onSubmit:c=>{c.preventDefault()}},A.default.createElement("div",{className:"tileset-finder-search-bar"},A.default.createElement("span",{className:"tileset-finder-label"},"Select tileset:"),A.default.createElement("input",{ref:c=>{this.searchBox=c},className:"tileset-finder-search-box",onChange:this.handleSearchChange.bind(this),placeholder:"Search Term",type:"text"})),A.default.createElement("div",{className:"tileset-finder-checkbox-tree"},A.default.createElement(Wke,{checked:this.state.checked,expanded:this.state.expanded,icons:{uncheck:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#square_o"})),check:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#check_square_o"})),halfCheck:A.default.createElement("svg",{style:s},A.default.createElement("use",{xlinkHref:"#check_square_o"})),leaf:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#file_o"})),expandClose:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#chevron_right"})),expandOpen:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#chevron_down"})),parentClose:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#folder_o"})),parentOpen:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#folder_open_o"}))},nodes:a,onCheck:this.handleChecked.bind(this),onExpand:this.handleExpanded.bind(this)})));return A.default.createElement("div",null,u)}}]),n}(A.default.Component);W$.propTypes={datatype:N.exports.string,orientation:N.exports.string,onDoubleClick:N.exports.func,pubSub:N.exports.object.isRequired,selectedTilesetChanged:N.exports.func,trackSourceServers:N.exports.array};const qke=dh(W$),yNe="";let q$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.DATATYPE_TO_TRACK_TYPE=gb(r.props.orientation),r.AVAILABLE_TRACK_TYPES=fT(r.props.datatypes,r.props.orientation),r.state={selectedPlotType:r.AVAILABLE_TRACK_TYPES[0]},r}return _createClass3(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(r){if(this.AVAILABLE_TRACK_TYPES=fT(r.datatypes,this.props.orientation),!!this.AVAILABLE_TRACK_TYPES&&!!r.allTracksSameDatatype&&this.AVAILABLE_TRACK_TYPES.length>0&&!this.AVAILABLE_TRACK_TYPES.includes(this.state.selectedPlotType)){const a=yb(r.datatypes[0][0],this.props.position,this.AVAILABLE_TRACK_TYPES);this.handlePlotTypeSelected(a)}}},{key:"handlePlotTypeSelected",value:function(r){this.setState({selectedPlotType:r}),this.props.onPlotTypeSelected(r.type)}},{key:"render",value:function(){let r="No plot types available for track";const a={};return Hl.forEach(o=>{a[o.type]=o}),this.AVAILABLE_TRACK_TYPES&&(r=this.AVAILABLE_TRACK_TYPES.sort((o,s)=>o.type<s.type).map(o=>{const s=a[o.type].thumbnail,u=this.state.selectedPlotType.type===o.type?"plot-type-item plot-type-selected":"plot-type-item",c=a[o.type].thumbnail?A.default.createElement("div",{className:"track-thumbnail",dangerouslySetInnerHTML:{__html:s.outerHTML}}):A.default.createElement("div",{className:"track-thumbnail"},A.default.createElement("svg",{height:20,width:30}));return A.default.createElement("li",{key:o.type,className:u,onClick:l=>{this.setState({selectedPlotType:o}),this.props.onPlotTypeSelected(o.type)},style:{listStyle:"none",paddingLeft:5,paddingBottom:0}},c,A.default.createElement("span",{style:{verticalAlign:"middle"}},o.type))})),A.default.createElement("div",null,r.length>0&&this.props.allTracksSameDatatype&&A.default.createElement("div",{className:"plot-type-container"},r),!this.props.allTracksSameDatatype&&A.default.createElement("div",{className:"plot-type-container-empty"},"Datasets with multiple datatypes chosen. They will be added with their default track types."))}}]),n}(A.default.Component);q$.propTypes={allTracksSameDatatype:N.exports.bool,datatypes:N.exports.array,orientation:N.exports.string,onPlotTypeSelected:N.exports.func,position:N.exports.string};const bNe={"collapse-toggle-icon":"_collapse-toggle-icon_ub7s6_1",collapsed:"_collapsed_ub7s6_9","modal-title":"_modal-title_ub7s6_14","modal-container":"_modal-container_ub7s6_19",modal:"_modal_ub7s6_14","modal-backdrop":"_modal-backdrop_ub7s6_23","modal-dialog":"_modal-dialog_ub7s6_27"};let yT=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.options={},r.state={selectedTilesets:[{datatype:"none"}],allTracksSameDatatype:!0},r.handleSubmitBound=r.handleSubmit.bind(_assertThisInitialized3(r)),r.handleTilesetPickerDoubleClickBound=r.handleTilesetPickerDoubleClick.bind(_assertThisInitialized3(r)),r.selectedTilesetsChangedBound=r.selectedTilesetsChanged.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"getOrientation",value:function(r){let a=null;return r==="top"||r==="bottom"?a="1d-horizontal":r==="left"||r==="right"?a="1d-vertical":a="2d",a}},{key:"handleSubmit",value:function(r){r&&r.preventDefault(),this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host)}},{key:"handleTilesetPickerDoubleClick",value:function(r){this.selectedTilesetsChanged([r]),this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host)}},{key:"handleOptionsChanged",value:function(r){this.options=r}},{key:"handlePlotTypeSelected",value:function(r){const{selectedTilesets:a}=this.state;for(const o of a)o.type=r;this.selectedPlotType=r,this.setState({selectedTilesets:a})}},{key:"selectedTilesetsChanged",value:function(r){let a=null;r.length===0?a=[{datatype:"none"}]:a=r;let o=!0;const s=a[0].datatype;for(const u of a)u.datatype!==s&&(o=!1);if(o)for(const u of a)u.type=this.selectedPlotType;else for(const u of a){let c=[u.datatype];const l=this.getOrientation(this.props.position);u.filetype==="cooler"&&(c=[u.datatype,"chromsizes"]);const f=fT([c],l),h=yb(c[0],this.props.position,f);u.type=h.type}this.setState({selectedTilesets:a,allTracksSameDatatype:o})}},{key:"render",value:function(){const r=this.getOrientation(this.props.position),a=A.default.createElement("div",null,A.default.createElement(qke,{ref:o=>{this.tilesetFinder=o},datatype:this.props.datatype,onDoubleClick:this.handleTilesetPickerDoubleClick.bind(this),onTracksChosen:o=>this.props.onTracksChosen(o,this.props.position),orientation:r,selectedTilesetChanged:this.selectedTilesetsChanged.bind(this),trackSourceServers:this.props.trackSourceServers}));return A.default.createElement(Bd,{maxHeight:!0,okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmitBound,title:"Add Track"},A.default.createElement(A.default.Fragment,null,a,A.default.createElement(q$,{ref:o=>{this.plotTypeChooser=o},allTracksSameDatatype:this.state.allTracksSameDatatype,datatypes:this.state.selectedTilesets.map(o=>o.filetype==="cooler"?[o.datatype,"chromsizes"]:[o.datatype]),onPlotTypeSelected:this.handlePlotTypeSelected.bind(this),orientation:r,position:this.props.position})))}}]),n}(A.default.Component);yT.defaultProps={position:"top"},yT.propTypes={datatype:N.exports.string,host:N.exports.string,onCancel:N.exports.func.isRequired,onTracksChosen:N.exports.func.isRequired,position:N.exports.string,trackSourceServers:N.exports.array.isRequired};let jI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){const r=[];return this.props.children.forEach((a,o)=>{const s=`customTrackDialog_${o}`;r.push(A.default.createElement(a,{key:s,...this.props.bodyProps[o]}))}),A.default.createElement(Bd,{maxHeight:!0,okayOnly:!0,okayTitle:"Close",onCancel:this.props.onCancel,onOkay:this.props.onCancel,title:this.props.title},r)}}]),n}(A.default.PureComponent);jI.defaultProps={},jI.propTypes={onCancel:N.exports.func.isRequired};const X$=20;let Ms=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.adjusted=!1,r.state={orientation:r.props.orientation?r.props.orientation:"right",left:r.props.position.left,top:r.props.position.top,submenuShown:null},r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.updateOrientation()}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.adjusted=!1,this.setState({left:r.position.left,top:r.position.top})}},{key:"componentDidUpdate",value:function(){this.updateOrientation()}},{key:"handleItemMouseEnterWithRect",value:function(r,a){this.setState({submenuShown:a,submenuSourceBbox:r})}},{key:"handleItemMouseEnter",value:function(r,a){this.handleItemMouseEnterWithRect(r.currentTarget.getBoundingClientRect(),a)}},{key:"handleMouseLeave",value:function(){}},{key:"handleOtherMouseEnter",value:function(){this.setState({submenuShown:null})}},{key:"updateOrientation",value:function(){if(this.adjusted)return;this.adjusted=!0,this.divDom=Un.default.findDOMNode(this.div);const r=this.divDom.getBoundingClientRect(),a=this.props.parentBbox?this.props.parentBbox:{top:this.props.position.top,left:this.props.position.left,width:0,height:0};let o=this.state.orientation,s=a.top;if(a.top+r.height>window.innerHeight&&(a.top-r.height>0?s=a.top-r.height+X$:(s=a.top-r.height+X$,s-=s+r.height-window.innerHeight)),this.state.orientation==="left"){let u=a.left-r.width;u<0&&(a.left+a.width+r.width>window.innerWidth?u=0:(u=a.left+a.width,o="right")),this.setState({left:u,top:s,orientation:o})}else{let u=a.left+a.width;a.left+a.width+r.width>window.innerWidth&&(a.left-r.width<0?(u=0,o="right"):(u=a.left-r.width,o="left")),this.setState({left:u,top:s,orientation:o})}}},{key:"render",value:function(){const r=this.state.left?{left:this.state.left}:{right:this.state.right},a={top:this.state.top},o=Object.assign(r,a);return A.default.createElement("div",{ref:s=>{this.div=s},className:qt("context-menu-item",mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),style:o},this.props.children)}}]),n}(A.default.Component);Ms.propTypes={children:N.exports.node,orientation:N.exports.string,parentBbox:N.exports.object,position:N.exports.object,theme:N.exports.symbol.isRequired};let VI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top},o=this.state.submenuShown;return A.default.createElement(n,{menuItems:o.children,orientation:this.state.orientation,parentBbox:r,position:a,theme:this.props.theme})}return A.default.createElement("div",null)}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){const r=[];for(const a in this.props.menuItems){const o=this.props.menuItems[a];r.push(A.default.createElement(St,{key:a,onClick:o.handler?o.handler:()=>null,onMouseEnter:o.children?s=>this.handleItemMouseEnter(s,o):this.handleOtherMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave},o.name,o.children&&A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"}))))}return A.default.createElement("div",{ref:a=>{this.div=a},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),style:{left:this.state.left,top:this.state.top}},r,this.getSubmenu())}}]),n}(Ms),Xke=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getConfigureSeriesMenu",value:function(r,a,o){const s={},u=window.higlassTracksByType&&window.higlassTracksByType[o.type]&&window.higlassTracksByType[o.type].config&&window.higlassTracksByType[o.type].config.optionsInfo;if(u)for(const c of Object.keys(u))mr[c]=u[c];if(!dn[o.type]||!dn[o.type].availableOptions)return null;for(const c of dn[o.type].availableOptions)if(c in mr){if(s[c]={name:mr[c].name},mr[c].generateOptions){const l=mr[c].generateOptions(o);s[c].children||(s[c].children={});for(const f of l){const h={name:f.name,value:f.value,handler:()=>{o.options[c]=f.value,this.props.onTrackOptionsChanged(o.uid,o.options),this.props.closeMenu()}};s[c].children[f.value]=h}}if(mr[c].inlineOptions)for(const l in mr[c].inlineOptions){const f=mr[c].inlineOptions[l];s[c].children||(s[c].children={});const h={name:f.name,value:f.value};f.componentPickers&&f.componentPickers[o.type]?h.handler=()=>{this.props.onConfigureTrack(o,f.componentPickers[o.type]),this.props.closeMenu()}:h.handler=()=>{o.options[c]=f.value,this.props.onTrackOptionsChanged(o.uid,o.options),this.props.closeMenu()},s[c].children[l]=h}else mr[c].componentPickers&&mr[c].componentPickers[o.type]&&(s[c].handler=()=>{this.props.onConfigureTrack(o,mr[c].componentPickers[o.type]),this.props.closeMenu()})}return A.default.createElement(VI,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems:s,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getTrackTypeItems",value:function(r,a,o){window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(f=>{dn[f]=window.higlassTracksByType[f].config});let{datatype:s}=o,u=null;o.type in dn&&(s||(s=dn[o.type].datatype[0]),{orientation:u}=dn[o.type]);const c=Object.values(dn).filter(f=>f.datatype).filter(f=>f.orientation).filter(f=>f.datatype.includes(s)).filter(f=>f.orientation===u).map(f=>f.type),l={};for(let f=0;f<c.length;f++)l[c[f]]={value:c[f],name:c[f],handler:()=>{this.props.onChangeTrackType(o.uid,c[f])}};return A.default.createElement(VI,{key:"track-type-items",closeMenu:this.props.closeMenu,menuItems:l,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top},o=this.state.submenuShown,s=o.value;return o.option==="track-type"?this.getTrackTypeItems(a,r,s):this.getConfigureSeriesMenu(a,r,s)}return A.default.createElement("div",null)}},{key:"getDivideByMenuItem",value:function(){if(this.props.series.data&&this.props.series.data.type==="divided"){const r={tilesetUid:this.props.series.data.children[0].tilesetUid,server:this.props.series.data.children[0].server};return A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onChangeTrackData(this.props.series.uid,r),onMouseEnter:a=>this.handleOtherMouseEnter(a)},A.default.createElement("span",{className:mt["context-menu-span"]},"Remove divisor"))}return A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onAddDivisor(this.props.series),onMouseEnter:r=>this.handleOtherMouseEnter(r)},A.default.createElement("span",{className:mt["context-menu-span"]},"Divide by"))}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){let r=null;dn[this.props.series.type]&&dn[this.props.series.type].exportable&&(r=A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onExportData(this.props.hostTrack.uid,this.props.track.uid),onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Export Data")));const a=this.props.onAddSeries?A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>{this.props.onCloseTrack(this.props.series.uid),this.props.onAddSeries(this.props.hostTrack.uid)},onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Replace Series")):null;return A.default.createElement("div",{ref:o=>{this.div=o},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"SeriesListMenu",onMouseLeave:this.props.handleMouseLeave,style:{left:this.state.left,top:this.state.top}},A.default.createElement(St,{onClick:()=>{},onMouseEnter:o=>this.handleItemMouseEnter(o,{option:"configure-series",value:this.props.track}),onMouseLeave:o=>this.handleMouseLeave(o)},"Configure Series",A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"}))),A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>{},onMouseEnter:o=>this.handleItemMouseEnter(o,{option:"track-type",value:this.props.track}),onMouseLeave:o=>this.handleMouseLeave(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Track Type",A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"})))),r,this.getDivideByMenuItem(),A.default.createElement(St,{className:mt["context-menu-item"],onClick:this.props.onCloseTrack,onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Close Series")),a,this.getSubmenu())}}]),n}(Ms);const K$=e=>{let t=[];for(const n of e)n.contents?t=t.concat(n.contents):t.push(n);return t},YI=(e,t,n,i)=>e?(window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(r=>{dn[r]=window.higlassTracksByType[r].config}),K$(e).map(r=>{const a=dn[r.type]?dn[r.type].thumbnail:null,o=a?A.default.createElement("div",{className:mt["context-menu-icon"],dangerouslySetInnerHTML:{__html:a.outerHTML}}):A.default.createElement("div",{className:mt["context-menu-icon"]},A.default.createElement("svg",null));return A.default.createElement(St,{key:r.uid,className:mt["context-menu-item"],onClick:()=>{i&&i(r.uid)},onMouseEnter:s=>{t&&t(s,r)},onMouseLeave:s=>{n&&n(s)}},o,A.default.createElement("span",{className:mt["context-menu-span"]},r.options&&r.options.name&&r.options.name.length?r.options.name:r.type,t&&n?A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"})):null))})):null,Z$=ky(e=>function(t){_inherits3(i,t);var n=_createSuper3(i);function i(){return _classCallCheck3(this,i),n.apply(this,arguments)}return _createClass3(i,[{key:"getSubmenu",value:function(){if(this.state.submenuShown){const a=this.state.submenuSourceBbox;let o=null;this.state.orientation==="left"?o={left:this.state.left,top:a.top}:o={left:this.state.left+a.width+7,top:a.top};const u=K$(this.props.tracks).filter(l=>l.uid===this.state.submenuShown.uid)[0],c=u&&u.position!=="whole";return A.default.createElement(Xke,{key:`series-list-menu-${u.uid}`,ref:l=>{this.seriesListMenu=l},closeMenu:this.props.closeMenu,hostTrack:this.props.tracks[0],onAddDivisor:this.props.onAddDivisor,onAddSeries:c?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:a,position:o,series:this.state.submenuShown,theme:this.props.theme,track:u,trackOrientation:this.props.trackOrientation,trackSourceServers:this.props.trackSourceServers})}return A.default.createElement("div",null)}}]),i}(e));let Kke=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.seriesRefs={},r.seriesListMenu=null,r}return _createClass3(n,[{key:"componentDidMount",value:function(){_get4(_getPrototypeOf4(n.prototype),"componentDidMount",this).call(this)}},{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.div=r},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ConfigTrackMenu",style:{left:this.state.left,top:this.state.top}},YI(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this),null),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onLockValueScale(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Lock Value Scale With"),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onUnlockValueScale(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Unlock Value Scale"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onAddSeries(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Add Series"),A.default.createElement(St,{onClick:()=>this.props.onCloseTrack(this.props.tracks[0].uid)},"Close Track"),A.default.createElement(St,{onClick:()=>{this.props.onReplaceTrack(this.props.tracks[0].uid,this.props.trackOrientation)}},"Replace Track"),this.getSubmenu())}}]),n}(fh(Ms).with(Z$));function Q$(e){return A.default.createElement("div",null,YI(e.tracks,null,null,e.onCloseTrack),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>e.onCloseTrack(e.tracks[0].uid)},"Close all series"))}Q$.propTypes={onCloseTrack:N.exports.func.isRequired,tracks:N.exports.array.isRequired};let Ls=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.clickHandlerBound=r.clickHandler.bind(_assertThisInitialized3(r)),r.contextMenuHandlerBound=r.contextMenuHandler.bind(_assertThisInitialized3(r)),r.resizeHandlerBound=r.resizeHandler.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"componentDidMount",value:function(){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,!0),document.addEventListener("contextmenu",this.contextMenuHandlerBound,!0),window.addEventListener("resize",this.resizeHandlerBound,!0),this._renderLayer()}},{key:"componentDidUpdate",value:function(){this._renderLayer()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.clickHandlerBound,!0),document.removeEventListener("contextmenu",this.contextMenuHandlerBound,!0),window.removeEventListener("resize",this.resizeHandlerBound,!0),Un.default.unmountComponentAtNode(this.popup),document.body.removeChild(this.popup)}},{key:"_renderLayer",value:function(){Un.default.render(this.props.children,this.popup)}},{key:"clickHandler",value:function(r){this.popup.contains(r.target)||this.props.onMenuClosed&&this.props.onMenuClosed(r)}},{key:"contextMenuHandler",value:function(r){r.altKey||(r.preventDefault(),this.clickHandler(r))}},{key:"resizeHandler",value:function(){this.props.onMenuClosed(null)}},{key:"render",value:function(){return A.default.createElement("div",null)}}]),n}(A.default.Component);Ls.defaultProps={onMenuClosed:uR},Ls.propTypes={children:N.exports.node.isRequired,onMenuClosed:N.exports.func};const Zke=FP(e=>A.default.createElement(e9,{className:e.className,controlAlignLeft:e.controlAlignLeft,editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,item:e.item,onAddSeries:e.onAddSeries,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width})),Qke={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function J$(e){return e&&e.sourceEvent}let WI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.brushBehavior=vf().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushed.bind(_assertThisInitialized3(r))).on("end",r.brushedEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,a){if(this.rangeSelectionTriggered)return this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==a;if(this.props.rangeSelection!==r.rangeSelection){const o=this.props.is1dRangeSelection?0:1;return this.moveBrush(r.rangeSelection[o]?r.rangeSelection[o]:null,r.rangeSelectionEnd),this.state!==a}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,zu(this.brushEl,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!J$(r)||!this.props.onRangeSelection||a)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!J$(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!a&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,a=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){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(){const r=this.props.tracks.map(s=>s.width).reduce(es,0),a=this.props.tracks.map(s=>Ld(s)).reduce(Nf,!1),o=Aa[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return A.default.createElement("div",{className:Qke["vertical-tiled-plot"]},a&&A.default.createElement("svg",{ref:s=>{this.brushEl=xt(s)},className:o,style:{height:this.props.height,width:r},xmlns:"http://www.w3.org/2000/svg"}),A.default.createElement(Vy,{axis:"x",className:qt(Sa.list,Sa.stylizedList,Sa.horizontalList),component:B8,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:Sa.stylizedHelper,itemClass:qt(Sa.stylizedItem,Sa.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:Zke,items:this.props.tracks.map(s=>({configMenuVisible:s.uid===this.props.configTrackMenuId,uid:s.uid||Pt.nice(),height:this.props.height,width:s.width,value:s.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:!0,width:r}))}}]),n}(A.default.Component);WI.propTypes={configTrackMenuId:N.exports.string,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,handleSortEnd:N.exports.func,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,height:N.exports.number,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onRangeSelection:N.exports.func,onRangeSelectionEnd:N.exports.func,onRangeSelectionReset:N.exports.func,onRangeSelectionStart:N.exports.func,rangeSelection:N.exports.array,rangeSelectionEnd:N.exports.bool,referenceAncestor:N.exports.func,resizeHandles:N.exports.object,scale:N.exports.func,tracks:N.exports.array,tracksControlAlignLeft:N.exports.bool};let eU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){const r=YI(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this)),a=this.props.customItems?A.default.Children.map(this.props.customItems,o=>A.default.cloneElement(o,{onMouseEnter:s=>{this.handleOtherMouseEnter(s)}})):null;return A.default.createElement("div",{ref:o=>{this.div=o},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},a,a&&A.default.createElement("hr",{className:mt["context-menu-hr"]}),r,r&&A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Rule"),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Rule"),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Cross Rule"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&A.default.createElement(St,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&A.default.createElement(St,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Cross Section"),this.getSubmenu())}},{key:"hasMatrixTrack",value:function(r){return Wg(this.props.tracks).filter(o=>o.type==="heatmap").length>0}},{key:"handleAddHorizontalSection",value:function(){const a=Wg(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),this.props.onAddTrack({data:{type:"horizontal-section",server:a.server,tilesetUid:a.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"})}},{key:"handleAddVerticalSection",value:function(){const a=Wg(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),this.props.onAddTrack({data:{type:"vertical-section",server:a.server,tilesetUid:a.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"})}}]),n}(fh(Ms).with(Z$));eU.propTypes={coords:N.exports.array,customItems:N.exports.array};let qI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;_classCallCheck3(this,n),r=t.call(this,i),r.closing=!1;const{tracks:a}=r.props;return r.canvasElement=null,r.tracksByUidInit={},[...r.props.tracks.top||[],...r.props.tracks.right||[],...r.props.tracks.bottom||[],...r.props.tracks.left||[],...r.props.tracks.gallery||[],...r.props.tracks.center||[]].forEach(o=>{o.type==="combined"?o.contents.forEach(s=>{r.tracksByUidInit[s.uid]=!1}):r.tracksByUidInit[o.uid]=!1}),r.xScale=null,r.yScale=null,r.addUidsToTracks(a),r.trackToReplace=null,r.trackRenderer=null,r.configTrackMenu=null,r.state={sizeMeasured:!1,height:10,width:10,tracks:a,init:!1,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:!1,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null},r.reset=!0,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(o=>{dn[o]=window.higlassTracksByType[o].config}),r.topHeight=0,r.bottomHeight=0,r.leftWidth=0,r.rightWidth=0,r.centerHeight=0,r.centerWidth=0,r.dragTimeout=null,r.previousPropsStr="",r.contextMenuHandlerBound=r.contextMenuHandler.bind(_assertThisInitialized3(r)),r.handleNoTrackAddedBound=r.handleNoTrackAdded.bind(_assertThisInitialized3(r)),r.handleTracksAddedBound=r.handleTracksAdded.bind(_assertThisInitialized3(r)),r.closeMenusBound=r.closeMenus.bind(_assertThisInitialized3(r)),r.handleAddDivisorBound=r.handleAddDivisor.bind(_assertThisInitialized3(r)),r.handleAddSeriesBound=r.handleAddSeries.bind(_assertThisInitialized3(r)),r.handleChangeTrackDataBound=r.handleChangeTrackData.bind(_assertThisInitialized3(r)),r.handleChangeTrackTypeBound=r.handleChangeTrackType.bind(_assertThisInitialized3(r)),r.handleCloseTrackBound=r.handleCloseTrack.bind(_assertThisInitialized3(r)),r.handleConfigureTrackBound=r.handleConfigureTrack.bind(_assertThisInitialized3(r)),r.handleExportTrackDataBound=r.handleExportTrackData.bind(_assertThisInitialized3(r)),r.handleLockValueScaleBound=r.handleLockValueScale.bind(_assertThisInitialized3(r)),r.handleReplaceTrackBound=r.handleReplaceTrack.bind(_assertThisInitialized3(r)),r.handleTrackOptionsChangedBound=r.handleTrackOptionsChanged.bind(_assertThisInitialized3(r)),r.handleUnlockValueScaleBound=r.handleUnlockValueScale.bind(_assertThisInitialized3(r)),r.onAddTrack=r.handleAddTrack.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"waitForDOMAttachment",value:function(r){if(!this.mounted)return;const a=Un.default.findDOMNode(this);document.body.contains(a)?r():requestAnimationFrame(()=>this.waitForDOMAttachment(r))}},{key:"componentDidMount",value:function(){this.mounted=!0,this.element=Un.default.findDOMNode(this),this.canvasElement=Un.default.findDOMNode(this.props.canvasElement),this.waitForDOMAttachment(()=>{ug.ElementQueries.listen(),this.resizeSensor=new ug.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(r){this.addUidsToTracks(r.tracks),this.setState({tracks:r.tracks})}},{key:"shouldComponentUpdate",value:function(r,a){const o=this.previousPropsStr,s=this.updatablePropsToString(r),u=JSON.stringify(this.state),c=JSON.stringify(a),l=o!==s||u!==c||this.props.chooseTrackHandler!==r.chooseTrackHandler||this.props.customDialog!==r.customDialog;l&&(this.previousPropsStr=s);const f=this.numTracks;return this.numTracks=0,Ao(this.props.tracks,()=>this.numTracks++),this.reset=this.reset||f===0&&this.numTracks>0,this.numTracks||(this.tracksByUidInit={}),l}},{key:"UNSAFE_componentWillUpdate",value:function(){}},{key:"componentDidUpdate",value:function(r,a){if(a.rangeSelection!==this.state.rangeSelection){let o=[null,null];this.state.defaultChromSizes&&this.state.rangeSelection.every(s=>s&&s.length)&&(o=this.state.rangeSelection.map(s=>Lg(...s,this.state.defaultChromSizes))),this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange:o})}if(this.state.customDialog||this.props.customDialog){const o=this.state.customDialog||this.props.customDialog;if(o.length>0){const s=[],u=[];o.forEach(c=>{s.push(c.bodyComponent),u.push(c.bodyProps)}),this.props.modal.open(A.default.createElement(jI,{children:s,bodyProps:u,onCancel:this.props.closeCustomDialog,title:o[0].title}))}}if(r.tracks.center,this.props.tracks.center,(this.state.addTrackPosition||this.props.addTrackPosition)&&this.props.modal.open(A.default.createElement(yT,{host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers})),this.state.addDivisorDialog){const o=this.state.addDivisorDialog;this.props.modal.open(A.default.createElement(yT,{datatype:dn[o.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null})},onTracksChosen:s=>{this.handleDivisorChosen(o,s)},trackSourceServers:this.props.trackSourceServers}))}}},{key:"componentWillUnmount",value:function(){this.closing=!0,this.removeEventListeners(),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r))}},{key:"addUidsToTracks",value:function(r){Object.keys(r).forEach(a=>{r[a].forEach(o=>{o.uid=o.uid||Pt.nice()})})}},{key:"contextMenuHandler",value:function(r){if(!this.divTiledPlot)return;const a=this.divTiledPlot.getBoundingClientRect();if(!_b(r.clientX,r.clientY,a.left,a.left+a.width,a.top,a.top+a.height))return;const s=[r.clientX,r.clientY],u=sn(r,this.divTiledPlot),c=this.trackRenderer.zoomedXScale.invert(u[0]),l=this.trackRenderer.zoomedYScale.invert(u[1]);let f=null;r.hgCustomItems&&(f=r.hgCustomItems.map(h=>A.default.createElement(St,{key:h.key,onClick:h.onClick},h.text))),this.setState({contextMenuCustomItems:f,contextMenuPosition:{left:s[0],top:s[1],canvasLeft:u[0]+this.trackRenderer.xPositionOffset,canvasTop:u[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:c,contextMenuDataY:l})}},{key:"measureSize",value:function(){this.element.clientWidth>0&&this.element.clientHeight>0&&this.setState({sizeMeasured:!0,width:this.element.clientWidth,height:this.element.clientHeight})}},{key:"handleTrackOptionsChanged",value:function(r,a){return this.props.onTrackOptionsChanged(r,a)}},{key:"handleScalesChanged",value:function(r,a){this.xScale=r,this.yScale=a,this.props.onScalesChanged(r,a)}},{key:"handleTilesetInfoReceived",value:function(r,a){const o=Ci(this.props.tracks,r);if(!o){console.warn("Strange, track not found:",r);return}this.tracksByUidInit[o.uid]=!0,this.checkAllTilesetInfoReceived(),o.options||(o.options={}),o.name=a.name,o.maxWidth=a.max_width,o.transforms=a.transforms,o.aggregationModes=a.aggregation_modes,o.header=a.header,o.binsPerDimension=a.bins_per_dimension,a.resolutions?(o.maxZoom=a.resolutions.length-1,o.resolutions=a.resolutions):o.maxZoom=a.max_zoom,o.coordSystem=a.coordSystem,o.datatype=a.datatype}},{key:"checkAllTilesetInfoReceived",value:function(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit())return;const r=Object.keys(this.trackRenderer.trackDefObjects).map(o=>{const s=this.trackRenderer.trackDefObjects[o].trackObject;return s.childTracks?s.childTracks:s}).reduce((o,s)=>o.concat(s),[]).filter(({tilesetInfo:o})=>typeof o<"u"&&o!==!0),a=Object.values(this.tracksByUidInit).filter(o=>o).length;r.length===a&&(this.setState({init:!0}),this.reset=!1,this.handleZoomToData())}},{key:"handleOverlayMouseEnter",value:function(r){this.setState({mouseOverOverlayUid:r})}},{key:"handleOverlayMouseLeave",value:function(r){r===this.state.mouseOverOverlayUid&&this.setState({mouseOverOverlayUid:null})}},{key:"handleTrackPositionChosen",value:function(r){this.setState({mouseOverOverlayUid:null}),this.props.chooseTrackHandler(r.track.uid)}},{key:"handleNoTrackAdded",value:function(){this.trackToReplace=null,this.props.onNoTrackAdded(),this.setState({addTrackPosition:null,addTrackHost:null})}},{key:"handleAddDivisor",value:function(r){this.setState({addDivisorDialog:r})}},{key:"handleDivisorChosen",value:function(r,a){this.setState({addDivisorDialog:null});const o=r.data?{server:r.data.server,tilesetUid:r.data.tilesetUid}:{server:r.server,tilesetUid:r.tilesetUid},s={server:a[0].server,tilesetUid:a[0].uuid};this.handleChangeTrackData(r.uid,{type:"divided",children:[o,s]})}},{key:"handleDivideSeries",value:function(r){}},{key:"handleAddSeries",value:function(r){const a=Of(this.props.tracks,r),o=Ci(this.props.tracks,r);this.setState({addTrackPosition:a,addTrackHost:o})}},{key:"handleReplaceTrack",value:function(r,a){this.trackToReplace=r,this.handleAddTrack(a)}},{key:"handleAddTrack",value:function(r){this.setState({addTrackPosition:r,addTrackHost:null})}},{key:"handleResizeTrack",value:function(r,a,o){const{tracks:s}=this.state;for(const u in s){const l=s[u].filter(f=>f.uid===r);l.length>0&&(l[0].width=a,l[0].height=o)}this.setState({tracks:s,forceUpdate:Math.random()}),this.props.onResizeTrack()}},{key:"closeMenus",value:function(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null})}},{key:"handleLockValueScale",value:function(r){this.closeMenus(),this.props.onLockValueScale(r)}},{key:"handleUnlockValueScale",value:function(r){this.closeMenus(),this.props.onUnlockValueScale(r)}},{key:"handleCloseTrack",value:function(r){this.closeMenus(),this.props.onCloseTrack(r)}},{key:"handleChangeTrackType",value:function(r,a){this.closeMenus(),this.props.onChangeTrackType(r,a)}},{key:"handleChangeTrackData",value:function(r,a){this.closeMenus(),this.props.onChangeTrackData(r,a)}},{key:"handleTracksAdded",value:function(r,a,o){return this.trackToReplace&&(this.handleCloseTrack(this.trackToReplace),this.trackToReplace=null),this.props.onTracksAdded(r,a,o),this.setState({addTrackPosition:null,addTrackHost:null}),r}},{key:"handleCloseTrackMenuOpened",value:function(r,a){this.setState({closeTrackMenuId:r,closeTrackMenuLocation:a})}},{key:"handleCloseContextMenu",value:function(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null})}},{key:"handleCloseTrackMenuClosed",value:function(){this.setState({closeTrackMenuId:null})}},{key:"handleConfigTrackMenuOpened",value:function(r,a){this.closeMenus(),this.setState({configTrackMenuId:r,configTrackMenuLocation:a})}},{key:"handleConfigureTrack",value:function(r,a){this.setState({configTrackMenuId:null,trackOptions:{track:r,configComponent:a}}),this.closeMenus()}},{key:"handleSortEnd",value:function(r){this.setState(a=>{const o=a.tracks,s={};for(let u=0;u<r.length;u++)s[r[u].uid]=u;for(const u in o){const c=o[u];if(!!c.length&&c[0].uid in s){const l=new Array(c.length);for(let f=0;f<c.length;f++)l[s[c[f].uid]]=c[f];o[u]=l}}return{tracks:o,forceUpdate:Math.random()}})}},{key:"createTracksAndLocations",value:function(){const r=[],{tracks:a}=this.state;return mb.forEach(o=>{a[o]&&a[o].forEach(s=>{s.contents&&s.contents.forEach(u=>{u.position=o}),s.position=o,r.push({track:s,location:o})})}),r}},{key:"calculateTrackPosition",value:function(r,a){let o=this.props.paddingTop,s=this.props.paddingBottom,u=this.props.paddingLeft,c=this.props.paddingRight,l=this.centerWidth,f=r.height,h=0,d=0;switch(a){case"top":u+=this.leftWidth;for(let p=0;p<this.state.tracks.top.length&&this.state.tracks.top[p].uid!==r.uid;p++)o+=this.state.tracks.top[p].height;break;case"bottom":u+=this.leftWidth,o+=this.topHeight+this.centerHeight+this.galleryDim;for(let p=0;p<this.state.tracks.bottom.length&&this.state.tracks.bottom[p].uid!==r.uid;p++)o+=this.state.tracks.bottom[p].height;break;case"left":o+=this.topHeight,l=r.width,f=this.centerHeight;for(let p=0;p<this.state.tracks.left.length&&this.state.tracks.left[p].uid!==r.uid;p++)u+=this.state.tracks.left[p].width;break;case"right":u+=this.leftWidth+this.centerWidth+this.galleryDim,o+=this.topHeight,l=r.width,f=this.centerHeight;for(let p=0;p<this.state.tracks.right.length&&this.state.tracks.right[p].uid!==r.uid;p++)u+=this.state.tracks.right[p].width;break;case"center":u+=this.leftWidth,o+=this.topHeight,f=this.centerHeight;break;case"gallery":u+=this.leftWidthNoGallery,o+=this.topHeightNoGallery,l=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft,f=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop,h=this.galleryDim,d=this.galleryDim;for(let p=0;p<this.state.tracks.gallery.length&&this.state.tracks.gallery[p].uid!==r.uid;p++)l-=2*this.state.tracks.gallery[p].height,f-=2*this.state.tracks.gallery[p].height,u+=this.state.tracks.gallery[p].height,o+=this.state.tracks.gallery[p].height,h-=this.state.tracks.gallery[p].height,d-=this.state.tracks.gallery[p].height;for(let p=0;p<this.state.tracks.right.length;p++)c+=this.state.tracks.right[p].width;for(let p=0;p<this.state.tracks.bottom.length;p++)s+=this.state.tracks.bottom[p].height;r.offsetX=h,r.offsetY=d,r.offsetTop=o,r.offsetRight=c,r.offsetBottom=s,r.offsetLeft=u;break;case"whole":default:l=this.leftWidth+this.centerWidth+this.rightWidth,f=this.topHeight+this.centerHeight+this.bottomHeight}return mb.indexOf(a)===-1&&console.warn("Track with unknown position present:",a,r),{left:u,top:o,width:l,height:f,track:r}}},{key:"findCentralHeatmapTrack",value:function(r){for(let a=0;a<r.length;a++){if(r[a].type==="combined")return this.findCentralHeatmapTrack(r[a].contents);if(r[a].type==="heatmap")return r[a]}}},{key:"trackUuidToOrientation",value:function(r){}},{key:"overlayTracks",value:function(r){return this.props.overlays?this.props.overlays.filter(o=>o.includes&&o.includes.length).map(o=>{const s=o.type?`overlay-${o.type}-track`:"overlay-track",u={...o,uid:o.uid||Pt.nice(),includes:o.includes,type:s,options:Object.assign(o.options,{orientationsAndPositions:o.includes.map(c=>{const l=Ci(this.props.tracks,c);if(!l)return console.warn(`OverlayTrack included uid (${c}) not found in the track list`),null;const f=Of(this.props.tracks,l.uid);let h;if((f==="top"||f==="bottom")&&(h="1d-horizontal"),(f==="left"||f==="right")&&(h="1d-vertical"),f==="center"&&(h="2d"),!h)return console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment"),null;const d=r.filter(m=>m.track.uid===c);if(!d.length)return null;const p={left:d[0].left-this.props.paddingLeft,top:d[0].top-this.props.paddingTop,width:d[0].width,height:d[0].height};return{orientation:h,position:p}}).filter(c=>c)})};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:u}}):[]}},{key:"positionedTracks",value:function(){return this.createTracksAndLocations().map(({track:a,location:o})=>this.calculateTrackPosition(a,o))}},{key:"createTrackPositionTexts",value:function(){const r=this.positionedTracks();return this.createTracksAndLocations(),r.map(o=>{const{track:s}=o;return A.default.createElement("div",{key:s.uid,style:{left:o.left,top:o.top,width:o.width,height:o.height,position:"absolute"}},s.uid.slice(0,2))})}},{key:"handleExportTrackData",value:function(r,a){const o=Ci(this.props.tracks,a);let s=null;r!==a?s=this.trackRenderer.trackDefObjects[r].trackObject.createdTracks[o.uid]:{trackObject:s}=this.trackRenderer.trackDefObjects[r],s.exportData(),this.closeMenus()}},{key:"listTracksAtPosition",value:function(r,a,o=!1){const s=[];if(!this.trackRenderer)return[];for(const u in this.trackRenderer.trackDefObjects){const c=this.trackRenderer.trackDefObjects[u].trackObject;if(c.respondsToPosition(r,a))if(o){if(this.props.tracks.center)if(this.props.tracks.center.contents)for(let l=0;l<this.props.tracks.center.contents.length;l++)this.props.tracks.center.contents[l].uid===u&&(c.is2d=!0);else this.props.tracks.center&&this.props.tracks.center.length&&this.props.tracks.center[0].uid===u&&(c.is2d=!0);s.push(c)}else s.push(this.trackRenderer.trackDefObjects[u].trackDef.track)}return s}},{key:"listAllTrackObjects",value:function(){const r=[];for(const a in this.trackRenderer.trackDefObjects){const o=this.trackRenderer.trackDefObjects[a];if(o.trackObject.createdTracks)for(const s in o.trackObject.createdTracks){const u=o.trackObject.createdTracks[s];r.push(u)}else r.push(o.trackObject)}return r}},{key:"handleZoomToData",value:function(){const r=Number.MAX_SAFE_INTEGER,a=Number.MIN_SAFE_INTEGER,o=[r,r],s=[a,a],u=this.listAllTrackObjects();for(const d of u)if(d.tilesetInfo&&d.tilesetInfo.min_pos)for(let p=0;p<d.tilesetInfo.min_pos.length;p++)d.tilesetInfo.min_pos[p]<o[p]&&(o[p]=d.tilesetInfo.min_pos[p]),d.tilesetInfo.max_pos[p]>s[p]&&(s[p]=d.tilesetInfo.max_pos[p]);const c=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let l=[c,c+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const f=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let h=[f,f+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(),o[0]<Number.MAX_SAFE_INTEGER&&s[0]>Number.MIN_SAFE_INTEGER&&(l=[o[0],s[0]]),o[1]<Number.MAX_SAFE_INTEGER&&s[1]>Number.MIN_SAFE_INTEGER&&(h=[o[1],s[1]]),this.props.onDataDomainChanged(l,h)}},{key:"resetViewport",value:function(){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(r){return JSON.stringify({tracks:r.tracks,overlays:r.overlays,viewOptions:r.viewOptions,uid:r.uid,addTrackPosition:r.addTrackPosition,editable:r.editable,marginTop:r.marginTop,marginBottom:r.marginBottom,marginLeft:r.marginLeft,marginRight:r.marginRight,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:r.paddingLeft,paddingRight:r.paddingRight,mouseTool:r.mouseTool,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,trackSourceServers:r.trackSourceServers,zoomable:r.zoomable,draggingHappening:r.draggingHappening})}},{key:"getXYScales",value:function(){this.trackRenderer&&(this.xScale=this.trackRenderer.currentXScale,this.yScale=this.trackRenderer.currentYScale)}},{key:"rangeViewToDataLoci",value:function(r,a){return a?[parseInt(a.invert(r[0]),10),parseInt(a.invert(r[1]),10)]:[null,null]}},{key:"rangeSelectionResetHandler",value:function(){this.state.rangeSelectionMaster&&this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:!1})}},{key:"rangeSelection1dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=r==="x"?this.xScale:this.yScale;return o=>{this.setState(s=>{const u=s.is1dRangeSelection?[null,null]:s.rangeSelection.slice(),c=!this.state.is1dRangeSelection&&r==="y"?1:0;let l=this.rangeViewToDataLoci(o,a);const f=l[1]-l[0];if(this.props.rangeSelection1dSize[0]>f){const h=l[0]+f/2;l=[h-this.props.rangeSelection1dSize[0]/2,h+this.props.rangeSelection1dSize[0]/2]}else if(this.props.rangeSelection1dSize[1]<f){const h=l[0]+f/2;l=[h-this.props.rangeSelection1dSize[1]/2,h+this.props.rangeSelection1dSize[1]/2]}return u[c]=l,this.props.rangeSelectionToInt&&(u[c]=u[c].map(h=>Math.round(h))),{rangeSelection:u,rangeSelectionEnd:!0}})}}},{key:"rangeSelection1dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=r==="x"?this.xScale:this.yScale;return o=>{this.setState(s=>{const u=s.is1dRangeSelection?[null,null]:s.rangeSelection.slice(),c=!s.is1dRangeSelection&&r==="y"?1:0;return u[c]=this.rangeViewToDataLoci(o,a),{rangeSelection:u,rangeSelectionEnd:!1}})}}},{key:"rangeSelection1dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!0,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales(),this.setState({rangeSelection:[this.rangeViewToDataLoci(r[0],this.xScale),this.rangeViewToDataLoci(r[1],this.yScale)],rangeSelectionEnd:!1})}},{key:"rangeSelection2dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!1,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=this.rangeViewToDataLoci(r[0],this.xScale),o=this.rangeViewToDataLoci(r[1],this.yScale);let s=[a,o];const u=a[1]-a[0],c=o[1]-o[0],l=[u,c];s.forEach((f,h)=>{if(this.props.rangeSelection1dSize[0]>l[h]){const d=f[0]+Math.round(l[h]/2);f[0]=d-this.props.rangeSelection1dSize[0]/2,f[1]=d+this.props.rangeSelection1dSize[0]/2}else if(this.props.rangeSelection1dSize[1]<l[h]){const d=f[0]+Math.round(l[h]/2);f[0]=d-this.props.rangeSelection1dSize[1]/2,f[1]=d+this.props.rangeSelection1dSize[1]/2}}),this.props.rangeSelectionToInt&&(s=s.map(f=>f.map(h=>Math.round(h)))),this.setState({rangeSelection:s,rangeSelectionEnd:!0})}},{key:"getContextMenu",value:function(){if(this.state.contextMenuPosition){const r=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return A.default.createElement(Ls,{onMenuClosed:this.closeMenusBound},A.default.createElement(eU,{closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:a=>{this.props.onTracksAdded([a],a.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:r,trackSourceServers:this.props.trackSourceServers}))}return null}},{key:"getIdealizedTrackPositionsOverlay",value:function(){const r=this.props.draggingHappening,a=r.datatype;if(!(a in sp)&&!r.defaultTracks){console.warn("unknown data type:",r.higlassTrack);return}const o={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]},s=sp[a]||{};if(r.defaultTracks)for(const k of r.defaultTracks)if(!dn[k])console.warn("unknown track type",k);else for(const L of o[dn[k].orientation])s[L]=k;const u=new Set(["top","left","right","center","bottom"].filter(k=>k in this.state.tracks&&this.state.tracks[k].length)),c="top"in s,l="left"in s,f="right"in s,h="bottom"in s,d="center"in s,p="center"in s||u.has("left")||u.has("right")||u.has("center"),m="top"in s,g="bottom"in s&&p,v="left"in s&&p,E="right"in s&&p,y=Object.keys(s).length&&("center"in s||p),T=A.default.createElement("div",{style:{flexGrow:1}}),b=A.default.cloneElement(T),S=A.default.createElement("div",{style:{display:"flex",flexGrow:1}},m&&(y||v)?T:null,A.default.createElement(gT,{defaultTrackType:s.top,draggingHappening:this.props.draggingHappening,enabled:c,onTrackDropped:k=>this.handleTracksAdded([k],"top"),style:{border:"1px solid black",flexGrow:1}}),m&&(y||v)?b:null),I=A.default.createElement("div",{style:{display:"flex",flexGrow:1}},m&&(y||v)?T:null,A.default.createElement(gT,{defaultTrackType:s.bottom,draggingHappening:this.props.draggingHappening,enabled:h,onTrackDropped:k=>this.handleTracksAdded([k],"bottom"),style:{border:"1px solid black",flexGrow:1}}),m&&(y||v)?b:null),D=A.default.createElement(gT,{defaultTrackType:s.left,draggingHappening:this.props.draggingHappening,enabled:l,onTrackDropped:k=>this.handleTracksAdded([k],"left"),style:{border:"1px solid black",flexGrow:1}}),R=A.default.createElement(gT,{defaultTrackType:s.center,draggingHappening:this.props.draggingHappening,enabled:d,onTrackDropped:k=>this.handleTracksAdded([k],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}}),M=A.default.cloneElement(D,{defaultTrackType:s.right,enabled:f,onTrackDropped:k=>this.handleTracksAdded([k],"right")});return A.default.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},A.default.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:.4}}),A.default.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},m?S:null,p&&A.default.createElement("div",{style:{display:"flex",height:m||g?"40%":"100%",width:"100%"}},v?D:null,y?R:null,E?M:null),g?I:null))}},{key:"render",value:function(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(y=>y.height).reduce(es,0):0,this.topHeightNoGallery=this.props.tracks.top.map(y=>y.height).reduce(es,0),this.topHeight=this.topHeightNoGallery+this.galleryDim,this.bottomHeightNoGallery=this.props.tracks.bottom.map(y=>y.height).reduce(es,0),this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim,this.leftWidthNoGallery=this.props.tracks.left.map(y=>y.width).reduce(es,0),this.leftWidth=this.leftWidthNoGallery+this.galleryDim,this.rightWidthNoGallery=this.props.tracks.right.map(y=>y.width).reduce(es,0),this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const r=this.props.paddingTop+this.props.paddingBottom,a=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(0,this.state.height-this.topHeight-this.bottomHeight-r),this.centerWidth=Math.max(0,this.state.width-this.leftWidth-this.rightWidth-a);const o="none",s=A.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:o,position:"absolute"}},A.default.createElement(qy,{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===zi,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:new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth})),u=A.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:o,position:"absolute"}},A.default.createElement(WI,{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===zi,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:new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left})),c=A.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:o,position:"absolute"}},A.default.createElement(WI,{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===zi,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:new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:!0})),l=A.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:o,position:"absolute"}},A.default.createElement(qy,{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===zi,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:new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth})),f=A.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:o,position:"absolute"}},A.default.createElement(z$,{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 h=A.default.createElement("div",{className:["center-track-container",HI["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:o}});this.props.tracks.center.length&&(h=A.default.createElement("div",{className:["center-track-container",HI["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:o}},A.default.createElement($I,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===zi,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 d=this.positionedTracks();d=d.concat(this.overlayTracks(d));let p=null;this.state.sizeMeasured&&(p=A.default.createElement(Yke,{ref:y=>{this.trackRenderer=y,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===zi,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:d,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},s,u,c,l,f,h));let m=null,g=null;this.state.configTrackMenuId&&(m=A.default.createElement(Ls,{onMenuClosed:this.closeMenusBound},A.default.createElement(Kke,{ref:y=>{this.configTrackMenu=y},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:Of(this.props.tracks,this.state.configTrackMenuId),tracks:[Ci(this.props.tracks,this.state.configTrackMenuId)]}))),this.state.closeTrackMenuId&&(g=A.default.createElement(Ls,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},A.default.createElement(Ms,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},A.default.createElement(Q$,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[Ci(this.props.tracks,this.state.closeTrackMenuId)]}))));let v=null;this.props.chooseTrackHandler&&(v=d.filter(y=>y.track.position!=="whole").map(y=>{let T="transparent",b="none";return this.state.mouseOverOverlayUid===y.track.uid&&(T="yellow",b="1px solid black"),A.default.createElement("div",{key:y.track.uid,className:"tiled-plot-track-overlay",onClick:()=>this.handleTrackPositionChosen(y),onDragEnter:S=>{this.handleOverlayMouseEnter(y.track.uid),S.preventDefault()},onDragLeave:()=>this.handleOverlayMouseLeave(y.track.uid),onDragOver:S=>S.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(y),onMouseEnter:()=>this.handleOverlayMouseEnter(y.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(y.track.uid),style:{position:"absolute",left:y.left,top:y.top,width:y.width,height:y.height,background:T,opacity:.4,border:b,zIndex:1}})}));let E=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const y=this.state.trackOptions.configComponent,T=this.state.trackOptions.track;E=A.default.createElement(y,{track:T,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null})},onTrackOptionsChanged:b=>b,onSubmit:b=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,b),this.setState({trackOptions:null})}})}return A.default.createElement("div",{ref:y=>{this.divTiledPlot=y},className:["tiled-plot-div",Sa["tiled-plot"]].join(" "),style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},p,v,m,g,E,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay())}},{key:"addEventListeners",value:function(){this.eventListeners=[],this.eventListeners.forEach(r=>document.addEventListener(r.name,r.callback,!1))}},{key:"removeEventListeners",value:function(){this.eventListeners.forEach(r=>document.removeEventListener(r.name,r.callback))}}]),n}(A.default.Component);qI.defaultProps={isShowGlobalMousePosition:!1,pluginDataFetchers:{},pluginTracks:{},metaTracks:[],zoomable:!0},qI.propTypes={addTrackPosition:N.exports.string,canvasElement:N.exports.object,chooseTrackHandler:N.exports.func,chromInfoPath:N.exports.string,disableTrackMenu:N.exports.bool,dragging:N.exports.bool,draggingHappening:N.exports.bool,editable:N.exports.bool,getLockGroupExtrema:N.exports.func,initialXDomain:N.exports.array,initialYDomain:N.exports.array,isShowGlobalMousePosition:N.exports.bool,isValueScaleLocked:N.exports.func,marginBottom:N.exports.number.isRequired,marginLeft:N.exports.number.isRequired,marginRight:N.exports.number.isRequired,marginTop:N.exports.number.isRequired,paddingBottom:N.exports.number.isRequired,paddingLeft:N.exports.number.isRequired,paddingRight:N.exports.number.isRequired,paddingTop:N.exports.number.isRequired,metaTracks:N.exports.array,modal:N.exports.object,mouseTool:N.exports.string,onCloseTrack:N.exports.func,onChangeTrackData:N.exports.func,onChangeTrackType:N.exports.func,onDataDomainChanged:N.exports.func,onLockValueScale:N.exports.func,onMouseMoveZoom:N.exports.func,onNewTilesLoaded:N.exports.func,onNoTrackAdded:N.exports.func,onRangeSelection:N.exports.func.isRequired,onScalesChanged:N.exports.func,onTrackOptionsChanged:N.exports.func,onTrackPositionChosen:N.exports.func,onTracksAdded:N.exports.func,onUnlockValueScale:N.exports.func,onValueScaleChanged:N.exports.func,onResizeTrack:N.exports.func,overlays:N.exports.array,openModal:N.exports.func,pixiRenderer:N.exports.object,pixiStage:N.exports.object,pluginDataFetchers:N.exports.object,pluginTracks:N.exports.object,pubSub:N.exports.object.isRequired,rangeSelection1dSize:N.exports.array,rangeSelectionToInt:N.exports.bool,registerDraggingChangedListener:N.exports.func,removeDraggingChangedListener:N.exports.func,setCentersFunction:N.exports.func,svgElement:N.exports.object,theme:N.exports.symbol.isRequired,tracks:N.exports.object,trackSourceServers:N.exports.array,uid:N.exports.string,viewOptions:N.exports.object,xDomainLimits:N.exports.array,yDomainLimits:N.exports.array,zoomable:N.exports.bool,zoomLimits:N.exports.array,zoomToDataExtentOnInit:N.exports.func};const Jke=dh(Sv(hl(qI)));var tU={exports:{}},eOe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tOe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},nOe=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;function rOe(e){var t=void 0,n=void 0,i=void 0,r=e.ownerDocument,a=r.body,o=r&&r.documentElement;return t=e.getBoundingClientRect(),n=t.left,i=t.top,n-=o.clientLeft||a.clientLeft||0,i-=o.clientTop||a.clientTop||0,{left:n,top:i}}function nU(e,t){var n=e["page"+(t?"Y":"X")+"Offset"],i="scroll"+(t?"Top":"Left");if(typeof n!="number"){var r=e.document;n=r.documentElement[i],typeof n!="number"&&(n=r.body[i])}return n}function XI(e){return nU(e)}function KI(e){return nU(e,!0)}function rU(e){var t=rOe(e),n=e.ownerDocument,i=n.defaultView||n.parentWindow;return t.left+=XI(i),t.top+=KI(i),t}function iOe(e,t,n){var i="",r=e.ownerDocument,a=n||r.defaultView.getComputedStyle(e,null);return a&&(i=a.getPropertyValue(t)||a[t]),i}var aOe=new RegExp("^("+nOe+")(?!px)[a-z%]+$","i"),oOe=/^(top|right|bottom|left)$/,ZI="currentStyle",QI="runtimeStyle",au="left",sOe="px";function lOe(e,t){var n=e[ZI]&&e[ZI][t];if(aOe.test(n)&&!oOe.test(t)){var i=e.style,r=i[au],a=e[QI][au];e[QI][au]=e[ZI][au],i[au]=t==="fontSize"?"1em":n||0,n=i.pixelLeft+sOe,i[au]=r,e[QI][au]=a}return n===""?"auto":n}var ou=void 0;typeof window<"u"&&(ou=window.getComputedStyle?iOe:lOe);function JI(e,t){for(var n=0;n<e.length;n++)t(e[n])}function iU(e){return ou(e,"boxSizing")==="border-box"}var uOe=["margin","border","padding"],ew=-1,cOe=2,tw=1,hOe=0;function fOe(e,t,n){var i={},r=e.style,a=void 0;for(a in t)t.hasOwnProperty(a)&&(i[a]=r[a],r[a]=t[a]);n.call(e);for(a in t)t.hasOwnProperty(a)&&(r[a]=i[a])}function rm(e,t,n){var i=0,r=void 0,a=void 0,o=void 0;for(a=0;a<t.length;a++)if(r=t[a],r)for(o=0;o<n.length;o++){var s=void 0;r==="border"?s=r+n[o]+"Width":s=r+n[o],i+=parseFloat(ou(e,s))||0}return i}function TT(e){return e!=null&&e==e.window}var co={};JI(["Width","Height"],function(e){co["doc"+e]=function(t){var n=t.document;return Math.max(n.documentElement["scroll"+e],n.body["scroll"+e],co["viewport"+e](n))},co["viewport"+e]=function(t){var n="client"+e,i=t.document,r=i.body,a=i.documentElement,o=a[n];return i.compatMode==="CSS1Compat"&&o||r&&r[n]||o}});function aU(e,t,n){if(TT(e))return t==="width"?co.viewportWidth(e):co.viewportHeight(e);if(e.nodeType===9)return t==="width"?co.docWidth(e):co.docHeight(e);var i=t==="width"?["Left","Right"]:["Top","Bottom"],r=t==="width"?e.offsetWidth:e.offsetHeight;ou(e);var a=iU(e),o=0;(r==null||r<=0)&&(r=void 0,o=ou(e,t),(o==null||Number(o)<0)&&(o=e.style[t]||0),o=parseFloat(o)||0),n===void 0&&(n=a?tw:ew);var s=r!==void 0||a,u=r||o;if(n===ew)return s?u-rm(e,["border","padding"],i):o;if(s){var c=n===cOe?-rm(e,["border"],i):rm(e,["margin"],i);return u+(n===tw?0:c)}return o+rm(e,uOe.slice(n),i)}var dOe={position:"absolute",visibility:"hidden",display:"block"};function oU(e){var t=void 0,n=arguments;return e.offsetWidth!==0?t=aU.apply(void 0,n):fOe(e,dOe,function(){t=aU.apply(void 0,n)}),t}function Hh(e,t,n){var i=n;if((typeof t>"u"?"undefined":tOe(t))==="object"){for(var r in t)t.hasOwnProperty(r)&&Hh(e,r,t[r]);return}if(typeof i<"u"){typeof i=="number"&&(i+="px"),e.style[t]=i;return}return ou(e,t)}JI(["width","height"],function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);co["outer"+t]=function(i,r){return i&&oU(i,e,r?hOe:tw)};var n=e==="width"?["Left","Right"]:["Top","Bottom"];co[e]=function(i,r){if(r!==void 0){if(i){ou(i);var a=iU(i);return a&&(r+=rm(i,["padding","border"],n)),Hh(i,e,r)}return}return i&&oU(i,e,ew)}});function pOe(e,t){Hh(e,"position")==="static"&&(e.style.position="relative");var n=rU(e),i={},r=void 0,a=void 0;for(a in t)t.hasOwnProperty(a)&&(r=parseFloat(Hh(e,a))||0,i[a]=r+t[a]-n[a]);Hh(e,i)}var mOe=eOe({getWindow:function(t){var n=t.ownerDocument||t;return n.defaultView||n.parentWindow},offset:function(t,n){if(typeof n<"u")pOe(t,n);else return rU(t)},isWindow:TT,each:JI,css:Hh,clone:function(t){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);var r=t.overflow;if(r)for(var i in t)t.hasOwnProperty(i)&&(n.overflow[i]=t.overflow[i]);return n},scrollLeft:function(t,n){if(TT(t)){if(n===void 0)return XI(t);window.scrollTo(n,KI(t))}else{if(n===void 0)return t.scrollLeft;t.scrollLeft=n}},scrollTop:function(t,n){if(TT(t)){if(n===void 0)return KI(t);window.scrollTo(XI(t),n)}else{if(n===void 0)return t.scrollTop;t.scrollTop=n}},viewportWidth:0,viewportHeight:0},co),En=mOe;function gOe(e,t,n){n=n||{},t.nodeType===9&&(t=En.getWindow(t));var i=n.allowHorizontalScroll,r=n.onlyScrollIfNeeded,a=n.alignWithTop,o=n.alignWithLeft,s=n.offsetTop||0,u=n.offsetLeft||0,c=n.offsetBottom||0,l=n.offsetRight||0;i=i===void 0?!0:i;var f=En.isWindow(t),h=En.offset(e),d=En.outerHeight(e),p=En.outerWidth(e),m=void 0,g=void 0,v=void 0,E=void 0,y=void 0,T=void 0,b=void 0,S=void 0,I=void 0,D=void 0;f?(b=t,D=En.height(b),I=En.width(b),S={left:En.scrollLeft(b),top:En.scrollTop(b)},y={left:h.left-S.left-u,top:h.top-S.top-s},T={left:h.left+p-(S.left+I)+l,top:h.top+d-(S.top+D)+c},E=S):(m=En.offset(t),g=t.clientHeight,v=t.clientWidth,E={left:t.scrollLeft,top:t.scrollTop},y={left:h.left-(m.left+(parseFloat(En.css(t,"borderLeftWidth"))||0))-u,top:h.top-(m.top+(parseFloat(En.css(t,"borderTopWidth"))||0))-s},T={left:h.left+p-(m.left+v+(parseFloat(En.css(t,"borderRightWidth"))||0))+l,top:h.top+d-(m.top+g+(parseFloat(En.css(t,"borderBottomWidth"))||0))+c}),y.top<0||T.top>0?a===!0?En.scrollTop(t,E.top+y.top):a===!1?En.scrollTop(t,E.top+T.top):y.top<0?En.scrollTop(t,E.top+y.top):En.scrollTop(t,E.top+T.top):r||(a=a===void 0?!0:!!a,a?En.scrollTop(t,E.top+y.top):En.scrollTop(t,E.top+T.top)),i&&(y.left<0||T.left>0?o===!0?En.scrollLeft(t,E.left+y.left):o===!1?En.scrollLeft(t,E.left+T.left):y.left<0?En.scrollLeft(t,E.left+y.left):En.scrollLeft(t,E.left+T.left):r||(o=o===void 0?!0:!!o,o?En.scrollLeft(t,E.left+y.left):En.scrollLeft(t,E.left+T.left)))}var vOe=gOe;(function(e){e.exports=vOe})(tU);const yOe=UT(tU.exports),im=[];let nw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={highlightedIndex:null,menuTop:0,menuLeft:0,menuWidth:0,isOpen:!1},r.keyDownHandlers={ArrowDown(a){a.preventDefault();const o=this.getFilteredItems().length;if(!o)return;const{highlightedIndex:s}=this.state,u=s===null||s===o-1?0:s+1;this._performAutoCompleteOnKeyUp=!0,this.setState({highlightedIndex:u,isOpen:!0})},ArrowUp(a){a.preventDefault();const o=this.getFilteredItems().length;if(!o)return;const{highlightedIndex:s}=this.state,u=s===0||s===null?o-1:s-1;this._performAutoCompleteOnKeyUp=!0,this.setState({highlightedIndex:u,isOpen:!0})},Enter(a){if(this.state.isOpen!==!1)if(this.state.highlightedIndex===null)this.setState({isOpen:!1},()=>{this.inputEl.select()});else{a.preventDefault();const o=this.getFilteredItems()[this.state.highlightedIndex],s=this.props.getItemValue(o);this.setState({isOpen:!1,highlightedIndex:null},()=>{this.inputEl.setSelectionRange(s.length,s.length),this.props.onSelect(s,o)})}},Escape(){this.setState({highlightedIndex:null,isOpen:!1})}},r}return _createClass3(n,[{key:"getInitialState",value:function(){return{isOpen:!1,highlightedIndex:null}}},{key:"UNSAFE_componentWillMount",value:function(){this._ignoreBlur=!1,this._performAutoCompleteOnUpdate=!1,this._performAutoCompleteOnKeyUp=!1}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this._performAutoCompleteOnUpdate=!0,(this.props.items!==r.items||this.state.highlightedIndex>=r.items.length)&&this.setState({highlightedIndex:null})}},{key:"componentDidUpdate",value:function(r,a){this.state.isOpen===!0&&a.isOpen===!1&&this.setMenuPositions(),this.state.isOpen&&this._performAutoCompleteOnUpdate&&(this._performAutoCompleteOnUpdate=!1,this.maybeAutoCompleteText()),this.maybeScrollItemIntoView(),a.isOpen!==this.state.isOpen&&this.props.onMenuVisibilityChange(this.state.isOpen,this.inputEl)}},{key:"maybeScrollItemIntoView",value:function(){if(this.state.isOpen===!0&&this.state.highlightedIndex!==null){const r=this.refs[`item-${this.state.highlightedIndex}`],a=this.refs.menu;r&&yOe(gn.findDOMNode(r),gn.findDOMNode(a),{onlyScrollIfNeeded:!0})}}},{key:"handleKeyDown",value:function(r){this.keyDownHandlers[r.key]?this.keyDownHandlers[r.key].call(this,r):this.setState({highlightedIndex:null,isOpen:!0})}},{key:"handleChange",value:function(r){this._performAutoCompleteOnKeyUp=!0,this.props.onChange(r,r.target.value)}},{key:"handleKeyUp",value:function(){this._performAutoCompleteOnKeyUp&&(this._performAutoCompleteOnKeyUp=!1,this.maybeAutoCompleteText())}},{key:"getFilteredItems",value:function(){let r=this.props.items;return this.props.shouldItemRender&&(r=r.filter(a=>this.props.shouldItemRender(a,this.props.value))),this.props.sortItems&&r.sort((a,o)=>this.props.sortItems(a,o,this.props.value)),r}},{key:"maybeAutoCompleteText",value:function(){if(!this.props.autoHighlight||this.props.value==="")return;const{highlightedIndex:r}=this.state,a=this.getFilteredItems();if(a.length===0)return;const o=r!==null?a[r]:a[0];this.props.getItemValue(o).toLowerCase().indexOf(this.props.value.toLowerCase())===0&&r===null&&this.setState({highlightedIndex:0})}},{key:"setMenuPositions",value:function(){const r=this.inputEl,a=r.getBoundingClientRect(),o=globalThis.window.getComputedStyle(r),s=parseInt(o.marginBottom,10)||0,u=parseInt(o.marginLeft,10)||0,c=parseInt(o.marginRight,10)||0;this.setState({menuTop:a.bottom+s,menuLeft:a.left+u,menuWidth:a.width+u+c})}},{key:"highlightItemFromMouse",value:function(r){this.setState({highlightedIndex:r})}},{key:"selectItemFromMouse",value:function(r){const a=this.props.getItemValue(r);this.setState({isOpen:!1,highlightedIndex:null},()=>{this.props.onSelect(a,r),this.inputEl.focus()})}},{key:"setIgnoreBlur",value:function(r){this._ignoreBlur=r}},{key:"renderMenu",value:function(){const r=this.getFilteredItems().map((s,u)=>{const c=this.props.renderItem(s,this.state.highlightedIndex===u,{cursor:"default"});return A.default.cloneElement(c,{onMouseDown:()=>this.setIgnoreBlur(!0),onMouseEnter:()=>this.highlightItemFromMouse(u),onClick:()=>this.selectItemFromMouse(s),ref:`item-${u}`})}),a={left:this.state.menuLeft,top:this.state.menuTop,minWidth:this.state.menuWidth};if(!r.length)return null;const o=this.props.renderMenu(r,this.props.value,a);return A.default.cloneElement(o,{ref:"menu"})}},{key:"handleInputBlur",value:function(){this.props.onFocus&&this.props.onFocus(),!this._ignoreBlur&&this.setState({isOpen:!1,highlightedIndex:null})}},{key:"handleInputFocus",value:function(){if(this.props.onFocus&&this.props.onFocus(!0),this._ignoreBlur){this.setIgnoreBlur(!1);return}this._ignoreClick=!0,this.setState({isOpen:!0})}},{key:"isInputFocused",value:function(){return this.inputEl.ownerDocument&&this.inputEl===this.inputEl.ownerDocument.activeElement}},{key:"handleInputClick",value:function(){this.isInputFocused()&&this.state.isOpen===!1?this.setState({isOpen:!0}):this.state.highlightedIndex!==null&&!this._ignoreClick&&this.selectItemFromMouse(this.getFilteredItems()[this.state.highlightedIndex]),this._ignoreClick=!1}},{key:"composeEventHandlers",value:function(r,a){return a?o=>{r(o),a(o)}:r}},{key:"render",value:function(){this.props.debug&&im.push({id:im.length,state:this.state});const{inputProps:r}=this.props;return A.default.createElement("div",{style:{...this.props.wrapperStyle},...this.props.wrapperProps},A.default.createElement("input",{...r,ref:a=>{this.inputEl=a},"aria-autocomplete":"list",autoComplete:"off",onBlur:this.composeEventHandlers(this.handleInputBlur.bind(this),r.onBlur&&r.onBlur.bind(this)),onChange:this.handleChange.bind(this),onClick:this.composeEventHandlers(this.handleInputClick.bind(this),r.onClick&&r.onClick.bind(this)),onFocus:this.composeEventHandlers(this.handleInputFocus.bind(this),r.onFocus&&r.onFocus.bind(this)),onKeyDown:this.composeEventHandlers(this.handleKeyDown.bind(this),r.onKeyDown&&r.onKeyDown.bind(this)),onKeyUp:this.composeEventHandlers(this.handleKeyUp.bind(this),r.onKeyUp&&r.onKeyUp.bind(this)),role:"combobox",value:this.props.value}),("open"in this.props?this.props.open:this.state.isOpen)&&this.renderMenu(),this.props.debug&&A.default.createElement("pre",{style:{marginLeft:300}},JSON.stringify(im.slice(im.length-5,im.length),null,2)))}}]),n}(A.default.Component);nw.defaultProps={value:"",wrapperProps:{},wrapperStyle:{display:"inline-block"},inputProps:{},onChange(){},onSelect(){},renderMenu(e,t,n){return A.default.createElement("div",{style:{...n,...this.menuStyle}},e)},shouldItemRender(){return!0},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:!0,onMenuVisibilityChange(){}},nw.propTypes={autoHighlight:N.exports.bool,debug:N.exports.bool,getItemValue:N.exports.func.isRequired,inputProps:N.exports.object,items:N.exports.array,menuStyle:N.exports.object,onChange:N.exports.func,onFocus:N.exports.func,onMenuVisibilityChange:N.exports.func,onSelect:N.exports.func,open:N.exports.bool,renderItem:N.exports.func.isRequired,renderMenu:N.exports.func,shouldItemRender:N.exports.func,sortItems:N.exports.func,value:N.exports.any,wrapperProps:N.exports.object,wrapperStyle:N.exports.object};const $h={"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_1l2sx_95","btn-sm":"_btn-sm_1l2sx_116","btn-default":"_btn-default_1l2sx_122"};let sU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.mounted=!1,r.uid=Pt.nice(),r.chromInfo=null,r.searchField=null,r.autocompleteMenu=null,r.xScale=null,r.yScale=null,r.prevParts=[],r.props.registerViewportChangedListener(r.scalesChanged.bind(_assertThisInitialized3(r))),r.menuPosition={left:0,top:0},r.positionText="chr4:190,998,876-191,000,255",r.state={genes:[],isFocused:!1,autocompleteServer:r.props.autocompleteServer,autocompleteId:r.props.autocompleteId,availableAssemblies:[],selectedAssembly:null},r.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"}},r.availableAutocompletes={},r.props.autocompleteId&&(r.availableAutocompletes[r.props.chromInfoId]=new Set([{server:r.props.autocompleteServer,acId:r.props.autocompleteId}])),r.availableChromSizes={},r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.mounted=!0,xt(this.autocompleteMenu.inputEl).on("keypress",this.autocompleteKeyPress.bind(this)),this.findAvailableAutocompleteSources(),this.findAvailableChromSizes(),this.props.chromInfoPath&&(this.searchPosition=!0,ro(this.props.chromInfoPath,r=>{if(!r){this.searchPosition=null;return}this.chromInfo=r,this.searchField=new Dh(this.chromInfo),this.setPositionText()})),this.setPositionText()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,this.props.removeViewportChangedListener()}},{key:"onAutocompleteChange",value:function(r,a){this.positionText=a,this.setState({value:a,loading:!0}),this.changedPart=null;const o=a.split(/ /);let s=0;const u=[];let c=!1;for(let l=0;l<o.length;l++){const f=o[l].split(/-/);for(let h=0;h<f.length;h++){if(s+=1,u.push(f[h]),h===0?c=!0:c=!1,h===this.prevParts.length){this.changedPart=s-1;break}if(f[h]!==this.prevParts[h]){this.changedPart=s-1;break}}}if(this.prevParts=u,!!(this.state.autocompleteServer&&this.state.autocompleteId)&&this.changedPart!==null){this.setState({loading:!0});let l=`${this.state.autocompleteServer}/suggest/`;l+=`?d=${this.state.autocompleteId}&ac=${u[this.changedPart].toLowerCase()}`,Xe.json(l,(f,h)=>{if(f)this.setState({loading:!1,genes:[]});else if(this.changedPart>0&&!c){const d=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${u[this.changedPart-1].toLowerCase()}-${u[this.changedPart].toLowerCase()}`;Xe.json(d,(p,m)=>{p?this.setState({loading:!1,genes:h}):this.setState({loading:!1,genes:m.concat(h)})},this.props.pubSub)}else this.setState({loading:!1,genes:h})},this.props.pubSub)}}},{key:"setAvailableAssemblies",value:function(){const r=new Set(Vi(this.availableChromSizes)),a=new Set([...r]);this.gpsbForm&&this.setState({availableAssemblies:[...a]})}},{key:"setSelectedAssembly",value:function(r){if(!this.mounted||!this.availableChromSizes[r])return;const a=[...this.availableChromSizes[r]][0];this.setState({autocompleteServer:a.server});const{server:o}=a;if(this.availableAutocompletes[r]){const s=[...this.availableAutocompletes[r]][0].acId;this.props.onSelectedAssemblyChanged(r,s,o),this.gpsbForm&&this.setState({autocompleteId:s})}else this.props.onSelectedAssemblyChanged(r,null,o),this.gpsbForm&&this.setState({autocompleteId:null});this.fetchChromInfo(a.uuid,a.server)}},{key:"setPositionText",value:function(){if(!this.mounted||!this.searchField)return;const r=this.searchField.scalesToPositionText(this.xScale,this.yScale,this.props.twoD);this.prevParts=r.split(/[ -]/),this.gpsbForm&&(this.positionText=r,this.origPositionText=r,this.autocompleteMenu.inputEl.value=r)}},{key:"scalesChanged",value:function(r,a){this.xScale=r,this.yScale=a,this.setPositionText()}},{key:"findAvailableChromSizes",value:function(){!this.props.trackSourceServers||this.props.trackSourceServers.forEach(r=>{Xe.json(`${r}/available-chrom-sizes/`,(a,o)=>{a?console.error(a):(o.results.forEach(s=>{s.coordSystem in this.availableChromSizes||(this.availableChromSizes[s.coordSystem]=new Set),this.availableChromSizes[s.coordSystem].add({server:r,uuid:s.uuid}),this.setAvailableAssemblies()}),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(){!this.props.trackSourceServers||this.props.trackSourceServers.forEach(r=>{Xe.json(`${r}/tilesets/?limit=100&dt=gene-annotation`,(a,o)=>{a?console.error(a):(o.results.forEach(s=>{s.coordSystem in this.availableAutocompletes||(this.availableAutocompletes[s.coordSystem]=new Set),this.availableAutocompletes[s.coordSystem].add({server:r,acId:s.uuid}),this.setAvailableAssemblies()}),this.state.autocompleteId||this.gpsbForm&&this.availableAutocompletes[this.props.chromInfoId]&&this.setState({autocompleteId:[...this.availableAutocompletes[this.props.chromInfoId]][0].acId}))},this.props.pubSub)})}},{key:"fetchChromInfo",value:function(r,a){ro(`${a}/chrom-sizes/?id=${r}`,o=>{!o||(Xe.json(`${a}/tileset_info/?d=${r}`,(s,u)=>{s||this.gpsbForm&&this.setState({selectedAssembly:u[r].coordSystem})},this.props.pubSub),this.chromInfo=o,this.searchField=new Dh(this.chromInfo),this.setPositionText())},this.props.pubSub)}},{key:"autocompleteKeyPress",value:function(r){r.keyCode===13&&this.buttonClick()}},{key:"genePositionToSearchBarText",value:function(r){}},{key:"replaceGenesWithLoadedPositions",value:function(r){const a=this.positionText,o=a.split(" ");let s=!1;for(let c=0;c<o.length;c++){const l=o[c].split("-");let f=0,h=0,d="";for(;f<l.length;){for(h=l.length;h>f;){const p=l.slice(f,h).join("-");if(r[p.toLowerCase()]){const m=r[p.toLowerCase()],g=Math.floor((m.txEnd-m.txStart)/4);f===0&&h<l.length?d=`${m.chr}:${m.txStart-g}`:f===0&&h===l.length?d=`${m.chr}:${m.txStart-g}-${m.txEnd+g}`:d+=`- ${m.chr}:${m.txEnd+g}`,s=!0;break}else h===f+1&&(d.length&&(d+="-"),d+=p);h-=1}f=h+1}o[c]=d}const u=o.join(" ");return this.prevParts=u.split(/[ -]/),this.positionText=u,this.setState({value:u}),s?a:null}},{key:"replaceGenesWithPositions",value:function(r){const a=this.positionText.split(/[ -]/),o=[];for(let s=0;s<a.length;s++){if(a[s].length===0)continue;const u=this.searchField.parsePosition(a[s])[2];if(u===null||Number.isNaN(+u)){const c=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${a[s].toLowerCase()}`;o.push(Xe.json(c,La,this.props.pubSub))}}Promise.all(o).then(s=>{if(s){const u={};for(let l=0;l<s.length;l++)if(!!s[l][0])for(let f=0;f<s[l].length;f++)u[s[l][f].geneName.toLowerCase()]=s[l][f];const c=this.replaceGenesWithLoadedPositions(u);r(c)}}).catch(s=>console.error(s))}},{key:"buttonClick",value:function(){this.setState({genes:[]}),this.replaceGenesWithPositions(r=>{const a=this.positionText;if(this.searchField!==null){const o=this.searchField.searchPosition(a),s=o[0];let u=o[1];if(!s){this.setPositionText();return}if(s&&(Number.isNaN(+s[0])||Number.isNaN(+s[1]))||u&&(Number.isNaN(+u[0])||Number.isNaN(+u[1])))return;u||(u=s);const c=this.xScale.copy().domain(s),l=this.yScale.copy().domain(u),[f,h,d]=Qn(c,l);r&&this.props.onGeneSearch({geneSymbol:r,range:s,centerX:f,centerY:h}),this.props.setCenters(f,h,d,zP)}})}},{key:"searchFieldSubmit",value:function(){this.buttonClick()}},{key:"pathJoin",value:function(r,a){const o=a||"/",s=new RegExp(`${o}{1,}`,"g");return r.join(o).replace(s,o)}},{key:"geneSelected",value:function(r,a){const o=this.positionText.split(" ");let s=this.changedPart;for(let u=0;u<o.length;u++){const c=o[u].split("-"),l=a.geneName.split("-");if(s>c.length-1)s-=c.length;else{if(c[s]=a.geneName,l.length===2&&s>0&&c[s-1].toLowerCase()===l[0].toLowerCase()){const f=c.slice(0,s-1);f.push(l.join("-")),s<c.length-1&&f.push(c.slice(s+1)),o[u]=f.join("-")}else o[u]=c.join("-");break}}this.prevParts=o.join(" ").split(/[ -]/),this.positionText=o.join(" "),this.setState({value:o.join(" "),genes:[]})}},{key:"handleMenuVisibilityChange",value:function(r,a){const o=a.getBoundingClientRect();this.menuPosition={left:o.left,top:o.top+o.height},this.setState({menuOpened:r})}},{key:"handleRenderMenu",value:function(r){return A.default.createElement(Ls,null,A.default.createElement("div",{className:$h["genome-position-search-bar-suggestions"],style:{left:this.menuPosition.left,top:this.menuPosition.top}},r))}},{key:"handleAssemblySelectEvt",value:function(r){this.handleAssemblySelect(r.target.value)}},{key:"handleAssemblySelect",value:function(r){this.setSelectedAssembly(r),this.setState({selectedAssembly:r})}},{key:"focusHandler",value:function(r){this.setState({isFocused:r})}},{key:"render",value:function(){const r=this.state.availableAssemblies.map(a=>A.default.createElement("option",{key:a,value:a},a));return A.default.createElement("div",{ref:a=>{this.gpsbForm=a},className:qt({[$h["genome-position-search-focus"]]:this.state.isFocused,[$h["genome-position-search"]]:!this.state.isFocused,[$h["genome-position-search-dark"]]:this.props.theme===pn})},!this.props.hideAvailableAssemblies&&A.default.createElement("select",{ref:a=>{this.assemblyPickButton=a},className:$h["genome-position-search-bar-button"],id:this.uid,onChange:this.handleAssemblySelectEvt.bind(this),title:this.state.selectedAssembly?this.state.selectedAssembly:"(none)"},r),A.default.createElement(nw,{ref:a=>{this.autocompleteMenu=a},getItemValue:a=>a.geneName,inputProps:{className:$h["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:(a,o)=>this.geneSelected(a,o),onSubmit:this.searchFieldSubmit.bind(this),renderItem:(a,o)=>A.default.createElement("div",{key:a.refseqid,id:a.refseqid,style:o?this.styles.highlightedItem:this.styles.item},a.geneName),renderMenu:this.handleRenderMenu.bind(this),value:this.positionText,wrapperStyle:{width:"100%"}}),A.default.createElement(FSe,{onClick:this.buttonClick.bind(this),theStyle:"multitrack-header-icon"}))}}]),n}(A.default.Component);sU.propTypes={autocompleteId:N.exports.string,autocompleteServer:N.exports.string,chromInfoId:N.exports.string,chromInfoServer:N.exports.string,hideAvailableAssemblies:N.exports.bool,isFocused:N.exports.bool,pubSub:N.exports.object,onFocus:N.exports.func,onGeneSearch:N.exports.func,onSelectedAssemblyChanged:N.exports.func,registerViewportChangedListener:N.exports.func,removeViewportChangedListener:N.exports.func,setCenters:N.exports.func,theme:N.exports.symbol.isRequired,trackSourceServers:N.exports.array,twoD:N.exports.bool};const TOe=dh(hl(sU)),EOe={"export-link-dialog-wrapper":"_export-link-dialog-wrapper_p9gxw_1"};let rw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){return A.default.createElement(Bd,{okayOnly:!0,okayTitle:"Done",onOkay:this.props.onDone,title:"Share view link"},A.default.createElement("div",{className:EOe["export-link-dialog-wrapper"]},A.default.createElement("input",{ref:r=>{!r||(this.input=r,r.focus(),r.select())},onClick:r=>{r.target.select()},placeholder:"Generating the link...",readOnly:!0,value:this.props.url}),A.default.createElement(Ro,{onClick:r=>{this.input.select(),document.execCommand("copy")}},"Copy")))}}]),n}(A.default.Component);rw.defaultProps={onDone:()=>{},url:""},rw.propTypes={onDone:N.exports.func,url:N.exports.string};let lU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={submenuShown:!1},r}return _createClass3(n,[{key:"getConfigureViewMenu",value:function(r,a){const o=["backgroundColor"],s={},u={};for(const c of o)if(c in Object.keys(mr)&&(s[c]={name:mr[c].name},mr[c].inlineOptions))for(const l in mr[c].inlineOptions){const f=mr[c].inlineOptions[l];s[c].children||(s[c].children={});const h={name:f.name,value:f.value};h.handler=()=>{u[c]=f.value,this.props.onOptionsChanged(u)},s[c].children[l]=h}return A.default.createElement(VI,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems:s,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top};return this.state.submenuShown.option==="options"?this.getConfigureViewMenu(a,r):A.default.createElement("div",null)}return A.default.createElement("div",null)}},{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.div=r},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ConfigViewMenu",style:{left:this.state.left,top:this.state.top}},A.default.createElement(St,{onClick:r=>this.props.onTogglePositionSearchBox(r)},"Toggle position search box"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onZoomToData(r)},"Zoom to data extent"),A.default.createElement(St,{onClick:r=>this.props.onClearView(r)},"Clear View"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onYankZoom(r)},"Take zoom from"),A.default.createElement(St,{onClick:r=>this.props.onYankLocation(r)},"Take location from"),A.default.createElement(St,{onClick:r=>this.props.onYankZoomAndLocation(r)},"Take zoom and location from"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:this.props.onLockZoom},"Lock zoom with"),A.default.createElement(St,{onClick:this.props.onLockLocation},"Lock location with"),A.default.createElement(St,{onClick:this.props.onLockZoomAndLocation},"Lock zoom and location with"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:this.props.onTakeAndLockZoomAndLocation},"Take and lock zoom and location with"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onUnlockZoom(r)},"Unlock zoom"),A.default.createElement(St,{onClick:r=>this.props.onUnlockLocation(r)},"Unlock location"),A.default.createElement(St,{onClick:r=>this.props.onUnlockZoomAndLocation(r)},"Unlock zoom and location"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onProjectViewport(r)},"Show this viewport on"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onEditViewConfig(r)},"Edit view config"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>this.props.onExportSVG()},"Export views as SVG"),A.default.createElement(St,{onClick:()=>this.props.onExportPNG()},"Export views as PNG"),A.default.createElement(St,{onClick:()=>this.props.onExportViewAsJSON()},"Export views as JSON"),A.default.createElement(St,{onClick:()=>this.props.onExportViewAsLink()},"Export views as Link"),this.getSubmenu())}}]),n}(Ms);lU.propTypes={onEditViewConfig:N.exports.func.isRequired,onExportSVG:N.exports.func,onExportPNG:N.exports.func,onExportViewAsJSON:N.exports.func,onExportViewAsLink:N.exports.func,onLockLocation:N.exports.func,onLockZoom:N.exports.func,onLockZoomAndLocation:N.exports.func,onProjectViewport:N.exports.func,onTakeAndLockZoomAndLocation:N.exports.func,onTogglePositionSearchBox:N.exports.func,onUnlockLocation:N.exports.func,onUnlockZoom:N.exports.func,onUnlockZoomAndLocation:N.exports.func,onYankLocation:N.exports.func,onYankZoom:N.exports.func,onYankZoomAndLocation:N.exports.func,onZoomToData:N.exports.func,theme:N.exports.symbol};const ea={"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 uU(e){return A.default.createElement("div",null,A.default.createElement("div",{className:ea["add-track-position-span"]},"Add Track..."),A.default.createElement("table",{className:qt(ea["add-track-position-table"],{[ea["add-track-position-table-dark"]]:e.theme===pn})},A.default.createElement("tbody",null,A.default.createElement("tr",{style:{height:"30px"}},A.default.createElement("td",{className:ea["add-track-position-other"]}),A.default.createElement("td",{className:ea["add-track-position-top-center"],onClick:()=>e.onTrackPositionChosen("top")},"top"),A.default.createElement("td",{className:ea["add-track-position-other"]})),A.default.createElement("tr",{style:{height:"80px"}},A.default.createElement("td",{className:ea["add-track-position-middle-left"],onClick:()=>e.onTrackPositionChosen("left")},"left"),A.default.createElement("td",{className:ea["add-track-position-middle-middle"],onClick:()=>e.onTrackPositionChosen("center")},"center"),A.default.createElement("td",{className:ea["add-track-position-middle-right"],onClick:()=>e.onTrackPositionChosen("right")},"right")),A.default.createElement("tr",{style:{height:"30px"}},A.default.createElement("td",{className:ea["add-track-position-other"]}),A.default.createElement("td",{className:ea["add-track-position-bottom-middle"],onClick:()=>e.onTrackPositionChosen("bottom")},"bottom"),A.default.createElement("td",{className:ea["add-track-position-other"]})))))}uU.propTypes={onTrackPositionChosen:N.exports.func.isRequired,theme:N.exports.symbol.isRequired};const bOe=hl(uU);let iw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.configImg=null,r.plusImg=null,r.state={addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null,configMenuUid:null,configMenuPosition:null,isFocused:!1,width:-1},r.handleTrackPositionChosenBound=r.handleTrackPositionChosen.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.setState({width:this.el.clientWidth})}},{key:"checkWidth",value:function(){const r=this.el.clientWidth;r!==this.state.width&&this.setState({width:r})}},{key:"handleConfigMenuOpened",value:function(r){this.setState({configMenuUid:r,configMenuPosition:this.configImg.getBoundingClientRect()})}},{key:"handleAddTrackPositionMenuOpened",value:function(r){this.setState({addTrackPositionMenuUid:r,addTrackPositionMenuPosition:this.plusImg.getBoundingClientRect()})}},{key:"handleTrackPositionChosen",value:function(r){this.props.onTrackPositionChosen(r),this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null})}},{key:"render",value:function(){let r=null,a=null;this.state.addTrackPositionMenuPosition&&(a=A.default.createElement(Ls,{onMenuClosed:()=>{this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null})}},A.default.createElement(Ms,{orientation:"left",position:this.state.addTrackPositionMenuPosition,theme:this.props.theme},A.default.createElement(bOe,{onTrackPositionChosen:this.handleTrackPositionChosenBound})))),this.state.configMenuUid&&(r=A.default.createElement(Ls,{onMenuClosed:()=>this.setState({configMenuUid:null})},A.default.createElement(lU,{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:c=>{this.props.onViewOptionsChanged(c),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 o=this.props.getGenomePositionSearchBox(this.state.isFocused,c=>{this.setState({isFocused:c})}),s=qt(this.state.isFocused?Wi["multitrack-header-focus"]:Wi["multitrack-header"],{[Wi["multitrack-header-dark"]]:this.props.theme===pn}),u=this.state.width<=jP?Wi["multitrack-header-icon-squeazed"]:Wi["multitrack-header-icon"];return A.default.createElement("div",{ref:c=>{this.el=c},className:s},A.default.createElement("div",{className:Wi["multitrack-header-left"]},this.props.mouseTool===zi&&A.default.createElement("svg",{className:qt(Wi["mouse-tool-selection"],u),title:"Selection tool active"},A.default.createElement("use",{xlinkHref:"#select"})),A.default.createElement("div",{className:Wi["multitrack-header-grabber"],title:"Drag to move the view"},A.default.createElement("div",null),A.default.createElement("div",null),A.default.createElement("div",null)),this.state.width>VP&&A.default.createElement("div",{className:Wi["multitrack-header-search"]},this.props.isGenomePositionSearchBoxVisible&&o)),A.default.createElement("nav",{className:Wi["multitrack-header-nav-list"]},A.default.createElement("svg",{className:u,onClick:this.props.onAddView},A.default.createElement("title",null,"Add new view (clone this view)"),A.default.createElement("use",{xlinkHref:"#copy"})),A.default.createElement("svg",{ref:c=>{this.configImg=c},className:u,onClick:()=>this.handleConfigMenuOpened(this.props.viewUid)},A.default.createElement("title",null,"Configure this view"),A.default.createElement("use",{xlinkHref:"#cog"})),A.default.createElement("svg",{ref:c=>{this.plusImg=c},className:u,onClick:()=>this.handleAddTrackPositionMenuOpened(this.props.viewUid)},A.default.createElement("title",null,"Add Track"),A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{className:u,onClick:this.props.onCloseView},A.default.createElement("title",null,"Close View"),A.default.createElement("use",{xlinkHref:"#cross"}))),r,a)}}]),n}(A.default.Component);iw.defaultProps={isGenomePositionSearchBoxVisible:!1},iw.propTypes={getGenomePositionSearchBox:N.exports.func.isRequired,isGenomePositionSearchBoxVisible:N.exports.bool,mouseTool:N.exports.string.isRequired,onAddView:N.exports.func.isRequired,onClearView:N.exports.func.isRequired,onCloseView:N.exports.func.isRequired,onEditViewConfig:N.exports.func.isRequired,onExportSVG:N.exports.func.isRequired,onExportPNG:N.exports.func.isRequired,onExportViewsAsJSON:N.exports.func.isRequired,onExportViewsAsLink:N.exports.func.isRequired,onLockLocation:N.exports.func.isRequired,onLockZoom:N.exports.func.isRequired,onLockZoomAndLocation:N.exports.func.isRequired,onProjectViewport:N.exports.func.isRequired,onTakeAndLockZoomAndLocation:N.exports.func.isRequired,onTogglePositionSearchBox:N.exports.func.isRequired,onTrackPositionChosen:N.exports.func.isRequired,onUnlockLocation:N.exports.func.isRequired,onUnlockZoom:N.exports.func.isRequired,onUnlockZoomAndLocation:N.exports.func.isRequired,onViewOptionsChanged:N.exports.func.isRequired,onYankLocation:N.exports.func.isRequired,onYankZoom:N.exports.func.isRequired,onYankZoomAndLocation:N.exports.func.isRequired,onZoomToData:N.exports.func.isRequired,theme:N.exports.symbol.isRequired,viewUid:N.exports.string.isRequired};const _Oe=hl(iw);var cU={};Object.defineProperty(cU,"__esModule",{value:!0});var Bs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},SOe=function(){function e(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),AOe=A.default,am=COe(AOe);function COe(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function DOe(e,t){var n={};for(var i in e)t.indexOf(i)>=0||!Object.prototype.hasOwnProperty.call(e,i)||(n[i]=e[i]);return n}function IOe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hU(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:e}function wOe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var kOe=13,OOe=9,xOe=8,POe=89,ET=90,ROe=77,fU=57,dU=219,pU=222,mU=192,NOe=27,gU=100,MOe=3e3,LOe="navigator"in globalThis&&/Win/i.test(navigator.platform),aw="navigator"in globalThis&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),bT="npm__react-simple-code-editor__textarea",BOe=`
339
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Li(we,ge){(ge==null||ge>we.length)&&(ge=we.length);for(var W=0,q=new Array(ge);W<ge;W++)q[W]=we[W];return q}function Br(we,ge){var W=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0;if(W>ge)return[];var q=[];return we.forEach(function(me){me.children&&(q=[].concat(Tr(q),[me.value],Tr(Br(me.children,ge,W+1))))}),q}ot(xn,"propTypes",{nodes:m().arrayOf(C).isRequired,checkModel:m().oneOf([$.LEAF,$.ALL]),checked:ne,direction:m().string,disabled:m().bool,expandDisabled:m().bool,expandOnClick:m().bool,expanded:ne,icons:Ye,iconsClass:m().string,id:m().string,lang:je,name:m().string,nameAsArray:m().bool,nativeCheckboxes:m().bool,noCascade:m().bool,onlyLeafCheckboxes:m().bool,optimisticToggle:m().bool,showExpandAll:m().bool,showNodeIcon:m().bool,showNodeTitle:m().bool,onCheck:m().func,onClick:m().func,onExpand:m().func}),ot(xn,"defaultProps",{checkModel:$.LEAF,checked:[],direction:"ltr",disabled:!1,expandDisabled:!1,expandOnClick:!1,expanded:[],icons:{check:v().createElement("span",{className:"rct-icon rct-icon-check"}),uncheck:v().createElement("span",{className:"rct-icon rct-icon-uncheck"}),halfCheck:v().createElement("span",{className:"rct-icon rct-icon-half-check"}),expandClose:v().createElement("span",{className:"rct-icon rct-icon-expand-close"}),expandOpen:v().createElement("span",{className:"rct-icon rct-icon-expand-open"}),expandAll:v().createElement("span",{className:"rct-icon rct-icon-expand-all"}),collapseAll:v().createElement("span",{className:"rct-icon rct-icon-collapse-all"}),parentClose:v().createElement("span",{className:"rct-icon rct-icon-parent-close"}),parentOpen:v().createElement("span",{className:"rct-icon rct-icon-parent-open"}),leaf:v().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:!1,nativeCheckboxes:!1,noCascade:!1,onlyLeafCheckboxes:!1,optimisticToggle:!0,showExpandAll:!1,showNodeIcon:!0,showNodeTitle:!1,onCheck:function(){},onClick:null,onExpand:function(){}});const Fr=xn})(),o})())})(Y$);const Wke=UT(Y$.exports),vNe="";let W$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;_classCallCheck3(this,n),r=t.call(this,i),r.localTracks=Hl.filter(u=>u.local&&!u.hidden).map(u=>{const c={...u};return c.datatype=u.datatype[0],c}),r.augmentedTracksInfo=Hl,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(u=>{r.augmentedTracksInfo.push(window.higlassTracksByType[u].config)}),i.datatype?r.localTracks=r.localTracks.filter(u=>u.datatype[0]===i.datatype):r.localTracks=r.localTracks.filter(u=>u.orientation===r.props.orientation),r.localTracks.forEach(u=>{u.uuid=Pt.nice()});const a=r.prepareNewEntries("",r.localTracks,{}),o=Object.keys(a),s=o.length?[o[0]]:null;return r.mounted=!1,r.state={selectedUuid:s,options:a,filter:"",checked:[],expanded:[]},r.requestTilesetLists(),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.mounted=!0,this.requestTilesetLists(),this.searchBox.focus()}},{key:"componentWillUnmount",value:function(){this.mounted=!1}},{key:"prepareNewEntries",value:function(r,a,o){const s=o;return a.map(c=>({...c,server:r,tilesetUid:c.uuid,serverUidKey:this.serverUidKey(r,c.uuid),datatype:c.datatype,name:c.name,uid:Pt.nice()})).forEach(c=>{s[c.serverUidKey]=c}),s}},{key:"serverUidKey",value:function(r,a){return`${r}/${a}`}},{key:"requestTilesetLists",value:function(){let r=null;if(this.props.datatype?r=`dt=${this.props.datatype}`:r=[...new Set([].concat(...this.augmentedTracksInfo.filter(o=>o.datatype).filter(o=>o.orientation===this.props.orientation||this.props.orientation==="1d-vertical"&&o.orientation==="1d-horizontal").map(o=>o.datatype)))].map(o=>`dt=${o}`).join("&"),!this.props.trackSourceServers){console.warn("No track source servers specified in the viewconf");return}this.props.trackSourceServers.forEach(a=>{Xe.json(`${a}/tilesets/?limit=10000&${r}`,(o,s)=>{if(o)console.error("ERROR:",o);else{const u=this.prepareNewEntries(a,s.results,this.state.options),c=Object.keys(u);let{selectedUuid:l}=this.state;if(!l){l=c.length?[c[0]]:null;const f=this.state.options[l[0]];this.props.selectedTilesetChanged([f])}this.mounted&&this.setState({selectedUuid:l,options:u})}},this.props.pubSub)})}},{key:"handleOptionDoubleClick",value:function(r){const a=this.state.options[r.target.value];this.props.onDoubleClick(a)}},{key:"handleSelectedOptions",value:function(r){const a=[],o=[];for(let s=0;s<r.length;s++)a.push(r[s]),o.push(this.state.options[r[s]]);this.props.selectedTilesetChanged(o),this.setState({selectedUuid:a})}},{key:"handleSelect",value:function(){const{selectedOptions:r}=this.multiSelect,a=[];for(let o=0;o<r.length;o++){const s=r[o];a.push(s.value)}this.handleSelectedOptions(a)}},{key:"handleSearchChange",value:function(){const r=this.searchBox;this.setState({filter:r.value})}},{key:"partitionByGroup",value:function(r,a){const o={"":{name:"",value:"",children:[]}};for(const u of Object.keys(r)){const c=r[u];if(!!c.name.toLowerCase().includes(a))if("project_name"in c){const l=c.project_name;l in o||(o[l]={value:l,label:l,children:[]}),o[l].children.push({label:c.name,value:u})}else o[""].children.push({label:c.name,value:u})}const s=o[""].children;for(const u of Object.keys(o))u!==""&&(o[u].children.sort((c,l)=>c.label.toLowerCase().localeCompare(l.label.toLowerCase(),"en")),s.push(o[u]));return s.sort((u,c)=>u.label.toLowerCase().localeCompare(c.label.toLowerCase(),"en")),s}},{key:"handleChecked",value:function(r){this.handleSelectedOptions(r),this.setState({checked:r})}},{key:"handleExpanded",value:function(r){this.setState({expanded:r})}},{key:"render",value:function(){const r=[];for(const c in this.state.options)r.push(this.state.options[c]);const a=this.partitionByGroup(this.state.options,this.state.filter),o={width:15,height:15,top:2,right:2,position:"relative"},s=JSON.parse(JSON.stringify(o));s.opacity=.5;const u=A.default.createElement("form",{onSubmit:c=>{c.preventDefault()}},A.default.createElement("div",{className:"tileset-finder-search-bar"},A.default.createElement("span",{className:"tileset-finder-label"},"Select tileset:"),A.default.createElement("input",{ref:c=>{this.searchBox=c},className:"tileset-finder-search-box",onChange:this.handleSearchChange.bind(this),placeholder:"Search Term",type:"text"})),A.default.createElement("div",{className:"tileset-finder-checkbox-tree"},A.default.createElement(Wke,{checked:this.state.checked,expanded:this.state.expanded,icons:{uncheck:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#square_o"})),check:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#check_square_o"})),halfCheck:A.default.createElement("svg",{style:s},A.default.createElement("use",{xlinkHref:"#check_square_o"})),leaf:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#file_o"})),expandClose:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#chevron_right"})),expandOpen:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#chevron_down"})),parentClose:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#folder_o"})),parentOpen:A.default.createElement("svg",{style:o},A.default.createElement("use",{xlinkHref:"#folder_open_o"}))},nodes:a,onCheck:this.handleChecked.bind(this),onExpand:this.handleExpanded.bind(this)})));return A.default.createElement("div",null,u)}}]),n}(A.default.Component);W$.propTypes={datatype:N.exports.string,orientation:N.exports.string,onDoubleClick:N.exports.func,pubSub:N.exports.object.isRequired,selectedTilesetChanged:N.exports.func,trackSourceServers:N.exports.array};const qke=dh(W$),yNe="";let q$=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.DATATYPE_TO_TRACK_TYPE=gb(r.props.orientation),r.AVAILABLE_TRACK_TYPES=fT(r.props.datatypes,r.props.orientation),r.state={selectedPlotType:r.AVAILABLE_TRACK_TYPES[0]},r}return _createClass3(n,[{key:"UNSAFE_componentWillReceiveProps",value:function(r){if(this.AVAILABLE_TRACK_TYPES=fT(r.datatypes,this.props.orientation),!!this.AVAILABLE_TRACK_TYPES&&!!r.allTracksSameDatatype&&this.AVAILABLE_TRACK_TYPES.length>0&&!this.AVAILABLE_TRACK_TYPES.includes(this.state.selectedPlotType)){const a=yb(r.datatypes[0][0],this.props.position,this.AVAILABLE_TRACK_TYPES);this.handlePlotTypeSelected(a)}}},{key:"handlePlotTypeSelected",value:function(r){this.setState({selectedPlotType:r}),this.props.onPlotTypeSelected(r.type)}},{key:"render",value:function(){let r="No plot types available for track";const a={};return Hl.forEach(o=>{a[o.type]=o}),this.AVAILABLE_TRACK_TYPES&&(r=this.AVAILABLE_TRACK_TYPES.sort((o,s)=>o.type<s.type).map(o=>{const s=a[o.type].thumbnail,u=this.state.selectedPlotType.type===o.type?"plot-type-item plot-type-selected":"plot-type-item",c=a[o.type].thumbnail?A.default.createElement("div",{className:"track-thumbnail",dangerouslySetInnerHTML:{__html:s.outerHTML}}):A.default.createElement("div",{className:"track-thumbnail"},A.default.createElement("svg",{height:20,width:30}));return A.default.createElement("li",{key:o.type,className:u,onClick:l=>{this.setState({selectedPlotType:o}),this.props.onPlotTypeSelected(o.type)},style:{listStyle:"none",paddingLeft:5,paddingBottom:0}},c,A.default.createElement("span",{style:{verticalAlign:"middle"}},o.type))})),A.default.createElement("div",null,r.length>0&&this.props.allTracksSameDatatype&&A.default.createElement("div",{className:"plot-type-container"},r),!this.props.allTracksSameDatatype&&A.default.createElement("div",{className:"plot-type-container-empty"},"Datasets with multiple datatypes chosen. They will be added with their default track types."))}}]),n}(A.default.Component);q$.propTypes={allTracksSameDatatype:N.exports.bool,datatypes:N.exports.array,orientation:N.exports.string,onPlotTypeSelected:N.exports.func,position:N.exports.string};const bNe={"collapse-toggle-icon":"_collapse-toggle-icon_ub7s6_1",collapsed:"_collapsed_ub7s6_9","modal-title":"_modal-title_ub7s6_14","modal-container":"_modal-container_ub7s6_19",modal:"_modal_ub7s6_14","modal-backdrop":"_modal-backdrop_ub7s6_23","modal-dialog":"_modal-dialog_ub7s6_27"};let yT=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.options={},r.state={selectedTilesets:[{datatype:"none"}],allTracksSameDatatype:!0},r.handleSubmitBound=r.handleSubmit.bind(_assertThisInitialized3(r)),r.handleTilesetPickerDoubleClickBound=r.handleTilesetPickerDoubleClick.bind(_assertThisInitialized3(r)),r.selectedTilesetsChangedBound=r.selectedTilesetsChanged.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"getOrientation",value:function(r){let a=null;return r==="top"||r==="bottom"?a="1d-horizontal":r==="left"||r==="right"?a="1d-vertical":a="2d",a}},{key:"handleSubmit",value:function(r){r&&r.preventDefault(),this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host)}},{key:"handleTilesetPickerDoubleClick",value:function(r){this.selectedTilesetsChanged([r]),this.props.onTracksChosen(this.state.selectedTilesets,this.props.position,this.props.host)}},{key:"handleOptionsChanged",value:function(r){this.options=r}},{key:"handlePlotTypeSelected",value:function(r){const{selectedTilesets:a}=this.state;for(const o of a)o.type=r;this.selectedPlotType=r,this.setState({selectedTilesets:a})}},{key:"selectedTilesetsChanged",value:function(r){let a=null;r.length===0?a=[{datatype:"none"}]:a=r;let o=!0;const s=a[0].datatype;for(const u of a)u.datatype!==s&&(o=!1);if(o)for(const u of a)u.type=this.selectedPlotType;else for(const u of a){let c=[u.datatype];const l=this.getOrientation(this.props.position);u.filetype==="cooler"&&(c=[u.datatype,"chromsizes"]);const f=fT([c],l),h=yb(c[0],this.props.position,f);u.type=h.type}this.setState({selectedTilesets:a,allTracksSameDatatype:o})}},{key:"render",value:function(){const r=this.getOrientation(this.props.position),a=A.default.createElement("div",null,A.default.createElement(qke,{ref:o=>{this.tilesetFinder=o},datatype:this.props.datatype,onDoubleClick:this.handleTilesetPickerDoubleClick.bind(this),onTracksChosen:o=>this.props.onTracksChosen(o,this.props.position),orientation:r,selectedTilesetChanged:this.selectedTilesetsChanged.bind(this),trackSourceServers:this.props.trackSourceServers}));return A.default.createElement(Bd,{maxHeight:!0,okayTitle:"Submit",onCancel:this.props.onCancel,onOkay:this.handleSubmitBound,title:"Add Track"},A.default.createElement(A.default.Fragment,null,a,A.default.createElement(q$,{ref:o=>{this.plotTypeChooser=o},allTracksSameDatatype:this.state.allTracksSameDatatype,datatypes:this.state.selectedTilesets.map(o=>o.filetype==="cooler"?[o.datatype,"chromsizes"]:[o.datatype]),onPlotTypeSelected:this.handlePlotTypeSelected.bind(this),orientation:r,position:this.props.position})))}}]),n}(A.default.Component);yT.defaultProps={position:"top"},yT.propTypes={datatype:N.exports.string,host:N.exports.string,onCancel:N.exports.func.isRequired,onTracksChosen:N.exports.func.isRequired,position:N.exports.string,trackSourceServers:N.exports.array.isRequired};let jI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){const r=[];return this.props.children.forEach((a,o)=>{const s=`customTrackDialog_${o}`;r.push(A.default.createElement(a,{key:s,...this.props.bodyProps[o]}))}),A.default.createElement(Bd,{maxHeight:!0,okayOnly:!0,okayTitle:"Close",onCancel:this.props.onCancel,onOkay:this.props.onCancel,title:this.props.title},r)}}]),n}(A.default.PureComponent);jI.defaultProps={},jI.propTypes={onCancel:N.exports.func.isRequired};const X$=20;let Ms=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.adjusted=!1,r.state={orientation:r.props.orientation?r.props.orientation:"right",left:r.props.position.left,top:r.props.position.top,submenuShown:null},r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.updateOrientation()}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.adjusted=!1,this.setState({left:r.position.left,top:r.position.top})}},{key:"componentDidUpdate",value:function(){this.updateOrientation()}},{key:"handleItemMouseEnterWithRect",value:function(r,a){this.setState({submenuShown:a,submenuSourceBbox:r})}},{key:"handleItemMouseEnter",value:function(r,a){this.handleItemMouseEnterWithRect(r.currentTarget.getBoundingClientRect(),a)}},{key:"handleMouseLeave",value:function(){}},{key:"handleOtherMouseEnter",value:function(){this.setState({submenuShown:null})}},{key:"updateOrientation",value:function(){if(this.adjusted)return;this.adjusted=!0,this.divDom=Un.default.findDOMNode(this.div);const r=this.divDom.getBoundingClientRect(),a=this.props.parentBbox?this.props.parentBbox:{top:this.props.position.top,left:this.props.position.left,width:0,height:0};let o=this.state.orientation,s=a.top;if(a.top+r.height>window.innerHeight&&(a.top-r.height>0?s=a.top-r.height+X$:(s=a.top-r.height+X$,s-=s+r.height-window.innerHeight)),this.state.orientation==="left"){let u=a.left-r.width;u<0&&(a.left+a.width+r.width>window.innerWidth?u=0:(u=a.left+a.width,o="right")),this.setState({left:u,top:s,orientation:o})}else{let u=a.left+a.width;a.left+a.width+r.width>window.innerWidth&&(a.left-r.width<0?(u=0,o="right"):(u=a.left-r.width,o="left")),this.setState({left:u,top:s,orientation:o})}}},{key:"render",value:function(){const r=this.state.left?{left:this.state.left}:{right:this.state.right},a={top:this.state.top},o=Object.assign(r,a);return A.default.createElement("div",{ref:s=>{this.div=s},className:qt("context-menu-item",mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),style:o},this.props.children)}}]),n}(A.default.Component);Ms.propTypes={children:N.exports.node,orientation:N.exports.string,parentBbox:N.exports.object,position:N.exports.object,theme:N.exports.symbol.isRequired};let VI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top},o=this.state.submenuShown;return A.default.createElement(n,{menuItems:o.children,orientation:this.state.orientation,parentBbox:r,position:a,theme:this.props.theme})}return A.default.createElement("div",null)}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){const r=[];for(const a in this.props.menuItems){const o=this.props.menuItems[a];r.push(A.default.createElement(St,{key:a,onClick:o.handler?o.handler:()=>null,onMouseEnter:o.children?s=>this.handleItemMouseEnter(s,o):this.handleOtherMouseEnter.bind(this),onMouseLeave:this.handleMouseLeave},o.name,o.children&&A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"}))))}return A.default.createElement("div",{ref:a=>{this.div=a},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),style:{left:this.state.left,top:this.state.top}},r,this.getSubmenu())}}]),n}(Ms),Xke=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"getConfigureSeriesMenu",value:function(r,a,o){const s={},u=window.higlassTracksByType&&window.higlassTracksByType[o.type]&&window.higlassTracksByType[o.type].config&&window.higlassTracksByType[o.type].config.optionsInfo;if(u)for(const c of Object.keys(u))mr[c]=u[c];if(!dn[o.type]||!dn[o.type].availableOptions)return null;for(const c of dn[o.type].availableOptions)if(c in mr){if(s[c]={name:mr[c].name},mr[c].generateOptions){const l=mr[c].generateOptions(o);s[c].children||(s[c].children={});for(const f of l){const h={name:f.name,value:f.value,handler:()=>{o.options[c]=f.value,this.props.onTrackOptionsChanged(o.uid,o.options),this.props.closeMenu()}};s[c].children[f.value]=h}}if(mr[c].inlineOptions)for(const l in mr[c].inlineOptions){const f=mr[c].inlineOptions[l];s[c].children||(s[c].children={});const h={name:f.name,value:f.value};f.componentPickers&&f.componentPickers[o.type]?h.handler=()=>{this.props.onConfigureTrack(o,f.componentPickers[o.type]),this.props.closeMenu()}:h.handler=()=>{o.options[c]=f.value,this.props.onTrackOptionsChanged(o.uid,o.options),this.props.closeMenu()},s[c].children[l]=h}else mr[c].componentPickers&&mr[c].componentPickers[o.type]&&(s[c].handler=()=>{this.props.onConfigureTrack(o,mr[c].componentPickers[o.type]),this.props.closeMenu()})}return A.default.createElement(VI,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems:s,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getTrackTypeItems",value:function(r,a,o){window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(f=>{dn[f]=window.higlassTracksByType[f].config});let{datatype:s}=o,u=null;o.type in dn&&(s||(s=dn[o.type].datatype[0]),{orientation:u}=dn[o.type]);const c=Object.values(dn).filter(f=>f.datatype).filter(f=>f.orientation).filter(f=>f.datatype.includes(s)).filter(f=>f.orientation===u).map(f=>f.type),l={};for(let f=0;f<c.length;f++)l[c[f]]={value:c[f],name:c[f],handler:()=>{this.props.onChangeTrackType(o.uid,c[f])}};return A.default.createElement(VI,{key:"track-type-items",closeMenu:this.props.closeMenu,menuItems:l,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top},o=this.state.submenuShown,s=o.value;return o.option==="track-type"?this.getTrackTypeItems(a,r,s):this.getConfigureSeriesMenu(a,r,s)}return A.default.createElement("div",null)}},{key:"getDivideByMenuItem",value:function(){if(this.props.series.data&&this.props.series.data.type==="divided"){const r={tilesetUid:this.props.series.data.children[0].tilesetUid,server:this.props.series.data.children[0].server};return A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onChangeTrackData(this.props.series.uid,r),onMouseEnter:a=>this.handleOtherMouseEnter(a)},A.default.createElement("span",{className:mt["context-menu-span"]},"Remove divisor"))}return A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onAddDivisor(this.props.series),onMouseEnter:r=>this.handleOtherMouseEnter(r)},A.default.createElement("span",{className:mt["context-menu-span"]},"Divide by"))}},{key:"componentWillUnmount",value:function(){}},{key:"render",value:function(){let r=null;dn[this.props.series.type]&&dn[this.props.series.type].exportable&&(r=A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>this.props.onExportData(this.props.hostTrack.uid,this.props.track.uid),onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Export Data")));const a=this.props.onAddSeries?A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>{this.props.onCloseTrack(this.props.series.uid),this.props.onAddSeries(this.props.hostTrack.uid)},onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Replace Series")):null;return A.default.createElement("div",{ref:o=>{this.div=o},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"SeriesListMenu",onMouseLeave:this.props.handleMouseLeave,style:{left:this.state.left,top:this.state.top}},A.default.createElement(St,{onClick:()=>{},onMouseEnter:o=>this.handleItemMouseEnter(o,{option:"configure-series",value:this.props.track}),onMouseLeave:o=>this.handleMouseLeave(o)},"Configure Series",A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"}))),A.default.createElement(St,{className:mt["context-menu-item"],onClick:()=>{},onMouseEnter:o=>this.handleItemMouseEnter(o,{option:"track-type",value:this.props.track}),onMouseLeave:o=>this.handleMouseLeave(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Track Type",A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"})))),r,this.getDivideByMenuItem(),A.default.createElement(St,{className:mt["context-menu-item"],onClick:this.props.onCloseTrack,onMouseEnter:o=>this.handleOtherMouseEnter(o)},A.default.createElement("span",{className:mt["context-menu-span"]},"Close Series")),a,this.getSubmenu())}}]),n}(Ms);const K$=e=>{let t=[];for(const n of e)n.contents?t=t.concat(n.contents):t.push(n);return t},YI=(e,t,n,i)=>e?(window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(r=>{dn[r]=window.higlassTracksByType[r].config}),K$(e).map(r=>{const a=dn[r.type]?dn[r.type].thumbnail:null,o=a?A.default.createElement("div",{className:mt["context-menu-icon"],dangerouslySetInnerHTML:{__html:a.outerHTML}}):A.default.createElement("div",{className:mt["context-menu-icon"]},A.default.createElement("svg",null));return A.default.createElement(St,{key:r.uid,className:mt["context-menu-item"],onClick:()=>{i&&i(r.uid)},onMouseEnter:s=>{t&&t(s,r)},onMouseLeave:s=>{n&&n(s)}},o,A.default.createElement("span",{className:mt["context-menu-span"]},r.options&&r.options.name&&r.options.name.length?r.options.name:r.type,t&&n?A.default.createElement("svg",{className:mt["play-icon"]},A.default.createElement("use",{xlinkHref:"#play"})):null))})):null,Z$=ky(e=>function(t){_inherits3(i,t);var n=_createSuper3(i);function i(){return _classCallCheck3(this,i),n.apply(this,arguments)}return _createClass3(i,[{key:"getSubmenu",value:function(){if(this.state.submenuShown){const a=this.state.submenuSourceBbox;let o=null;this.state.orientation==="left"?o={left:this.state.left,top:a.top}:o={left:this.state.left+a.width+7,top:a.top};const u=K$(this.props.tracks).filter(l=>l.uid===this.state.submenuShown.uid)[0],c=u&&u.position!=="whole";return A.default.createElement(Xke,{key:`series-list-menu-${u.uid}`,ref:l=>{this.seriesListMenu=l},closeMenu:this.props.closeMenu,hostTrack:this.props.tracks[0],onAddDivisor:this.props.onAddDivisor,onAddSeries:c?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:a,position:o,series:this.state.submenuShown,theme:this.props.theme,track:u,trackOrientation:this.props.trackOrientation,trackSourceServers:this.props.trackSourceServers})}return A.default.createElement("div",null)}}]),i}(e));let Kke=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.seriesRefs={},r.seriesListMenu=null,r}return _createClass3(n,[{key:"componentDidMount",value:function(){_get4(_getPrototypeOf4(n.prototype),"componentDidMount",this).call(this)}},{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.div=r},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ConfigTrackMenu",style:{left:this.state.left,top:this.state.top}},YI(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this),null),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onLockValueScale(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Lock Value Scale With"),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onUnlockValueScale(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Unlock Value Scale"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{contextMenu:this,onClick:()=>this.props.onAddSeries(this.props.tracks[0].uid),onMouseEnter:r=>this.handleOtherMouseEnter(r)},"Add Series"),A.default.createElement(St,{onClick:()=>this.props.onCloseTrack(this.props.tracks[0].uid)},"Close Track"),A.default.createElement(St,{onClick:()=>{this.props.onReplaceTrack(this.props.tracks[0].uid,this.props.trackOrientation)}},"Replace Track"),this.getSubmenu())}}]),n}(fh(Ms).with(Z$));function Q$(e){return A.default.createElement("div",null,YI(e.tracks,null,null,e.onCloseTrack),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>e.onCloseTrack(e.tracks[0].uid)},"Close all series"))}Q$.propTypes={onCloseTrack:N.exports.func.isRequired,tracks:N.exports.array.isRequired};let Ls=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.clickHandlerBound=r.clickHandler.bind(_assertThisInitialized3(r)),r.contextMenuHandlerBound=r.contextMenuHandler.bind(_assertThisInitialized3(r)),r.resizeHandlerBound=r.resizeHandler.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"componentDidMount",value:function(){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,!0),document.addEventListener("contextmenu",this.contextMenuHandlerBound,!0),window.addEventListener("resize",this.resizeHandlerBound,!0),this._renderLayer()}},{key:"componentDidUpdate",value:function(){this._renderLayer()}},{key:"componentWillUnmount",value:function(){document.removeEventListener("click",this.clickHandlerBound,!0),document.removeEventListener("contextmenu",this.contextMenuHandlerBound,!0),window.removeEventListener("resize",this.resizeHandlerBound,!0),Un.default.unmountComponentAtNode(this.popup),document.body.removeChild(this.popup)}},{key:"_renderLayer",value:function(){Un.default.render(this.props.children,this.popup)}},{key:"clickHandler",value:function(r){this.popup.contains(r.target)||this.props.onMenuClosed&&this.props.onMenuClosed(r)}},{key:"contextMenuHandler",value:function(r){r.altKey||(r.preventDefault(),this.clickHandler(r))}},{key:"resizeHandler",value:function(){this.props.onMenuClosed(null)}},{key:"render",value:function(){return A.default.createElement("div",null)}}]),n}(A.default.Component);Ls.defaultProps={onMenuClosed:uR},Ls.propTypes={children:N.exports.node.isRequired,onMenuClosed:N.exports.func};const Zke=FP(e=>A.default.createElement(e9,{className:e.className,controlAlignLeft:e.controlAlignLeft,editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,item:e.item,onAddSeries:e.onAddSeries,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width})),Qke={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function J$(e){return e&&e.sourceEvent}let WI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.brushBehavior=vf().on("start",r.brushStarted.bind(_assertThisInitialized3(r))).on("brush",r.brushed.bind(_assertThisInitialized3(r))).on("end",r.brushedEnded.bind(_assertThisInitialized3(r))),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,a){if(this.rangeSelectionTriggered)return this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==a;if(this.props.rangeSelection!==r.rangeSelection){const o=this.props.is1dRangeSelection?0:1;return this.moveBrush(r.rangeSelection[o]?r.rangeSelection[o]:null,r.rangeSelectionEnd),this.state!==a}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,zu(this.brushEl,Aa["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const a=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!J$(r)||!this.props.onRangeSelection||a)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!J$(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const a=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!a&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,a=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,a?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){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(){const r=this.props.tracks.map(s=>s.width).reduce(es,0),a=this.props.tracks.map(s=>Ld(s)).reduce(Nf,!1),o=Aa[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return A.default.createElement("div",{className:Qke["vertical-tiled-plot"]},a&&A.default.createElement("svg",{ref:s=>{this.brushEl=xt(s)},className:o,style:{height:this.props.height,width:r},xmlns:"http://www.w3.org/2000/svg"}),A.default.createElement(Vy,{axis:"x",className:qt(Sa.list,Sa.stylizedList,Sa.horizontalList),component:B8,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:Sa.stylizedHelper,itemClass:qt(Sa.stylizedItem,Sa.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:Zke,items:this.props.tracks.map(s=>({configMenuVisible:s.uid===this.props.configTrackMenuId,uid:s.uid||Pt.nice(),height:this.props.height,width:s.width,value:s.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:!0,width:r}))}}]),n}(A.default.Component);WI.propTypes={configTrackMenuId:N.exports.string,editable:N.exports.bool,handleConfigTrack:N.exports.func,handleResizeTrack:N.exports.func,handleSortEnd:N.exports.func,is1dRangeSelection:N.exports.bool,isRangeSelectionActive:N.exports.bool,height:N.exports.number,onAddSeries:N.exports.func,onCloseTrack:N.exports.func,onCloseTrackMenuOpened:N.exports.func,onConfigTrackMenuOpened:N.exports.func,onRangeSelection:N.exports.func,onRangeSelectionEnd:N.exports.func,onRangeSelectionReset:N.exports.func,onRangeSelectionStart:N.exports.func,rangeSelection:N.exports.array,rangeSelectionEnd:N.exports.bool,referenceAncestor:N.exports.func,resizeHandles:N.exports.object,scale:N.exports.func,tracks:N.exports.array,tracksControlAlignLeft:N.exports.bool};let eU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){const r=YI(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this)),a=this.props.customItems?A.default.Children.map(this.props.customItems,o=>A.default.cloneElement(o,{onMouseEnter:s=>{this.handleOtherMouseEnter(s)}})):null;return A.default.createElement("div",{ref:o=>{this.div=o},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},a,a&&A.default.createElement("hr",{className:mt["context-menu-hr"]}),r,r&&A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Rule"),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Rule"),A.default.createElement(St,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Cross Rule"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&A.default.createElement(St,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&A.default.createElement(St,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Cross Section"),this.getSubmenu())}},{key:"hasMatrixTrack",value:function(r){return Wg(this.props.tracks).filter(o=>o.type==="heatmap").length>0}},{key:"handleAddHorizontalSection",value:function(){const a=Wg(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),this.props.onAddTrack({data:{type:"horizontal-section",server:a.server,tilesetUid:a.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"})}},{key:"handleAddVerticalSection",value:function(){const a=Wg(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),this.props.onAddTrack({data:{type:"vertical-section",server:a.server,tilesetUid:a.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"})}}]),n}(fh(Ms).with(Z$));eU.propTypes={coords:N.exports.array,customItems:N.exports.array};let qI=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;_classCallCheck3(this,n),r=t.call(this,i),r.closing=!1;const{tracks:a}=r.props;return r.canvasElement=null,r.tracksByUidInit={},[...r.props.tracks.top||[],...r.props.tracks.right||[],...r.props.tracks.bottom||[],...r.props.tracks.left||[],...r.props.tracks.gallery||[],...r.props.tracks.center||[]].forEach(o=>{o.type==="combined"?o.contents.forEach(s=>{r.tracksByUidInit[s.uid]=!1}):r.tracksByUidInit[o.uid]=!1}),r.xScale=null,r.yScale=null,r.addUidsToTracks(a),r.trackToReplace=null,r.trackRenderer=null,r.configTrackMenu=null,r.state={sizeMeasured:!1,height:10,width:10,tracks:a,init:!1,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:!1,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null},r.reset=!0,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(o=>{dn[o]=window.higlassTracksByType[o].config}),r.topHeight=0,r.bottomHeight=0,r.leftWidth=0,r.rightWidth=0,r.centerHeight=0,r.centerWidth=0,r.dragTimeout=null,r.previousPropsStr="",r.contextMenuHandlerBound=r.contextMenuHandler.bind(_assertThisInitialized3(r)),r.handleNoTrackAddedBound=r.handleNoTrackAdded.bind(_assertThisInitialized3(r)),r.handleTracksAddedBound=r.handleTracksAdded.bind(_assertThisInitialized3(r)),r.closeMenusBound=r.closeMenus.bind(_assertThisInitialized3(r)),r.handleAddDivisorBound=r.handleAddDivisor.bind(_assertThisInitialized3(r)),r.handleAddSeriesBound=r.handleAddSeries.bind(_assertThisInitialized3(r)),r.handleChangeTrackDataBound=r.handleChangeTrackData.bind(_assertThisInitialized3(r)),r.handleChangeTrackTypeBound=r.handleChangeTrackType.bind(_assertThisInitialized3(r)),r.handleCloseTrackBound=r.handleCloseTrack.bind(_assertThisInitialized3(r)),r.handleConfigureTrackBound=r.handleConfigureTrack.bind(_assertThisInitialized3(r)),r.handleExportTrackDataBound=r.handleExportTrackData.bind(_assertThisInitialized3(r)),r.handleLockValueScaleBound=r.handleLockValueScale.bind(_assertThisInitialized3(r)),r.handleReplaceTrackBound=r.handleReplaceTrack.bind(_assertThisInitialized3(r)),r.handleTrackOptionsChangedBound=r.handleTrackOptionsChanged.bind(_assertThisInitialized3(r)),r.handleUnlockValueScaleBound=r.handleUnlockValueScale.bind(_assertThisInitialized3(r)),r.onAddTrack=r.handleAddTrack.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"waitForDOMAttachment",value:function(r){if(!this.mounted)return;const a=Un.default.findDOMNode(this);document.body.contains(a)?r():requestAnimationFrame(()=>this.waitForDOMAttachment(r))}},{key:"componentDidMount",value:function(){this.mounted=!0,this.element=Un.default.findDOMNode(this),this.canvasElement=Un.default.findDOMNode(this.props.canvasElement),this.waitForDOMAttachment(()=>{ug.ElementQueries.listen(),this.resizeSensor=new ug.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(r){this.addUidsToTracks(r.tracks),this.setState({tracks:r.tracks})}},{key:"shouldComponentUpdate",value:function(r,a){const o=this.previousPropsStr,s=this.updatablePropsToString(r),u=JSON.stringify(this.state),c=JSON.stringify(a),l=o!==s||u!==c||this.props.chooseTrackHandler!==r.chooseTrackHandler||this.props.customDialog!==r.customDialog;l&&(this.previousPropsStr=s);const f=this.numTracks;return this.numTracks=0,Ao(this.props.tracks,()=>this.numTracks++),this.reset=this.reset||f===0&&this.numTracks>0,this.numTracks||(this.tracksByUidInit={}),l}},{key:"UNSAFE_componentWillUpdate",value:function(){}},{key:"componentDidUpdate",value:function(r,a){if(a.rangeSelection!==this.state.rangeSelection){let o=[null,null];this.state.defaultChromSizes&&this.state.rangeSelection.every(s=>s&&s.length)&&(o=this.state.rangeSelection.map(s=>Lg(...s,this.state.defaultChromSizes))),this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange:o})}if(this.state.customDialog||this.props.customDialog){const o=this.state.customDialog||this.props.customDialog;if(o.length>0){const s=[],u=[];o.forEach(c=>{s.push(c.bodyComponent),u.push(c.bodyProps)}),this.props.modal.open(A.default.createElement(jI,{children:s,bodyProps:u,onCancel:this.props.closeCustomDialog,title:o[0].title}))}}if(r.tracks.center,this.props.tracks.center,(this.state.addTrackPosition||this.props.addTrackPosition)&&this.props.modal.open(A.default.createElement(yT,{host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers})),this.state.addDivisorDialog){const o=this.state.addDivisorDialog;this.props.modal.open(A.default.createElement(yT,{datatype:dn[o.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null})},onTracksChosen:s=>{this.handleDivisorChosen(o,s)},trackSourceServers:this.props.trackSourceServers}))}}},{key:"componentWillUnmount",value:function(){this.closing=!0,this.removeEventListeners(),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r))}},{key:"addUidsToTracks",value:function(r){Object.keys(r).forEach(a=>{r[a].forEach(o=>{o.uid=o.uid||Pt.nice()})})}},{key:"contextMenuHandler",value:function(r){if(!this.divTiledPlot)return;const a=this.divTiledPlot.getBoundingClientRect();if(!_b(r.clientX,r.clientY,a.left,a.left+a.width,a.top,a.top+a.height))return;const s=[r.clientX,r.clientY],u=sn(r,this.divTiledPlot),c=this.trackRenderer.zoomedXScale.invert(u[0]),l=this.trackRenderer.zoomedYScale.invert(u[1]);let f=null;r.hgCustomItems&&(f=r.hgCustomItems.map(h=>A.default.createElement(St,{key:h.key,onClick:h.onClick},h.text))),this.setState({contextMenuCustomItems:f,contextMenuPosition:{left:s[0],top:s[1],canvasLeft:u[0]+this.trackRenderer.xPositionOffset,canvasTop:u[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:c,contextMenuDataY:l})}},{key:"measureSize",value:function(){this.element.clientWidth>0&&this.element.clientHeight>0&&this.setState({sizeMeasured:!0,width:this.element.clientWidth,height:this.element.clientHeight})}},{key:"handleTrackOptionsChanged",value:function(r,a){return this.props.onTrackOptionsChanged(r,a)}},{key:"handleScalesChanged",value:function(r,a){this.xScale=r,this.yScale=a,this.props.onScalesChanged(r,a)}},{key:"handleTilesetInfoReceived",value:function(r,a){const o=Ci(this.props.tracks,r);if(!o){console.warn("Strange, track not found:",r);return}this.tracksByUidInit[o.uid]=!0,this.checkAllTilesetInfoReceived(),o.options||(o.options={}),o.name=a.name,o.maxWidth=a.max_width,o.transforms=a.transforms,o.aggregationModes=a.aggregation_modes,o.header=a.header,o.binsPerDimension=a.bins_per_dimension,a.resolutions?(o.maxZoom=a.resolutions.length-1,o.resolutions=a.resolutions):o.maxZoom=a.max_zoom,o.coordSystem=a.coordSystem,o.datatype=a.datatype}},{key:"checkAllTilesetInfoReceived",value:function(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit())return;const r=Object.keys(this.trackRenderer.trackDefObjects).map(o=>{const s=this.trackRenderer.trackDefObjects[o].trackObject;return s.childTracks?s.childTracks:s}).reduce((o,s)=>o.concat(s),[]).filter(({tilesetInfo:o})=>typeof o<"u"&&o!==!0),a=Object.values(this.tracksByUidInit).filter(o=>o).length;r.length===a&&(this.setState({init:!0}),this.reset=!1,this.handleZoomToData())}},{key:"handleOverlayMouseEnter",value:function(r){this.setState({mouseOverOverlayUid:r})}},{key:"handleOverlayMouseLeave",value:function(r){r===this.state.mouseOverOverlayUid&&this.setState({mouseOverOverlayUid:null})}},{key:"handleTrackPositionChosen",value:function(r){this.setState({mouseOverOverlayUid:null}),this.props.chooseTrackHandler(r.track.uid)}},{key:"handleNoTrackAdded",value:function(){this.trackToReplace=null,this.props.onNoTrackAdded(),this.setState({addTrackPosition:null,addTrackHost:null})}},{key:"handleAddDivisor",value:function(r){this.setState({addDivisorDialog:r})}},{key:"handleDivisorChosen",value:function(r,a){this.setState({addDivisorDialog:null});const o=r.data?{server:r.data.server,tilesetUid:r.data.tilesetUid}:{server:r.server,tilesetUid:r.tilesetUid},s={server:a[0].server,tilesetUid:a[0].uuid};this.handleChangeTrackData(r.uid,{type:"divided",children:[o,s]})}},{key:"handleDivideSeries",value:function(r){}},{key:"handleAddSeries",value:function(r){const a=Of(this.props.tracks,r),o=Ci(this.props.tracks,r);this.setState({addTrackPosition:a,addTrackHost:o})}},{key:"handleReplaceTrack",value:function(r,a){this.trackToReplace=r,this.handleAddTrack(a)}},{key:"handleAddTrack",value:function(r){this.setState({addTrackPosition:r,addTrackHost:null})}},{key:"handleResizeTrack",value:function(r,a,o){const{tracks:s}=this.state;for(const u in s){const l=s[u].filter(f=>f.uid===r);l.length>0&&(l[0].width=a,l[0].height=o)}this.setState({tracks:s,forceUpdate:Math.random()}),this.props.onResizeTrack()}},{key:"closeMenus",value:function(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null})}},{key:"handleLockValueScale",value:function(r){this.closeMenus(),this.props.onLockValueScale(r)}},{key:"handleUnlockValueScale",value:function(r){this.closeMenus(),this.props.onUnlockValueScale(r)}},{key:"handleCloseTrack",value:function(r){this.closeMenus(),this.props.onCloseTrack(r)}},{key:"handleChangeTrackType",value:function(r,a){this.closeMenus(),this.props.onChangeTrackType(r,a)}},{key:"handleChangeTrackData",value:function(r,a){this.closeMenus(),this.props.onChangeTrackData(r,a)}},{key:"handleTracksAdded",value:function(r,a,o){return this.trackToReplace&&(this.handleCloseTrack(this.trackToReplace),this.trackToReplace=null),this.props.onTracksAdded(r,a,o),this.setState({addTrackPosition:null,addTrackHost:null}),r}},{key:"handleCloseTrackMenuOpened",value:function(r,a){this.setState({closeTrackMenuId:r,closeTrackMenuLocation:a})}},{key:"handleCloseContextMenu",value:function(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null})}},{key:"handleCloseTrackMenuClosed",value:function(){this.setState({closeTrackMenuId:null})}},{key:"handleConfigTrackMenuOpened",value:function(r,a){this.closeMenus(),this.setState({configTrackMenuId:r,configTrackMenuLocation:a})}},{key:"handleConfigureTrack",value:function(r,a){this.setState({configTrackMenuId:null,trackOptions:{track:r,configComponent:a}}),this.closeMenus()}},{key:"handleSortEnd",value:function(r){this.setState(a=>{const o=a.tracks,s={};for(let u=0;u<r.length;u++)s[r[u].uid]=u;for(const u in o){const c=o[u];if(!!c.length&&c[0].uid in s){const l=new Array(c.length);for(let f=0;f<c.length;f++)l[s[c[f].uid]]=c[f];o[u]=l}}return{tracks:o,forceUpdate:Math.random()}})}},{key:"createTracksAndLocations",value:function(){const r=[],{tracks:a}=this.state;return mb.forEach(o=>{a[o]&&a[o].forEach(s=>{s.contents&&s.contents.forEach(u=>{u.position=o}),s.position=o,r.push({track:s,location:o})})}),r}},{key:"calculateTrackPosition",value:function(r,a){let o=this.props.paddingTop,s=this.props.paddingBottom,u=this.props.paddingLeft,c=this.props.paddingRight,l=this.centerWidth,f=r.height,h=0,d=0;switch(a){case"top":u+=this.leftWidth;for(let p=0;p<this.state.tracks.top.length&&this.state.tracks.top[p].uid!==r.uid;p++)o+=this.state.tracks.top[p].height;break;case"bottom":u+=this.leftWidth,o+=this.topHeight+this.centerHeight+this.galleryDim;for(let p=0;p<this.state.tracks.bottom.length&&this.state.tracks.bottom[p].uid!==r.uid;p++)o+=this.state.tracks.bottom[p].height;break;case"left":o+=this.topHeight,l=r.width,f=this.centerHeight;for(let p=0;p<this.state.tracks.left.length&&this.state.tracks.left[p].uid!==r.uid;p++)u+=this.state.tracks.left[p].width;break;case"right":u+=this.leftWidth+this.centerWidth+this.galleryDim,o+=this.topHeight,l=r.width,f=this.centerHeight;for(let p=0;p<this.state.tracks.right.length&&this.state.tracks.right[p].uid!==r.uid;p++)u+=this.state.tracks.right[p].width;break;case"center":u+=this.leftWidth,o+=this.topHeight,f=this.centerHeight;break;case"gallery":u+=this.leftWidthNoGallery,o+=this.topHeightNoGallery,l=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft,f=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop,h=this.galleryDim,d=this.galleryDim;for(let p=0;p<this.state.tracks.gallery.length&&this.state.tracks.gallery[p].uid!==r.uid;p++)l-=2*this.state.tracks.gallery[p].height,f-=2*this.state.tracks.gallery[p].height,u+=this.state.tracks.gallery[p].height,o+=this.state.tracks.gallery[p].height,h-=this.state.tracks.gallery[p].height,d-=this.state.tracks.gallery[p].height;for(let p=0;p<this.state.tracks.right.length;p++)c+=this.state.tracks.right[p].width;for(let p=0;p<this.state.tracks.bottom.length;p++)s+=this.state.tracks.bottom[p].height;r.offsetX=h,r.offsetY=d,r.offsetTop=o,r.offsetRight=c,r.offsetBottom=s,r.offsetLeft=u;break;case"whole":default:l=this.leftWidth+this.centerWidth+this.rightWidth,f=this.topHeight+this.centerHeight+this.bottomHeight}return mb.indexOf(a)===-1&&console.warn("Track with unknown position present:",a,r),{left:u,top:o,width:l,height:f,track:r}}},{key:"findCentralHeatmapTrack",value:function(r){for(let a=0;a<r.length;a++){if(r[a].type==="combined")return this.findCentralHeatmapTrack(r[a].contents);if(r[a].type==="heatmap")return r[a]}}},{key:"trackUuidToOrientation",value:function(r){}},{key:"overlayTracks",value:function(r){return this.props.overlays?this.props.overlays.filter(o=>o.includes&&o.includes.length).map(o=>{const s=o.type?`overlay-${o.type}-track`:"overlay-track",u={...o,uid:o.uid||Pt.nice(),includes:o.includes,type:s,options:Object.assign(o.options,{orientationsAndPositions:o.includes.map(c=>{const l=Ci(this.props.tracks,c);if(!l)return console.warn(`OverlayTrack included uid (${c}) not found in the track list`),null;const f=Of(this.props.tracks,l.uid);let h;if((f==="top"||f==="bottom")&&(h="1d-horizontal"),(f==="left"||f==="right")&&(h="1d-vertical"),f==="center"&&(h="2d"),!h)return console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment"),null;const d=r.filter(m=>m.track.uid===c);if(!d.length)return null;const p={left:d[0].left-this.props.paddingLeft,top:d[0].top-this.props.paddingTop,width:d[0].width,height:d[0].height};return{orientation:h,position:p}}).filter(c=>c)})};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:u}}):[]}},{key:"positionedTracks",value:function(){return this.createTracksAndLocations().map(({track:a,location:o})=>this.calculateTrackPosition(a,o))}},{key:"createTrackPositionTexts",value:function(){const r=this.positionedTracks();return this.createTracksAndLocations(),r.map(o=>{const{track:s}=o;return A.default.createElement("div",{key:s.uid,style:{left:o.left,top:o.top,width:o.width,height:o.height,position:"absolute"}},s.uid.slice(0,2))})}},{key:"handleExportTrackData",value:function(r,a){const o=Ci(this.props.tracks,a);let s=null;r!==a?s=this.trackRenderer.trackDefObjects[r].trackObject.createdTracks[o.uid]:{trackObject:s}=this.trackRenderer.trackDefObjects[r],s.exportData(),this.closeMenus()}},{key:"listTracksAtPosition",value:function(r,a,o=!1){const s=[];if(!this.trackRenderer)return[];for(const u in this.trackRenderer.trackDefObjects){const c=this.trackRenderer.trackDefObjects[u].trackObject;if(c.respondsToPosition(r,a))if(o){if(this.props.tracks.center)if(this.props.tracks.center.contents)for(let l=0;l<this.props.tracks.center.contents.length;l++)this.props.tracks.center.contents[l].uid===u&&(c.is2d=!0);else this.props.tracks.center&&this.props.tracks.center.length&&this.props.tracks.center[0].uid===u&&(c.is2d=!0);s.push(c)}else s.push(this.trackRenderer.trackDefObjects[u].trackDef.track)}return s}},{key:"listAllTrackObjects",value:function(){const r=[];for(const a in this.trackRenderer.trackDefObjects){const o=this.trackRenderer.trackDefObjects[a];if(o.trackObject.createdTracks)for(const s in o.trackObject.createdTracks){const u=o.trackObject.createdTracks[s];r.push(u)}else r.push(o.trackObject)}return r}},{key:"handleZoomToData",value:function(){const r=Number.MAX_SAFE_INTEGER,a=Number.MIN_SAFE_INTEGER,o=[r,r],s=[a,a],u=this.listAllTrackObjects();for(const d of u)if(d.tilesetInfo&&d.tilesetInfo.min_pos)for(let p=0;p<d.tilesetInfo.min_pos.length;p++)d.tilesetInfo.min_pos[p]<o[p]&&(o[p]=d.tilesetInfo.min_pos[p]),d.tilesetInfo.max_pos[p]>s[p]&&(s[p]=d.tilesetInfo.max_pos[p]);const c=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let l=[c,c+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const f=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let h=[f,f+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(),o[0]<Number.MAX_SAFE_INTEGER&&s[0]>Number.MIN_SAFE_INTEGER&&(l=[o[0],s[0]]),o[1]<Number.MAX_SAFE_INTEGER&&s[1]>Number.MIN_SAFE_INTEGER&&(h=[o[1],s[1]]),this.props.onDataDomainChanged(l,h)}},{key:"resetViewport",value:function(){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(r){return JSON.stringify({tracks:r.tracks,overlays:r.overlays,viewOptions:r.viewOptions,uid:r.uid,addTrackPosition:r.addTrackPosition,editable:r.editable,marginTop:r.marginTop,marginBottom:r.marginBottom,marginLeft:r.marginLeft,marginRight:r.marginRight,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:r.paddingLeft,paddingRight:r.paddingRight,mouseTool:r.mouseTool,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,trackSourceServers:r.trackSourceServers,zoomable:r.zoomable,draggingHappening:r.draggingHappening})}},{key:"getXYScales",value:function(){this.trackRenderer&&(this.xScale=this.trackRenderer.currentXScale,this.yScale=this.trackRenderer.currentYScale)}},{key:"rangeViewToDataLoci",value:function(r,a){return a?[parseInt(a.invert(r[0]),10),parseInt(a.invert(r[1]),10)]:[null,null]}},{key:"rangeSelectionResetHandler",value:function(){this.state.rangeSelectionMaster&&this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:!1})}},{key:"rangeSelection1dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=r==="x"?this.xScale:this.yScale;return o=>{this.setState(s=>{const u=s.is1dRangeSelection?[null,null]:s.rangeSelection.slice(),c=!this.state.is1dRangeSelection&&r==="y"?1:0;let l=this.rangeViewToDataLoci(o,a);const f=l[1]-l[0];if(this.props.rangeSelection1dSize[0]>f){const h=l[0]+f/2;l=[h-this.props.rangeSelection1dSize[0]/2,h+this.props.rangeSelection1dSize[0]/2]}else if(this.props.rangeSelection1dSize[1]<f){const h=l[0]+f/2;l=[h-this.props.rangeSelection1dSize[1]/2,h+this.props.rangeSelection1dSize[1]/2]}return u[c]=l,this.props.rangeSelectionToInt&&(u[c]=u[c].map(h=>Math.round(h))),{rangeSelection:u,rangeSelectionEnd:!0}})}}},{key:"rangeSelection1dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=r==="x"?this.xScale:this.yScale;return o=>{this.setState(s=>{const u=s.is1dRangeSelection?[null,null]:s.rangeSelection.slice(),c=!s.is1dRangeSelection&&r==="y"?1:0;return u[c]=this.rangeViewToDataLoci(o,a),{rangeSelection:u,rangeSelectionEnd:!1}})}}},{key:"rangeSelection1dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!0,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales(),this.setState({rangeSelection:[this.rangeViewToDataLoci(r[0],this.xScale),this.rangeViewToDataLoci(r[1],this.yScale)],rangeSelectionEnd:!1})}},{key:"rangeSelection2dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!1,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const a=this.rangeViewToDataLoci(r[0],this.xScale),o=this.rangeViewToDataLoci(r[1],this.yScale);let s=[a,o];const u=a[1]-a[0],c=o[1]-o[0],l=[u,c];s.forEach((f,h)=>{if(this.props.rangeSelection1dSize[0]>l[h]){const d=f[0]+Math.round(l[h]/2);f[0]=d-this.props.rangeSelection1dSize[0]/2,f[1]=d+this.props.rangeSelection1dSize[0]/2}else if(this.props.rangeSelection1dSize[1]<l[h]){const d=f[0]+Math.round(l[h]/2);f[0]=d-this.props.rangeSelection1dSize[1]/2,f[1]=d+this.props.rangeSelection1dSize[1]/2}}),this.props.rangeSelectionToInt&&(s=s.map(f=>f.map(h=>Math.round(h)))),this.setState({rangeSelection:s,rangeSelectionEnd:!0})}},{key:"getContextMenu",value:function(){if(this.state.contextMenuPosition){const r=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return A.default.createElement(Ls,{onMenuClosed:this.closeMenusBound},A.default.createElement(eU,{closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:a=>{this.props.onTracksAdded([a],a.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:r,trackSourceServers:this.props.trackSourceServers}))}return null}},{key:"getIdealizedTrackPositionsOverlay",value:function(){const r=this.props.draggingHappening,a=r.datatype;if(!(a in sp)&&!r.defaultTracks){console.warn("unknown data type:",r.higlassTrack);return}const o={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]},s=sp[a]||{};if(r.defaultTracks)for(const k of r.defaultTracks)if(!dn[k])console.warn("unknown track type",k);else for(const L of o[dn[k].orientation])s[L]=k;const u=new Set(["top","left","right","center","bottom"].filter(k=>k in this.state.tracks&&this.state.tracks[k].length)),c="top"in s,l="left"in s,f="right"in s,h="bottom"in s,d="center"in s,p="center"in s||u.has("left")||u.has("right")||u.has("center"),m="top"in s,g="bottom"in s&&p,v="left"in s&&p,E="right"in s&&p,y=Object.keys(s).length&&("center"in s||p),T=A.default.createElement("div",{style:{flexGrow:1}}),b=A.default.cloneElement(T),S=A.default.createElement("div",{style:{display:"flex",flexGrow:1}},m&&(y||v)?T:null,A.default.createElement(gT,{defaultTrackType:s.top,draggingHappening:this.props.draggingHappening,enabled:c,onTrackDropped:k=>this.handleTracksAdded([k],"top"),style:{border:"1px solid black",flexGrow:1}}),m&&(y||v)?b:null),I=A.default.createElement("div",{style:{display:"flex",flexGrow:1}},m&&(y||v)?T:null,A.default.createElement(gT,{defaultTrackType:s.bottom,draggingHappening:this.props.draggingHappening,enabled:h,onTrackDropped:k=>this.handleTracksAdded([k],"bottom"),style:{border:"1px solid black",flexGrow:1}}),m&&(y||v)?b:null),D=A.default.createElement(gT,{defaultTrackType:s.left,draggingHappening:this.props.draggingHappening,enabled:l,onTrackDropped:k=>this.handleTracksAdded([k],"left"),style:{border:"1px solid black",flexGrow:1}}),R=A.default.createElement(gT,{defaultTrackType:s.center,draggingHappening:this.props.draggingHappening,enabled:d,onTrackDropped:k=>this.handleTracksAdded([k],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}}),M=A.default.cloneElement(D,{defaultTrackType:s.right,enabled:f,onTrackDropped:k=>this.handleTracksAdded([k],"right")});return A.default.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},A.default.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:.4}}),A.default.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},m?S:null,p&&A.default.createElement("div",{style:{display:"flex",height:m||g?"40%":"100%",width:"100%"}},v?D:null,y?R:null,E?M:null),g?I:null))}},{key:"render",value:function(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(y=>y.height).reduce(es,0):0,this.topHeightNoGallery=this.props.tracks.top.map(y=>y.height).reduce(es,0),this.topHeight=this.topHeightNoGallery+this.galleryDim,this.bottomHeightNoGallery=this.props.tracks.bottom.map(y=>y.height).reduce(es,0),this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim,this.leftWidthNoGallery=this.props.tracks.left.map(y=>y.width).reduce(es,0),this.leftWidth=this.leftWidthNoGallery+this.galleryDim,this.rightWidthNoGallery=this.props.tracks.right.map(y=>y.width).reduce(es,0),this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const r=this.props.paddingTop+this.props.paddingBottom,a=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(0,this.state.height-this.topHeight-this.bottomHeight-r),this.centerWidth=Math.max(0,this.state.width-this.leftWidth-this.rightWidth-a);const o="none",s=A.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:o,position:"absolute"}},A.default.createElement(qy,{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===zi,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:new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth})),u=A.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:o,position:"absolute"}},A.default.createElement(WI,{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===zi,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:new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left})),c=A.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:o,position:"absolute"}},A.default.createElement(WI,{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===zi,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:new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:!0})),l=A.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:o,position:"absolute"}},A.default.createElement(qy,{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===zi,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:new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth})),f=A.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:o,position:"absolute"}},A.default.createElement(z$,{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 h=A.default.createElement("div",{className:["center-track-container",HI["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:o}});this.props.tracks.center.length&&(h=A.default.createElement("div",{className:["center-track-container",HI["center-track-container"]].join(" "),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:o}},A.default.createElement($I,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===zi,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 d=this.positionedTracks();d=d.concat(this.overlayTracks(d));let p=null;this.state.sizeMeasured&&(p=A.default.createElement(Yke,{ref:y=>{this.trackRenderer=y,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===zi,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:d,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},s,u,c,l,f,h));let m=null,g=null;this.state.configTrackMenuId&&(m=A.default.createElement(Ls,{onMenuClosed:this.closeMenusBound},A.default.createElement(Kke,{ref:y=>{this.configTrackMenu=y},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:Of(this.props.tracks,this.state.configTrackMenuId),tracks:[Ci(this.props.tracks,this.state.configTrackMenuId)]}))),this.state.closeTrackMenuId&&(g=A.default.createElement(Ls,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},A.default.createElement(Ms,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},A.default.createElement(Q$,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[Ci(this.props.tracks,this.state.closeTrackMenuId)]}))));let v=null;this.props.chooseTrackHandler&&(v=d.filter(y=>y.track.position!=="whole").map(y=>{let T="transparent",b="none";return this.state.mouseOverOverlayUid===y.track.uid&&(T="yellow",b="1px solid black"),A.default.createElement("div",{key:y.track.uid,className:"tiled-plot-track-overlay",onClick:()=>this.handleTrackPositionChosen(y),onDragEnter:S=>{this.handleOverlayMouseEnter(y.track.uid),S.preventDefault()},onDragLeave:()=>this.handleOverlayMouseLeave(y.track.uid),onDragOver:S=>S.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(y),onMouseEnter:()=>this.handleOverlayMouseEnter(y.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(y.track.uid),style:{position:"absolute",left:y.left,top:y.top,width:y.width,height:y.height,background:T,opacity:.4,border:b,zIndex:1}})}));let E=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const y=this.state.trackOptions.configComponent,T=this.state.trackOptions.track;E=A.default.createElement(y,{track:T,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null})},onTrackOptionsChanged:b=>b,onSubmit:b=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,b),this.setState({trackOptions:null})}})}return A.default.createElement("div",{ref:y=>{this.divTiledPlot=y},className:["tiled-plot-div",Sa["tiled-plot"]].join(" "),style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},p,v,m,g,E,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay())}},{key:"addEventListeners",value:function(){this.eventListeners=[],this.eventListeners.forEach(r=>document.addEventListener(r.name,r.callback,!1))}},{key:"removeEventListeners",value:function(){this.eventListeners.forEach(r=>document.removeEventListener(r.name,r.callback))}}]),n}(A.default.Component);qI.defaultProps={isShowGlobalMousePosition:!1,pluginDataFetchers:{},pluginTracks:{},metaTracks:[],zoomable:!0},qI.propTypes={addTrackPosition:N.exports.string,canvasElement:N.exports.object,chooseTrackHandler:N.exports.func,chromInfoPath:N.exports.string,disableTrackMenu:N.exports.bool,dragging:N.exports.bool,draggingHappening:N.exports.bool,editable:N.exports.bool,getLockGroupExtrema:N.exports.func,initialXDomain:N.exports.array,initialYDomain:N.exports.array,isShowGlobalMousePosition:N.exports.bool,isValueScaleLocked:N.exports.func,marginBottom:N.exports.number.isRequired,marginLeft:N.exports.number.isRequired,marginRight:N.exports.number.isRequired,marginTop:N.exports.number.isRequired,paddingBottom:N.exports.number.isRequired,paddingLeft:N.exports.number.isRequired,paddingRight:N.exports.number.isRequired,paddingTop:N.exports.number.isRequired,metaTracks:N.exports.array,modal:N.exports.object,mouseTool:N.exports.string,onCloseTrack:N.exports.func,onChangeTrackData:N.exports.func,onChangeTrackType:N.exports.func,onDataDomainChanged:N.exports.func,onLockValueScale:N.exports.func,onMouseMoveZoom:N.exports.func,onNewTilesLoaded:N.exports.func,onNoTrackAdded:N.exports.func,onRangeSelection:N.exports.func.isRequired,onScalesChanged:N.exports.func,onTrackOptionsChanged:N.exports.func,onTrackPositionChosen:N.exports.func,onTracksAdded:N.exports.func,onUnlockValueScale:N.exports.func,onValueScaleChanged:N.exports.func,onResizeTrack:N.exports.func,overlays:N.exports.array,openModal:N.exports.func,pixiRenderer:N.exports.object,pixiStage:N.exports.object,pluginDataFetchers:N.exports.object,pluginTracks:N.exports.object,pubSub:N.exports.object.isRequired,rangeSelection1dSize:N.exports.array,rangeSelectionToInt:N.exports.bool,registerDraggingChangedListener:N.exports.func,removeDraggingChangedListener:N.exports.func,setCentersFunction:N.exports.func,svgElement:N.exports.object,theme:N.exports.symbol.isRequired,tracks:N.exports.object,trackSourceServers:N.exports.array,uid:N.exports.string,viewOptions:N.exports.object,xDomainLimits:N.exports.array,yDomainLimits:N.exports.array,zoomable:N.exports.bool,zoomLimits:N.exports.array,zoomToDataExtentOnInit:N.exports.func};const Jke=dh(Sv(hl(qI)));var tU={exports:{}},eOe=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tOe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol?"symbol":typeof e},nOe=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;function rOe(e){var t=void 0,n=void 0,i=void 0,r=e.ownerDocument,a=r.body,o=r&&r.documentElement;return t=e.getBoundingClientRect(),n=t.left,i=t.top,n-=o.clientLeft||a.clientLeft||0,i-=o.clientTop||a.clientTop||0,{left:n,top:i}}function nU(e,t){var n=e["page"+(t?"Y":"X")+"Offset"],i="scroll"+(t?"Top":"Left");if(typeof n!="number"){var r=e.document;n=r.documentElement[i],typeof n!="number"&&(n=r.body[i])}return n}function XI(e){return nU(e)}function KI(e){return nU(e,!0)}function rU(e){var t=rOe(e),n=e.ownerDocument,i=n.defaultView||n.parentWindow;return t.left+=XI(i),t.top+=KI(i),t}function iOe(e,t,n){var i="",r=e.ownerDocument,a=n||r.defaultView.getComputedStyle(e,null);return a&&(i=a.getPropertyValue(t)||a[t]),i}var aOe=new RegExp("^("+nOe+")(?!px)[a-z%]+$","i"),oOe=/^(top|right|bottom|left)$/,ZI="currentStyle",QI="runtimeStyle",au="left",sOe="px";function lOe(e,t){var n=e[ZI]&&e[ZI][t];if(aOe.test(n)&&!oOe.test(t)){var i=e.style,r=i[au],a=e[QI][au];e[QI][au]=e[ZI][au],i[au]=t==="fontSize"?"1em":n||0,n=i.pixelLeft+sOe,i[au]=r,e[QI][au]=a}return n===""?"auto":n}var ou=void 0;typeof window<"u"&&(ou=window.getComputedStyle?iOe:lOe);function JI(e,t){for(var n=0;n<e.length;n++)t(e[n])}function iU(e){return ou(e,"boxSizing")==="border-box"}var uOe=["margin","border","padding"],ew=-1,cOe=2,tw=1,hOe=0;function fOe(e,t,n){var i={},r=e.style,a=void 0;for(a in t)t.hasOwnProperty(a)&&(i[a]=r[a],r[a]=t[a]);n.call(e);for(a in t)t.hasOwnProperty(a)&&(r[a]=i[a])}function rm(e,t,n){var i=0,r=void 0,a=void 0,o=void 0;for(a=0;a<t.length;a++)if(r=t[a],r)for(o=0;o<n.length;o++){var s=void 0;r==="border"?s=r+n[o]+"Width":s=r+n[o],i+=parseFloat(ou(e,s))||0}return i}function TT(e){return e!=null&&e==e.window}var co={};JI(["Width","Height"],function(e){co["doc"+e]=function(t){var n=t.document;return Math.max(n.documentElement["scroll"+e],n.body["scroll"+e],co["viewport"+e](n))},co["viewport"+e]=function(t){var n="client"+e,i=t.document,r=i.body,a=i.documentElement,o=a[n];return i.compatMode==="CSS1Compat"&&o||r&&r[n]||o}});function aU(e,t,n){if(TT(e))return t==="width"?co.viewportWidth(e):co.viewportHeight(e);if(e.nodeType===9)return t==="width"?co.docWidth(e):co.docHeight(e);var i=t==="width"?["Left","Right"]:["Top","Bottom"],r=t==="width"?e.offsetWidth:e.offsetHeight;ou(e);var a=iU(e),o=0;(r==null||r<=0)&&(r=void 0,o=ou(e,t),(o==null||Number(o)<0)&&(o=e.style[t]||0),o=parseFloat(o)||0),n===void 0&&(n=a?tw:ew);var s=r!==void 0||a,u=r||o;if(n===ew)return s?u-rm(e,["border","padding"],i):o;if(s){var c=n===cOe?-rm(e,["border"],i):rm(e,["margin"],i);return u+(n===tw?0:c)}return o+rm(e,uOe.slice(n),i)}var dOe={position:"absolute",visibility:"hidden",display:"block"};function oU(e){var t=void 0,n=arguments;return e.offsetWidth!==0?t=aU.apply(void 0,n):fOe(e,dOe,function(){t=aU.apply(void 0,n)}),t}function Hh(e,t,n){var i=n;if((typeof t>"u"?"undefined":tOe(t))==="object"){for(var r in t)t.hasOwnProperty(r)&&Hh(e,r,t[r]);return}if(typeof i<"u"){typeof i=="number"&&(i+="px"),e.style[t]=i;return}return ou(e,t)}JI(["width","height"],function(e){var t=e.charAt(0).toUpperCase()+e.slice(1);co["outer"+t]=function(i,r){return i&&oU(i,e,r?hOe:tw)};var n=e==="width"?["Left","Right"]:["Top","Bottom"];co[e]=function(i,r){if(r!==void 0){if(i){ou(i);var a=iU(i);return a&&(r+=rm(i,["padding","border"],n)),Hh(i,e,r)}return}return i&&oU(i,e,ew)}});function pOe(e,t){Hh(e,"position")==="static"&&(e.style.position="relative");var n=rU(e),i={},r=void 0,a=void 0;for(a in t)t.hasOwnProperty(a)&&(r=parseFloat(Hh(e,a))||0,i[a]=r+t[a]-n[a]);Hh(e,i)}var mOe=eOe({getWindow:function(t){var n=t.ownerDocument||t;return n.defaultView||n.parentWindow},offset:function(t,n){if(typeof n<"u")pOe(t,n);else return rU(t)},isWindow:TT,each:JI,css:Hh,clone:function(t){var n={};for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);var r=t.overflow;if(r)for(var i in t)t.hasOwnProperty(i)&&(n.overflow[i]=t.overflow[i]);return n},scrollLeft:function(t,n){if(TT(t)){if(n===void 0)return XI(t);window.scrollTo(n,KI(t))}else{if(n===void 0)return t.scrollLeft;t.scrollLeft=n}},scrollTop:function(t,n){if(TT(t)){if(n===void 0)return KI(t);window.scrollTo(XI(t),n)}else{if(n===void 0)return t.scrollTop;t.scrollTop=n}},viewportWidth:0,viewportHeight:0},co),En=mOe;function gOe(e,t,n){n=n||{},t.nodeType===9&&(t=En.getWindow(t));var i=n.allowHorizontalScroll,r=n.onlyScrollIfNeeded,a=n.alignWithTop,o=n.alignWithLeft,s=n.offsetTop||0,u=n.offsetLeft||0,c=n.offsetBottom||0,l=n.offsetRight||0;i=i===void 0?!0:i;var f=En.isWindow(t),h=En.offset(e),d=En.outerHeight(e),p=En.outerWidth(e),m=void 0,g=void 0,v=void 0,E=void 0,y=void 0,T=void 0,b=void 0,S=void 0,I=void 0,D=void 0;f?(b=t,D=En.height(b),I=En.width(b),S={left:En.scrollLeft(b),top:En.scrollTop(b)},y={left:h.left-S.left-u,top:h.top-S.top-s},T={left:h.left+p-(S.left+I)+l,top:h.top+d-(S.top+D)+c},E=S):(m=En.offset(t),g=t.clientHeight,v=t.clientWidth,E={left:t.scrollLeft,top:t.scrollTop},y={left:h.left-(m.left+(parseFloat(En.css(t,"borderLeftWidth"))||0))-u,top:h.top-(m.top+(parseFloat(En.css(t,"borderTopWidth"))||0))-s},T={left:h.left+p-(m.left+v+(parseFloat(En.css(t,"borderRightWidth"))||0))+l,top:h.top+d-(m.top+g+(parseFloat(En.css(t,"borderBottomWidth"))||0))+c}),y.top<0||T.top>0?a===!0?En.scrollTop(t,E.top+y.top):a===!1?En.scrollTop(t,E.top+T.top):y.top<0?En.scrollTop(t,E.top+y.top):En.scrollTop(t,E.top+T.top):r||(a=a===void 0?!0:!!a,a?En.scrollTop(t,E.top+y.top):En.scrollTop(t,E.top+T.top)),i&&(y.left<0||T.left>0?o===!0?En.scrollLeft(t,E.left+y.left):o===!1?En.scrollLeft(t,E.left+T.left):y.left<0?En.scrollLeft(t,E.left+y.left):En.scrollLeft(t,E.left+T.left):r||(o=o===void 0?!0:!!o,o?En.scrollLeft(t,E.left+y.left):En.scrollLeft(t,E.left+T.left)))}var vOe=gOe;(function(e){e.exports=vOe})(tU);const yOe=UT(tU.exports),im=[];let nw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={highlightedIndex:null,menuTop:0,menuLeft:0,menuWidth:0,isOpen:!1},r.keyDownHandlers={ArrowDown(a){a.preventDefault();const o=this.getFilteredItems().length;if(!o)return;const{highlightedIndex:s}=this.state,u=s===null||s===o-1?0:s+1;this._performAutoCompleteOnKeyUp=!0,this.setState({highlightedIndex:u,isOpen:!0})},ArrowUp(a){a.preventDefault();const o=this.getFilteredItems().length;if(!o)return;const{highlightedIndex:s}=this.state,u=s===0||s===null?o-1:s-1;this._performAutoCompleteOnKeyUp=!0,this.setState({highlightedIndex:u,isOpen:!0})},Enter(a){if(this.state.isOpen!==!1)if(this.state.highlightedIndex===null)this.setState({isOpen:!1},()=>{this.inputEl.select()});else{a.preventDefault();const o=this.getFilteredItems()[this.state.highlightedIndex],s=this.props.getItemValue(o);this.setState({isOpen:!1,highlightedIndex:null},()=>{this.inputEl.setSelectionRange(s.length,s.length),this.props.onSelect(s,o)})}},Escape(){this.setState({highlightedIndex:null,isOpen:!1})}},r}return _createClass3(n,[{key:"getInitialState",value:function(){return{isOpen:!1,highlightedIndex:null}}},{key:"UNSAFE_componentWillMount",value:function(){this._ignoreBlur=!1,this._performAutoCompleteOnUpdate=!1,this._performAutoCompleteOnKeyUp=!1}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this._performAutoCompleteOnUpdate=!0,(this.props.items!==r.items||this.state.highlightedIndex>=r.items.length)&&this.setState({highlightedIndex:null})}},{key:"componentDidUpdate",value:function(r,a){this.state.isOpen===!0&&a.isOpen===!1&&this.setMenuPositions(),this.state.isOpen&&this._performAutoCompleteOnUpdate&&(this._performAutoCompleteOnUpdate=!1,this.maybeAutoCompleteText()),this.maybeScrollItemIntoView(),a.isOpen!==this.state.isOpen&&this.props.onMenuVisibilityChange(this.state.isOpen,this.inputEl)}},{key:"maybeScrollItemIntoView",value:function(){if(this.state.isOpen===!0&&this.state.highlightedIndex!==null){const r=this.refs[`item-${this.state.highlightedIndex}`],a=this.refs.menu;r&&yOe(gn.findDOMNode(r),gn.findDOMNode(a),{onlyScrollIfNeeded:!0})}}},{key:"handleKeyDown",value:function(r){this.keyDownHandlers[r.key]?this.keyDownHandlers[r.key].call(this,r):this.setState({highlightedIndex:null,isOpen:!0})}},{key:"handleChange",value:function(r){this._performAutoCompleteOnKeyUp=!0,this.props.onChange(r,r.target.value)}},{key:"handleKeyUp",value:function(){this._performAutoCompleteOnKeyUp&&(this._performAutoCompleteOnKeyUp=!1,this.maybeAutoCompleteText())}},{key:"getFilteredItems",value:function(){let r=this.props.items;return this.props.shouldItemRender&&(r=r.filter(a=>this.props.shouldItemRender(a,this.props.value))),this.props.sortItems&&r.sort((a,o)=>this.props.sortItems(a,o,this.props.value)),r}},{key:"maybeAutoCompleteText",value:function(){if(!this.props.autoHighlight||this.props.value==="")return;const{highlightedIndex:r}=this.state,a=this.getFilteredItems();if(a.length===0)return;const o=r!==null?a[r]:a[0];this.props.getItemValue(o).toLowerCase().indexOf(this.props.value.toLowerCase())===0&&r===null&&this.setState({highlightedIndex:0})}},{key:"setMenuPositions",value:function(){const r=this.inputEl,a=r.getBoundingClientRect(),o=globalThis.window.getComputedStyle(r),s=parseInt(o.marginBottom,10)||0,u=parseInt(o.marginLeft,10)||0,c=parseInt(o.marginRight,10)||0;this.setState({menuTop:a.bottom+s,menuLeft:a.left+u,menuWidth:a.width+u+c})}},{key:"highlightItemFromMouse",value:function(r){this.setState({highlightedIndex:r})}},{key:"selectItemFromMouse",value:function(r){const a=this.props.getItemValue(r);this.setState({isOpen:!1,highlightedIndex:null},()=>{this.props.onSelect(a,r),this.inputEl.focus()})}},{key:"setIgnoreBlur",value:function(r){this._ignoreBlur=r}},{key:"renderMenu",value:function(){const r=this.getFilteredItems().map((s,u)=>{const c=this.props.renderItem(s,this.state.highlightedIndex===u,{cursor:"default"});return A.default.cloneElement(c,{onMouseDown:()=>this.setIgnoreBlur(!0),onMouseEnter:()=>this.highlightItemFromMouse(u),onClick:()=>this.selectItemFromMouse(s),ref:`item-${u}`})}),a={left:this.state.menuLeft,top:this.state.menuTop,minWidth:this.state.menuWidth};if(!r.length)return null;const o=this.props.renderMenu(r,this.props.value,a);return A.default.cloneElement(o,{ref:"menu"})}},{key:"handleInputBlur",value:function(){this.props.onFocus&&this.props.onFocus(),!this._ignoreBlur&&this.setState({isOpen:!1,highlightedIndex:null})}},{key:"handleInputFocus",value:function(){if(this.props.onFocus&&this.props.onFocus(!0),this._ignoreBlur){this.setIgnoreBlur(!1);return}this._ignoreClick=!0,this.setState({isOpen:!0})}},{key:"isInputFocused",value:function(){return this.inputEl.ownerDocument&&this.inputEl===this.inputEl.ownerDocument.activeElement}},{key:"handleInputClick",value:function(){this.isInputFocused()&&this.state.isOpen===!1?this.setState({isOpen:!0}):this.state.highlightedIndex!==null&&!this._ignoreClick&&this.selectItemFromMouse(this.getFilteredItems()[this.state.highlightedIndex]),this._ignoreClick=!1}},{key:"composeEventHandlers",value:function(r,a){return a?o=>{r(o),a(o)}:r}},{key:"render",value:function(){this.props.debug&&im.push({id:im.length,state:this.state});const{inputProps:r}=this.props;return A.default.createElement("div",{style:{...this.props.wrapperStyle},...this.props.wrapperProps},A.default.createElement("input",{...r,ref:a=>{this.inputEl=a},"aria-autocomplete":"list",autoComplete:"off",onBlur:this.composeEventHandlers(this.handleInputBlur.bind(this),r.onBlur&&r.onBlur.bind(this)),onChange:this.handleChange.bind(this),onClick:this.composeEventHandlers(this.handleInputClick.bind(this),r.onClick&&r.onClick.bind(this)),onFocus:this.composeEventHandlers(this.handleInputFocus.bind(this),r.onFocus&&r.onFocus.bind(this)),onKeyDown:this.composeEventHandlers(this.handleKeyDown.bind(this),r.onKeyDown&&r.onKeyDown.bind(this)),onKeyUp:this.composeEventHandlers(this.handleKeyUp.bind(this),r.onKeyUp&&r.onKeyUp.bind(this)),role:"combobox",value:this.props.value}),("open"in this.props?this.props.open:this.state.isOpen)&&this.renderMenu(),this.props.debug&&A.default.createElement("pre",{style:{marginLeft:300}},JSON.stringify(im.slice(im.length-5,im.length),null,2)))}}]),n}(A.default.Component);nw.defaultProps={value:"",wrapperProps:{},wrapperStyle:{display:"inline-block"},inputProps:{},onChange(){},onSelect(){},renderMenu(e,t,n){return A.default.createElement("div",{style:{...n,...this.menuStyle}},e)},shouldItemRender(){return!0},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:!0,onMenuVisibilityChange(){}},nw.propTypes={autoHighlight:N.exports.bool,debug:N.exports.bool,getItemValue:N.exports.func.isRequired,inputProps:N.exports.object,items:N.exports.array,menuStyle:N.exports.object,onChange:N.exports.func,onFocus:N.exports.func,onMenuVisibilityChange:N.exports.func,onSelect:N.exports.func,open:N.exports.bool,renderItem:N.exports.func.isRequired,renderMenu:N.exports.func,shouldItemRender:N.exports.func,sortItems:N.exports.func,value:N.exports.any,wrapperProps:N.exports.object,wrapperStyle:N.exports.object};const $h={"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_1l2sx_95","btn-sm":"_btn-sm_1l2sx_116","btn-default":"_btn-default_1l2sx_122"};let sU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.mounted=!1,r.uid=Pt.nice(),r.chromInfo=null,r.searchField=null,r.autocompleteMenu=null,r.xScale=null,r.yScale=null,r.prevParts=[],r.props.registerViewportChangedListener(r.scalesChanged.bind(_assertThisInitialized3(r))),r.menuPosition={left:0,top:0},r.positionText="chr4:190,998,876-191,000,255",r.state={genes:[],isFocused:!1,autocompleteServer:r.props.autocompleteServer,autocompleteId:r.props.autocompleteId,availableAssemblies:[],selectedAssembly:null},r.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"}},r.availableAutocompletes={},r.props.autocompleteId&&(r.availableAutocompletes[r.props.chromInfoId]=new Set([{server:r.props.autocompleteServer,acId:r.props.autocompleteId}])),r.availableChromSizes={},r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.mounted=!0,xt(this.autocompleteMenu.inputEl).on("keypress",this.autocompleteKeyPress.bind(this)),this.findAvailableAutocompleteSources(),this.findAvailableChromSizes(),this.props.chromInfoPath&&(this.searchPosition=!0,ro(this.props.chromInfoPath,r=>{if(!r){this.searchPosition=null;return}this.chromInfo=r,this.searchField=new Dh(this.chromInfo),this.setPositionText()})),this.setPositionText()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,this.props.removeViewportChangedListener()}},{key:"onAutocompleteChange",value:function(r,a){this.positionText=a,this.setState({value:a,loading:!0}),this.changedPart=null;const o=a.split(/ /);let s=0;const u=[];let c=!1;for(let l=0;l<o.length;l++){const f=o[l].split(/-/);for(let h=0;h<f.length;h++){if(s+=1,u.push(f[h]),h===0?c=!0:c=!1,h===this.prevParts.length){this.changedPart=s-1;break}if(f[h]!==this.prevParts[h]){this.changedPart=s-1;break}}}if(this.prevParts=u,!!(this.state.autocompleteServer&&this.state.autocompleteId)&&this.changedPart!==null){this.setState({loading:!0});let l=`${this.state.autocompleteServer}/suggest/`;l+=`?d=${this.state.autocompleteId}&ac=${u[this.changedPart].toLowerCase()}`,Xe.json(l,(f,h)=>{if(f)this.setState({loading:!1,genes:[]});else if(this.changedPart>0&&!c){const d=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${u[this.changedPart-1].toLowerCase()}-${u[this.changedPart].toLowerCase()}`;Xe.json(d,(p,m)=>{p?this.setState({loading:!1,genes:h}):this.setState({loading:!1,genes:m.concat(h)})},this.props.pubSub)}else this.setState({loading:!1,genes:h})},this.props.pubSub)}}},{key:"setAvailableAssemblies",value:function(){const r=new Set(Vi(this.availableChromSizes)),a=new Set([...r]);this.gpsbForm&&this.setState({availableAssemblies:[...a]})}},{key:"setSelectedAssembly",value:function(r){if(!this.mounted||!this.availableChromSizes[r])return;const a=[...this.availableChromSizes[r]][0];this.setState({autocompleteServer:a.server});const{server:o}=a;if(this.availableAutocompletes[r]){const s=[...this.availableAutocompletes[r]][0].acId;this.props.onSelectedAssemblyChanged(r,s,o),this.gpsbForm&&this.setState({autocompleteId:s})}else this.props.onSelectedAssemblyChanged(r,null,o),this.gpsbForm&&this.setState({autocompleteId:null});this.fetchChromInfo(a.uuid,a.server)}},{key:"setPositionText",value:function(){if(!this.mounted||!this.searchField)return;const r=this.searchField.scalesToPositionText(this.xScale,this.yScale,this.props.twoD);this.prevParts=r.split(/[ -]/),this.gpsbForm&&(this.positionText=r,this.origPositionText=r,this.autocompleteMenu.inputEl.value=r)}},{key:"scalesChanged",value:function(r,a){this.xScale=r,this.yScale=a,this.setPositionText()}},{key:"findAvailableChromSizes",value:function(){!this.props.trackSourceServers||this.props.trackSourceServers.forEach(r=>{Xe.json(`${r}/available-chrom-sizes/`,(a,o)=>{a?console.error(a):(o.results.forEach(s=>{s.coordSystem in this.availableChromSizes||(this.availableChromSizes[s.coordSystem]=new Set),this.availableChromSizes[s.coordSystem].add({server:r,uuid:s.uuid}),this.setAvailableAssemblies()}),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(){!this.props.trackSourceServers||this.props.trackSourceServers.forEach(r=>{Xe.json(`${r}/tilesets/?limit=100&dt=gene-annotation`,(a,o)=>{a?console.error(a):(o.results.forEach(s=>{s.coordSystem in this.availableAutocompletes||(this.availableAutocompletes[s.coordSystem]=new Set),this.availableAutocompletes[s.coordSystem].add({server:r,acId:s.uuid}),this.setAvailableAssemblies()}),this.state.autocompleteId||this.gpsbForm&&this.availableAutocompletes[this.props.chromInfoId]&&this.setState({autocompleteId:[...this.availableAutocompletes[this.props.chromInfoId]][0].acId}))},this.props.pubSub)})}},{key:"fetchChromInfo",value:function(r,a){ro(`${a}/chrom-sizes/?id=${r}`,o=>{!o||(Xe.json(`${a}/tileset_info/?d=${r}`,(s,u)=>{s||this.gpsbForm&&this.setState({selectedAssembly:u[r].coordSystem})},this.props.pubSub),this.chromInfo=o,this.searchField=new Dh(this.chromInfo),this.setPositionText())},this.props.pubSub)}},{key:"autocompleteKeyPress",value:function(r){r.keyCode===13&&this.buttonClick()}},{key:"genePositionToSearchBarText",value:function(r){}},{key:"replaceGenesWithLoadedPositions",value:function(r){const a=this.positionText,o=a.split(" ");let s=!1;for(let c=0;c<o.length;c++){const l=o[c].split("-");let f=0,h=0,d="";for(;f<l.length;){for(h=l.length;h>f;){const p=l.slice(f,h).join("-");if(r[p.toLowerCase()]){const m=r[p.toLowerCase()],g=Math.floor((m.txEnd-m.txStart)/4);f===0&&h<l.length?d=`${m.chr}:${m.txStart-g}`:f===0&&h===l.length?d=`${m.chr}:${m.txStart-g}-${m.txEnd+g}`:d+=`- ${m.chr}:${m.txEnd+g}`,s=!0;break}else h===f+1&&(d.length&&(d+="-"),d+=p);h-=1}f=h+1}o[c]=d}const u=o.join(" ");return this.prevParts=u.split(/[ -]/),this.positionText=u,this.setState({value:u}),s?a:null}},{key:"replaceGenesWithPositions",value:function(r){const a=this.positionText.split(/[ -]/),o=[];for(let s=0;s<a.length;s++){if(a[s].length===0)continue;const u=this.searchField.parsePosition(a[s])[2];if(u===null||Number.isNaN(+u)){const c=`${this.state.autocompleteServer}/suggest/?d=${this.state.autocompleteId}&ac=${a[s].toLowerCase()}`;o.push(Xe.json(c,La,this.props.pubSub))}}Promise.all(o).then(s=>{if(s){const u={};for(let l=0;l<s.length;l++)if(!!s[l][0])for(let f=0;f<s[l].length;f++)u[s[l][f].geneName.toLowerCase()]=s[l][f];const c=this.replaceGenesWithLoadedPositions(u);r(c)}}).catch(s=>console.error(s))}},{key:"buttonClick",value:function(){this.setState({genes:[]}),this.replaceGenesWithPositions(r=>{const a=this.positionText;if(this.searchField!==null){const o=this.searchField.searchPosition(a),s=o[0];let u=o[1];if(!s){this.setPositionText();return}if(s&&(Number.isNaN(+s[0])||Number.isNaN(+s[1]))||u&&(Number.isNaN(+u[0])||Number.isNaN(+u[1])))return;u||(u=s);const c=this.xScale.copy().domain(s),l=this.yScale.copy().domain(u),[f,h,d]=Qn(c,l);r&&this.props.onGeneSearch({geneSymbol:r,range:s,centerX:f,centerY:h}),this.props.setCenters(f,h,d,zP)}})}},{key:"searchFieldSubmit",value:function(){this.buttonClick()}},{key:"pathJoin",value:function(r,a){const o=a||"/",s=new RegExp(`${o}{1,}`,"g");return r.join(o).replace(s,o)}},{key:"geneSelected",value:function(r,a){const o=this.positionText.split(" ");let s=this.changedPart;for(let u=0;u<o.length;u++){const c=o[u].split("-"),l=a.geneName.split("-");if(s>c.length-1)s-=c.length;else{if(c[s]=a.geneName,l.length===2&&s>0&&c[s-1].toLowerCase()===l[0].toLowerCase()){const f=c.slice(0,s-1);f.push(l.join("-")),s<c.length-1&&f.push(c.slice(s+1)),o[u]=f.join("-")}else o[u]=c.join("-");break}}this.prevParts=o.join(" ").split(/[ -]/),this.positionText=o.join(" "),this.setState({value:o.join(" "),genes:[]})}},{key:"handleMenuVisibilityChange",value:function(r,a){const o=a.getBoundingClientRect();this.menuPosition={left:o.left,top:o.top+o.height},this.setState({menuOpened:r})}},{key:"handleRenderMenu",value:function(r){return A.default.createElement(Ls,null,A.default.createElement("div",{className:$h["genome-position-search-bar-suggestions"],style:{left:this.menuPosition.left,top:this.menuPosition.top}},r))}},{key:"handleAssemblySelectEvt",value:function(r){this.handleAssemblySelect(r.target.value)}},{key:"handleAssemblySelect",value:function(r){this.setSelectedAssembly(r),this.setState({selectedAssembly:r})}},{key:"focusHandler",value:function(r){this.setState({isFocused:r})}},{key:"render",value:function(){const r=this.state.availableAssemblies.map(a=>A.default.createElement("option",{key:a,value:a},a));return A.default.createElement("div",{ref:a=>{this.gpsbForm=a},className:qt({[$h["genome-position-search-focus"]]:this.state.isFocused,[$h["genome-position-search"]]:!this.state.isFocused,[$h["genome-position-search-dark"]]:this.props.theme===pn})},!this.props.hideAvailableAssemblies&&A.default.createElement("select",{ref:a=>{this.assemblyPickButton=a},className:$h["genome-position-search-bar-button"],id:this.uid,onChange:this.handleAssemblySelectEvt.bind(this),value:this.state.selectedAssembly||void 0},r),A.default.createElement(nw,{ref:a=>{this.autocompleteMenu=a},getItemValue:a=>a.geneName,inputProps:{className:$h["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:(a,o)=>this.geneSelected(a,o),onSubmit:this.searchFieldSubmit.bind(this),renderItem:(a,o)=>A.default.createElement("div",{key:a.refseqid,id:a.refseqid,style:o?this.styles.highlightedItem:this.styles.item},a.geneName),renderMenu:this.handleRenderMenu.bind(this),value:this.state.selectedAssembly?this.positionText:"No valid assembly selected",wrapperStyle:{width:"100%"}}),A.default.createElement(FSe,{onClick:this.buttonClick.bind(this),theStyle:"multitrack-header-icon"}))}}]),n}(A.default.Component);sU.propTypes={autocompleteId:N.exports.string,autocompleteServer:N.exports.string,chromInfoId:N.exports.string,chromInfoServer:N.exports.string,hideAvailableAssemblies:N.exports.bool,isFocused:N.exports.bool,pubSub:N.exports.object,onFocus:N.exports.func,onGeneSearch:N.exports.func,onSelectedAssemblyChanged:N.exports.func,registerViewportChangedListener:N.exports.func,removeViewportChangedListener:N.exports.func,setCenters:N.exports.func,theme:N.exports.symbol.isRequired,trackSourceServers:N.exports.array,twoD:N.exports.bool};const TOe=dh(hl(sU)),EOe={"export-link-dialog-wrapper":"_export-link-dialog-wrapper_p9gxw_1"};let rw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(){return _classCallCheck3(this,n),t.apply(this,arguments)}return _createClass3(n,[{key:"render",value:function(){return A.default.createElement(Bd,{okayOnly:!0,okayTitle:"Done",onOkay:this.props.onDone,title:"Share view link"},A.default.createElement("div",{className:EOe["export-link-dialog-wrapper"]},A.default.createElement("input",{ref:r=>{!r||(this.input=r,r.focus(),r.select())},onClick:r=>{r.target.select()},placeholder:"Generating the link...",readOnly:!0,value:this.props.url}),A.default.createElement(Ro,{onClick:r=>{this.input.select(),document.execCommand("copy")}},"Copy")))}}]),n}(A.default.Component);rw.defaultProps={onDone:()=>{},url:""},rw.propTypes={onDone:N.exports.func,url:N.exports.string};let lU=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.state={submenuShown:!1},r}return _createClass3(n,[{key:"getConfigureViewMenu",value:function(r,a){const o=["backgroundColor"],s={},u={};for(const c of o)if(c in Object.keys(mr)&&(s[c]={name:mr[c].name},mr[c].inlineOptions))for(const l in mr[c].inlineOptions){const f=mr[c].inlineOptions[l];s[c].children||(s[c].children={});const h={name:f.name,value:f.value};h.handler=()=>{u[c]=f.value,this.props.onOptionsChanged(u)},s[c].children[l]=h}return A.default.createElement(VI,{key:"config-series-menu",closeMenu:this.props.closeMenu,menuItems:s,orientation:this.state.orientation,parentBbox:a,position:r,theme:this.props.theme})}},{key:"getSubmenu",value:function(){if(this.state.submenuShown){const r=this.state.submenuSourceBbox,a=this.state.orientation==="left"?{left:this.state.left,top:r.top}:{left:this.state.left+r.width+7,top:r.top};return this.state.submenuShown.option==="options"?this.getConfigureViewMenu(a,r):A.default.createElement("div",null)}return A.default.createElement("div",null)}},{key:"render",value:function(){return A.default.createElement("div",{ref:r=>{this.div=r},className:qt(mt["context-menu"],{[mt["context-menu-dark"]]:this.props.theme===pn}),"data-menu-type":"ConfigViewMenu",style:{left:this.state.left,top:this.state.top}},A.default.createElement(St,{onClick:r=>this.props.onTogglePositionSearchBox(r)},"Toggle position search box"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onZoomToData(r)},"Zoom to data extent"),A.default.createElement(St,{onClick:r=>this.props.onClearView(r)},"Clear View"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onYankZoom(r)},"Take zoom from"),A.default.createElement(St,{onClick:r=>this.props.onYankLocation(r)},"Take location from"),A.default.createElement(St,{onClick:r=>this.props.onYankZoomAndLocation(r)},"Take zoom and location from"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:this.props.onLockZoom},"Lock zoom with"),A.default.createElement(St,{onClick:this.props.onLockLocation},"Lock location with"),A.default.createElement(St,{onClick:this.props.onLockZoomAndLocation},"Lock zoom and location with"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:this.props.onTakeAndLockZoomAndLocation},"Take and lock zoom and location with"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onUnlockZoom(r)},"Unlock zoom"),A.default.createElement(St,{onClick:r=>this.props.onUnlockLocation(r)},"Unlock location"),A.default.createElement(St,{onClick:r=>this.props.onUnlockZoomAndLocation(r)},"Unlock zoom and location"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onProjectViewport(r)},"Show this viewport on"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:r=>this.props.onEditViewConfig(r)},"Edit view config"),A.default.createElement("hr",{className:mt["context-menu-hr"]}),A.default.createElement(St,{onClick:()=>this.props.onExportSVG()},"Export views as SVG"),A.default.createElement(St,{onClick:()=>this.props.onExportPNG()},"Export views as PNG"),A.default.createElement(St,{onClick:()=>this.props.onExportViewAsJSON()},"Export views as JSON"),A.default.createElement(St,{onClick:()=>this.props.onExportViewAsLink()},"Export views as Link"),this.getSubmenu())}}]),n}(Ms);lU.propTypes={onEditViewConfig:N.exports.func.isRequired,onExportSVG:N.exports.func,onExportPNG:N.exports.func,onExportViewAsJSON:N.exports.func,onExportViewAsLink:N.exports.func,onLockLocation:N.exports.func,onLockZoom:N.exports.func,onLockZoomAndLocation:N.exports.func,onProjectViewport:N.exports.func,onTakeAndLockZoomAndLocation:N.exports.func,onTogglePositionSearchBox:N.exports.func,onUnlockLocation:N.exports.func,onUnlockZoom:N.exports.func,onUnlockZoomAndLocation:N.exports.func,onYankLocation:N.exports.func,onYankZoom:N.exports.func,onYankZoomAndLocation:N.exports.func,onZoomToData:N.exports.func,theme:N.exports.symbol};const ea={"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 uU(e){return A.default.createElement("div",null,A.default.createElement("div",{className:ea["add-track-position-span"]},"Add Track..."),A.default.createElement("table",{className:qt(ea["add-track-position-table"],{[ea["add-track-position-table-dark"]]:e.theme===pn})},A.default.createElement("tbody",null,A.default.createElement("tr",{style:{height:"30px"}},A.default.createElement("td",{className:ea["add-track-position-other"]}),A.default.createElement("td",{className:ea["add-track-position-top-center"],onClick:()=>e.onTrackPositionChosen("top")},"top"),A.default.createElement("td",{className:ea["add-track-position-other"]})),A.default.createElement("tr",{style:{height:"80px"}},A.default.createElement("td",{className:ea["add-track-position-middle-left"],onClick:()=>e.onTrackPositionChosen("left")},"left"),A.default.createElement("td",{className:ea["add-track-position-middle-middle"],onClick:()=>e.onTrackPositionChosen("center")},"center"),A.default.createElement("td",{className:ea["add-track-position-middle-right"],onClick:()=>e.onTrackPositionChosen("right")},"right")),A.default.createElement("tr",{style:{height:"30px"}},A.default.createElement("td",{className:ea["add-track-position-other"]}),A.default.createElement("td",{className:ea["add-track-position-bottom-middle"],onClick:()=>e.onTrackPositionChosen("bottom")},"bottom"),A.default.createElement("td",{className:ea["add-track-position-other"]})))))}uU.propTypes={onTrackPositionChosen:N.exports.func.isRequired,theme:N.exports.symbol.isRequired};const bOe=hl(uU);let iw=function(e){_inherits3(n,e);var t=_createSuper3(n);function n(i){var r;return _classCallCheck3(this,n),r=t.call(this,i),r.configImg=null,r.plusImg=null,r.state={addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null,configMenuUid:null,configMenuPosition:null,isFocused:!1,width:-1},r.handleTrackPositionChosenBound=r.handleTrackPositionChosen.bind(_assertThisInitialized3(r)),r}return _createClass3(n,[{key:"componentDidMount",value:function(){this.setState({width:this.el.clientWidth})}},{key:"checkWidth",value:function(){const r=this.el.clientWidth;r!==this.state.width&&this.setState({width:r})}},{key:"handleConfigMenuOpened",value:function(r){this.setState({configMenuUid:r,configMenuPosition:this.configImg.getBoundingClientRect()})}},{key:"handleAddTrackPositionMenuOpened",value:function(r){this.setState({addTrackPositionMenuUid:r,addTrackPositionMenuPosition:this.plusImg.getBoundingClientRect()})}},{key:"handleTrackPositionChosen",value:function(r){this.props.onTrackPositionChosen(r),this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null})}},{key:"render",value:function(){let r=null,a=null;this.state.addTrackPositionMenuPosition&&(a=A.default.createElement(Ls,{onMenuClosed:()=>{this.setState({addTrackPositionMenuUid:null,addTrackPositionMenuPosition:null})}},A.default.createElement(Ms,{orientation:"left",position:this.state.addTrackPositionMenuPosition,theme:this.props.theme},A.default.createElement(bOe,{onTrackPositionChosen:this.handleTrackPositionChosenBound})))),this.state.configMenuUid&&(r=A.default.createElement(Ls,{onMenuClosed:()=>this.setState({configMenuUid:null})},A.default.createElement(lU,{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:c=>{this.props.onViewOptionsChanged(c),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 o=this.props.getGenomePositionSearchBox(this.state.isFocused,c=>{this.setState({isFocused:c})}),s=qt(this.state.isFocused?Wi["multitrack-header-focus"]:Wi["multitrack-header"],{[Wi["multitrack-header-dark"]]:this.props.theme===pn}),u=this.state.width<=jP?Wi["multitrack-header-icon-squeazed"]:Wi["multitrack-header-icon"];return A.default.createElement("div",{ref:c=>{this.el=c},className:s},A.default.createElement("div",{className:Wi["multitrack-header-left"]},this.props.mouseTool===zi&&A.default.createElement("svg",{className:qt(Wi["mouse-tool-selection"],u),title:"Selection tool active"},A.default.createElement("use",{xlinkHref:"#select"})),A.default.createElement("div",{className:Wi["multitrack-header-grabber"],title:"Drag to move the view"},A.default.createElement("div",null),A.default.createElement("div",null),A.default.createElement("div",null)),this.state.width>VP&&A.default.createElement("div",{className:Wi["multitrack-header-search"]},this.props.isGenomePositionSearchBoxVisible&&o)),A.default.createElement("nav",{className:Wi["multitrack-header-nav-list"]},A.default.createElement("svg",{className:u,onClick:this.props.onAddView},A.default.createElement("title",null,"Add new view (clone this view)"),A.default.createElement("use",{xlinkHref:"#copy"})),A.default.createElement("svg",{ref:c=>{this.configImg=c},className:u,onClick:()=>this.handleConfigMenuOpened(this.props.viewUid)},A.default.createElement("title",null,"Configure this view"),A.default.createElement("use",{xlinkHref:"#cog"})),A.default.createElement("svg",{ref:c=>{this.plusImg=c},className:u,onClick:()=>this.handleAddTrackPositionMenuOpened(this.props.viewUid)},A.default.createElement("title",null,"Add Track"),A.default.createElement("use",{xlinkHref:"#plus"})),A.default.createElement("svg",{className:u,onClick:this.props.onCloseView},A.default.createElement("title",null,"Close View"),A.default.createElement("use",{xlinkHref:"#cross"}))),r,a)}}]),n}(A.default.Component);iw.defaultProps={isGenomePositionSearchBoxVisible:!1},iw.propTypes={getGenomePositionSearchBox:N.exports.func.isRequired,isGenomePositionSearchBoxVisible:N.exports.bool,mouseTool:N.exports.string.isRequired,onAddView:N.exports.func.isRequired,onClearView:N.exports.func.isRequired,onCloseView:N.exports.func.isRequired,onEditViewConfig:N.exports.func.isRequired,onExportSVG:N.exports.func.isRequired,onExportPNG:N.exports.func.isRequired,onExportViewsAsJSON:N.exports.func.isRequired,onExportViewsAsLink:N.exports.func.isRequired,onLockLocation:N.exports.func.isRequired,onLockZoom:N.exports.func.isRequired,onLockZoomAndLocation:N.exports.func.isRequired,onProjectViewport:N.exports.func.isRequired,onTakeAndLockZoomAndLocation:N.exports.func.isRequired,onTogglePositionSearchBox:N.exports.func.isRequired,onTrackPositionChosen:N.exports.func.isRequired,onUnlockLocation:N.exports.func.isRequired,onUnlockZoom:N.exports.func.isRequired,onUnlockZoomAndLocation:N.exports.func.isRequired,onViewOptionsChanged:N.exports.func.isRequired,onYankLocation:N.exports.func.isRequired,onYankZoom:N.exports.func.isRequired,onYankZoomAndLocation:N.exports.func.isRequired,onZoomToData:N.exports.func.isRequired,theme:N.exports.symbol.isRequired,viewUid:N.exports.string.isRequired};const _Oe=hl(iw);var cU={};Object.defineProperty(cU,"__esModule",{value:!0});var Bs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},SOe=function(){function e(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),AOe=A.default,am=COe(AOe);function COe(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function DOe(e,t){var n={};for(var i in e)t.indexOf(i)>=0||!Object.prototype.hasOwnProperty.call(e,i)||(n[i]=e[i]);return n}function IOe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hU(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t&&(typeof t=="object"||typeof t=="function")?t:e}function wOe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var kOe=13,OOe=9,xOe=8,POe=89,ET=90,ROe=77,fU=57,dU=219,pU=222,mU=192,NOe=27,gU=100,MOe=3e3,LOe="navigator"in globalThis&&/Win/i.test(navigator.platform),aw="navigator"in globalThis&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),bT="npm__react-simple-code-editor__textarea",BOe=`
340
340
  /**
341
341
  * Reset the text fill color so that placeholder is visible
342
342
  */