jbrowse-plugin-msaview 2.3.3 → 2.3.8

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.
Files changed (76) hide show
  1. package/README.md +15 -216
  2. package/dist/AddHighlightModel/GenomeMouseoverHighlight.js.map +1 -1
  3. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js +2 -11
  4. package/dist/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.js.map +1 -1
  5. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +19 -4
  6. package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
  7. package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js +39 -53
  8. package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js.map +1 -1
  9. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +9 -22
  10. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
  11. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js +4 -1
  12. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js.map +1 -1
  13. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js +8 -1
  14. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js.map +1 -1
  15. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js +15 -7
  16. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js.map +1 -1
  17. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js +8 -1
  18. package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.js.map +1 -1
  19. package/dist/LaunchMsaView/components/NCBIBlastQuery/useCachedBlastResults.d.ts +7 -0
  20. package/dist/LaunchMsaView/components/NCBIBlastQuery/useCachedBlastResults.js +32 -0
  21. package/dist/LaunchMsaView/components/NCBIBlastQuery/useCachedBlastResults.js.map +1 -0
  22. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +7 -2
  23. package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
  24. package/dist/LaunchMsaView/components/TabPanel.js +1 -1
  25. package/dist/LaunchMsaView/components/TabPanel.js.map +1 -1
  26. package/dist/LaunchMsaView/components/TranscriptSelector.js +7 -3
  27. package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
  28. package/dist/LaunchMsaView/components/useTranscriptSelection.js +15 -14
  29. package/dist/LaunchMsaView/components/useTranscriptSelection.js.map +1 -1
  30. package/dist/MsaViewPanel/afterCreateAutoruns.js +17 -18
  31. package/dist/MsaViewPanel/afterCreateAutoruns.js.map +1 -1
  32. package/dist/MsaViewPanel/components/ConnectStructureDialog.js +15 -10
  33. package/dist/MsaViewPanel/components/ConnectStructureDialog.js.map +1 -1
  34. package/dist/MsaViewPanel/components/ErrorBoundary.d.ts +19 -0
  35. package/dist/MsaViewPanel/components/ErrorBoundary.js +22 -0
  36. package/dist/MsaViewPanel/components/ErrorBoundary.js.map +1 -0
  37. package/dist/MsaViewPanel/components/MsaViewPanel.js +11 -2
  38. package/dist/MsaViewPanel/components/MsaViewPanel.js.map +1 -1
  39. package/dist/MsaViewPanel/model.d.ts +2 -14
  40. package/dist/MsaViewPanel/model.js +13 -10
  41. package/dist/MsaViewPanel/model.js.map +1 -1
  42. package/dist/MsaViewPanel/pairwiseAlignment.js +15 -10
  43. package/dist/MsaViewPanel/pairwiseAlignment.js.map +1 -1
  44. package/dist/MsaViewPanel/structureConnection.d.ts +22 -0
  45. package/dist/MsaViewPanel/structureConnection.js +4 -0
  46. package/dist/MsaViewPanel/structureConnection.js.map +1 -1
  47. package/dist/jbrowse-plugin-msaview.umd.production.min.js +26 -26
  48. package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
  49. package/dist/utils/blastCache.js +2 -3
  50. package/dist/utils/blastCache.js.map +1 -1
  51. package/dist/version.d.ts +1 -1
  52. package/dist/version.js +1 -1
  53. package/package.json +33 -35
  54. package/src/AddHighlightModel/GenomeMouseoverHighlight.tsx +1 -2
  55. package/src/BgzipFastaMsaAdapter/BgzipFastaMsaAdapter.ts +2 -11
  56. package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +22 -7
  57. package/src/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.tsx +40 -58
  58. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +14 -23
  59. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.tsx +4 -1
  60. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.tsx +9 -1
  61. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.tsx +15 -8
  62. package/src/LaunchMsaView/components/NCBIBlastQuery/NCBISettingsDialog.tsx +9 -1
  63. package/src/LaunchMsaView/components/NCBIBlastQuery/useCachedBlastResults.ts +52 -0
  64. package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +11 -2
  65. package/src/LaunchMsaView/components/TabPanel.tsx +1 -1
  66. package/src/LaunchMsaView/components/TranscriptSelector.tsx +7 -3
  67. package/src/LaunchMsaView/components/useTranscriptSelection.ts +25 -17
  68. package/src/MsaViewPanel/afterCreateAutoruns.ts +17 -18
  69. package/src/MsaViewPanel/components/ConnectStructureDialog.tsx +23 -25
  70. package/src/MsaViewPanel/components/ErrorBoundary.tsx +40 -0
  71. package/src/MsaViewPanel/components/MsaViewPanel.tsx +22 -11
  72. package/src/MsaViewPanel/model.ts +49 -33
  73. package/src/MsaViewPanel/pairwiseAlignment.ts +15 -10
  74. package/src/MsaViewPanel/structureConnection.ts +23 -0
  75. package/src/utils/blastCache.ts +2 -3
  76. package/src/version.ts +1 -1
@@ -1,13 +1,13 @@
1
- "use strict";var JBrowsePluginMsaView=(()=>{var OQ=Object.create;var _s=Object.defineProperty;var GQ=Object.getOwnPropertyDescriptor;var JQ=Object.getOwnPropertyNames;var HQ=Object.getPrototypeOf,UQ=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(e&&(t=e(e=0)),t);var H=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),je=(e,t)=>{for(var r in t)_s(e,r,{get:t[r],enumerable:!0})},Zd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of JQ(t))!UQ.call(e,o)&&o!==r&&_s(e,o,{get:()=>t[o],enumerable:!(n=GQ(t,o))||n.enumerable});return e};var f=(e,t,r)=>(r=e!=null?OQ(HQ(e)):{},Zd(t||!e||!e.__esModule?_s(r,"default",{value:e,enumerable:!0}):r,e)),qQ=e=>Zd(_s({},"__esModule",{value:!0}),e);var tm=H((Wk,em)=>{em.exports=JBrowseExports["@jbrowse/core/Plugin"]});var Dn=H((zk,rm)=>{rm.exports=JBrowseExports["@jbrowse/core/configuration"]});var ne=H(($k,nm)=>{nm.exports=JBrowseExports["@jbrowse/core/util"]});var Dt=H((Kk,om)=>{om.exports=JBrowseExports["mobx-state-tree"]});var sm=H((Xk,im)=>{im.exports=JBrowseExports["@mui/material/utils"]});var _,z=p(()=>{"use client";_=f(sm(),1)});var L=H((eN,am)=>{am.exports=JBrowseExports["react/jsx-runtime"]});var B=H((nN,Am)=>{Am.exports=JBrowseExports.react});var P=H((oN,um)=>{um.exports=JBrowseExports["mobx-react"]});var Ve=H((iN,fm)=>{fm.exports=JBrowseExports["tss-react/mui"]});var Bl=H((pN,xm)=>{xm.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes"]});var Bm=H((CN,wm)=>{wm.exports=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"]});function Si(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Sl(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function Ql(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ho(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function Co(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var Sl,Qi=p(()=>{Sl=function(e,t){return Sl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Sl(e,t)}});function Mr(e){return typeof e=="function"}var ks=p(()=>{});function Ns(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Ml=p(()=>{});var Ls,bm=p(()=>{Ml();Ls=Ns(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
1
+ "use strict";var JBrowsePluginMsaView=(()=>{var s1=Object.create;var Fs=Object.defineProperty;var a1=Object.getOwnPropertyDescriptor;var c1=Object.getOwnPropertyNames;var l1=Object.getPrototypeOf,A1=Object.prototype.hasOwnProperty;var p=(e,t)=>()=>(e&&(t=e(e=0)),t);var U=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ze=(e,t)=>{for(var r in t)Fs(e,r,{get:t[r],enumerable:!0})},lm=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of c1(t))!A1.call(e,o)&&o!==r&&Fs(e,o,{get:()=>t[o],enumerable:!(n=a1(t,o))||n.enumerable});return e};var f=(e,t,r)=>(r=e!=null?s1(l1(e)):{},lm(t||!e||!e.__esModule?Fs(r,"default",{value:e,enumerable:!0}):r,e)),u1=e=>lm(Fs({},"__esModule",{value:!0}),e);var um=U((BN,Am)=>{Am.exports=JBrowseExports["@jbrowse/core/Plugin"]});var Fn=U((SN,fm)=>{fm.exports=JBrowseExports["@jbrowse/core/configuration"]});var ne=U((QN,dm)=>{dm.exports=JBrowseExports["@jbrowse/core/util"]});var Lt=U((MN,mm)=>{mm.exports=JBrowseExports["mobx-state-tree"]});var pm=U((vN,gm)=>{gm.exports=JBrowseExports["@mui/material/utils"]});var _,W=p(()=>{"use client";_=f(pm(),1)});var F=U((_N,hm)=>{hm.exports=JBrowseExports["react/jsx-runtime"]});var S=U((NN,Im)=>{Im.exports=JBrowseExports.react});var P=U((LN,ym)=>{ym.exports=JBrowseExports["mobx-react"]});var be=U((FN,xm)=>{xm.exports=JBrowseExports["tss-react/mui"]});var Ll=U((YN,_m)=>{_m.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes"]});var Nm=U((zN,km)=>{km.exports=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"]});function Ti(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Rl(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function Pl(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Io(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function yo(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var Rl,_i=p(()=>{Rl=function(e,t){return Rl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Rl(e,t)}});function kr(e){return typeof e=="function"}var Ps=p(()=>{});function Os(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Ol=p(()=>{});var Gs,Lm=p(()=>{Ol();Gs=Os(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
2
2
  `+r.map(function(n,o){return o+1+") "+n.toString()}).join(`
3
- `):"",this.name="UnsubscriptionError",this.errors=r}})});function vl(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Sm=p(()=>{});function Mm(e){return e instanceof Fs||e&&"closed"in e&&Mr(e.remove)&&Mr(e.add)&&Mr(e.unsubscribe)}function Qm(e){Mr(e)?e():e.unsubscribe()}var Fs,vN,vm=p(()=>{Qi();ks();bm();Sm();Fs=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Ql(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(h){t={error:h}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(Mr(A))try{A()}catch(h){i=h instanceof Ls?h.errors:[h]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var d=Ql(u),m=d.next();!m.done;m=d.next()){var g=m.value;try{Qm(g)}catch(h){i=i??[],h instanceof Ls?i=Co(Co([],ho(i)),ho(h.errors)):i.push(h)}}}catch(h){n={error:h}}finally{try{m&&!m.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}if(i)throw new Ls(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)Qm(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&vl(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&vl(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),vN=Fs.EMPTY});var fn,Rs=p(()=>{fn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var Eo,Tl=p(()=>{Qi();Eo={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=Eo.delegate;return o?.setTimeout?o.setTimeout.apply(o,Co([e,t],ho(r))):setTimeout.apply(void 0,Co([e,t],ho(r)))},clearTimeout:function(e){var t=Eo.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function Tm(e){Eo.setTimeout(function(){var t=fn.onUnhandledError;if(t)t(e);else throw e})}var _m=p(()=>{Rs();Tl()});function _l(){}var Dm=p(()=>{});function Nm(e){return Dl("E",void 0,e)}function Lm(e){return Dl("N",e,void 0)}function Dl(e,t,r){return{kind:e,value:t,error:r}}var km,Fm=p(()=>{km=(function(){return Dl("C",void 0,void 0)})()});function Rm(e){fn.useDeprecatedSynchronousErrorHandling&&kl&&(kl.errorThrown=!0,kl.error=e)}var kl,Pm=p(()=>{Rs();kl=null});function Nl(e,t){return $Q.call(e,t)}function Ps(e){fn.useDeprecatedSynchronousErrorHandling?Rm(e):Tm(e)}function XQ(e){throw e}function Ll(e,t){var r=fn.onStoppedNotification;r&&Eo.setTimeout(function(){return r(e,t)})}var Fl,$Q,KQ,Rl,ZQ,Pl=p(()=>{Qi();ks();vm();Rs();_m();Dm();Fm();Tl();Pm();Fl=(function(e){Si(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,Mm(r)&&r.add(n)):n.destination=ZQ,n}return t.create=function(r,n,o){return new Rl(r,n,o)},t.prototype.next=function(r){this.isStopped?Ll(Lm(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Ll(Nm(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Ll(km,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(Fs),$Q=Function.prototype.bind;KQ=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){Ps(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){Ps(n)}else Ps(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){Ps(r)}},e})(),Rl=(function(e){Si(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(Mr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&fn.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Nl(r.next,a),error:r.error&&Nl(r.error,a),complete:r.complete&&Nl(r.complete,a)}):s=r}return i.destination=new KQ(s),i}return t})(Fl);ZQ={closed:!0,next:_l,error:XQ,complete:_l}});function e1(e){return Mr(e?.lift)}function Os(e){return function(t){if(e1(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var Ol=p(()=>{ks()});function Om(e,t,r,n,o){return new t1(e,t,r,n,o)}var t1,Gm=p(()=>{Qi();Pl();t1=(function(e){Si(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(Fl)});var Jm,Hm=p(()=>{Ml();Jm=Ns(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function Gl(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new Rl({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new Jm)}});e.subscribe(i)})}var Um=p(()=>{Hm();Pl()});var qm=p(()=>{});function Ym(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(Om(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var jm=p(()=>{Gm()});function Vm(e,t){return Os(Ym(e,t,arguments.length>=2,!1,!0))}var Wm=p(()=>{jm();Ol()});function Jl(){return Os(function(e,t){Vm(r1,[])(e).subscribe(t)})}var r1,zm=p(()=>{Wm();Ol();r1=function(e,t){return e.push(t),e}});var $m=p(()=>{Um();qm();zm()});var Zm={};je(Zm,{default:()=>Gs});var Km,Xm,Gs,eg=p(()=>{"use strict";Km=f(Dn()),Xm=f(Bm());$m();Gs=class extends Xm.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,Km.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}async getMSAList(){let t=await this.getMSARefs(),r=new Set,n=this.getConf("msaRegex"),o=new RegExp(n);for(let i=0,s=t.length;i<s;i++)r.add(t[i].split(o)[0]);return[...r]}async getMSA(t){let r=await this.configure(),n=await r.getRefNames(),o=[];for(let i=0,s=n.length;i<s;i++){let a=n[i];a.startsWith(t)&&o.push(a)}return Gl(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(Jl()))}}});var ue=H((BL,og)=>{og.exports=JBrowseExports["@jbrowse/core/ui"]});var k=H((bL,ig)=>{ig.exports=JBrowseExports["@mui/material"]});var cg=H(ag=>{"use strict";var Io=B();function n1(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var o1=typeof Object.is=="function"?Object.is:n1,i1=Io.useState,s1=Io.useEffect,a1=Io.useLayoutEffect,c1=Io.useDebugValue;function l1(e,t){var r=t(),n=i1({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return a1(function(){o.value=r,o.getSnapshot=t,Ul(o)&&i({inst:o})},[e,r,t]),s1(function(){return Ul(o)&&i({inst:o}),e(function(){Ul(o)&&i({inst:o})})},[e]),c1(r),r}function Ul(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!o1(e,r)}catch{return!0}}function A1(e,t){return t()}var u1=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?A1:l1;ag.useSyncExternalStore=Io.useSyncExternalStore!==void 0?Io.useSyncExternalStore:u1});var Ag=H((ML,lg)=>{"use strict";lg.exports=cg()});var $g,ca,cA=p(()=>{"use client";z();$g=f(L(),1),ca=(0,_.createSvgIcon)((0,$g.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var Kg,la,lA=p(()=>{"use client";z();Kg=f(L(),1),la=(0,_.createSvgIcon)((0,Kg.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function U1(){return tp||(tp=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function q1(){return rp||(rp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function Y1(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Fn(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return ua.set(t,e),t}function j1(e){if(mA.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});mA.set(e,t)}function sp(e){gA=e(gA)}function V1(e){return q1().includes(e)?function(...t){return e.apply(pA(this),t),Fn(this.request)}:function(...t){return Fn(e.apply(pA(this),t))}}function W1(e){return typeof e=="function"?V1(e):(e instanceof IDBTransaction&&j1(e),dA(e,U1())?new Proxy(e,gA):e)}function Fn(e){if(e instanceof IDBRequest)return Y1(e);if(uA.has(e))return uA.get(e);let t=W1(e);return t!==e&&(uA.set(e,t),ua.set(t,e)),t}function Rn(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Fn(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Fn(s.result),c.oldVersion,c.newVersion,Fn(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function np(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(fA.get(t))return fA.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=$1.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||z1.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return fA.set(t,i),i}async function*Z1(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,X1);for(ap.set(r,t),ua.set(r,pA(t));t;)yield r,t=await(hA.get(r)||t.continue()),hA.delete(r)}function ip(e,t){return t===Symbol.asyncIterator&&dA(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&dA(e,[IDBIndex,IDBObjectStore])}var dA,tp,rp,mA,uA,ua,gA,pA,z1,$1,fA,K1,op,hA,ap,X1,Di=p(()=>{dA=(e,t)=>t.some(r=>e instanceof r);mA=new WeakMap,uA=new WeakMap,ua=new WeakMap;gA={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return mA.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Fn(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};pA=e=>ua.get(e);z1=["get","getKey","getAll","getAllKeys","count"],$1=["put","add","delete","clear"],fA=new Map;sp(e=>({...e,get:(t,r,n)=>np(t,r)||e.get(t,r,n),has:(t,r)=>!!np(t,r)||e.has(t,r)}));K1=["continue","continuePrimaryKey","advance"],op={},hA=new WeakMap,ap=new WeakMap,X1={get(e,t){if(!K1.includes(t))return e[t];let r=op[t];return r||(r=op[t]=function(...n){hA.set(this,ap.get(this)[t](...n))}),r}};sp(e=>({...e,get(t,r,n){return ip(t,r)?Z1:e.get(t,r,n)},has(t,r){return ip(t,r)||e.has(t,r)}}))});var xp,pa,CA=p(()=>{"use client";z();xp=f(L(),1),pa=(0,_.createSvgIcon)((0,xp.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function Pn(e){let{children:t,...r}=e;return EA.default.createElement(yp.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",EA.default.createElement(pa,{fontSize:"small"}))}var EA,yp,ha=p(()=>{"use strict";EA=f(B());CA();yp=f(k())});var Np=p(()=>{});var Lp=p(()=>{Np()});function dM(e){try{let s=U.__wbindgen_add_to_stack_pointer(-16),a=QA(e,U.__wbindgen_export2),c=ya;U.decompress_all(s,a,c);var t=We().getInt32(s+0,!0),r=We().getInt32(s+4,!0),n=We().getInt32(s+8,!0),o=We().getInt32(s+12,!0);if(o)throw MA(n);var i=bA(t,r).slice();return U.__wbindgen_export(t,r*1,1),i}finally{U.__wbindgen_add_to_stack_pointer(16)}}function mM(e){try{let o=U.__wbindgen_add_to_stack_pointer(-16),i=QA(e,U.__wbindgen_export2),s=ya;U.decompress_block(o,i,s);var t=We().getInt32(o+0,!0),r=We().getInt32(o+4,!0),n=We().getInt32(o+8,!0);if(n)throw MA(r);return To.__wrap(t)}finally{U.__wbindgen_add_to_stack_pointer(16)}}function gM(e,t,r,n,o){try{let c=U.__wbindgen_add_to_stack_pointer(-16),l=QA(e,U.__wbindgen_export2),A=ya;U.decompress_chunk_slice(c,l,A,t,r,n,o);var i=We().getInt32(c+0,!0),s=We().getInt32(c+4,!0),a=We().getInt32(c+8,!0);if(a)throw MA(s);return vo.__wrap(i)}finally{U.__wbindgen_add_to_stack_pointer(16)}}function pM(e,t){let r=Error(Gp(e,t));return CM(r)}function hM(e,t){throw new Error(Gp(e,t))}function CM(e){ki===zr.length&&zr.push(zr.length+1);let t=ki;return ki=zr[t],zr[t]=e,t}function EM(e){e<1028||(zr[e]=ki,ki=e)}function Pp(e,t){return e=e>>>0,IM().subarray(e/8,e/8+t)}function bA(e,t){return e=e>>>0,SA().subarray(e/1,e/1+t)}function We(){return(Mo===null||Mo.buffer.detached===!0||Mo.buffer.detached===void 0&&Mo.buffer!==U.memory.buffer)&&(Mo=new DataView(U.memory.buffer)),Mo}function IM(){return(Ea===null||Ea.byteLength===0)&&(Ea=new Float64Array(U.memory.buffer)),Ea}function Gp(e,t){return e=e>>>0,wM(e,t)}function SA(){return(Ia===null||Ia.byteLength===0)&&(Ia=new Uint8Array(U.memory.buffer)),Ia}function xM(e){return zr[e]}function QA(e,t){let r=t(e.length*1,1)>>>0;return SA().set(e,r/1),ya=e.length,r}function MA(e){let t=xM(e);return EM(e),t}function wM(e,t){return BA+=t,BA>=yM&&(xa=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),xa.decode(),BA=t),xa.decode(SA().subarray(e,e+t))}function BM(e){U=e}var On,Op,vo,To,Fp,Rp,Mo,Ea,Ia,zr,ki,xa,yM,BA,ya,U,Jp=p(()=>{On={};On.d=(e,t)=>{for(var r in t)On.o(t,r)&&!On.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};On.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);On.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};Op={};On.r(Op);On.d(Op,{ChunkSliceResult:()=>vo,DecompressResult:()=>To,__wbg_Error_55538483de6e3abe:()=>pM,__wbg___wbindgen_throw_5549492daedad139:()=>hM,__wbg_set_wasm:()=>BM,decompress_all:()=>dM,decompress_block:()=>mM,decompress_chunk_slice:()=>gM});vo=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,Fp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Fp.unregister(this),t}free(){let t=this.__destroy_into_raw();U.__wbg_chunksliceresult_free(t,0)}get buffer(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_buffer(o,this.__wbg_ptr);var t=We().getInt32(o+0,!0),r=We().getInt32(o+4,!0),n=bA(t,r).slice();return U.__wbindgen_export(t,r*1,1),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_cpositions(o,this.__wbg_ptr);var t=We().getInt32(o+0,!0),r=We().getInt32(o+4,!0),n=Pp(t,r).slice();return U.__wbindgen_export(t,r*8,8),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_dpositions(o,this.__wbg_ptr);var t=We().getInt32(o+0,!0),r=We().getInt32(o+4,!0),n=Pp(t,r).slice();return U.__wbindgen_export(t,r*8,8),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(vo.prototype[Symbol.dispose]=vo.prototype.free);To=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,Rp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Rp.unregister(this),t}free(){let t=this.__destroy_into_raw();U.__wbg_decompressresult_free(t,0)}get bytes_read(){return U.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.decompressresult_data(o,this.__wbg_ptr);var t=We().getInt32(o+0,!0),r=We().getInt32(o+4,!0),n=bA(t,r).slice();return U.__wbindgen_export(t,r*1,1),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(To.prototype[Symbol.dispose]=To.prototype.free);Fp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_chunksliceresult_free(e>>>0,1)),Rp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_decompressresult_free(e>>>0,1));Mo=null;Ea=null;Ia=null;zr=new Array(1024).fill(void 0);zr.push(void 0,null,!0,!1);ki=zr.length;xa=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});xa.decode();yM=2146435072,BA=0;ya=0});var vA=p(()=>{Jp()});var Hp=p(()=>{});var qp=p(()=>{Lp();vA();Hp()});var Yp=p(()=>{qp();vA()});function TA(){let e=(0,_o.useRef)(null),[t,r]=(0,_o.useState)({width:void 0,height:void 0});return(0,_o.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var _o,jp=p(()=>{_o=f(B(),1)});var Wp=H((e3,Vp)=>{Vp.exports=JBrowseExports["react-dom"]});var $p=H((t3,zp)=>{zp.exports=JBrowseExports["react-dom/client"]});function Kp(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var _A=p(()=>{});var Xp=p(()=>{});var Zp=p(()=>{});var eh=p(()=>{});function wa(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var bM,DA=p(()=>{bM=f(Dt(),1);eh()});var $r=H((a3,th)=>{th.exports=JBrowseExports.mobx});var SM,rh=p(()=>{SM=f($r(),1)});var nh=p(()=>{});var oh=p(()=>{});var Do,Ba,kA,NA,QM,Ni,ba,ih=p(()=>{Do={METHOD:"method",PROPERTY:"property"},Ba=class{constructor(t,r){this.inst=t,this.args=r}},kA=class extends Ba{constructor(t,r){super(t,r),this.type=Do.METHOD}execute(t){t[this.inst](...this.args)}},NA=class extends Ba{constructor(t,r){super(t,r),this.type=Do.PROPERTY}execute(t){t[this.inst]=this.args[0]}},QM={[Do.METHOD]:kA,[Do.PROPERTY]:NA},Ni=class{constructor(t,r,n){return new QM[t](r,n)}};Ni.METHOD=Do.METHOD;Ni.PROPERTY=Do.PROPERTY;ba=Ni});var sh,vr,Sa,LA=p(()=>{ih();sh=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),vr=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),Sa=class{constructor(t=null){this[vr.sequence]=[],t&&this[vr.fromJSON](t)}[vr.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[vr.push](r,n,o)})}[vr.push](t,r,n){this[vr.sequence].push(new ba(t,r,n))}execute(t){t.save(),this[vr.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[vr.sequence]}}};sh.METHODS.forEach(e=>{Object.defineProperty(Sa.prototype,e,{value:function(...r){this[vr.push](ba.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});sh.PROPERTIES.forEach(e=>{Object.defineProperty(Sa.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[vr.push](ba.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var g3,ch=p(()=>{LA();g3=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var lh=p(()=>{ch();LA()});var uh=H((x3,Ah)=>{Ah.exports=!1});var MM,fh=p(()=>{lh();MM=f(uh(),1)});var vM,TM,dh=p(()=>{vM=f(L(),1),TM=f(B(),1)});var mh=p(()=>{});var S3,Q3,M3,v3,gh=p(()=>{S3=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),Q3=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),M3=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),v3=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});var ph=p(()=>{});var hh=p(()=>{});var Ch=p(()=>{Di()});var Qa,Eh=p(()=>{Qa=f(Dt(),1)});function RA(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=kM[r.charCodeAt(o)]??NM;return n*t}function PA(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function LM(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function OA(e){return er(e)?wa(e)?LM(e):JSON.stringify(e):String(e)}function Ih(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function xh(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return GA(e.map(a=>OA(a)).map(a=>s?Kp(a):a).map(a=>RA(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function GA(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function er(e){return typeof e=="object"&&e!==null}var FA,ko,_M,DM,U3,q3,Y3,j3,kM,NM,hn=p(()=>{FA=f(B(),1);Yp();ko=f(Dt(),1),_M=f(Wp(),1),DM=f($p(),1);_A();DA();DA();rh();nh();oh();_A();fh();dh();mh();gh();ph();hh();Xp();Zp();Eh();Ch();U3=180/Math.PI,q3=Math.PI/180,Y3=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),j3=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},kM=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],NM=.5279276315789471});var Lh=H((P5,Nh)=>{Nh.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var Rh,Ph,Fo,jA=p(()=>{Rh=f(L(),1),Ph=f(B(),1),Fo=class extends Ph.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,Rh.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var ct,VA,Oh,Gh,Jh=p(()=>{ct=f(B(),1),VA=f(P(),1),Oh=(0,VA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ct.useState)(!1),o=(0,ct.useRef)(!1),i=(0,ct.useRef)(0);return(0,ct.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientX;if(i.current===0)i.current=c.clientX;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setTreeAreaWidth(e.treeAreaWidth+A),o.current=!1,i.current=c.clientX})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ct.default.createElement("div",null,ct.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ew-resize",height:"100%",width:t,background:"rgba(200,200,200)",position:"relative"}}))}),Gh=(0,VA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ct.useState)(!1),o=(0,ct.useRef)(!1),i=(0,ct.useRef)(0);return(0,ct.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientY;if(i.current===0)i.current=c.clientY;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setHeight(e.height+A),o.current=!1,i.current=c.clientY})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ct.default.createElement("div",null,ct.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ns-resize",width:"100%",height:t,background:"rgba(200,200,200)",position:"relative"}}))})});var Hh,Uh,qh=p(()=>{"use client";z();Hh=f(L(),1),Uh=(0,_.createSvgIcon)((0,Hh.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function Ro({ref:e,onScrollX:t,onScrollY:r}){let n=(0,pr.useRef)(!1),o=(0,pr.useRef)(0),i=(0,pr.useRef)(0),s=(0,pr.useRef)(0),a=(0,pr.useRef)(0),[c,l]=(0,pr.useState)(!1);(0,pr.useEffect)(()=>{let d=e.current;if(!d)return;function m(g){t&&(o.current+=g.deltaX),r&&(i.current+=g.deltaY),n.current||(n.current=!0,requestAnimationFrame(()=>{t&&(t(-o.current),o.current=0),r&&(r(-i.current),i.current=0),n.current=!1})),g.preventDefault(),g.stopPropagation()}return d.addEventListener("wheel",m,{passive:!1}),()=>{d.removeEventListener("wheel",m)}},[e,t,r]),(0,pr.useEffect)(()=>{if(!c)return;function d(g){g.preventDefault();let h=g.clientX-s.current,I=g.clientY-a.current;(h&&t||I&&r)&&(n.current||(n.current=!0,requestAnimationFrame(()=>{t?.(h),r?.(I),n.current=!1,s.current=g.clientX,a.current=g.clientY})))}function m(){s.current=0,a.current=0,l(!1)}return window.addEventListener("mousemove",d,!0),window.addEventListener("mouseup",m,!0),()=>{window.removeEventListener("mousemove",d,!0),window.removeEventListener("mouseup",m,!0)}},[c,t,r]);function A(d){let m=d.target;m.draggable||m.dataset.resizer||d.button===0&&(s.current=d.clientX,a.current=d.clientY,l(!0))}function u(d){d.preventDefault(),l(!1)}return{onMouseDown:A,onMouseUp:u}}var pr,Ta=p(()=>{pr=f(B(),1)});function Li(e){let t=navigator.clipboard;if(t?.writeText){t.writeText(e).catch(n=>{console.error("Failed to copy to clipboard:",n)});return}let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.append(r),r.select(),document.execCommand("copy"),r.remove()}var WA=p(()=>{});var Wh={};je(Wh,{default:()=>qM});var Xr,Yh,Hn,jh,Vh,HM,UM,qM,zh=p(()=>{Xr=f(B(),1),Yh=f(ue(),1),Hn=f(k(),1),jh=f(P(),1),Vh=f(Ve(),1);WA();HM=(0,Vh.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),UM=(0,jh.observer)(function({model:e,onClose:t}){let[r,n]=(0,Xr.useState)("Copy to clipboard"),{classes:o}=HM();return Xr.default.createElement(Yh.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},Xr.default.createElement(Hn.DialogContent,null,Xr.default.createElement(Hn.Button,{variant:"contained",color:"primary",onClick:()=>{Li(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),Xr.default.createElement("pre",{className:o.textArea},e.data)),Xr.default.createElement(Hn.DialogActions,null,Xr.default.createElement(Hn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),qM=UM});var _e,Un,zA,$h,YM,jM,VM,WM,Kh,Xh=p(()=>{_e=f(B(),1);qh();Un=f(k(),1),zA=f(P(),1),$h=f(Ve(),1);Ta();YM=(0,_e.lazy)(()=>Promise.resolve().then(()=>(zh(),Wh))),jM=(0,$h.makeStyles)()({button:{padding:0}}),VM=(0,zA.observer)(function({model:t,track:r}){let[n,o]=(0,_e.useState)(),{drawLabels:i,rowHeight:s,treeAreaWidth:a}=t,{model:{name:c,height:l}}=r,{classes:A}=jM(),u=Math.max(8,s-8);return _e.default.createElement("div",{style:{width:a,height:l,flexShrink:0,textAlign:"right",fontSize:u}},i?c:""," ",_e.default.createElement(Un.IconButton,{className:A.button,style:{width:u,height:u},onClick:d=>{o(d.currentTarget)}},_e.default.createElement(Uh,null)),n?_e.default.createElement(Un.Menu,{anchorEl:n,transitionDuration:0,open:!0,onClose:()=>{o(void 0)}},_e.default.createElement(Un.MenuItem,{dense:!0,onClick:()=>{t.toggleTrack(r.model.id),o(void 0)}},"Close"),_e.default.createElement(Un.MenuItem,{dense:!0,onClick:()=>{t.queueDialog(d=>[YM,{onClose:d,model:r.model}]),o(void 0)}},"Get info")):null)}),WM=(0,zA.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s,error:a}}=t,c=(0,_e.useRef)(null),l=(0,_e.useCallback)(A=>{e.doScrollX(A)},[e]);return Ro({ref:c,onScrollX:l}),_e.default.createElement("div",{key:t.id,style:{display:"flex",height:s}},_e.default.createElement(VM,{model:e,track:t}),_e.default.createElement("div",{style:{width:r,flexShrink:0}}),_e.default.createElement("div",{ref:c,onMouseMove:A=>{if(!c.current)return;let{left:u}=c.current.getBoundingClientRect(),d=A.clientX-u-o,m=Math.floor(d/n);m>=0&&m<i?e.setMousePos(m,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},a?_e.default.createElement("div",{style:{color:"red",fontSize:10}},`${a}`):_e.default.createElement(t.ReactComponent,{model:e,track:t})))}),Kh=WM});var Tr,Zh,e0,zM,t0,r0=p(()=>{Tr=f(B(),1),Zh=f(ne(),1),e0=f(P(),1),zM=(0,e0.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,Tr.useState)(!1),s=(0,Tr.useRef)(!1),[a,c]=(0,Tr.useState)(),l="rgba(66, 119, 127, 0.3)",A=t/n,u=-r,d=u+t,m=u*A,g=d*A;return(0,Tr.useEffect)(()=>{function h(C){a!==void 0&&(s.current||(s.current=!0,window.requestAnimationFrame(()=>{e.setScrollY((0,Zh.clamp)(a.scrollY-(C.clientY-a.clientY)/A,-n,0)),s.current=!1})))}function I(){c(void 0)}if(a!==void 0)return document.addEventListener("mousemove",h),document.addEventListener("mouseup",I),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mousemove",I)}},[e,A,n,a]),Tr.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},Tr.default.createElement("div",{style:{position:"absolute",top:Math.max(0,m),left:0,background:o?"rgba(66,119,127,0.6)":l,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(g-m,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:h=>{c({clientY:h.clientY,scrollY:e.scrollY})}}))}),t0=zM});var n0,o0,i0=p(()=>{"use client";z();n0=f(L(),1),o0=(0,_.createSvgIcon)((0,n0.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var s0,a0,c0=p(()=>{"use client";z();s0=f(L(),1),a0=(0,_.createSvgIcon)((0,s0.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var l0,A0,u0=p(()=>{"use client";z();l0=f(L(),1),A0=(0,_.createSvgIcon)((0,l0.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var f0,_a,$A=p(()=>{"use client";z();f0=f(L(),1),_a=(0,_.createSvgIcon)((0,f0.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var d0,m0,g0=p(()=>{"use client";z();d0=f(L(),1),m0=(0,_.createSvgIcon)((0,d0.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var p0,h0,C0=p(()=>{"use client";z();p0=f(L(),1),h0=(0,_.createSvgIcon)((0,p0.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function KM(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function XM(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var $M,E0,I0=p(()=>{$M=!1;E0=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!$M:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(XM(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=KM(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var nt,Fi,X,Da,Po,Oo,x0,ka,y0,Na=p(()=>{nt="-ms-",Fi="-moz-",X="-webkit-",Da="comm",Po="rule",Oo="decl",x0="@import",ka="@keyframes",y0="@layer"});function b0(e,t){return De(e,0)^45?(((t<<2^De(e,0))<<2^De(e,1))<<2^De(e,2))<<2^De(e,3):0}function La(e){return e.trim()}function KA(e,t){return(e=t.exec(e))?e[0]:e}function W(e,t,r){return e.replace(t,r)}function Ri(e,t){return e.indexOf(t)}function De(e,t){return e.charCodeAt(t)|0}function Cn(e,t,r){return e.slice(t,r)}function gt(e){return e.length}function Go(e){return e.length}function Jo(e,t){return t.push(e),e}function XA(e,t){return e.map(t).join("")}var w0,qn,B0,Ho=p(()=>{w0=Math.abs,qn=String.fromCharCode,B0=Object.assign});function Pi(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:Fa,column:Uo,length:s,return:""}}function jo(e,t){return B0(Pi("",null,null,"",null,null,0),e,{length:-e.length},t)}function Q0(){return Pe}function M0(){return Pe=pt>0?De(Yo,--pt):0,Uo--,Pe===10&&(Uo=1,Fa--),Pe}function ht(){return Pe=pt<S0?De(Yo,pt++):0,Uo++,Pe===10&&(Uo=1,Fa++),Pe}function tr(){return De(Yo,pt)}function Oi(){return pt}function Vo(e,t){return Cn(Yo,e,t)}function qo(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Ra(e){return Fa=Uo=1,S0=gt(Yo=e),pt=0,[]}function Pa(e){return Yo="",e}function Wo(e){return La(Vo(pt-1,ZA(e===91?e+2:e===40?e+1:e)))}function v0(e){for(;(Pe=tr())&&Pe<33;)ht();return qo(e)>2||qo(Pe)>3?"":" "}function T0(e,t){for(;--t&&ht()&&!(Pe<48||Pe>102||Pe>57&&Pe<65||Pe>70&&Pe<97););return Vo(e,Oi()+(t<6&&tr()==32&&ht()==32))}function ZA(e){for(;ht();)switch(Pe){case e:return pt;case 34:case 39:e!==34&&e!==39&&ZA(Pe);break;case 40:e===41&&ZA(e);break;case 92:ht();break}return pt}function _0(e,t){for(;ht()&&e+Pe!==57;)if(e+Pe===84&&tr()===47)break;return"/*"+Vo(t,pt-1)+"*"+qn(e===47?e:ht())}function D0(e){for(;!qo(tr());)ht();return Vo(e,pt)}var Fa,Uo,S0,pt,Pe,Yo,eu=p(()=>{Ho();Fa=1,Uo=1,S0=0,pt=0,Pe=0,Yo=""});function L0(e){return Pa(Oa("",null,null,null,[""],e=Ra(e),0,[0],e))}function Oa(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,d=0,m=0,g=0,h=1,I=1,C=1,x=0,y="",b=o,S=i,v=n,M=y;I;)switch(g=x,x=ht()){case 40:if(g!=108&&De(M,u-1)==58){Ri(M+=W(Wo(x),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:M+=Wo(x);break;case 9:case 10:case 13:case 32:M+=v0(g);break;case 92:M+=T0(Oi()-1,7);continue;case 47:switch(tr()){case 42:case 47:Jo(ZM(_0(ht(),Oi()),t,r),c);break;default:M+="/"}break;case 123*h:a[l++]=gt(M)*C;case 125*h:case 59:case 0:switch(x){case 0:case 125:I=0;case 59+A:C==-1&&(M=W(M,/\f/g,"")),m>0&&gt(M)-u&&Jo(m>32?N0(M+";",n,r,u-1):N0(W(M," ","")+";",n,r,u-2),c);break;case 59:M+=";";default:if(Jo(v=k0(M,t,r,l,A,o,a,y,b=[],S=[],u),i),x===123)if(A===0)Oa(M,t,v,v,b,i,u,a,S);else switch(d===99&&De(M,3)===110?100:d){case 100:case 108:case 109:case 115:Oa(e,v,v,n&&Jo(k0(e,v,v,0,0,o,a,y,o,b=[],u),S),o,S,u,a,n?b:S);break;default:Oa(M,v,v,v,[""],S,0,a,S)}}l=A=m=0,h=C=1,y=M="",u=s;break;case 58:u=1+gt(M),m=g;default:if(h<1){if(x==123)--h;else if(x==125&&h++==0&&M0()==125)continue}switch(M+=qn(x),x*h){case 38:C=A>0?1:(M+="\f",-1);break;case 44:a[l++]=(gt(M)-1)*C,C=1;break;case 64:tr()===45&&(M+=Wo(ht())),d=tr(),A=u=gt(y=M+=D0(Oi())),x++;break;case 45:g===45&&gt(M)==2&&(h=0)}}return i}function k0(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,d=o===0?i:[""],m=Go(d),g=0,h=0,I=0;g<n;++g)for(var C=0,x=Cn(e,u+1,u=w0(h=s[g])),y=e;C<m;++C)(y=La(h>0?d[C]+" "+x:W(x,/&\f/g,d[C])))&&(c[I++]=y);return Pi(e,t,r,o===0?Po:a,c,l,A)}function ZM(e,t,r){return Pi(e,t,r,Da,qn(Q0()),Cn(e,2,-2),0)}function N0(e,t,r,n){return Pi(e,t,r,Oo,Cn(e,0,n),Cn(e,n+1,-1),n)}var F0=p(()=>{Na();Ho();eu()});var R0=p(()=>{});function Yn(e,t){for(var r="",n=Go(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function P0(e,t,r,n){switch(e.type){case y0:if(e.children.length)break;case x0:case Oo:return e.return=e.return||e.value;case Da:return"";case ka:return e.return=e.value+"{"+Yn(e.children,n)+"}";case Po:e.value=e.props.join(",")}return gt(r=Yn(e.children,n))?e.return=e.value+"{"+r+"}":""}var O0=p(()=>{Na();Ho()});function G0(e){var t=Go(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function J0(e){return function(t){t.root||(t=t.return)&&e(t)}}var H0=p(()=>{Ho()});var U0=p(()=>{Na();Ho();F0();R0();eu();O0();H0()});var Ga=p(()=>{});function q0(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var tu=p(()=>{});function j0(e,t){switch(b0(e,t)){case 5103:return X+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return X+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return X+e+Fi+e+nt+e+e;case 6828:case 4268:return X+e+nt+e+e;case 6165:return X+e+nt+"flex-"+e+e;case 5187:return X+e+W(e,/(\w+).+(:[^]+)/,X+"box-$1$2"+nt+"flex-$1$2")+e;case 5443:return X+e+nt+"flex-item-"+W(e,/flex-|-self/,"")+e;case 4675:return X+e+nt+"flex-line-pack"+W(e,/align-content|flex-|-self/,"")+e;case 5548:return X+e+nt+W(e,"shrink","negative")+e;case 5292:return X+e+nt+W(e,"basis","preferred-size")+e;case 6060:return X+"box-"+W(e,"-grow","")+X+e+nt+W(e,"grow","positive")+e;case 4554:return X+W(e,/([^-])(transform)/g,"$1"+X+"$2")+e;case 6187:return W(W(W(e,/(zoom-|grab)/,X+"$1"),/(image-set)/,X+"$1"),e,"")+e;case 5495:case 3959:return W(e,/(image-set\([^]*)/,X+"$1$`$1");case 4968:return W(W(e,/(.+:)(flex-)?(.*)/,X+"box-pack:$3"+nt+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+X+e+e;case 4095:case 3583:case 4068:case 2532:return W(e,/(.+)-inline(.+)/,X+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(gt(e)-1-t>6)switch(De(e,t+1)){case 109:if(De(e,t+4)!==45)break;case 102:return W(e,/(.+:)(.+)-([^]+)/,"$1"+X+"$2-$3$1"+Fi+(De(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Ri(e,"stretch")?j0(W(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(De(e,t+1)!==115)break;case 6444:switch(De(e,gt(e)-3-(~Ri(e,"!important")&&10))){case 107:return W(e,":",":"+X)+e;case 101:return W(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+X+(De(e,14)===45?"inline-":"")+"box$3$1"+X+"$2$3$1"+nt+"$2box$3")+e}break;case 5936:switch(De(e,t+11)){case 114:return X+e+nt+W(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return X+e+nt+W(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return X+e+nt+W(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return X+e+nt+e+e}return e}var e2,t2,r2,Y0,n2,o2,i2,s2,V0,ru=p(()=>{I0();U0();Ga();tu();e2=function(t,r,n){for(var o=0,i=0;o=i,i=tr(),o===38&&i===12&&(r[n]=1),!qo(i);)ht();return Vo(t,pt)},t2=function(t,r){var n=-1,o=44;do switch(qo(o)){case 0:o===38&&tr()===12&&(r[n]=1),t[n]+=e2(pt-1,r,n);break;case 2:t[n]+=Wo(o);break;case 4:if(o===44){t[++n]=tr()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=qn(o)}while(o=ht());return t},r2=function(t,r){return Pa(t2(Ra(t),r))},Y0=new WeakMap,n2=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!Y0.get(n))&&!o){Y0.set(t,!0);for(var i=[],s=r2(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},o2=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};i2=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case Oo:t.return=j0(t.value,t.length);break;case ka:return Yn([jo(t,{value:W(t.value,"@","@"+X)})],o);case Po:if(t.length)return XA(t.props,function(i){switch(KA(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Yn([jo(t,{props:[W(i,/:(read-\w+)/,":"+Fi+"$1")]})],o);case"::placeholder":return Yn([jo(t,{props:[W(i,/:(plac\w+)/,":"+X+"input-$1")]}),jo(t,{props:[W(i,/:(plac\w+)/,":"+Fi+"$1")]}),jo(t,{props:[W(i,/:(plac\w+)/,nt+"input-$1")]})],o)}return""})}},s2=[i2],V0=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(h){var I=h.getAttribute("data-emotion");I.indexOf(" ")!==-1&&(document.head.appendChild(h),h.setAttribute("data-s",""))})}var o=t.stylisPlugins||s2,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(h){for(var I=h.getAttribute("data-emotion").split(" "),C=1;C<I.length;C++)i[I[C]]=!0;a.push(h)});var c,l=[n2,o2];{var A,u=[P0,J0(function(h){A.insert(h)})],d=G0(l.concat(o,u)),m=function(I){return Yn(L0(I),d)};c=function(I,C,x,y){A=x,m(I?I+"{"+C.styles+"}":C.styles),y&&(g.inserted[C.name]=!0)}}var g={key:r,sheet:new E0({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return g.sheet.hydrate(a),g}});var nu=p(()=>{});var z0=H(oe=>{"use strict";var ze=typeof Symbol=="function"&&Symbol.for,ou=ze?Symbol.for("react.element"):60103,iu=ze?Symbol.for("react.portal"):60106,Ja=ze?Symbol.for("react.fragment"):60107,Ha=ze?Symbol.for("react.strict_mode"):60108,Ua=ze?Symbol.for("react.profiler"):60114,qa=ze?Symbol.for("react.provider"):60109,Ya=ze?Symbol.for("react.context"):60110,su=ze?Symbol.for("react.async_mode"):60111,ja=ze?Symbol.for("react.concurrent_mode"):60111,Va=ze?Symbol.for("react.forward_ref"):60112,Wa=ze?Symbol.for("react.suspense"):60113,a2=ze?Symbol.for("react.suspense_list"):60120,za=ze?Symbol.for("react.memo"):60115,$a=ze?Symbol.for("react.lazy"):60116,c2=ze?Symbol.for("react.block"):60121,l2=ze?Symbol.for("react.fundamental"):60117,A2=ze?Symbol.for("react.responder"):60118,u2=ze?Symbol.for("react.scope"):60119;function Ft(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case ou:switch(e=e.type,e){case su:case ja:case Ja:case Ua:case Ha:case Wa:return e;default:switch(e=e&&e.$$typeof,e){case Ya:case Va:case $a:case za:case qa:return e;default:return t}}case iu:return t}}}function W0(e){return Ft(e)===ja}oe.AsyncMode=su;oe.ConcurrentMode=ja;oe.ContextConsumer=Ya;oe.ContextProvider=qa;oe.Element=ou;oe.ForwardRef=Va;oe.Fragment=Ja;oe.Lazy=$a;oe.Memo=za;oe.Portal=iu;oe.Profiler=Ua;oe.StrictMode=Ha;oe.Suspense=Wa;oe.isAsyncMode=function(e){return W0(e)||Ft(e)===su};oe.isConcurrentMode=W0;oe.isContextConsumer=function(e){return Ft(e)===Ya};oe.isContextProvider=function(e){return Ft(e)===qa};oe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===ou};oe.isForwardRef=function(e){return Ft(e)===Va};oe.isFragment=function(e){return Ft(e)===Ja};oe.isLazy=function(e){return Ft(e)===$a};oe.isMemo=function(e){return Ft(e)===za};oe.isPortal=function(e){return Ft(e)===iu};oe.isProfiler=function(e){return Ft(e)===Ua};oe.isStrictMode=function(e){return Ft(e)===Ha};oe.isSuspense=function(e){return Ft(e)===Wa};oe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ja||e===ja||e===Ua||e===Ha||e===Wa||e===a2||typeof e=="object"&&e!==null&&(e.$$typeof===$a||e.$$typeof===za||e.$$typeof===qa||e.$$typeof===Ya||e.$$typeof===Va||e.$$typeof===l2||e.$$typeof===A2||e.$$typeof===u2||e.$$typeof===c2)};oe.typeOf=Ft});var K0=H((JP,$0)=>{"use strict";$0.exports=z0()});var oC=H((HP,nC)=>{"use strict";var au=K0(),f2={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},d2={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},m2={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},tC={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},cu={};cu[au.ForwardRef]=m2;cu[au.Memo]=tC;function X0(e){return au.isMemo(e)?tC:cu[e.$$typeof]||f2}var g2=Object.defineProperty,p2=Object.getOwnPropertyNames,Z0=Object.getOwnPropertySymbols,h2=Object.getOwnPropertyDescriptor,C2=Object.getPrototypeOf,eC=Object.prototype;function rC(e,t,r){if(typeof t!="string"){if(eC){var n=C2(t);n&&n!==eC&&rC(e,n,r)}var o=p2(t);Z0&&(o=o.concat(Z0(t)));for(var i=X0(e),s=X0(t),a=0;a<o.length;++a){var c=o[a];if(!d2[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=h2(t,c);try{g2(e,c,l)}catch{}}}}return e}nC.exports=rC});function Gi(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var E2,Ka,Ji,Xa=p(()=>{E2=!0;Ka=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||E2===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},Ji=function(t,r,n){Ka(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function iC(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var sC=p(()=>{});var aC,cC=p(()=>{aC={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Hi(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return _r={name:o.name,styles:o.styles,next:_r},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)_r={name:s.name,styles:s.styles,next:_r},s=s.next;var a=i.styles+";";return a}return B2(e,t,r)}case"function":{if(e!==void 0){var c=_r,l=r(e);return _r=c,Hi(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function B2(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=Hi(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":lC(a)&&(n+=lu(i)+":"+AC(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&I2)throw new Error(w2);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)lC(s[c])&&(n+=lu(i)+":"+AC(i,s[c])+";");else{var l=Hi(e,t,s);switch(i){case"animation":case"animationName":{n+=lu(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function zo(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";_r=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=Hi(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=Hi(r,t,e[a]),n){var c=i;o+=c[a]}uC.lastIndex=0;for(var l="",A;(A=uC.exec(o))!==null;)l+="-"+A[1];var u=iC(o)+l;return{name:u,styles:o,next:_r}}var I2,x2,y2,fC,lC,lu,AC,w2,uC,_r,Za=p(()=>{sC();cC();tu();I2=!1,x2=/[A-Z]|^ms/g,y2=/_EMO_([^_]+?)_([^]*?)_EMO_/g,fC=function(t){return t.charCodeAt(1)===45},lC=function(t){return t!=null&&typeof t!="boolean"},lu=q0(function(e){return fC(e)?e:e.replace(x2,"-$&").toLowerCase()}),AC=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(y2,function(n,o,i){return _r={name:o,styles:i,next:_r},o})}return aC[t]!==1&&!fC(t)&&typeof r=="number"&&r!==0?r+"px":r},w2="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";uC=/label:\s*([^\s;{]+)\s*(;|$)/g});var ec,b2,S2,Au,uu=p(()=>{ec=f(B()),b2=function(t){return t()},S2=ec.useInsertionEffect?ec.useInsertionEffect:!1,Au=S2||b2});var rr,Ui,dC,du,Q2,mu,gu,pu,tc,fu,mC,M2,v2,gC,hu=p(()=>{rr=f(B()),Ui=f(B());ru();nu();Ga();Xa();Za();uu();dC=!1,du=rr.createContext(typeof HTMLElement<"u"?V0({key:"css"}):null),Q2=du.Provider,mu=function(){return(0,Ui.useContext)(du)},gu=function(t){return(0,Ui.forwardRef)(function(r,n){var o=(0,Ui.useContext)(du);return t(r,o,n)})},pu=rr.createContext({}),tc={}.hasOwnProperty,fu="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",mC=function(t,r){var n={};for(var o in r)tc.call(r,o)&&(n[o]=r[o]);return n[fu]=t,n},M2=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return Ka(r,n,o),Au(function(){return Ji(r,n,o)}),null},v2=gu(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[fu],i=[n],s="";typeof e.className=="string"?s=Gi(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=zo(i,void 0,rr.useContext(pu));s+=t.key+"-"+a.name;var c={};for(var l in e)tc.call(e,l)&&l!=="css"&&l!==fu&&!dC&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),rr.createElement(rr.Fragment,null,rr.createElement(M2,{cache:t,serialized:a,isStringTag:typeof o=="string"}),rr.createElement(o,c))}),gC=v2});function T2(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return zo(t)}function Cu(){var e=T2.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var $o,h4,pC,Eu=p(()=>{hu();hu();$o=f(B());Xa();uu();Za();ru();nu();Ga();h4=f(oC()),pC=function(t,r){var n=arguments;if(r==null||!tc.call(r,"css"))return $o.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=gC,i[1]=mC(t,r);for(var s=2;s<o;s++)i[s]=n[s];return $o.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(pC||(pC={}))});var Iu=H((I4,hC)=>{hC.exports=JBrowseExports["@mui/material/styles"]});var Ko,xu=p(()=>{Ko=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=Ko(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function CC(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var EC=p(()=>{});function yC(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,xC.useMemo)(()=>_2({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var xC,_2,IC,wC=p(()=>{xC=f(B(),1);Za();Xa();xu();EC();({createCssAndCx:_2}=(()=>{function e(r,n,o){let i=[],s=Gi(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=zo(s,n.registered);Ji(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!CC(l))break e;IC.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=Ko(s),c=IC.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());IC=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return Ko(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function BC(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var bC=p(()=>{});function SC(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var QC=p(()=>{});function MC(e){let{useTheme:t}=e,{useCssAndCx:r}=yC({useCache:D2});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),d=(0,yu.useMemo)(()=>{let I=i(l),C={};for(let x of Object.keys(I)){let y=I[x];C[x]=A(y)}return C},[A,l]),m=c?.props.classes,g=SC(m);return{classes:(0,yu.useMemo)(()=>m?BC(d,m,u):d,[d,g,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var yu,D2,vC=p(()=>{"use client";yu=f(B(),1);Eu();wC();bC();QC();D2=mu});var TC,te,_C=p(()=>{TC=f(Iu(),1);vC();({makeStyles:te}=MC({useTheme:TC.useTheme}))});var DC=p(()=>{_C()});function rc(...e){return Ko(e)}var Ct=p(()=>{"use client";Eu();DC();xu()});function wu({children:e}){let{classes:t}=k2();return(0,kC.jsx)("div",{className:t.bg,children:e})}var kC,k2,NC=p(()=>{kC=f(L(),1);Ct();k2=te()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var FC=H(Bu=>{var LC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Bu.encode=function(e){if(0<=e&&e<LC.length)return LC[e];throw new TypeError("Must be between 0 and 63: "+e)};Bu.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var Qu=H(Su=>{var RC=FC(),bu=5,PC=1<<bu,OC=PC-1,GC=PC;function N2(e){return e<0?(-e<<1)+1:(e<<1)+0}function L2(e){var t=(e&1)===1,r=e>>1;return t?-r:r}Su.encode=function(t){var r="",n,o=N2(t);do n=o&OC,o>>>=bu,o>0&&(n|=GC),r+=RC.encode(n);while(o>0);return r};Su.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=RC.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&GC),c&=OC,i=i+(c<<s),s+=bu}while(a);n.value=L2(i),n.rest=r}});var Zo=H($e=>{function F2(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}$e.getArg=F2;var JC=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,R2=/^data:.+\,.+$/;function qi(e){var t=e.match(JC);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}$e.urlParse=qi;function Xo(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}$e.urlGenerate=Xo;var P2=32;function O2(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>P2&&t.pop(),i}}var Mu=O2(function(t){var r=t,n=qi(t);if(n){if(!n.path)return t;r=n.path}for(var o=$e.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,Xo(n)):r});$e.normalize=Mu;function HC(e,t){e===""&&(e="."),t===""&&(t=".");var r=qi(t),n=qi(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),Xo(r);if(r||t.match(R2))return t;if(n&&!n.host&&!n.path)return n.host=t,Xo(n);var o=t.charAt(0)==="/"?t:Mu(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,Xo(n)):o}$e.join=HC;$e.isAbsolute=function(e){return e.charAt(0)==="/"||JC.test(e)};function G2(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}$e.relative=G2;var UC=(function(){var e=Object.create(null);return!("__proto__"in e)})();function qC(e){return e}function J2(e){return YC(e)?"$"+e:e}$e.toSetString=UC?qC:J2;function H2(e){return YC(e)?e.slice(1):e}$e.fromSetString=UC?qC:H2;function YC(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function U2(e,t,r){var n=Zr(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Zr(e.name,t.name)}$e.compareByOriginalPositions=U2;function q2(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Zr(e.name,t.name)}$e.compareByOriginalPositionsNoSource=q2;function Y2(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=Zr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Zr(e.name,t.name)}$e.compareByGeneratedPositionsDeflated=Y2;function j2(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=Zr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Zr(e.name,t.name)}$e.compareByGeneratedPositionsDeflatedNoLine=j2;function Zr(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function V2(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Zr(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Zr(e.name,t.name)}$e.compareByGeneratedPositionsInflated=V2;function W2(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}$e.parseSourceMapInput=W2;function z2(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=qi(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=HC(Xo(n),t)}return Mu(t)}$e.computeSourceURL=z2});var _u=H(jC=>{var vu=Zo(),Tu=Object.prototype.hasOwnProperty,jn=typeof Map<"u";function en(){this._array=[],this._set=jn?new Map:Object.create(null)}en.fromArray=function(t,r){for(var n=new en,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};en.prototype.size=function(){return jn?this._set.size:Object.getOwnPropertyNames(this._set).length};en.prototype.add=function(t,r){var n=jn?t:vu.toSetString(t),o=jn?this.has(t):Tu.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(jn?this._set.set(t,i):this._set[n]=i)};en.prototype.has=function(t){if(jn)return this._set.has(t);var r=vu.toSetString(t);return Tu.call(this._set,r)};en.prototype.indexOf=function(t){if(jn){var r=this._set.get(t);if(r>=0)return r}else{var n=vu.toSetString(t);if(Tu.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};en.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};en.prototype.toArray=function(){return this._array.slice()};jC.ArraySet=en});var zC=H(WC=>{var VC=Zo();function $2(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||VC.compareByGeneratedPositionsInflated(e,t)<=0}function nc(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}nc.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};nc.prototype.add=function(t){$2(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};nc.prototype.toArray=function(){return this._sorted||(this._array.sort(VC.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};WC.MappingList=nc});var Du=H($C=>{var Yi=Qu(),ke=Zo(),oc=_u().ArraySet,K2=zC().MappingList;function nr(e){e||(e={}),this._file=ke.getArg(e,"file",null),this._sourceRoot=ke.getArg(e,"sourceRoot",null),this._skipValidation=ke.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=ke.getArg(e,"ignoreInvalidMapping",!1),this._sources=new oc,this._names=new oc,this._mappings=new K2,this._sourcesContents=null}nr.prototype._version=3;nr.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new nr(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=ke.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=ke.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};nr.prototype.addMapping=function(t){var r=ke.getArg(t,"generated"),n=ke.getArg(t,"original",null),o=ke.getArg(t,"source",null),i=ke.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};nr.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=ke.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[ke.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[ke.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};nr.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=ke.relative(i,o));var s=new oc,a=new oc;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=ke.join(n,c.source)),i!=null&&(c.source=ke.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=ke.join(n,c)),i!=null&&(c=ke.relative(i,c)),this.setSourceContent(c,l))},this)};nr.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};nr.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,d=this._mappings.toArray(),m=0,g=d.length;m<g;m++){if(l=d[m],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(m>0){if(!ke.compareByGeneratedPositionsInflated(l,d[m-1]))continue;c+=","}c+=Yi.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=Yi.encode(u-s),s=u,c+=Yi.encode(l.originalLine-1-o),o=l.originalLine-1,c+=Yi.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=Yi.encode(A-i),i=A)),a+=c}return a};nr.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=ke.relative(r,n));var o=ke.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};nr.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};nr.prototype.toString=function(){return JSON.stringify(this.toJSON())};$C.SourceMapGenerator=nr});var KC=H(Vn=>{Vn.GREATEST_LOWER_BOUND=1;Vn.LEAST_UPPER_BOUND=2;function ku(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?ku(s,t,r,n,o,i):i==Vn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?ku(e,s,r,n,o,i):i==Vn.LEAST_UPPER_BOUND?s:e<0?-1:e}Vn.search=function(t,r,n,o){if(r.length===0)return-1;var i=ku(-1,r.length,t,r,n,o||Vn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var eE=H(ZC=>{function X2(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var d=l+1;n(o,i,s,d-1),n(o,i,d+1,a)}}return n}function Z2(e){let t=X2.toString();return new Function(`return ${t}`)()(e)}var XC=new WeakMap;ZC.quickSort=function(e,t,r=0){let n=XC.get(t);n===void 0&&(n=Z2(t),XC.set(t,n)),n(e,t,r,e.length-1)}});var nE=H(ic=>{var D=Zo(),Lu=KC(),ei=_u().ArraySet,ev=Qu(),ji=eE().quickSort;function he(e,t){var r=e;return typeof e=="string"&&(r=D.parseSourceMapInput(e)),r.sections!=null?new hr(r,t):new ot(r,t)}he.fromSourceMap=function(e,t){return ot.fromSourceMap(e,t)};he.prototype._version=3;he.prototype.__generatedMappings=null;Object.defineProperty(he.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});he.prototype.__originalMappings=null;Object.defineProperty(he.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});he.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};he.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};he.GENERATED_ORDER=1;he.ORIGINAL_ORDER=2;he.GREATEST_LOWER_BOUND=1;he.LEAST_UPPER_BOUND=2;he.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||he.GENERATED_ORDER,s;switch(i){case he.GENERATED_ORDER:s=this._generatedMappings;break;case he.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,d=0,m=s.length;d<m;d++){var g=s[d],h=g.source===null?null:A.at(g.source);h!==null&&(h=D.computeSourceURL(a,h,u)),c({source:h,generatedLine:g.generatedLine,generatedColumn:g.generatedColumn,originalLine:g.originalLine,originalColumn:g.originalColumn,name:g.name===null?null:l.at(g.name)})}};he.prototype.allGeneratedPositionsFor=function(t){var r=D.getArg(t,"line"),n={source:D.getArg(t,"source"),originalLine:r,originalColumn:D.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",D.compareByOriginalPositions,Lu.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:D.getArg(s,"generatedLine",null),column:D.getArg(s,"generatedColumn",null),lastColumn:D.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:D.getArg(s,"generatedLine",null),column:D.getArg(s,"generatedColumn",null),lastColumn:D.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};ic.SourceMapConsumer=he;function ot(e,t){var r=e;typeof e=="string"&&(r=D.parseSourceMapInput(e));var n=D.getArg(r,"version"),o=D.getArg(r,"sources"),i=D.getArg(r,"names",[]),s=D.getArg(r,"sourceRoot",null),a=D.getArg(r,"sourcesContent",null),c=D.getArg(r,"mappings"),l=D.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=D.normalize(s)),o=o.map(String).map(D.normalize).map(function(A){return s&&D.isAbsolute(s)&&D.isAbsolute(A)?D.relative(s,A):A}),this._names=ei.fromArray(i.map(String),!0),this._sources=ei.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return D.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}ot.prototype=Object.create(he.prototype);ot.prototype.consumer=he;ot.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=D.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};ot.fromSourceMap=function(t,r){var n=Object.create(ot.prototype),o=n._names=ei.fromArray(t._names.toArray(),!0),i=n._sources=ei.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(m){return D.computeSourceURL(n.sourceRoot,m,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],d=new rE;d.generatedLine=u.generatedLine,d.generatedColumn=u.generatedColumn,u.source&&(d.source=i.indexOf(u.source),d.originalLine=u.originalLine,d.originalColumn=u.originalColumn,u.name&&(d.name=o.indexOf(u.name)),c.push(d)),a.push(d)}return ji(n.__originalMappings,D.compareByOriginalPositions),n};ot.prototype._version=3;Object.defineProperty(ot.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function rE(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var Nu=D.compareByGeneratedPositionsDeflatedNoLine;function tE(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];Nu(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(Nu(s,a)<=0)break;e[i-1]=a,e[i]=s}else ji(e,Nu,t)}ot.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},d={},m=[],g=[],h,I,C,x,y;let b=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,tE(g,b),b=g.length;else if(t.charAt(A)===",")A++;else{for(h=new rE,h.generatedLine=n,x=A;x<l&&!this._charIsMappingSeparator(t,x);x++);for(I=t.slice(A,x),C=[];A<x;)ev.decode(t,A,d),y=d.value,A=d.rest,C.push(y);if(C.length===2)throw new Error("Found a source, but no line and column");if(C.length===3)throw new Error("Found a source and line, but no column");if(h.generatedColumn=o+C[0],o=h.generatedColumn,C.length>1&&(h.source=a+C[1],a+=C[1],h.originalLine=i+C[2],i=h.originalLine,h.originalLine+=1,h.originalColumn=s+C[3],s=h.originalColumn,C.length>4&&(h.name=c+C[4],c+=C[4])),g.push(h),typeof h.originalLine=="number"){let v=h.source;for(;m.length<=v;)m.push(null);m[v]===null&&(m[v]=[]),m[v].push(h)}}tE(g,b),this.__generatedMappings=g;for(var S=0;S<m.length;S++)m[S]!=null&&ji(m[S],D.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...m)};ot.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return Lu.search(t,r,i,s)};ot.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};ot.prototype.originalPositionFor=function(t){var r={generatedLine:D.getArg(t,"line"),generatedColumn:D.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",D.compareByGeneratedPositionsDeflated,D.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=D.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=D.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=D.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:D.getArg(o,"originalLine",null),column:D.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};ot.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};ot.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=D.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=D.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};ot.prototype.generatedPositionFor=function(t){var r=D.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:D.getArg(t,"line"),originalColumn:D.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",D.compareByOriginalPositions,D.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:D.getArg(i,"generatedLine",null),column:D.getArg(i,"generatedColumn",null),lastColumn:D.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};ic.BasicSourceMapConsumer=ot;function hr(e,t){var r=e;typeof e=="string"&&(r=D.parseSourceMapInput(e));var n=D.getArg(r,"version"),o=D.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new ei,this._names=new ei;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=D.getArg(s,"offset"),c=D.getArg(a,"line"),l=D.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new he(D.getArg(s,"map"),t)}})}hr.prototype=Object.create(he.prototype);hr.prototype.constructor=he;hr.prototype._version=3;Object.defineProperty(hr.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});hr.prototype.originalPositionFor=function(t){var r={generatedLine:D.getArg(t,"line"),generatedColumn:D.getArg(t,"column")},n=Lu.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};hr.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};hr.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};hr.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(D.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};hr.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=D.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}ji(this.__generatedMappings,D.compareByGeneratedPositionsDeflated),ji(this.__originalMappings,D.compareByOriginalPositions)};ic.IndexedSourceMapConsumer=hr});var iE=H(oE=>{var tv=Du().SourceMapGenerator,sc=Zo(),rv=/(\r?\n)/,nv=10,ti="$$$isSourceNode$$$";function Rt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[ti]=!0,n!=null&&this.add(n)}Rt.fromStringWithSourceMap=function(t,r,n){var o=new Rt,i=t.split(rv),s=0,a=function(){var d=g(),m=g()||"";return d+m;function g(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(d){if(A!==null)if(c<d.generatedLine)u(A,a()),c++,l=0;else{var m=i[s]||"",g=m.substr(0,d.generatedColumn-l);i[s]=m.substr(d.generatedColumn-l),l=d.generatedColumn,u(A,g),A=d;return}for(;c<d.generatedLine;)o.add(a()),c++;if(l<d.generatedColumn){var m=i[s]||"";o.add(m.substr(0,d.generatedColumn)),i[s]=m.substr(d.generatedColumn),l=d.generatedColumn}A=d},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(d){var m=r.sourceContentFor(d);m!=null&&(n!=null&&(d=sc.join(n,d)),o.setSourceContent(d,m))}),o;function u(d,m){if(d===null||d.source===void 0)o.add(m);else{var g=n?sc.join(n,d.source):d.source;o.add(new Rt(d.originalLine,d.originalColumn,g,m,d.name))}}};Rt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[ti]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Rt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[ti]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Rt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[ti]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Rt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Rt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[ti]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Rt.prototype.setSourceContent=function(t,r){this.sourceContents[sc.toSetString(t)]=r};Rt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][ti]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(sc.fromSetString(o[r]),this.sourceContents[o[r]])};Rt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Rt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new tv(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,d=l.length;u<d;u++)l.charCodeAt(u)===nv?(r.line++,r.column=0,u+1===d?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};oE.SourceNode=Rt});var sE=H(ac=>{ac.SourceMapGenerator=Du().SourceMapGenerator;ac.SourceMapConsumer=nE().SourceMapConsumer;ac.SourceNode=iE().SourceNode});function lc(e){let{children:t,...r}=e;return(0,cc.jsxs)(aE.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,cc.jsx)(pa,{fontSize:"small"})]})}var cc,aE,cE=p(()=>{cc=f(L(),1);CA();aE=f(k(),1)});function Fu({text:e,extra:t}){let{classes:r}=ov(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
3
+ `):"",this.name="UnsubscriptionError",this.errors=r}})});function Gl(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var Fm=p(()=>{});function Pm(e){return e instanceof Hs||e&&"closed"in e&&kr(e.remove)&&kr(e.add)&&kr(e.unsubscribe)}function Rm(e){kr(e)?e():e.unsubscribe()}var Hs,sL,Om=p(()=>{_i();Ps();Lm();Fm();Hs=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Pl(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(C){t={error:C}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(kr(A))try{A()}catch(C){i=C instanceof Gs?C.errors:[C]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var d=Pl(u),m=d.next();!m.done;m=d.next()){var g=m.value;try{Rm(g)}catch(C){i=i??[],C instanceof Gs?i=yo(yo([],Io(i)),Io(C.errors)):i.push(C)}}}catch(C){n={error:C}}finally{try{m&&!m.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}if(i)throw new Gs(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)Rm(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Gl(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Gl(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),sL=Hs.EMPTY});var gn,Us=p(()=>{gn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var xo,Hl=p(()=>{_i();xo={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=xo.delegate;return o?.setTimeout?o.setTimeout.apply(o,yo([e,t],Io(r))):setTimeout.apply(void 0,yo([e,t],Io(r)))},clearTimeout:function(e){var t=xo.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function Gm(e){xo.setTimeout(function(){var t=gn.onUnhandledError;if(t)t(e);else throw e})}var Hm=p(()=>{Us();Hl()});function Ul(){}var Um=p(()=>{});function jm(e){return ql("E",void 0,e)}function Jm(e){return ql("N",e,void 0)}function ql(e,t,r){return{kind:e,value:t,error:r}}var qm,Vm=p(()=>{qm=(function(){return ql("C",void 0,void 0)})()});function Ym(e){gn.useDeprecatedSynchronousErrorHandling&&jl&&(jl.errorThrown=!0,jl.error=e)}var jl,Wm=p(()=>{Us();jl=null});function Jl(e,t){return h1.call(e,t)}function qs(e){gn.useDeprecatedSynchronousErrorHandling?Ym(e):Gm(e)}function E1(e){throw e}function Vl(e,t){var r=gn.onStoppedNotification;r&&xo.setTimeout(function(){return r(e,t)})}var Yl,h1,C1,Wl,I1,zl=p(()=>{_i();Ps();Om();Us();Hm();Um();Vm();Hl();Wm();Yl=(function(e){Ti(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,Pm(r)&&r.add(n)):n.destination=I1,n}return t.create=function(r,n,o){return new Wl(r,n,o)},t.prototype.next=function(r){this.isStopped?Vl(Jm(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Vl(jm(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Vl(qm,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(Hs),h1=Function.prototype.bind;C1=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){qs(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){qs(n)}else qs(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){qs(r)}},e})(),Wl=(function(e){Ti(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(kr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&gn.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Jl(r.next,a),error:r.error&&Jl(r.error,a),complete:r.complete&&Jl(r.complete,a)}):s=r}return i.destination=new C1(s),i}return t})(Yl);I1={closed:!0,next:Ul,error:E1,complete:Ul}});function y1(e){return kr(e?.lift)}function js(e){return function(t){if(y1(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var $l=p(()=>{Ps()});function zm(e,t,r,n,o){return new x1(e,t,r,n,o)}var x1,$m=p(()=>{_i();zl();x1=(function(e){Ti(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(Yl)});var Km,Xm=p(()=>{Ol();Km=Os(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function Kl(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new Wl({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new Km)}});e.subscribe(i)})}var Zm=p(()=>{Xm();zl()});var eg=p(()=>{});function tg(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(zm(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var rg=p(()=>{$m()});function ng(e,t){return js(tg(e,t,arguments.length>=2,!1,!0))}var og=p(()=>{rg();$l()});function Xl(){return js(function(e,t){ng(w1,[])(e).subscribe(t)})}var w1,ig=p(()=>{og();$l();w1=function(e,t){return e.push(t),e}});var sg=p(()=>{Zm();eg();ig()});var lg={};ze(lg,{default:()=>Js});var ag,cg,Js,Ag=p(()=>{"use strict";ag=f(Fn()),cg=f(Nm());sg();Js=class extends cg.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,ag.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}async getMSAList(){let t=await this.getMSARefs(),r=this.getConf("msaRegex"),n=new RegExp(r);return[...new Set(t.map(i=>i.split(n)[0]))]}async getMSA(t){let r=await this.configure(),o=(await r.getRefNames()).filter(i=>i.startsWith(t));return Kl(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(Xl()))}}});var se=U((tF,mg)=>{mg.exports=JBrowseExports["@jbrowse/core/ui"]});var L=U((rF,gg)=>{gg.exports=JBrowseExports["@mui/material"]});var Cg=U(hg=>{"use strict";var wo=S();function b1(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var B1=typeof Object.is=="function"?Object.is:b1,S1=wo.useState,Q1=wo.useEffect,M1=wo.useLayoutEffect,v1=wo.useDebugValue;function T1(e,t){var r=t(),n=S1({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return M1(function(){o.value=r,o.getSnapshot=t,eA(o)&&i({inst:o})},[e,r,t]),Q1(function(){return eA(o)&&i({inst:o}),e(function(){eA(o)&&i({inst:o})})},[e]),v1(r),r}function eA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!B1(e,r)}catch{return!0}}function _1(e,t){return t()}var D1=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?_1:T1;hg.useSyncExternalStore=wo.useSyncExternalStore!==void 0?wo.useSyncExternalStore:D1});var Ig=U((iF,Eg)=>{"use strict";Eg.exports=Cg()});var sp,ma,EA=p(()=>{"use client";W();sp=f(F(),1),ma=(0,_.createSvgIcon)((0,sp.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var ap,ga,IA=p(()=>{"use client";W();ap=f(F(),1),ga=(0,_.createSvgIcon)((0,ap.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function u2(){return up||(up=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function f2(){return fp||(fp=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function d2(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(On(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return ha.set(t,e),t}function m2(e){if(BA.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});BA.set(e,t)}function pp(e){SA=e(SA)}function g2(e){return f2().includes(e)?function(...t){return e.apply(QA(this),t),On(this.request)}:function(...t){return On(e.apply(QA(this),t))}}function p2(e){return typeof e=="function"?g2(e):(e instanceof IDBTransaction&&m2(e),bA(e,u2())?new Proxy(e,SA):e)}function On(e){if(e instanceof IDBRequest)return d2(e);if(xA.has(e))return xA.get(e);let t=p2(e);return t!==e&&(xA.set(e,t),ha.set(t,e)),t}function Gn(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=On(s);return n&&s.addEventListener("upgradeneeded",c=>{n(On(s.result),c.oldVersion,c.newVersion,On(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function dp(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(wA.get(t))return wA.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=C2.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||h2.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return wA.set(t,i),i}async function*y2(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,I2);for(hp.set(r,t),ha.set(r,QA(t));t;)yield r,t=await(MA.get(r)||t.continue()),MA.delete(r)}function gp(e,t){return t===Symbol.asyncIterator&&bA(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&bA(e,[IDBIndex,IDBObjectStore])}var bA,up,fp,BA,xA,ha,SA,QA,h2,C2,wA,E2,mp,MA,hp,I2,Fi=p(()=>{bA=(e,t)=>t.some(r=>e instanceof r);BA=new WeakMap,xA=new WeakMap,ha=new WeakMap;SA={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return BA.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return On(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};QA=e=>ha.get(e);h2=["get","getKey","getAll","getAllKeys","count"],C2=["put","add","delete","clear"],wA=new Map;pp(e=>({...e,get:(t,r,n)=>dp(t,r)||e.get(t,r,n),has:(t,r)=>!!dp(t,r)||e.has(t,r)}));E2=["continue","continuePrimaryKey","advance"],mp={},MA=new WeakMap,hp=new WeakMap,I2={get(e,t){if(!E2.includes(t))return e[t];let r=mp[t];return r||(r=mp[t]=function(...n){MA.set(this,hp.get(this)[t](...n))}),r}};pp(e=>({...e,get(t,r,n){return gp(t,r)?y2:e.get(t,r,n)},has(t,r){return gp(t,r)||e.has(t,r)}}))});var kp,xa,vA=p(()=>{"use client";W();kp=f(F(),1),xa=(0,_.createSvgIcon)((0,kp.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function Hn(e){let{children:t,...r}=e;return TA.default.createElement(Np.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",TA.default.createElement(xa,{fontSize:"small"}))}var TA,Np,wa=p(()=>{"use strict";TA=f(S());vA();Np=f(L())});var Wp=p(()=>{});var zp=p(()=>{Wp()});function O2(e){try{let s=j.__wbindgen_add_to_stack_pointer(-16),a=PA(e,j.__wbindgen_export2),c=Ma;j.decompress_all(s,a,c);var t=Ke().getInt32(s+0,!0),r=Ke().getInt32(s+4,!0),n=Ke().getInt32(s+8,!0),o=Ke().getInt32(s+12,!0);if(o)throw OA(n);var i=FA(t,r).slice();return j.__wbindgen_export(t,r*1,1),i}finally{j.__wbindgen_add_to_stack_pointer(16)}}function G2(e){try{let o=j.__wbindgen_add_to_stack_pointer(-16),i=PA(e,j.__wbindgen_export2),s=Ma;j.decompress_block(o,i,s);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Ke().getInt32(o+8,!0);if(n)throw OA(r);return Do.__wrap(t)}finally{j.__wbindgen_add_to_stack_pointer(16)}}function H2(e,t,r,n,o){try{let c=j.__wbindgen_add_to_stack_pointer(-16),l=PA(e,j.__wbindgen_export2),A=Ma;j.decompress_chunk_slice(c,l,A,t,r,n,o);var i=Ke().getInt32(c+0,!0),s=Ke().getInt32(c+4,!0),a=Ke().getInt32(c+8,!0);if(a)throw OA(s);return _o.__wrap(i)}finally{j.__wbindgen_add_to_stack_pointer(16)}}function U2(e,t){let r=Error(eh(e,t));return j2(r)}function q2(e,t){throw new Error(eh(e,t))}function j2(e){Ri===Zr.length&&Zr.push(Zr.length+1);let t=Ri;return Ri=Zr[t],Zr[t]=e,t}function J2(e){e<1028||(Zr[e]=Ri,Ri=e)}function Xp(e,t){return e=e>>>0,V2().subarray(e/8,e/8+t)}function FA(e,t){return e=e>>>0,RA().subarray(e/1,e/1+t)}function Ke(){return(To===null||To.buffer.detached===!0||To.buffer.detached===void 0&&To.buffer!==j.memory.buffer)&&(To=new DataView(j.memory.buffer)),To}function V2(){return(Ba===null||Ba.byteLength===0)&&(Ba=new Float64Array(j.memory.buffer)),Ba}function eh(e,t){return e=e>>>0,z2(e,t)}function RA(){return(Sa===null||Sa.byteLength===0)&&(Sa=new Uint8Array(j.memory.buffer)),Sa}function Y2(e){return Zr[e]}function PA(e,t){let r=t(e.length*1,1)>>>0;return RA().set(e,r/1),Ma=e.length,r}function OA(e){let t=Y2(e);return J2(e),t}function z2(e,t){return LA+=t,LA>=W2&&(Qa=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),Qa.decode(),LA=t),Qa.decode(RA().subarray(e,e+t))}function $2(e){j=e}var Un,Zp,_o,Do,$p,Kp,To,Ba,Sa,Zr,Ri,Qa,W2,LA,Ma,j,th=p(()=>{Un={};Un.d=(e,t)=>{for(var r in t)Un.o(t,r)&&!Un.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};Un.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Un.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};Zp={};Un.r(Zp);Un.d(Zp,{ChunkSliceResult:()=>_o,DecompressResult:()=>Do,__wbg_Error_960c155d3d49e4c2:()=>U2,__wbg___wbindgen_throw_6b64449b9b9ed33c:()=>q2,__wbg_set_wasm:()=>$2,decompress_all:()=>O2,decompress_block:()=>G2,decompress_chunk_slice:()=>H2});_o=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,$p.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,$p.unregister(this),t}free(){let t=this.__destroy_into_raw();j.__wbg_chunksliceresult_free(t,0)}get buffer(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_buffer(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=FA(t,r).slice();return j.__wbindgen_export(t,r*1,1),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_cpositions(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Xp(t,r).slice();return j.__wbindgen_export(t,r*8,8),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.chunksliceresult_dpositions(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Xp(t,r).slice();return j.__wbindgen_export(t,r*8,8),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(_o.prototype[Symbol.dispose]=_o.prototype.free);Do=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,Kp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Kp.unregister(this),t}free(){let t=this.__destroy_into_raw();j.__wbg_decompressresult_free(t,0)}get bytes_read(){return j.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{let o=j.__wbindgen_add_to_stack_pointer(-16);j.decompressresult_data(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=FA(t,r).slice();return j.__wbindgen_export(t,r*1,1),n}finally{j.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Do.prototype[Symbol.dispose]=Do.prototype.free);$p=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_chunksliceresult_free(e>>>0,1)),Kp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_decompressresult_free(e>>>0,1));To=null;Ba=null;Sa=null;Zr=new Array(1024).fill(void 0);Zr.push(void 0,null,!0,!1);Ri=Zr.length;Qa=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});Qa.decode();W2=2146435072,LA=0;Ma=0});var GA=p(()=>{th()});var rh=p(()=>{});var oh=p(()=>{zp();GA();rh()});var ih=p(()=>{oh();GA()});function HA(){let e=(0,ko.useRef)(null),[t,r]=(0,ko.useState)({width:void 0,height:void 0});return(0,ko.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var ko,sh=p(()=>{ko=f(S(),1)});var ch=U((N3,ah)=>{ah.exports=JBrowseExports["react-dom"]});var Ah=U((L3,lh)=>{lh.exports=JBrowseExports["react-dom/client"]});function uh(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var UA=p(()=>{});var fh=p(()=>{});var dh=p(()=>{});var mh=p(()=>{});function va(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var K2,qA=p(()=>{K2=f(Lt(),1);mh()});var en=U((H3,gh)=>{gh.exports=JBrowseExports.mobx});var X2,ph=p(()=>{X2=f(en(),1)});var hh=p(()=>{});var Ch=p(()=>{});var No,Ta,jA,JA,Z2,Pi,_a,Eh=p(()=>{No={METHOD:"method",PROPERTY:"property"},Ta=class{constructor(t,r){this.inst=t,this.args=r}},jA=class extends Ta{constructor(t,r){super(t,r),this.type=No.METHOD}execute(t){t[this.inst](...this.args)}},JA=class extends Ta{constructor(t,r){super(t,r),this.type=No.PROPERTY}execute(t){t[this.inst]=this.args[0]}},Z2={[No.METHOD]:jA,[No.PROPERTY]:JA},Pi=class{constructor(t,r,n){return new Z2[t](r,n)}};Pi.METHOD=No.METHOD;Pi.PROPERTY=No.PROPERTY;_a=Pi});var Ih,Nr,Da,VA=p(()=>{Eh();Ih=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),Nr=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),Da=class{constructor(t=null){this[Nr.sequence]=[],t&&this[Nr.fromJSON](t)}[Nr.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[Nr.push](r,n,o)})}[Nr.push](t,r,n){this[Nr.sequence].push(new _a(t,r,n))}execute(t){t.save(),this[Nr.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[Nr.sequence]}}};Ih.METHODS.forEach(e=>{Object.defineProperty(Da.prototype,e,{value:function(...r){this[Nr.push](_a.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});Ih.PROPERTIES.forEach(e=>{Object.defineProperty(Da.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[Nr.push](_a.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var z3,xh=p(()=>{VA();z3=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var wh=p(()=>{xh();VA()});var Bh=U((t5,bh)=>{bh.exports=!1});var eM,Sh=p(()=>{wh();eM=f(Bh(),1)});var tM,rM,Qh=p(()=>{tM=f(F(),1),rM=f(S(),1)});var Mh=p(()=>{});var s5,a5,c5,l5,vh=p(()=>{s5=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),a5=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),c5=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),l5=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});var Th=p(()=>{});var _h=p(()=>{});var Dh=p(()=>{Fi()});var ka,kh=p(()=>{ka=f(Lt(),1)});function WA(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=iM[r.charCodeAt(o)]??sM;return n*t}function zA(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function aM(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function $A(e){return nr(e)?va(e)?aM(e):JSON.stringify(e):String(e)}function Nh(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function Lh(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return KA(e.map(a=>$A(a)).map(a=>s?uh(a):a).map(a=>WA(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function KA(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function nr(e){return typeof e=="object"&&e!==null}var YA,Lo,nM,oM,w5,b5,B5,S5,iM,sM,In=p(()=>{YA=f(S(),1);ih();Lo=f(Lt(),1),nM=f(ch(),1),oM=f(Ah(),1);UA();qA();qA();ph();hh();Ch();UA();Sh();Qh();Mh();vh();Th();_h();fh();dh();kh();Dh();w5=180/Math.PI,b5=Math.PI/180,B5=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),S5=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},iM=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],sM=.5279276315789471});var zh=U((CP,Wh)=>{Wh.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var Kh,Xh,Po,nu=p(()=>{Kh=f(F(),1),Xh=f(S(),1),Po=class extends Xh.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,Kh.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var ut,ou,Zh,e0,t0=p(()=>{ut=f(S(),1),ou=f(P(),1),Zh=(0,ou.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ut.useState)(!1),o=(0,ut.useRef)(!1),i=(0,ut.useRef)(0);return(0,ut.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientX;if(i.current===0)i.current=c.clientX;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setTreeAreaWidth(e.treeAreaWidth+A),o.current=!1,i.current=c.clientX})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ut.default.createElement("div",null,ut.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ew-resize",height:"100%",width:t,background:"rgba(200,200,200)",position:"relative"}}))}),e0=(0,ou.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ut.useState)(!1),o=(0,ut.useRef)(!1),i=(0,ut.useRef)(0);return(0,ut.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientY;if(i.current===0)i.current=c.clientY;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setHeight(e.height+A),o.current=!1,i.current=c.clientY})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ut.default.createElement("div",null,ut.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ns-resize",width:"100%",height:t,background:"rgba(200,200,200)",position:"relative"}}))})});var r0,n0,o0=p(()=>{"use client";W();r0=f(F(),1),n0=(0,_.createSvgIcon)((0,r0.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function Oo({ref:e,onScrollX:t,onScrollY:r}){let n=(0,xr.useRef)(!1),o=(0,xr.useRef)(0),i=(0,xr.useRef)(0),s=(0,xr.useRef)(0),a=(0,xr.useRef)(0),[c,l]=(0,xr.useState)(!1);(0,xr.useEffect)(()=>{let d=e.current;if(!d)return;function m(g){t&&(o.current+=g.deltaX),r&&(i.current+=g.deltaY),n.current||(n.current=!0,requestAnimationFrame(()=>{t&&(t(-o.current),o.current=0),r&&(r(-i.current),i.current=0),n.current=!1})),g.preventDefault(),g.stopPropagation()}return d.addEventListener("wheel",m,{passive:!1}),()=>{d.removeEventListener("wheel",m)}},[e,t,r]),(0,xr.useEffect)(()=>{if(!c)return;function d(g){g.preventDefault();let C=g.clientX-s.current,x=g.clientY-a.current;(C&&t||x&&r)&&(n.current||(n.current=!0,requestAnimationFrame(()=>{t?.(C),r?.(x),n.current=!1,s.current=g.clientX,a.current=g.clientY})))}function m(){s.current=0,a.current=0,l(!1)}return window.addEventListener("mousemove",d,!0),window.addEventListener("mouseup",m,!0),()=>{window.removeEventListener("mousemove",d,!0),window.removeEventListener("mouseup",m,!0)}},[c,t,r]);function A(d){let m=d.target;m.draggable||m.dataset.resizer||d.button===0&&(s.current=d.clientX,a.current=d.clientY,l(!0))}function u(d){d.preventDefault(),l(!1)}return{onMouseDown:A,onMouseUp:u}}var xr,Fa=p(()=>{xr=f(S(),1)});function Oi(e){let t=navigator.clipboard;if(t?.writeText){t.writeText(e).catch(n=>{console.error("Failed to copy to clipboard:",n)});return}let r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.append(r),r.select(),document.execCommand("copy"),r.remove()}var iu=p(()=>{});var c0={};ze(c0,{default:()=>pM});var rn,i0,Jn,s0,a0,mM,gM,pM,l0=p(()=>{rn=f(S(),1),i0=f(se(),1),Jn=f(L(),1),s0=f(P(),1),a0=f(be(),1);iu();mM=(0,a0.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),gM=(0,s0.observer)(function({model:e,onClose:t}){let[r,n]=(0,rn.useState)("Copy to clipboard"),{classes:o}=mM();return rn.default.createElement(i0.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},rn.default.createElement(Jn.DialogContent,null,rn.default.createElement(Jn.Button,{variant:"contained",color:"primary",onClick:()=>{Oi(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),rn.default.createElement("pre",{className:o.textArea},e.data)),rn.default.createElement(Jn.DialogActions,null,rn.default.createElement(Jn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),pM=gM});var De,Vn,su,A0,hM,CM,EM,IM,u0,f0=p(()=>{De=f(S(),1);o0();Vn=f(L(),1),su=f(P(),1),A0=f(be(),1);Fa();hM=(0,De.lazy)(()=>Promise.resolve().then(()=>(l0(),c0))),CM=(0,A0.makeStyles)()({button:{padding:0}}),EM=(0,su.observer)(function({model:t,track:r}){let[n,o]=(0,De.useState)(),{drawLabels:i,rowHeight:s,treeAreaWidth:a}=t,{model:{name:c,height:l}}=r,{classes:A}=CM(),u=Math.max(8,s-8);return De.default.createElement("div",{style:{width:a,height:l,flexShrink:0,textAlign:"right",fontSize:u}},i?c:""," ",De.default.createElement(Vn.IconButton,{className:A.button,style:{width:u,height:u},onClick:d=>{o(d.currentTarget)}},De.default.createElement(n0,null)),n?De.default.createElement(Vn.Menu,{anchorEl:n,transitionDuration:0,open:!0,onClose:()=>{o(void 0)}},De.default.createElement(Vn.MenuItem,{dense:!0,onClick:()=>{t.toggleTrack(r.model.id),o(void 0)}},"Close"),De.default.createElement(Vn.MenuItem,{dense:!0,onClick:()=>{t.queueDialog(d=>[hM,{onClose:d,model:r.model}]),o(void 0)}},"Get info")):null)}),IM=(0,su.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s,error:a}}=t,c=(0,De.useRef)(null),l=(0,De.useCallback)(A=>{e.doScrollX(A)},[e]);return Oo({ref:c,onScrollX:l}),De.default.createElement("div",{key:t.id,style:{display:"flex",height:s}},De.default.createElement(EM,{model:e,track:t}),De.default.createElement("div",{style:{width:r,flexShrink:0}}),De.default.createElement("div",{ref:c,onMouseMove:A=>{if(!c.current)return;let{left:u}=c.current.getBoundingClientRect(),d=A.clientX-u-o,m=Math.floor(d/n);m>=0&&m<i?e.setMousePos(m,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},a?De.default.createElement("div",{style:{color:"red",fontSize:10}},`${a}`):De.default.createElement(t.ReactComponent,{model:e,track:t})))}),u0=IM});var Lr,d0,m0,yM,g0,p0=p(()=>{Lr=f(S(),1),d0=f(ne(),1),m0=f(P(),1),yM=(0,m0.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,Lr.useState)(!1),s=(0,Lr.useRef)(!1),[a,c]=(0,Lr.useState)(),l="rgba(66, 119, 127, 0.3)",A=t/n,u=-r,d=u+t,m=u*A,g=d*A;return(0,Lr.useEffect)(()=>{function C(I){a!==void 0&&(s.current||(s.current=!0,window.requestAnimationFrame(()=>{e.setScrollY((0,d0.clamp)(a.scrollY-(I.clientY-a.clientY)/A,-n,0)),s.current=!1})))}function x(){c(void 0)}if(a!==void 0)return document.addEventListener("mousemove",C),document.addEventListener("mouseup",x),()=>{document.removeEventListener("mousemove",C),document.removeEventListener("mousemove",x)}},[e,A,n,a]),Lr.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},Lr.default.createElement("div",{style:{position:"absolute",top:Math.max(0,m),left:0,background:o?"rgba(66,119,127,0.6)":l,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(g-m,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:C=>{c({clientY:C.clientY,scrollY:e.scrollY})}}))}),g0=yM});var h0,C0,E0=p(()=>{"use client";W();h0=f(F(),1),C0=(0,_.createSvgIcon)((0,h0.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var I0,y0,x0=p(()=>{"use client";W();I0=f(F(),1),y0=(0,_.createSvgIcon)((0,I0.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var w0,b0,B0=p(()=>{"use client";W();w0=f(F(),1),b0=(0,_.createSvgIcon)((0,w0.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var S0,Ra,au=p(()=>{"use client";W();S0=f(F(),1),Ra=(0,_.createSvgIcon)((0,S0.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var Q0,M0,v0=p(()=>{"use client";W();Q0=f(F(),1),M0=(0,_.createSvgIcon)((0,Q0.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var T0,_0,D0=p(()=>{"use client";W();T0=f(F(),1),_0=(0,_.createSvgIcon)((0,T0.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function wM(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function bM(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var xM,k0,N0=p(()=>{xM=!1;k0=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!xM:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(bM(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=wM(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var it,Gi,K,Pa,Go,Ho,L0,Oa,F0,Ga=p(()=>{it="-ms-",Gi="-moz-",K="-webkit-",Pa="comm",Go="rule",Ho="decl",L0="@import",Oa="@keyframes",F0="@layer"});function O0(e,t){return ke(e,0)^45?(((t<<2^ke(e,0))<<2^ke(e,1))<<2^ke(e,2))<<2^ke(e,3):0}function Ha(e){return e.trim()}function cu(e,t){return(e=t.exec(e))?e[0]:e}function Y(e,t,r){return e.replace(t,r)}function Hi(e,t){return e.indexOf(t)}function ke(e,t){return e.charCodeAt(t)|0}function yn(e,t,r){return e.slice(t,r)}function Ct(e){return e.length}function Uo(e){return e.length}function qo(e,t){return t.push(e),e}function lu(e,t){return e.map(t).join("")}var R0,Yn,P0,jo=p(()=>{R0=Math.abs,Yn=String.fromCharCode,P0=Object.assign});function Ui(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:Ua,column:Jo,length:s,return:""}}function Wo(e,t){return P0(Ui("",null,null,"",null,null,0),e,{length:-e.length},t)}function H0(){return Oe}function U0(){return Oe=Et>0?ke(Yo,--Et):0,Jo--,Oe===10&&(Jo=1,Ua--),Oe}function It(){return Oe=Et<G0?ke(Yo,Et++):0,Jo++,Oe===10&&(Jo=1,Ua++),Oe}function or(){return ke(Yo,Et)}function qi(){return Et}function zo(e,t){return yn(Yo,e,t)}function Vo(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function qa(e){return Ua=Jo=1,G0=Ct(Yo=e),Et=0,[]}function ja(e){return Yo="",e}function $o(e){return Ha(zo(Et-1,Au(e===91?e+2:e===40?e+1:e)))}function q0(e){for(;(Oe=or())&&Oe<33;)It();return Vo(e)>2||Vo(Oe)>3?"":" "}function j0(e,t){for(;--t&&It()&&!(Oe<48||Oe>102||Oe>57&&Oe<65||Oe>70&&Oe<97););return zo(e,qi()+(t<6&&or()==32&&It()==32))}function Au(e){for(;It();)switch(Oe){case e:return Et;case 34:case 39:e!==34&&e!==39&&Au(Oe);break;case 40:e===41&&Au(e);break;case 92:It();break}return Et}function J0(e,t){for(;It()&&e+Oe!==57;)if(e+Oe===84&&or()===47)break;return"/*"+zo(t,Et-1)+"*"+Yn(e===47?e:It())}function V0(e){for(;!Vo(or());)It();return zo(e,Et)}var Ua,Jo,G0,Et,Oe,Yo,uu=p(()=>{jo();Ua=1,Jo=1,G0=0,Et=0,Oe=0,Yo=""});function z0(e){return ja(Ja("",null,null,null,[""],e=qa(e),0,[0],e))}function Ja(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,d=0,m=0,g=0,C=1,x=1,I=1,h=0,y="",b=o,w=i,v=n,M=y;x;)switch(g=h,h=It()){case 40:if(g!=108&&ke(M,u-1)==58){Hi(M+=Y($o(h),"&","&\f"),"&\f")!=-1&&(I=-1);break}case 34:case 39:case 91:M+=$o(h);break;case 9:case 10:case 13:case 32:M+=q0(g);break;case 92:M+=j0(qi()-1,7);continue;case 47:switch(or()){case 42:case 47:qo(BM(J0(It(),qi()),t,r),c);break;default:M+="/"}break;case 123*C:a[l++]=Ct(M)*I;case 125*C:case 59:case 0:switch(h){case 0:case 125:x=0;case 59+A:I==-1&&(M=Y(M,/\f/g,"")),m>0&&Ct(M)-u&&qo(m>32?W0(M+";",n,r,u-1):W0(Y(M," ","")+";",n,r,u-2),c);break;case 59:M+=";";default:if(qo(v=Y0(M,t,r,l,A,o,a,y,b=[],w=[],u),i),h===123)if(A===0)Ja(M,t,v,v,b,i,u,a,w);else switch(d===99&&ke(M,3)===110?100:d){case 100:case 108:case 109:case 115:Ja(e,v,v,n&&qo(Y0(e,v,v,0,0,o,a,y,o,b=[],u),w),o,w,u,a,n?b:w);break;default:Ja(M,v,v,v,[""],w,0,a,w)}}l=A=m=0,C=I=1,y=M="",u=s;break;case 58:u=1+Ct(M),m=g;default:if(C<1){if(h==123)--C;else if(h==125&&C++==0&&U0()==125)continue}switch(M+=Yn(h),h*C){case 38:I=A>0?1:(M+="\f",-1);break;case 44:a[l++]=(Ct(M)-1)*I,I=1;break;case 64:or()===45&&(M+=$o(It())),d=or(),A=u=Ct(y=M+=V0(qi())),h++;break;case 45:g===45&&Ct(M)==2&&(C=0)}}return i}function Y0(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,d=o===0?i:[""],m=Uo(d),g=0,C=0,x=0;g<n;++g)for(var I=0,h=yn(e,u+1,u=R0(C=s[g])),y=e;I<m;++I)(y=Ha(C>0?d[I]+" "+h:Y(h,/&\f/g,d[I])))&&(c[x++]=y);return Ui(e,t,r,o===0?Go:a,c,l,A)}function BM(e,t,r){return Ui(e,t,r,Pa,Yn(H0()),yn(e,2,-2),0)}function W0(e,t,r,n){return Ui(e,t,r,Ho,yn(e,0,n),yn(e,n+1,-1),n)}var $0=p(()=>{Ga();jo();uu()});var K0=p(()=>{});function Wn(e,t){for(var r="",n=Uo(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function X0(e,t,r,n){switch(e.type){case F0:if(e.children.length)break;case L0:case Ho:return e.return=e.return||e.value;case Pa:return"";case Oa:return e.return=e.value+"{"+Wn(e.children,n)+"}";case Go:e.value=e.props.join(",")}return Ct(r=Wn(e.children,n))?e.return=e.value+"{"+r+"}":""}var Z0=p(()=>{Ga();jo()});function eC(e){var t=Uo(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function tC(e){return function(t){t.root||(t=t.return)&&e(t)}}var rC=p(()=>{jo()});var nC=p(()=>{Ga();jo();$0();K0();uu();Z0();rC()});var Va=p(()=>{});function oC(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var fu=p(()=>{});function sC(e,t){switch(O0(e,t)){case 5103:return K+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return K+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return K+e+Gi+e+it+e+e;case 6828:case 4268:return K+e+it+e+e;case 6165:return K+e+it+"flex-"+e+e;case 5187:return K+e+Y(e,/(\w+).+(:[^]+)/,K+"box-$1$2"+it+"flex-$1$2")+e;case 5443:return K+e+it+"flex-item-"+Y(e,/flex-|-self/,"")+e;case 4675:return K+e+it+"flex-line-pack"+Y(e,/align-content|flex-|-self/,"")+e;case 5548:return K+e+it+Y(e,"shrink","negative")+e;case 5292:return K+e+it+Y(e,"basis","preferred-size")+e;case 6060:return K+"box-"+Y(e,"-grow","")+K+e+it+Y(e,"grow","positive")+e;case 4554:return K+Y(e,/([^-])(transform)/g,"$1"+K+"$2")+e;case 6187:return Y(Y(Y(e,/(zoom-|grab)/,K+"$1"),/(image-set)/,K+"$1"),e,"")+e;case 5495:case 3959:return Y(e,/(image-set\([^]*)/,K+"$1$`$1");case 4968:return Y(Y(e,/(.+:)(flex-)?(.*)/,K+"box-pack:$3"+it+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+K+e+e;case 4095:case 3583:case 4068:case 2532:return Y(e,/(.+)-inline(.+)/,K+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ct(e)-1-t>6)switch(ke(e,t+1)){case 109:if(ke(e,t+4)!==45)break;case 102:return Y(e,/(.+:)(.+)-([^]+)/,"$1"+K+"$2-$3$1"+Gi+(ke(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Hi(e,"stretch")?sC(Y(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(ke(e,t+1)!==115)break;case 6444:switch(ke(e,Ct(e)-3-(~Hi(e,"!important")&&10))){case 107:return Y(e,":",":"+K)+e;case 101:return Y(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+K+(ke(e,14)===45?"inline-":"")+"box$3$1"+K+"$2$3$1"+it+"$2box$3")+e}break;case 5936:switch(ke(e,t+11)){case 114:return K+e+it+Y(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return K+e+it+Y(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return K+e+it+Y(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return K+e+it+e+e}return e}var SM,QM,MM,iC,vM,TM,_M,DM,aC,du=p(()=>{N0();nC();Va();fu();SM=function(t,r,n){for(var o=0,i=0;o=i,i=or(),o===38&&i===12&&(r[n]=1),!Vo(i);)It();return zo(t,Et)},QM=function(t,r){var n=-1,o=44;do switch(Vo(o)){case 0:o===38&&or()===12&&(r[n]=1),t[n]+=SM(Et-1,r,n);break;case 2:t[n]+=$o(o);break;case 4:if(o===44){t[++n]=or()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=Yn(o)}while(o=It());return t},MM=function(t,r){return ja(QM(qa(t),r))},iC=new WeakMap,vM=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!iC.get(n))&&!o){iC.set(t,!0);for(var i=[],s=MM(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},TM=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};_M=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case Ho:t.return=sC(t.value,t.length);break;case Oa:return Wn([Wo(t,{value:Y(t.value,"@","@"+K)})],o);case Go:if(t.length)return lu(t.props,function(i){switch(cu(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Wn([Wo(t,{props:[Y(i,/:(read-\w+)/,":"+Gi+"$1")]})],o);case"::placeholder":return Wn([Wo(t,{props:[Y(i,/:(plac\w+)/,":"+K+"input-$1")]}),Wo(t,{props:[Y(i,/:(plac\w+)/,":"+Gi+"$1")]}),Wo(t,{props:[Y(i,/:(plac\w+)/,it+"input-$1")]})],o)}return""})}},DM=[_M],aC=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(C){var x=C.getAttribute("data-emotion");x.indexOf(" ")!==-1&&(document.head.appendChild(C),C.setAttribute("data-s",""))})}var o=t.stylisPlugins||DM,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(C){for(var x=C.getAttribute("data-emotion").split(" "),I=1;I<x.length;I++)i[x[I]]=!0;a.push(C)});var c,l=[vM,TM];{var A,u=[X0,tC(function(C){A.insert(C)})],d=eC(l.concat(o,u)),m=function(x){return Wn(z0(x),d)};c=function(x,I,h,y){A=h,m(x?x+"{"+I.styles+"}":I.styles),y&&(g.inserted[I.name]=!0)}}var g={key:r,sheet:new k0({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return g.sheet.hydrate(a),g}});var mu=p(()=>{});var lC=U(oe=>{"use strict";var Xe=typeof Symbol=="function"&&Symbol.for,gu=Xe?Symbol.for("react.element"):60103,pu=Xe?Symbol.for("react.portal"):60106,Ya=Xe?Symbol.for("react.fragment"):60107,Wa=Xe?Symbol.for("react.strict_mode"):60108,za=Xe?Symbol.for("react.profiler"):60114,$a=Xe?Symbol.for("react.provider"):60109,Ka=Xe?Symbol.for("react.context"):60110,hu=Xe?Symbol.for("react.async_mode"):60111,Xa=Xe?Symbol.for("react.concurrent_mode"):60111,Za=Xe?Symbol.for("react.forward_ref"):60112,ec=Xe?Symbol.for("react.suspense"):60113,kM=Xe?Symbol.for("react.suspense_list"):60120,tc=Xe?Symbol.for("react.memo"):60115,rc=Xe?Symbol.for("react.lazy"):60116,NM=Xe?Symbol.for("react.block"):60121,LM=Xe?Symbol.for("react.fundamental"):60117,FM=Xe?Symbol.for("react.responder"):60118,RM=Xe?Symbol.for("react.scope"):60119;function Ot(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case gu:switch(e=e.type,e){case hu:case Xa:case Ya:case za:case Wa:case ec:return e;default:switch(e=e&&e.$$typeof,e){case Ka:case Za:case rc:case tc:case $a:return e;default:return t}}case pu:return t}}}function cC(e){return Ot(e)===Xa}oe.AsyncMode=hu;oe.ConcurrentMode=Xa;oe.ContextConsumer=Ka;oe.ContextProvider=$a;oe.Element=gu;oe.ForwardRef=Za;oe.Fragment=Ya;oe.Lazy=rc;oe.Memo=tc;oe.Portal=pu;oe.Profiler=za;oe.StrictMode=Wa;oe.Suspense=ec;oe.isAsyncMode=function(e){return cC(e)||Ot(e)===hu};oe.isConcurrentMode=cC;oe.isContextConsumer=function(e){return Ot(e)===Ka};oe.isContextProvider=function(e){return Ot(e)===$a};oe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===gu};oe.isForwardRef=function(e){return Ot(e)===Za};oe.isFragment=function(e){return Ot(e)===Ya};oe.isLazy=function(e){return Ot(e)===rc};oe.isMemo=function(e){return Ot(e)===tc};oe.isPortal=function(e){return Ot(e)===pu};oe.isProfiler=function(e){return Ot(e)===za};oe.isStrictMode=function(e){return Ot(e)===Wa};oe.isSuspense=function(e){return Ot(e)===ec};oe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ya||e===Xa||e===za||e===Wa||e===ec||e===kM||typeof e=="object"&&e!==null&&(e.$$typeof===rc||e.$$typeof===tc||e.$$typeof===$a||e.$$typeof===Ka||e.$$typeof===Za||e.$$typeof===LM||e.$$typeof===FM||e.$$typeof===RM||e.$$typeof===NM)};oe.typeOf=Ot});var uC=U((y4,AC)=>{"use strict";AC.exports=lC()});var CC=U((x4,hC)=>{"use strict";var Cu=uC(),PM={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},OM={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},GM={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},gC={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Eu={};Eu[Cu.ForwardRef]=GM;Eu[Cu.Memo]=gC;function fC(e){return Cu.isMemo(e)?gC:Eu[e.$$typeof]||PM}var HM=Object.defineProperty,UM=Object.getOwnPropertyNames,dC=Object.getOwnPropertySymbols,qM=Object.getOwnPropertyDescriptor,jM=Object.getPrototypeOf,mC=Object.prototype;function pC(e,t,r){if(typeof t!="string"){if(mC){var n=jM(t);n&&n!==mC&&pC(e,n,r)}var o=UM(t);dC&&(o=o.concat(dC(t)));for(var i=fC(e),s=fC(t),a=0;a<o.length;++a){var c=o[a];if(!OM[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=qM(t,c);try{HM(e,c,l)}catch{}}}}return e}hC.exports=pC});function ji(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var JM,nc,Ji,oc=p(()=>{JM=!0;nc=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||JM===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},Ji=function(t,r,n){nc(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function EC(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var IC=p(()=>{});var yC,xC=p(()=>{yC={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Vi(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return Fr={name:o.name,styles:o.styles,next:Fr},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)Fr={name:s.name,styles:s.styles,next:Fr},s=s.next;var a=i.styles+";";return a}return $M(e,t,r)}case"function":{if(e!==void 0){var c=Fr,l=r(e);return Fr=c,Vi(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function $M(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=Vi(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":wC(a)&&(n+=Iu(i)+":"+bC(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&VM)throw new Error(zM);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)wC(s[c])&&(n+=Iu(i)+":"+bC(i,s[c])+";");else{var l=Vi(e,t,s);switch(i){case"animation":case"animationName":{n+=Iu(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function Ko(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";Fr=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=Vi(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=Vi(r,t,e[a]),n){var c=i;o+=c[a]}BC.lastIndex=0;for(var l="",A;(A=BC.exec(o))!==null;)l+="-"+A[1];var u=EC(o)+l;return{name:u,styles:o,next:Fr}}var VM,YM,WM,SC,wC,Iu,bC,zM,BC,Fr,ic=p(()=>{IC();xC();fu();VM=!1,YM=/[A-Z]|^ms/g,WM=/_EMO_([^_]+?)_([^]*?)_EMO_/g,SC=function(t){return t.charCodeAt(1)===45},wC=function(t){return t!=null&&typeof t!="boolean"},Iu=oC(function(e){return SC(e)?e:e.replace(YM,"-$&").toLowerCase()}),bC=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(WM,function(n,o,i){return Fr={name:o,styles:i,next:Fr},o})}return yC[t]!==1&&!SC(t)&&typeof r=="number"&&r!==0?r+"px":r},zM="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";BC=/label:\s*([^\s;{]+)\s*(;|$)/g});var sc,KM,XM,yu,xu=p(()=>{sc=f(S()),KM=function(t){return t()},XM=sc.useInsertionEffect?sc.useInsertionEffect:!1,yu=XM||KM});var ir,Yi,QC,bu,ZM,Bu,Su,Qu,ac,wu,MC,ev,tv,vC,Mu=p(()=>{ir=f(S()),Yi=f(S());du();mu();Va();oc();ic();xu();QC=!1,bu=ir.createContext(typeof HTMLElement<"u"?aC({key:"css"}):null),ZM=bu.Provider,Bu=function(){return(0,Yi.useContext)(bu)},Su=function(t){return(0,Yi.forwardRef)(function(r,n){var o=(0,Yi.useContext)(bu);return t(r,o,n)})},Qu=ir.createContext({}),ac={}.hasOwnProperty,wu="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",MC=function(t,r){var n={};for(var o in r)ac.call(r,o)&&(n[o]=r[o]);return n[wu]=t,n},ev=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return nc(r,n,o),yu(function(){return Ji(r,n,o)}),null},tv=Su(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[wu],i=[n],s="";typeof e.className=="string"?s=ji(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=Ko(i,void 0,ir.useContext(Qu));s+=t.key+"-"+a.name;var c={};for(var l in e)ac.call(e,l)&&l!=="css"&&l!==wu&&!QC&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),ir.createElement(ir.Fragment,null,ir.createElement(ev,{cache:t,serialized:a,isStringTag:typeof o=="string"}),ir.createElement(o,c))}),vC=tv});function rv(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ko(t)}function vu(){var e=rv.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var Xo,K4,TC,Tu=p(()=>{Mu();Mu();Xo=f(S());oc();xu();ic();du();mu();Va();K4=f(CC()),TC=function(t,r){var n=arguments;if(r==null||!ac.call(r,"css"))return Xo.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=vC,i[1]=MC(t,r);for(var s=2;s<o;s++)i[s]=n[s];return Xo.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(TC||(TC={}))});var _u=U((eO,_C)=>{_C.exports=JBrowseExports["@mui/material/styles"]});var Zo,Du=p(()=>{Zo=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=Zo(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function DC(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var kC=p(()=>{});function FC(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,LC.useMemo)(()=>nv({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var LC,nv,NC,RC=p(()=>{LC=f(S(),1);ic();oc();Du();kC();({createCssAndCx:nv}=(()=>{function e(r,n,o){let i=[],s=ji(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=Ko(s,n.registered);Ji(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!DC(l))break e;NC.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=Zo(s),c=NC.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());NC=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return Zo(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function PC(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var OC=p(()=>{});function GC(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var HC=p(()=>{});function UC(e){let{useTheme:t}=e,{useCssAndCx:r}=FC({useCache:ov});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),d=(0,ku.useMemo)(()=>{let x=i(l),I={};for(let h of Object.keys(x)){let y=x[h];I[h]=A(y)}return I},[A,l]),m=c?.props.classes,g=GC(m);return{classes:(0,ku.useMemo)(()=>m?PC(d,m,u):d,[d,g,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var ku,ov,qC=p(()=>{"use client";ku=f(S(),1);Tu();RC();OC();HC();ov=Bu});var jC,te,JC=p(()=>{jC=f(_u(),1);qC();({makeStyles:te}=UC({useTheme:jC.useTheme}))});var VC=p(()=>{JC()});function cc(...e){return Zo(e)}var yt=p(()=>{"use client";Tu();VC();Du()});function Nu({children:e}){let{classes:t}=iv();return(0,YC.jsx)("div",{className:t.bg,children:e})}var YC,iv,WC=p(()=>{YC=f(F(),1);yt();iv=te()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var $C=U(Lu=>{var zC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Lu.encode=function(e){if(0<=e&&e<zC.length)return zC[e];throw new TypeError("Must be between 0 and 63: "+e)};Lu.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var Pu=U(Ru=>{var KC=$C(),Fu=5,XC=1<<Fu,ZC=XC-1,eE=XC;function sv(e){return e<0?(-e<<1)+1:(e<<1)+0}function av(e){var t=(e&1)===1,r=e>>1;return t?-r:r}Ru.encode=function(t){var r="",n,o=sv(t);do n=o&ZC,o>>>=Fu,o>0&&(n|=eE),r+=KC.encode(n);while(o>0);return r};Ru.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=KC.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&eE),c&=ZC,i=i+(c<<s),s+=Fu}while(a);n.value=av(i),n.rest=r}});var ti=U(Ze=>{function cv(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Ze.getArg=cv;var tE=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,lv=/^data:.+\,.+$/;function Wi(e){var t=e.match(tE);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}Ze.urlParse=Wi;function ei(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}Ze.urlGenerate=ei;var Av=32;function uv(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>Av&&t.pop(),i}}var Ou=uv(function(t){var r=t,n=Wi(t);if(n){if(!n.path)return t;r=n.path}for(var o=Ze.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,ei(n)):r});Ze.normalize=Ou;function rE(e,t){e===""&&(e="."),t===""&&(t=".");var r=Wi(t),n=Wi(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),ei(r);if(r||t.match(lv))return t;if(n&&!n.host&&!n.path)return n.host=t,ei(n);var o=t.charAt(0)==="/"?t:Ou(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,ei(n)):o}Ze.join=rE;Ze.isAbsolute=function(e){return e.charAt(0)==="/"||tE.test(e)};function fv(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}Ze.relative=fv;var nE=(function(){var e=Object.create(null);return!("__proto__"in e)})();function oE(e){return e}function dv(e){return iE(e)?"$"+e:e}Ze.toSetString=nE?oE:dv;function mv(e){return iE(e)?e.slice(1):e}Ze.fromSetString=nE?oE:mv;function iE(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function gv(e,t,r){var n=nn(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:nn(e.name,t.name)}Ze.compareByOriginalPositions=gv;function pv(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:nn(e.name,t.name)}Ze.compareByOriginalPositionsNoSource=pv;function hv(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=nn(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:nn(e.name,t.name)}Ze.compareByGeneratedPositionsDeflated=hv;function Cv(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=nn(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:nn(e.name,t.name)}Ze.compareByGeneratedPositionsDeflatedNoLine=Cv;function nn(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function Ev(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=nn(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:nn(e.name,t.name)}Ze.compareByGeneratedPositionsInflated=Ev;function Iv(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}Ze.parseSourceMapInput=Iv;function yv(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Wi(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=rE(ei(n),t)}return Ou(t)}Ze.computeSourceURL=yv});var Uu=U(sE=>{var Gu=ti(),Hu=Object.prototype.hasOwnProperty,zn=typeof Map<"u";function on(){this._array=[],this._set=zn?new Map:Object.create(null)}on.fromArray=function(t,r){for(var n=new on,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};on.prototype.size=function(){return zn?this._set.size:Object.getOwnPropertyNames(this._set).length};on.prototype.add=function(t,r){var n=zn?t:Gu.toSetString(t),o=zn?this.has(t):Hu.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(zn?this._set.set(t,i):this._set[n]=i)};on.prototype.has=function(t){if(zn)return this._set.has(t);var r=Gu.toSetString(t);return Hu.call(this._set,r)};on.prototype.indexOf=function(t){if(zn){var r=this._set.get(t);if(r>=0)return r}else{var n=Gu.toSetString(t);if(Hu.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};on.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};on.prototype.toArray=function(){return this._array.slice()};sE.ArraySet=on});var lE=U(cE=>{var aE=ti();function xv(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||aE.compareByGeneratedPositionsInflated(e,t)<=0}function lc(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}lc.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};lc.prototype.add=function(t){xv(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};lc.prototype.toArray=function(){return this._sorted||(this._array.sort(aE.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};cE.MappingList=lc});var qu=U(AE=>{var zi=Pu(),Ne=ti(),Ac=Uu().ArraySet,wv=lE().MappingList;function sr(e){e||(e={}),this._file=Ne.getArg(e,"file",null),this._sourceRoot=Ne.getArg(e,"sourceRoot",null),this._skipValidation=Ne.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=Ne.getArg(e,"ignoreInvalidMapping",!1),this._sources=new Ac,this._names=new Ac,this._mappings=new wv,this._sourcesContents=null}sr.prototype._version=3;sr.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new sr(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=Ne.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=Ne.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};sr.prototype.addMapping=function(t){var r=Ne.getArg(t,"generated"),n=Ne.getArg(t,"original",null),o=Ne.getArg(t,"source",null),i=Ne.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};sr.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=Ne.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[Ne.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[Ne.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};sr.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=Ne.relative(i,o));var s=new Ac,a=new Ac;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=Ne.join(n,c.source)),i!=null&&(c.source=Ne.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=Ne.join(n,c)),i!=null&&(c=Ne.relative(i,c)),this.setSourceContent(c,l))},this)};sr.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};sr.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,d=this._mappings.toArray(),m=0,g=d.length;m<g;m++){if(l=d[m],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(m>0){if(!Ne.compareByGeneratedPositionsInflated(l,d[m-1]))continue;c+=","}c+=zi.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=zi.encode(u-s),s=u,c+=zi.encode(l.originalLine-1-o),o=l.originalLine-1,c+=zi.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=zi.encode(A-i),i=A)),a+=c}return a};sr.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=Ne.relative(r,n));var o=Ne.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};sr.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};sr.prototype.toString=function(){return JSON.stringify(this.toJSON())};AE.SourceMapGenerator=sr});var uE=U($n=>{$n.GREATEST_LOWER_BOUND=1;$n.LEAST_UPPER_BOUND=2;function ju(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?ju(s,t,r,n,o,i):i==$n.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?ju(e,s,r,n,o,i):i==$n.LEAST_UPPER_BOUND?s:e<0?-1:e}$n.search=function(t,r,n,o){if(r.length===0)return-1;var i=ju(-1,r.length,t,r,n,o||$n.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var mE=U(dE=>{function bv(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var d=l+1;n(o,i,s,d-1),n(o,i,d+1,a)}}return n}function Bv(e){let t=bv.toString();return new Function(`return ${t}`)()(e)}var fE=new WeakMap;dE.quickSort=function(e,t,r=0){let n=fE.get(t);n===void 0&&(n=Bv(t),fE.set(t,n)),n(e,t,r,e.length-1)}});var hE=U(uc=>{var k=ti(),Vu=uE(),ri=Uu().ArraySet,Sv=Pu(),$i=mE().quickSort;function he(e,t){var r=e;return typeof e=="string"&&(r=k.parseSourceMapInput(e)),r.sections!=null?new wr(r,t):new st(r,t)}he.fromSourceMap=function(e,t){return st.fromSourceMap(e,t)};he.prototype._version=3;he.prototype.__generatedMappings=null;Object.defineProperty(he.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});he.prototype.__originalMappings=null;Object.defineProperty(he.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});he.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};he.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};he.GENERATED_ORDER=1;he.ORIGINAL_ORDER=2;he.GREATEST_LOWER_BOUND=1;he.LEAST_UPPER_BOUND=2;he.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||he.GENERATED_ORDER,s;switch(i){case he.GENERATED_ORDER:s=this._generatedMappings;break;case he.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,d=0,m=s.length;d<m;d++){var g=s[d],C=g.source===null?null:A.at(g.source);C!==null&&(C=k.computeSourceURL(a,C,u)),c({source:C,generatedLine:g.generatedLine,generatedColumn:g.generatedColumn,originalLine:g.originalLine,originalColumn:g.originalColumn,name:g.name===null?null:l.at(g.name)})}};he.prototype.allGeneratedPositionsFor=function(t){var r=k.getArg(t,"line"),n={source:k.getArg(t,"source"),originalLine:r,originalColumn:k.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,Vu.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};uc.SourceMapConsumer=he;function st(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sources"),i=k.getArg(r,"names",[]),s=k.getArg(r,"sourceRoot",null),a=k.getArg(r,"sourcesContent",null),c=k.getArg(r,"mappings"),l=k.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=k.normalize(s)),o=o.map(String).map(k.normalize).map(function(A){return s&&k.isAbsolute(s)&&k.isAbsolute(A)?k.relative(s,A):A}),this._names=ri.fromArray(i.map(String),!0),this._sources=ri.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return k.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}st.prototype=Object.create(he.prototype);st.prototype.consumer=he;st.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=k.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};st.fromSourceMap=function(t,r){var n=Object.create(st.prototype),o=n._names=ri.fromArray(t._names.toArray(),!0),i=n._sources=ri.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(m){return k.computeSourceURL(n.sourceRoot,m,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],d=new pE;d.generatedLine=u.generatedLine,d.generatedColumn=u.generatedColumn,u.source&&(d.source=i.indexOf(u.source),d.originalLine=u.originalLine,d.originalColumn=u.originalColumn,u.name&&(d.name=o.indexOf(u.name)),c.push(d)),a.push(d)}return $i(n.__originalMappings,k.compareByOriginalPositions),n};st.prototype._version=3;Object.defineProperty(st.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function pE(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var Ju=k.compareByGeneratedPositionsDeflatedNoLine;function gE(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];Ju(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(Ju(s,a)<=0)break;e[i-1]=a,e[i]=s}else $i(e,Ju,t)}st.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},d={},m=[],g=[],C,x,I,h,y;let b=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,gE(g,b),b=g.length;else if(t.charAt(A)===",")A++;else{for(C=new pE,C.generatedLine=n,h=A;h<l&&!this._charIsMappingSeparator(t,h);h++);for(x=t.slice(A,h),I=[];A<h;)Sv.decode(t,A,d),y=d.value,A=d.rest,I.push(y);if(I.length===2)throw new Error("Found a source, but no line and column");if(I.length===3)throw new Error("Found a source and line, but no column");if(C.generatedColumn=o+I[0],o=C.generatedColumn,I.length>1&&(C.source=a+I[1],a+=I[1],C.originalLine=i+I[2],i=C.originalLine,C.originalLine+=1,C.originalColumn=s+I[3],s=C.originalColumn,I.length>4&&(C.name=c+I[4],c+=I[4])),g.push(C),typeof C.originalLine=="number"){let v=C.source;for(;m.length<=v;)m.push(null);m[v]===null&&(m[v]=[]),m[v].push(C)}}gE(g,b),this.__generatedMappings=g;for(var w=0;w<m.length;w++)m[w]!=null&&$i(m[w],k.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...m)};st.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return Vu.search(t,r,i,s)};st.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};st.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",k.compareByGeneratedPositionsDeflated,k.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=k.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=k.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=k.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:k.getArg(o,"originalLine",null),column:k.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};st.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};st.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=k.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=k.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};st.prototype.generatedPositionFor=function(t){var r=k.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:k.getArg(t,"line"),originalColumn:k.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,k.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:k.getArg(i,"generatedLine",null),column:k.getArg(i,"generatedColumn",null),lastColumn:k.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};uc.BasicSourceMapConsumer=st;function wr(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new ri,this._names=new ri;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=k.getArg(s,"offset"),c=k.getArg(a,"line"),l=k.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new he(k.getArg(s,"map"),t)}})}wr.prototype=Object.create(he.prototype);wr.prototype.constructor=he;wr.prototype._version=3;Object.defineProperty(wr.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});wr.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=Vu.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};wr.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};wr.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};wr.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(k.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};wr.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=k.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}$i(this.__generatedMappings,k.compareByGeneratedPositionsDeflated),$i(this.__originalMappings,k.compareByOriginalPositions)};uc.IndexedSourceMapConsumer=wr});var EE=U(CE=>{var Qv=qu().SourceMapGenerator,fc=ti(),Mv=/(\r?\n)/,vv=10,ni="$$$isSourceNode$$$";function Gt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[ni]=!0,n!=null&&this.add(n)}Gt.fromStringWithSourceMap=function(t,r,n){var o=new Gt,i=t.split(Mv),s=0,a=function(){var d=g(),m=g()||"";return d+m;function g(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(d){if(A!==null)if(c<d.generatedLine)u(A,a()),c++,l=0;else{var m=i[s]||"",g=m.substr(0,d.generatedColumn-l);i[s]=m.substr(d.generatedColumn-l),l=d.generatedColumn,u(A,g),A=d;return}for(;c<d.generatedLine;)o.add(a()),c++;if(l<d.generatedColumn){var m=i[s]||"";o.add(m.substr(0,d.generatedColumn)),i[s]=m.substr(d.generatedColumn),l=d.generatedColumn}A=d},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(d){var m=r.sourceContentFor(d);m!=null&&(n!=null&&(d=fc.join(n,d)),o.setSourceContent(d,m))}),o;function u(d,m){if(d===null||d.source===void 0)o.add(m);else{var g=n?fc.join(n,d.source):d.source;o.add(new Gt(d.originalLine,d.originalColumn,g,m,d.name))}}};Gt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[ni]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Gt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[ni]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Gt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[ni]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Gt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Gt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[ni]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Gt.prototype.setSourceContent=function(t,r){this.sourceContents[fc.toSetString(t)]=r};Gt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][ni]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(fc.fromSetString(o[r]),this.sourceContents[o[r]])};Gt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Gt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new Qv(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,d=l.length;u<d;u++)l.charCodeAt(u)===vv?(r.line++,r.column=0,u+1===d?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};CE.SourceNode=Gt});var IE=U(dc=>{dc.SourceMapGenerator=qu().SourceMapGenerator;dc.SourceMapConsumer=hE().SourceMapConsumer;dc.SourceNode=EE().SourceNode});function gc(e){let{children:t,...r}=e;return(0,mc.jsxs)(yE.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,mc.jsx)(xa,{fontSize:"small"})]})}var mc,yE,xE=p(()=>{mc=f(F(),1);vA();yE=f(L(),1)});function Yu({text:e,extra:t}){let{classes:r}=Tv(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
4
4
  `),i=encodeURIComponent(`I got this error from JBrowse, here is the stack trace:
5
5
 
6
6
  \`\`\`
7
7
  ${e}
8
8
  \`\`\`
9
9
  ${n}
10
- `),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${lE}?subject=JBrowse%202%20error&body=${i}`;return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsxs)(Ac.Typography,{children:["Post a new issue at"," ",(0,tn.jsx)(lc,{href:s,children:"GitHub"})," or send an email to ",(0,tn.jsx)(lc,{href:a,children:lE})]}),(0,tn.jsx)("pre",{className:r.pre,children:o})]})}var tn,Ac,lE,ov,AE=p(()=>{tn=f(L(),1),Ac=f(k(),1);cE();Ct();lE="jbrowse2@berkeley.edu",ov=te()(e=>({pre:{background:(0,Ac.alpha)(e.palette.error.main,.2),border:`1px solid ${e.palette.divider}`,overflow:"auto",margin:20,maxHeight:300}}))});function Ru({message:e,children:t,variant:r="body2",...n}){let{classes:o}=iv();return(0,uE.jsx)(fE.Typography,{className:rc(o.dots,n.className),...n,variant:r,children:e||"Loading"})}var uE,fE,iv,dE=p(()=>{uE=f(L(),1),fE=f(k(),1);Ct();iv=te()({dots:{"&::after":{display:"inline-block",content:'""',width:"1em",textAlign:"left",animation:`${Cu`
10
+ `),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${wE}?subject=JBrowse%202%20error&body=${i}`;return(0,sn.jsxs)(sn.Fragment,{children:[(0,sn.jsxs)(pc.Typography,{children:["Post a new issue at"," ",(0,sn.jsx)(gc,{href:s,children:"GitHub"})," or send an email to ",(0,sn.jsx)(gc,{href:a,children:wE})]}),(0,sn.jsx)("pre",{className:r.pre,children:o})]})}var sn,pc,wE,Tv,bE=p(()=>{sn=f(F(),1),pc=f(L(),1);xE();yt();wE="jbrowse2@berkeley.edu",Tv=te()(e=>({pre:{background:(0,pc.alpha)(e.palette.error.main,.2),border:`1px solid ${e.palette.divider}`,overflow:"auto",margin:20,maxHeight:300}}))});function Wu({message:e,children:t,variant:r="body2",...n}){let{classes:o}=_v();return(0,BE.jsx)(SE.Typography,{className:cc(o.dots,n.className),...n,variant:r,children:e||"Loading"})}var BE,SE,_v,QE=p(()=>{BE=f(F(),1),SE=f(L(),1);yt();_v=te()({dots:{"&::after":{display:"inline-block",content:'""',width:"1em",textAlign:"left",animation:`${vu`
11
11
  0% {
12
12
  content: '';
13
13
  }
@@ -20,15 +20,15 @@ ${n}
20
20
  75% {
21
21
  content: '...';
22
22
  }
23
- `} 1.2s infinite ease-in-out`}}})});var gE=H((lO,mE)=>{mE.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(o){e.addRange(o)}),t&&t.focus()}}});var CE=H((AO,hE)=>{"use strict";var sv=gE(),pE={"text/plain":"Text","text/html":"Url",default:"Text"},av="Copy to clipboard: #{key}, Enter";function cv(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function lv(e,t){var r,n,o,i,s,a,c=!1;t||(t={}),r=t.debug||!1;try{o=sv(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(A){if(A.stopPropagation(),t.format)if(A.preventDefault(),typeof A.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=pE[t.format]||pE.default;window.clipboardData.setData(u,e)}else A.clipboardData.clearData(),A.clipboardData.setData(t.format,e);t.onCopy&&(A.preventDefault(),t.onCopy(A.clipboardData))}),document.body.appendChild(a),i.selectNodeContents(a),s.addRange(i);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(A){r&&console.error("unable to copy using execCommand: ",A),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=cv("message"in t?t.message:av),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(i):s.removeAllRanges()),a&&document.body.removeChild(a),o()}return c}hE.exports=lv});var wE={};je(wE,{default:()=>yE});async function xE(e){let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status} fetching ${e}: ${await t.text()}`);return t.text()}async function Av(e){return JSON.parse(await xE(e))}async function dv(e){if(Pu[e])return Pu[e];let t=new URL(e).search,r=await xE(e),n=uv.exec(r)?.[1]??"",o=await Av(new URL(n,e).href+t),i=new IE.SourceMapConsumer(o);return Pu[e]=i,i}async function mv(e){let t=[];for(let r of e.split(`
24
- `)){let n=fv.exec(r);if(!n){t.push(r);continue}let o=n[2],s=(await dv(o)).originalPositionFor({line:+n[3],column:+n[4]});if(!s.source||!s.line||!s.column){t.push(r);continue}t.push(`${s.source}:${s.line}:${s.column+1} (${n[1].trim()})`)}return t.join(`
25
- `)}function gv(e,t){return e.startsWith("Error:")?e.slice(`${t}`.length):e}function pv(e){return typeof e=="object"&&e!==null&&"stack"in e?`${e.stack}`:""}function yE({error:e,onClose:t,extra:r}){let[n,o]=(0,ri.useState)(),[i,s]=(0,ri.useState)(),[a,c]=(0,ri.useState)(!1),l=e?`${e}`:"",A=gv(pv(e),l);(0,ri.useEffect)(()=>{(async()=>{try{o(await mv(A))}catch(m){console.error(m),o(A),s(m)}})()},[A]);let u=window.JBrowseSession?.version,d=[i?"Error loading source map, showing raw stack trace below:":"",l.length>EE?`${l.slice(0,EE)}...`:l,n||"No stack trace available",u?`JBrowse ${u}`:""].filter(Boolean).join(`
26
- `);return(0,or.jsxs)(Pt.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,or.jsxs)(Pt.DialogTitle,{children:["Stack trace",(0,or.jsx)(Pt.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,or.jsx)(_a,{})})]}),(0,or.jsx)(Pt.DialogContent,{children:n===void 0?(0,or.jsx)(Ru,{variant:"h6"}):(0,or.jsx)(Fu,{text:d,extra:r})}),(0,or.jsxs)(Pt.DialogActions,{children:[(0,or.jsx)(Pt.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:m}=await Promise.resolve().then(()=>f(CE(),1));m(d),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,or.jsx)(Pt.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var or,ri,Pt,IE,Pu,uv,fv,EE,BE=p(()=>{or=f(L(),1),ri=f(B(),1);$A();Pt=f(k(),1),IE=f(sE(),1);AE();dE();Pu={},uv=/\/\/# sourceMappingURL=(.*)/,fv=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;EE=1e4});function Cv(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function Ev({error:e,onReset:t}){let{classes:r}=bE(),[n,o]=(0,oi.useState)(!1);return(0,vt.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,vt.jsx)(ni.Tooltip,{title:"Get stack trace",children:(0,vt.jsx)(ni.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,vt.jsx)(h0,{})})}):null,t?(0,vt.jsx)(ni.Tooltip,{title:"Retry",children:(0,vt.jsx)(ni.IconButton,{onClick:t,color:"primary",children:(0,vt.jsx)(m0,{})})}):null,n?(0,vt.jsx)(oi.Suspense,{fallback:null,children:(0,vt.jsx)(hv,{error:e,onClose:()=>{o(!1)}})}):null]})}function Iv({error:e,onReset:t}){let{classes:r}=bE(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=Cv(n);return(0,vt.jsxs)(wu,{children:[i.slice(0,1e4),(0,vt.jsx)(Ev,{error:e,onReset:t}),s?(0,vt.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var vt,oi,ni,hv,bE,SE,QE=p(()=>{vt=f(L(),1),oi=f(B(),1);g0();C0();ni=f(k(),1);NC();Ct();hv=(0,oi.lazy)(()=>Promise.resolve().then(()=>(BE(),wE))),bE=te()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));SE=Iv});var vE=H((EO,ME)=>{"use strict";var xv=/["'&<>]/;ME.exports=yv;function yv(e){var t=""+e,r=xv.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n="&quot;";break;case 38:n="&amp;";break;case 39:n="&#39;";break;case 60:n="&lt;";break;case 62:n="&gt;";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});function xt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Yu(e,t,n)}}function Tv(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return ju(e,r)}}function j(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:mc;TE&&TE(e,null);let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(wv(t)||(t[n]=i),o=i)}e[o]=!0}return e}function _v(e){for(let t=0;t<e.length;t++)Ot(e,t)||(e[t]=null);return e}function Dr(e){let t=dc(null);for(let[r,n]of PE(e))Ot(e,r)&&(Array.isArray(n)?t[r]=_v(n):n&&typeof n=="object"&&n.constructor===Object?t[r]=Dr(n):t[r]=n);return t}function $i(e,t){for(;e!==null;){let n=bv(e,t);if(n){if(n.get)return xt(n.get);if(typeof n.value=="function")return xt(n.value)}e=Bv(e)}function r(){return null}return r}function JE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Hv(),t=R=>JE(R);if(t.version="3.3.3",t.removed=[],!e||!e.document||e.document.nodeType!==Ki.document||!e.Element)return t.isSupported=!1,t;let{document:r}=e,n=r,o=n.currentScript,{DocumentFragment:i,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:l,NamedNodeMap:A=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:d,trustedTypes:m}=e,g=c.prototype,h=$i(g,"cloneNode"),I=$i(g,"remove"),C=$i(g,"nextSibling"),x=$i(g,"childNodes"),y=$i(g,"parentNode");if(typeof s=="function"){let R=r.createElement("template");R.content&&R.content.ownerDocument&&(r=R.content.ownerDocument)}let b,S="",{implementation:v,createNodeIterator:M,createDocumentFragment:F,getElementsByTagName:O}=r,{importNode:q}=n,w=RE();t.isSupported=typeof PE=="function"&&typeof y=="function"&&v&&v.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:T,ERB_EXPR:J,TMPLIT_EXPR:G,DATA_ATTR:Me,ARIA_ATTR:wr,IS_SCRIPT_OR_DATA:Gr,ATTR_WHITESPACE:ln,CUSTOM_ELEMENT:ws}=FE,{IS_ALLOWED_URI:Jr}=FE,Le=null,Hr=j({},[...DE,...Ju,...Hu,...Uu,...kE]),ge=null,vn=j({},[...NE,...qu,...LE,...fc]),pe=Object.seal(dc(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Br=null,jt=null,Qt=Object.seal(dc(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Bs=!0,uo=!0,yi=!1,bs=!0,An=!1,br=!0,Sr=!1,Ss=!1,ee=!1,ie=!1,le=!1,Ae=!1,Tt=!0,ut=!1,ve="user-content-",ft=!0,cr=!1,Vt={},_t=null,fo=j({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),dt=null,Wt=j({},["audio","video","img","source","image","track"]),Tn=null,Qs=j({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),un="http://www.w3.org/1998/Math/MathML",Ms="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1999/xhtml",mo=Ur,ml=!1,gl=null,DQ=j({},[un,Ms,Ur],Ou),vs=j({},["mi","mo","mn","ms","mtext"]),Ts=j({},["annotation-xml"]),kQ=j({},["title","style","font","a","script"]),wi=null,NQ=["application/xhtml+xml","text/html"],LQ="text/html",Oe=null,go=null,FQ=r.createElement("form"),Jd=function(E){return E instanceof RegExp||E instanceof Function},pl=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(go&&go===E)){if((!E||typeof E!="object")&&(E={}),E=Dr(E),wi=NQ.indexOf(E.PARSER_MEDIA_TYPE)===-1?LQ:E.PARSER_MEDIA_TYPE,Oe=wi==="application/xhtml+xml"?Ou:mc,Le=Ot(E,"ALLOWED_TAGS")?j({},E.ALLOWED_TAGS,Oe):Hr,ge=Ot(E,"ALLOWED_ATTR")?j({},E.ALLOWED_ATTR,Oe):vn,gl=Ot(E,"ALLOWED_NAMESPACES")?j({},E.ALLOWED_NAMESPACES,Ou):DQ,Tn=Ot(E,"ADD_URI_SAFE_ATTR")?j(Dr(Qs),E.ADD_URI_SAFE_ATTR,Oe):Qs,dt=Ot(E,"ADD_DATA_URI_TAGS")?j(Dr(Wt),E.ADD_DATA_URI_TAGS,Oe):Wt,_t=Ot(E,"FORBID_CONTENTS")?j({},E.FORBID_CONTENTS,Oe):fo,Br=Ot(E,"FORBID_TAGS")?j({},E.FORBID_TAGS,Oe):Dr({}),jt=Ot(E,"FORBID_ATTR")?j({},E.FORBID_ATTR,Oe):Dr({}),Vt=Ot(E,"USE_PROFILES")?E.USE_PROFILES:!1,Bs=E.ALLOW_ARIA_ATTR!==!1,uo=E.ALLOW_DATA_ATTR!==!1,yi=E.ALLOW_UNKNOWN_PROTOCOLS||!1,bs=E.ALLOW_SELF_CLOSE_IN_ATTR!==!1,An=E.SAFE_FOR_TEMPLATES||!1,br=E.SAFE_FOR_XML!==!1,Sr=E.WHOLE_DOCUMENT||!1,ie=E.RETURN_DOM||!1,le=E.RETURN_DOM_FRAGMENT||!1,Ae=E.RETURN_TRUSTED_TYPE||!1,ee=E.FORCE_BODY||!1,Tt=E.SANITIZE_DOM!==!1,ut=E.SANITIZE_NAMED_PROPS||!1,ft=E.KEEP_CONTENT!==!1,cr=E.IN_PLACE||!1,Jr=E.ALLOWED_URI_REGEXP||OE,mo=E.NAMESPACE||Ur,vs=E.MATHML_TEXT_INTEGRATION_POINTS||vs,Ts=E.HTML_INTEGRATION_POINTS||Ts,pe=E.CUSTOM_ELEMENT_HANDLING||{},E.CUSTOM_ELEMENT_HANDLING&&Jd(E.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(pe.tagNameCheck=E.CUSTOM_ELEMENT_HANDLING.tagNameCheck),E.CUSTOM_ELEMENT_HANDLING&&Jd(E.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(pe.attributeNameCheck=E.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),E.CUSTOM_ELEMENT_HANDLING&&typeof E.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(pe.allowCustomizedBuiltInElements=E.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),An&&(uo=!1),le&&(ie=!0),Vt&&(Le=j({},kE),ge=dc(null),Vt.html===!0&&(j(Le,DE),j(ge,NE)),Vt.svg===!0&&(j(Le,Ju),j(ge,qu),j(ge,fc)),Vt.svgFilters===!0&&(j(Le,Hu),j(ge,qu),j(ge,fc)),Vt.mathMl===!0&&(j(Le,Uu),j(ge,LE),j(ge,fc))),Ot(E,"ADD_TAGS")||(Qt.tagCheck=null),Ot(E,"ADD_ATTR")||(Qt.attributeCheck=null),E.ADD_TAGS&&(typeof E.ADD_TAGS=="function"?Qt.tagCheck=E.ADD_TAGS:(Le===Hr&&(Le=Dr(Le)),j(Le,E.ADD_TAGS,Oe))),E.ADD_ATTR&&(typeof E.ADD_ATTR=="function"?Qt.attributeCheck=E.ADD_ATTR:(ge===vn&&(ge=Dr(ge)),j(ge,E.ADD_ATTR,Oe))),E.ADD_URI_SAFE_ATTR&&j(Tn,E.ADD_URI_SAFE_ATTR,Oe),E.FORBID_CONTENTS&&(_t===fo&&(_t=Dr(_t)),j(_t,E.FORBID_CONTENTS,Oe)),E.ADD_FORBID_CONTENTS&&(_t===fo&&(_t=Dr(_t)),j(_t,E.ADD_FORBID_CONTENTS,Oe)),ft&&(Le["#text"]=!0),Sr&&j(Le,["html","head","body"]),Le.table&&(j(Le,["tbody"]),delete Br.tbody),E.TRUSTED_TYPES_POLICY){if(typeof E.TRUSTED_TYPES_POLICY.createHTML!="function")throw zi('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof E.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw zi('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');b=E.TRUSTED_TYPES_POLICY,S=b.createHTML("")}else b===void 0&&(b=Uv(m,o)),b!==null&&typeof S=="string"&&(S=b.createHTML(""));It&&It(E),go=E}},Hd=j({},[...Ju,...Hu,...Dv]),Ud=j({},[...Uu,...kv]),RQ=function(E){let Q=y(E);(!Q||!Q.tagName)&&(Q={namespaceURI:mo,tagName:"template"});let N=mc(E.tagName),xe=mc(Q.tagName);return gl[E.namespaceURI]?E.namespaceURI===Ms?Q.namespaceURI===Ur?N==="svg":Q.namespaceURI===un?N==="svg"&&(xe==="annotation-xml"||vs[xe]):!!Hd[N]:E.namespaceURI===un?Q.namespaceURI===Ur?N==="math":Q.namespaceURI===Ms?N==="math"&&Ts[xe]:!!Ud[N]:E.namespaceURI===Ur?Q.namespaceURI===Ms&&!Ts[xe]||Q.namespaceURI===un&&!vs[xe]?!1:!Ud[N]&&(kQ[N]||!Hd[N]):!!(wi==="application/xhtml+xml"&&gl[E.namespaceURI]):!1},Qr=function(E){Vi(t.removed,{element:E});try{y(E).removeChild(E)}catch{I(E)}},_n=function(E,Q){try{Vi(t.removed,{attribute:Q.getAttributeNode(E),from:Q})}catch{Vi(t.removed,{attribute:null,from:Q})}if(Q.removeAttribute(E),E==="is")if(ie||le)try{Qr(Q)}catch{}else try{Q.setAttribute(E,"")}catch{}},qd=function(E){let Q=null,N=null;if(ee)E="<remove></remove>"+E;else{let Fe=Gu(E,/^[\r\n\t ]+/);N=Fe&&Fe[0]}wi==="application/xhtml+xml"&&mo===Ur&&(E='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+E+"</body></html>");let xe=b?b.createHTML(E):E;if(mo===Ur)try{Q=new d().parseFromString(xe,wi)}catch{}if(!Q||!Q.documentElement){Q=v.createDocument(mo,"template",null);try{Q.documentElement.innerHTML=ml?S:xe}catch{}}let st=Q.body||Q.documentElement;return E&&N&&st.insertBefore(r.createTextNode(N),st.childNodes[0]||null),mo===Ur?O.call(Q,Sr?"html":"body")[0]:Sr?Q.documentElement:st},Yd=function(E){return M.call(E.ownerDocument||E,E,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},hl=function(E){return E instanceof u&&(typeof E.nodeName!="string"||typeof E.textContent!="string"||typeof E.removeChild!="function"||!(E.attributes instanceof A)||typeof E.removeAttribute!="function"||typeof E.setAttribute!="function"||typeof E.namespaceURI!="string"||typeof E.insertBefore!="function"||typeof E.hasChildNodes!="function")},jd=function(E){return typeof a=="function"&&E instanceof a};function qr(R,E,Q){uc(R,N=>{N.call(t,E,Q,go)})}let Vd=function(E){let Q=null;if(qr(w.beforeSanitizeElements,E,null),hl(E))return Qr(E),!0;let N=Oe(E.nodeName);if(qr(w.uponSanitizeElement,E,{tagName:N,allowedTags:Le}),br&&E.hasChildNodes()&&!jd(E.firstElementChild)&&Et(/<[/\w!]/g,E.innerHTML)&&Et(/<[/\w!]/g,E.textContent)||E.nodeType===Ki.progressingInstruction||br&&E.nodeType===Ki.comment&&Et(/<[/\w]/g,E.data))return Qr(E),!0;if(!(Qt.tagCheck instanceof Function&&Qt.tagCheck(N))&&(!Le[N]||Br[N])){if(!Br[N]&&zd(N)&&(pe.tagNameCheck instanceof RegExp&&Et(pe.tagNameCheck,N)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(N)))return!1;if(ft&&!_t[N]){let xe=y(E)||E.parentNode,st=x(E)||E.childNodes;if(st&&xe){let Fe=st.length;for(let Mt=Fe-1;Mt>=0;--Mt){let Yr=h(st[Mt],!0);Yr.__removalCount=(E.__removalCount||0)+1,xe.insertBefore(Yr,C(E))}}}return Qr(E),!0}return E instanceof c&&!RQ(E)||(N==="noscript"||N==="noembed"||N==="noframes")&&Et(/<\/no(script|embed|frames)/i,E.innerHTML)?(Qr(E),!0):(An&&E.nodeType===Ki.text&&(Q=E.textContent,uc([T,J,G],xe=>{Q=Wi(Q,xe," ")}),E.textContent!==Q&&(Vi(t.removed,{element:E.cloneNode()}),E.textContent=Q)),qr(w.afterSanitizeElements,E,null),!1)},Wd=function(E,Q,N){if(jt[Q]||Tt&&(Q==="id"||Q==="name")&&(N in r||N in FQ))return!1;if(!(uo&&!jt[Q]&&Et(Me,Q))){if(!(Bs&&Et(wr,Q))){if(!(Qt.attributeCheck instanceof Function&&Qt.attributeCheck(Q,E))){if(!ge[Q]||jt[Q]){if(!(zd(E)&&(pe.tagNameCheck instanceof RegExp&&Et(pe.tagNameCheck,E)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(E))&&(pe.attributeNameCheck instanceof RegExp&&Et(pe.attributeNameCheck,Q)||pe.attributeNameCheck instanceof Function&&pe.attributeNameCheck(Q,E))||Q==="is"&&pe.allowCustomizedBuiltInElements&&(pe.tagNameCheck instanceof RegExp&&Et(pe.tagNameCheck,N)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(N))))return!1}else if(!Tn[Q]){if(!Et(Jr,Wi(N,ln,""))){if(!((Q==="src"||Q==="xlink:href"||Q==="href")&&E!=="script"&&Mv(N,"data:")===0&&dt[E])){if(!(yi&&!Et(Gr,Wi(N,ln,"")))){if(N)return!1}}}}}}}return!0},zd=function(E){return E!=="annotation-xml"&&Gu(E,ws)},$d=function(E){qr(w.beforeSanitizeAttributes,E,null);let{attributes:Q}=E;if(!Q||hl(E))return;let N={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge,forceKeepAttr:void 0},xe=Q.length;for(;xe--;){let st=Q[xe],{name:Fe,namespaceURI:Mt,value:Yr}=st,po=Oe(Fe),Cl=Yr,Ze=Fe==="value"?Cl:vv(Cl);if(N.attrName=po,N.attrValue=Ze,N.keepAttr=!0,N.forceKeepAttr=void 0,qr(w.uponSanitizeAttribute,E,N),Ze=N.attrValue,ut&&(po==="id"||po==="name")&&(_n(Fe,E),Ze=ve+Ze),br&&Et(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ze)){_n(Fe,E);continue}if(po==="attributename"&&Gu(Ze,"href")){_n(Fe,E);continue}if(N.forceKeepAttr)continue;if(!N.keepAttr){_n(Fe,E);continue}if(!bs&&Et(/\/>/i,Ze)){_n(Fe,E);continue}An&&uc([T,J,G],Xd=>{Ze=Wi(Ze,Xd," ")});let Kd=Oe(E.nodeName);if(!Wd(Kd,po,Ze)){_n(Fe,E);continue}if(b&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Mt)switch(m.getAttributeType(Kd,po)){case"TrustedHTML":{Ze=b.createHTML(Ze);break}case"TrustedScriptURL":{Ze=b.createScriptURL(Ze);break}}if(Ze!==Cl)try{Mt?E.setAttributeNS(Mt,Fe,Ze):E.setAttribute(Fe,Ze),hl(E)?Qr(E):_E(t.removed)}catch{_n(Fe,E)}}qr(w.afterSanitizeAttributes,E,null)},PQ=function R(E){let Q=null,N=Yd(E);for(qr(w.beforeSanitizeShadowDOM,E,null);Q=N.nextNode();)qr(w.uponSanitizeShadowNode,Q,null),Vd(Q),$d(Q),Q.content instanceof i&&R(Q.content);qr(w.afterSanitizeShadowDOM,E,null)};return t.sanitize=function(R){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Q=null,N=null,xe=null,st=null;if(ml=!R,ml&&(R="<!-->"),typeof R!="string"&&!jd(R))if(typeof R.toString=="function"){if(R=R.toString(),typeof R!="string")throw zi("dirty is not a string, aborting")}else throw zi("toString is not a function");if(!t.isSupported)return R;if(Ss||pl(E),t.removed=[],typeof R=="string"&&(cr=!1),cr){if(R.nodeName){let Yr=Oe(R.nodeName);if(!Le[Yr]||Br[Yr])throw zi("root node is forbidden and cannot be sanitized in-place")}}else if(R instanceof a)Q=qd("<!---->"),N=Q.ownerDocument.importNode(R,!0),N.nodeType===Ki.element&&N.nodeName==="BODY"||N.nodeName==="HTML"?Q=N:Q.appendChild(N);else{if(!ie&&!An&&!Sr&&R.indexOf("<")===-1)return b&&Ae?b.createHTML(R):R;if(Q=qd(R),!Q)return ie?null:Ae?S:""}Q&&ee&&Qr(Q.firstChild);let Fe=Yd(cr?R:Q);for(;xe=Fe.nextNode();)Vd(xe),$d(xe),xe.content instanceof i&&PQ(xe.content);if(cr)return R;if(ie){if(le)for(st=F.call(Q.ownerDocument);Q.firstChild;)st.appendChild(Q.firstChild);else st=Q;return(ge.shadowroot||ge.shadowrootmode)&&(st=q.call(n,st,!0)),st}let Mt=Sr?Q.outerHTML:Q.innerHTML;return Sr&&Le["!doctype"]&&Q.ownerDocument&&Q.ownerDocument.doctype&&Q.ownerDocument.doctype.name&&Et(GE,Q.ownerDocument.doctype.name)&&(Mt="<!DOCTYPE "+Q.ownerDocument.doctype.name+`>
27
- `+Mt),An&&uc([T,J,G],Yr=>{Mt=Wi(Mt,Yr," ")}),b&&Ae?b.createHTML(Mt):Mt},t.setConfig=function(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};pl(R),Ss=!0},t.clearConfig=function(){go=null,Ss=!1},t.isValidAttribute=function(R,E,Q){go||pl({});let N=Oe(R),xe=Oe(E);return Wd(N,xe,Q)},t.addHook=function(R,E){typeof E=="function"&&Vi(w[R],E)},t.removeHook=function(R,E){if(E!==void 0){let Q=Sv(w[R],E);return Q===-1?void 0:Qv(w[R],Q,1)[0]}return _E(w[R])},t.removeHooks=function(R){w[R]=[]},t.removeAllHooks=function(){w=RE()},t}var PE,TE,wv,Bv,bv,It,ir,dc,Yu,ju,uc,Sv,_E,Vi,Qv,mc,Ou,Gu,Wi,Mv,vv,Ot,Et,zi,DE,Ju,Hu,Dv,Uu,kv,kE,NE,qu,LE,fc,Nv,Lv,Fv,Rv,Pv,OE,Ov,Gv,GE,Jv,FE,Ki,Hv,Uv,RE,HE,UE=p(()=>{({entries:PE,setPrototypeOf:TE,isFrozen:wv,getPrototypeOf:Bv,getOwnPropertyDescriptor:bv}=Object),{freeze:It,seal:ir,create:dc}=Object,{apply:Yu,construct:ju}=typeof Reflect<"u"&&Reflect;It||(It=function(t){return t});ir||(ir=function(t){return t});Yu||(Yu=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});ju||(ju=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});uc=xt(Array.prototype.forEach),Sv=xt(Array.prototype.lastIndexOf),_E=xt(Array.prototype.pop),Vi=xt(Array.prototype.push),Qv=xt(Array.prototype.splice),mc=xt(String.prototype.toLowerCase),Ou=xt(String.prototype.toString),Gu=xt(String.prototype.match),Wi=xt(String.prototype.replace),Mv=xt(String.prototype.indexOf),vv=xt(String.prototype.trim),Ot=xt(Object.prototype.hasOwnProperty),Et=xt(RegExp.prototype.test),zi=Tv(TypeError);DE=It(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ju=It(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Hu=It(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Dv=It(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Uu=It(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),kv=It(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),kE=It(["#text"]),NE=It(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),qu=It(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),LE=It(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),fc=It(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Nv=ir(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Lv=ir(/<%[\w\W]*|[\w\W]*%>/gm),Fv=ir(/\$\{[\w\W]*/gm),Rv=ir(/^data-[\-\w.\u00B7-\uFFFF]+$/),Pv=ir(/^aria-[\-\w]+$/),OE=ir(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ov=ir(/^(?:\w+script|data):/i),Gv=ir(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),GE=ir(/^html$/i),Jv=ir(/^[a-z][.\w]*(-[.\w]+)+$/i),FE=Object.freeze({__proto__:null,ARIA_ATTR:Pv,ATTR_WHITESPACE:Gv,CUSTOM_ELEMENT:Jv,DATA_ATTR:Rv,DOCTYPE_NAME:GE,ERB_EXPR:Lv,IS_ALLOWED_URI:OE,IS_SCRIPT_OR_DATA:Ov,MUSTACHE_EXPR:Nv,TMPLIT_EXPR:Fv}),Ki={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Hv=function(){return typeof window>"u"?null:window},Uv=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},RE=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};HE=JE()});var jE={};je(jE,{default:()=>YE});function YE({value:e,className:t}){let r=(0,gc.useRef)(null);return(0,gc.useLayoutEffect)(()=>{let n=r.current;if(n)for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")},[e]),(0,qE.jsx)("span",{ref:r,className:t,dangerouslySetInnerHTML:{__html:HE.sanitize(e)}})}var qE,gc,VE=p(()=>{qE=f(L(),1),gc=f(B(),1);UE()});function Vv(e){return jv.test(e)}function Wv(e){return e.includes("<")||e.includes("://")}function zv({value:e,className:t}){let r=(0,En.useRef)(null);return(0,En.useLayoutEffect)(()=>{let n=r.current;if(n)try{n.setHTML(e);for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")}catch(o){console.error(o)}},[e]),(0,Wn.jsx)("span",{ref:r,className:t})}function In({html:e,className:t}){let r=`${e}`;if(!Wv(r))return(0,Wn.jsx)("span",{className:t,children:r});let n=Ih(r),o=Vv(n)?n:(0,WE.default)(n);return typeof Element<"u"&&Element.prototype.setHTML?(0,Wn.jsx)(zv,{value:o,className:t}):(0,Wn.jsx)(En.Suspense,{fallback:(0,Wn.jsx)("span",{className:t}),children:(0,Wn.jsx)(Yv,{value:o,className:t})})}var Wn,En,WE,qv,Yv,jv,Vu=p(()=>{Wn=f(L(),1),En=f(B(),1),WE=f(vE(),1);hn();qv=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],Yv=(0,En.lazy)(()=>Promise.resolve().then(()=>(VE(),jE))),jv=new RegExp(qv.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function $v({error:e}){let{classes:t}=KE();return(0,Gt.jsx)("div",{className:t.errorBox,children:(0,Gt.jsx)(SE,{error:e})})}var Gt,zE,lt,$E,KE,Kv,XE,ZE=p(()=>{Gt=f(L(),1),zE=f(B(),1);$A();lt=f(k(),1),$E=f(P(),1);jA();QE();Vu();Ct();KE=te()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));Kv=(0,$E.observer)(function(t){let{classes:r}=KE(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,lt.useTheme)();return(0,Gt.jsx)(lt.Dialog,{...o,children:(0,Gt.jsxs)(lt.ScopedCssBaseline,{children:[(0,zE.isValidElement)(s)?s:(0,Gt.jsxs)(lt.DialogTitle,{children:[n||(0,Gt.jsx)(In,{html:i||""}),c?(0,Gt.jsx)(lt.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Gt.jsx)(_a,{})}):null]}),(0,Gt.jsx)(lt.Divider,{}),(0,Gt.jsx)(Fo,{FallbackComponent:$v,children:(0,Gt.jsx)(lt.ThemeProvider,{theme:(0,lt.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),XE=Kv});function Wu({onClose:e,helpText:t,label:r}){return(0,zn.jsx)(XE,{open:!0,onClose:e,title:"Help",titleNode:r?(0,zn.jsxs)(zn.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,zn.jsx)(eI.DialogContent,{children:t})})}var zn,eI,tI=p(()=>{zn=f(L(),1),eI=f(k(),1);ZE()});function zu({helpText:e,label:t}){let[r,n]=(0,pc.useState)(!1);return(0,rn.jsxs)(rn.Fragment,{children:[(0,rn.jsx)(rI.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,rn.jsx)(A0,{fontSize:"small"})}),r?(0,rn.jsxs)(pc.Suspense,{fallback:null,children:[(0,rn.jsx)(Wu,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var rn,pc,rI,nI=p(()=>{rn=f(L(),1),pc=f(B(),1);u0();rI=f(k(),1);tI()});var oI,iI,sI,Xv,aI,cI=p(()=>{oI=f(L(),1),iI=f(B(),1),sI=f(k(),1),Xv=iI.forwardRef(function(t,r){return(0,oI.jsx)(sI.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),aI=Xv});var lI,AI,uI=p(()=>{"use client";z();lI=f(L(),1),AI=(0,_.createSvgIcon)((0,lI.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var fI,dI,mI=p(()=>{"use client";z();fI=f(L(),1),dI=(0,_.createSvgIcon)((0,fI.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var gI,pI,hI=p(()=>{"use client";z();gI=f(L(),1),pI=(0,_.createSvgIcon)((0,gI.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var CI,EI,II=p(()=>{"use client";z();CI=f(L(),1),EI=(0,_.createSvgIcon)((0,CI.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var xI,yI,wI=p(()=>{"use client";z();xI=f(L(),1),yI=(0,_.createSvgIcon)((0,xI.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function BI(e){let{classes:t}=Zv(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,xn.jsx)(AI,{color:"action"});break}case"checkbox":{n?i=(0,xn.jsx)(dI,{color:o?"inherit":void 0}):i=(0,xn.jsx)(pI,{color:"action"});break}case"radio":{n?i=(0,xn.jsx)(EI,{color:o?"inherit":void 0}):i=(0,xn.jsx)(yI,{color:"action"});break}}return(0,xn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var xn,hc,Zv,bI=p(()=>{xn=f(L(),1);uI();mI();hI();II();wI();hc=f(k(),1);Ct();Zv=te()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function SI(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function eT({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,$u.useState)(null),d=SI(e);return(0,se.jsxs)(se.Fragment,{children:[(0,se.jsxs)(yt.MenuItem,{ref:u,"data-testid":d?`cascading-submenu-${d}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,se.jsx)(yt.ListItemIcon,{children:(0,se.jsx)(t,{})}):null,(0,se.jsx)(yt.ListItemText,{primary:e,inset:r}),(0,se.jsx)(a0,{})]}),(0,se.jsx)(aI,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,se.jsx)(QI,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function QI({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,$u.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,se.jsx)(se.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,se.jsx)(eT,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,se.jsx)(yt.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,se.jsx)(yt.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let d=A,m=d.helpText,g=d.type==="checkbox"||d.type==="radio",h=SI(d.label);return(0,se.jsxs)(yt.MenuItem,{"data-testid":h?`cascading-menuitem-${h}`:void 0,disabled:!!d.disabled,onClick:I=>{t&&n(),e(I,d.onClick)},onMouseOver:s,children:[d.icon?(0,se.jsx)(yt.ListItemIcon,{children:(0,se.jsx)(d.icon,{})}):null,(0,se.jsx)(yt.ListItemText,{primary:d.label,secondary:d.subLabel,inset:a&&!d.icon}),(0,se.jsx)("div",{style:{flexGrow:1,minWidth:10}}),g?(0,se.jsx)(BI,{type:d.type,checked:d.checked,disabled:d.disabled}):null,m?(0,se.jsx)(zu,{helpText:m,label:d.label}):g&&c?(0,se.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${d.label}-${u}`)})})}function Ku({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:d}){let m=Array.isArray(r)?r:r();return(0,se.jsx)(yt.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:d,children:(0,se.jsx)(QI,{menuItems:m,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var se,$u,yt,MI=p(()=>{se=f(L(),1),$u=f(B(),1);c0();yt=f(k(),1);nI();cI();bI()});function tT({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=vI.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[d,m]=(0,Cc.useState)(null),g=!!d;(0,Cc.useEffect)(()=>{i?.(g)},[g,i]);let h=o??(Array.isArray(t)&&t.length===0);return(0,$n.jsxs)($n.Fragment,{children:[(0,$n.jsx)(s,{onClick:I=>{n&&I.stopPropagation(),m(I.currentTarget),a?.(I)},...u,disabled:h,children:e}),g?(0,$n.jsx)(Ku,{open:g,onClose:()=>{m(null)},anchorEl:d,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(I,C)=>{C()}}):null]})}var $n,Cc,vI,kr,ii=p(()=>{$n=f(L(),1),Cc=f(B(),1),vI=f(k(),1);MI();kr=tT});var TI,_I,DI=p(()=>{"use client";z();TI=f(L(),1),_I=(0,_.createSvgIcon)((0,TI.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var rT,si,kI=p(()=>{rT={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},si=rT});var nT,Xi,NI=p(()=>{nT={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Xi=nT});var oT,Zi,LI=p(()=>{oT={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Zi=oT});var iT,es,FI=p(()=>{iT={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},es=iT});var sT,yn,RI=p(()=>{sT={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},yn=sT});var Xu=p(()=>{kI();NI();LI();FI();RI()});var aT,nn,Ke,sr,YI,PI,Zu,cT,Ec,jI,VI,OI,GI,JI,ts,lT,AT,uT,fT,rf,HI,dT,ef,tf,UI,nf,wt,qI,Ic,xc=p(()=>{aT={grad:.9,turn:360,rad:360/(2*Math.PI)},nn=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Ke=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},sr=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},YI=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},PI=function(e){return{r:sr(e.r,0,255),g:sr(e.g,0,255),b:sr(e.b,0,255),a:sr(e.a)}},Zu=function(e){return{r:Ke(e.r),g:Ke(e.g),b:Ke(e.b),a:Ke(e.a,3)}},cT=/^#([0-9a-f]{3,8})$/i,Ec=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},jI=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},VI=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},OI=function(e){return{h:YI(e.h),s:sr(e.s,0,100),l:sr(e.l,0,100),a:sr(e.a)}},GI=function(e){return{h:Ke(e.h),s:Ke(e.s),l:Ke(e.l),a:Ke(e.a,3)}},JI=function(e){return VI((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},ts=function(e){return{h:(t=jI(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},lT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,AT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,uT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,rf={string:[[function(e){var t=cT.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ke(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Ke(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=uT.exec(e)||fT.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:PI({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=lT.exec(e)||AT.exec(e);if(!t)return null;var r,n,o=OI({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(aT[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return JI(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return nn(t)&&nn(r)&&nn(n)?PI({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!nn(t)||!nn(r)||!nn(n))return null;var s=OI({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return JI(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!nn(t)||!nn(r)||!nn(n))return null;var s=(function(a){return{h:YI(a.h),s:sr(a.s,0,100),v:sr(a.v,0,100),a:sr(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return VI(s)},"hsv"]]},HI=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},dT=function(e){return typeof e=="string"?HI(e.trim(),rf.string):typeof e=="object"&&e!==null?HI(e,rf.object):[null,void 0]},ef=function(e,t){var r=ts(e);return{h:r.h,s:sr(r.s+100*t,0,100),l:r.l,a:r.a}},tf=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},UI=function(e,t){var r=ts(e);return{h:r.h,s:r.s,l:sr(r.l+100*t,0,100),a:r.a}},nf=(function(){function e(t){this.parsed=dT(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return Ke(tf(this.rgba),2)},e.prototype.isDark=function(){return tf(this.rgba)<.5},e.prototype.isLight=function(){return tf(this.rgba)>=.5},e.prototype.toHex=function(){return t=Zu(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?Ec(Ke(255*i)):"","#"+Ec(r)+Ec(n)+Ec(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return Zu(this.rgba)},e.prototype.toRgbString=function(){return t=Zu(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return GI(ts(this.rgba))},e.prototype.toHslString=function(){return t=GI(ts(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=jI(this.rgba),{h:Ke(t.h),s:Ke(t.s),v:Ke(t.v),a:Ke(t.a,3)};var t},e.prototype.invert=function(){return wt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),wt(ef(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),wt(ef(this.rgba,-t))},e.prototype.grayscale=function(){return wt(ef(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),wt(UI(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),wt(UI(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?wt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Ke(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=ts(this.rgba);return typeof t=="number"?wt({h:t,s:r.s,l:r.l,a:r.a}):Ke(r.h)},e.prototype.isEqual=function(t){return this.toHex()===wt(t).toHex()},e})(),wt=function(e){return e instanceof nf?e:new nf(e)},qI=[],Ic=function(e){e.forEach(function(t){qI.indexOf(t)<0&&(t(nf,rf),qI.push(t))})}});function yc(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,d="black";if(!i.length)for(var m in r)i[m]=new e(r[m]).toRgb();for(var g in r){var h=(a=A,c=i[g],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));h<u&&(u=h,d=g)}return d}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var of=p(()=>{});function wc(e,t){return Object.fromEntries(Object.entries(e).map(t))}function Kn(e,t){return wc(e,([r,n])=>[r,t.palette.getContrastText(wt(n).toHex())])}function sf(e,t){if(e.length===0)return t;let r=[],n=0;for(let o of e)o>n&&r.push(t.slice(n,o)),n=o+1;return n<t.length&&r.push(t.slice(n)),r.join("")}function af(e){return e.end-e.start}function rs(e){return e==="-"||e==="."}var wn=p(()=>{xc();of();Ic([yc])});var mT,ai,Bc=p(()=>{Xu();xc();of();wn();Ic([yc]);mT={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:Zi[500],C:Xi[500],G:es[500],T:si[500],U:si[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},ai=wc(mT,([e,t])=>[e,wc(t,([r,n])=>[r,wt(n).toHex()])])});var cf,WI,gT,zI,$I=p(()=>{cf=f(B(),1);ii();DI();WI=f(P(),1);Bc();gT=(0,WI.observer)(function({model:e}){let{colorSchemeName:t}=e;return cf.default.createElement(kr,{closeAfterItemClick:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:Object.keys(ai).map(r=>({label:r,type:"radio",checked:t===r,onClick:()=>{e.setColorSchemeName(r)}}))},cf.default.createElement(_I,null))}),zI=gT});var KI,XI,ZI=p(()=>{"use client";z();KI=f(L(),1),XI=(0,_.createSvgIcon)((0,KI.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var ex,ns,lf=p(()=>{"use client";z();ex=f(L(),1),ns=(0,_.createSvgIcon)((0,ex.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var Af,tx,rx=p(()=>{"use client";z();Af=f(L(),1),tx=(0,_.createSvgIcon)([(0,Af.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,Af.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var nx,ox,ix=p(()=>{"use client";z();nx=f(L(),1),ox=(0,_.createSvgIcon)((0,nx.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var sx,ax,cx=p(()=>{"use client";z();sx=f(L(),1),ax=(0,_.createSvgIcon)((0,sx.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var lx,Ax,ux=p(()=>{"use client";z();lx=f(L(),1),Ax=(0,_.createSvgIcon)((0,lx.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var fx,dx,mx=p(()=>{"use client";z();fx=f(L(),1),dx=(0,_.createSvgIcon)((0,fx.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});function gx(e){return uf[Math.min(e,uf.length-1)]}var uf,ff,df=p(()=>{uf=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];ff=uf});var hx={};je(hx,{default:()=>ET});var fe,px,os,bc,pT,hT,CT,ET,Cx=p(()=>{fe=f(B(),1),px=f(ue(),1),os=f(k(),1),bc=f(P(),1);df();pT=(0,bc.observer)(function({model:e}){let{featureFilters:t}=e;return fe.default.createElement("div",null,fe.default.createElement(os.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),fe.default.createElement(os.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),hT=(0,bc.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=gx(n.length-1);return fe.default.createElement(fe.default.Fragment,null,fe.default.createElement(pT,{model:e}),fe.default.createElement("table",null,fe.default.createElement("thead",null,fe.default.createElement("tr",null,fe.default.createElement("td",null),fe.default.createElement("td",null,"accession"),fe.default.createElement("td",null,"name"),fe.default.createElement("td",null,"description"))),fe.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>fe.default.createElement("tr",{key:i},fe.default.createElement("td",null,fe.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),fe.default.createElement("td",null,i),fe.default.createElement("td",null,s),fe.default.createElement("td",null,a),fe.default.createElement("td",null,fe.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),CT=(0,bc.observer)(function({onClose:e,model:t}){return fe.default.createElement(px.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},fe.default.createElement(os.DialogContent,null,fe.default.createElement(hT,{model:t})))}),ET=CT});async function Ex(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function mf(e,t){return(await Ex(e,t)).text()}async function Sc(e,t){return(await Ex(e,t)).json()}function Ix(e){return new Promise(t=>setTimeout(t,e))}var gf=p(()=>{});var wx={};je(wx,{default:()=>xT});var Ce,xx,pf,we,yx,IT,xT,Bx=p(()=>{Ce=f(B(),1),xx=f(ue(),1),pf=f(ne(),1),we=f(k(),1),yx=f(P(),1);gf();IT=(0,yx.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Ce.useState)(),[o,i]=(0,Ce.useState)("file"),[s,a]=(0,Ce.useState)("");return Ce.default.createElement(xx.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},Ce.default.createElement(we.DialogContent,null,Ce.default.createElement("div",null,Ce.default.createElement(we.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),Ce.default.createElement("div",{style:{display:"flex",margin:30}},Ce.default.createElement(we.FormControl,{component:"fieldset"},Ce.default.createElement(we.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},Ce.default.createElement(we.FormControlLabel,{value:"url",control:Ce.default.createElement(we.Radio,null),label:"URL"}),Ce.default.createElement(we.FormControlLabel,{value:"file",control:Ce.default.createElement(we.Radio,null),label:"File"}))),o==="url"?Ce.default.createElement("div",null,Ce.default.createElement(we.Typography,null,"Open a InterProScan JSON file remote URL"),Ce.default.createElement(we.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?Ce.default.createElement("div",{style:{paddingTop:20}},Ce.default.createElement(we.Typography,null,"Open a InterProScan JSON file file from your local drive"),Ce.default.createElement(we.Button,{variant:"outlined",component:"label"},"Choose File",Ce.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),Ce.default.createElement(we.DialogActions,null,Ce.default.createElement(we.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await Sc(s);t.setInterProAnnotations(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),t.setShowDomains(!0),(0,pf.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,pf.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),xT=IT});async function yT({seq:e,onProgress:t,onJobId:r,programs:n,model:o}){let i=await mf(`${Cf}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")})});r?.(i),await BT({jobId:i,onProgress:t}),await bT({jobId:i,model:o})}function wT(e){return Sc(`${Cf}/iprscan5/result/${e}/json`)}async function BT({onProgress:e,jobId:t}){let r=`${Cf}/iprscan5/status/${t}`;try{for(;;){for(let o=0;o<10;o++)await Ix(1e3),e({msg:`Checking status ${10-o}`,url:r});let n=await mf(r);if(n.includes("FINISHED"))break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}finally{e()}}async function bx({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i}){try{if(o({msg:`Launching ${e} MSA`}),e==="interproscan")await yT({seq:t,onJobId:n,onProgress:o,programs:r,model:i});else throw new Error("unknown algorithm")}finally{o()}}async function bT({jobId:e,model:t}){try{t.setStatus({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let r=await wT(e);t.setInterProAnnotations(Object.fromEntries(r.results.map(n=>[n.xref[0].id,n]))),t.setShowDomains(!0),(0,hf.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(r){console.error(r),(0,hf.getSession)(t).notifyError(`${r}`,r)}finally{t.setStatus()}}var hf,Cf,Sx=p(()=>{hf=f(ne(),1);gf();Cf="https://www.ebi.ac.uk/Tools/services/rest"});var Tx={};je(Tx,{default:()=>QT});var Be,Qx,Mx,Jt,vx,ST,QT,_x=p(()=>{Be=f(B(),1),Qx=f(ue(),1),Mx=f(ne(),1),Jt=f(k(),1),vx=f(P(),1);Sx();ST=(0,vx.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Be.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SuperFamily",category:"Structural domains",checked:!0},{name:"Panther",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3d",category:"Structural domains",checked:!0},{name:"HAMAP",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositeProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"PfamA",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Be.useState)(!1);return Be.default.createElement(Qx.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Be.default.createElement(Jt.DialogContent,null,Be.default.createElement(Jt.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Be.default.createElement(Jt.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Be.default.createElement("div",null,Be.default.createElement(Jt.Typography,null,"Select algorithms for InterProScan to run"),Be.default.createElement("div",null,Be.default.createElement(Jt.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Be.default.createElement(Jt.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Be.default.createElement("table",null,Be.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Be.default.createElement("tr",{key:a},Be.default.createElement("td",null,Be.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Be.default.createElement("td",null,a),Be.default.createElement("td",null,l)))))):null),Be.default.createElement(Jt.DialogActions,null,Be.default.createElement(Jt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Be.default.createElement(Jt.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let{rows:a}=t;if(a.length>140)throw new Error("Too many sequences, please run InterProScan offline");await bx({algorithm:"interproscan",programs:o,seq:a.map(c=>[c[0],c[1].replaceAll("-","")]).filter(c=>!!c[1]).map(c=>`>${c[0]}
23
+ `} 1.2s infinite ease-in-out`}}})});var vE=U((qO,ME)=>{ME.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(o){e.addRange(o)}),t&&t.focus()}}});var DE=U((jO,_E)=>{"use strict";var Dv=vE(),TE={"text/plain":"Text","text/html":"Url",default:"Text"},kv="Copy to clipboard: #{key}, Enter";function Nv(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function Lv(e,t){var r,n,o,i,s,a,c=!1;t||(t={}),r=t.debug||!1;try{o=Dv(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(A){if(A.stopPropagation(),t.format)if(A.preventDefault(),typeof A.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=TE[t.format]||TE.default;window.clipboardData.setData(u,e)}else A.clipboardData.clearData(),A.clipboardData.setData(t.format,e);t.onCopy&&(A.preventDefault(),t.onCopy(A.clipboardData))}),document.body.appendChild(a),i.selectNodeContents(a),s.addRange(i);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(A){r&&console.error("unable to copy using execCommand: ",A),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=Nv("message"in t?t.message:kv),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(i):s.removeAllRanges()),a&&document.body.removeChild(a),o()}return c}_E.exports=Lv});var RE={};ze(RE,{default:()=>FE});async function LE(e){let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status} fetching ${e}: ${await t.text()}`);return t.text()}async function Fv(e){return JSON.parse(await LE(e))}async function Ov(e){if(zu[e])return zu[e];let t=new URL(e).search,r=await LE(e),n=Rv.exec(r)?.[1]??"",o=await Fv(new URL(n,e).href+t),i=new NE.SourceMapConsumer(o);return zu[e]=i,i}async function Gv(e){let t=[];for(let r of e.split(`
24
+ `)){let n=Pv.exec(r);if(!n){t.push(r);continue}let o=n[2],s=(await Ov(o)).originalPositionFor({line:+n[3],column:+n[4]});if(!s.source||!s.line||!s.column){t.push(r);continue}t.push(`${s.source}:${s.line}:${s.column+1} (${n[1].trim()})`)}return t.join(`
25
+ `)}function Hv(e,t){return e.startsWith("Error:")?e.slice(`${t}`.length):e}function Uv(e){return typeof e=="object"&&e!==null&&"stack"in e?`${e.stack}`:""}function FE({error:e,onClose:t,extra:r}){let[n,o]=(0,oi.useState)(),[i,s]=(0,oi.useState)(),[a,c]=(0,oi.useState)(!1),l=e?`${e}`:"",A=Hv(Uv(e),l);(0,oi.useEffect)(()=>{(async()=>{try{o(await Gv(A))}catch(m){console.error(m),o(A),s(m)}})()},[A]);let u=window.JBrowseSession?.version,d=[i?"Error loading source map, showing raw stack trace below:":"",l.length>kE?`${l.slice(0,kE)}...`:l,n||"No stack trace available",u?`JBrowse ${u}`:""].filter(Boolean).join(`
26
+ `);return(0,ar.jsxs)(Ht.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,ar.jsxs)(Ht.DialogTitle,{children:["Stack trace",(0,ar.jsx)(Ht.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,ar.jsx)(Ra,{})})]}),(0,ar.jsx)(Ht.DialogContent,{children:n===void 0?(0,ar.jsx)(Wu,{variant:"h6"}):(0,ar.jsx)(Yu,{text:d,extra:r})}),(0,ar.jsxs)(Ht.DialogActions,{children:[(0,ar.jsx)(Ht.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:m}=await Promise.resolve().then(()=>f(DE(),1));m(d),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,ar.jsx)(Ht.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var ar,oi,Ht,NE,zu,Rv,Pv,kE,PE=p(()=>{ar=f(F(),1),oi=f(S(),1);au();Ht=f(L(),1),NE=f(IE(),1);bE();QE();zu={},Rv=/\/\/# sourceMappingURL=(.*)/,Pv=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;kE=1e4});function jv(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function Jv({error:e,onReset:t}){let{classes:r}=OE(),[n,o]=(0,si.useState)(!1);return(0,_t.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,_t.jsx)(ii.Tooltip,{title:"Get stack trace",children:(0,_t.jsx)(ii.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,_t.jsx)(_0,{})})}):null,t?(0,_t.jsx)(ii.Tooltip,{title:"Retry",children:(0,_t.jsx)(ii.IconButton,{onClick:t,color:"primary",children:(0,_t.jsx)(M0,{})})}):null,n?(0,_t.jsx)(si.Suspense,{fallback:null,children:(0,_t.jsx)(qv,{error:e,onClose:()=>{o(!1)}})}):null]})}function Vv({error:e,onReset:t}){let{classes:r}=OE(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=jv(n);return(0,_t.jsxs)(Nu,{children:[i.slice(0,1e4),(0,_t.jsx)(Jv,{error:e,onReset:t}),s?(0,_t.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var _t,si,ii,qv,OE,GE,HE=p(()=>{_t=f(F(),1),si=f(S(),1);v0();D0();ii=f(L(),1);WC();yt();qv=(0,si.lazy)(()=>Promise.resolve().then(()=>(PE(),RE))),OE=te()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));GE=Vv});var qE=U((ZO,UE)=>{"use strict";var Yv=/["'&<>]/;UE.exports=Wv;function Wv(e){var t=""+e,r=Yv.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n="&quot;";break;case 38:n="&amp;";break;case 39:n="&#39;";break;case 60:n="&lt;";break;case 62:n="&gt;";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});function Ge(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return tf(e,t,n)}}function nT(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return rf(e,r)}}function q(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ts;if(jE&&jE(e,null),!xt(t))return e;let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(zv(t)||(t[n]=i),o=i)}e[o]=!0}return e}function oT(e){for(let t=0;t<e.length;t++)ve(e,t)||(e[t]=null);return e}function Dt(e){let t=ci(null);for(let[r,n]of rI(e))ve(e,r)&&(xt(n)?t[r]=oT(n):n&&typeof n=="object"&&n.constructor===Object?t[r]=Dt(n):t[r]=n);return t}function iT(e){switch(typeof e){case"string":return e;case"number":return tT(e);case"boolean":return rT(e);case"bigint":return WE?WE(e):"0";case"symbol":return zE?zE(e):"Symbol()";case"undefined":return Zi(e);case"function":case"object":{if(e===null)return Zi(e);let t=e,r=li(t,"toString");if(typeof r=="function"){let n=r(t);return typeof n=="string"?n:Zi(n)}return Zi(e)}default:return Zi(e)}}function li(e,t){for(;e!==null;){let n=Kv(e,t);if(n){if(n.get)return Ge(n.get);if(typeof n.value=="function")return Ge(n.value)}e=$v(e)}function r(){return null}return r}function sT(e){try{return at(e,""),!0}catch{return!1}}function iI(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:hT(),t=O=>iI(O);if(t.version="3.4.2",t.removed=[],!e||!e.document||e.document.nodeType!==es.document||!e.Element)return t.isSupported=!1,t;let{document:r}=e,n=r,o=n.currentScript,{DocumentFragment:i,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:l,NamedNodeMap:A=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:d,trustedTypes:m}=e,g=c.prototype,C=li(g,"cloneNode"),x=li(g,"remove"),I=li(g,"nextSibling"),h=li(g,"childNodes"),y=li(g,"parentNode");if(typeof s=="function"){let O=r.createElement("template");O.content&&O.content.ownerDocument&&(r=O.content.ownerDocument)}let b,w="",{implementation:v,createNodeIterator:M,createDocumentFragment:R,getElementsByTagName:T}=r,{importNode:V}=n,Q=tI();t.isSupported=typeof rI=="function"&&typeof y=="function"&&v&&v.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:D,ERB_EXPR:H,TMPLIT_EXPR:G,DATA_ATTR:xe,ARIA_ATTR:vr,IS_SCRIPT_OR_DATA:jr,ATTR_WHITESPACE:dn,CUSTOM_ELEMENT:Ts}=eI,{IS_ALLOWED_URI:Jr}=eI,Fe=null,Vr=q({},[...$E,...Ku,...Xu,...Zu,...KE]),ge=null,kn=q({},[...XE,...ef,...ZE,...Cc]),pe=Object.seal(ci(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Tr=null,Wt=null,vt=Object.seal(ci(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),_s=!0,po=!0,Si=!1,Ds=!0,Yr=!1,ur=!0,_r=!1,ks=!1,ee=!1,ie=!1,Ae=!1,ue=!1,kt=!0,mt=!1,Me="user-content-",gt=!0,fr=!1,zt={},Nt=null,ho=q({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),pt=null,$t=q({},["audio","video","img","source","image","track"]),Nn=null,Ns=q({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),mn="http://www.w3.org/1998/Math/MathML",Ls="http://www.w3.org/2000/svg",Dr="http://www.w3.org/1999/xhtml",Co=Dr,xl=!1,wl=null,ZQ=q({},[mn,Ls,Dr],$u),bl=q({},["mi","mo","mn","ms","mtext"]),Bl=q({},["annotation-xml"]),e1=q({},["title","style","font","a","script"]),Qi=null,t1=["application/xhtml+xml","text/html"],r1="text/html",He=null,Eo=null,n1=r.createElement("form"),Kd=function(E){return E instanceof RegExp||E instanceof Function},Sl=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Eo&&Eo===E)return;(!E||typeof E!="object")&&(E={}),E=Dt(E),Qi=t1.indexOf(E.PARSER_MEDIA_TYPE)===-1?r1:E.PARSER_MEDIA_TYPE,He=Qi==="application/xhtml+xml"?$u:ts,Fe=ve(E,"ALLOWED_TAGS")&&xt(E.ALLOWED_TAGS)?q({},E.ALLOWED_TAGS,He):Vr,ge=ve(E,"ALLOWED_ATTR")&&xt(E.ALLOWED_ATTR)?q({},E.ALLOWED_ATTR,He):kn,wl=ve(E,"ALLOWED_NAMESPACES")&&xt(E.ALLOWED_NAMESPACES)?q({},E.ALLOWED_NAMESPACES,$u):ZQ,Nn=ve(E,"ADD_URI_SAFE_ATTR")&&xt(E.ADD_URI_SAFE_ATTR)?q(Dt(Ns),E.ADD_URI_SAFE_ATTR,He):Ns,pt=ve(E,"ADD_DATA_URI_TAGS")&&xt(E.ADD_DATA_URI_TAGS)?q(Dt($t),E.ADD_DATA_URI_TAGS,He):$t,Nt=ve(E,"FORBID_CONTENTS")&&xt(E.FORBID_CONTENTS)?q({},E.FORBID_CONTENTS,He):ho,Tr=ve(E,"FORBID_TAGS")&&xt(E.FORBID_TAGS)?q({},E.FORBID_TAGS,He):Dt({}),Wt=ve(E,"FORBID_ATTR")&&xt(E.FORBID_ATTR)?q({},E.FORBID_ATTR,He):Dt({}),zt=ve(E,"USE_PROFILES")?E.USE_PROFILES&&typeof E.USE_PROFILES=="object"?Dt(E.USE_PROFILES):E.USE_PROFILES:!1,_s=E.ALLOW_ARIA_ATTR!==!1,po=E.ALLOW_DATA_ATTR!==!1,Si=E.ALLOW_UNKNOWN_PROTOCOLS||!1,Ds=E.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Yr=E.SAFE_FOR_TEMPLATES||!1,ur=E.SAFE_FOR_XML!==!1,_r=E.WHOLE_DOCUMENT||!1,ie=E.RETURN_DOM||!1,Ae=E.RETURN_DOM_FRAGMENT||!1,ue=E.RETURN_TRUSTED_TYPE||!1,ee=E.FORCE_BODY||!1,kt=E.SANITIZE_DOM!==!1,mt=E.SANITIZE_NAMED_PROPS||!1,gt=E.KEEP_CONTENT!==!1,fr=E.IN_PLACE||!1,Jr=sT(E.ALLOWED_URI_REGEXP)?E.ALLOWED_URI_REGEXP:nI,Co=typeof E.NAMESPACE=="string"?E.NAMESPACE:Dr,bl=ve(E,"MATHML_TEXT_INTEGRATION_POINTS")&&E.MATHML_TEXT_INTEGRATION_POINTS&&typeof E.MATHML_TEXT_INTEGRATION_POINTS=="object"?Dt(E.MATHML_TEXT_INTEGRATION_POINTS):q({},["mi","mo","mn","ms","mtext"]),Bl=ve(E,"HTML_INTEGRATION_POINTS")&&E.HTML_INTEGRATION_POINTS&&typeof E.HTML_INTEGRATION_POINTS=="object"?Dt(E.HTML_INTEGRATION_POINTS):q({},["annotation-xml"]);let B=ve(E,"CUSTOM_ELEMENT_HANDLING")&&E.CUSTOM_ELEMENT_HANDLING&&typeof E.CUSTOM_ELEMENT_HANDLING=="object"?Dt(E.CUSTOM_ELEMENT_HANDLING):ci(null);if(pe=ci(null),ve(B,"tagNameCheck")&&Kd(B.tagNameCheck)&&(pe.tagNameCheck=B.tagNameCheck),ve(B,"attributeNameCheck")&&Kd(B.attributeNameCheck)&&(pe.attributeNameCheck=B.attributeNameCheck),ve(B,"allowCustomizedBuiltInElements")&&typeof B.allowCustomizedBuiltInElements=="boolean"&&(pe.allowCustomizedBuiltInElements=B.allowCustomizedBuiltInElements),Yr&&(po=!1),Ae&&(ie=!0),zt&&(Fe=q({},KE),ge=ci(null),zt.html===!0&&(q(Fe,$E),q(ge,XE)),zt.svg===!0&&(q(Fe,Ku),q(ge,ef),q(ge,Cc)),zt.svgFilters===!0&&(q(Fe,Xu),q(ge,ef),q(ge,Cc)),zt.mathMl===!0&&(q(Fe,Zu),q(ge,ZE),q(ge,Cc))),vt.tagCheck=null,vt.attributeCheck=null,ve(E,"ADD_TAGS")&&(typeof E.ADD_TAGS=="function"?vt.tagCheck=E.ADD_TAGS:xt(E.ADD_TAGS)&&(Fe===Vr&&(Fe=Dt(Fe)),q(Fe,E.ADD_TAGS,He))),ve(E,"ADD_ATTR")&&(typeof E.ADD_ATTR=="function"?vt.attributeCheck=E.ADD_ATTR:xt(E.ADD_ATTR)&&(ge===kn&&(ge=Dt(ge)),q(ge,E.ADD_ATTR,He))),ve(E,"ADD_URI_SAFE_ATTR")&&xt(E.ADD_URI_SAFE_ATTR)&&q(Nn,E.ADD_URI_SAFE_ATTR,He),ve(E,"FORBID_CONTENTS")&&xt(E.FORBID_CONTENTS)&&(Nt===ho&&(Nt=Dt(Nt)),q(Nt,E.FORBID_CONTENTS,He)),ve(E,"ADD_FORBID_CONTENTS")&&xt(E.ADD_FORBID_CONTENTS)&&(Nt===ho&&(Nt=Dt(Nt)),q(Nt,E.ADD_FORBID_CONTENTS,He)),gt&&(Fe["#text"]=!0),_r&&q(Fe,["html","head","body"]),Fe.table&&(q(Fe,["tbody"]),delete Tr.tbody),E.TRUSTED_TYPES_POLICY){if(typeof E.TRUSTED_TYPES_POLICY.createHTML!="function")throw hc('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof E.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw hc('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');b=E.TRUSTED_TYPES_POLICY,w=b.createHTML("")}else b===void 0&&(b=CT(m,o)),b!==null&&typeof w=="string"&&(w=b.createHTML(""));wt&&wt(E),Eo=E},Xd=q({},[...Ku,...Xu,...aT]),Zd=q({},[...Zu,...cT]),o1=function(E){let B=y(E);(!B||!B.tagName)&&(B={namespaceURI:Co,tagName:"template"});let N=ts(E.tagName),fe=ts(B.tagName);return wl[E.namespaceURI]?E.namespaceURI===Ls?B.namespaceURI===Dr?N==="svg":B.namespaceURI===mn?N==="svg"&&(fe==="annotation-xml"||bl[fe]):!!Xd[N]:E.namespaceURI===mn?B.namespaceURI===Dr?N==="math":B.namespaceURI===Ls?N==="math"&&Bl[fe]:!!Zd[N]:E.namespaceURI===Dr?B.namespaceURI===Ls&&!Bl[fe]||B.namespaceURI===mn&&!bl[fe]?!1:!Zd[N]&&(e1[N]||!Xd[N]):!!(Qi==="application/xhtml+xml"&&wl[E.namespaceURI]):!1},dr=function(E){Xi(t.removed,{element:E});try{y(E).removeChild(E)}catch{x(E)}},Ln=function(E,B){try{Xi(t.removed,{attribute:B.getAttributeNode(E),from:B})}catch{Xi(t.removed,{attribute:null,from:B})}if(B.removeAttribute(E),E==="is")if(ie||Ae)try{dr(B)}catch{}else try{B.setAttribute(E,"")}catch{}},em=function(E){let B=null,N=null;if(ee)E="<remove></remove>"+E;else{let Re=VE(E,/^[\r\n\t ]+/);N=Re&&Re[0]}Qi==="application/xhtml+xml"&&Co===Dr&&(E='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+E+"</body></html>");let fe=b?b.createHTML(E):E;if(Co===Dr)try{B=new d().parseFromString(fe,Qi)}catch{}if(!B||!B.documentElement){B=v.createDocument(Co,"template",null);try{B.documentElement.innerHTML=xl?w:fe}catch{}}let lt=B.body||B.documentElement;return E&&N&&lt.insertBefore(r.createTextNode(N),lt.childNodes[0]||null),Co===Dr?T.call(B,_r?"html":"body")[0]:_r?B.documentElement:lt},tm=function(E){return M.call(E.ownerDocument||E,E,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},Ql=function(E){return E instanceof u&&(typeof E.nodeName!="string"||typeof E.textContent!="string"||typeof E.removeChild!="function"||!(E.attributes instanceof A)||typeof E.removeAttribute!="function"||typeof E.setAttribute!="function"||typeof E.namespaceURI!="string"||typeof E.insertBefore!="function"||typeof E.hasChildNodes!="function")},Ml=function(E){return typeof a=="function"&&E instanceof a};function Wr(O,E,B){Ki(O,N=>{N.call(t,E,B,Eo)})}let rm=function(E){let B=null;if(Wr(Q.beforeSanitizeElements,E,null),Ql(E))return dr(E),!0;let N=He(E.nodeName);if(Wr(Q.uponSanitizeElement,E,{tagName:N,allowedTags:Fe}),ur&&E.hasChildNodes()&&!Ml(E.firstElementChild)&&at(/<[/\w!]/g,E.innerHTML)&&at(/<[/\w!]/g,E.textContent)||ur&&E.namespaceURI===Dr&&N==="style"&&Ml(E.firstElementChild)||E.nodeType===es.progressingInstruction||ur&&E.nodeType===es.comment&&at(/<[/\w]/g,E.data))return dr(E),!0;if(Tr[N]||!(vt.tagCheck instanceof Function&&vt.tagCheck(N))&&!Fe[N]){if(!Tr[N]&&om(N)&&(pe.tagNameCheck instanceof RegExp&&at(pe.tagNameCheck,N)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(N)))return!1;if(gt&&!Nt[N]){let fe=y(E)||E.parentNode,lt=h(E)||E.childNodes;if(lt&&fe){let Re=lt.length;for(let Tt=Re-1;Tt>=0;--Tt){let Kt=C(lt[Tt],!0);fe.insertBefore(Kt,I(E))}}}return dr(E),!0}return E instanceof c&&!o1(E)||(N==="noscript"||N==="noembed"||N==="noframes")&&at(/<\/no(script|embed|frames)/i,E.innerHTML)?(dr(E),!0):(Yr&&E.nodeType===es.text&&(B=E.textContent,Ki([D,H,G],fe=>{B=ai(B,fe," ")}),E.textContent!==B&&(Xi(t.removed,{element:E.cloneNode()}),E.textContent=B)),Wr(Q.afterSanitizeElements,E,null),!1)},nm=function(E,B,N){if(Wt[B]||kt&&(B==="id"||B==="name")&&(N in r||N in n1))return!1;let fe=ge[B]||vt.attributeCheck instanceof Function&&vt.attributeCheck(B,E);if(!(po&&!Wt[B]&&at(xe,B))){if(!(_s&&at(vr,B))){if(!fe||Wt[B]){if(!(om(E)&&(pe.tagNameCheck instanceof RegExp&&at(pe.tagNameCheck,E)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(E))&&(pe.attributeNameCheck instanceof RegExp&&at(pe.attributeNameCheck,B)||pe.attributeNameCheck instanceof Function&&pe.attributeNameCheck(B,E))||B==="is"&&pe.allowCustomizedBuiltInElements&&(pe.tagNameCheck instanceof RegExp&&at(pe.tagNameCheck,N)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(N))))return!1}else if(!Nn[B]){if(!at(Jr,ai(N,dn,""))){if(!((B==="src"||B==="xlink:href"||B==="href")&&E!=="script"&&YE(N,"data:")===0&&pt[E])){if(!(Si&&!at(jr,ai(N,dn,"")))){if(N)return!1}}}}}}return!0},i1=q({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),om=function(E){return!i1[ts(E)]&&at(Ts,E)},im=function(E){Wr(Q.beforeSanitizeAttributes,E,null);let{attributes:B}=E;if(!B||Ql(E))return;let N={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge,forceKeepAttr:void 0},fe=B.length;for(;fe--;){let lt=B[fe],{name:Re,namespaceURI:Tt,value:Kt}=lt,mr=He(Re),vl=Kt,We=Re==="value"?vl:eT(vl);if(N.attrName=mr,N.attrValue=We,N.keepAttr=!0,N.forceKeepAttr=void 0,Wr(Q.uponSanitizeAttribute,E,N),We=N.attrValue,mt&&(mr==="id"||mr==="name")&&YE(We,Me)!==0&&(Ln(Re,E),We=Me+We),ur&&at(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,We)){Ln(Re,E);continue}if(mr==="attributename"&&VE(We,"href")){Ln(Re,E);continue}if(N.forceKeepAttr)continue;if(!N.keepAttr){Ln(Re,E);continue}if(!Ds&&at(/\/>/i,We)){Ln(Re,E);continue}Yr&&Ki([D,H,G],cm=>{We=ai(We,cm," ")});let am=He(E.nodeName);if(!nm(am,mr,We)){Ln(Re,E);continue}if(b&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Tt)switch(m.getAttributeType(am,mr)){case"TrustedHTML":{We=b.createHTML(We);break}case"TrustedScriptURL":{We=b.createScriptURL(We);break}}if(We!==vl)try{Tt?E.setAttributeNS(Tt,Re,We):E.setAttribute(Re,We),Ql(E)?dr(E):JE(t.removed)}catch{Ln(Re,E)}}Wr(Q.afterSanitizeAttributes,E,null)},sm=function(E){let B=null,N=tm(E);for(Wr(Q.beforeSanitizeShadowDOM,E,null);B=N.nextNode();)Wr(Q.uponSanitizeShadowNode,B,null),rm(B),im(B),B.content instanceof i&&sm(B.content);Wr(Q.afterSanitizeShadowDOM,E,null)};return t.sanitize=function(O){let E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},B=null,N=null,fe=null,lt=null;if(xl=!O,xl&&(O="<!-->"),typeof O!="string"&&!Ml(O)&&(O=iT(O),typeof O!="string"))throw hc("dirty is not a string, aborting");if(!t.isSupported)return O;if(ks||Sl(E),t.removed=[],typeof O=="string"&&(fr=!1),fr){let Kt=O.nodeName;if(typeof Kt=="string"){let mr=He(Kt);if(!Fe[mr]||Tr[mr])throw hc("root node is forbidden and cannot be sanitized in-place")}}else if(O instanceof a)B=em("<!---->"),N=B.ownerDocument.importNode(O,!0),N.nodeType===es.element&&N.nodeName==="BODY"||N.nodeName==="HTML"?B=N:B.appendChild(N);else{if(!ie&&!Yr&&!_r&&O.indexOf("<")===-1)return b&&ue?b.createHTML(O):O;if(B=em(O),!B)return ie?null:ue?w:""}B&&ee&&dr(B.firstChild);let Re=tm(fr?O:B);for(;fe=Re.nextNode();)rm(fe),im(fe),fe.content instanceof i&&sm(fe.content);if(fr)return O;if(ie){if(Yr){B.normalize();let Kt=B.innerHTML;Ki([D,H,G],mr=>{Kt=ai(Kt,mr," ")}),B.innerHTML=Kt}if(Ae)for(lt=R.call(B.ownerDocument);B.firstChild;)lt.appendChild(B.firstChild);else lt=B;return(ge.shadowroot||ge.shadowrootmode)&&(lt=V.call(n,lt,!0)),lt}let Tt=_r?B.outerHTML:B.innerHTML;return _r&&Fe["!doctype"]&&B.ownerDocument&&B.ownerDocument.doctype&&B.ownerDocument.doctype.name&&at(oI,B.ownerDocument.doctype.name)&&(Tt="<!DOCTYPE "+B.ownerDocument.doctype.name+`>
27
+ `+Tt),Yr&&Ki([D,H,G],Kt=>{Tt=ai(Tt,Kt," ")}),b&&ue?b.createHTML(Tt):Tt},t.setConfig=function(){let O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Sl(O),ks=!0},t.clearConfig=function(){Eo=null,ks=!1},t.isValidAttribute=function(O,E,B){Eo||Sl({});let N=He(O),fe=He(E);return nm(N,fe,B)},t.addHook=function(O,E){typeof E=="function"&&Xi(Q[O],E)},t.removeHook=function(O,E){if(E!==void 0){let B=Xv(Q[O],E);return B===-1?void 0:Zv(Q[O],B,1)[0]}return JE(Q[O])},t.removeHooks=function(O){Q[O]=[]},t.removeAllHooks=function(){Q=tI()},t}var rI,jE,zv,$v,Kv,wt,cr,ci,tf,rf,Ki,Xv,JE,Xi,Zv,xt,ts,$u,VE,ai,YE,eT,tT,rT,WE,zE,ve,Zi,at,hc,$E,Ku,Xu,aT,Zu,cT,KE,XE,ef,ZE,Cc,lT,AT,uT,fT,dT,nI,mT,gT,oI,pT,eI,es,hT,CT,tI,sI,aI=p(()=>{({entries:rI,setPrototypeOf:jE,isFrozen:zv,getPrototypeOf:$v,getOwnPropertyDescriptor:Kv}=Object),{freeze:wt,seal:cr,create:ci}=Object,{apply:tf,construct:rf}=typeof Reflect<"u"&&Reflect;wt||(wt=function(t){return t});cr||(cr=function(t){return t});tf||(tf=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});rf||(rf=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});Ki=Ge(Array.prototype.forEach),Xv=Ge(Array.prototype.lastIndexOf),JE=Ge(Array.prototype.pop),Xi=Ge(Array.prototype.push),Zv=Ge(Array.prototype.splice),xt=Array.isArray,ts=Ge(String.prototype.toLowerCase),$u=Ge(String.prototype.toString),VE=Ge(String.prototype.match),ai=Ge(String.prototype.replace),YE=Ge(String.prototype.indexOf),eT=Ge(String.prototype.trim),tT=Ge(Number.prototype.toString),rT=Ge(Boolean.prototype.toString),WE=typeof BigInt>"u"?null:Ge(BigInt.prototype.toString),zE=typeof Symbol>"u"?null:Ge(Symbol.prototype.toString),ve=Ge(Object.prototype.hasOwnProperty),Zi=Ge(Object.prototype.toString),at=Ge(RegExp.prototype.test),hc=nT(TypeError);$E=wt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Ku=wt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Xu=wt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),aT=wt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Zu=wt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),cT=wt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),KE=wt(["#text"]),XE=wt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),ef=wt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ZE=wt(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Cc=wt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),lT=cr(/\{\{[\w\W]*|[\w\W]*\}\}/gm),AT=cr(/<%[\w\W]*|[\w\W]*%>/gm),uT=cr(/\$\{[\w\W]*/gm),fT=cr(/^data-[\-\w.\u00B7-\uFFFF]+$/),dT=cr(/^aria-[\-\w]+$/),nI=cr(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),mT=cr(/^(?:\w+script|data):/i),gT=cr(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),oI=cr(/^html$/i),pT=cr(/^[a-z][.\w]*(-[.\w]+)+$/i),eI=Object.freeze({__proto__:null,ARIA_ATTR:dT,ATTR_WHITESPACE:gT,CUSTOM_ELEMENT:pT,DATA_ATTR:fT,DOCTYPE_NAME:oI,ERB_EXPR:AT,IS_ALLOWED_URI:nI,IS_SCRIPT_OR_DATA:mT,MUSTACHE_EXPR:lT,TMPLIT_EXPR:uT}),es={element:1,text:3,progressingInstruction:7,comment:8,document:9},hT=function(){return typeof window>"u"?null:window},CT=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},tI=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};sI=iI()});var AI={};ze(AI,{default:()=>lI});function lI({value:e,className:t}){let r=(0,Ec.useRef)(null);return(0,Ec.useLayoutEffect)(()=>{let n=r.current;if(n)for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")},[e]),(0,cI.jsx)("span",{ref:r,className:t,dangerouslySetInnerHTML:{__html:sI.sanitize(e)}})}var cI,Ec,uI=p(()=>{cI=f(F(),1),Ec=f(S(),1);aI()});function xT(e){return yT.test(e)}function wT(e){return e.includes("<")||e.includes("://")}function bT({value:e,className:t}){let r=(0,xn.useRef)(null);return(0,xn.useLayoutEffect)(()=>{let n=r.current;if(n)try{n.setHTML(e);for(let o of n.querySelectorAll("a"))o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank")}catch(o){console.error(o)}},[e]),(0,Kn.jsx)("span",{ref:r,className:t})}function wn({html:e,className:t}){let r=`${e}`;if(!wT(r))return(0,Kn.jsx)("span",{className:t,children:r});let n=Nh(r),o=xT(n)?n:(0,fI.default)(n);return typeof Element<"u"&&Element.prototype.setHTML?(0,Kn.jsx)(bT,{value:o,className:t}):(0,Kn.jsx)(xn.Suspense,{fallback:(0,Kn.jsx)("span",{className:t}),children:(0,Kn.jsx)(IT,{value:o,className:t})})}var Kn,xn,fI,ET,IT,yT,nf=p(()=>{Kn=f(F(),1),xn=f(S(),1),fI=f(qE(),1);In();ET=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],IT=(0,xn.lazy)(()=>Promise.resolve().then(()=>(uI(),AI))),yT=new RegExp(ET.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function BT({error:e}){let{classes:t}=gI();return(0,Ut.jsx)("div",{className:t.errorBox,children:(0,Ut.jsx)(GE,{error:e})})}var Ut,dI,ft,mI,gI,ST,pI,hI=p(()=>{Ut=f(F(),1),dI=f(S(),1);au();ft=f(L(),1),mI=f(P(),1);nu();HE();nf();yt();gI=te()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));ST=(0,mI.observer)(function(t){let{classes:r}=gI(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,ft.useTheme)();return(0,Ut.jsx)(ft.Dialog,{...o,children:(0,Ut.jsxs)(ft.ScopedCssBaseline,{children:[(0,dI.isValidElement)(s)?s:(0,Ut.jsxs)(ft.DialogTitle,{children:[n||(0,Ut.jsx)(wn,{html:i||""}),c?(0,Ut.jsx)(ft.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Ut.jsx)(Ra,{})}):null]}),(0,Ut.jsx)(ft.Divider,{}),(0,Ut.jsx)(Po,{FallbackComponent:BT,children:(0,Ut.jsx)(ft.ThemeProvider,{theme:(0,ft.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),pI=ST});function of({onClose:e,helpText:t,label:r}){return(0,Xn.jsx)(pI,{open:!0,onClose:e,title:"Help",titleNode:r?(0,Xn.jsxs)(Xn.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,Xn.jsx)(CI.DialogContent,{children:t})})}var Xn,CI,EI=p(()=>{Xn=f(F(),1),CI=f(L(),1);hI()});function sf({helpText:e,label:t}){let[r,n]=(0,Ic.useState)(!1);return(0,an.jsxs)(an.Fragment,{children:[(0,an.jsx)(II.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,an.jsx)(b0,{fontSize:"small"})}),r?(0,an.jsxs)(Ic.Suspense,{fallback:null,children:[(0,an.jsx)(of,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var an,Ic,II,yI=p(()=>{an=f(F(),1),Ic=f(S(),1);B0();II=f(L(),1);EI()});var xI,wI,bI,QT,BI,SI=p(()=>{xI=f(F(),1),wI=f(S(),1),bI=f(L(),1),QT=wI.forwardRef(function(t,r){return(0,xI.jsx)(bI.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),BI=QT});var QI,MI,vI=p(()=>{"use client";W();QI=f(F(),1),MI=(0,_.createSvgIcon)((0,QI.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var TI,_I,DI=p(()=>{"use client";W();TI=f(F(),1),_I=(0,_.createSvgIcon)((0,TI.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var kI,NI,LI=p(()=>{"use client";W();kI=f(F(),1),NI=(0,_.createSvgIcon)((0,kI.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var FI,RI,PI=p(()=>{"use client";W();FI=f(F(),1),RI=(0,_.createSvgIcon)((0,FI.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var OI,GI,HI=p(()=>{"use client";W();OI=f(F(),1),GI=(0,_.createSvgIcon)((0,OI.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function UI(e){let{classes:t}=MT(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,bn.jsx)(MI,{color:"action"});break}case"checkbox":{n?i=(0,bn.jsx)(_I,{color:o?"inherit":void 0}):i=(0,bn.jsx)(NI,{color:"action"});break}case"radio":{n?i=(0,bn.jsx)(RI,{color:o?"inherit":void 0}):i=(0,bn.jsx)(GI,{color:"action"});break}}return(0,bn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var bn,yc,MT,qI=p(()=>{bn=f(F(),1);vI();DI();LI();PI();HI();yc=f(L(),1);yt();MT=te()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function jI(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function vT({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,af.useState)(null),d=jI(e);return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)(bt.MenuItem,{ref:u,"data-testid":d?`cascading-submenu-${d}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,ae.jsx)(bt.ListItemIcon,{children:(0,ae.jsx)(t,{})}):null,(0,ae.jsx)(bt.ListItemText,{primary:e,inset:r}),(0,ae.jsx)(y0,{})]}),(0,ae.jsx)(BI,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,ae.jsx)(JI,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function JI({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,af.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,ae.jsx)(ae.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,ae.jsx)(vT,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,ae.jsx)(bt.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,ae.jsx)(bt.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let d=A,m=d.helpText,g=d.type==="checkbox"||d.type==="radio",C=jI(d.label);return(0,ae.jsxs)(bt.MenuItem,{"data-testid":C?`cascading-menuitem-${C}`:void 0,disabled:!!d.disabled,onClick:x=>{t&&n(),e(x,d.onClick)},onMouseOver:s,children:[d.icon?(0,ae.jsx)(bt.ListItemIcon,{children:(0,ae.jsx)(d.icon,{})}):null,(0,ae.jsx)(bt.ListItemText,{primary:d.label,secondary:d.subLabel,inset:a&&!d.icon}),(0,ae.jsx)("div",{style:{flexGrow:1,minWidth:10}}),g?(0,ae.jsx)(UI,{type:d.type,checked:d.checked,disabled:d.disabled}):null,m?(0,ae.jsx)(sf,{helpText:m,label:d.label}):g&&c?(0,ae.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${d.label}-${u}`)})})}function cf({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:d}){let m=Array.isArray(r)?r:r();return(0,ae.jsx)(bt.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:d,children:(0,ae.jsx)(JI,{menuItems:m,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var ae,af,bt,VI=p(()=>{ae=f(F(),1),af=f(S(),1);x0();bt=f(L(),1);yI();SI();qI()});function TT({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=YI.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[d,m]=(0,xc.useState)(null),g=!!d;(0,xc.useEffect)(()=>{i?.(g)},[g,i]);let C=o??(Array.isArray(t)&&t.length===0);return(0,Zn.jsxs)(Zn.Fragment,{children:[(0,Zn.jsx)(s,{onClick:x=>{n&&x.stopPropagation(),m(x.currentTarget),a?.(x)},...u,disabled:C,children:e}),g?(0,Zn.jsx)(cf,{open:g,onClose:()=>{m(null)},anchorEl:d,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(x,I)=>{I()}}):null]})}var Zn,xc,YI,Rr,Ai=p(()=>{Zn=f(F(),1),xc=f(S(),1),YI=f(L(),1);VI();Rr=TT});var WI,zI,$I=p(()=>{"use client";W();WI=f(F(),1),zI=(0,_.createSvgIcon)((0,WI.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var _T,ui,KI=p(()=>{_T={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},ui=_T});var DT,rs,XI=p(()=>{DT={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},rs=DT});var kT,ns,ZI=p(()=>{kT={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},ns=kT});var NT,os,ey=p(()=>{NT={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},os=NT});var LT,Bn,ty=p(()=>{LT={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Bn=LT});var lf=p(()=>{KI();XI();ZI();ey();ty()});var FT,cn,et,lr,ly,ry,Af,RT,wc,Ay,uy,ny,oy,iy,is,PT,OT,GT,HT,df,sy,UT,uf,ff,ay,mf,Bt,cy,bc,Bc=p(()=>{FT={grad:.9,turn:360,rad:360/(2*Math.PI)},cn=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},et=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},lr=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},ly=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},ry=function(e){return{r:lr(e.r,0,255),g:lr(e.g,0,255),b:lr(e.b,0,255),a:lr(e.a)}},Af=function(e){return{r:et(e.r),g:et(e.g),b:et(e.b),a:et(e.a,3)}},RT=/^#([0-9a-f]{3,8})$/i,wc=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Ay=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},uy=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},ny=function(e){return{h:ly(e.h),s:lr(e.s,0,100),l:lr(e.l,0,100),a:lr(e.a)}},oy=function(e){return{h:et(e.h),s:et(e.s),l:et(e.l),a:et(e.a,3)}},iy=function(e){return uy((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},is=function(e){return{h:(t=Ay(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},PT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,OT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,GT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,HT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,df={string:[[function(e){var t=RT.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?et(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?et(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=GT.exec(e)||HT.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:ry({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=PT.exec(e)||OT.exec(e);if(!t)return null;var r,n,o=ny({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(FT[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return iy(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return cn(t)&&cn(r)&&cn(n)?ry({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!cn(t)||!cn(r)||!cn(n))return null;var s=ny({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return iy(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!cn(t)||!cn(r)||!cn(n))return null;var s=(function(a){return{h:ly(a.h),s:lr(a.s,0,100),v:lr(a.v,0,100),a:lr(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return uy(s)},"hsv"]]},sy=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},UT=function(e){return typeof e=="string"?sy(e.trim(),df.string):typeof e=="object"&&e!==null?sy(e,df.object):[null,void 0]},uf=function(e,t){var r=is(e);return{h:r.h,s:lr(r.s+100*t,0,100),l:r.l,a:r.a}},ff=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},ay=function(e,t){var r=is(e);return{h:r.h,s:r.s,l:lr(r.l+100*t,0,100),a:r.a}},mf=(function(){function e(t){this.parsed=UT(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return et(ff(this.rgba),2)},e.prototype.isDark=function(){return ff(this.rgba)<.5},e.prototype.isLight=function(){return ff(this.rgba)>=.5},e.prototype.toHex=function(){return t=Af(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?wc(et(255*i)):"","#"+wc(r)+wc(n)+wc(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return Af(this.rgba)},e.prototype.toRgbString=function(){return t=Af(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return oy(is(this.rgba))},e.prototype.toHslString=function(){return t=oy(is(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=Ay(this.rgba),{h:et(t.h),s:et(t.s),v:et(t.v),a:et(t.a,3)};var t},e.prototype.invert=function(){return Bt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),Bt(uf(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),Bt(uf(this.rgba,-t))},e.prototype.grayscale=function(){return Bt(uf(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),Bt(ay(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),Bt(ay(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?Bt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):et(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=is(this.rgba);return typeof t=="number"?Bt({h:t,s:r.s,l:r.l,a:r.a}):et(r.h)},e.prototype.isEqual=function(t){return this.toHex()===Bt(t).toHex()},e})(),Bt=function(e){return e instanceof mf?e:new mf(e)},cy=[],bc=function(e){e.forEach(function(t){cy.indexOf(t)<0&&(t(mf,df),cy.push(t))})}});function Sc(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,d="black";if(!i.length)for(var m in r)i[m]=new e(r[m]).toRgb();for(var g in r){var C=(a=A,c=i[g],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));C<u&&(u=C,d=g)}return d}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var gf=p(()=>{});function Qc(e,t){return Object.fromEntries(Object.entries(e).map(t))}function eo(e,t){return Qc(e,([r,n])=>[r,t.palette.getContrastText(Bt(n).toHex())])}function pf(e,t){if(e.length===0)return t;let r=[],n=0;for(let o of e)o>n&&r.push(t.slice(n,o)),n=o+1;return n<t.length&&r.push(t.slice(n)),r.join("")}function hf(e){return e.end-e.start}function ss(e){return e==="-"||e==="."}var Sn=p(()=>{Bc();gf();bc([Sc])});var qT,fi,Mc=p(()=>{lf();Bc();gf();Sn();bc([Sc]);qT={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:ns[500],C:rs[500],G:os[500],T:ui[500],U:ui[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},fi=Qc(qT,([e,t])=>[e,Qc(t,([r,n])=>[r,Bt(n).toHex()])])});var Cf,fy,jT,dy,my=p(()=>{Cf=f(S(),1);Ai();$I();fy=f(P(),1);Mc();jT=(0,fy.observer)(function({model:e}){let{colorSchemeName:t}=e;return Cf.default.createElement(Rr,{closeAfterItemClick:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:Object.keys(fi).map(r=>({label:r,type:"radio",checked:t===r,onClick:()=>{e.setColorSchemeName(r)}}))},Cf.default.createElement(zI,null))}),dy=jT});var gy,py,hy=p(()=>{"use client";W();gy=f(F(),1),py=(0,_.createSvgIcon)((0,gy.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var Cy,as,Ef=p(()=>{"use client";W();Cy=f(F(),1),as=(0,_.createSvgIcon)((0,Cy.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var If,Ey,Iy=p(()=>{"use client";W();If=f(F(),1),Ey=(0,_.createSvgIcon)([(0,If.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,If.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var yy,xy,wy=p(()=>{"use client";W();yy=f(F(),1),xy=(0,_.createSvgIcon)((0,yy.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var by,By,Sy=p(()=>{"use client";W();by=f(F(),1),By=(0,_.createSvgIcon)((0,by.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var Qy,My,vy=p(()=>{"use client";W();Qy=f(F(),1),My=(0,_.createSvgIcon)((0,Qy.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var Ty,_y,Dy=p(()=>{"use client";W();Ty=f(F(),1),_y=(0,_.createSvgIcon)((0,Ty.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});function ky(e){return yf[Math.min(e,yf.length-1)]}var yf,xf,wf=p(()=>{yf=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];xf=yf});var Ly={};ze(Ly,{default:()=>WT});var de,Ny,cs,vc,JT,VT,YT,WT,Fy=p(()=>{de=f(S(),1),Ny=f(se(),1),cs=f(L(),1),vc=f(P(),1);wf();JT=(0,vc.observer)(function({model:e}){let{featureFilters:t}=e;return de.default.createElement("div",null,de.default.createElement(cs.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),de.default.createElement(cs.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),VT=(0,vc.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=ky(n.length-1);return de.default.createElement(de.default.Fragment,null,de.default.createElement(JT,{model:e}),de.default.createElement("table",null,de.default.createElement("thead",null,de.default.createElement("tr",null,de.default.createElement("td",null),de.default.createElement("td",null,"accession"),de.default.createElement("td",null,"name"),de.default.createElement("td",null,"description"))),de.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>de.default.createElement("tr",{key:i},de.default.createElement("td",null,de.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),de.default.createElement("td",null,i),de.default.createElement("td",null,s),de.default.createElement("td",null,a),de.default.createElement("td",null,de.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),YT=(0,vc.observer)(function({onClose:e,model:t}){return de.default.createElement(Ny.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},de.default.createElement(cs.DialogContent,null,de.default.createElement(VT,{model:t})))}),WT=YT});async function Ry(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function bf(e,t){return(await Ry(e,t)).text()}async function Tc(e,t){return(await Ry(e,t)).json()}function Py(e){return new Promise(t=>setTimeout(t,e))}var Bf=p(()=>{});var Hy={};ze(Hy,{default:()=>$T});var Ce,Oy,Sf,Be,Gy,zT,$T,Uy=p(()=>{Ce=f(S(),1),Oy=f(se(),1),Sf=f(ne(),1),Be=f(L(),1),Gy=f(P(),1);Bf();zT=(0,Gy.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Ce.useState)(),[o,i]=(0,Ce.useState)("file"),[s,a]=(0,Ce.useState)("");return Ce.default.createElement(Oy.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},Ce.default.createElement(Be.DialogContent,null,Ce.default.createElement("div",null,Ce.default.createElement(Be.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),Ce.default.createElement("div",{style:{display:"flex",margin:30}},Ce.default.createElement(Be.FormControl,{component:"fieldset"},Ce.default.createElement(Be.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},Ce.default.createElement(Be.FormControlLabel,{value:"url",control:Ce.default.createElement(Be.Radio,null),label:"URL"}),Ce.default.createElement(Be.FormControlLabel,{value:"file",control:Ce.default.createElement(Be.Radio,null),label:"File"}))),o==="url"?Ce.default.createElement("div",null,Ce.default.createElement(Be.Typography,null,"Open a InterProScan JSON file remote URL"),Ce.default.createElement(Be.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?Ce.default.createElement("div",{style:{paddingTop:20}},Ce.default.createElement(Be.Typography,null,"Open a InterProScan JSON file file from your local drive"),Ce.default.createElement(Be.Button,{variant:"outlined",component:"label"},"Choose File",Ce.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),Ce.default.createElement(Be.DialogActions,null,Ce.default.createElement(Be.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await Tc(s);t.setInterProAnnotations(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),t.setShowDomains(!0),(0,Sf.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,Sf.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),$T=zT});async function KT({seq:e,onProgress:t,onJobId:r,programs:n,model:o}){let i=await bf(`${Mf}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")})});r?.(i),await ZT({jobId:i,onProgress:t}),await e_({jobId:i,model:o})}function XT(e){return Tc(`${Mf}/iprscan5/result/${e}/json`)}async function ZT({onProgress:e,jobId:t}){let r=`${Mf}/iprscan5/status/${t}`;try{for(;;){for(let o=0;o<10;o++)await Py(1e3),e({msg:`Checking status ${10-o}`,url:r});let n=await bf(r);if(n.includes("FINISHED"))break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}finally{e()}}async function qy({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i}){try{if(o({msg:`Launching ${e} MSA`}),e==="interproscan")await KT({seq:t,onJobId:n,onProgress:o,programs:r,model:i});else throw new Error("unknown algorithm")}finally{o()}}async function e_({jobId:e,model:t}){try{t.setStatus({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let r=await XT(e);t.setInterProAnnotations(Object.fromEntries(r.results.map(n=>[n.xref[0].id,n]))),t.setShowDomains(!0),(0,Qf.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(r){console.error(r),(0,Qf.getSession)(t).notifyError(`${r}`,r)}finally{t.setStatus()}}var Qf,Mf,jy=p(()=>{Qf=f(ne(),1);Bf();Mf="https://www.ebi.ac.uk/Tools/services/rest"});var Wy={};ze(Wy,{default:()=>r_});var Se,Jy,Vy,qt,Yy,t_,r_,zy=p(()=>{Se=f(S(),1),Jy=f(se(),1),Vy=f(ne(),1),qt=f(L(),1),Yy=f(P(),1);jy();t_=(0,Yy.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Se.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SuperFamily",category:"Structural domains",checked:!0},{name:"Panther",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3d",category:"Structural domains",checked:!0},{name:"HAMAP",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositeProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"PrositePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"PfamA",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Se.useState)(!1);return Se.default.createElement(Jy.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Se.default.createElement(qt.DialogContent,null,Se.default.createElement(qt.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Se.default.createElement(qt.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Se.default.createElement("div",null,Se.default.createElement(qt.Typography,null,"Select algorithms for InterProScan to run"),Se.default.createElement("div",null,Se.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Se.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Se.default.createElement("table",null,Se.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Se.default.createElement("tr",{key:a},Se.default.createElement("td",null,Se.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Se.default.createElement("td",null,a),Se.default.createElement("td",null,l)))))):null),Se.default.createElement(qt.DialogActions,null,Se.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Se.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let{rows:a}=t;if(a.length>140)throw new Error("Too many sequences, please run InterProScan offline");await qy({algorithm:"interproscan",programs:o,seq:a.map(c=>[c[0],c[1].replaceAll("-","")]).filter(c=>!!c[1]).map(c=>`>${c[0]}
28
28
  ${c[1]}`).join(`
29
- `),onProgress:c=>{t.setStatus(c)},model:t})}catch(a){console.error(a),(0,Mx.getSession)(t).notifyError(`${a}`,a)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),QT=ST});function Dx({model:e}){let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o}=e;return[{label:"Open domains...",icon:ns,onClick:()=>{e.queueDialog(i=>[vT,{handleClose:i,model:e}])}},{label:"Query InterProScan for domains...",icon:ax,onClick:()=>{e.queueDialog(i=>[TT,{handleClose:i,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:dx,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:Ax,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:ox,disabled:o,onClick:()=>{e.queueDialog(i=>[MT,{onClose:i,model:e}])}}]}var Qc,MT,vT,TT,kx=p(()=>{Qc=f(B(),1);ix();lf();cx();ux();mx();MT=(0,Qc.lazy)(()=>Promise.resolve().then(()=>(Cx(),hx))),vT=(0,Qc.lazy)(()=>Promise.resolve().then(()=>(Bx(),wx))),TT=(0,Qc.lazy)(()=>Promise.resolve().then(()=>(_x(),Tx)))});var Rx=H((s8,Fx)=>{"use strict";var _T=function(t){return DT(t)&&!kT(t)};function DT(e){return!!e&&typeof e=="object"}function kT(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||FT(e)}var NT=typeof Symbol=="function"&&Symbol.for,LT=NT?Symbol.for("react.element"):60103;function FT(e){return e.$$typeof===LT}function RT(e){return Array.isArray(e)?[]:{}}function is(e,t){return t.clone!==!1&&t.isMergeableObject(e)?ci(RT(e),e,t):e}function PT(e,t,r){return e.concat(t).map(function(n){return is(n,r)})}function OT(e,t){if(!t.customMerge)return ci;var r=t.customMerge(e);return typeof r=="function"?r:ci}function GT(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function Nx(e){return Object.keys(e).concat(GT(e))}function Lx(e,t){try{return t in e}catch{return!1}}function JT(e,t){return Lx(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function HT(e,t,r){var n={};return r.isMergeableObject(e)&&Nx(e).forEach(function(o){n[o]=is(e[o],r)}),Nx(t).forEach(function(o){JT(e,o)||(Lx(e,o)&&r.isMergeableObject(t[o])?n[o]=OT(o,r)(e[o],t[o],r):n[o]=is(t[o],r))}),n}function ci(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||PT,r.isMergeableObject=r.isMergeableObject||_T,r.cloneUnlessOtherwiseSpecified=is;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):HT(e,t,r):is(t,r)}ci.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return ci(n,o,r)},{})};var UT=ci;Fx.exports=UT});function Gx(){return{palette:{...Mc,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function o_(){return{...Gx(),name:"Default (from config)"}}function i_(){return{...Gx(),name:"Light (stock)"}}function s_(){return{name:"Dark (stock)",palette:{...Mc,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function a_(){return{name:"Dark (minimal)",palette:{...Mc,mode:"dark",primary:{main:yn[700]},secondary:{main:yn[800]},tertiary:be.palette.augmentColor({color:{main:yn[900]}})}}}function c_(){return{name:"Light (minimal)",palette:{...Mc,primary:{main:yn[900]},secondary:{main:yn[800]},tertiary:be.palette.augmentColor({color:{main:yn[900]}})}}}var Ox,qT,be,YT,jT,VT,Px,c8,WT,zT,$T,KT,XT,ZT,e_,t_,r_,n_,Mc,l8,Jx=p(()=>{Ox=f(k(),1);Xu();qT=f(Rx(),1),be=(0,Ox.createTheme)(),YT=be.palette.augmentColor({color:{main:"#0D233F"}}),jT=be.palette.augmentColor({color:{main:"#721E63"}}),VT=be.palette.augmentColor({color:{main:"#135560"}}),Px=be.palette.augmentColor({color:{main:"#FFB11D"}}),c8=be.palette.augmentColor({color:{main:"#aaa"}}),WT={A:be.palette.augmentColor({color:Zi}),C:be.palette.augmentColor({color:Xi}),G:be.palette.augmentColor({color:es}),T:be.palette.augmentColor({color:si})},zT=[null,be.palette.augmentColor({color:{main:"#FF8080"}}),be.palette.augmentColor({color:{main:"#80FF80"}}),be.palette.augmentColor({color:{main:"#8080FF"}}),be.palette.augmentColor({color:{main:"#8080FF"}}),be.palette.augmentColor({color:{main:"#80FF80"}}),be.palette.augmentColor({color:{main:"#FF8080"}})],$T=[null,be.palette.augmentColor({color:{main:"#8f8f8f"}}),be.palette.augmentColor({color:{main:"#adadad"}}),be.palette.augmentColor({color:{main:"#d8d8d8"}}),be.palette.augmentColor({color:{main:"#d8d8d8"}}),be.palette.augmentColor({color:{main:"#adadad"}}),be.palette.augmentColor({color:{main:"#8f8f8f"}})],KT="#e22",XT="#3e3",ZT="#800080",e_="#808080",t_="#f00",r_="#00f",n_="#97b8c9",Mc={primary:YT,secondary:jT,tertiary:VT,quaternary:Px,highlight:Px,stopCodon:KT,startCodon:XT,insertion:ZT,deletion:e_,softclip:r_,hardclip:t_,bases:WT,frames:$T,framesCDS:zT,skip:n_};l8={default:o_(),lightStock:i_(),lightMinimal:c_(),darkMinimal:a_(),darkStock:s_()}});var Hx=p(()=>{});var Ux=p(()=>{});var Ef=p(()=>{Jx();Vu();Hx();Ux()});function Bn({value:e}){let{classes:t}=l_(),r=/^https?:\/\//.exec(`${e}`);return(0,vc.jsx)("div",{className:t.fieldValue,children:(0,qx.isValidElement)(e)?e:r?(0,vc.jsx)(Yx.Link,{href:`${e}`,children:`${e}`}):(0,vc.jsx)(In,{html:er(e)?JSON.stringify(e):String(e)})})}var vc,qx,Yx,l_,Tc=p(()=>{vc=f(L(),1),qx=f(B(),1),Yx=f(k(),1);Ef();hn();Ct();l_=te()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function Nr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=A_(),i=[...n,t].join(".");return e?(0,_c.jsx)(jx.Tooltip,{title:e,placement:"left",children:(0,_c.jsx)("div",{className:rc(o.fieldDescription,o.fieldName),children:i})}):(0,_c.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var _c,jx,A_,ss=p(()=>{_c=f(L(),1),jx=f(k(),1);Ct();A_=te()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function xf({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=u_(),[s,a]=(0,Vx.useState)(!1),c=t.length>If,l=c&&!s?t.slice(0,If):t;return t.length===1?er(t[0])?(0,Bt.jsx)(Lr,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,Bt.jsxs)("div",{className:i.field,children:[(0,Bt.jsx)(Nr,{prefix:o,description:r,name:e}),(0,Bt.jsx)(Bn,{value:n?n(t[0],e):t[0]})]}):t.every(A=>er(A))?(0,Bt.jsx)(Bt.Fragment,{children:t.map((A,u)=>(0,Bt.jsx)(Lr,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,Bt.jsxs)("div",{className:i.field,children:[(0,Bt.jsx)(Nr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,Bt.jsx)("div",{className:i.fieldSubvalue,children:(0,Bt.jsx)(Bn,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,Bt.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${If} of ${t.length}. Show all...`}):null]})}var Bt,Vx,If,u_,Wx=p(()=>{Bt=f(L(),1),Vx=f(B(),1);Dc();Tc();ss();hn();Ct();If=100,u_=te()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var $x=H((v8,zx)=>{zx.exports=JBrowseExports["@mui/x-data-grid"]});function yf({children:e,style:t}){let{classes:r}=f_();return(0,Kx.jsx)("div",{className:r.flexContainer,style:t,children:e})}var Kx,f_,Xx=p(()=>{Kx=f(L(),1);Ct();f_=te()({flexContainer:{display:"flex",flexDirection:"column"}})});function wf({value:e,prefix:t,name:r}){let{classes:n}=d_(),[o,i]=(0,Zx.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,d])=>{let{id:m,...g}=d;return{id:u,identifier:m,...g}});for(let u of e)for(let d of Object.keys(u))a.add(d);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>xh(c.map(d=>d[u])));return a.size<s.length+5?(0,Cr.jsxs)("div",{className:n.margin,children:[(0,Cr.jsx)(Nr,{prefix:t,name:r}),(0,Cr.jsx)(li.FormControlLabel,{control:(0,Cr.jsx)(li.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,Cr.jsx)(li.Typography,{variant:"body2",children:"Show options"})}),(0,Cr.jsx)(yf,{children:(0,Cr.jsx)(ey.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,d)=>({field:u,width:A[d],renderCell:({value:m})=>(0,Cr.jsx)("div",{className:n.cell,children:(0,Cr.jsx)(In,{html:OA(m||"")})})}))})})]}):null}var Cr,Zx,li,ey,d_,ty=p(()=>{Cr=f(L(),1),Zx=f(B(),1),li=f(k(),1),ey=f($x(),1);ss();Xx();Ef();hn();Ct();d_=te()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function Bf({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=m_();return t!=null?(0,as.jsxs)("div",{className:s.field,children:[(0,as.jsx)(Nr,{prefix:n,description:r,name:e,width:o}),(0,as.jsx)(Bn,{value:i?i(t,e):t})]}):null}var as,m_,ry=p(()=>{as=f(L(),1);Tc();ss();Ct();m_=te()({field:{display:"flex",flexWrap:"wrap"}})});function bf({value:e,prefix:t,name:r}){let{classes:n}=g_(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,cs.jsxs)("div",{className:n.field,children:[(0,cs.jsx)(Nr,{prefix:t,name:r}),(0,cs.jsx)(Bn,{value:s})]})}var cs,g_,ny=p(()=>{cs=f(L(),1);Tc();ss();Ct();g_=te()({field:{display:"flex",flexWrap:"wrap"}})});function oy(e,t){return Math.ceil(GA(e.map(r=>RA([...t,r[0]].join("."),12))))+10}function iy(e,t={}){let r=t;for(let n of e)er(r)&&(r=r[n]);return typeof r=="string"?r:er(r)&&typeof r.Description=="string"?r.Description:void 0}var sy=p(()=>{hn()});function Lr(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...h_,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([m,g])=>g!=null&&!c.has(m)),d=oy(u,a);return(0,on.jsx)(on.Fragment,{children:u.map(([m,g])=>{let h=iy([...a,m],o);if(Array.isArray(g))return g.length>1&&g.every(I=>er(I))?(0,on.jsx)(wf,{name:m,prefix:a,value:g},m):(0,on.jsx)(xf,{name:m,value:g,formatter:i,description:h,prefix:a},m);if(er(g)){let{omitSingleLevel:I,...C}=e;return wa(g)?s?null:(0,on.jsx)(bf,{name:m,prefix:a,value:g},m):(0,on.jsx)(Lr,{...C,formatter:i,attributes:g,descriptions:o,prefix:[...a,m]},m)}else return(0,on.jsx)(Bf,{name:m,formatter:i,value:g,description:h,prefix:a,width:Math.min(d,p_)},m)})})}var on,p_,h_,Dc=p(()=>{on=f(L(),1);Wx();ty();ry();ny();sy();hn();p_=170,h_=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});function Zn({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=C_();return(0,Xn.jsxs)(bn.Accordion,{defaultExpanded:r,children:[(0,Xn.jsx)(bn.AccordionSummary,{expandIcon:(0,Xn.jsx)(la,{className:n.icon}),children:(0,Xn.jsx)(bn.Typography,{variant:"button",children:t})}),(0,Xn.jsx)(bn.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var Xn,bn,C_,Sf=p(()=>{Xn=f(L(),1);lA();bn=f(k(),1);Ct();C_=te()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function At({checked:e,label:t,disabled:r,onChange:n}){return kc.default.createElement("div",null,kc.default.createElement(Nc.FormControlLabel,{control:kc.default.createElement(Nc.Checkbox,{disabled:r,checked:e,onChange:n}),label:t}))}var kc,Nc,Lc=p(()=>{kc=f(B(),1),Nc=f(k(),1)});function ls({str:e}){let{classes:t}=E_(),[r,n]=(0,Er.useState)(!1),[o,i]=(0,Er.useState)(!1),[s,a]=(0,Er.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(A=>s?!0:!!A[1]).map(([A,u])=>`>${A}
29
+ `),onProgress:c=>{t.setStatus(c)},model:t})}catch(a){console.error(a),(0,Vy.getSession)(t).notifyError(`${a}`,a)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),r_=t_});function $y({model:e}){let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o}=e;return[{label:"Open domains...",icon:as,onClick:()=>{e.queueDialog(i=>[o_,{handleClose:i,model:e}])}},{label:"Query InterProScan for domains...",icon:By,onClick:()=>{e.queueDialog(i=>[i_,{handleClose:i,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:_y,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:My,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:xy,disabled:o,onClick:()=>{e.queueDialog(i=>[n_,{onClose:i,model:e}])}}]}var _c,n_,o_,i_,Ky=p(()=>{_c=f(S(),1);wy();Ef();Sy();vy();Dy();n_=(0,_c.lazy)(()=>Promise.resolve().then(()=>(Fy(),Ly))),o_=(0,_c.lazy)(()=>Promise.resolve().then(()=>(Uy(),Hy))),i_=(0,_c.lazy)(()=>Promise.resolve().then(()=>(zy(),Wy)))});var tx=U((GG,ex)=>{"use strict";var s_=function(t){return a_(t)&&!c_(t)};function a_(e){return!!e&&typeof e=="object"}function c_(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||u_(e)}var l_=typeof Symbol=="function"&&Symbol.for,A_=l_?Symbol.for("react.element"):60103;function u_(e){return e.$$typeof===A_}function f_(e){return Array.isArray(e)?[]:{}}function ls(e,t){return t.clone!==!1&&t.isMergeableObject(e)?di(f_(e),e,t):e}function d_(e,t,r){return e.concat(t).map(function(n){return ls(n,r)})}function m_(e,t){if(!t.customMerge)return di;var r=t.customMerge(e);return typeof r=="function"?r:di}function g_(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function Xy(e){return Object.keys(e).concat(g_(e))}function Zy(e,t){try{return t in e}catch{return!1}}function p_(e,t){return Zy(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function h_(e,t,r){var n={};return r.isMergeableObject(e)&&Xy(e).forEach(function(o){n[o]=ls(e[o],r)}),Xy(t).forEach(function(o){p_(e,o)||(Zy(e,o)&&r.isMergeableObject(t[o])?n[o]=m_(o,r)(e[o],t[o],r):n[o]=ls(t[o],r))}),n}function di(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||d_,r.isMergeableObject=r.isMergeableObject||s_,r.cloneUnlessOtherwiseSpecified=ls;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):h_(e,t,r):ls(t,r)}di.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return di(n,o,r)},{})};var C_=di;ex.exports=C_});function ox(){return{palette:{...Dc,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function k_(){return{...ox(),name:"Default (from config)"}}function N_(){return{...ox(),name:"Light (stock)"}}function L_(){return{name:"Dark (stock)",palette:{...Dc,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function F_(){return{name:"Dark (minimal)",palette:{...Dc,mode:"dark",primary:{main:Bn[700]},secondary:{main:Bn[800]},tertiary:Qe.palette.augmentColor({color:{main:Bn[900]}})}}}function R_(){return{name:"Light (minimal)",palette:{...Dc,primary:{main:Bn[900]},secondary:{main:Bn[800]},tertiary:Qe.palette.augmentColor({color:{main:Bn[900]}})}}}var nx,E_,Qe,I_,y_,x_,rx,UG,w_,b_,B_,S_,Q_,M_,v_,T_,__,D_,Dc,qG,ix=p(()=>{nx=f(L(),1);lf();E_=f(tx(),1),Qe=(0,nx.createTheme)(),I_=Qe.palette.augmentColor({color:{main:"#0D233F"}}),y_=Qe.palette.augmentColor({color:{main:"#721E63"}}),x_=Qe.palette.augmentColor({color:{main:"#135560"}}),rx=Qe.palette.augmentColor({color:{main:"#FFB11D"}}),UG=Qe.palette.augmentColor({color:{main:"#aaa"}}),w_={A:Qe.palette.augmentColor({color:ns}),C:Qe.palette.augmentColor({color:rs}),G:Qe.palette.augmentColor({color:os}),T:Qe.palette.augmentColor({color:ui})},b_=[null,Qe.palette.augmentColor({color:{main:"#FF8080"}}),Qe.palette.augmentColor({color:{main:"#80FF80"}}),Qe.palette.augmentColor({color:{main:"#8080FF"}}),Qe.palette.augmentColor({color:{main:"#8080FF"}}),Qe.palette.augmentColor({color:{main:"#80FF80"}}),Qe.palette.augmentColor({color:{main:"#FF8080"}})],B_=[null,Qe.palette.augmentColor({color:{main:"#8f8f8f"}}),Qe.palette.augmentColor({color:{main:"#adadad"}}),Qe.palette.augmentColor({color:{main:"#d8d8d8"}}),Qe.palette.augmentColor({color:{main:"#d8d8d8"}}),Qe.palette.augmentColor({color:{main:"#adadad"}}),Qe.palette.augmentColor({color:{main:"#8f8f8f"}})],S_="#e22",Q_="#3e3",M_="#800080",v_="#808080",T_="#f00",__="#00f",D_="#97b8c9",Dc={primary:I_,secondary:y_,tertiary:x_,quaternary:rx,highlight:rx,stopCodon:S_,startCodon:Q_,insertion:M_,deletion:v_,softclip:__,hardclip:T_,bases:w_,frames:B_,framesCDS:b_,skip:D_};qG={default:k_(),lightStock:N_(),lightMinimal:R_(),darkMinimal:F_(),darkStock:L_()}});var sx=p(()=>{});var ax=p(()=>{});var vf=p(()=>{ix();nf();sx();ax()});function Qn({value:e}){let{classes:t}=P_(),r=/^https?:\/\//.exec(`${e}`);return(0,kc.jsx)("div",{className:t.fieldValue,children:(0,cx.isValidElement)(e)?e:r?(0,kc.jsx)(lx.Link,{href:`${e}`,children:`${e}`}):(0,kc.jsx)(wn,{html:nr(e)?JSON.stringify(e):String(e)})})}var kc,cx,lx,P_,Nc=p(()=>{kc=f(F(),1),cx=f(S(),1),lx=f(L(),1);vf();In();yt();P_=te()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function Pr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=O_(),i=[...n,t].join(".");return e?(0,Lc.jsx)(Ax.Tooltip,{title:e,placement:"left",children:(0,Lc.jsx)("div",{className:cc(o.fieldDescription,o.fieldName),children:i})}):(0,Lc.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var Lc,Ax,O_,As=p(()=>{Lc=f(F(),1),Ax=f(L(),1);yt();O_=te()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function _f({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=G_(),[s,a]=(0,ux.useState)(!1),c=t.length>Tf,l=c&&!s?t.slice(0,Tf):t;return t.length===1?nr(t[0])?(0,St.jsx)(Or,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,St.jsxs)("div",{className:i.field,children:[(0,St.jsx)(Pr,{prefix:o,description:r,name:e}),(0,St.jsx)(Qn,{value:n?n(t[0],e):t[0]})]}):t.every(A=>nr(A))?(0,St.jsx)(St.Fragment,{children:t.map((A,u)=>(0,St.jsx)(Or,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,St.jsxs)("div",{className:i.field,children:[(0,St.jsx)(Pr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,St.jsx)("div",{className:i.fieldSubvalue,children:(0,St.jsx)(Qn,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,St.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${Tf} of ${t.length}. Show all...`}):null]})}var St,ux,Tf,G_,fx=p(()=>{St=f(F(),1),ux=f(S(),1);Fc();Nc();As();In();yt();Tf=100,G_=te()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var mx=U((l6,dx)=>{dx.exports=JBrowseExports["@mui/x-data-grid"]});function Df({children:e,style:t}){let{classes:r}=H_();return(0,gx.jsx)("div",{className:r.flexContainer,style:t,children:e})}var gx,H_,px=p(()=>{gx=f(F(),1);yt();H_=te()({flexContainer:{display:"flex",flexDirection:"column"}})});function kf({value:e,prefix:t,name:r}){let{classes:n}=U_(),[o,i]=(0,hx.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,d])=>{let{id:m,...g}=d;return{id:u,identifier:m,...g}});for(let u of e)for(let d of Object.keys(u))a.add(d);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>Lh(c.map(d=>d[u])));return a.size<s.length+5?(0,br.jsxs)("div",{className:n.margin,children:[(0,br.jsx)(Pr,{prefix:t,name:r}),(0,br.jsx)(mi.FormControlLabel,{control:(0,br.jsx)(mi.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,br.jsx)(mi.Typography,{variant:"body2",children:"Show options"})}),(0,br.jsx)(Df,{children:(0,br.jsx)(Cx.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,d)=>({field:u,width:A[d],renderCell:({value:m})=>(0,br.jsx)("div",{className:n.cell,children:(0,br.jsx)(wn,{html:$A(m||"")})})}))})})]}):null}var br,hx,mi,Cx,U_,Ex=p(()=>{br=f(F(),1),hx=f(S(),1),mi=f(L(),1),Cx=f(mx(),1);As();px();vf();In();yt();U_=te()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function Nf({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=q_();return t!=null?(0,us.jsxs)("div",{className:s.field,children:[(0,us.jsx)(Pr,{prefix:n,description:r,name:e,width:o}),(0,us.jsx)(Qn,{value:i?i(t,e):t})]}):null}var us,q_,Ix=p(()=>{us=f(F(),1);Nc();As();yt();q_=te()({field:{display:"flex",flexWrap:"wrap"}})});function Lf({value:e,prefix:t,name:r}){let{classes:n}=j_(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,fs.jsxs)("div",{className:n.field,children:[(0,fs.jsx)(Pr,{prefix:t,name:r}),(0,fs.jsx)(Qn,{value:s})]})}var fs,j_,yx=p(()=>{fs=f(F(),1);Nc();As();yt();j_=te()({field:{display:"flex",flexWrap:"wrap"}})});function xx(e,t){return Math.ceil(KA(e.map(r=>WA([...t,r[0]].join("."),12))))+10}function wx(e,t={}){let r=t;for(let n of e)nr(r)&&(r=r[n]);return typeof r=="string"?r:nr(r)&&typeof r.Description=="string"?r.Description:void 0}var bx=p(()=>{In()});function Or(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...V_,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([m,g])=>g!=null&&!c.has(m)),d=xx(u,a);return(0,ln.jsx)(ln.Fragment,{children:u.map(([m,g])=>{let C=wx([...a,m],o);if(Array.isArray(g))return g.length>1&&g.every(x=>nr(x))?(0,ln.jsx)(kf,{name:m,prefix:a,value:g},m):(0,ln.jsx)(_f,{name:m,value:g,formatter:i,description:C,prefix:a},m);if(nr(g)){let{omitSingleLevel:x,...I}=e;return va(g)?s?null:(0,ln.jsx)(Lf,{name:m,prefix:a,value:g},m):(0,ln.jsx)(Or,{...I,formatter:i,attributes:g,descriptions:o,prefix:[...a,m]},m)}else return(0,ln.jsx)(Nf,{name:m,formatter:i,value:g,description:C,prefix:a,width:Math.min(d,J_)},m)})})}var ln,J_,V_,Fc=p(()=>{ln=f(F(),1);fx();Ex();Ix();yx();bx();In();J_=170,V_=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});function ro({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=Y_();return(0,to.jsxs)(Mn.Accordion,{defaultExpanded:r,children:[(0,to.jsx)(Mn.AccordionSummary,{expandIcon:(0,to.jsx)(ga,{className:n.icon}),children:(0,to.jsx)(Mn.Typography,{variant:"button",children:t})}),(0,to.jsx)(Mn.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var to,Mn,Y_,Ff=p(()=>{to=f(F(),1);IA();Mn=f(L(),1);yt();Y_=te()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function dt({checked:e,label:t,disabled:r,onChange:n}){return Rc.default.createElement("div",null,Rc.default.createElement(Pc.FormControlLabel,{control:Rc.default.createElement(Pc.Checkbox,{disabled:r,checked:e,onChange:n}),label:t}))}var Rc,Pc,Oc=p(()=>{Rc=f(S(),1),Pc=f(L(),1)});function ds({str:e}){let{classes:t}=W_(),[r,n]=(0,Br.useState)(!1),[o,i]=(0,Br.useState)(!1),[s,a]=(0,Br.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(A=>s?!0:!!A[1]).map(([A,u])=>`>${A}
30
30
  ${o?u:c(u)}`).join(`
31
- `);return Er.default.createElement(Er.default.Fragment,null,Er.default.createElement(Fc.Button,{color:"primary",variant:"contained",onClick:()=>{Li(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),Er.default.createElement(At,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),Er.default.createElement(At,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),Er.default.createElement(Fc.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,InputProps:{readOnly:!0,classes:{input:t.textAreaFont}}}))}var Er,Fc,ay,E_,Qf=p(()=>{Er=f(B(),1),Fc=f(k(),1),ay=f(Ve(),1);Lc();WA();E_=(0,ay.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var uy={};je(uy,{default:()=>x_});var Ai,cy,ly,Ay,I_,x_,fy=p(()=>{Ai=f(B(),1);Dc();Sf();cy=f(ue(),1),ly=f(k(),1),Ay=f(P(),1);Qf();I_=(0,Ay.observer)(function({model:e,onClose:t}){let{header:r}=e;return Ai.default.createElement(cy.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},Ai.default.createElement(ly.DialogContent,null,Ai.default.createElement(Lr,{attributes:r}),Ai.default.createElement(Zn,{title:"sequence"},Ai.default.createElement(ls,{str:e.rows}))))}),x_=I_});var my={};je(my,{default:()=>dy});function dy({model:e,onClose:t}){let[r,n]=(0,ye.useState)(!0),[o,i]=(0,ye.useState)(!0),[s,a]=(0,ye.useState)("viewport"),[c,l]=(0,ye.useState)(),A=(0,Ee.useTheme)(),{totalWidth:u,totalHeight:d,treeAreaWidth:m,turnedOnTracks:g}=e,h=g.length>0,I=u+m,C=d,x=s==="entire"&&(I>1e4||C>1e4);return ye.default.createElement(Rc.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},ye.default.createElement(Ee.DialogContent,null,c?ye.default.createElement(Rc.ErrorMessage,{error:c}):null,ye.default.createElement(Ee.Typography,null,"Settings:"),ye.default.createElement(At,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),h?ye.default.createElement(At,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,ye.default.createElement("div",null,ye.default.createElement(Ee.FormControl,null,ye.default.createElement(Ee.FormLabel,null,"Export type"),ye.default.createElement(Ee.RadioGroup,{value:s,onChange:y=>{a(y.target.value)}},ye.default.createElement(Ee.FormControlLabel,{value:"entire",control:ye.default.createElement(Ee.Radio,null),label:"Entire MSA"}),ye.default.createElement(Ee.FormControlLabel,{value:"viewport",control:ye.default.createElement(Ee.Radio,null),label:"Current viewport only"})))),x?ye.default.createElement(Ee.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(I),"x",Math.round(C)," pixels). Export may be slow or fail."):null),ye.default.createElement(Ee.DialogActions,null,ye.default.createElement(Ee.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{await e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:h&&o,exportType:s}),t()}catch(y){console.error(y),l(y)}})()}},"Submit"),ye.default.createElement(Ee.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var ye,Rc,Ee,gy=p(()=>{ye=f(B(),1),Rc=f(ue(),1),Ee=f(k(),1);Lc()});var Iy={};je(Iy,{default:()=>S_});var K,hy,Xe,As,Cy,Ey,py,y_,w_,B_,b_,S_,xy=p(()=>{K=f(B(),1),hy=f(ue(),1),Xe=f(k(),1),As=f(P(),1),Cy=f(Ve(),1);Bc();Lc();Ey=(0,Cy.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),py=(e=0)=>+e.toFixed(1),y_=(0,As.observer)(function({model:e}){return K.default.createElement(K.default.Fragment,null,K.default.createElement(w_,{model:e}),K.default.createElement(B_,{model:e}))}),w_=(0,As.observer)(function({model:t}){let{drawTree:r,drawLabels:n,drawNodeBubbles:o,labelsAlignRight:i,showBranchLen:s}=t;return K.default.createElement("div",null,K.default.createElement("h1",null,"Tree options"),K.default.createElement(At,{checked:s,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!s)}}),K.default.createElement(At,{checked:o,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!o)}}),K.default.createElement(At,{checked:r,label:"Show tree?",onChange:()=>{t.setDrawTree(!r)}}),K.default.createElement(At,{checked:i,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!i)}}),K.default.createElement(At,{checked:n,label:"Draw labels",onChange:()=>{t.setDrawLabels(!n)}}))}),B_=(0,As.observer)(function({model:t}){let{classes:r}=Ey(),{bgColor:n,colWidth:o,allowedGappyness:i,drawMsaLetters:s,colorSchemeName:a,hideGaps:c,rowHeight:l}=t;return K.default.createElement("div",null,K.default.createElement("h1",null,"MSA options"),K.default.createElement(At,{checked:s,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!s)}}),K.default.createElement(At,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),K.default.createElement(At,{checked:c,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!c)}}),c?K.default.createElement("div",{className:r.flex},K.default.createElement(Xe.Typography,null,"Hide columns w/ >",i,"% gaps"),K.default.createElement(Xe.Slider,{className:r.field,min:1,max:100,value:i,onChange:(A,u)=>{t.setAllowedGappyness(u)}})):null,K.default.createElement("div",{className:r.flex},K.default.createElement(Xe.Typography,null,"Column width (",py(o),"px)"),K.default.createElement(Xe.Slider,{className:r.field,min:1,max:50,value:o,onChange:(A,u)=>{t.setColWidth(u)}})),K.default.createElement("div",{className:r.flex},K.default.createElement(Xe.Typography,null,"Row height (",py(l),"px)"),K.default.createElement(Xe.Slider,{className:r.field,min:1,max:50,value:l,onChange:(A,u)=>{t.setRowHeight(u)}})),K.default.createElement(Xe.TextField,{select:!0,label:"Color scheme",value:a,onChange:A=>{t.setColorSchemeName(A.target.value)}},Object.keys(ai).map(A=>K.default.createElement(Xe.MenuItem,{key:A,value:A},A))))}),b_=(0,As.observer)(function({model:e,onClose:t}){let{classes:r}=Ey();return K.default.createElement(hy.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},K.default.createElement(Xe.DialogContent,{className:r.minw},K.default.createElement(y_,{model:e}),K.default.createElement(Xe.DialogActions,null,K.default.createElement(Xe.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),S_=b_});var eo,yy,Q_,M_,v_,T_,wy,By=p(()=>{eo=f(B(),1);ii();ZI();lf();rx();cA();yy=f(P(),1);kx();Q_=(0,eo.lazy)(()=>Promise.resolve().then(()=>(fy(),uy))),M_=(0,eo.lazy)(()=>Promise.resolve().then(()=>(gy(),my))),v_=(0,eo.lazy)(()=>Promise.resolve().then(()=>(xy(),Iy))),T_=(0,yy.observer)(({model:e})=>eo.default.createElement(kr,{menuItems:[{label:"Return to import form",icon:ns,onClick:()=>{e.reset()}},{label:"Metadata",icon:XI,onClick:()=>{e.queueDialog(t=>[Q_,{model:e,onClose:t}])}},{label:"More settings",icon:ca,onClick:()=>{e.queueDialog(t=>[v_,{model:e,onClose:t}])}},{label:"Domain settings",type:"subMenu",subMenu:Dx({model:e})},{label:"Export SVG",icon:tx,onClick:()=>{e.queueDialog(t=>[M_,{onClose:t,model:e}])}}],anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},eo.default.createElement(ns,null))),wy=T_});var Pc,Oc,by,__,Sy,Qy=p(()=>{Pc=f(B(),1),Oc=f(k(),1),by=f(P(),1),__=(0,by.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?Pc.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Pc.default.createElement(Oc.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),Pc.default.createElement(Oc.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),Sy=__});var My,vy,Ty,_y,D_,k_,Dy,ky=p(()=>{My=f(B(),1),vy=f(k(),1),Ty=f(P(),1),_y=f(Ve(),1),D_=(0,_y.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),k_=(0,Ty.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=D_();return t&&r!==void 0?My.default.createElement(vy.Typography,{className:n.margin},t,":",e.visibleColToSeqPosOneBased(t,r)," (",e.visibleColToRowLetter(t,r),")"):null}),Dy=k_});var Gc,Ny,Ly,Fy,Ry,N_,L_,Py,Oy=p(()=>{Gc=f(B(),1),Ny=f(ue(),1),Ly=f(k(),1),Fy=f(P(),1),Ry=f(Ve(),1),N_=(0,Ry.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),L_=(0,Fy.observer)(({model:e})=>{let{status:t}=e,{classes:r}=N_();return t?Gc.default.createElement(Ly.Typography,{className:r.margin},Gc.default.createElement(Ny.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?Gc.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null):null}),Py=L_});var Gy,Jy,Hy=p(()=>{"use client";z();Gy=f(L(),1),Jy=(0,_.createSvgIcon)((0,Gy.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune")});var Mf,Uy,F_,qy,Yy=p(()=>{Mf=f(B(),1);ii();Hy();Uy=f(P(),1),F_=(0,Uy.observer)(function({model:e}){let{drawMsaLetters:t,hideGaps:r,bgColor:n}=e;return Mf.default.createElement(kr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[{label:"Draw letters",type:"checkbox",checked:t,onClick:()=>{e.setDrawMsaLetters(!t)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!n,onClick:()=>{e.setBgColor(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:r,onClick:()=>{e.setHideGaps(!r)}}]},Mf.default.createElement(Jy,null))}),qy=F_});var vf,Jc,jy,R_,Vy,Wy=p(()=>{vf=f(B(),1),Jc=f(k(),1),jy=f(P(),1),R_=(0,jy.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?vf.default.createElement(Jc.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>vf.default.createElement(Jc.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),Vy=R_});var zy,$y,Ky=p(()=>{"use client";z();zy=f(L(),1),$y=(0,_.createSvgIcon)((0,zy.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var Tf,Xy,P_,Zy,ew=p(()=>{Tf=f(B(),1);ii();Ky();Xy=f(P(),1),P_=(0,Xy.observer)(function({model:e}){let{drawTree:t,showBranchLen:r,labelsAlignRight:n,drawNodeBubbles:o,drawLabels:i,rows:s}=e;return Tf.default.createElement(kr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[{label:"Show branch length",type:"checkbox",checked:r,onClick:()=>{e.setShowBranchLen(!r)}},{label:"Show tree",type:"checkbox",checked:t,onClick:()=>{e.setDrawTree(!t)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:o,onClick:()=>{e.setDrawNodeBubbles(!o)}},{label:"Tree labels align right",type:"checkbox",checked:n,onClick:()=>{e.setLabelsAlignRight(!n)}},{label:"Draw labels",type:"checkbox",checked:i,onClick:()=>{e.setDrawLabels(!i)}},...s.length>=2?[{label:"Advanced",type:"subMenu",subMenu:[{label:"Calculate neighbor joining tree (BLOSUM62)",onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(a){console.error("Failed to calculate NJ tree:",a),e.setError(a)}}}]}]:[]]},Tf.default.createElement($y,null))}),Zy=P_});var _f,tw,rw=p(()=>{"use client";z();_f=f(L(),1),tw=(0,_.createSvgIcon)([(0,_f.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,_f.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var nw,ow,iw=p(()=>{"use client";z();nw=f(L(),1),ow=(0,_.createSvgIcon)((0,nw.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var to,Df,sw,O_,aw,cw=p(()=>{to=f(B(),1);rw();iw();Df=f(k(),1),sw=f(P(),1),O_=(0,sw.observer)(function({model:t}){return to.default.createElement(to.default.Fragment,null,to.default.createElement(Df.IconButton,{onClick:()=>{t.zoomIn()}},to.default.createElement(tw,null)),to.default.createElement(Df.IconButton,{onClick:()=>{t.zoomOut()}},to.default.createElement(ow,null)))}),aw=O_});var lw,Aw,uw=p(()=>{"use client";z();lw=f(L(),1),Aw=(0,_.createSvgIcon)((0,lw.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var fw,dw,mw=p(()=>{"use client";z();fw=f(L(),1),dw=(0,_.createSvgIcon)((0,fw.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var kf,gw,G_,pw,hw=p(()=>{kf=f(B(),1);ii();uw();mw();gw=f(P(),1),G_=(0,gw.observer)(function({model:e}){return kf.default.createElement(kr,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:dw,onClick:()=>{e.resetZoom()}}]},kf.default.createElement(Aw,null))}),pw=G_});var Cw,Ew=p(()=>{Cw="5.0.13"});var yw={};je(yw,{default:()=>xw});function xw({onClose:e}){return qe.default.createElement(Iw.Dialog,{open:!0,title:"About",onClose:()=>{e()}},qe.default.createElement(bt.DialogContent,null,qe.default.createElement(bt.Typography,null,"MSAView ",Cw," (",qe.default.createElement(bt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),qe.default.createElement("ul",null,qe.default.createElement("li",null,qe.default.createElement(bt.Typography,null,"We use some color schemes from the"," ",qe.default.createElement(bt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",qe.default.createElement(bt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),qe.default.createElement("li",null,qe.default.createElement(bt.Typography,null,"See this page for some information on jalview colorings"," ",qe.default.createElement(bt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),qe.default.createElement("li",null,qe.default.createElement(bt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",qe.default.createElement(bt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),qe.default.createElement("li",null,qe.default.createElement(bt.Typography,null,"See this paper about the flower color scheme"," ",qe.default.createElement(bt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var qe,Iw,bt,ww=p(()=>{qe=f(B(),1),Iw=f(ue(),1),bt=f(k(),1);Ew()});function U_(){return Ne.default.createElement("div",{style:{flex:1}})}var Ne,Bw,bw,J_,H_,Sw,Qw=p(()=>{Ne=f(B(),1);jp();i0();Bw=f(k(),1),bw=f(P(),1);$I();By();Qy();ky();Oy();Yy();Wy();ew();cw();hw();J_=(0,Ne.lazy)(()=>Promise.resolve().then(()=>(ww(),yw))),H_=(0,bw.observer)(function({model:e}){let[t,{height:r}]=TA();return(0,Ne.useEffect)(()=>{e.setHeaderHeight(r||0)},[e,r]),Ne.default.createElement("div",{ref:t,style:{display:"flex"}},Ne.default.createElement(wy,{model:e}),Ne.default.createElement(zI,{model:e}),Ne.default.createElement(Zy,{model:e}),Ne.default.createElement(qy,{model:e}),Ne.default.createElement(aw,{model:e}),Ne.default.createElement(pw,{model:e}),Ne.default.createElement(Sy,{model:e}),Ne.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},Ne.default.createElement(Vy,{model:e})),Ne.default.createElement(Dy,{model:e}),Ne.default.createElement(U_,null),Ne.default.createElement(Py,{model:e}),Ne.default.createElement(Bw.IconButton,{onClick:()=>{e.queueDialog(n=>[J_,{onClose:n}])}},Ne.default.createElement(o0,null)))});Sw=H_});var Ht,Mw,q_,vw,Tw=p(()=>{Ht=f(B(),1),Mw=f(P(),1),q_=(0,Mw.observer)(function({model:e}){let[t,r]=(0,Ht.useState)(),[n,o]=(0,Ht.useState)(!1),i=(0,Ht.useRef)(!1),{scrollX:s,msaAreaWidth:a,minimapHeight:c,colWidth:l,numColumns:A}=e,u=a/A/l,d=-s,m=d+a,g=d*u,h=m*u,I="rgba(66, 119, 127, 0.3)",C=Math.max(h-g,20);(0,Ht.useEffect)(()=>{function b(v){t!==void 0&&(i.current||(i.current=!0,window.requestAnimationFrame(()=>{e.setScrollX(t.scrollX-(v.clientX-t.clientX)/u),i.current=!1})))}function S(){r(void 0)}if(t!==void 0)return document.addEventListener("mousemove",b),document.addEventListener("mouseup",S),()=>{document.removeEventListener("mousemove",b),document.removeEventListener("mousemove",S)}},[e,u,t]);let x=12,y=c-x;return Ht.default.createElement("div",{style:{position:"relative",height:c,width:"100%"}},Ht.default.createElement("div",{style:{height:x,boxSizing:"border-box",border:"1px solid #555"}}),Ht.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,g),background:n?"rgba(66,119,127,0.6)":I,cursor:"pointer",height:x,width:C,zIndex:100},onMouseOver:()=>{o(!0)},onMouseOut:()=>{o(!1)},onMouseDown:b=>{r({clientX:b.clientX,scrollX:e.scrollX})}}),Ht.default.createElement("svg",{height:y,style:{width:"100%"}},Ht.default.createElement("polygon",{fill:I,points:[[g+C,0],[g,0],[0,y],[a,y]].toString()})))}),vw=q_});function Nf(){return Hc.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},Hc.default.createElement(Uc.CircularProgress,null),Hc.default.createElement(Uc.Typography,null,"Loading..."))}var Hc,Uc,_w=p(()=>{Hc=f(B(),1),Uc=f(k(),1)});function qc({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{leaves:s,blockSize:a,rowHeight:c,highResScaleFactor:l,showDomains:A}=e;if(A){let u=o||l,d=i||a;n.resetTransform(),n.scale(u,u),n.translate(-t,c/2-r);let m=Math.max(0,Math.floor((r-c)/c)),g=Math.max(0,Math.ceil((r+d+c)/c)),h=s.slice(m,g);Y_({model:e,ctx:n,visibleLeaves:h})}}function Y_({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:d,data:{name:m}}=u,g=d,h=c[m];if(h)for(let I=0,C=h.length;I<C;I++){let{start:x,end:y,accession:b}=h[I],S=e.seqPosToVisibleCol(m,x-1),v=e.seqPosToVisibleCol(m,y);if(S===void 0||v===void 0)continue;let M=S*o;t.fillStyle=s[b],t.strokeStyle=a[b];let F=n?4:i,O=g-i+(n?I*F:0),q=o*(v-S);t.fillRect(M,O,q,F),t.strokeRect(M,O,q,F)}}}var Lf=p(()=>{});function Yc({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:d,highResScaleFactor:m,actuallyShowDomains:g,leaves:h,bgColor:I}=e,C=s||m,x=a||A,y=c||A;o.resetTransform(),o.scale(C,C),o.translate(-t,u/2-r),o.textAlign="center",o.font=o.font.replace(/\d+px/,`${I?"":"bold "}${d}px`);let b=Math.max(0,Math.floor((r-u)/u)),S=Math.max(0,Math.ceil((r+y+u)/u)),v=Math.max(0,Math.floor(t/l)),M=Math.max(0,Math.ceil((t+x)/l)),F=h.slice(b,S);g||j_({model:e,ctx:o,theme:i,offsetX:t,xStart:v,xEnd:M,visibleLeaves:F}),V_({model:e,ctx:o,offsetX:t,contrastScheme:n,xStart:v,xEnd:M,visibleLeaves:F}),W_({model:e,ctx:o,xStart:v,xEnd:M,visibleLeaves:F}),o.resetTransform()}function j_({model:e,offsetX:t,ctx:r,visibleLeaves:n,theme:o,xStart:i,xEnd:s}){let{bgColor:a,colorSchemeName:c,colorScheme:l,columns:A,colWidth:u,rowHeight:d,relativeTo:m}=e,g=m?A[m]?.slice(i,s):null,h=c==="clustalx_protein_dynamic",I=c==="percent_identity_dynamic",C=t-t%u;for(let x=0,y=n.length;x<y;x++){let b=n[x],{data:{name:S}}=b,v=b.x,M=A[S]?.slice(i,s);if(M)for(let F=0,O=M.length;F<O;F++){let q=M[F],w=g&&S!==m&&q===g[F],T=h?e.colClustalX[i+F][q]:I?(()=>{let J=e.colConsensus[i+F];return q===J.letter?J.color:void 0})():l[q.toUpperCase()];if(a||h||I){let J=w?o.palette.action.hover:T||o.palette.background.default;r.fillStyle=J,r.fillRect(F*u+C,v-d,u,d)}}}}function V_({model:e,offsetX:t,contrastScheme:r,ctx:n,visibleLeaves:o,xStart:i,xEnd:s}){let{bgColor:a,actuallyShowDomains:c,showMsaLetters:l,colorScheme:A,columns:u,colWidth:d,rowHeight:m,relativeTo:g}=e,h=g?u[g]?.slice(i,s):null;if(l){let I=t-t%d,C=d/2,x=m/4;for(let y=0,b=o.length;y<b;y++){let S=o[y],{data:{name:v}}=S,M=S.x-x,F=u[v]?.slice(i,s);if(F)for(let O=0,q=F.length;O<q;O++){let w=F[O],J=h&&v!==g&&w===h[O]?".":w,G=A[w.toUpperCase()],Me=r[w.toUpperCase()]||"black";n.fillStyle=c?"black":a?Me:G||"black",n.fillText(J,O*d+I+C,M)}}}}function W_({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",Dw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",Dw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function Dw({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,d=l.get(u);if(d){let m=A.x;for(let{pos:g}of d)if(g>=n&&g<o){let h=g*a,I=m-c,C=m;t.beginPath(),t.moveTo(h+i,I+i);let x=I,y=!0;for(;x<C;){let b=Math.min(x+2,C),S=y?h+1:h-1;t.lineTo(S+i,b+i),x=b,y=!y}t.stroke()}}}}var Ff=p(()=>{});var Ut,kw,Nw,Lw,Fw,z_,Rw,Pw=p(()=>{Ut=f(B(),1),kw=f(ue(),1),Nw=f(k(),1),Lw=f($r(),1),Fw=f(P(),1);Lf();Ff();wn();z_=(0,Fw.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,d=(0,Nw.useTheme)(),m=(0,Ut.useMemo)(()=>Kn(a,d),[a,d]),g=(0,Ut.useRef)(null);(0,Ut.useEffect)(()=>{let x=g.current?.getContext("2d");if(x)return(0,Lw.autorun)(()=>{x.resetTransform(),x.clearRect(0,0,c*u,c*u),e.actuallyShowDomains&&qc({ctx:x,offsetX:t,offsetY:r,model:e}),Yc({ctx:x,theme:d,offsetX:t,offsetY:r,contrastScheme:m,model:e})})},[e,t,r,d,c,u,m]);let[h,I]=(0,Ut.useState)(),{hoveredInsertion:C}=e;return Ut.default.createElement(Ut.default.Fragment,null,Ut.default.createElement("canvas",{ref:g,onMouseMove:x=>{if(!g.current)return;I({x:x.clientX,y:x.clientY});let{left:y,top:b}=g.current.getBoundingClientRect(),S=x.clientX-y+t,v=x.clientY-b+r,M=Math.floor(S/n),F=Math.floor(v/o);M>=0&&M<e.numColumns&&F>=0&&F<e.numRows?e.setMousePos(M,F):e.setMousePos(void 0,void 0)},onClick:x=>{if(!g.current)return;let{left:y,top:b}=g.current.getBoundingClientRect(),S=x.clientX-y+t,v=x.clientY-b+r,M=Math.floor(S/n),F=Math.floor(v/o);M===l&&F===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(M,F)},onMouseLeave:()=>{e.setMousePos(),I(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),C&&h?Ut.default.createElement(kw.BaseTooltip,{clientPoint:{x:h.x,y:h.y+15}},"Insertion (",C.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",C.letters.length>20?`${C.letters.slice(0,20)}...`:C.letters):null)}),Rw=z_});var sn,Ow,$_,Gw,Jw=p(()=>{sn=f(B(),1),Ow=f(P(),1);_w();Pw();Ta();$_=(0,Ow.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s}=e,a=(0,sn.useRef)(null),c=(0,sn.useCallback)(d=>{e.doScrollX(d)},[e]),l=(0,sn.useCallback)(d=>{e.doScrollY(d)},[e]),{onMouseDown:A,onMouseUp:u}=Ro({ref:a,onScrollX:c,onScrollY:l});return sn.default.createElement("div",{ref:a,onMouseDown:A,onMouseUp:u,onMouseLeave:d=>{d.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([d,m])=>sn.default.createElement(Rw,{key:`${d}_${m}`,model:e,offsetX:d,offsetY:m})):sn.default.createElement(Nf,null))}),Gw=$_});function Uw({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseClickRow:u,mouseClickCol:d,relativeTo:m,rowNamesSet:g,hoveredTreeNode:h,highlightedColumns:I}=t,C=o-i;if(e.resetTransform(),e.clearRect(0,0,C,s),m){let x=g.get(m);x!==void 0&&(e.fillStyle=K_,e.fillRect(0,x*a+l,C,a))}if(h){e.fillStyle=X_;for(let x of h.descendantNames){let y=g.get(x);y!==void 0&&e.fillRect(0,y*a+l,C,a)}}if(I?.length){e.fillStyle=Rf;for(let x of I)e.fillRect(x*n+c,0,n,s)}r!==void 0&&(e.fillStyle=Hw,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=Hw,e.fillRect(0,A*a+l,C,a)),d!==void 0&&(e.fillStyle=Rf,e.fillRect(d*n+c,0,n,s)),u!==void 0&&(e.fillStyle=Rf,e.fillRect(0,u*a+l,C,a))}var Hw,Rf,K_,X_,qw=p(()=>{Hw="rgba(0,0,0,0.15)",Rf="rgba(128,128,0,0.2)",K_="rgba(0,128,255,0.3)",X_="rgba(255,165,0,0.15)"});var ui,Yw,jw,Vw,Z_,Ww,zw=p(()=>{ui=f(B(),1),Yw=f(Dt(),1),jw=f($r(),1),Vw=f(P(),1);qw();Z_=(0,Vw.observer)(function({model:e}){let t=(0,ui.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o}=e,i=n-o;return(0,ui.useEffect)(()=>{let s=t.current?.getContext("2d");return s?(0,jw.autorun)(()=>{(0,Yw.isAlive)(e)&&Uw({ctx:s,model:e})}):void 0},[e]),ui.default.createElement("canvas",{ref:t,id:"mouseover",width:i,height:r,style:{position:"absolute",top:0,left:0,width:i,height:r,zIndex:1e3,pointerEvents:"none"}})}),Ww=Z_});var jc,$w,eD,Kw,Xw=p(()=>{jc=f(B(),1),$w=f(P(),1);Jw();zw();eD=(0,$w.observer)(function({model:e}){return jc.default.createElement("div",{style:{position:"relative"}},jc.default.createElement(Gw,{model:e}),jc.default.createElement(Ww,{model:e}))}),Kw=eD});var us,Zw=p(()=>{us=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,r){let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}});function tB(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function tD(e,t,r,n,o,i){let s=[n,o];for(;s.length;){let a=s.pop()||0,c=s.pop()||0;if(a-c<=i&&Math.floor(c/i)>=Math.floor(a/i))continue;let l=e[c],A=e[c+a>>1],u=e[a],d=l>A!=l>u?l:A<l!=A<u?A:u,m=c-1,g=a+1;for(;;){do m++;while(e[m]<d);do g--;while(e[g]>d);if(m>=g)break;rD(e,t,r,m,g)}s.push(c,g,g+1,a)}}function rD(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let d=r[n];r[n]=r[o],r[o]=d}function nD(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o>>1^n&i>>1^o,l=r&o>>1^i>>1^i;r=s,n=a,o=c,i=l,s=r&r>>2^n&n>>2,a=r&n>>2^n&(r^n)>>2,c^=r&o>>2^n&i>>2,l^=n&o>>2^(r^n)&i>>2,r=s,n=a,o=c,i=l,s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c^=r&o>>4^n&i>>4,l^=n&o>>4^(r^n)&i>>4,r=s,n=a,o=c,i=l,c^=r&o>>8^n&i>>8,l^=n&o>>8^(r^n)&i>>8,r=c^c>>1,n=l^l>>1;let A=e^t,u=n|65535^(A|r);return A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,(u<<1|A)>>>0}var eB,Pf,fs,rB=p(()=>{Zw();eB=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Pf=3,fs=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==Pf)throw new Error(`Got v${i} data when expected v${Pf}.`);let s=eB[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=eB.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this._boxes=new n(i,s+8,c*4),this._indices=new this.IndexArrayType(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let u=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(u,8,c*4),this._indices=new this.IndexArrayType(u,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(u,0,2).set([251,(Pf<<4)+l]),new Uint16Array(u,2,1)[0]=r,new Uint32Array(u,4,1)[0]=t}this._queue=new us}add(t,r,n=t,o=r){let i=this._pos>>2,s=this._boxes;return this._indices[i]=i,s[this._pos++]=t,s[this._pos++]=r,s[this._pos++]=n,s[this._pos++]=o,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),i}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let r=this.maxX-this.minX||1,n=this.maxY-this.minY||1,o=new Uint32Array(this.numItems),i=65535;for(let s=0,a=0;s<this.numItems;s++){let c=t[a++],l=t[a++],A=t[a++],u=t[a++],d=Math.floor(i*((c+A)/2-this.minX)/r),m=Math.floor(i*((l+u)/2-this.minY)/n);o[s]=nD(d,m)}tD(o,t,this._indices,0,this.numItems-1,this.nodeSize);for(let s=0,a=0;s<this._levelBounds.length-1;s++){let c=this._levelBounds[s];for(;a<c;){let l=a,A=t[a++],u=t[a++],d=t[a++],m=t[a++];for(let g=1;g<this.nodeSize&&a<c;g++)A=Math.min(A,t[a++]),u=Math.min(u,t[a++]),d=Math.max(d,t[a++]),m=Math.max(m,t[a++]);this._indices[this._pos>>2]=l,t[this._pos++]=A,t[this._pos++]=u,t[this._pos++]=d,t[this._pos++]=m}}}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=[],c=[];for(;s!==void 0;){let l=Math.min(s+this.nodeSize*4,tB(s,this._levelBounds));for(let A=s;A<l;A+=4){let u=this._boxes[A];if(n<u)continue;let d=this._boxes[A+1];if(o<d)continue;let m=this._boxes[A+2];if(t>m)continue;let g=this._boxes[A+3];if(r>g)continue;let h=this._indices[A>>2]|0;s>=this.numItems*4?a.push(h):(i===void 0||i(h,u,d,m,g))&&c.push(h)}s=a.pop()}return c}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=this._queue,c=[],l=o*o;e:for(;s!==void 0;){let A=Math.min(s+this.nodeSize*4,tB(s,this._levelBounds));for(let u=s;u<A;u+=4){let d=this._indices[u>>2]|0,m=this._boxes[u],g=this._boxes[u+1],h=this._boxes[u+2],I=this._boxes[u+3],C=t<m?m-t:t>h?t-h:0,x=r<g?g-r:r>I?r-I:0,y=C*C+x*x;y>l||(s>=this.numItems*4?a.push(d<<1,y):(i===void 0||i(d))&&a.push((d<<1)+1,y))}for(;a.length&&a.peek()&1;)if(a.peekValue()>l||(c.push(a.pop()>>1),c.length===n))break e;s=a.length?a.pop()>>1:void 0}return a.clear(),c}}});var ds,fi,nB,oD,oB,iB=p(()=>{ds=f(B(),1),fi=f(k(),1),nB=f(P(),1),oD=(0,nB.observer)(function({node:e,model:t,onClose:r}){return ds.default.createElement(fi.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},ds.default.createElement(fi.MenuItem,{dense:!0,disabled:!0},e.name),ds.default.createElement(fi.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),ds.default.createElement(fi.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),oB=oD});var lB={};je(lB,{default:()=>sD});var Fr,sB,aB,cB,iD,sD,AB=p(()=>{Fr=f(B(),1);Dc();Sf();sB=f(ue(),1),aB=f(k(),1),cB=f(P(),1);Qf();iD=(0,cB.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Fr.default.createElement(sB.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Fr.default.createElement(aB.DialogContent,null,Fr.default.createElement(Zn,{title:"Attributes"},Fr.default.createElement(Lr,{attributes:{nodeName:r,...e}})),Fr.default.createElement(Zn,{title:"Sequence"},a?Fr.default.createElement(ls,{str:[a]}):Fr.default.createElement("div",null,"Sequence not found")),s?Fr.default.createElement(Zn,{title:"Extra metadata"},Fr.default.createElement(Lr,{attributes:s})):null))}),sD=iD});var an,Sn,uB,aD,cD,fB,dB=p(()=>{an=f(B(),1),Sn=f(k(),1),uB=f(P(),1),aD=(0,an.lazy)(()=>Promise.resolve().then(()=>(AB(),lB))),cD=(0,uB.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n}=r,{name:o,id:i}=e,s=n.includes(i);return an.default.createElement(Sn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},an.default.createElement(Sn.MenuItem,{dense:!0,disabled:!0},o),an.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(a=>[aD,{info:r.getRowData(o),model:r,nodeName:o,onClose:a}]),t()}},"More info..."),an.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.toggleCollapsed(i),t()}},s?"Show node":"Hide node"),an.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?an.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),fB=cD});function mB(e){let t=0;if(e.children)for(let r of e.children){let n=mB(r)+1;n>t&&(t=n)}return e.height=t,t}function gB(e,t,r,n){let o=t(e),i={data:e,children:null,parent:r,depth:n,height:0};return o?.length&&(i.children=o.map(s=>gB(s,t,i,n+1))),i}function pB(e,t){let r=gB(e,t,null,0);return mB(r),r}function hB(e,t){function r(n){let o=t(n.data);if(n.children)for(let i of n.children)o+=r(i);return n.value=o,o}return r(e),e}function CB(e,t){function r(n){if(n.children){n.children.sort(t);for(let o of n.children)r(o)}}return r(e),e}function ms(e,t){if(t(e))return e;if(e.children)for(let r of e.children){let n=ms(r,t);if(n)return n}}function gs(e){let t=[];function r(n){if(n.children)for(let o of n.children)r(o);else t.push(n)}return r(e),t}function EB(e){let t=[];function r(n){if(t.push(n),n.children)for(let o of n.children)r(o)}return r(e),t}function Vc(e){let t=[];function r(n){if(n.children)for(let o of n.children)t.push({source:n,target:o}),r(o)}return r(e),t}function IB(e,t,r){let n=gs(e),o=n.length,i=t/o;for(let l=0;l<o;l++)n[l].x=(l+.5)*i;function s(l){if(!l.children)return;for(let u of l.children)s(u);let A=0;for(let u of l.children)A+=u.x;l.x=A/l.children.length}s(e);let a=e.height;function c(l,A){if(l.y=a===0?r:A/a*r,l.children)for(let u of l.children)c(u,A+1)}c(e,0)}function xB(e){e.children&&(e._children=e.children,e.children=null)}function Of(e){return(e.data.length||0)+(e.children?e.children.reduce((t,r)=>Math.max(t,Of(r)),0):0)}function Gf(e,t,r){if(e.len=(t+=Math.max(e.data.length||0,0))*r,e.children)for(let n of e.children)Gf(n,t,r)}var Jf=p(()=>{});function lD({offsetY:e,ctx:t,model:r,theme:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,blockSize:a}=r,c=o||a;t.strokeStyle=n.palette.text.primary;for(let l of Vc(i)){let{source:A,target:u}=l;if(u.height===0&&!s)continue;let d=A.x,m=u.x,g=s?u.len:u.y,h=s?A.len:A.y;if(g===void 0||h===void 0)continue;let I=Math.min(d,m),C=Math.max(d,m);e+c>=I&&C>=e&&(t.beginPath(),t.moveTo(h,d),t.lineTo(h,m),t.lineTo(g,m),t.stroke())}}function AD({ctx:e,clickMap:t,offsetY:r,model:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,collapsed:a,blockSize:c,marginLeft:l}=n,A=o||c;for(let u of EB(i)){let d=s?u.len:u.y;if(d===void 0)continue;let{data:m}=u,g=u.x,{id:h,name:I}=m;u.height>1&&g>r-Wc&&g<r+A+Wc&&(e.strokeStyle="black",e.fillStyle=a.includes(h)?"black":"white",e.beginPath(),e.arc(d,g,ro,0,2*Math.PI),e.fill(),e.stroke(),t?.insert({minX:d-ro+l,maxX:d-ro+Hf+l,minY:g-ro,maxY:g-ro+Hf,branch:!0,id:h,name:I}))}}function uD({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,blockSizeYOverride:i}){let{fontSize:s,showBranchLenEffective:a,treeMetadata:c,blockSize:l,labelsAlignRight:A,drawTree:u,treeAreaWidth:d,treeAreaWidthMinusMargin:m,marginLeft:g,leaves:h,noTree:I}=t,C=i||l,x=n.measureText("M").width;A?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";for(let y of h){let{data:{name:b,id:S}}=y,v=y.len,M=y.x,F=y.y,O=c[b]?.genome||b;if(M>r-Wc&&M<r+C+Wc){let q=M+s/4,w=0;I||(w=(a?v:F)||0);let{width:T}=n.measureText(O);if(n.fillStyle=e.palette.text.primary,A){let G=m-2;u&&!I&&(n.moveTo(w+ro+2,M),n.lineTo(G-2-T,M),n.stroke()),n.fillText(O,G,q),o?.insert({minX:d-T,maxX:d,minY:q-x,maxY:q,name:b,id:S})}else{let J=I?2:w+Hf;n.fillText(O,J,q),o?.insert({minX:J+g,maxX:J+T+g,minY:q-x,maxY:q,name:b,id:S})}}}n.setLineDash([])}function zc({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:d,marginLeft:m,nref:g,rowHeight:h}=e;r.resetTransform();let I=g<0?Number.NEGATIVE_INFINITY:i||A;r.scale(I,I),r.translate(m,-n);let C=r.font;r.font=C.replace(/\d+px/,`${u}px`),!a&&c&&(lD({ctx:r,offsetY:n,model:e,theme:o,blockSizeYOverride:s}),l&&AD({ctx:r,offsetY:n,clickMap:t,model:e,blockSizeYOverride:s})),d&&uD({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,blockSizeYOverride:s}),t?.finish()}var di,Wc,ro,Hf,$c=p(()=>{Jf();di=600,Wc=5,ro=2.5,Hf=ro*2});var Qe,yB,wB,BB,bB,fD,Uf,dD,SB,QB=p(()=>{Qe=f(B(),1),yB=f(k(),1);rB();wB=f($r(),1),BB=f(P(),1),bB=f(Ve(),1);iB();dB();$c();fD=(0,bB.makeStyles)()(e=>({tooltip:{position:"fixed",pointerEvents:"none",zIndex:1e4,backgroundColor:e.palette.grey[700],color:e.palette.common.white,padding:"4px 8px",borderRadius:4,fontSize:12,whiteSpace:"nowrap",maxWidth:300,overflow:"hidden",textOverflow:"ellipsis"}})),Uf=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0){this.flatbush=null;return}else{this.flatbush=new fs(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},dD=(0,BB.observer)(function({model:e,offsetY:t}){let{classes:r}=fD(),n=(0,yB.useTheme)(),o=(0,Qe.useRef)(null),i=(0,Qe.useRef)(new Uf),s=(0,Qe.useRef)(null),[a,c]=(0,Qe.useState)(),[l,A]=(0,Qe.useState)(),[u,d]=(0,Qe.useState)(),[m,g]=(0,Qe.useState)(),{scrollY:h,treeAreaWidth:I,blockSize:C,highResScaleFactor:x}=e,y=I+di,b=C,S=y*x,v=b*x,M=(0,Qe.useCallback)(w=>{e.incrementRef(),o.current=w},[e,b,y]);(0,Qe.useEffect)(()=>{let w=o.current?.getContext("2d");if(w)return(0,wB.autorun)(()=>{w.resetTransform(),w.clearRect(0,0,(I+di)*x,C*x),zc({ctx:w,model:e,offsetY:t,clickMap:i.current,theme:n})})},[e,C,x,I,t,n]),(0,Qe.useEffect)(()=>{let w=s.current?.getContext("2d");if(w&&(w.resetTransform(),w.clearRect(0,0,I+di,C),w.translate(0,-t),u)){let{minX:T,maxX:J,minY:G,maxY:Me}=u;w.fillStyle="rgba(0,0,0,0.1)",w.fillRect(T,G,J-T,Me-G)}},[u,t,C,I]);function F(w){let T=w.nativeEvent.offsetX,J=w.nativeEvent.offsetY,[G]=i.current.search({minX:T,maxX:T+1,minY:J+t,maxY:J+1+t});return G?.branch?{...G,x:w.clientX,y:w.clientY}:void 0}function O(w){let T=w.nativeEvent.offsetX,J=w.nativeEvent.offsetY,[G]=i.current.search({minX:T,maxX:T+1,minY:J+t,maxY:J+1+t});return G&&!G.branch?{...G,x:w.clientX,y:w.clientY}:void 0}let q={width:y,height:b,top:h+t,left:0,position:"absolute"};return Qe.default.createElement(Qe.default.Fragment,null,a?.id?Qe.default.createElement(oB,{node:a,model:e,onClose:()=>{c(void 0)}}):null,l?.id?Qe.default.createElement(fB,{node:l,model:e,onClose:()=>{A(void 0)}}):null,Qe.default.createElement("canvas",{width:S,height:v,style:q,onMouseMove:w=>{if(!o.current)return;let T=O(w),J=F(w),G=T||J;if(o.current.style.cursor=G?"pointer":"default",d(T),g(G?{name:G.name,x:w.clientX,y:w.clientY}:void 0),G){if(e.setHoveredTreeNode(G.id),T?.name){let Me=e.rowNamesSet.get(T.name);Me!==void 0&&e.setMousePos(void 0,Me)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:w=>{let{clientX:T,clientY:J}=w,G=F(w);G?.id&&c({x:T,y:J,id:G.id,name:G.name});let Me=O(w);Me?.id&&A({...Me,x:T,y:J})},onMouseLeave:()=>{d(void 0),g(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:M}),Qe.default.createElement("canvas",{style:{...q,pointerEvents:"none",zIndex:100},width:y,height:b,ref:s}),m?Qe.default.createElement("div",{className:r.tooltip,style:{left:m.x+12,top:m.y+12}},m.name):null)}),SB=dD});var Ir,vB,TB,_B,mD,MB,gD,DB,kB=p(()=>{Ir=f(B(),1),vB=f(Dt(),1),TB=f($r(),1),_B=f(P(),1);QB();$c();Ta();mD="rgba(0,128,255,0.3)",MB="rgba(255,165,0,0.2)",gD=(0,_B.observer)(function({model:e}){let t=(0,Ir.useRef)(null),r=(0,Ir.useRef)(null),{treeWidth:n,height:o,blocksY:i,treeAreaWidth:s}=e,a=(0,Ir.useCallback)(A=>{e.doScrollY(A)},[e]),{onMouseDown:c,onMouseUp:l}=Ro({ref:t,onScrollY:a});return(0,Ir.useEffect)(()=>{let A=r.current?.getContext("2d");return A?(0,TB.autorun)(()=>{if((0,vB.isAlive)(e)){let{relativeTo:u,leaves:d,rowHeight:m,hoveredTreeNode:g,treeAreaWidth:h,height:I,scrollY:C,mouseOverRowName:x}=e;if(A.resetTransform(),A.clearRect(0,0,h,I),u){let y=d.find(b=>b.data.name===u);y&&(A.fillStyle=mD,A.fillRect(0,y.x+C-m/2,h,m))}if(g){A.fillStyle=MB;for(let y of g.descendantNames){let b=d.find(S=>S.data.name===y);b&&A.fillRect(0,b.x+C-m/2,h,m)}}if(x&&x!==u&&!g?.descendantNames.includes(x)){let y=d.find(b=>b.data.name===x);y&&(A.fillStyle=MB,A.fillRect(0,y.x+C-m/2,h,m))}}}):void 0},[e]),Ir.default.createElement("div",{ref:t,onMouseDown:c,onMouseUp:l,onMouseLeave:A=>{A.preventDefault()},style:{height:o,position:"relative",width:n+di}},i.map(A=>Ir.default.createElement(SB,{key:A,model:e,offsetY:A})),Ir.default.createElement("canvas",{ref:r,width:s,height:o,style:{position:"absolute",top:0,left:0,width:s,height:o,zIndex:1e3,pointerEvents:"none"}}))}),DB=gD});var qf,NB,pD,LB,FB=p(()=>{qf=f(B(),1),NB=f(P(),1);kB();pD=(0,NB.observer)(function({model:e}){let{treeAreaWidth:t}=e;return qf.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},qf.default.createElement(DB,{model:e}))}),LB=pD});var RB,PB,hD,OB,GB=p(()=>{RB=f(B(),1),PB=f(P(),1),hD=(0,PB.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return RB.default.createElement("div",{style:{flexShrink:0,width:t}})}),OB=hD});var re,no,CD,ED,ID,xD,yD,wD,JB,HB=p(()=>{re=f(B(),1),no=f(P(),1);Jh();Xh();r0();Qw();Tw();Xw();FB();GB();CD=(0,no.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(OB,{model:e}),t?re.default.createElement(vw,{model:e}):null)}),ED=(0,no.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return re.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?re.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?re.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),ID=(0,no.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(ED,{model:e}),t.map(r=>re.default.createElement(Kh,{key:r.model.id,model:e,track:r})))}),xD=(0,no.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(LB,{model:e}),re.default.createElement(Oh,{model:e}),re.default.createElement(Kw,{model:e}),t?re.default.createElement(t0,{model:e}):null)}),yD=(0,no.observer)(function({model:e}){return re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(CD,{model:e}),re.default.createElement(ID,{model:e}),re.default.createElement(xD,{model:e}))}),wD=(0,no.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e;return re.default.createElement("div",null,r?re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{height:t,overflow:"hidden"}},re.default.createElement(Sw,{model:e}),re.default.createElement(yD,{model:e})),re.default.createElement(Gh,{model:e}),n?re.default.createElement(re.Suspense,{fallback:null},re.default.createElement(n,{...o})):null):null)}),JB=wD});var UB,qB,YB,jB=p(()=>{UB=`CLUSTAL O(1.2.3) multiple sequence alignment
31
+ `);return Br.default.createElement(Br.default.Fragment,null,Br.default.createElement(Gc.Button,{color:"primary",variant:"contained",onClick:()=>{Oi(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),Br.default.createElement(dt,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),Br.default.createElement(dt,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),Br.default.createElement(Gc.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,slotProps:{input:{readOnly:!0,className:t.textAreaFont}}}))}var Br,Gc,Bx,W_,Rf=p(()=>{Br=f(S(),1),Gc=f(L(),1),Bx=f(be(),1);Oc();iu();W_=(0,Bx.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var vx={};ze(vx,{default:()=>$_});var gi,Sx,Qx,Mx,z_,$_,Tx=p(()=>{gi=f(S(),1);Fc();Ff();Sx=f(se(),1),Qx=f(L(),1),Mx=f(P(),1);Rf();z_=(0,Mx.observer)(function({model:e,onClose:t}){let{header:r}=e;return gi.default.createElement(Sx.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},gi.default.createElement(Qx.DialogContent,null,gi.default.createElement(Or,{attributes:r}),gi.default.createElement(ro,{title:"sequence"},gi.default.createElement(ds,{str:e.rows}))))}),$_=z_});var Dx={};ze(Dx,{default:()=>_x});function _x({model:e,onClose:t}){let[r,n]=(0,we.useState)(!0),[o,i]=(0,we.useState)(!0),[s,a]=(0,we.useState)("viewport"),[c,l]=(0,we.useState)(),A=(0,Ee.useTheme)(),{totalWidth:u,totalHeight:d,treeAreaWidth:m,turnedOnTracks:g}=e,C=g.length>0,x=u+m,I=d,h=s==="entire"&&(x>1e4||I>1e4);return we.default.createElement(Hc.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},we.default.createElement(Ee.DialogContent,null,c?we.default.createElement(Hc.ErrorMessage,{error:c}):null,we.default.createElement(Ee.Typography,null,"Settings:"),we.default.createElement(dt,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),C?we.default.createElement(dt,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,we.default.createElement("div",null,we.default.createElement(Ee.FormControl,null,we.default.createElement(Ee.FormLabel,null,"Export type"),we.default.createElement(Ee.RadioGroup,{value:s,onChange:y=>{a(y.target.value)}},we.default.createElement(Ee.FormControlLabel,{value:"entire",control:we.default.createElement(Ee.Radio,null),label:"Entire MSA"}),we.default.createElement(Ee.FormControlLabel,{value:"viewport",control:we.default.createElement(Ee.Radio,null),label:"Current viewport only"})))),h?we.default.createElement(Ee.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(x),"x",Math.round(I)," pixels). Export may be slow or fail."):null),we.default.createElement(Ee.DialogActions,null,we.default.createElement(Ee.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{await e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:C&&o,exportType:s}),t()}catch(y){console.error(y),l(y)}})()}},"Submit"),we.default.createElement(Ee.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var we,Hc,Ee,kx=p(()=>{we=f(S(),1),Hc=f(se(),1),Ee=f(L(),1);Oc()});var Px={};ze(Px,{default:()=>tD});var $,Lx,tt,ms,Fx,Rx,Nx,K_,X_,Z_,eD,tD,Ox=p(()=>{$=f(S(),1),Lx=f(se(),1),tt=f(L(),1),ms=f(P(),1),Fx=f(be(),1);Mc();Oc();Rx=(0,Fx.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),Nx=(e=0)=>+e.toFixed(1),K_=(0,ms.observer)(function({model:e}){return $.default.createElement($.default.Fragment,null,$.default.createElement(X_,{model:e}),$.default.createElement(Z_,{model:e}))}),X_=(0,ms.observer)(function({model:t}){let{drawTree:r,drawLabels:n,drawNodeBubbles:o,labelsAlignRight:i,showBranchLen:s}=t;return $.default.createElement("div",null,$.default.createElement("h1",null,"Tree options"),$.default.createElement(dt,{checked:s,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!s)}}),$.default.createElement(dt,{checked:o,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!o)}}),$.default.createElement(dt,{checked:r,label:"Show tree?",onChange:()=>{t.setDrawTree(!r)}}),$.default.createElement(dt,{checked:i,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!i)}}),$.default.createElement(dt,{checked:n,label:"Draw labels",onChange:()=>{t.setDrawLabels(!n)}}))}),Z_=(0,ms.observer)(function({model:t}){let{classes:r}=Rx(),{bgColor:n,colWidth:o,allowedGappyness:i,drawMsaLetters:s,colorSchemeName:a,hideGaps:c,rowHeight:l}=t;return $.default.createElement("div",null,$.default.createElement("h1",null,"MSA options"),$.default.createElement(dt,{checked:s,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!s)}}),$.default.createElement(dt,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),$.default.createElement(dt,{checked:c,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!c)}}),c?$.default.createElement("div",{className:r.flex},$.default.createElement(tt.Typography,null,"Hide columns w/ >",i,"% gaps"),$.default.createElement(tt.Slider,{className:r.field,min:1,max:100,value:i,onChange:(A,u)=>{t.setAllowedGappyness(u)}})):null,$.default.createElement("div",{className:r.flex},$.default.createElement(tt.Typography,null,"Column width (",Nx(o),"px)"),$.default.createElement(tt.Slider,{className:r.field,min:1,max:50,value:o,onChange:(A,u)=>{t.setColWidth(u)}})),$.default.createElement("div",{className:r.flex},$.default.createElement(tt.Typography,null,"Row height (",Nx(l),"px)"),$.default.createElement(tt.Slider,{className:r.field,min:1,max:50,value:l,onChange:(A,u)=>{t.setRowHeight(u)}})),$.default.createElement(tt.TextField,{select:!0,label:"Color scheme",value:a,onChange:A=>{t.setColorSchemeName(A.target.value)}},Object.keys(fi).map(A=>$.default.createElement(tt.MenuItem,{key:A,value:A},A))))}),eD=(0,ms.observer)(function({model:e,onClose:t}){let{classes:r}=Rx();return $.default.createElement(Lx.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},$.default.createElement(tt.DialogContent,{className:r.minw},$.default.createElement(K_,{model:e}),$.default.createElement(tt.DialogActions,null,$.default.createElement(tt.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),tD=eD});var no,Gx,rD,nD,oD,iD,Hx,Ux=p(()=>{no=f(S(),1);Ai();hy();Ef();Iy();EA();Gx=f(P(),1);Ky();rD=(0,no.lazy)(()=>Promise.resolve().then(()=>(Tx(),vx))),nD=(0,no.lazy)(()=>Promise.resolve().then(()=>(kx(),Dx))),oD=(0,no.lazy)(()=>Promise.resolve().then(()=>(Ox(),Px))),iD=(0,Gx.observer)(({model:e})=>no.default.createElement(Rr,{menuItems:[{label:"Return to import form",icon:as,onClick:()=>{e.reset()}},{label:"Metadata",icon:py,onClick:()=>{e.queueDialog(t=>[rD,{model:e,onClose:t}])}},{label:"More settings",icon:ma,onClick:()=>{e.queueDialog(t=>[oD,{model:e,onClose:t}])}},{label:"Domain settings",type:"subMenu",subMenu:$y({model:e})},{label:"Export SVG",icon:Ey,onClick:()=>{e.queueDialog(t=>[nD,{onClose:t,model:e}])}}],anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"}},no.default.createElement(as,null))),Hx=iD});var Uc,qc,qx,sD,jx,Jx=p(()=>{Uc=f(S(),1),qc=f(L(),1),qx=f(P(),1),sD=(0,qx.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?Uc.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Uc.default.createElement(qc.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),Uc.default.createElement(qc.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),jx=sD});var Vx,Yx,Wx,zx,aD,cD,$x,Kx=p(()=>{Vx=f(S(),1),Yx=f(L(),1),Wx=f(P(),1),zx=f(be(),1),aD=(0,zx.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),cD=(0,Wx.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=aD();return t&&r!==void 0?Vx.default.createElement(Yx.Typography,{className:n.margin},t,":",e.visibleColToSeqPosOneBased(t,r)," (",e.visibleColToRowLetter(t,r),")"):null}),$x=cD});var jc,Xx,Zx,ew,tw,lD,AD,rw,nw=p(()=>{jc=f(S(),1),Xx=f(se(),1),Zx=f(L(),1),ew=f(P(),1),tw=f(be(),1),lD=(0,tw.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),AD=(0,ew.observer)(({model:e})=>{let{status:t}=e,{classes:r}=lD();return t?jc.default.createElement(Zx.Typography,{className:r.margin},jc.default.createElement(Xx.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?jc.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null):null}),rw=AD});var ow,iw,sw=p(()=>{"use client";W();ow=f(F(),1),iw=(0,_.createSvgIcon)((0,ow.jsx)("path",{d:"M3 17v2h6v-2zM3 5v2h10V5zm10 16v-2h8v-2h-8v-2h-2v6zM7 9v2H3v2h4v2h2V9zm14 4v-2H11v2zm-6-4h2V7h4V5h-4V3h-2z"}),"Tune")});var Pf,aw,uD,cw,lw=p(()=>{Pf=f(S(),1);Ai();sw();aw=f(P(),1),uD=(0,aw.observer)(function({model:e}){let{drawMsaLetters:t,hideGaps:r,bgColor:n}=e;return Pf.default.createElement(Rr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[{label:"Draw letters",type:"checkbox",checked:t,onClick:()=>{e.setDrawMsaLetters(!t)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!n,onClick:()=>{e.setBgColor(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:r,onClick:()=>{e.setHideGaps(!r)}}]},Pf.default.createElement(iw,null))}),cw=uD});var Of,Jc,Aw,fD,uw,fw=p(()=>{Of=f(S(),1),Jc=f(L(),1),Aw=f(P(),1),fD=(0,Aw.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?Of.default.createElement(Jc.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>Of.default.createElement(Jc.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),uw=fD});var dw,mw,gw=p(()=>{"use client";W();dw=f(F(),1),mw=(0,_.createSvgIcon)((0,dw.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var Gf,pw,dD,hw,Cw=p(()=>{Gf=f(S(),1);Ai();gw();pw=f(P(),1),dD=(0,pw.observer)(function({model:e}){let{drawTree:t,showBranchLen:r,labelsAlignRight:n,drawNodeBubbles:o,drawLabels:i,rows:s}=e;return Gf.default.createElement(Rr,{closeAfterItemClick:!1,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},menuItems:[{label:"Show branch length",type:"checkbox",checked:r,onClick:()=>{e.setShowBranchLen(!r)}},{label:"Show tree",type:"checkbox",checked:t,onClick:()=>{e.setDrawTree(!t)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:o,onClick:()=>{e.setDrawNodeBubbles(!o)}},{label:"Tree labels align right",type:"checkbox",checked:n,onClick:()=>{e.setLabelsAlignRight(!n)}},{label:"Draw labels",type:"checkbox",checked:i,onClick:()=>{e.setDrawLabels(!i)}},...s.length>=2?[{label:"Advanced",type:"subMenu",subMenu:[{label:"Calculate neighbor joining tree (BLOSUM62)",onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(a){console.error("Failed to calculate NJ tree:",a),e.setError(a)}}}]}]:[]]},Gf.default.createElement(mw,null))}),hw=dD});var Hf,Ew,Iw=p(()=>{"use client";W();Hf=f(F(),1),Ew=(0,_.createSvgIcon)([(0,Hf.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,Hf.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var yw,xw,ww=p(()=>{"use client";W();yw=f(F(),1),xw=(0,_.createSvgIcon)((0,yw.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var oo,Uf,bw,mD,Bw,Sw=p(()=>{oo=f(S(),1);Iw();ww();Uf=f(L(),1),bw=f(P(),1),mD=(0,bw.observer)(function({model:t}){return oo.default.createElement(oo.default.Fragment,null,oo.default.createElement(Uf.IconButton,{onClick:()=>{t.zoomIn()}},oo.default.createElement(Ew,null)),oo.default.createElement(Uf.IconButton,{onClick:()=>{t.zoomOut()}},oo.default.createElement(xw,null)))}),Bw=mD});var Qw,Mw,vw=p(()=>{"use client";W();Qw=f(F(),1),Mw=(0,_.createSvgIcon)((0,Qw.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var Tw,_w,Dw=p(()=>{"use client";W();Tw=f(F(),1),_w=(0,_.createSvgIcon)((0,Tw.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var qf,kw,gD,Nw,Lw=p(()=>{qf=f(S(),1);Ai();vw();Dw();kw=f(P(),1),gD=(0,kw.observer)(function({model:e}){return qf.default.createElement(Rr,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:_w,onClick:()=>{e.resetZoom()}}]},qf.default.createElement(Mw,null))}),Nw=gD});var Fw,Rw=p(()=>{Fw="5.0.16"});var Gw={};ze(Gw,{default:()=>Ow});function Ow({onClose:e}){return Ve.default.createElement(Pw.Dialog,{open:!0,title:"About",onClose:()=>{e()}},Ve.default.createElement(Qt.DialogContent,null,Ve.default.createElement(Qt.Typography,null,"MSAView ",Fw," (",Ve.default.createElement(Qt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),Ve.default.createElement("ul",null,Ve.default.createElement("li",null,Ve.default.createElement(Qt.Typography,null,"We use some color schemes from the"," ",Ve.default.createElement(Qt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",Ve.default.createElement(Qt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),Ve.default.createElement("li",null,Ve.default.createElement(Qt.Typography,null,"See this page for some information on jalview colorings"," ",Ve.default.createElement(Qt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),Ve.default.createElement("li",null,Ve.default.createElement(Qt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",Ve.default.createElement(Qt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),Ve.default.createElement("li",null,Ve.default.createElement(Qt.Typography,null,"See this paper about the flower color scheme"," ",Ve.default.createElement(Qt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var Ve,Pw,Qt,Hw=p(()=>{Ve=f(S(),1),Pw=f(se(),1),Qt=f(L(),1);Rw()});function CD(){return Le.default.createElement("div",{style:{flex:1}})}var Le,Uw,qw,pD,hD,jw,Jw=p(()=>{Le=f(S(),1);sh();E0();Uw=f(L(),1),qw=f(P(),1);my();Ux();Jx();Kx();nw();lw();fw();Cw();Sw();Lw();pD=(0,Le.lazy)(()=>Promise.resolve().then(()=>(Hw(),Gw))),hD=(0,qw.observer)(function({model:e}){let[t,{height:r}]=HA();return(0,Le.useEffect)(()=>{e.setHeaderHeight(r||0)},[e,r]),Le.default.createElement("div",{ref:t,style:{display:"flex"}},Le.default.createElement(Hx,{model:e}),Le.default.createElement(dy,{model:e}),Le.default.createElement(hw,{model:e}),Le.default.createElement(cw,{model:e}),Le.default.createElement(Bw,{model:e}),Le.default.createElement(Nw,{model:e}),Le.default.createElement(jx,{model:e}),Le.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},Le.default.createElement(uw,{model:e})),Le.default.createElement($x,{model:e}),Le.default.createElement(CD,null),Le.default.createElement(rw,{model:e}),Le.default.createElement(Uw.IconButton,{onClick:()=>{e.queueDialog(n=>[pD,{onClose:n}])}},Le.default.createElement(C0,null)))});jw=hD});var jt,Vw,ED,Yw,Ww=p(()=>{jt=f(S(),1),Vw=f(P(),1),ED=(0,Vw.observer)(function({model:e}){let[t,r]=(0,jt.useState)(),[n,o]=(0,jt.useState)(!1),i=(0,jt.useRef)(!1),{scrollX:s,msaAreaWidth:a,minimapHeight:c,colWidth:l,numColumns:A}=e,u=a/A/l,d=-s,m=d+a,g=d*u,C=m*u,x="rgba(66, 119, 127, 0.3)",I=Math.max(C-g,20);(0,jt.useEffect)(()=>{function b(v){t!==void 0&&(i.current||(i.current=!0,window.requestAnimationFrame(()=>{e.setScrollX(t.scrollX-(v.clientX-t.clientX)/u),i.current=!1})))}function w(){r(void 0)}if(t!==void 0)return document.addEventListener("mousemove",b),document.addEventListener("mouseup",w),()=>{document.removeEventListener("mousemove",b),document.removeEventListener("mousemove",w)}},[e,u,t]);let h=12,y=c-h;return jt.default.createElement("div",{style:{position:"relative",height:c,width:"100%"}},jt.default.createElement("div",{style:{height:h,boxSizing:"border-box",border:"1px solid #555"}}),jt.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,g),background:n?"rgba(66,119,127,0.6)":x,cursor:"pointer",height:h,width:I,zIndex:100},onMouseOver:()=>{o(!0)},onMouseOut:()=>{o(!1)},onMouseDown:b=>{r({clientX:b.clientX,scrollX:e.scrollX})}}),jt.default.createElement("svg",{height:y,style:{width:"100%"}},jt.default.createElement("polygon",{fill:x,points:[[g+I,0],[g,0],[0,y],[a,y]].toString()})))}),Yw=ED});function jf(){return Vc.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},Vc.default.createElement(Yc.CircularProgress,null),Vc.default.createElement(Yc.Typography,null,"Loading..."))}var Vc,Yc,zw=p(()=>{Vc=f(S(),1),Yc=f(L(),1)});function Wc({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{leaves:s,blockSize:a,rowHeight:c,highResScaleFactor:l,showDomains:A}=e;if(A){let u=o||l,d=i||a;n.resetTransform(),n.scale(u,u),n.translate(-t,c/2-r);let m=Math.max(0,Math.floor((r-c)/c)),g=Math.max(0,Math.ceil((r+d+c)/c)),C=s.slice(m,g);ID({model:e,ctx:n,visibleLeaves:C})}}function ID({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:d,data:{name:m}}=u,g=d,C=c[m];if(C)for(let x=0,I=C.length;x<I;x++){let{start:h,end:y,accession:b}=C[x],w=e.seqPosToVisibleCol(m,h-1),v=e.seqPosToVisibleCol(m,y);if(w===void 0||v===void 0)continue;let M=w*o;t.fillStyle=s[b],t.strokeStyle=a[b];let R=n?4:i,T=g-i+(n?x*R:0),V=o*(v-w);t.fillRect(M,T,V,R),t.strokeRect(M,T,V,R)}}}var Jf=p(()=>{});function zc({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:d,highResScaleFactor:m,actuallyShowDomains:g,leaves:C,bgColor:x}=e,I=s||m,h=a||A,y=c||A;o.resetTransform(),o.scale(I,I),o.translate(-t,u/2-r),o.textAlign="center",o.font=o.font.replace(/\d+px/,`${x?"":"bold "}${d}px`);let b=Math.max(0,Math.floor((r-u)/u)),w=Math.max(0,Math.ceil((r+y+u)/u)),v=Math.max(0,Math.floor(t/l)),M=Math.max(0,Math.ceil((t+h)/l)),R=C.slice(b,w);g||yD({model:e,ctx:o,theme:i,offsetX:t,xStart:v,xEnd:M,visibleLeaves:R}),xD({model:e,ctx:o,offsetX:t,contrastScheme:n,xStart:v,xEnd:M,visibleLeaves:R}),wD({model:e,ctx:o,xStart:v,xEnd:M,visibleLeaves:R}),o.resetTransform()}function yD({model:e,offsetX:t,ctx:r,visibleLeaves:n,theme:o,xStart:i,xEnd:s}){let{bgColor:a,colorSchemeName:c,colorScheme:l,columns:A,colWidth:u,rowHeight:d,relativeTo:m}=e,g=m?A[m]?.slice(i,s):null,C=c==="clustalx_protein_dynamic",x=c==="percent_identity_dynamic",I=t-t%u;for(let h=0,y=n.length;h<y;h++){let b=n[h],{data:{name:w}}=b,v=b.x,M=A[w]?.slice(i,s);if(M)for(let R=0,T=M.length;R<T;R++){let V=M[R],Q=g&&w!==m&&V===g[R],D=C?e.colClustalX[i+R][V]:x?(()=>{let H=e.colConsensus[i+R];return V===H.letter?H.color:void 0})():l[V.toUpperCase()];if(a||C||x){let H=Q?o.palette.action.hover:D||o.palette.background.default;r.fillStyle=H,r.fillRect(R*u+I,v-d,u,d)}}}}function xD({model:e,offsetX:t,contrastScheme:r,ctx:n,visibleLeaves:o,xStart:i,xEnd:s}){let{bgColor:a,actuallyShowDomains:c,showMsaLetters:l,colorScheme:A,columns:u,colWidth:d,rowHeight:m,relativeTo:g}=e,C=g?u[g]?.slice(i,s):null;if(l){let x=t-t%d,I=d/2,h=m/4;for(let y=0,b=o.length;y<b;y++){let w=o[y],{data:{name:v}}=w,M=w.x-h,R=u[v]?.slice(i,s);if(R)for(let T=0,V=R.length;T<V;T++){let Q=R[T],H=C&&v!==g&&Q===C[T]?".":Q,G=A[Q.toUpperCase()],xe=r[Q.toUpperCase()]||"black";n.fillStyle=c?"black":a?xe:G||"black",n.fillText(H,T*d+x+I,M)}}}}function wD({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",$w({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",$w({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function $w({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,d=l.get(u);if(d){let m=A.x;for(let{pos:g}of d)if(g>=n&&g<o){let C=g*a,x=m-c,I=m;t.beginPath(),t.moveTo(C+i,x+i);let h=x,y=!0;for(;h<I;){let b=Math.min(h+2,I),w=y?C+1:C-1;t.lineTo(w+i,b+i),h=b,y=!y}t.stroke()}}}}var Vf=p(()=>{});var Jt,Kw,Xw,Zw,eb,bD,tb,rb=p(()=>{Jt=f(S(),1),Kw=f(se(),1),Xw=f(L(),1),Zw=f(en(),1),eb=f(P(),1);Jf();Vf();Sn();bD=(0,eb.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,d=(0,Xw.useTheme)(),m=(0,Jt.useMemo)(()=>eo(a,d),[a,d]),g=(0,Jt.useRef)(null);(0,Jt.useEffect)(()=>{let h=g.current?.getContext("2d");if(h)return(0,Zw.autorun)(()=>{h.resetTransform(),h.clearRect(0,0,c*u,c*u),e.actuallyShowDomains&&Wc({ctx:h,offsetX:t,offsetY:r,model:e}),zc({ctx:h,theme:d,offsetX:t,offsetY:r,contrastScheme:m,model:e})})},[e,t,r,d,c,u,m]);let[C,x]=(0,Jt.useState)(),{hoveredInsertion:I}=e;return Jt.default.createElement(Jt.default.Fragment,null,Jt.default.createElement("canvas",{ref:g,onMouseMove:h=>{if(!g.current)return;x({x:h.clientX,y:h.clientY});let{left:y,top:b}=g.current.getBoundingClientRect(),w=h.clientX-y+t,v=h.clientY-b+r,M=Math.floor(w/n),R=Math.floor(v/o);M>=0&&M<e.numColumns&&R>=0&&R<e.numRows?e.setMousePos(M,R):e.setMousePos(void 0,void 0)},onClick:h=>{if(!g.current)return;let{left:y,top:b}=g.current.getBoundingClientRect(),w=h.clientX-y+t,v=h.clientY-b+r,M=Math.floor(w/n),R=Math.floor(v/o);M===l&&R===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(M,R)},onMouseLeave:()=>{e.setMousePos(),x(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),I&&C?Jt.default.createElement(Kw.BaseTooltip,{clientPoint:{x:C.x,y:C.y+15}},"Insertion (",I.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",I.letters.length>20?`${I.letters.slice(0,20)}...`:I.letters):null)}),tb=bD});var An,nb,BD,ob,ib=p(()=>{An=f(S(),1),nb=f(P(),1);zw();rb();Fa();BD=(0,nb.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s}=e,a=(0,An.useRef)(null),c=(0,An.useCallback)(d=>{e.doScrollX(d)},[e]),l=(0,An.useCallback)(d=>{e.doScrollY(d)},[e]),{onMouseDown:A,onMouseUp:u}=Oo({ref:a,onScrollX:c,onScrollY:l});return An.default.createElement("div",{ref:a,onMouseDown:A,onMouseUp:u,onMouseLeave:d=>{d.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([d,m])=>An.default.createElement(tb,{key:`${d}_${m}`,model:e,offsetX:d,offsetY:m})):An.default.createElement(jf,null))}),ob=BD});function ab({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseClickRow:u,mouseClickCol:d,relativeTo:m,rowNamesSet:g,hoveredTreeNode:C,highlightedColumns:x}=t,I=o-i;if(e.resetTransform(),e.clearRect(0,0,I,s),m){let h=g.get(m);h!==void 0&&(e.fillStyle=SD,e.fillRect(0,h*a+l,I,a))}if(C){e.fillStyle=QD;for(let h of C.descendantNames){let y=g.get(h);y!==void 0&&e.fillRect(0,y*a+l,I,a)}}if(x?.length){e.fillStyle=Yf;for(let h of x)e.fillRect(h*n+c,0,n,s)}r!==void 0&&(e.fillStyle=sb,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=sb,e.fillRect(0,A*a+l,I,a)),d!==void 0&&(e.fillStyle=Yf,e.fillRect(d*n+c,0,n,s)),u!==void 0&&(e.fillStyle=Yf,e.fillRect(0,u*a+l,I,a))}var sb,Yf,SD,QD,cb=p(()=>{sb="rgba(0,0,0,0.15)",Yf="rgba(128,128,0,0.2)",SD="rgba(0,128,255,0.3)",QD="rgba(255,165,0,0.15)"});var pi,lb,Ab,ub,MD,fb,db=p(()=>{pi=f(S(),1),lb=f(Lt(),1),Ab=f(en(),1),ub=f(P(),1);cb();MD=(0,ub.observer)(function({model:e}){let t=(0,pi.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o}=e,i=n-o;return(0,pi.useEffect)(()=>{let s=t.current?.getContext("2d");return s?(0,Ab.autorun)(()=>{(0,lb.isAlive)(e)&&ab({ctx:s,model:e})}):void 0},[e]),pi.default.createElement("canvas",{ref:t,id:"mouseover",width:i,height:r,style:{position:"absolute",top:0,left:0,width:i,height:r,zIndex:1e3,pointerEvents:"none"}})}),fb=MD});var $c,mb,vD,gb,pb=p(()=>{$c=f(S(),1),mb=f(P(),1);ib();db();vD=(0,mb.observer)(function({model:e}){return $c.default.createElement("div",{style:{position:"relative"}},$c.default.createElement(ob,{model:e}),$c.default.createElement(fb,{model:e}))}),gb=vD});var gs,hb=p(()=>{gs=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,r){let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}});function Eb(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function TD(e,t,r,n,o,i){let s=[n,o];for(;s.length;){let a=s.pop()||0,c=s.pop()||0;if(a-c<=i&&Math.floor(c/i)>=Math.floor(a/i))continue;let l=e[c],A=e[c+a>>1],u=e[a],d=l>A!=l>u?l:A<l!=A<u?A:u,m=c-1,g=a+1;for(;;){do m++;while(e[m]<d);do g--;while(e[g]>d);if(m>=g)break;_D(e,t,r,m,g)}s.push(c,g,g+1,a)}}function _D(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let d=r[n];r[n]=r[o],r[o]=d}function DD(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o>>1^n&i>>1^o,l=r&o>>1^i>>1^i;r=s,n=a,o=c,i=l,s=r&r>>2^n&n>>2,a=r&n>>2^n&(r^n)>>2,c^=r&o>>2^n&i>>2,l^=n&o>>2^(r^n)&i>>2,r=s,n=a,o=c,i=l,s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c^=r&o>>4^n&i>>4,l^=n&o>>4^(r^n)&i>>4,r=s,n=a,o=c,i=l,c^=r&o>>8^n&i>>8,l^=n&o>>8^(r^n)&i>>8,r=c^c>>1,n=l^l>>1;let A=e^t,u=n|65535^(A|r);return A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,(u<<1|A)>>>0}var Cb,Wf,ps,Ib=p(()=>{hb();Cb=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Wf=3,ps=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==Wf)throw new Error(`Got v${i} data when expected v${Wf}.`);let s=Cb[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=Cb.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this._boxes=new n(i,s+8,c*4),this._indices=new this.IndexArrayType(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let u=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(u,8,c*4),this._indices=new this.IndexArrayType(u,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(u,0,2).set([251,(Wf<<4)+l]),new Uint16Array(u,2,1)[0]=r,new Uint32Array(u,4,1)[0]=t}this._queue=new gs}add(t,r,n=t,o=r){let i=this._pos>>2,s=this._boxes;return this._indices[i]=i,s[this._pos++]=t,s[this._pos++]=r,s[this._pos++]=n,s[this._pos++]=o,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),i}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let r=this.maxX-this.minX||1,n=this.maxY-this.minY||1,o=new Uint32Array(this.numItems),i=65535;for(let s=0,a=0;s<this.numItems;s++){let c=t[a++],l=t[a++],A=t[a++],u=t[a++],d=Math.floor(i*((c+A)/2-this.minX)/r),m=Math.floor(i*((l+u)/2-this.minY)/n);o[s]=DD(d,m)}TD(o,t,this._indices,0,this.numItems-1,this.nodeSize);for(let s=0,a=0;s<this._levelBounds.length-1;s++){let c=this._levelBounds[s];for(;a<c;){let l=a,A=t[a++],u=t[a++],d=t[a++],m=t[a++];for(let g=1;g<this.nodeSize&&a<c;g++)A=Math.min(A,t[a++]),u=Math.min(u,t[a++]),d=Math.max(d,t[a++]),m=Math.max(m,t[a++]);this._indices[this._pos>>2]=l,t[this._pos++]=A,t[this._pos++]=u,t[this._pos++]=d,t[this._pos++]=m}}}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=[],c=[];for(;s!==void 0;){let l=Math.min(s+this.nodeSize*4,Eb(s,this._levelBounds));for(let A=s;A<l;A+=4){let u=this._boxes[A];if(n<u)continue;let d=this._boxes[A+1];if(o<d)continue;let m=this._boxes[A+2];if(t>m)continue;let g=this._boxes[A+3];if(r>g)continue;let C=this._indices[A>>2]|0;s>=this.numItems*4?a.push(C):(i===void 0||i(C,u,d,m,g))&&c.push(C)}s=a.pop()}return c}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=this._queue,c=[],l=o*o;e:for(;s!==void 0;){let A=Math.min(s+this.nodeSize*4,Eb(s,this._levelBounds));for(let u=s;u<A;u+=4){let d=this._indices[u>>2]|0,m=this._boxes[u],g=this._boxes[u+1],C=this._boxes[u+2],x=this._boxes[u+3],I=t<m?m-t:t>C?t-C:0,h=r<g?g-r:r>x?r-x:0,y=I*I+h*h;y>l||(s>=this.numItems*4?a.push(d<<1,y):(i===void 0||i(d))&&a.push((d<<1)+1,y))}for(;a.length&&a.peek()&1;)if(a.peekValue()>l||(c.push(a.pop()>>1),c.length===n))break e;s=a.length?a.pop()>>1:void 0}return a.clear(),c}}});var hs,hi,yb,kD,xb,wb=p(()=>{hs=f(S(),1),hi=f(L(),1),yb=f(P(),1),kD=(0,yb.observer)(function({node:e,model:t,onClose:r}){return hs.default.createElement(hi.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},hs.default.createElement(hi.MenuItem,{dense:!0,disabled:!0},e.name),hs.default.createElement(hi.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),hs.default.createElement(hi.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),xb=kD});var Qb={};ze(Qb,{default:()=>LD});var Gr,bb,Bb,Sb,ND,LD,Mb=p(()=>{Gr=f(S(),1);Fc();Ff();bb=f(se(),1),Bb=f(L(),1),Sb=f(P(),1);Rf();ND=(0,Sb.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Gr.default.createElement(bb.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Gr.default.createElement(Bb.DialogContent,null,Gr.default.createElement(ro,{title:"Attributes"},Gr.default.createElement(Or,{attributes:{nodeName:r,...e}})),Gr.default.createElement(ro,{title:"Sequence"},a?Gr.default.createElement(ds,{str:[a]}):Gr.default.createElement("div",null,"Sequence not found")),s?Gr.default.createElement(ro,{title:"Extra metadata"},Gr.default.createElement(Or,{attributes:s})):null))}),LD=ND});var un,vn,vb,FD,RD,Tb,_b=p(()=>{un=f(S(),1),vn=f(L(),1),vb=f(P(),1),FD=(0,un.lazy)(()=>Promise.resolve().then(()=>(Mb(),Qb))),RD=(0,vb.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n}=r,{name:o,id:i}=e,s=n.includes(i);return un.default.createElement(vn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},un.default.createElement(vn.MenuItem,{dense:!0,disabled:!0},o),un.default.createElement(vn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(a=>[FD,{info:r.getRowData(o),model:r,nodeName:o,onClose:a}]),t()}},"More info..."),un.default.createElement(vn.MenuItem,{dense:!0,onClick:()=>{r.toggleCollapsed(i),t()}},s?"Show node":"Hide node"),un.default.createElement(vn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?un.default.createElement(vn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),Tb=RD});function Db(e){let t=0;if(e.children)for(let r of e.children){let n=Db(r)+1;n>t&&(t=n)}return e.height=t,t}function kb(e,t,r,n){let o=t(e),i={data:e,children:null,parent:r,depth:n,height:0};return o?.length&&(i.children=o.map(s=>kb(s,t,i,n+1))),i}function Nb(e,t){let r=kb(e,t,null,0);return Db(r),r}function Lb(e,t){function r(n){let o=t(n.data);if(n.children)for(let i of n.children)o+=r(i);return n.value=o,o}return r(e),e}function Fb(e,t){function r(n){if(n.children){n.children.sort(t);for(let o of n.children)r(o)}}return r(e),e}function Cs(e,t){if(t(e))return e;if(e.children)for(let r of e.children){let n=Cs(r,t);if(n)return n}}function Es(e){let t=[];function r(n){if(n.children)for(let o of n.children)r(o);else t.push(n)}return r(e),t}function Rb(e){let t=[];function r(n){if(t.push(n),n.children)for(let o of n.children)r(o)}return r(e),t}function Kc(e){let t=[];function r(n){if(n.children)for(let o of n.children)t.push({source:n,target:o}),r(o)}return r(e),t}function Pb(e,t,r){let n=Es(e),o=n.length,i=t/o;for(let l=0;l<o;l++)n[l].x=(l+.5)*i;function s(l){if(!l.children)return;for(let u of l.children)s(u);let A=0;for(let u of l.children)A+=u.x;l.x=A/l.children.length}s(e);let a=e.height;function c(l,A){if(l.y=a===0?r:A/a*r,l.children)for(let u of l.children)c(u,A+1)}c(e,0)}function Ob(e){e.children&&(e._children=e.children,e.children=null)}function zf(e){return(e.data.length||0)+(e.children?e.children.reduce((t,r)=>Math.max(t,zf(r)),0):0)}function $f(e,t,r){if(e.len=(t+=Math.max(e.data.length||0,0))*r,e.children)for(let n of e.children)$f(n,t,r)}var Kf=p(()=>{});function Is(e){if(e.depthToLeaf!==void 0)return e.depthToLeaf;if(!e.children||e.children.length===0)e.depthToLeaf=0;else{let t=0;for(let r of e.children)t=Math.max(t,1+Is(r));e.depthToLeaf=t}return e.depthToLeaf}function el(e){let t=e.len||0;if(e.children)for(let r of e.children)t=Math.max(t,el(r));return t}function Zc(e,t,r,n){if(t)return e.len;let o=Is(e);return(n-o)/n*r}function PD({offsetY:e,ctx:t,model:r,theme:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,blockSize:a}=r,c=o||a;t.strokeStyle=n.palette.text.primary;let l=el(i),A=Is(i);for(let u of Kc(i)){let{source:d,target:m}=u,g=d.x,C=m.x,x=Zc(m,s,l,A),I=Zc(d,s,l,A);if(x===void 0||I===void 0)continue;let h=Math.min(g,C),y=Math.max(g,C);e+c>=h&&y>=e&&(t.beginPath(),t.moveTo(I,g),t.lineTo(I,C),t.lineTo(x,C),t.stroke())}}function OD({ctx:e,clickMap:t,offsetY:r,model:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,collapsed:a,blockSize:c,marginLeft:l}=n,A=o||c,u=el(i),d=Is(i);for(let m of Rb(i)){let g=Zc(m,s,u,d);if(g===void 0)continue;let{data:C}=m,x=m.x,{id:I,name:h}=C;m.height>=1&&x>r-Xc&&x<r+A+Xc&&(e.strokeStyle="black",e.fillStyle=a.includes(I)?"black":"white",e.beginPath(),e.arc(g,x,io,0,2*Math.PI),e.fill(),e.stroke(),t?.insert({minX:g-io+l,maxX:g-io+Xf+l,minY:x-io,maxY:x-io+Xf,branch:!0,id:I,name:h}))}}function GD({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,blockSizeYOverride:i}){let{fontSize:s,showBranchLenEffective:a,treeMetadata:c,blockSize:l,labelsAlignRight:A,drawTree:u,treeAreaWidth:d,treeAreaWidthMinusMargin:m,marginLeft:g,leaves:C,noTree:x,hierarchy:I}=t,h=i||l,y=n.measureText("M").width;A?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";let b=el(I),w=Is(I);for(let v of C){let{data:{name:M,id:R}}=v,T=v.x,V=c[M]?.genome||M;if(T>r-Xc&&T<r+h+Xc){let Q=T+s/4,D=0;x||(D=Zc(v,a,b,w)||0);let{width:H}=n.measureText(V);if(n.fillStyle=e.palette.text.primary,A){let xe=m-2;u&&!x&&(n.moveTo(D+io+2,T),n.lineTo(xe-2-H,T),n.stroke()),n.fillText(V,xe,Q),o?.insert({minX:d-H,maxX:d,minY:Q-y,maxY:Q,name:M,id:R})}else{let G=x?2:D+Xf;n.fillText(V,G,Q),o?.insert({minX:G+g,maxX:G+H+g,minY:Q-y,maxY:Q,name:M,id:R})}}}n.setLineDash([])}function tl({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:d,marginLeft:m,nref:g,rowHeight:C}=e;r.resetTransform();let x=g<0?Number.NEGATIVE_INFINITY:i||A;r.scale(x,x),r.translate(m,-n);let I=r.font;r.font=I.replace(/\d+px/,`${u}px`),!a&&c&&(PD({ctx:r,offsetY:n,model:e,theme:o,blockSizeYOverride:s}),l&&OD({ctx:r,offsetY:n,clickMap:t,model:e,blockSizeYOverride:s})),d&&GD({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,blockSizeYOverride:s}),t?.finish()}var Ci,Xc,io,Xf,rl=p(()=>{Kf();Ci=600,Xc=5,io=2.5,Xf=io*2});var Te,Gb,Hb,Ub,qb,HD,Zf,UD,jb,Jb=p(()=>{Te=f(S(),1),Gb=f(L(),1);Ib();Hb=f(en(),1),Ub=f(P(),1),qb=f(be(),1);wb();_b();rl();HD=(0,qb.makeStyles)()(e=>({tooltip:{position:"fixed",pointerEvents:"none",zIndex:1e4,backgroundColor:e.palette.grey[700],color:e.palette.common.white,padding:"4px 8px",borderRadius:4,fontSize:12,whiteSpace:"nowrap",maxWidth:300,overflow:"hidden",textOverflow:"ellipsis"}})),Zf=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0){this.flatbush=null;return}else{this.flatbush=new ps(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},UD=(0,Ub.observer)(function({model:e,offsetY:t}){let{classes:r}=HD(),n=(0,Gb.useTheme)(),o=(0,Te.useRef)(null),i=(0,Te.useRef)(new Zf),s=(0,Te.useRef)(null),[a,c]=(0,Te.useState)(),[l,A]=(0,Te.useState)(),[u,d]=(0,Te.useState)(),[m,g]=(0,Te.useState)(),{scrollY:C,treeAreaWidth:x,blockSize:I,highResScaleFactor:h}=e,y=x+Ci,b=I,w=y*h,v=b*h,M=(0,Te.useCallback)(Q=>{e.incrementRef(),o.current=Q},[e,b,y]);(0,Te.useEffect)(()=>{let Q=o.current?.getContext("2d");if(Q)return(0,Hb.autorun)(()=>{Q.resetTransform(),Q.clearRect(0,0,(x+Ci)*h,I*h),tl({ctx:Q,model:e,offsetY:t,clickMap:i.current,theme:n})})},[e,I,h,x,t,n]),(0,Te.useEffect)(()=>{let Q=s.current?.getContext("2d");if(Q&&(Q.resetTransform(),Q.clearRect(0,0,x+Ci,I),Q.translate(0,-t),u)){let{minX:D,maxX:H,minY:G,maxY:xe}=u;Q.fillStyle="rgba(0,0,0,0.1)",Q.fillRect(D,G,H-D,xe-G)}},[u,t,I,x]);function R(Q){let D=Q.nativeEvent.offsetX,H=Q.nativeEvent.offsetY,[G]=i.current.search({minX:D,maxX:D+1,minY:H+t,maxY:H+1+t});return G?.branch?{...G,x:Q.clientX,y:Q.clientY}:void 0}function T(Q){let D=Q.nativeEvent.offsetX,H=Q.nativeEvent.offsetY,[G]=i.current.search({minX:D,maxX:D+1,minY:H+t,maxY:H+1+t});return G&&!G.branch?{...G,x:Q.clientX,y:Q.clientY}:void 0}let V={width:y,height:b,top:C+t,left:0,position:"absolute"};return Te.default.createElement(Te.default.Fragment,null,a?.id?Te.default.createElement(xb,{node:a,model:e,onClose:()=>{c(void 0)}}):null,l?.id?Te.default.createElement(Tb,{node:l,model:e,onClose:()=>{A(void 0)}}):null,Te.default.createElement("canvas",{width:w,height:v,style:V,onMouseMove:Q=>{if(!o.current)return;let D=T(Q),H=R(Q),G=D||H;if(o.current.style.cursor=G?"pointer":"default",d(D),g(G?{name:G.name,x:Q.clientX,y:Q.clientY}:void 0),G){if(e.setHoveredTreeNode(G.id),D?.name){let xe=e.rowNamesSet.get(D.name);xe!==void 0&&e.setMousePos(void 0,xe)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:Q=>{let{clientX:D,clientY:H}=Q,G=R(Q);G?.id&&c({x:D,y:H,id:G.id,name:G.name});let xe=T(Q);xe?.id&&A({...xe,x:D,y:H})},onMouseLeave:()=>{d(void 0),g(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:M}),Te.default.createElement("canvas",{style:{...V,pointerEvents:"none",zIndex:100},width:y,height:b,ref:s}),m?Te.default.createElement("div",{className:r.tooltip,style:{left:m.x+12,top:m.y+12}},m.name):null)}),jb=UD});var Sr,Yb,Wb,zb,qD,Vb,jD,$b,Kb=p(()=>{Sr=f(S(),1),Yb=f(Lt(),1),Wb=f(en(),1),zb=f(P(),1);Jb();rl();Fa();qD="rgba(0,128,255,0.3)",Vb="rgba(255,165,0,0.2)",jD=(0,zb.observer)(function({model:e}){let t=(0,Sr.useRef)(null),r=(0,Sr.useRef)(null),{treeWidth:n,height:o,blocksY:i,treeAreaWidth:s}=e,a=(0,Sr.useCallback)(A=>{e.doScrollY(A)},[e]),{onMouseDown:c,onMouseUp:l}=Oo({ref:t,onScrollY:a});return(0,Sr.useEffect)(()=>{let A=r.current?.getContext("2d");return A?(0,Wb.autorun)(()=>{if((0,Yb.isAlive)(e)){let{relativeTo:u,leaves:d,rowHeight:m,hoveredTreeNode:g,treeAreaWidth:C,height:x,scrollY:I,mouseOverRowName:h}=e;if(A.resetTransform(),A.clearRect(0,0,C,x),u){let y=d.find(b=>b.data.name===u);y&&(A.fillStyle=qD,A.fillRect(0,y.x+I-m/2,C,m))}if(g){A.fillStyle=Vb;for(let y of g.descendantNames){let b=d.find(w=>w.data.name===y);b&&A.fillRect(0,b.x+I-m/2,C,m)}}if(h&&h!==u&&!g?.descendantNames.includes(h)){let y=d.find(b=>b.data.name===h);y&&(A.fillStyle=Vb,A.fillRect(0,y.x+I-m/2,C,m))}}}):void 0},[e]),Sr.default.createElement("div",{ref:t,onMouseDown:c,onMouseUp:l,onMouseLeave:A=>{A.preventDefault()},style:{height:o,position:"relative",width:n+Ci}},i.map(A=>Sr.default.createElement(jb,{key:A,model:e,offsetY:A})),Sr.default.createElement("canvas",{ref:r,width:s,height:o,style:{position:"absolute",top:0,left:0,width:s,height:o,zIndex:1e3,pointerEvents:"none"}}))}),$b=jD});var ed,Xb,JD,Zb,eB=p(()=>{ed=f(S(),1),Xb=f(P(),1);Kb();JD=(0,Xb.observer)(function({model:e}){let{treeAreaWidth:t}=e;return ed.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},ed.default.createElement($b,{model:e}))}),Zb=JD});var tB,rB,VD,nB,oB=p(()=>{tB=f(S(),1),rB=f(P(),1),VD=(0,rB.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return tB.default.createElement("div",{style:{flexShrink:0,width:t}})}),nB=VD});var re,so,YD,WD,zD,$D,KD,XD,iB,sB=p(()=>{re=f(S(),1),so=f(P(),1);t0();f0();p0();Jw();Ww();pb();eB();oB();YD=(0,so.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(nB,{model:e}),t?re.default.createElement(Yw,{model:e}):null)}),WD=(0,so.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return re.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?re.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?re.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),zD=(0,so.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(WD,{model:e}),t.map(r=>re.default.createElement(u0,{key:r.model.id,model:e,track:r})))}),$D=(0,so.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(Zb,{model:e}),re.default.createElement(Zh,{model:e}),re.default.createElement(gb,{model:e}),t?re.default.createElement(g0,{model:e}):null)}),KD=(0,so.observer)(function({model:e}){return re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(YD,{model:e}),re.default.createElement(zD,{model:e}),re.default.createElement($D,{model:e}))}),XD=(0,so.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e;return re.default.createElement("div",null,r?re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{height:t,overflow:"hidden"}},re.default.createElement(jw,{model:e}),re.default.createElement(KD,{model:e})),re.default.createElement(e0,{model:e}),n?re.default.createElement(re.Suspense,{fallback:null},re.default.createElement(n,{...o})):null):null)}),iB=XD});var aB,cB,lB,AB=p(()=>{aB=`CLUSTAL O(1.2.3) multiple sequence alignment
32
32
  UniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM
33
33
  UniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI
34
34
  UniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM
@@ -41,7 +41,7 @@ UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP----------------
41
41
  UniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------
42
42
  UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST
43
43
  UniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------
44
- `,qB=`CLUSTAL O(1.2.4) multiple sequence alignment
44
+ `,cB=`CLUSTAL O(1.2.4) multiple sequence alignment
45
45
 
46
46
 
47
47
  sp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG 60
@@ -57,23 +57,23 @@ sp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHF
57
57
  sp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR 142
58
58
  sp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR 142
59
59
  sp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR 142
60
- .**: ****: ** ***.***`,YB="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function Kc(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var Yf=p(()=>{});function Rr({onClick:e,model:t,children:r}){return St.default.createElement("li",null,St.default.createElement(Xc.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},St.default.createElement(Xc.Typography,{display:"inline"},r)))}var St,Xc,VB,Qn,BD,WB,zB=p(()=>{St=f(B(),1),Xc=f(k(),1),VB=f(P(),1);jB();Yf();Qn="https://jbrowse.org/genomes/multiple_sequence_alignments",BD=(0,VB.observer)(function({model:e}){function t({msa:r,tree:n,gff:o}){(async()=>{try{await Kc(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0,o?{uri:o,locationType:"UriLocation"}:void 0)}catch(i){console.error(i),e.setError(i)}})()}return St.default.createElement("ul",null,St.default.createElement(Rr,{model:e,onClick:()=>{t({tree:"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh"})}},"230k COVID-19 samples (tree only)"),St.default.createElement(Rr,{model:e,onClick:()=>{e.setData({msa:UB,tree:YB})}},"Small protein MSA+tree"),St.default.createElement(Rr,{model:e,onClick:()=>{e.setData({msa:qB})}},"Small MSA only"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/pfam-cov2.stock`})}},"PFAM SARS-CoV2 multi-stockholm"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/pfam-cov2.stock`,gff:`${Qn}/pfam-cov2-domains.gff`})}},"PFAM SARS-CoV2 multi-stockholm w/ domains loaded"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/Lysine.stock`})}},"Lysine stockholm file"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/PF01601_full.txt`})}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/europe_covid.fa`})}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:`${Qn}/rhv_test-only.aligned_with_mafft_auto.fa`,tree:`${Qn}/rhv_test-only.aligned_with_mafft_auto.nh`})}},"MAFFT+VeryFastTree(17.9k samples)"),St.default.createElement(Rr,{model:e,onClick:()=>{t({msa:"https://jbrowse.org/demos/ttc39a.mfa"})}},"Human BLAST results mfa"))}),WB=BD});var de,mi,xr,$B,bD,KB,XB=p(()=>{de=f(B(),1),mi=f(ue(),1),xr=f(k(),1),$B=f(P(),1);zB();Yf();bD=(0,$B.observer)(function({model:e}){let[t,r]=(0,de.useState)(),[n,o]=(0,de.useState)(),[i,s]=(0,de.useState)(),{error:a}=e;return de.default.createElement(xr.Container,null,de.default.createElement("div",{style:{width:"50%"}},a?de.default.createElement(mi.ErrorMessage,{error:a}):null,de.default.createElement(xr.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),de.default.createElement(xr.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),de.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},de.default.createElement("div",null,de.default.createElement("div",null,de.default.createElement(xr.Typography,null,"MSA file or URL"),de.default.createElement(mi.FileSelector,{location:t,setLocation:r})),de.default.createElement("div",null,de.default.createElement(xr.Typography,null,"Tree file or URL"),de.default.createElement(mi.FileSelector,{location:n,setLocation:o})),de.default.createElement("div",null,de.default.createElement(xr.Typography,null,"InterProScan GFF file or URL (optional)"),de.default.createElement(mi.FileSelector,{location:i,setLocation:s}))),de.default.createElement("div",null,de.default.createElement(xr.Button,{onClick:()=>{(async()=>{try{await Kc(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),de.default.createElement("div",null,de.default.createElement(xr.Typography,null,"Examples"),de.default.createElement(WB,{model:e}))))}),KB=bD});function ZB(){return it.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},it.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},it.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),it.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),it.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),it.default.createElement(Zc.Typography,{variant:"h6"},"Loading..."))}var it,eb,Zc,jf,SD,QD,el,Vf=p(()=>{it=f(B(),1),eb=f(ue(),1);jA();Zc=f(k(),1),jf=f(P(),1);HB();XB();SD=(0,jf.observer)(function({model:e,error:t}){return it.default.createElement("div",null,it.default.createElement(eb.ErrorMessage,{error:t}),it.default.createElement(Zc.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),QD=(0,jf.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return it.default.createElement("div",null,it.default.createElement(Fo,{FallbackComponent:s=>it.default.createElement(SD,{model:e,error:s.error})},r?t?it.default.createElement(ZB,null):it.default.createElement(JB,{model:e}):i||t?it.default.createElement(ZB,null):it.default.createElement(KB,{model:e})))}),el=QD});var rb=H((EJ,tb)=>{tb.exports=JBrowseExports["@jbrowse/core/ui/theme"]});var ob=H((IJ,nb)=>{nb.exports=JBrowseExports["@jbrowse/core/util/io"]});var sb=H((xJ,ib)=>{ib.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});var ab=p(()=>{});function gi(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>gi(o,`${n}-${i}`,r+1))||[]}}var Wf=p(()=>{});var qt,pi=p(()=>{qt=class{getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}getRowData(t){}getStructures(){return{}}getHeader(){return{}}get alignmentNames(){return[]}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function hi(e){return e>=MD&&e<=vD}var cb,lb,MD,vD,Ab,ub,Mn,zf=p(()=>{pi();cb=65,lb=90,MD=97,vD=122,Ab=45,ub=46;Mn=class extends qt{MSA;orderedNames;constructor(t){super();let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
60
+ .**: ****: ** ***.***`,lB="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function nl(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var td=p(()=>{});function Hr({onClick:e,model:t,children:r}){return Mt.default.createElement("li",null,Mt.default.createElement(ol.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},Mt.default.createElement(ol.Typography,{component:"span"},r)))}var Mt,ol,uB,Tn,ZD,fB,dB=p(()=>{Mt=f(S(),1),ol=f(L(),1),uB=f(P(),1);AB();td();Tn="https://jbrowse.org/genomes/multiple_sequence_alignments",ZD=(0,uB.observer)(function({model:e}){function t({msa:r,tree:n,gff:o}){(async()=>{try{await nl(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0,o?{uri:o,locationType:"UriLocation"}:void 0)}catch(i){console.error(i),e.setError(i)}})()}return Mt.default.createElement("ul",null,Mt.default.createElement(Hr,{model:e,onClick:()=>{t({tree:"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh"})}},"230k COVID-19 samples (tree only)"),Mt.default.createElement(Hr,{model:e,onClick:()=>{e.setData({msa:aB,tree:lB})}},"Small protein MSA+tree"),Mt.default.createElement(Hr,{model:e,onClick:()=>{e.setData({msa:cB})}},"Small MSA only"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/pfam-cov2.stock`})}},"PFAM SARS-CoV2 multi-stockholm"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/pfam-cov2.stock`,gff:`${Tn}/pfam-cov2-domains.gff`})}},"PFAM SARS-CoV2 multi-stockholm w/ domains loaded"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/Lysine.stock`})}},"Lysine stockholm file"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/PF01601_full.txt`})}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/europe_covid.fa`})}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:`${Tn}/rhv_test-only.aligned_with_mafft_auto.fa`,tree:`${Tn}/rhv_test-only.aligned_with_mafft_auto.nh`})}},"MAFFT+VeryFastTree(17.9k samples)"),Mt.default.createElement(Hr,{model:e,onClick:()=>{t({msa:"https://jbrowse.org/demos/ttc39a.mfa"})}},"Human BLAST results mfa"))}),fB=ZD});var me,Ei,Qr,mB,ek,gB,pB=p(()=>{me=f(S(),1),Ei=f(se(),1),Qr=f(L(),1),mB=f(P(),1);dB();td();ek=(0,mB.observer)(function({model:e}){let[t,r]=(0,me.useState)(),[n,o]=(0,me.useState)(),[i,s]=(0,me.useState)(),{error:a}=e;return me.default.createElement(Qr.Container,null,me.default.createElement("div",{style:{width:"50%"}},a?me.default.createElement(Ei.ErrorMessage,{error:a}):null,me.default.createElement(Qr.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),me.default.createElement(Qr.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),me.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},me.default.createElement("div",null,me.default.createElement("div",null,me.default.createElement(Qr.Typography,null,"MSA file or URL"),me.default.createElement(Ei.FileSelector,{location:t,setLocation:r})),me.default.createElement("div",null,me.default.createElement(Qr.Typography,null,"Tree file or URL"),me.default.createElement(Ei.FileSelector,{location:n,setLocation:o})),me.default.createElement("div",null,me.default.createElement(Qr.Typography,null,"InterProScan GFF file or URL (optional)"),me.default.createElement(Ei.FileSelector,{location:i,setLocation:s}))),me.default.createElement("div",null,me.default.createElement(Qr.Button,{onClick:()=>{(async()=>{try{await nl(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),me.default.createElement("div",null,me.default.createElement(Qr.Typography,null,"Examples"),me.default.createElement(fB,{model:e}))))}),gB=ek});function hB(){return ct.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},ct.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ct.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),ct.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),ct.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),ct.default.createElement(il.Typography,{variant:"h6"},"Loading..."))}var ct,CB,il,rd,tk,rk,sl,nd=p(()=>{ct=f(S(),1),CB=f(se(),1);nu();il=f(L(),1),rd=f(P(),1);sB();pB();tk=(0,rd.observer)(function({model:e,error:t}){return ct.default.createElement("div",null,ct.default.createElement(CB.ErrorMessage,{error:t}),ct.default.createElement(il.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),rk=(0,rd.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return ct.default.createElement("div",null,ct.default.createElement(Po,{FallbackComponent:s=>ct.default.createElement(tk,{model:e,error:s.error})},r?t?ct.default.createElement(hB,null):ct.default.createElement(iB,{model:e}):i||t?ct.default.createElement(hB,null):ct.default.createElement(gB,{model:e})))}),sl=rk});var IB=U((ZH,EB)=>{EB.exports=JBrowseExports["@jbrowse/core/ui/theme"]});var xB=U((eU,yB)=>{yB.exports=JBrowseExports["@jbrowse/core/util/io"]});var bB=U((tU,wB)=>{wB.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});var BB=p(()=>{});function Ii(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>Ii(o,`${n}-${i}`,r+1))||[]}}var od=p(()=>{});var Vt,yi=p(()=>{Vt=class{getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}getRowData(t){}getStructures(){return{}}getHeader(){return{}}get alignmentNames(){return[]}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function xi(e){return e>=nk&&e<=ok}var SB,QB,nk,ok,MB,vB,_n,id=p(()=>{yi();SB=65,QB=90,nk=97,ok=122,MB=45,vB=46;_n=class extends Vt{MSA;orderedNames;constructor(t){super();let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
61
61
  `);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r.push(o.slice(i+1).replaceAll(/\s/g,"")),n.push(c))}this.orderedNames=n,this.MSA={seqdata:this.expandA3M(r,n)}}static sniff(t){if(!t.startsWith(">"))return!1;let r=[];for(let s of t.split(">")){if(!/\S/.test(s))continue;let a=s.indexOf(`
62
- `);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);hi(l)?n=!0:(l>=cb&&l<=lb||l===Ab)&&a++}o===-1?o=a:a!==o&&(i=!1)}return n&&i}expandA3M(t,r){let n=r.length;if(n===0)return{};let o=[],i=[];for(let l=0;l<n;l++){let A=t[l],u=[],d=[],m=0;for(;m<A.length;){let g=A.charCodeAt(m);if(g>=cb&&g<=lb||g===Ab){u.push(A[m]);let h="",I=m+1;for(;I<A.length;){let C=A.charCodeAt(I);if(hi(C)||C===ub)h+=A[I],I++;else break}d.push(h),m=I}else if(g===ub)m++;else if(hi(g)){let h="";for(;m<A.length&&hi(A.charCodeAt(m));)h+=A[m],m++;u.push(""),d.push(h)}else m++}o.push(u),i.push(d)}let s=Math.max(...o.map(l=>l.length),0),a=new Array(s).fill(0);for(let l=0;l<n;l++){let A=i[l];for(let u=0;u<A.length;u++){let d=0;for(let m of A[u])hi(m.charCodeAt(0))&&d++;d>a[u]&&(a[u]=d)}}let c={};for(let l=0;l<n;l++){let A=o[l],u=i[l],d=[];for(let m=0;m<s;m++){let g=a[m];if(m<A.length){let h=A[m],I=u[m]||"";d.push(h||"-");let C="";for(let y of I)hi(y.charCodeAt(0))&&(C+=y.toUpperCase());d.push(C);let x=g-C.length;x>0&&d.push(".".repeat(x))}else d.push("-"),g>0&&d.push(".".repeat(g))}c[r[l]]=d.join("")}return c}getMSA(){return this.MSA}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t?this.getRow(t).length:0}}});function TD(e){let t=/\(?(\d+(\.\d+)+)\)?/.exec(e);return t&&t.length>1?t[1]:""}function db(e){let t=["CLUSTAL","PROBCONS","MUSCLE","MSAPROBS","Kalign"];t.some(n=>e.startsWith(n))||console.warn(`${e} is not a known CLUSTAL header: ${t.join(",")}, proceeding but could indicate an issue`);let r=TD(e);return{info:e,version:r}}function tl(e){let t=e.next();for(;!t.done&&t.value.trim()==="";)t=e.next();return t.value}function _D(e){let t=e.split(/\s+/),r=e.slice(t[0].length),n=t[0].length+r.indexOf(t[1]),o=n+t[1].length;return[n,o]}function fb(e){let t=tl(e),r=[],n="";if(!t)return;for(;t;)t.startsWith(" ")?n=t:r.push(t),t=e.next().value;let[o,i]=_D(r[0]),a=r.map(u=>u.split(/\s+/)).map(u=>u[0]),c=r.map(u=>u.slice(o,i)),l=n.slice(o,i),A=c[0].length-l.length;return A&&(l+=" ".repeat(A)),{ids:a,seqs:c,consensus:l}}function mb(e){let t,r=fb(e);if(r!==void 0)for(;t=fb(e);){for(let n=0;n<t.seqs.length;n++)r.seqs[n]+=t.seqs[n];r.consensus+=t.consensus}return r}var $f=p(()=>{});var gb=p(()=>{$f()});function DD(e){let t=tl(e);if(!t)throw new Error("Empty file received");let r=db(t),n=mb(e);if(n===void 0)throw new Error("No blocks parsed");let o=n.seqs.map((s,a)=>({id:n.ids[a],seq:s})),{consensus:i}=n;if(i.length!=o[0].seq.length)throw new Error(`Consensus length != sequence length. Con ${i.length} seq ${o[0].seq.length}`);return{consensus:i,alns:o,header:r}}function pb(e){let t=e.split(`
63
- `)[Symbol.iterator]();return DD(t)}var hb=p(()=>{gb();$f()});var oo,Kf=p(()=>{hb();pi();oo=class extends qt{MSA;constructor(t){super(),this.MSA=pb(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.alns.find(r=>r.id===t)?.seq||""}getWidth(){return this.MSA.alns[0].seq.length}getHeader(){return this.MSA.header}getNames(){return this.MSA.alns.map(t=>t.id)}get seqConsensus(){return this.MSA.consensus}}});function Cb(e){let t=e.split(`
64
- `).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function rl(e){let t=e.split(`
65
- `).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m}});return{tree:n,seqs:o}}var Xf=p(()=>{});var io,Zf=p(()=>{Xf();pi();io=class extends qt{MSA;constructor(t){super(),this.MSA=Cb(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.find(r=>r.protein===t)?.seq||""}getWidth(){return this.MSA[0].seq.length}getHeader(){return""}getNames(){return this.MSA.map(t=>t.protein)}}});var so,ed=p(()=>{pi();so=class extends qt{MSA;constructor(t){super();let r={},n={};for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
66
- `);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r[c]=o.slice(i+1).replaceAll(/\s/g,""),c.includes(":")&&(n[c.replaceAll(":","_")]=c))}this.MSA={seqdata:r,colonNormalized:n}}getMSA(){return this.MSA}getNames(){return Object.keys(this.MSA.seqdata)}getRow(t){return this.MSA.seqdata[t]??this.MSA.seqdata[this.MSA.colonNormalized[t]??""]??""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}}});function ao(e){let t=[],r=[],n=e.replace(/'((?:[^']|'')*)'/g,(s,a)=>{let c=r.length;return r.push(a.replaceAll("''","'")),`__Q${c}__`}),o={},i=n.split(/\s*(;|\(|\)|,|:)\s*/);for(let s=0;s<i.length;s++){let c=i[s].replace(/^__Q(\d+)__$/,(A,u)=>r[Number(u)]),l={};switch(c){case"(":o.children=[l],t.push(o),o=l;break;case",":t.at(-1)?.children.push(l),o=l;break;case")":o=t.pop();break;case":":break;default:{let A=i[s-1];A===")"||A==="("||A===","?o.name=c:A===":"&&(o.length=Number.parseFloat(c))}}}return o}var td=p(()=>{});function Ci(){return{gf:{},gc:{},gs:{},gr:{},seqname:[],seqdata:{}}}function ps(e){return Eb.test(e)}function Ib(e,t){let r=t??{},n=[],o=null,i=e.split(`
67
- `);for(let s of i){let a;if(Eb.test(s))o=Ci();else if(kD.test(s))o&&n.push(o),o=null;else if(a=ND.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=Ci()}let c=a[1];o.gf[c]||(o.gf[c]=[]),o.gf[c].push(a[2])}else if(a=LD.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=Ci()}let c=a[1];o.gc[c]||(o.gc[c]=""),o.gc[c]+=a[2]}else if(a=FD.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=Ci()}let c=a[1],l=a[2],A=a[3];o.gs[l]||(o.gs[l]={}),o.gs[l][c]||(o.gs[l][c]=[]),o.gs[l][c].push(A)}else if(a=RD.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=Ci()}let c=a[1],l=a[2],A=a[3];o.gr[l]||(o.gr[l]={}),o.gr[l][c]||(o.gr[l][c]=""),o.gr[l][c]+=A}else if(a=PD.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=Ci()}let c=a[1],l=a[2];o.seqdata[c]||(o.seqdata[c]="",o.seqname.push(c)),o.seqdata[c]+=l}else if(OD.test(s)&&r.strict)throw new Error("Malformed line")}return o&&n.push(o),n}var Eb,kD,ND,LD,FD,RD,PD,OD,rd=p(()=>{Eb=/^# STOCKHOLM 1.0/,kD=/^\/\/\s*$/,ND=/^#=GF\s+(\S+)\s+(.*?)\s*$/,LD=/^#=GC\s+(\S+)\s+(.*?)\s*$/,FD=/^#=GS\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,RD=/^#=GR\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,PD=/^\s*(\S+)\s+(\S+)\s*$/,OD=/\S/});var co,nd=p(()=>{td();rd();Wf();pi();rd();co=class extends qt{data;MSA;constructor(t,r){super();let n=Ib(t);this.data=n,this.MSA=n[r]}getMSA(){return this.MSA}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}get alignmentNames(){return this.data.map((t,r)=>t.gf.DE?.[0]??`Alignment ${r+1}`)}getHeader(){let t=this.MSA.gs.AC??{},r=this.MSA.gs.DR??{};return{General:this.MSA.gf,Accessions:Object.fromEntries(Object.entries(t).map(([n,o])=>[n,o[0]])),Dbxref:Object.fromEntries(Object.entries(r).map(([n,o])=>[n,o.join("; ")]))}}getRowData(t){return{name:t,accession:this.MSA.gs.AC?.[t]?.[0],dbxref:this.MSA.gs.DR?.[t]?.join("; ")}}getNames(){return Object.keys(this.MSA.seqdata)}getStructures(){let t=/PDB; +(\S+) +(\S); ([0-9]+)-([0-9]+)/,r=this.MSA.gs.DR??{},n={};for(let[o,i]of Object.entries(r))for(let s of i){let a=t.exec(s);a&&(n[o]??=[]).push({pdb:a[1].toLowerCase(),chain:a[2],startPos:+a[3],endPos:+a[4]})}return n}getTree(){let t=this.MSA.gf.NH?.[0];return t?gi(ao(t)):super.getTree()}get seqConsensus(){return this.MSA.gc.seq_cons}get secondaryStructureConsensus(){return this.MSA.gc.SS_cons}get tracks(){return[{id:"seqConsensus",name:"Sequence consensus",data:this.seqConsensus,customColorScheme:{}},{id:"secondaryStruct",name:"Secondary-structure",data:this.secondaryStructureConsensus,customColorScheme:{">":"pink","<":"lightblue"}}]}}});function od(e,t=0){return ps(e)?new co(e,t):Mn.sniff(e)?new Mn(e):e.startsWith(">")?new so(e):e.startsWith("SEQ")?new io(e):new oo(e)}var xb=p(()=>{zf();Kf();Zf();ed();nd();Xf();td();zf();Kf();Zf();ed();nd()});function GD(e){return e?Object.fromEntries(e.split(";").map(t=>t.trim()).filter(t=>!!t).map(t=>t.split("=")).map(([t,r])=>[t?.trim()??"",r?decodeURIComponent(r).trim().split(",").join(" "):void 0]).filter(([t])=>t!=="")):{}}function nl(e){return e?e.split(`
68
- `).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...GD(u)}}):[]}var yb=p(()=>{});function ol(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let d=i.get(l);d?d.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var wb=p(()=>{});var Bb=p(()=>{});var bb=p(()=>{yb();wb();Bb()});var Sb=p(()=>{ab();Wf();xb();bb()});function Qb({mapHeight:e,blockSize:t,viewportY:r,viewportHeight:n}){let o=Math.max(0,Math.min(r,e*t-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}function Mb({mapWidth:e,blockSize:t,viewportX:r,viewportWidth:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var vb=p(()=>{});function id({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let s=Math.max(0,Math.floor(o/r)),a=Math.max(0,Math.ceil((o+i)/r));e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function sd({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let l=Math.max(0,Math.floor(a/i)),A=Math.max(0,Math.ceil((a+c)/i)),u=t?.slice(l,A);for(let d=0;u&&d<u.length;d++){let m=u[d],g=r[m.toUpperCase()];if(o){let h=d*i+a-a%i;e.fillStyle=g||"white",e.fillRect(h,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[m.toUpperCase()]||"black",e.fillText(m,h+i/2,s/2+1))}}}function qD({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,d=s??l;t.resetTransform(),t.scale(d,d),t.translate(-r,n),id({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function YD({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:d,rowHeight:m,highResScaleFactor:g}=e,{customColorScheme:h,data:I}=r.model,C=h??A,x=s??c,y=a??g;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",t.font=t.font.replace(/\d+px/,`${d}px`),sd({ctx:t,data:I,colorScheme:C,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:m,offsetX:n,blockSize:x}),t.resetTransform()}function Tb({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?qD({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):YD({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var il=p(()=>{});var cn,_b,ad,jD,VD,Db,kb=p(()=>{cn=f(B(),1),_b=f(ue(),1),ad=f(P(),1);il();jD=(0,ad.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,colWidth:i,highResScaleFactor:s,conservation:a}=e,c=(0,cn.useRef)(null);return(0,cn.useEffect)(()=>{if(!c.current)return;let l=c.current.getContext("2d");l&&(l.resetTransform(),l.scale(s,s),l.clearRect(0,0,n,r),l.translate(-t,0),id({ctx:l,conservation:a,colWidth:i,trackHeight:r,offsetX:t,blockSize:n}))},[n,i,r,t,s,a]),cn.default.createElement("canvas",{ref:c,height:r*s,width:n*s,style:{position:"absolute",left:o+t,width:n,height:r}})}),VD=(0,ad.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return cn.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>cn.default.createElement(jD,{key:i,model:e,offsetX:i,trackHeight:o})),cn.default.createElement(_b.ResizeHandle,{onDrag:i=>(e.setConservationTrackHeight(Math.max(10,e.conservationTrackHeight+i)),i),style:{position:"absolute",bottom:0,left:0,height:4,width:"100%",zIndex:1,background:"rgba(200,200,200,0.5)"}}))}),Db=VD});var Pr,Nb,cd,WD,zD,Lb,Fb=p(()=>{Pr=f(B(),1),Nb=f(k(),1),cd=f(P(),1);wn();il();WD=(0,cd.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,bgColor:i,colorScheme:s,colWidth:a,fontSize:c,rowHeight:l,highResScaleFactor:A}=t,{model:{customColorScheme:u,data:d}}=e,m=u||s,g=(0,Nb.useTheme)(),h=(0,Pr.useRef)(null),I=(0,Pr.useMemo)(()=>Kn(m,g),[m,g]);return(0,Pr.useEffect)(()=>{if(!h.current)return;let C=h.current.getContext("2d");C&&(C.resetTransform(),C.scale(A,A),C.clearRect(0,0,n,l),C.translate(-r,0),C.textAlign="center",C.font=C.font.replace(/\d+px/,`${c}px`),sd({ctx:C,data:d,colorScheme:m,contrastScheme:I,bgColor:i,colWidth:a,rowHeight:l,offsetX:r,blockSize:n}))},[c,i,n,a,l,r,I,m,A,d]),Pr.default.createElement("canvas",{ref:h,height:l*A,width:n*A,style:{position:"absolute",left:o+r,width:n,height:l}})}),zD=(0,cd.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?Pr.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>Pr.default.createElement(WD,{key:i,track:e,model:t,offsetX:i}))):null}),Lb=zD});var sl,al=p(()=>{sl="maeditor"});function Rb(e){let t=Math.min(e.length-1,ff.length-1),r=ff[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var Pb=p(()=>{df()});function Ob(e){let t=new Map(e.map(n=>[n.id,{id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]}])),r;for(let n of e){let o=t.get(n.id),i=n.parent!==void 0?t.get(n.parent):void 0;i?i.children.push(o):r??=o}return r}var Gb=p(()=>{});function Jb(e,t){ld||(ld=document.createElement("canvas"));let r=ld.getContext("2d");if(!r)throw new Error("no canvas context");return r.font=r.font.replace(/\d+px/,`${t}px`),r.measureText(e).width}var ld,Hb=p(()=>{});function Ub(){return Or.types.model({tree:Or.types.maybe(Or.types.string),msa:Or.types.maybe(Or.types.string),treeMetadata:Or.types.maybe(Or.types.string),gff:Or.types.maybe(Or.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t},setGFF(t){e.gff=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n,gff:o}=e,i=5e4;return{tree:t&&t.length>i?void 0:t,msa:r&&r.length>i?void 0:r,treeMetadata:n&&n.length>i?void 0:n,gff:o&&o.length>i?void 0:o}})}var Or,qb=p(()=>{Or=f(Dt(),1)});function jb(){return Yb.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var Yb,Vb=p(()=>{Yb=f(Dt(),1)});function zb(){return Wb.types.model({bgColor:!0,colorSchemeName:sl}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t}}))}var Wb,$b=p(()=>{Wb=f(Dt(),1);al()});function Kb(){return Ei.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:Ei.types.optional(Ei.types.number,400),treeWidth:Ei.types.optional(Ei.types.number,300),showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var Ei,Xb=p(()=>{Ei=f(Dt(),1);al()});function Cd(e,t){return Zb.get(e.toUpperCase())?.get(t.toUpperCase())??-4}function KD(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let d=Cd(A,u);o+=d,i+=Math.max(Cd(A,A),Cd(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function XD(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=KD(e[n][1],e[o][1])}return r}function ZD(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let y=0;y<o.length;y++)o[y]!==void 0&&a.push(y);let c=new Map;for(let y of a){let b=0;for(let S of a)y!==S&&(b+=n[y][S]);c.set(y,b)}let l=1/0,A=-1,u=-1;for(let y=0;y<a.length;y++)for(let b=y+1;b<a.length;b++){let S=a[y],v=a[b],M=(i-2)*n[S][v]-c.get(S)-c.get(v);M<l&&(l=M,A=S,u=v)}let d=n[A][u],m=c.get(A),g=c.get(u),h,I;i>2?(h=d/2+(m-g)/(2*(i-2)),I=d-h):(h=d/2,I=d/2),h=Math.max(0,h),I=Math.max(0,I);let C={left:o[A],right:o[u],leftLength:h,rightLength:I},x=A;for(let y of a)if(y!==A&&y!==u){let b=(n[A][y]+n[u][y]-d)/2;n[x][y]=Math.max(0,b),n[y][x]=Math.max(0,b)}o[u]=void 0,o[x]=C,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function Ed(e,t){let r;if(e.name!==void 0&&!e.left&&!e.right)r=`'${e.name.replaceAll("'","''")}'`;else{let n=e.left?Ed(e.left,e.leftLength):"",o=e.right?Ed(e.right,e.rightLength):"";r=`(${n},${o})`}return t!==void 0&&(r+=`:${t.toFixed(6)}`),r}function eS(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=XD(e),n=ZD(r,t);return Ed(n)+";"}var cl,$D,Zb,tS=p(()=>{cl="ARNDCQEGHILKMFPSTWYVBZX*",$D=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],Zb=new Map;for(let e=0;e<cl.length;e++){let t=new Map;for(let r=0;r<cl.length;r++)t.set(cl[r],$D[e][r]);Zb.set(cl[e],t)}});function Id(e){let t=[],r=0;for(;r<e.length&&(r=e.indexOf("{",r),r!==-1);){let n=1,o=r+1;for(r++;r<e.length&&n>0;)e[r]==="{"?n++:e[r]==="}"&&n--,r++;n===0&&t.push(e.slice(o,r-1).trim())}return t}function tk(e,t){let r=e.indexOf("{",t);if(r===-1)return;let n=1,o=r+1;for(;o<e.length&&n>0;)e[o]==="{"?n++:e[o]==="}"&&n--,o++;return n===0?e.slice(r+1,o-1).trim():void 0}function rS(e){let t=e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,""),r=rk(t),n=Object.fromEntries(Id(r.fdict).flatMap(o=>{let i=nk(o);return i?[[i.id,ek[i.name]||i.name]]:[]}));return Id(r.nodes).flatMap(o=>{let i=ok(o);if(!i)return[];let{features:s=[],...a}=i;return[{...a,...Object.fromEntries(s.map(c=>[n[c.featureid],c.value]))}]})}function rk(e){let t={},r=e.trim();r.startsWith("{")&&r.endsWith("}")&&(r=r.slice(1,-1).trim());let n=0;for(;n<r.length;){for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length)break;let o=n;for(;n<r.length&&/\w/.test(r[n]);)n++;if(n>=r.length||r[n]!==" "&&r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let i=r.slice(o,n).trim();for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length||r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let s=1,a=n+1;for(n++;n<r.length&&s>0;)r[n]==="{"?s++:r[n]==="}"&&s--,n++;s===0&&(t[i]=r.slice(a,n-1).trim()),n=r.indexOf(",",n),n=n===-1?r.length:n+1}return t}function nk(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{id:parseInt(t[1],10),name:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function ok(e){let t=/id\s+(\d+)/.exec(e);if(!t)return null;let r=/parent\s+(\d+)/.exec(e),n=e.indexOf("features"),o=n!==-1?tk(e,n):void 0;return{id:parseInt(t[1],10),...r?{parent:parseInt(r[1],10)}:{},features:o?Id(o).flatMap(i=>{let s=ik(i);return s?[s]:[]}):[]}}function ik(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{featureid:parseInt(t[1],10),value:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}var ek,nS=p(()=>{ek={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function xd(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function oS(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function sk({seq:e,blanks:t,visibleCol:r}){let n=xd(t,r),o=e.length;if(n<o&&rs(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)rs(e[s])||i++;return n<o?i:void 0}function iS({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?sk({seq:o,visibleCol:t,blanks:n}):void 0}var sS=p(()=>{wn()});function aS({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!rs(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var cS=p(()=>{wn()});function lS(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.click(),setTimeout(()=>{URL.revokeObjectURL(r)},4e4)}var AS=p(()=>{});var lo,uS,ak,fS,dS=p(()=>{lo=f(B(),1),uS=f(P(),1),ak=(0,uS.observer)(({model:e})=>{let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=12,a=n-12,c=r/i/o,l=-t,A=l+r,u=l*c,d=A*c,m="rgb(66, 119, 127)",g=.3;return lo.default.createElement(lo.default.Fragment,null,lo.default.createElement("rect",{x:0,y:0,width:r,height:s,stroke:"#555",fill:"none"}),lo.default.createElement("rect",{x:Math.max(0,u),y:0,width:d-u,height:s,fill:m,fillOpacity:g,stroke:"#555"}),lo.default.createElement("g",{transform:`translate(0 ${s})`},lo.default.createElement("polygon",{fill:m,fillOpacity:g,points:[[d,0],[u,0],[0,a],[r,a]].toString()})))}),fS=ak});var pS={};je(pS,{Context:()=>Bd});function mS(e){return!e||typeof e=="string"?e:e+""}function yr(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function yd(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function ck(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]="&#160;",r}function lk(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function Ak(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var gS,hs,Cs,wd,Bd,hS=p(()=>{gS=ck("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),hs={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},Cs=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),mS(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",yr("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",mS(r));this.__root.appendChild(n)}},wd=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},Bd=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(hs))this[t]=hs[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(hs))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(hs);for(let i of o){let s=hs[i],a=this[i];if(s.apply){if(a instanceof wd){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,yr("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof Cs)r.setAttribute(s.apply,yr("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,yr("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(gS)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,gS[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(yr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(yr("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(yr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(yr("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(yr("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:yd(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new Cs(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:yd(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new Cs(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":lk(this.textAlign),"dominant-baseline":Ak(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,d=0,m=i-o;m<0&&(m+=2*Math.PI),s?d=m>Math.PI?0:1:d=m>Math.PI?1:0;let g=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),h=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(yr("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*g,ry:n*h,xAxisRotation:0,largeArcFlag:d,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=yd(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",yr("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var xS={};je(xS,{renderToSvg:()=>uk});async function uk(e,t){await(0,IS.when)(()=>!!e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s}=e,{exportType:a,theme:c,includeMinimap:l,includeTracks:A}=t,u=A?s:0;if(a==="entire")return CS({width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:c,model:e,offsetY:0,offsetX:0,includeMinimap:l,includeTracks:A});if(a==="viewport")return CS({width:r,height:n+(l?e.minimapHeight:0)+u,contentHeight:n,trackHeight:u,theme:c,model:e,offsetY:-i,offsetX:-o,includeMinimap:l,includeTracks:A});throw new Error("unknown export type")}async function CS({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(hS(),pS)),u=c?mk:pk;return(0,ES.renderToStaticMarkup)(ae.default.createElement(gk,{width:e,height:t},ae.default.createElement(u,{model:a},l&&n>0?ae.default.createElement(dk,{Context:A,model:a,theme:s,offsetX:o,width:e,trackHeight:n}):null,ae.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},ae.default.createElement(fk,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,width:e,contentHeight:r})))))}function fk({model:e,theme:t,width:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,d=Kn(c,t),m=new s(r,n),g=new s(r,n);qc({ctx:g,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1});let h=r-a;return zc({model:e,offsetY:i,ctx:m,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),Yc({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:d,ctx:g,blockSizeXOverride:h,blockSizeYOverride:n,highResScaleFactorOverride:1}),ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("defs",null,ae.default.createElement("clipPath",{id:A},ae.default.createElement("rect",{x:0,y:0,width:a,height:n}))),ae.default.createElement("defs",null,ae.default.createElement("clipPath",{id:u},ae.default.createElement("rect",{x:0,y:0,width:h,height:n}))),ae.default.createElement("g",{clipPath:`url(#${A})`,dangerouslySetInnerHTML:{__html:m.getSvg().innerHTML}}),ae.default.createElement("g",{clipPath:`url(#${u})`,transform:`translate(${a} 0)`,dangerouslySetInnerHTML:{__html:g.getSvg().innerHTML}}))}function dk({model:e,theme:t,width:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=Kn(a,t),u=r-s,d=new i(u,n);return Tb({model:e,ctx:d,offsetX:o,contrastScheme:A,blockSizeXOverride:u,highResScaleFactorOverride:1}),ae.default.createElement("g",{transform:`translate(${s} 0)`},ae.default.createElement("defs",null,ae.default.createElement("clipPath",{id:l},ae.default.createElement("rect",{x:0,y:0,width:u,height:n}))),ae.default.createElement("g",{clipPath:`url(#${l})`,dangerouslySetInnerHTML:{__html:d.getSvg().innerHTML}}))}function mk({model:e,children:t}){let{minimapHeight:r,treeAreaWidth:n}=e;return ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("g",{transform:`translate(${n} 0)`},ae.default.createElement(fS,{model:e})),ae.default.createElement("g",{transform:`translate(0 ${r})`},t))}function gk({width:e,height:t,children:r}){return ae.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,e,t].toString()},r)}function pk({children:e}){return e}var ae,ES,IS,yS=p(()=>{ae=f(B(),1),ES=f(ne(),1),IS=f($r(),1);dS();Lf();Ff();il();$c();wn()});function hk(){return Z.types.compose(jb(),Kb(),zb(),Z.types.model("MsaView",{id:Ao.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,type:Z.types.literal("MsaView"),drawMsaLetters:!0,height:Z.types.optional(Z.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:Z.types.maybe(Ao.FileLocation),msaFilehandle:Z.types.maybe(Ao.FileLocation),treeMetadataFilehandle:Z.types.maybe(Ao.FileLocation),gffFilehandle:Z.types.maybe(Ao.FileLocation),currentAlignment:0,collapsed:Z.types.array(Z.types.string),showOnly:Z.types.maybe(Z.types.string),turnedOffTracks:Z.types.map(Z.types.boolean),data:Z.types.optional(Ub(),{tree:"",msa:"",treeMetadata:""}),featureFilters:Z.types.map(Z.types.boolean),relativeTo:Z.types.maybe(Z.types.string)})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:2,loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,nref:0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setLoadingMSA(t){e.loadingMSA=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHoveredTreeNode(t){if(!t){e.hoveredTreeNode=void 0;return}let r=ms(e.hierarchy,o=>o.data.id===t);if(!r){e.hoveredTreeNode=void 0;return}let n=gs(r).map(o=>o.data.name);e.hoveredTreeNode={nodeId:t,descendantNames:n}},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,Z.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return ai[e.colorSchemeName]},get header(){return this.MSA?.getHeader()||{}},get alignmentNames(){return this.MSA?.alignmentNames||[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?od(t,e.currentAlignment):null},get numColumns(){return(this.MSA?.getWidth()||0)-this.blanks.length},get tree(){let t=e.data.tree;return t?gi(t.startsWith("BioTreeContainer")?Ob(rS(t)):ao(t.startsWith("SEQ")?rl(t).tree:t)):this.MSA?.getTree()||{noTree:!0,children:[],id:"empty",name:"empty"}},get rowNames(){return this.leaves.map(t=>t.data.name)},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.rowNames[t]},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=this.rowNames[r];if(!n)return;let o=this.insertionPositions.get(n);if(!o)return;let i=o.find(s=>s.pos===t);if(i)return{rowName:n,col:t,letters:i.letters}},get root(){let t=pB(this.tree,r=>r.children);if(hB(t,r=>r.children.length>0?0:1),CB(t,(r,n)=>(r.data.length??1)-(n.data.length??1)),e.showOnly){let r=ms(t,n=>n.data.id===e.showOnly);r&&(t=r)}for(let r of e.collapsed){let n=ms(t,o=>o.data.id===r);n&&(n.children?xB(n):n.parent?.children&&(n.parent.children=n.parent.children.filter(o=>o.data.id!==r)))}return t},get msaAreaWidth(){return e.width-e.treeAreaWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(Ye.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{hideGapsEffective:t}=e,{blanks:r,rows:n}=this,o=r.length;if(o===0||!t)return new Map;let i=new Map;for(let[s,a]of n){let c=[],l=0,A=0,u=-1,d=[],m=a.length;for(let g=0;g<m;g++)A<o&&r[A]===g?(a.charCodeAt(g)-45>>>0<=1||(u===l?d.push(a[g]):(d.length>0&&c.push({pos:u,letters:d.join("")}),u=l,d=[a[g]])),A++):l++;d.length>0&&c.push({pos:u,letters:d.join("")}),c.length>0&&i.set(s,c)}return i},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){return Object.fromEntries(this.rows.map((t,r)=>[t[0],this.columns2d[r]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(r=>r[1]).map(r=>t?sf(this.blanks,r):r)},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]||{},s=n[o];i[s]||(i[s]=0),i[s]++,t[o]=i}return t},get colStatsSums(){return this.colStats.map(t=>(0,Ye.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s)){let c=a.toUpperCase();c!=="-"&&c!=="."&&t.add(c)}let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=[...t].every(s=>r.has(s)),i=[...t].every(s=>n.has(s));return o&&!t.has("U")?"dna":i&&!t.has("T")?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s=0,a="";for(let l in n){let A=n[l];A>s&&l!=="-"&&l!=="."&&(s=A,a=l)}let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s={},a=n.W??0,c=n.L??0,l=n.V??0,A=n.I??0,u=n.M??0,d=n.A??0,m=n.F??0,g=n.C??0,h=n.H??0,I=n.P??0,C=n.R??0,x=n.K??0,y=n.Q??0,b=n.E??0,S=n.D??0,v=n.T??0,M=n.S??0,F=n.G??0,O=n.Y??0,q=n.N??0,w=a+c+l+A+u+d+m+g+h+I+O,T=x+C,J=y+b,G=b+S,Me=v+M;return w/i>.6&&(s.W="rgb(128,179,230)",s.L="rgb(128,179,230)",s.V="rgb(128,179,230)",s.A="rgb(128,179,230)",s.I="rgb(128,179,230)",s.M="rgb(128,179,230)",s.F="rgb(128,179,230)",s.C="rgb(128,179,230)"),(T/i>.6||x/i>.8||C/i>.8||y/i>.8)&&(s.K="#d88",s.R="#d88"),(T/i>.6||J/i>.5||b/i>.8||y/i>.8||S/i>.8)&&(s.E="rgb(192, 72, 192)"),(T/i>.6||G/i>.5||x/i>.8||C/i>.8||y/i>.8)&&(s.D="rgb(204, 77, 204)"),(q/i>.5||O/i>.85)&&(s.N="#8f8"),(T/i>.6||J/i>.6||y/i>.85||b/i>.85||x/i>.85||C/i>.85)&&(s.Q="#8f8"),(w/i>.6||Me/i>.5||M/i>.85||v/i>.85)&&(s.S="rgb(26,204,26)",s.T="rgb(26,204,26)"),g/i>.85&&(s.C="rgb(240, 128, 128)"),F/i>0&&(s.G="rgb(240, 144, 72)"),I/i>0&&(s.P="rgb(204, 204, 0)"),(w/i>.6||a/i>.85||O/i>.85||d/i>.85||g/i>.85||I/i>.85||y/i>.85||m/i>.85||h/i>.85||A/i>.85||c/i>.85||u/i>.85||l/i>.85)&&(s.H="rgb(26, 179, 179)",s.Y="rgb(26, 179, 179)"),s})},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]||0)+(s["."]||0),A=c-l;if(A===0)return 0;let u={};for(let h of Object.keys(s)){if(h==="-"||h===".")continue;let I=h.toUpperCase();u[I]=(u[I]||0)+s[h]}let d=0;for(let h of Object.keys(u)){let I=u[h]/A;I>0&&(d-=I*Math.log2(I))}let m=l/c;return Math.max(0,1-d/i)*(1-m)})},get hierarchy(){let t=this.root;return IB(t,this.totalHeight,e.treeWidth),t.data.length=0,Gf(t,0,e.treeWidth/Of(t)),t},get totalHeight(){return gs(this.root).length*e.rowHeight},get leaves(){return gs(this.hierarchy)},get allBranchesLength0(){return Vc(this.hierarchy).every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa||e.data.tree)&&!e.error},get blocksX(){return Mb({viewportWidth:e.msaAreaWidth,viewportX:-e.scrollX,blockSize:e.blockSize,mapWidth:e.totalWidth})},get blocksY(){return Qb({viewportHeight:e.height,viewportY:-e.scrollY,blockSize:e.blockSize,mapHeight:e.totalHeight})}})).views(e=>({get blocks2d(){return e.blocksY.flatMap(t=>e.blocksX.map(r=>[r,t]))},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=eS(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.ceil(e.colWidth*1.5),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.ceil(e.rowHeight*1.5)},zoomOutVertical(){e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75))},zoomIn(){(0,Yt.transaction)(()=>{e.colWidth=Math.ceil(e.colWidth*1.5),e.rowHeight=Math.ceil(e.rowHeight*1.5),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)})},zoomOut(){(0,Yt.transaction)(()=>{e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75)),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)})},doScrollY(t){e.scrollY=(0,Ye.clamp)(e.scrollY+t,-e.totalHeight+10,0)},setInterProAnnotations(t){e.interProAnnotations=t},applyGFFText(t){let r=nl(t),n=ol(r);e.interProAnnotations=n,e.setShowDomains(!0)},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,Ye.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelsWidth(){let{rowHeight:t,leaves:r,treeMetadata:n,fontSize:o}=e;return t<=5?0:r.reduce((i,s)=>Math.max(i,Jb(n[s.data.name]?.genome||s.data.name,o)),0)},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return(r?.tracks??[]).filter(s=>!!s.data).map(s=>({model:{...s,data:n&&s.data?sf(o,s.data):s.data,height:t},ReactComponent:Lb}))},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:Db};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},get rowNamesSet(){return new Map(e.rowNames.map((t,r)=>[t,r]))},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[xd(o,r)]},visibleColToSeqPos(t,r){return iS({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?oS(r,t):t},seqPosToGlobalCol(t,r){let{rows:n}=e,o=this.rowNamesSet.get(t);return o!==void 0&&n[o]?aS({row:n[o][1],seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get hoveredCell(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=e.rowNames[r];if(!n)return;let i=e.columns[n]?.[t],s=e.visibleColToSeqPosOneBased(n,t);return{rowName:n,col:t,base:i,seqPos:s}},get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,Ye.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){return new Map(this.tidyInterProAnnotations.map(t=>[t.accession,t]))},get tidyInterProAnnotations(){let{interProAnnotations:t}=e;return t?Object.entries(t).flatMap(([r,n])=>n.matches.flatMap(({signature:o,locations:i})=>o.entry?i.map(({start:s,end:a})=>({id:r,name:o.entry.name,accession:o.entry.accession,description:o.entry.description,start:s,end:a})):[])).toSorted((r,n)=>af(n)-af(r)):[]},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,Ye.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return Rb([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Object.fromEntries(Object.entries(this.fillPalette).map(([t,r])=>[t,wt(r).darken(.1).toHex()]))},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0),e.setGFFFilehandle(void 0),e.setInterProAnnotations({}),e.setShowDomains(!1)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(yS(),xS)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});lS(o,"image.svg")},incrementRef(){e.nref++},initFilter(t){e.featureFilters.get(t)===void 0&&e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){e.rowHeight=e.msaAreaHeight/e.numRows,e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0,e.scrollY=0},fitVertically(){e.rowHeight=e.msaAreaHeight/e.numRows,e.scrollY=0},fitHorizontally(){e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0},afterCreate(){(0,Z.addDisposer)(e,(0,Yt.autorun)(()=>{for(let t of e.tidyInterProAnnotationTypes.keys())this.initFilter(t)})),(0,Z.addDisposer)(e,(0,Yt.autorun)(async()=>{let{treeFilehandle:t}=e;if(t)try{e.setLoadingTree(!0),e.setTree(await(0,Ye.fetchAndMaybeUnzipText)((0,Es.openLocation)(t))),t.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingTree(!1)}})),(0,Z.addDisposer)(e,(0,Yt.autorun)(async()=>{let{treeMetadataFilehandle:t}=e;if(t)try{e.setTreeMetadata(await(0,Ye.fetchAndMaybeUnzipText)((0,Es.openLocation)(t)))}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Yt.autorun)(()=>{let t=e.data.gff;if(t)try{e.applyGFFText(t)}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Yt.autorun)(async()=>{let{gffFilehandle:t}=e;if(t)try{let r=await(0,Ye.fetchAndMaybeUnzipText)((0,Es.openLocation)(t));e.applyGFFText(r),t.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}})),(0,Z.addDisposer)(e,(0,Yt.autorun)(async()=>{let{msaFilehandle:t}=e;if(t)try{e.setLoadingMSA(!0),e.setError(void 0);let r=await(0,Ye.fetchAndMaybeUnzipText)((0,Es.openLocation)(t));(0,Yt.transaction)(()=>{e.setMSA(r),t.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingMSA(!1)}})),(0,Z.addDisposer)(e,(0,Yt.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,Z.addDisposer)(e,(0,Yt.autorun)(()=>{e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,subFeatureRows:c,drawMsaLetters:l,height:A,rowHeight:u,scrollY:d,scrollX:m,colWidth:g,currentAlignment:h,collapsed:I,showOnly:C,turnedOffTracks:x,featureFilters:y,relativeTo:b,bgColor:S,colorSchemeName:v,drawLabels:M,labelsAlignRight:F,treeAreaWidth:O,treeWidth:q,showBranchLen:w,drawTree:T,drawNodeBubbles:J,...G}=t,wr=Object.fromEntries(Object.entries({showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,drawMsaLetters:!0,height:550,rowHeight:16,scrollY:0,scrollX:0,colWidth:12,currentAlignment:0,bgColor:!0,colorSchemeName:sl,drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:400,treeWidth:300,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).filter(([Gr,ln])=>t[Gr]!==ln).map(([Gr])=>[Gr,t[Gr]]));return{...G,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...wr,...I?.length?{collapsed:I}:{},...C!==void 0?{showOnly:C}:{},...x&&Object.keys(x).length>0?{turnedOffTracks:x}:{},...y&&Object.keys(y).length>0?{featureFilters:y}:{},...b!==void 0?{relativeTo:b}:{}}})}var Ye,Es,Ao,Z,Yt,ll,Qd=p(()=>{Ye=f(ne(),1),Es=f(ob(),1),Ao=f(sb(),1),Z=f(Dt(),1);xc();Yt=f($r(),1);Sb();vb();Bc();kb();Fb();al();Pb();Gb();Jf();Hb();qb();Vb();$b();Xb();tS();nS();sS();cS();wn();AS();ll=hk});var Md,Ck,Ek,DS=p(()=>{Md=f(B(),1),Ck=f(rb(),1),Ek=f(Iu(),1);Qd();Vf()});var vd=p(()=>{Vf();DS();Qd()});var uQ={};je(uQ,{default:()=>Rk});var ce,cQ,lQ,me,AQ,Fk,Rk,fQ=p(()=>{"use strict";ce=f(B()),cQ=f(ue()),lQ=f(ne()),me=f(k()),AQ=f(P()),Fk=(0,AQ.observer)(function({model:t,handleClose:r}){let n=(0,lQ.getSession)(t),[o,i]=(0,ce.useState)(""),[s,a]=(0,ce.useState)(0),[c,l]=(0,ce.useState)(t.querySeqName),[A,u]=(0,ce.useState)(),d=n.views.filter(C=>C.type==="ProteinView"),g=d.find(C=>C.id===o)?.structures??[],h=t.rows.map(C=>C[0]),I=()=>{if(!o){u("Please select a protein view");return}try{t.connectToStructure(o,s,c),r()}catch(C){u(C instanceof Error?C.message:String(C))}};return ce.default.createElement(cQ.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},ce.default.createElement(me.DialogContent,null,d.length===0?ce.default.createElement(me.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):ce.default.createElement(ce.default.Fragment,null,ce.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},ce.default.createElement(me.InputLabel,null,"Protein View"),ce.default.createElement(me.Select,{value:o,label:"Protein View",onChange:C=>{i(C.target.value),a(0)}},d.map(C=>ce.default.createElement(me.MenuItem,{key:C.id,value:C.id},C.displayName??`ProteinView ${C.id}`)))),g.length>1&&ce.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},ce.default.createElement(me.InputLabel,null,"Structure"),ce.default.createElement(me.Select,{value:s,label:"Structure",onChange:C=>{a(C.target.value)}},g.map((C,x)=>ce.default.createElement(me.MenuItem,{key:x,value:x},C.url??`Structure ${x+1}`)))),ce.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},ce.default.createElement(me.InputLabel,null,"MSA Row"),ce.default.createElement(me.Select,{value:c,label:"MSA Row",onChange:C=>{l(C.target.value)}},h.map(C=>ce.default.createElement(me.MenuItem,{key:C,value:C},C)))),A&&ce.default.createElement(me.Typography,{color:"error",sx:{mt:1}},A))),ce.default.createElement(me.DialogActions,null,ce.default.createElement(me.Button,{onClick:r},"Cancel"),ce.default.createElement(me.Button,{onClick:I,variant:"contained",disabled:d.length===0||!o},"Connect")))}),Rk=Fk});function Ok({baseUrl:e,rid:t}){return Ld.default.createElement(pQ.Typography,null,"RID ",t," (",Ld.default.createElement(Pn,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var Ld,pQ,Fd,hQ=p(()=>{"use strict";Ld=f(B()),pQ=f(k());ha();Fd=Ok});function Gk({baseUrl:e,rid:t,error:r}){return ar.default.createElement("div",null,t?ar.default.createElement(Fd,{rid:t,baseUrl:e}):null,ar.default.createElement(fl.ErrorMessage,{error:r}))}function Jk({baseUrl:e,rid:t,progress:r}){let{classes:n}=IQ();return ar.default.createElement("div",{className:n.loading},t?ar.default.createElement(Fd,{baseUrl:e,rid:t}):null,ar.default.createElement(Rd.Typography,null,r))}var ar,fl,Rd,CQ,EQ,IQ,Hk,xQ,yQ=p(()=>{"use strict";ar=f(B()),fl=f(ue()),Rd=f(k()),CQ=f(P()),EQ=f(Ve());hQ();IQ=(0,EQ.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));Hk=(0,CQ.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i,processing:s}=t,{classes:a}=IQ();return ar.default.createElement("div",{className:a.margin},ar.default.createElement(fl.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?ar.default.createElement(Gk,{baseUrl:r,rid:o,error:i}):o?ar.default.createElement(Jk,{baseUrl:r,rid:o,progress:n}):null,ar.default.createElement(Rd.Typography,null,s||"Initializing BLAST query"))}),xQ=Hk});var bQ={};je(bQ,{default:()=>qk});var xi,wQ,BQ,Uk,qk,SQ=p(()=>{"use strict";xi=f(B()),wQ=f(ue()),BQ=f(P());vd();yQ();Uk=(0,BQ.observer)(function({model:t}){let{blastParams:r,loadingStoredData:n}=t;return xi.default.createElement("div",null,r?xi.default.createElement(xQ,{model:t,baseUrl:r.baseUrl}):n?xi.default.createElement("div",{style:{padding:20}},xi.default.createElement(wQ.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):xi.default.createElement(el,{model:t}))}),qk=Uk});var jk={};je(jk,{default:()=>dl});var TQ=f(tm()),Od=f(Dn()),_Q=f(ne()),Gd=f(Dt());z();var cm=f(L(),1),lm=(0,_.createSvgIcon)((0,cm.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var Em=f(B()),Im=f(ne());var bi=f(B()),hm=f(P());var El=f(B()),mm=f(ne()),Il=f(P());var dm=f(Ve()),Ds=(0,dm.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var YQ=(0,Il.observer)(function({model:e}){let t=(0,mm.getSession)(e),{hovered:r,views:n}=t;return!n.some(i=>i.type==="MsaView")||!r||typeof r!="object"||!("hoverPosition"in r)?null:El.default.createElement(jQ,{model:e,hovered:r})}),jQ=(0,Il.observer)(function({model:e,hovered:t}){let{classes:r}=Ds(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return El.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),gm=YQ;var Bi=f(B()),xl=f(ne()),yl=f(P());var VQ=(0,yl.observer)(function({model:t}){let{views:r}=(0,xl.getSession)(t),o=r.find(i=>i.type==="MsaView")?.connectedHighlights;return!o||o.length===0?null:Bi.default.createElement(WQ,{model:t,highlights:o})}),WQ=(0,yl.observer)(function({model:e,highlights:t}){let{classes:r}=Ds(),{assemblyManager:n}=(0,xl.getSession)(e),o=n.get(e.assemblyNames[0]),{offsetPx:i}=e;return o?Bi.default.createElement(Bi.default.Fragment,null,t.map((s,a)=>{let c=o.getCanonicalRefName(s.refName)??s.refName,l=e.bpToPx({refName:c,coord:s.start}),A=e.bpToPx({refName:c,coord:s.end});if(l&&A){let u=Math.max(Math.abs(A.offsetPx-l.offsetPx),4),d=Math.min(l.offsetPx,A.offsetPx)-i;return Bi.default.createElement("div",{key:`${s.refName}-${s.start}-${s.end}-${a}`,className:r.highlight,style:{left:d,width:u}})}return null})):null}),pm=VQ;var zQ=(0,hm.observer)(function({model:t}){return bi.default.createElement(bi.default.Fragment,null,bi.default.createElement(pm,{model:t}),bi.default.createElement(gm,{model:t}))}),Cm=zQ;function wl(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,Im.getSession)(r);return n.some(i=>i.type==="MsaView")?[...t,Em.default.createElement(Cm,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var tg=f(Bl());var ym=f(Dn());function bl(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,ym.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function Hl(e){return e.addAdapterType(()=>new tg.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:bl(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(eg(),Zm)).then(t=>t.default)}))}var va=f(ne());z();var rg=f(L(),1),ng=(0,_.createSvgIcon)((0,rg.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var rt=f(B()),_h=f(Dn()),Dh=f(ue()),kh=f(ne()),Jn=f(k());var mt=f(B()),ia=f(ue()),sa=f(ne()),jr=f(k()),Ug=f(P()),qg=f(Ve());function sg({session:e,newViewTitle:t,view:r,feature:n,data:o}){e.addView("MsaView",{type:"MsaView",displayName:t,colWidth:10,rowHeight:12,data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var Je=f(B(),1),oA=f(Ag(),1);var et=f(B(),1);var dn={};je(dn,{ERROR_REVALIDATE_EVENT:()=>f1,FOCUS_EVENT:()=>ug,MUTATE_EVENT:()=>dg,RECONNECT_EVENT:()=>fg});var ug=0,fg=1,dg=2,f1=3;var mg=Object.prototype.hasOwnProperty;function Js(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Js(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(mg.call(e,r)&&++n&&!mg.call(t,r)||!(r in t)||!Js(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var lr=new WeakMap,Ar=()=>{},Ge=Ar(),xo=Object,Y=e=>e===Ge,kt=e=>typeof e=="function",ur=(e,t)=>({...e,...t}),Vs=e=>kt(e.then),ql={},Hs={},Kl="undefined",yo=typeof window!=Kl,qs=typeof document!=Kl,pg=yo&&"Deno"in window,hg=()=>yo&&typeof window.requestAnimationFrame!=Kl,Ws=(e,t)=>{let r=lr.get(e);return[()=>!Y(t)&&e.get(t)||ql,n=>{if(!Y(t)){let o=e.get(t);t in Hs||(Hs[t]=o),r[5](t,ur(o,n),o||ql)}},r[6],()=>!Y(t)&&t in Hs?Hs[t]:!Y(t)&&e.get(t)||ql]},Vl=!0,d1=()=>Vl,[Wl,zl]=yo&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[Ar,Ar],m1=()=>{let e=qs&&document.visibilityState;return Y(e)||e!=="hidden"},g1=e=>(qs&&document.addEventListener("visibilitychange",e),Wl("focus",e),()=>{qs&&document.removeEventListener("visibilitychange",e),zl("focus",e)}),p1=e=>{let t=()=>{Vl=!0,e()},r=()=>{Vl=!1};return Wl("online",t),Wl("offline",r),()=>{zl("online",t),zl("offline",r)}},Cg={isOnline:d1,isVisible:m1},Eg={initFocus:g1,initReconnect:p1},zs=!et.default.useId,mn=!yo||pg,Xl=e=>hg()?window.requestAnimationFrame(e):setTimeout(e,1),wo=mn?et.useEffect:et.useLayoutEffect,Yl=typeof navigator<"u"&&navigator.connection,$l=!mn&&Yl&&(["slow-2g","2g"].includes(Yl.effectiveType)||Yl.saveData),Us=new WeakMap,h1=e=>xo.prototype.toString.call(e),jl=(e,t)=>e===`[object ${t}]`,C1=0,Ys=e=>{let t=typeof e,r=h1(e),n=jl(r,"Date"),o=jl(r,"RegExp"),i=jl(r,"Object"),s,a;if(xo(e)===e&&!n&&!o){if(s=Us.get(e),s)return s;if(s=++C1+"~",Us.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=Ys(e[a])+",";Us.set(e,s)}if(i){s="#";let c=xo.keys(e).sort();for(;!Y(a=c.pop());)Y(e[a])||(s+=a+":"+Ys(e[a])+",");Us.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},vi=e=>{if(kt(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?Ys(e):"",[e,t]},E1=0,Mi=()=>++E1;async function $s(...e){let[t,r,n,o]=e,i=ur({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=d=>typeof a=="function"?a(d):a!==!1,A=i.throwOnError;if(kt(r)){let d=r,m=[],g=t.keys();for(let h of g)!/^\$(inf|sub)\$/.test(h)&&d(t.get(h)._k)&&m.push(h);return Promise.all(m.map(u))}return u(r);async function u(d){let[m]=vi(d);if(!m)return;let[g,h]=Ws(t,m),[I,C,x,y]=lr.get(t),b=()=>{let G=I[m];return(kt(i.revalidate)?i.revalidate(g().data,d):i.revalidate!==!1)&&(delete x[m],delete y[m],G&&G[0])?G[0](2).then(()=>g().data):g().data};if(e.length<3)return b();let S=n,v,M=!1,F=Mi();C[m]=[F,0];let O=!Y(c),q=g(),w=q.data,T=q._c,J=Y(T)?w:T;if(O&&(c=kt(c)?c(J,w):c,h({data:c,_c:J})),kt(S))try{S=S(J)}catch(G){v=G,M=!0}if(S&&Vs(S))if(S=await S.catch(G=>{v=G,M=!0}),F!==C[m][0]){if(M)throw v;return S}else M&&O&&l(v)&&(s=!0,h({data:J,_c:Ge}));if(s&&!M)if(kt(s)){let G=s(S,J);h({data:G,error:Ge,_c:Ge})}else h({data:S,error:Ge,_c:Ge});if(C[m][1]=Mi(),Promise.resolve(b()).then(()=>{h({_c:Ge})}),M){if(A)throw v;return}return S}}var gg=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},Zl=(e,t)=>{if(!lr.has(e)){let r=ur(Eg,t),n=Object.create(null),o=$s.bind(Ge,e),i=Ar,s=Object.create(null),a=(A,u)=>{let d=s[A]||[];return s[A]=d,d.push(u),()=>d.splice(d.indexOf(u),1)},c=(A,u,d)=>{e.set(A,u);let m=s[A];if(m)for(let g of m)g(u,d)},l=()=>{if(!lr.has(e)&&(lr.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!mn)){let A=r.initFocus(setTimeout.bind(Ge,gg.bind(Ge,n,0))),u=r.initReconnect(setTimeout.bind(Ge,gg.bind(Ge,n,1)));i=()=>{A&&A(),u&&u(),lr.delete(e)}}};return l(),[e,o,l,i]}return[e,lr.get(e)[4]]},I1=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!Y(i)&&s>i||setTimeout(n,a,o)},Ig=Js,[Ks,xg]=Zl(new Map),Xs=ur({onLoadingSlow:Ar,onSuccess:Ar,onError:Ar,onErrorRetry:I1,onDiscarded:Ar,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:$l?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:$l?5e3:3e3,compare:Ig,isPaused:()=>!1,cache:Ks,mutate:xg,fallback:{}},Cg),eA=(e,t)=>{let r=ur(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=ur(o,s))}return r},js=(0,et.createContext)({}),tA=e=>{let{value:t}=e,r=(0,et.useContext)(js),n=kt(t),o=(0,et.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,et.useMemo)(()=>n?o:eA(r,o),[n,r,o]),s=o&&o.provider,a=(0,et.useRef)(Ge);s&&!a.current&&(a.current=Zl(s(i.cache||Ks),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),wo(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,et.createElement)(js.Provider,ur(e,{value:i}))};var yg="$inf$";var Bo=f(B(),1);var wg=yo&&window.__SWR_DEVTOOLS_USE__,x1=wg?window.__SWR_DEVTOOLS_USE__:[],y1=()=>{wg&&(window.__SWR_DEVTOOLS_REACT__=Bo.default)},w1=e=>kt(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],B1=()=>{let e=(0,Bo.useContext)(js);return(0,Bo.useMemo)(()=>ur(Xs,e),[e])};var b1=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=vi(t),[,,,a]=lr.get(Ks);if(s.startsWith(yg))return r(...i);let c=a[s];return Y(c)?r(...i):(delete a[s],c)}),n),S1=x1.concat(b1),Bg=e=>function(...r){let n=B1(),[o,i,s]=w1(r),a=eA(n,s),c=e,{use:l}=a,A=(l||[]).concat(S1);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},bg=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};y1();var Q1=()=>{},OL=Q1();var rA=Je.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),nA={dedupe:!0},Sg=Promise.resolve(Ge),M1=()=>Ar,v1=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:d,strictServerPrefetchWarning:m}=r,[g,h,I,C]=lr.get(n),[x,y]=vi(e),b=(0,Je.useRef)(!1),S=(0,Je.useRef)(!1),v=(0,Je.useRef)(x),M=(0,Je.useRef)(t),F=(0,Je.useRef)(r),O=()=>F.current,q=()=>O().isVisible()&&O().isOnline(),[w,T,J,G]=Ws(n,x),Me=(0,Je.useRef)({}).current,wr=Y(s)?Y(r.fallback)?Ge:r.fallback[x]:s,Gr=(ee,ie)=>{for(let le in Me){let Ae=le;if(Ae==="data"){if(!o(ee[Ae],ie[Ae])&&(!Y(ee[Ae])||!o(Br,ie[Ae])))return!1}else if(ie[Ae]!==ee[Ae])return!1}return!0},ln=!b.current,ws=(0,Je.useMemo)(()=>{let ee=w(),ie=G(),le=ve=>{let ft=ur(ve);return delete ft._k,(()=>{if(!x||!t||O().isPaused())return!1;if(ln&&!Y(a))return a;let Vt=Y(wr)?ft.data:wr;return i?Y(Vt)||c:Y(Vt)||c})()?{isValidating:!0,isLoading:!0,...ft}:ft},Ae=le(ee),Tt=ee===ie?Ae:le(ie),ut=Ae;return[()=>{let ve=le(w());return Gr(ve,ut)?(ut.data=ve.data,ut.isLoading=ve.isLoading,ut.isValidating=ve.isValidating,ut.error=ve.error,ut):(ut=ve,ve)},()=>Tt]},[n,x]),Jr=(0,oA.useSyncExternalStore)((0,Je.useCallback)(ee=>J(x,(ie,le)=>{Gr(le,ie)||ee()}),[n,x]),ws[0],ws[1]),Le=g[x]&&g[x].length>0,Hr=Jr.data,ge=Y(Hr)?wr&&Vs(wr)?rA(wr):wr:Hr,vn=Jr.error,pe=(0,Je.useRef)(ge),Br=d?Y(Hr)?Y(pe.current)?ge:pe.current:Hr:ge,jt=x&&Y(ge),Qt=(0,Je.useRef)(null);!mn&&(0,oA.useSyncExternalStore)(M1,()=>(Qt.current=!1,Qt),()=>(Qt.current=!0,Qt));let Bs=Qt.current;m&&Bs&&!i&&jt&&console.warn(`Missing pre-initiated data for serialized key "${x}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let uo=!x||!t||O().isPaused()||Le&&!Y(vn)?!1:ln&&!Y(a)?a:i?Y(ge)?!1:c:Y(ge)||c,yi=ln&&uo,bs=Y(Jr.isValidating)?yi:Jr.isValidating,An=Y(Jr.isLoading)?yi:Jr.isLoading,br=(0,Je.useCallback)(async ee=>{let ie=M.current;if(!x||!ie||S.current||O().isPaused())return!1;let le,Ae,Tt=!0,ut=ee||{},ve=!I[x]||!ut.dedupe,ft=()=>zs?!S.current&&x===v.current&&b.current:x===v.current,cr={isValidating:!1,isLoading:!1},Vt=()=>{T(cr)},_t=()=>{let dt=I[x];dt&&dt[1]===Ae&&delete I[x]},fo={isValidating:!0};Y(w().data)&&(fo.isLoading=!0);try{if(ve&&(T(fo),r.loadingTimeout&&Y(w().data)&&setTimeout(()=>{Tt&&ft()&&O().onLoadingSlow(x,r)},r.loadingTimeout),I[x]=[ie(y),Mi()]),[le,Ae]=I[x],le=await le,ve&&setTimeout(_t,r.dedupingInterval),!I[x]||I[x][1]!==Ae)return ve&&ft()&&O().onDiscarded(x),!1;cr.error=Ge;let dt=h[x];if(!Y(dt)&&(Ae<=dt[0]||Ae<=dt[1]||dt[1]===0))return Vt(),ve&&ft()&&O().onDiscarded(x),!1;let Wt=w().data;cr.data=o(Wt,le)?Wt:le,ve&&ft()&&O().onSuccess(le,x,r)}catch(dt){_t();let Wt=O(),{shouldRetryOnError:Tn}=Wt;Wt.isPaused()||(cr.error=dt,ve&&ft()&&(Wt.onError(dt,x,Wt),(Tn===!0||kt(Tn)&&Tn(dt))&&(!O().revalidateOnFocus||!O().revalidateOnReconnect||q())&&Wt.onErrorRetry(dt,x,Wt,Qs=>{let un=g[x];un&&un[0]&&un[0](dn.ERROR_REVALIDATE_EVENT,Qs)},{retryCount:(ut.retryCount||0)+1,dedupe:!0})))}return Tt=!1,Vt(),!0},[x,n]),Sr=(0,Je.useCallback)((...ee)=>$s(n,v.current,...ee),[]);if(wo(()=>{M.current=t,F.current=r,Y(Hr)||(pe.current=Hr)}),wo(()=>{if(!x)return;let ee=br.bind(Ge,nA),ie=0;O().revalidateOnFocus&&(ie=Date.now()+O().focusThrottleInterval);let Ae=bg(x,g,(Tt,ut={})=>{if(Tt==dn.FOCUS_EVENT){let ve=Date.now();O().revalidateOnFocus&&ve>ie&&q()&&(ie=ve+O().focusThrottleInterval,ee())}else if(Tt==dn.RECONNECT_EVENT)O().revalidateOnReconnect&&q()&&ee();else{if(Tt==dn.MUTATE_EVENT)return br();if(Tt==dn.ERROR_REVALIDATE_EVENT)return br(ut)}});return S.current=!1,v.current=x,b.current=!0,T({_k:y}),uo&&(I[x]||(Y(ge)||mn?ee():Xl(ee))),()=>{S.current=!0,Ae()}},[x]),wo(()=>{let ee;function ie(){let Ae=kt(l)?l(w().data):l;Ae&&ee!==-1&&(ee=setTimeout(le,Ae))}function le(){!w().error&&(A||O().isVisible())&&(u||O().isOnline())?br(nA).then(ie):ie()}return ie(),()=>{ee&&(clearTimeout(ee),ee=-1)}},[l,A,u,x]),(0,Je.useDebugValue)(Br),i){if(!zs&&mn&&jt)throw new Error("Fallback data is required when using Suspense in SSR.");jt&&(M.current=t,F.current=r,S.current=!1);let ee=C[x],ie=!Y(ee)&&jt?Sr(ee):Sg;if(rA(ie),!Y(vn)&&jt)throw vn;let le=jt?br(nA):Sg;!Y(Br)&&jt&&(le.status="fulfilled",le.value=!0),rA(le)}return{mutate:Sr,get data(){return Me.data=!0,Br},get error(){return Me.error=!0,vn},get isValidating(){return Me.isValidating=!0,bs},get isLoading(){return Me.isLoading=!0,An}}},GL=xo.defineProperty(tA,"defaultValue",{value:Xs}),kn=Bg(v1);function iA(e,t=[]){if(e.children)for(let r of e.children){if(r.sequence){let n=r.sequence.id[0]?.accession;n&&t.push({id:n,seq:r.sequence.mol_seq.seq,species:r.taxonomy.common_name||r.taxonomy.scientific_name,genomicLocString:r.sequence.mol_seq.location})}iA(r,t)}return t}async function Qg(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function fr(e,t){return(await Qg(e,t)).text()}async function bo(e,t){return(await Qg(e,t)).json()}function Zs(e){return new Promise(t=>setTimeout(t,e))}async function Ti(e,t){let r=localStorage.getItem(e);if(r)try{return JSON.parse(r)}catch(o){console.error(`Error parsing cached data for ${e}:`,o),localStorage.removeItem(e)}let n=await t();return localStorage.setItem(e,JSON.stringify(n)),n}var Mg="https://rest.ensembl.org";async function vg(e){let t=e.replace(/\..*/,""),{species:r}=await Ti(`${t}-ensembl`,()=>bo(`${Mg}/lookup/id/${t}?content-type=application/json`)),n=`${Mg}/genetree/member/id/${r}/${t}`,o=await Ti(`${t}-msa`,()=>bo(`${n}?content-type=application/json;aligned=1;sequence=pep`)),i=await Ti(`${t}-tree`,()=>fr(`${n}?nh_format=simple;content-type=text/x-nh`)),s=iA(o.tree);return{geneTreeId:o.id,tree:i,msa:s.map(a=>`>${a.id}
62
+ `);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);xi(l)?n=!0:(l>=SB&&l<=QB||l===MB)&&a++}o===-1?o=a:a!==o&&(i=!1)}return n&&i}expandA3M(t,r){let n=r.length;if(n===0)return{};let o=[],i=[];for(let l=0;l<n;l++){let A=t[l],u=[],d=[],m=0;for(;m<A.length;){let g=A.charCodeAt(m);if(g>=SB&&g<=QB||g===MB){u.push(A[m]);let C="",x=m+1;for(;x<A.length;){let I=A.charCodeAt(x);if(xi(I)||I===vB)C+=A[x],x++;else break}d.push(C),m=x}else if(g===vB)m++;else if(xi(g)){let C="";for(;m<A.length&&xi(A.charCodeAt(m));)C+=A[m],m++;u.push(""),d.push(C)}else m++}o.push(u),i.push(d)}let s=Math.max(...o.map(l=>l.length),0),a=new Array(s).fill(0);for(let l=0;l<n;l++){let A=i[l];for(let u=0;u<A.length;u++){let d=0;for(let m of A[u])xi(m.charCodeAt(0))&&d++;d>a[u]&&(a[u]=d)}}let c={};for(let l=0;l<n;l++){let A=o[l],u=i[l],d=[];for(let m=0;m<s;m++){let g=a[m];if(m<A.length){let C=A[m],x=u[m]||"";d.push(C||"-");let I="";for(let y of x)xi(y.charCodeAt(0))&&(I+=y.toUpperCase());d.push(I);let h=g-I.length;h>0&&d.push(".".repeat(h))}else d.push("-"),g>0&&d.push(".".repeat(g))}c[r[l]]=d.join("")}return c}getMSA(){return this.MSA}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t?this.getRow(t).length:0}}});function ik(e){let t=/\(?(\d+(\.\d+)+)\)?/.exec(e);return t&&t.length>1?t[1]:""}function _B(e){let t=["CLUSTAL","PROBCONS","MUSCLE","MSAPROBS","Kalign"];t.some(n=>e.startsWith(n))||console.warn(`${e} is not a known CLUSTAL header: ${t.join(",")}, proceeding but could indicate an issue`);let r=ik(e);return{info:e,version:r}}function al(e){let t=e.next();for(;!t.done&&t.value.trim()==="";)t=e.next();return t.value}function sk(e){let t=e.split(/\s+/),r=e.slice(t[0].length),n=t[0].length+r.indexOf(t[1]),o=n+t[1].length;return[n,o]}function TB(e){let t=al(e),r=[],n="";if(!t)return;for(;t;)t.startsWith(" ")?n=t:r.push(t),t=e.next().value;let[o,i]=sk(r[0]),a=r.map(u=>u.split(/\s+/)).map(u=>u[0]),c=r.map(u=>u.slice(o,i)),l=n.slice(o,i),A=c[0].length-l.length;return A&&(l+=" ".repeat(A)),{ids:a,seqs:c,consensus:l}}function DB(e){let t,r=TB(e);if(r!==void 0)for(;t=TB(e);){for(let n=0;n<t.seqs.length;n++)r.seqs[n]+=t.seqs[n];r.consensus+=t.consensus}return r}var sd=p(()=>{});var kB=p(()=>{sd()});function ak(e){let t=al(e);if(!t)throw new Error("Empty file received");let r=_B(t),n=DB(e);if(n===void 0)throw new Error("No blocks parsed");let o=n.seqs.map((s,a)=>({id:n.ids[a],seq:s})),{consensus:i}=n;if(i.length!==o[0].seq.length)throw new Error(`Consensus length != sequence length. Con ${i.length} seq ${o[0].seq.length}`);return{consensus:i,alns:o,header:r}}function NB(e){let t=e.split(`
63
+ `)[Symbol.iterator]();return ak(t)}var LB=p(()=>{kB();sd()});var ao,ad=p(()=>{LB();yi();ao=class extends Vt{MSA;constructor(t){super(),this.MSA=NB(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.alns.find(r=>r.id===t)?.seq||""}getWidth(){return this.MSA.alns[0].seq.length}getHeader(){return this.MSA.header}getNames(){return this.MSA.alns.map(t=>t.id)}get seqConsensus(){return this.MSA.consensus}}});function FB(e){let t=e.split(`
64
+ `).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function cl(e){let t=e.split(`
65
+ `).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,d,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:d,unknown:m}});return{tree:n,seqs:o}}var cd=p(()=>{});var co,ld=p(()=>{cd();yi();co=class extends Vt{MSA;constructor(t){super(),this.MSA=FB(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.find(r=>r.protein===t)?.seq||""}getWidth(){return this.MSA[0].seq.length}getHeader(){return""}getNames(){return this.MSA.map(t=>t.protein)}}});var lo,Ad=p(()=>{yi();lo=class extends Vt{MSA;constructor(t){super();let r={},n={};for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
66
+ `);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r[c]=o.slice(i+1).replaceAll(/\s/g,""),c.includes(":")&&(n[c.replaceAll(":","_")]=c))}this.MSA={seqdata:r,colonNormalized:n}}getMSA(){return this.MSA}getNames(){return Object.keys(this.MSA.seqdata)}getRow(t){return this.MSA.seqdata[t]??this.MSA.seqdata[this.MSA.colonNormalized[t]??""]??""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}}});function Ao(e){let t=[],r=[],n=e.replace(/'((?:[^']|'')*)'/g,(s,a)=>{let c=r.length;return r.push(a.replaceAll("''","'")),`__Q${c}__`}),o={},i=n.split(/\s*(;|\(|\)|,|:)\s*/);for(let s=0;s<i.length;s++){let c=i[s].replace(/^__Q(\d+)__$/,(A,u)=>r[Number(u)]),l={};switch(c){case"(":o.children=[l],t.push(o),o=l;break;case",":t.at(-1)?.children.push(l),o=l;break;case")":o=t.pop();break;case":":break;default:{let A=i[s-1];A===")"||A==="("||A===","?o.name=c:A===":"&&(o.length=Number.parseFloat(c))}}}return o}var ud=p(()=>{});function wi(){return{gf:{},gc:{},gs:{},gr:{},seqname:[],seqdata:{}}}function ys(e){return RB.test(e)}function PB(e,t){let r=t??{},n=[],o=null,i=e.split(`
67
+ `);for(let s of i){let a;if(RB.test(s))o=wi();else if(ck.test(s))o&&n.push(o),o=null;else if(a=lk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=wi()}let c=a[1];o.gf[c]||(o.gf[c]=[]),o.gf[c].push(a[2])}else if(a=Ak.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=wi()}let c=a[1];o.gc[c]||(o.gc[c]=""),o.gc[c]+=a[2]}else if(a=uk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=wi()}let c=a[1],l=a[2],A=a[3];o.gs[l]||(o.gs[l]={}),o.gs[l][c]||(o.gs[l][c]=[]),o.gs[l][c].push(A)}else if(a=fk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=wi()}let c=a[1],l=a[2],A=a[3];o.gr[l]||(o.gr[l]={}),o.gr[l][c]||(o.gr[l][c]=""),o.gr[l][c]+=A}else if(a=dk.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=wi()}let c=a[1],l=a[2];o.seqdata[c]||(o.seqdata[c]="",o.seqname.push(c)),o.seqdata[c]+=l}else if(mk.test(s)&&r.strict)throw new Error("Malformed line")}return o&&n.push(o),n}var RB,ck,lk,Ak,uk,fk,dk,mk,fd=p(()=>{RB=/^# STOCKHOLM 1.0/,ck=/^\/\/\s*$/,lk=/^#=GF\s+(\S+)\s+(.*?)\s*$/,Ak=/^#=GC\s+(\S+)\s+(.*?)\s*$/,uk=/^#=GS\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,fk=/^#=GR\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,dk=/^\s*(\S+)\s+(\S+)\s*$/,mk=/\S/});var uo,dd=p(()=>{ud();fd();od();yi();fd();uo=class extends Vt{data;MSA;constructor(t,r){super();let n=PB(t);this.data=n,this.MSA=n[r]}getMSA(){return this.MSA}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}get alignmentNames(){return this.data.map((t,r)=>t.gf.DE?.[0]??`Alignment ${r+1}`)}getHeader(){let t=this.MSA.gs.AC??{},r=this.MSA.gs.DR??{};return{General:this.MSA.gf,Accessions:Object.fromEntries(Object.entries(t).map(([n,o])=>[n,o[0]])),Dbxref:Object.fromEntries(Object.entries(r).map(([n,o])=>[n,o.join("; ")]))}}getRowData(t){return{name:t,accession:this.MSA.gs.AC?.[t]?.[0],dbxref:this.MSA.gs.DR?.[t]?.join("; ")}}getNames(){return Object.keys(this.MSA.seqdata)}getStructures(){let t=/PDB; +(\S+) +(\S); ([0-9]+)-([0-9]+)/,r=this.MSA.gs.DR??{},n={};for(let[o,i]of Object.entries(r))for(let s of i){let a=t.exec(s);a&&(n[o]??=[]).push({pdb:a[1].toLowerCase(),chain:a[2],startPos:+a[3],endPos:+a[4]})}return n}getTree(){let t=this.MSA.gf.NH?.[0];return t?Ii(Ao(t)):super.getTree()}get seqConsensus(){return this.MSA.gc.seq_cons}get secondaryStructureConsensus(){return this.MSA.gc.SS_cons}get tracks(){return[{id:"seqConsensus",name:"Sequence consensus",data:this.seqConsensus,customColorScheme:{}},{id:"secondaryStruct",name:"Secondary-structure",data:this.secondaryStructureConsensus,customColorScheme:{">":"pink","<":"lightblue"}}]}}});function md(e,t=0){return ys(e)?new uo(e,t):_n.sniff(e)?new _n(e):e.startsWith(">")?new lo(e):e.startsWith("SEQ")?new co(e):new ao(e)}var OB=p(()=>{id();ad();ld();Ad();dd();cd();ud();id();ad();ld();Ad();dd()});function gk(e){return e?Object.fromEntries(e.split(";").map(t=>t.trim()).filter(t=>!!t).map(t=>t.split("=")).map(([t,r])=>[t?.trim()??"",r?decodeURIComponent(r).trim().split(",").join(" "):void 0]).filter(([t])=>t!=="")):{}}function ll(e){return e?e.split(`
68
+ `).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...gk(u)}}):[]}var GB=p(()=>{});function Al(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let d=i.get(l);d?d.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var HB=p(()=>{});var UB=p(()=>{});var qB=p(()=>{GB();HB();UB()});var jB=p(()=>{BB();od();OB();qB()});function JB({mapHeight:e,blockSize:t,viewportY:r,viewportHeight:n}){let o=Math.max(0,Math.min(r,e*t-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}function VB({mapWidth:e,blockSize:t,viewportX:r,viewportWidth:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var YB=p(()=>{});function gd({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let s=Math.max(0,Math.floor(o/r)),a=Math.max(0,Math.ceil((o+i)/r));e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function pd({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let l=Math.max(0,Math.floor(a/i)),A=Math.max(0,Math.ceil((a+c)/i)),u=t?.slice(l,A);for(let d=0;u&&d<u.length;d++){let m=u[d],g=r[m.toUpperCase()];if(o){let C=d*i+a-a%i;e.fillStyle=g||"white",e.fillRect(C,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[m.toUpperCase()]||"black",e.fillText(m,C+i/2,s/2+1))}}}function Ek({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,d=s??l;t.resetTransform(),t.scale(d,d),t.translate(-r,n),gd({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function Ik({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:d,rowHeight:m,highResScaleFactor:g}=e,{customColorScheme:C,data:x}=r.model,I=C??A,h=s??c,y=a??g;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",t.font=t.font.replace(/\d+px/,`${d}px`),pd({ctx:t,data:x,colorScheme:I,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:m,offsetX:n,blockSize:h}),t.resetTransform()}function WB({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?Ek({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):Ik({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var ul=p(()=>{});var fn,zB,hd,yk,xk,$B,KB=p(()=>{fn=f(S(),1),zB=f(se(),1),hd=f(P(),1);ul();yk=(0,hd.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,colWidth:i,highResScaleFactor:s,conservation:a}=e,c=(0,fn.useRef)(null);return(0,fn.useEffect)(()=>{if(!c.current)return;let l=c.current.getContext("2d");l&&(l.resetTransform(),l.scale(s,s),l.clearRect(0,0,n,r),l.translate(-t,0),gd({ctx:l,conservation:a,colWidth:i,trackHeight:r,offsetX:t,blockSize:n}))},[n,i,r,t,s,a]),fn.default.createElement("canvas",{ref:c,height:r*s,width:n*s,style:{position:"absolute",left:o+t,width:n,height:r}})}),xk=(0,hd.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return fn.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>fn.default.createElement(yk,{key:i,model:e,offsetX:i,trackHeight:o})),fn.default.createElement(zB.ResizeHandle,{onDrag:i=>(e.setConservationTrackHeight(Math.max(10,e.conservationTrackHeight+i)),i),style:{position:"absolute",bottom:0,left:0,height:4,width:"100%",zIndex:1,background:"rgba(200,200,200,0.5)"}}))}),$B=xk});var Ur,XB,Cd,wk,bk,ZB,eS=p(()=>{Ur=f(S(),1),XB=f(L(),1),Cd=f(P(),1);Sn();ul();wk=(0,Cd.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,bgColor:i,colorScheme:s,colWidth:a,fontSize:c,rowHeight:l,highResScaleFactor:A}=t,{model:{customColorScheme:u,data:d}}=e,m=u||s,g=(0,XB.useTheme)(),C=(0,Ur.useRef)(null),x=(0,Ur.useMemo)(()=>eo(m,g),[m,g]);return(0,Ur.useEffect)(()=>{if(!C.current)return;let I=C.current.getContext("2d");I&&(I.resetTransform(),I.scale(A,A),I.clearRect(0,0,n,l),I.translate(-r,0),I.textAlign="center",I.font=I.font.replace(/\d+px/,`${c}px`),pd({ctx:I,data:d,colorScheme:m,contrastScheme:x,bgColor:i,colWidth:a,rowHeight:l,offsetX:r,blockSize:n}))},[c,i,n,a,l,r,x,m,A,d]),Ur.default.createElement("canvas",{ref:C,height:l*A,width:n*A,style:{position:"absolute",left:o+r,width:n,height:l}})}),bk=(0,Cd.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?Ur.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>Ur.default.createElement(wk,{key:i,track:e,model:t,offsetX:i}))):null}),ZB=bk});var fl,dl=p(()=>{fl="maeditor"});function tS(e){let t=Math.min(e.length-1,xf.length-1),r=xf[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var rS=p(()=>{wf()});function nS(e){let t=new Map(e.map(n=>[n.id,{id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]}])),r;for(let n of e){let o=t.get(n.id),i=n.parent!==void 0?t.get(n.parent):void 0;i?i.children.push(o):r??=o}return r}var oS=p(()=>{});function iS(e,t){Ed||(Ed=document.createElement("canvas"));let r=Ed.getContext("2d");if(!r)throw new Error("no canvas context");return r.font=r.font.replace(/\d+px/,`${t}px`),r.measureText(e).width}var Ed,sS=p(()=>{});function aS(){return qr.types.model({tree:qr.types.maybe(qr.types.string),msa:qr.types.maybe(qr.types.string),treeMetadata:qr.types.maybe(qr.types.string),gff:qr.types.maybe(qr.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t},setGFF(t){e.gff=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n,gff:o}=e,i=5e4;return{tree:t&&t.length>i?void 0:t,msa:r&&r.length>i?void 0:r,treeMetadata:n&&n.length>i?void 0:n,gff:o&&o.length>i?void 0:o}})}var qr,cS=p(()=>{qr=f(Lt(),1)});function AS(){return lS.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var lS,uS=p(()=>{lS=f(Lt(),1)});function dS(){return fS.types.model({bgColor:!0,colorSchemeName:fl}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t}}))}var fS,mS=p(()=>{fS=f(Lt(),1);dl()});function gS(){return bi.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:bi.types.optional(bi.types.number,400),treeWidth:bi.types.optional(bi.types.number,300),showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var bi,pS=p(()=>{bi=f(Lt(),1);dl()});function Md(e,t){return hS.get(e.toUpperCase())?.get(t.toUpperCase())??-4}function Sk(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let d=Md(A,u);o+=d,i+=Math.max(Md(A,A),Md(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function Qk(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=Sk(e[n][1],e[o][1])}return r}function Mk(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let y=0;y<o.length;y++)o[y]!==void 0&&a.push(y);let c=new Map;for(let y of a){let b=0;for(let w of a)y!==w&&(b+=n[y][w]);c.set(y,b)}let l=1/0,A=-1,u=-1;for(let y=0;y<a.length;y++)for(let b=y+1;b<a.length;b++){let w=a[y],v=a[b],M=(i-2)*n[w][v]-c.get(w)-c.get(v);M<l&&(l=M,A=w,u=v)}let d=n[A][u],m=c.get(A),g=c.get(u),C,x;i>2?(C=d/2+(m-g)/(2*(i-2)),x=d-C):(C=d/2,x=d/2),C=Math.max(0,C),x=Math.max(0,x);let I={left:o[A],right:o[u],leftLength:C,rightLength:x},h=A;for(let y of a)if(y!==A&&y!==u){let b=(n[A][y]+n[u][y]-d)/2;n[h][y]=Math.max(0,b),n[y][h]=Math.max(0,b)}o[u]=void 0,o[h]=I,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function vd(e,t){let r;if(e.name!==void 0&&!e.left&&!e.right)r=`'${e.name.replaceAll("'","''")}'`;else{let n=e.left?vd(e.left,e.leftLength):"",o=e.right?vd(e.right,e.rightLength):"";r=`(${n},${o})`}return t!==void 0&&(r+=`:${t.toFixed(6)}`),r}function CS(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=Qk(e),n=Mk(r,t);return vd(n)+";"}var ml,Bk,hS,ES=p(()=>{ml="ARNDCQEGHILKMFPSTWYVBZX*",Bk=[[4,-1,-2,-2,0,-1,-1,0,-2,-1,-1,-1,-1,-2,-1,1,0,-3,-2,0,-2,-1,0,-4],[-1,5,0,-2,-3,1,0,-2,0,-3,-2,2,-1,-3,-2,-1,-1,-3,-2,-3,-1,0,-1,-4],[-2,0,6,1,-3,0,0,0,1,-3,-3,0,-2,-3,-2,1,0,-4,-2,-3,3,0,-1,-4],[-2,-2,1,6,-3,0,2,-1,-1,-3,-4,-1,-3,-3,-1,0,-1,-4,-3,-3,4,1,-1,-4],[0,-3,-3,-3,9,-3,-4,-3,-3,-1,-1,-3,-1,-2,-3,-1,-1,-2,-2,-1,-3,-3,-2,-4],[-1,1,0,0,-3,5,2,-2,0,-3,-2,1,0,-3,-1,0,-1,-2,-1,-2,0,3,-1,-4],[-1,0,0,2,-4,2,5,-2,0,-3,-3,1,-2,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-2,0,-1,-3,-2,-2,6,-2,-4,-4,-2,-3,-3,-2,0,-2,-2,-3,-3,-1,-2,-1,-4],[-2,0,1,-1,-3,0,0,-2,8,-3,-3,-1,-2,-1,-2,-1,-2,-2,2,-3,0,0,-1,-4],[-1,-3,-3,-3,-1,-3,-3,-4,-3,4,2,-3,1,0,-3,-2,-1,-3,-1,3,-3,-3,-1,-4],[-1,-2,-3,-4,-1,-2,-3,-4,-3,2,4,-2,2,0,-3,-2,-1,-2,-1,1,-4,-3,-1,-4],[-1,2,0,-1,-3,1,1,-2,-1,-3,-2,5,-1,-3,-1,0,-1,-3,-2,-2,0,1,-1,-4],[-1,-1,-2,-3,-1,0,-2,-3,-2,1,2,-1,5,0,-2,-1,-1,-1,-1,1,-3,-1,-1,-4],[-2,-3,-3,-3,-2,-3,-3,-3,-1,0,0,-3,0,6,-4,-2,-2,1,3,-1,-3,-3,-1,-4],[-1,-2,-2,-1,-3,-1,-1,-2,-2,-3,-3,-1,-2,-4,7,-1,-1,-4,-3,-2,-2,-1,-2,-4],[1,-1,1,0,-1,0,0,0,-1,-2,-2,0,-1,-2,-1,4,1,-3,-2,-2,0,0,0,-4],[0,-1,0,-1,-1,-1,-1,-2,-2,-1,-1,-1,-1,-2,-1,1,5,-2,-2,0,-1,-1,0,-4],[-3,-3,-4,-4,-2,-2,-3,-2,-2,-3,-2,-3,-1,1,-4,-3,-2,11,2,-3,-4,-3,-2,-4],[-2,-2,-2,-3,-2,-1,-2,-3,2,-1,-1,-2,-1,3,-3,-2,-2,2,7,-1,-3,-2,-1,-4],[0,-3,-3,-3,-1,-2,-2,-3,-3,3,1,-2,1,-1,-2,-2,0,-3,-1,4,-3,-2,-1,-4],[-2,-1,3,4,-3,0,1,-1,0,-3,-4,0,-3,-3,-2,0,-1,-4,-3,-3,4,1,-1,-4],[-1,0,0,1,-3,3,4,-2,0,-3,-3,1,-1,-3,-1,0,-1,-3,-2,-2,1,4,-1,-4],[0,-1,-1,-1,-2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-2,0,0,-2,-1,-1,-1,-1,-1,-4],[-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,-4,1]],hS=new Map;for(let e=0;e<ml.length;e++){let t=new Map;for(let r=0;r<ml.length;r++)t.set(ml[r],Bk[e][r]);hS.set(ml[e],t)}});function Td(e){let t=[],r=0;for(;r<e.length&&(r=e.indexOf("{",r),r!==-1);){let n=1,o=r+1;for(r++;r<e.length&&n>0;)e[r]==="{"?n++:e[r]==="}"&&n--,r++;n===0&&t.push(e.slice(o,r-1).trim())}return t}function Tk(e,t){let r=e.indexOf("{",t);if(r===-1)return;let n=1,o=r+1;for(;o<e.length&&n>0;)e[o]==="{"?n++:e[o]==="}"&&n--,o++;return n===0?e.slice(r+1,o-1).trim():void 0}function IS(e){let t=e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,""),r=_k(t),n=Object.fromEntries(Td(r.fdict).flatMap(o=>{let i=Dk(o);return i?[[i.id,vk[i.name]||i.name]]:[]}));return Td(r.nodes).flatMap(o=>{let i=kk(o);if(!i)return[];let{features:s=[],...a}=i;return[{...a,...Object.fromEntries(s.map(c=>[n[c.featureid],c.value]))}]})}function _k(e){let t={},r=e.trim();r.startsWith("{")&&r.endsWith("}")&&(r=r.slice(1,-1).trim());let n=0;for(;n<r.length;){for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length)break;let o=n;for(;n<r.length&&/\w/.test(r[n]);)n++;if(n>=r.length||r[n]!==" "&&r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let i=r.slice(o,n).trim();for(;n<r.length&&/\s/.test(r[n]);)n++;if(n>=r.length||r[n]!=="{"){n=r.indexOf(",",n),n=n===-1?r.length:n+1;continue}let s=1,a=n+1;for(n++;n<r.length&&s>0;)r[n]==="{"?s++:r[n]==="}"&&s--,n++;s===0&&(t[i]=r.slice(a,n-1).trim()),n=r.indexOf(",",n),n=n===-1?r.length:n+1}return t}function Dk(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{id:parseInt(t[1],10),name:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}function kk(e){let t=/id\s+(\d+)/.exec(e);if(!t)return null;let r=/parent\s+(\d+)/.exec(e),n=e.indexOf("features"),o=n!==-1?Tk(e,n):void 0;return{id:parseInt(t[1],10),...r?{parent:parseInt(r[1],10)}:{},features:o?Td(o).flatMap(i=>{let s=Nk(i);return s?[s]:[]}):[]}}function Nk(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);return!t||!r?null:{featureid:parseInt(t[1],10),value:r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\")}}var vk,yS=p(()=>{vk={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function _d(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function xS(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function Lk({seq:e,blanks:t,visibleCol:r}){let n=_d(t,r),o=e.length;if(n<o&&ss(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)ss(e[s])||i++;return n<o?i:void 0}function wS({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?Lk({seq:o,visibleCol:t,blanks:n}):void 0}var bS=p(()=>{Sn()});function BS({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!ss(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var SS=p(()=>{Sn()});function QS(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.click(),setTimeout(()=>{URL.revokeObjectURL(r)},4e4)}var MS=p(()=>{});var fo,vS,Fk,TS,_S=p(()=>{fo=f(S(),1),vS=f(P(),1),Fk=(0,vS.observer)(({model:e})=>{let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=12,a=n-12,c=r/i/o,l=-t,A=l+r,u=l*c,d=A*c,m="rgb(66, 119, 127)",g=.3;return fo.default.createElement(fo.default.Fragment,null,fo.default.createElement("rect",{x:0,y:0,width:r,height:s,stroke:"#555",fill:"none"}),fo.default.createElement("rect",{x:Math.max(0,u),y:0,width:d-u,height:s,fill:m,fillOpacity:g,stroke:"#555"}),fo.default.createElement("g",{transform:`translate(0 ${s})`},fo.default.createElement("polygon",{fill:m,fillOpacity:g,points:[[d,0],[u,0],[0,a],[r,a]].toString()})))}),TS=Fk});var NS={};ze(NS,{Context:()=>Nd});function DS(e){return!e||typeof e=="string"?e:e+""}function Mr(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function Dd(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function Rk(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]="&#160;",r}function Pk(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function Ok(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var kS,xs,ws,kd,Nd,LS=p(()=>{kS=Rk("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),xs={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},ws=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),DS(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",Mr("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",DS(r));this.__root.appendChild(n)}},kd=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},Nd=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(xs))this[t]=xs[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(xs))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(xs);for(let i of o){let s=xs[i],a=this[i];if(s.apply){if(a instanceof kd){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,Mr("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof ws)r.setAttribute(s.apply,Mr("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,Mr("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(kS)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,kS[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(Mr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(Mr("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(Mr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(Mr("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(Mr("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:Dd(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new ws(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:Dd(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new ws(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":Pk(this.textAlign),"dominant-baseline":Ok(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,d=0,m=i-o;m<0&&(m+=2*Math.PI),s?d=m>Math.PI?0:1:d=m>Math.PI?1:0;let g=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),C=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(Mr("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*g,ry:n*C,xAxisRotation:0,largeArcFlag:d,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=Dd(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",Mr("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var OS={};ze(OS,{renderToSvg:()=>Gk});async function Gk(e,t){await(0,PS.when)(()=>!!e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s}=e,{exportType:a,theme:c,includeMinimap:l,includeTracks:A}=t,u=A?s:0;if(a==="entire")return FS({width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:c,model:e,offsetY:0,offsetX:0,includeMinimap:l,includeTracks:A});if(a==="viewport")return FS({width:r,height:n+(l?e.minimapHeight:0)+u,contentHeight:n,trackHeight:u,theme:c,model:e,offsetY:-i,offsetX:-o,includeMinimap:l,includeTracks:A});throw new Error("unknown export type")}async function FS({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(LS(),NS)),u=c?qk:Jk;return(0,RS.renderToStaticMarkup)(ce.default.createElement(jk,{width:e,height:t},ce.default.createElement(u,{model:a},l&&n>0?ce.default.createElement(Uk,{Context:A,model:a,theme:s,offsetX:o,width:e,trackHeight:n}):null,ce.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},ce.default.createElement(Hk,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,width:e,contentHeight:r})))))}function Hk({model:e,theme:t,width:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,d=eo(c,t),m=new s(r,n),g=new s(r,n);Wc({ctx:g,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1});let C=r-a;return tl({model:e,offsetY:i,ctx:m,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),zc({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:d,ctx:g,blockSizeXOverride:C,blockSizeYOverride:n,highResScaleFactorOverride:1}),ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:A},ce.default.createElement("rect",{x:0,y:0,width:a,height:n}))),ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:u},ce.default.createElement("rect",{x:0,y:0,width:C,height:n}))),ce.default.createElement("g",{clipPath:`url(#${A})`,dangerouslySetInnerHTML:{__html:m.getSvg().innerHTML}}),ce.default.createElement("g",{clipPath:`url(#${u})`,transform:`translate(${a} 0)`,dangerouslySetInnerHTML:{__html:g.getSvg().innerHTML}}))}function Uk({model:e,theme:t,width:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=eo(a,t),u=r-s,d=new i(u,n);return WB({model:e,ctx:d,offsetX:o,contrastScheme:A,blockSizeXOverride:u,highResScaleFactorOverride:1}),ce.default.createElement("g",{transform:`translate(${s} 0)`},ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:l},ce.default.createElement("rect",{x:0,y:0,width:u,height:n}))),ce.default.createElement("g",{clipPath:`url(#${l})`,dangerouslySetInnerHTML:{__html:d.getSvg().innerHTML}}))}function qk({model:e,children:t}){let{minimapHeight:r,treeAreaWidth:n}=e;return ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("g",{transform:`translate(${n} 0)`},ce.default.createElement(TS,{model:e})),ce.default.createElement("g",{transform:`translate(0 ${r})`},t))}function jk({width:e,height:t,children:r}){return ce.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,e,t].toString()},r)}function Jk({children:e}){return e}var ce,RS,PS,GS=p(()=>{ce=f(S(),1),RS=f(ne(),1),PS=f(en(),1);_S();Jf();Vf();ul();rl();Sn()});function Vk(){return X.types.compose(AS(),gS(),dS(),X.types.model("MsaView",{id:mo.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,type:X.types.literal("MsaView"),drawMsaLetters:!0,height:X.types.optional(X.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:X.types.maybe(mo.FileLocation),msaFilehandle:X.types.maybe(mo.FileLocation),treeMetadataFilehandle:X.types.maybe(mo.FileLocation),gffFilehandle:X.types.maybe(mo.FileLocation),currentAlignment:0,collapsed:X.types.array(X.types.string),showOnly:X.types.maybe(X.types.string),turnedOffTracks:X.types.map(X.types.boolean),data:X.types.optional(aS(),{tree:"",msa:"",treeMetadata:""}),featureFilters:X.types.map(X.types.boolean),relativeTo:X.types.maybe(X.types.string)})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:2,loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,nref:0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setLoadingMSA(t){e.loadingMSA=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHoveredTreeNode(t){if(!t){e.hoveredTreeNode=void 0;return}let r=Cs(e.hierarchy,o=>o.data.id===t);if(!r){e.hoveredTreeNode=void 0;return}let n=Es(r).map(o=>o.data.name);e.hoveredTreeNode={nodeId:t,descendantNames:n}},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,X.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return fi[e.colorSchemeName]},get header(){return this.MSA?.getHeader()||{}},get alignmentNames(){return this.MSA?.alignmentNames||[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?md(t,e.currentAlignment):null},get numColumns(){return(this.MSA?.getWidth()||0)-this.blanks.length},get tree(){let t=e.data.tree;return t?Ii(t.startsWith("BioTreeContainer")?nS(IS(t)):Ao(t.startsWith("SEQ")?cl(t).tree:t)):this.MSA?.getTree()||{noTree:!0,children:[],id:"empty",name:"empty"}},get rowNames(){return this.leaves.map(t=>t.data.name)},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.rowNames[t]},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=this.rowNames[r];if(!n)return;let o=this.insertionPositions.get(n);if(!o)return;let i=o.find(s=>s.pos===t);if(i)return{rowName:n,col:t,letters:i.letters}},get root(){let t=Nb(this.tree,r=>r.children);if(Lb(t,r=>r.children.length>0?0:1),Fb(t,(r,n)=>(r.data.length??1)-(n.data.length??1)),e.showOnly){let r=Cs(t,n=>n.data.id===e.showOnly);r&&(t=r)}for(let r of e.collapsed){let n=Cs(t,o=>o.data.id===r);n&&(n.children?Ob(n):n.parent?.children&&(n.parent.children=n.parent.children.filter(o=>o.data.id!==r)))}return t},get msaAreaWidth(){return e.width-e.treeAreaWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(Ye.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{hideGapsEffective:t}=e,{blanks:r,rows:n}=this,o=r.length;if(o===0||!t)return new Map;let i=new Map;for(let[s,a]of n){let c=[],l=0,A=0,u=-1,d=[],m=a.length;for(let g=0;g<m;g++)A<o&&r[A]===g?(a.charCodeAt(g)-45>>>0<=1||(u===l?d.push(a[g]):(d.length>0&&c.push({pos:u,letters:d.join("")}),u=l,d=[a[g]])),A++):l++;d.length>0&&c.push({pos:u,letters:d.join("")}),c.length>0&&i.set(s,c)}return i},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){return Object.fromEntries(this.rows.map((t,r)=>[t[0],this.columns2d[r]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(r=>r[1]).map(r=>t?pf(this.blanks,r):r)},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]||{},s=n[o];i[s]||(i[s]=0),i[s]++,t[o]=i}return t},get colStatsSums(){return this.colStats.map(t=>(0,Ye.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s)){let c=a.toUpperCase();c!=="-"&&c!=="."&&t.add(c)}let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=[...t].every(s=>r.has(s)),i=[...t].every(s=>n.has(s));return o&&!t.has("U")?"dna":i&&!t.has("T")?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s=0,a="";for(let l in n){let A=n[l];A>s&&l!=="-"&&l!=="."&&(s=A,a=l)}let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s={},a=n.W??0,c=n.L??0,l=n.V??0,A=n.I??0,u=n.M??0,d=n.A??0,m=n.F??0,g=n.C??0,C=n.H??0,x=n.P??0,I=n.R??0,h=n.K??0,y=n.Q??0,b=n.E??0,w=n.D??0,v=n.T??0,M=n.S??0,R=n.G??0,T=n.Y??0,V=n.N??0,Q=a+c+l+A+u+d+m+g+C+x+T,D=h+I,H=y+b,G=b+w,xe=v+M;return Q/i>.6&&(s.W="rgb(128,179,230)",s.L="rgb(128,179,230)",s.V="rgb(128,179,230)",s.A="rgb(128,179,230)",s.I="rgb(128,179,230)",s.M="rgb(128,179,230)",s.F="rgb(128,179,230)",s.C="rgb(128,179,230)"),(D/i>.6||h/i>.8||I/i>.8||y/i>.8)&&(s.K="#d88",s.R="#d88"),(D/i>.6||H/i>.5||b/i>.8||y/i>.8||w/i>.8)&&(s.E="rgb(192, 72, 192)"),(D/i>.6||G/i>.5||h/i>.8||I/i>.8||y/i>.8)&&(s.D="rgb(204, 77, 204)"),(V/i>.5||T/i>.85)&&(s.N="#8f8"),(D/i>.6||H/i>.6||y/i>.85||b/i>.85||h/i>.85||I/i>.85)&&(s.Q="#8f8"),(Q/i>.6||xe/i>.5||M/i>.85||v/i>.85)&&(s.S="rgb(26,204,26)",s.T="rgb(26,204,26)"),g/i>.85&&(s.C="rgb(240, 128, 128)"),R/i>0&&(s.G="rgb(240, 144, 72)"),x/i>0&&(s.P="rgb(204, 204, 0)"),(Q/i>.6||a/i>.85||T/i>.85||d/i>.85||g/i>.85||x/i>.85||y/i>.85||m/i>.85||C/i>.85||A/i>.85||c/i>.85||u/i>.85||l/i>.85)&&(s.H="rgb(26, 179, 179)",s.Y="rgb(26, 179, 179)"),s})},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]||0)+(s["."]||0),A=c-l;if(A===0)return 0;let u={};for(let C of Object.keys(s)){if(C==="-"||C===".")continue;let x=C.toUpperCase();u[x]=(u[x]||0)+s[C]}let d=0;for(let C of Object.keys(u)){let x=u[C]/A;x>0&&(d-=x*Math.log2(x))}let m=l/c;return Math.max(0,1-d/i)*(1-m)})},get hierarchy(){let t=this.root;return Pb(t,this.totalHeight,e.treeWidth),t.data.length=0,$f(t,0,e.treeWidth/zf(t)),t},get totalHeight(){return Es(this.root).length*e.rowHeight},get leaves(){return Es(this.hierarchy)},get allBranchesLength0(){return Kc(this.hierarchy).every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa||e.data.tree)&&!e.error},get blocksX(){return VB({viewportWidth:e.msaAreaWidth,viewportX:-e.scrollX,blockSize:e.blockSize,mapWidth:e.totalWidth})},get blocksY(){return JB({viewportHeight:e.height,viewportY:-e.scrollY,blockSize:e.blockSize,mapHeight:e.totalHeight})}})).views(e=>({get blocks2d(){return e.blocksY.flatMap(t=>e.blocksX.map(r=>[r,t]))},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=CS(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.ceil(e.colWidth*1.5),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.ceil(e.rowHeight*1.5)},zoomOutVertical(){e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75))},zoomIn(){(0,Yt.transaction)(()=>{e.colWidth=Math.ceil(e.colWidth*1.5),e.rowHeight=Math.ceil(e.rowHeight*1.5),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)})},zoomOut(){(0,Yt.transaction)(()=>{e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75)),e.scrollX=(0,Ye.clamp)(e.scrollX,e.maxScrollX,0)})},doScrollY(t){e.scrollY=(0,Ye.clamp)(e.scrollY+t,-e.totalHeight+10,0)},setInterProAnnotations(t){e.interProAnnotations=t},applyGFFText(t){let r=ll(t),n=Al(r);e.interProAnnotations=n,e.setShowDomains(!0)},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,Ye.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelsWidth(){let{rowHeight:t,leaves:r,treeMetadata:n,fontSize:o}=e;return t<=5?0:r.reduce((i,s)=>Math.max(i,iS(n[s.data.name]?.genome||s.data.name,o)),0)},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return(r?.tracks??[]).filter(s=>!!s.data).map(s=>({model:{...s,data:n&&s.data?pf(o,s.data):s.data,height:t},ReactComponent:ZB}))},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:$B};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},get rowNamesSet(){return new Map(e.rowNames.map((t,r)=>[t,r]))},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[_d(o,r)]},visibleColToSeqPos(t,r){return wS({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?xS(r,t):t},seqPosToGlobalCol(t,r){let{rows:n}=e,o=this.rowNamesSet.get(t);return o!==void 0&&n[o]?BS({row:n[o][1],seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get hoveredCell(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=e.rowNames[r];if(!n)return;let i=e.columns[n]?.[t],s=e.visibleColToSeqPosOneBased(n,t);return{rowName:n,col:t,base:i,seqPos:s}},get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,Ye.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){return new Map(this.tidyInterProAnnotations.map(t=>[t.accession,t]))},get tidyInterProAnnotations(){let{interProAnnotations:t}=e;return t?Object.entries(t).flatMap(([r,n])=>n.matches.flatMap(({signature:o,locations:i})=>o.entry?i.map(({start:s,end:a})=>({id:r,name:o.entry.name,accession:o.entry.accession,description:o.entry.description,start:s,end:a})):[])).toSorted((r,n)=>hf(n)-hf(r)):[]},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,Ye.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return tS([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Object.fromEntries(Object.entries(this.fillPalette).map(([t,r])=>[t,Bt(r).darken(.1).toHex()]))},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0),e.setGFFFilehandle(void 0),e.setInterProAnnotations({}),e.setShowDomains(!1)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(GS(),OS)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});QS(o,"image.svg")},incrementRef(){e.nref++},initFilter(t){e.featureFilters.get(t)===void 0&&e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){e.rowHeight=e.msaAreaHeight/e.numRows,e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0,e.scrollY=0},fitVertically(){e.rowHeight=e.msaAreaHeight/e.numRows,e.scrollY=0},fitHorizontally(){e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0},afterCreate(){(0,X.addDisposer)(e,(0,Yt.autorun)(()=>{for(let t of e.tidyInterProAnnotationTypes.keys())this.initFilter(t)})),(0,X.addDisposer)(e,(0,Yt.autorun)(async()=>{let{treeFilehandle:t}=e;if(t)try{e.setLoadingTree(!0),e.setTree(await(0,Ye.fetchAndMaybeUnzipText)((0,bs.openLocation)(t))),t.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingTree(!1)}})),(0,X.addDisposer)(e,(0,Yt.autorun)(async()=>{let{treeMetadataFilehandle:t}=e;if(t)try{e.setTreeMetadata(await(0,Ye.fetchAndMaybeUnzipText)((0,bs.openLocation)(t)))}catch(r){console.error(r),e.setError(r)}})),(0,X.addDisposer)(e,(0,Yt.autorun)(()=>{let t=e.data.gff;if(t)try{e.applyGFFText(t)}catch(r){console.error(r),e.setError(r)}})),(0,X.addDisposer)(e,(0,Yt.autorun)(async()=>{let{gffFilehandle:t}=e;if(t)try{let r=await(0,Ye.fetchAndMaybeUnzipText)((0,bs.openLocation)(t));e.applyGFFText(r),t.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}})),(0,X.addDisposer)(e,(0,Yt.autorun)(async()=>{let{msaFilehandle:t}=e;if(t)try{e.setLoadingMSA(!0),e.setError(void 0);let r=await(0,Ye.fetchAndMaybeUnzipText)((0,bs.openLocation)(t));(0,Yt.transaction)(()=>{e.setMSA(r),t.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingMSA(!1)}})),(0,X.addDisposer)(e,(0,Yt.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,X.addDisposer)(e,(0,Yt.autorun)(()=>{e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,subFeatureRows:c,drawMsaLetters:l,height:A,rowHeight:u,scrollY:d,scrollX:m,colWidth:g,currentAlignment:C,collapsed:x,showOnly:I,turnedOffTracks:h,featureFilters:y,relativeTo:b,bgColor:w,colorSchemeName:v,drawLabels:M,labelsAlignRight:R,treeAreaWidth:T,treeWidth:V,showBranchLen:Q,drawTree:D,drawNodeBubbles:H,...G}=t,vr=Object.fromEntries(Object.entries({showDomains:!1,hideGaps:!0,allowedGappyness:100,subFeatureRows:!1,drawMsaLetters:!0,height:550,rowHeight:16,scrollY:0,scrollX:0,colWidth:12,currentAlignment:0,bgColor:!0,colorSchemeName:fl,drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:400,treeWidth:300,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).filter(([jr,dn])=>t[jr]!==dn).map(([jr])=>[jr,t[jr]]));return{...G,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...vr,...x?.length?{collapsed:x}:{},...I!==void 0?{showOnly:I}:{},...h&&Object.keys(h).length>0?{turnedOffTracks:h}:{},...y&&Object.keys(y).length>0?{featureFilters:y}:{},...b!==void 0?{relativeTo:b}:{}}})}var Ye,bs,mo,X,Yt,gl,Rd=p(()=>{Ye=f(ne(),1),bs=f(xB(),1),mo=f(bB(),1),X=f(Lt(),1);Bc();Yt=f(en(),1);jB();YB();Mc();KB();eS();dl();rS();oS();Kf();sS();cS();uS();mS();pS();ES();yS();bS();SS();Sn();MS();gl=Vk});var Pd,Yk,Wk,$S=p(()=>{Pd=f(S(),1),Yk=f(IB(),1),Wk=f(_u(),1);Rd();nd()});var Od=p(()=>{nd();$S();Rd()});function Dn(e){let t=e;return t.type==="ProteinView"&&Array.isArray(t.structures)}function hl(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}function oQ(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]!=="-"){if(r===t)return n;r++}}function Hd(e){return Object.fromEntries(e)}var Ss=p(()=>{"use strict"});var vQ={};ze(vQ,{default:()=>dN});var le,Cl,SQ,Ie,QQ,MQ,uN,fN,dN,TQ=p(()=>{"use strict";le=f(S()),Cl=f(se()),SQ=f(ne()),Ie=f(L()),QQ=f(P()),MQ=f(be());Ss();uN=(0,MQ.makeStyles)()(e=>({formControl:{marginBottom:e.spacing(2)}})),fN=(0,QQ.observer)(function({model:t,handleClose:r}){let{classes:n}=uN(),o=(0,SQ.getSession)(t),[i,s]=(0,le.useState)(""),[a,c]=(0,le.useState)(0),[l,A]=(0,le.useState)(t.querySeqName),[u,d]=(0,le.useState)(),m=o.views.filter(Dn),C=m.find(h=>h.id===i)?.structures??[],x=t.rows.map(h=>h[0]),I=()=>{if(!i){d("Please select a protein view");return}try{t.connectToStructure(i,a,l),r()}catch(h){d(h instanceof Error?h.message:String(h))}};return le.default.createElement(Cl.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},le.default.createElement(Ie.DialogContent,null,m.length===0?le.default.createElement(Ie.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):le.default.createElement(le.default.Fragment,null,le.default.createElement(Ie.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(Ie.InputLabel,null,"Protein View"),le.default.createElement(Ie.Select,{value:i,label:"Protein View",onChange:h=>{s(h.target.value),c(0)}},m.map(h=>le.default.createElement(Ie.MenuItem,{key:h.id,value:h.id},h.displayName??`ProteinView ${h.id}`)))),C.length>1?le.default.createElement(Ie.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(Ie.InputLabel,null,"Structure"),le.default.createElement(Ie.Select,{value:a,label:"Structure",onChange:h=>{c(h.target.value)}},C.map((h,y)=>le.default.createElement(Ie.MenuItem,{key:y,value:y},h.url??`Structure ${y+1}`)))):null,le.default.createElement(Ie.FormControl,{fullWidth:!0,className:n.formControl},le.default.createElement(Ie.InputLabel,null,"MSA Row"),le.default.createElement(Ie.Select,{value:l,label:"MSA Row",onChange:h=>{A(h.target.value)}},x.map(h=>le.default.createElement(Ie.MenuItem,{key:h,value:h},h)))),u?le.default.createElement(Cl.ErrorMessage,{error:u}):null)),le.default.createElement(Ie.DialogActions,null,le.default.createElement(Ie.Button,{onClick:r},"Cancel"),le.default.createElement(Ie.Button,{onClick:I,variant:"contained",disabled:m.length===0||!i},"Connect")))}),dN=fN});var vs,NQ,El,LQ=p(()=>{"use strict";vs=f(S()),NQ=f(se()),El=class extends vs.Component{constructor(t){super(t),this.state={hasError:!1,error:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("MsaViewPanel error:",t,r.componentStack)}render(){return this.state.hasError?vs.default.createElement("div",{style:{padding:20}},vs.default.createElement(NQ.ErrorMessage,{error:this.state.error})):this.props.children}}});function gN({baseUrl:e,rid:t}){return Jd.default.createElement(FQ.Typography,null,"RID ",t," (",Jd.default.createElement(Hn,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var Jd,FQ,Vd,RQ=p(()=>{"use strict";Jd=f(S()),FQ=f(L());wa();Vd=gN});function pN({baseUrl:e,rid:t,error:r}){return Ar.default.createElement("div",null,t?Ar.default.createElement(Vd,{rid:t,baseUrl:e}):null,Ar.default.createElement(Il.ErrorMessage,{error:r}))}function hN({baseUrl:e,rid:t,progress:r}){let{classes:n}=GQ();return Ar.default.createElement("div",{className:n.loading},t?Ar.default.createElement(Vd,{baseUrl:e,rid:t}):null,Ar.default.createElement(Yd.Typography,null,r))}var Ar,Il,Yd,PQ,OQ,GQ,CN,HQ,UQ=p(()=>{"use strict";Ar=f(S()),Il=f(se()),Yd=f(L()),PQ=f(P()),OQ=f(be());RQ();GQ=(0,OQ.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));CN=(0,PQ.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i,processing:s}=t,{classes:a}=GQ();return Ar.default.createElement("div",{className:a.margin},Ar.default.createElement(Il.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?Ar.default.createElement(pN,{baseUrl:r,rid:o,error:i}):o?Ar.default.createElement(hN,{baseUrl:r,rid:o,progress:n}):null,Ar.default.createElement(Yd.Typography,null,s||"Initializing BLAST query"))}),HQ=CN});var VQ={};ze(VQ,{default:()=>yN});var go,qQ,jQ,JQ,EN,IN,yN,YQ=p(()=>{"use strict";go=f(S()),qQ=f(se()),jQ=f(P());Od();JQ=f(be());LQ();UQ();EN=(0,JQ.makeStyles)()({loadingContainer:{padding:20}}),IN=(0,jQ.observer)(function({model:t}){let{classes:r}=EN(),{blastParams:n,loadingStoredData:o}=t;return go.default.createElement(El,null,go.default.createElement("div",null,n?go.default.createElement(HQ,{model:t,baseUrl:n.baseUrl}):o?go.default.createElement("div",{className:r.loadingContainer},go.default.createElement(qQ.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):go.default.createElement(sl,{model:t})))}),yN=IN});var wN={};ze(wN,{default:()=>yl});var KQ=f(um()),zd=f(Fn()),XQ=f(ne()),$d=f(Lt());W();var Cm=f(F(),1),Em=(0,_.createSvgIcon)((0,Cm.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var vm=f(S()),Tm=f(ne());var vi=f(S()),Qm=f(P());var Tl=f(S()),bm=f(ne()),_l=f(P());var wm=f(be()),Rs=(0,wm.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var f1=(0,_l.observer)(function({model:e}){let t=(0,bm.getSession)(e),{hovered:r,views:n}=t;return!n.some(i=>i.type==="MsaView")||!r||typeof r!="object"||!("hoverPosition"in r)?null:Tl.default.createElement(d1,{model:e,hovered:r})}),d1=(0,_l.observer)(function({model:e,hovered:t}){let{classes:r}=Rs(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return Tl.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),Bm=f1;var Mi=f(S()),Dl=f(ne()),kl=f(P());var m1=(0,kl.observer)(function({model:t}){let{views:r}=(0,Dl.getSession)(t),o=r.find(i=>i.type==="MsaView")?.connectedHighlights;return!o||o.length===0?null:Mi.default.createElement(g1,{model:t,highlights:o})}),g1=(0,kl.observer)(function({model:e,highlights:t}){let{classes:r}=Rs(),{assemblyManager:n}=(0,Dl.getSession)(e),o=n.get(e.assemblyNames[0]),{offsetPx:i}=e;return o?Mi.default.createElement(Mi.default.Fragment,null,t.map((s,a)=>{let c=o.getCanonicalRefName(s.refName)??s.refName,l=e.bpToPx({refName:c,coord:s.start}),A=e.bpToPx({refName:c,coord:s.end});if(l&&A){let u=Math.max(Math.abs(A.offsetPx-l.offsetPx),4),d=Math.min(l.offsetPx,A.offsetPx)-i;return Mi.default.createElement("div",{key:`${s.refName}-${s.start}-${s.end}-${a}`,className:r.highlight,style:{left:d,width:u}})}return null})):null}),Sm=m1;var p1=(0,Qm.observer)(function({model:t}){return vi.default.createElement(vi.default.Fragment,null,vi.default.createElement(Sm,{model:t}),vi.default.createElement(Bm,{model:t}))}),Mm=p1;function Nl(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,Tm.getSession)(r);return n.some(i=>i.type==="MsaView")?[...t,vm.default.createElement(Mm,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var ug=f(Ll());var Dm=f(Fn());function Fl(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,Dm.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function Zl(e){return e.addAdapterType(()=>new ug.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:Fl(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(Ag(),lg)).then(t=>t.default)}))}var La=f(ne());W();var fg=f(F(),1),dg=(0,_.createSvgIcon)((0,fg.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var ot=f(S()),Jh=f(Fn()),Vh=f(se()),Yh=f(ne()),jn=f(L());var ht=f(S()),ua=f(se()),fa=f(ne()),$r=f(L()),Zg=f(P()),ep=f(be());function pg({session:e,newViewTitle:t,view:r,feature:n,data:o}){e.addView("MsaView",{type:"MsaView",displayName:t,colWidth:10,rowHeight:12,data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var qe=f(S(),1),gA=f(Ig(),1);var rt=f(S(),1);var pn={};ze(pn,{ERROR_REVALIDATE_EVENT:()=>k1,FOCUS_EVENT:()=>yg,MUTATE_EVENT:()=>wg,RECONNECT_EVENT:()=>xg});var yg=0,xg=1,wg=2,k1=3;var bg=Object.prototype.hasOwnProperty;function Vs(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Vs(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(bg.call(e,r)&&++n&&!bg.call(t,r)||!(r in t)||!Vs(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var gr=new WeakMap,pr=()=>{},Ue=pr(),bo=Object,J=e=>e===Ue,Ft=e=>typeof e=="function",hr=(e,t)=>({...e,...t}),Xs=e=>Ft(e.then),tA={},Ys={},cA="undefined",Bo=typeof window!=cA,zs=typeof document!=cA,Sg=Bo&&"Deno"in window,Qg=()=>Bo&&typeof window.requestAnimationFrame!=cA,Zs=(e,t)=>{let r=gr.get(e);return[()=>!J(t)&&e.get(t)||tA,n=>{if(!J(t)){let o=e.get(t);t in Ys||(Ys[t]=o),r[5](t,hr(o,n),o||tA)}},r[6],()=>!J(t)&&t in Ys?Ys[t]:!J(t)&&e.get(t)||tA]},oA=!0,N1=()=>oA,[iA,sA]=Bo&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[pr,pr],L1=()=>{let e=zs&&document.visibilityState;return J(e)||e!=="hidden"},F1=e=>(zs&&document.addEventListener("visibilitychange",e),iA("focus",e),()=>{zs&&document.removeEventListener("visibilitychange",e),sA("focus",e)}),R1=e=>{let t=()=>{oA=!0,e()},r=()=>{oA=!1};return iA("online",t),iA("offline",r),()=>{sA("online",t),sA("offline",r)}},Mg={isOnline:N1,isVisible:L1},vg={initFocus:F1,initReconnect:R1},ea=!rt.default.useId,hn=!Bo||Sg,lA=e=>Qg()?window.requestAnimationFrame(e):setTimeout(e,1),So=hn?rt.useEffect:rt.useLayoutEffect,rA=typeof navigator<"u"&&navigator.connection,aA=!hn&&rA&&(["slow-2g","2g"].includes(rA.effectiveType)||rA.saveData),Ws=new WeakMap,P1=e=>bo.prototype.toString.call(e),nA=(e,t)=>e===`[object ${t}]`,O1=0,$s=e=>{let t=typeof e,r=P1(e),n=nA(r,"Date"),o=nA(r,"RegExp"),i=nA(r,"Object"),s,a;if(bo(e)===e&&!n&&!o){if(s=Ws.get(e),s)return s;if(s=++O1+"~",Ws.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=$s(e[a])+",";Ws.set(e,s)}if(i){s="#";let c=bo.keys(e).sort();for(;!J(a=c.pop());)J(e[a])||(s+=a+":"+$s(e[a])+",");Ws.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},ki=e=>{if(Ft(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?$s(e):"",[e,t]},G1=0,Di=()=>++G1;async function ta(...e){let[t,r,n,o]=e,i=hr({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=d=>typeof a=="function"?a(d):a!==!1,A=i.throwOnError;if(Ft(r)){let d=r,m=[],g=t.keys();for(let C of g)!/^\$(inf|sub)\$/.test(C)&&d(t.get(C)._k)&&m.push(C);return Promise.all(m.map(u))}return u(r);async function u(d){let[m]=ki(d);if(!m)return;let[g,C]=Zs(t,m),[x,I,h,y]=gr.get(t),b=()=>{let G=x[m];return(Ft(i.revalidate)?i.revalidate(g().data,d):i.revalidate!==!1)&&(delete h[m],delete y[m],G&&G[0])?G[0](2).then(()=>g().data):g().data};if(e.length<3)return b();let w=n,v,M=!1,R=Di();I[m]=[R,0];let T=!J(c),V=g(),Q=V.data,D=V._c,H=J(D)?Q:D;if(T&&(c=Ft(c)?c(H,Q):c,C({data:c,_c:H})),Ft(w))try{w=w(H)}catch(G){v=G,M=!0}if(w&&Xs(w))if(w=await w.catch(G=>{v=G,M=!0}),R!==I[m][0]){if(M)throw v;return w}else M&&T&&l(v)&&(s=!0,C({data:H,_c:Ue}));if(s&&!M)if(Ft(s)){let G=s(w,H);C({data:G,error:Ue,_c:Ue})}else C({data:w,error:Ue,_c:Ue});if(I[m][1]=Di(),Promise.resolve(b()).then(()=>{C({_c:Ue})}),M){if(A)throw v;return}return w}}var Bg=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},AA=(e,t)=>{if(!gr.has(e)){let r=hr(vg,t),n=Object.create(null),o=ta.bind(Ue,e),i=pr,s=Object.create(null),a=(A,u)=>{let d=s[A]||[];return s[A]=d,d.push(u),()=>d.splice(d.indexOf(u),1)},c=(A,u,d)=>{e.set(A,u);let m=s[A];if(m)for(let g of m)g(u,d)},l=()=>{if(!gr.has(e)&&(gr.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!hn)){let A=r.initFocus(setTimeout.bind(Ue,Bg.bind(Ue,n,0))),u=r.initReconnect(setTimeout.bind(Ue,Bg.bind(Ue,n,1)));i=()=>{A&&A(),u&&u(),gr.delete(e)}}};return l(),[e,o,l,i]}return[e,gr.get(e)[4]]},H1=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!J(i)&&s>i||setTimeout(n,a,o)},Tg=Vs,[ra,_g]=AA(new Map),na=hr({onLoadingSlow:pr,onSuccess:pr,onError:pr,onErrorRetry:H1,onDiscarded:pr,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:aA?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:aA?5e3:3e3,compare:Tg,isPaused:()=>!1,cache:ra,mutate:_g,fallback:{}},Mg),uA=(e,t)=>{let r=hr(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=hr(o,s))}return r},Ks=(0,rt.createContext)({}),fA=e=>{let{value:t}=e,r=(0,rt.useContext)(Ks),n=Ft(t),o=(0,rt.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,rt.useMemo)(()=>n?o:uA(r,o),[n,r,o]),s=o&&o.provider,a=(0,rt.useRef)(Ue);s&&!a.current&&(a.current=AA(s(i.cache||ra),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),So(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,rt.createElement)(Ks.Provider,hr(e,{value:i}))};var Dg="$inf$";var Qo=f(S(),1);var kg=Bo&&window.__SWR_DEVTOOLS_USE__,U1=kg?window.__SWR_DEVTOOLS_USE__:[],q1=()=>{kg&&(window.__SWR_DEVTOOLS_REACT__=Qo.default)},j1=e=>Ft(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],J1=()=>{let e=(0,Qo.useContext)(Ks);return(0,Qo.useMemo)(()=>hr(na,e),[e])};var V1=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=ki(t),[,,,a]=gr.get(ra);if(s.startsWith(Dg))return r(...i);let c=a[s];return J(c)?r(...i):(delete a[s],c)}),n),Y1=U1.concat(V1),Ng=e=>function(...r){let n=J1(),[o,i,s]=j1(r),a=uA(n,s),c=e,{use:l}=a,A=(l||[]).concat(Y1);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},Lg=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};q1();var W1=()=>{},pF=W1();var dA=qe.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),mA={dedupe:!0},Fg=Promise.resolve(Ue),z1=()=>pr,$1=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:d,strictServerPrefetchWarning:m}=r,[g,C,x,I]=gr.get(n),[h,y]=ki(e),b=(0,qe.useRef)(!1),w=(0,qe.useRef)(!1),v=(0,qe.useRef)(h),M=(0,qe.useRef)(t),R=(0,qe.useRef)(r),T=()=>R.current,V=()=>T().isVisible()&&T().isOnline(),[Q,D,H,G]=Zs(n,h),xe=(0,qe.useRef)({}).current,vr=J(s)?J(r.fallback)?Ue:r.fallback[h]:s,jr=(ee,ie)=>{for(let Ae in xe){let ue=Ae;if(ue==="data"){if(!o(ee[ue],ie[ue])&&(!J(ee[ue])||!o(Tr,ie[ue])))return!1}else if(ie[ue]!==ee[ue])return!1}return!0},dn=!b.current,Ts=(0,qe.useMemo)(()=>{let ee=Q(),ie=G(),Ae=Me=>{let gt=hr(Me);return delete gt._k,(()=>{if(!h||!t||T().isPaused())return!1;if(dn&&!J(a))return a;let zt=J(vr)?gt.data:vr;return i?J(zt)||c:J(zt)||c})()?{isValidating:!0,isLoading:!0,...gt}:gt},ue=Ae(ee),kt=ee===ie?ue:Ae(ie),mt=ue;return[()=>{let Me=Ae(Q());return jr(Me,mt)?(mt.data=Me.data,mt.isLoading=Me.isLoading,mt.isValidating=Me.isValidating,mt.error=Me.error,mt):(mt=Me,Me)},()=>kt]},[n,h]),Jr=(0,gA.useSyncExternalStore)((0,qe.useCallback)(ee=>H(h,(ie,Ae)=>{jr(Ae,ie)||ee()}),[n,h]),Ts[0],Ts[1]),Fe=g[h]&&g[h].length>0,Vr=Jr.data,ge=J(Vr)?vr&&Xs(vr)?dA(vr):vr:Vr,kn=Jr.error,pe=(0,qe.useRef)(ge),Tr=d?J(Vr)?J(pe.current)?ge:pe.current:Vr:ge,Wt=h&&J(ge),vt=(0,qe.useRef)(null);!hn&&(0,gA.useSyncExternalStore)(z1,()=>(vt.current=!1,vt),()=>(vt.current=!0,vt));let _s=vt.current;m&&_s&&!i&&Wt&&console.warn(`Missing pre-initiated data for serialized key "${h}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let po=!h||!t||T().isPaused()||Fe&&!J(kn)?!1:dn&&!J(a)?a:i?J(ge)?!1:c:J(ge)||c,Si=dn&&po,Ds=J(Jr.isValidating)?Si:Jr.isValidating,Yr=J(Jr.isLoading)?Si:Jr.isLoading,ur=(0,qe.useCallback)(async ee=>{let ie=M.current;if(!h||!ie||w.current||T().isPaused())return!1;let Ae,ue,kt=!0,mt=ee||{},Me=!x[h]||!mt.dedupe,gt=()=>ea?!w.current&&h===v.current&&b.current:h===v.current,fr={isValidating:!1,isLoading:!1},zt=()=>{D(fr)},Nt=()=>{let pt=x[h];pt&&pt[1]===ue&&delete x[h]},ho={isValidating:!0};J(Q().data)&&(ho.isLoading=!0);try{if(Me&&(D(ho),r.loadingTimeout&&J(Q().data)&&setTimeout(()=>{kt&&gt()&&T().onLoadingSlow(h,r)},r.loadingTimeout),x[h]=[ie(y),Di()]),[Ae,ue]=x[h],Ae=await Ae,Me&&setTimeout(Nt,r.dedupingInterval),!x[h]||x[h][1]!==ue)return Me&&gt()&&T().onDiscarded(h),!1;fr.error=Ue;let pt=C[h];if(!J(pt)&&(ue<=pt[0]||ue<=pt[1]||pt[1]===0))return zt(),Me&&gt()&&T().onDiscarded(h),!1;let $t=Q().data;fr.data=o($t,Ae)?$t:Ae,Me&&gt()&&T().onSuccess(Ae,h,r)}catch(pt){Nt();let $t=T(),{shouldRetryOnError:Nn}=$t;$t.isPaused()||(fr.error=pt,Me&&gt()&&($t.onError(pt,h,$t),(Nn===!0||Ft(Nn)&&Nn(pt))&&(!T().revalidateOnFocus||!T().revalidateOnReconnect||V())&&$t.onErrorRetry(pt,h,$t,Ns=>{let mn=g[h];mn&&mn[0]&&mn[0](pn.ERROR_REVALIDATE_EVENT,Ns)},{retryCount:(mt.retryCount||0)+1,dedupe:!0})))}return kt=!1,zt(),!0},[h,n]),_r=(0,qe.useCallback)((...ee)=>ta(n,v.current,...ee),[]);if(So(()=>{M.current=t,R.current=r,J(Vr)||(pe.current=Vr)}),So(()=>{if(!h)return;let ee=ur.bind(Ue,mA),ie=0;T().revalidateOnFocus&&(ie=Date.now()+T().focusThrottleInterval);let ue=Lg(h,g,(kt,mt={})=>{if(kt==pn.FOCUS_EVENT){let Me=Date.now();T().revalidateOnFocus&&Me>ie&&V()&&(ie=Me+T().focusThrottleInterval,ee())}else if(kt==pn.RECONNECT_EVENT)T().revalidateOnReconnect&&V()&&ee();else{if(kt==pn.MUTATE_EVENT)return ur();if(kt==pn.ERROR_REVALIDATE_EVENT)return ur(mt)}});return w.current=!1,v.current=h,b.current=!0,D({_k:y}),po&&(x[h]||(J(ge)||hn?ee():lA(ee))),()=>{w.current=!0,ue()}},[h]),So(()=>{let ee;function ie(){let ue=Ft(l)?l(Q().data):l;ue&&ee!==-1&&(ee=setTimeout(Ae,ue))}function Ae(){!Q().error&&(A||T().isVisible())&&(u||T().isOnline())?ur(mA).then(ie):ie()}return ie(),()=>{ee&&(clearTimeout(ee),ee=-1)}},[l,A,u,h]),(0,qe.useDebugValue)(Tr),i){if(!ea&&hn&&Wt)throw new Error("Fallback data is required when using Suspense in SSR.");Wt&&(M.current=t,R.current=r,w.current=!1);let ee=I[h],ie=!J(ee)&&Wt?_r(ee):Fg;if(dA(ie),!J(kn)&&Wt)throw kn;let Ae=Wt?ur(mA):Fg;!J(Tr)&&Wt&&(Ae.status="fulfilled",Ae.value=!0),dA(Ae)}return{mutate:_r,get data(){return xe.data=!0,Tr},get error(){return xe.error=!0,kn},get isValidating(){return xe.isValidating=!0,Ds},get isLoading(){return xe.isLoading=!0,Yr}}},hF=bo.defineProperty(fA,"defaultValue",{value:na}),zr=Ng($1);function pA(e,t=[]){if(e.children)for(let r of e.children){if(r.sequence){let n=r.sequence.id[0]?.accession;n&&t.push({id:n,seq:r.sequence.mol_seq.seq,species:r.taxonomy.common_name||r.taxonomy.scientific_name,genomicLocString:r.sequence.mol_seq.location})}pA(r,t)}return t}async function Rg(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function Cr(e,t){return(await Rg(e,t)).text()}async function Mo(e,t){return(await Rg(e,t)).json()}function oa(e){return new Promise(t=>setTimeout(t,e))}async function Ni(e,t){let r=localStorage.getItem(e);if(r)try{return JSON.parse(r)}catch(o){console.error(`Error parsing cached data for ${e}:`,o),localStorage.removeItem(e)}let n=await t();return localStorage.setItem(e,JSON.stringify(n)),n}var Pg="https://rest.ensembl.org";async function Og(e){let t=e.replace(/\..*/,""),{species:r}=await Ni(`${t}-ensembl`,()=>Mo(`${Pg}/lookup/id/${t}?content-type=application/json`)),n=`${Pg}/genetree/member/id/${r}/${t}`,o=await Ni(`${t}-msa`,()=>Mo(`${n}?content-type=application/json;aligned=1;sequence=pep`)),i=await Ni(`${t}-tree`,()=>Cr(`${n}?nh_format=simple;content-type=text/x-nh`)),s=pA(o.tree);return{geneTreeId:o.id,tree:i,msa:s.map(a=>`>${a.id}
69
69
  ${a.seq}`).join(`
70
- `),treeMetadata:JSON.stringify(Object.fromEntries(s.map(a=>[a.id,{genome:a.species}])))}}function Tg(e){let{data:t,error:r,isLoading:n}=kn(()=>e?["geneTree",e]:null,([,o])=>vg(o),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{treeData:t,isTreeLoading:n,treeError:r}}var _g=f(ne());function T1(e){let r=(e.get("subfeatures")??[]).filter(n=>(n.get("type")==="mRNA"||n.get("type")==="transcript")&&n.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return r.length>0?r:[e]}function ea(e){let t=(0,_g.sum)(e.get("subfeatures")?.filter(r=>r.get("type")?.toLowerCase()==="cds").map(r=>r.get("end")-r.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function Nn(e){return e?.id()??""}function _1(e){if(!e)return[];let t=[e.id(),e.get("name"),e.get("id"),e.get("transcript_id")].filter(r=>!!r);return[...new Set(t)]}function ta(e,t){return _1(e).includes(t)}function Ln(e){return e===void 0?"":[e.get("name"),e.get("id")].filter(t=>!!t).join(" ")}function zt(e){return e===void 0?"":[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:""].filter(t=>!!t).join(" ")}function Dg(e){return T1(e).toSorted((r,n)=>ea(n).len-ea(r).len)}function ra(e){return e.replaceAll("*","").replaceAll("&","")}function na(e){let t=[e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")].filter(r=>!!r);return[...new Set(t)]}var dr=f(B()),So=f(k()),Fg=f(Ve());var Ng=f(B()),Lg=f(Ve());var sA=f(B()),kg=f(k());function D1({children:e,...t}){return sA.default.createElement("div",null,sA.default.createElement(kg.TextField,{...t},e))}var tt=D1;var k1=(0,Lg.makeStyles)()({textAreaFont:{fontFamily:"Courier New"}});function aA({value:e}){let{classes:t}=k1();return Ng.default.createElement(tt,{variant:"outlined",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,value:e,slotProps:{input:{readOnly:!0,classes:{input:t.textAreaFont}}}})}var N1=(0,Fg.makeStyles)()({flex:{display:"flex"},minWidth:{minWidth:300}});function Nt({feature:e,options:t,selectedId:r,selectedTranscript:n,onTranscriptChange:o,proteinSequence:i,validIds:s}){let{classes:a}=N1(),[c,l]=(0,dr.useState)(!1);return dr.default.createElement(dr.default.Fragment,null,dr.default.createElement("div",{className:a.flex},dr.default.createElement(So.TextField,{variant:"outlined",label:`Choose isoform of ${zt(e)}`,select:!0,className:a.minWidth,value:r,onChange:A=>{o(A.target.value)}},t.map(A=>{let u=s?s.some(g=>ta(A,g)):!0,{len:d,mod:m}=ea(A);return dr.default.createElement(So.MenuItem,{value:Nn(A),key:A.id(),disabled:!u},Ln(A)," (",d," aa)"," ",m?" (possible fragment)":"",s?u?" (has data)":" (no data)":"")})),dr.default.createElement("div",{style:{alignContent:"center",marginLeft:20}},dr.default.createElement(So.Button,{variant:"contained",color:"primary",onClick:()=>{l(!c)}},c?"Hide sequence":"Show sequence"))),c&&dr.default.createElement(aA,{value:i?`>${Ln(n)}
71
- ${i}`:"Loading..."}))}var Qo=f(B());var gn=f(ne());function L1(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function F1({cds:e,sequence:t,codonTable:r}){let n=L1(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function R1(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function Rg({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,gn.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return F1({cds:o===-1?R1(i,t.length):i,sequence:o===-1?(0,gn.revcom)(t):t,codonTable:(0,gn.generateCodonTable)(gn.defaultCodonTable)})}var Og=f(ne());var Pg=f(Dn());async function oa({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,Pg.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}async function P1({feature:e,assemblyName:t,upDownBp:r,view:n}){let o=(0,Og.getSession)(n),{start:i,end:s,refName:a}=e.toJSON(),c=i-r,l=s+r,[A,u,d]=await Promise.all([oa({start:i,end:s,refName:a,assemblyName:t,session:o}),oa({start:Math.max(0,c),end:i,refName:a,assemblyName:t,session:o}),oa({start:s,end:l,refName:a,assemblyName:t,session:o})]);return{seq:A,upstream:u,downstream:d}}function Gg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let o=e?.assemblyNames?.[0],{data:i,error:s}=kn(t&&o&&e?[t.id(),o,r,n,"feature-sequence"]:null,()=>P1({feature:t,assemblyName:o,upDownBp:r,view:e}),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{sequence:i,error:s}}function Jg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let{sequence:o,error:i}=Gg({view:e,feature:t,upDownBp:r,forceLoad:n});return{proteinSequence:o&&!("error"in o)&&t?Rg({seq:o.seq,feature:t}):"",sequence:o,error:i}}function Hg(e,t){return t.some(r=>ta(e,r))}function $t({feature:e,view:t,validIds:r}){let n=(0,Qo.useMemo)(()=>Dg(e),[e]),[o,i]=(0,Qo.useState)(()=>Nn(n[0])),s=n.find(l=>Nn(l)===o),{proteinSequence:a,error:c}=Jg({view:t,feature:s});return(0,Qo.useEffect)(()=>{if(r&&r.length>0){let l=n.find(A=>Nn(A)===o);if(l&&!Hg(l,r)){let A=n.find(u=>Hg(u,r));A&&i(Nn(A))}}},[r,n,o]),{options:n,selectedId:o,setSelectedId:i,selectedTranscript:s,proteinSequence:a,error:c,validIds:r}}var O1=(0,qg.makeStyles)()({dialogContent:{width:"80em",display:"flex",flexDirection:"column",gap:16}}),G1=(0,Ug.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,sa.getSession)(e),o=(0,sa.getContainingView)(e),{classes:i}=O1(),[s,a]=(0,mt.useState)(),{options:c,selectedId:l,setSelectedId:A,selectedTranscript:u,proteinSequence:d,error:m}=$t({feature:t,view:o}),{treeData:g,isTreeLoading:h,treeError:I}=Tg(l),C=h?"Loading tree data from Ensembl GeneTree":void 0,x=I??s??m;return mt.default.createElement(mt.default.Fragment,null,mt.default.createElement(jr.DialogContent,{className:i.dialogContent},x?mt.default.createElement(ia.ErrorMessage,{error:x}):null,C?mt.default.createElement(ia.LoadingEllipses,{message:C}):null,g?mt.default.createElement("div",null,mt.default.createElement("div",null,"Found Ensembl Compara GeneTree: ",g.geneTreeId),mt.default.createElement(jr.Link,{target:"_blank",href:`https://useast.ensembl.org/Multi/GeneTree/Image?gt=${g.geneTreeId}`},"See ",g.geneTreeId," at Ensembl")):null,mt.default.createElement(Nt,{feature:t,options:c,selectedId:l,selectedTranscript:u,onTranscriptChange:A,proteinSequence:d})),mt.default.createElement(jr.DialogActions,null,mt.default.createElement(jr.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!g)return;a(void 0),sg({feature:t,view:o,session:n,newViewTitle:zt(t),data:g}),r()}catch(y){console.error(y),a(y)}}},"Submit"),mt.default.createElement(jr.Button,{color:"secondary",variant:"contained",onClick:()=>{r()}},"Cancel")))}),Yg=G1;var $=f(B()),_i=f(ue()),aa=f(ne()),He=f(k()),Vg=f(P()),Wg=f(Ve());function jg({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var J1=(0,Wg.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"}}),H1=(0,Vg.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,aa.getSession)(t),i=(0,aa.getContainingView)(t),{classes:s}=J1(),[a,c]=(0,$.useState)(),[l,A]=(0,$.useState)("file"),[u,d]=(0,$.useState)(""),[m,g]=(0,$.useState)(""),[h,I]=(0,$.useState)(),[C,x]=(0,$.useState)(),[y,b]=(0,$.useState)(""),{options:S,selectedId:v,setSelectedId:M,selectedTranscript:F,proteinSequence:O,error:q}=$t({feature:r,view:i}),w=a??q;return $.default.createElement($.default.Fragment,null,$.default.createElement(He.DialogContent,{className:s.dialogContent},w?$.default.createElement(_i.ErrorMessage,{error:w}):null,$.default.createElement(He.FormControl,{component:"fieldset"},$.default.createElement(He.RadioGroup,{row:!0,value:l,onChange:T=>{A(T.target.value)}},$.default.createElement(He.FormControlLabel,{value:"file",control:$.default.createElement(He.Radio,null),label:"Open files"}),$.default.createElement(He.FormControlLabel,{value:"text",control:$.default.createElement(He.Radio,null),label:"Paste text"}))),$.default.createElement("div",{style:{marginBottom:30}},l==="file"?$.default.createElement("div",{style:{maxWidth:500}},$.default.createElement(_i.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:h,setLocation:I}),$.default.createElement(_i.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:C,setLocation:x})):$.default.createElement($.default.Fragment,null,$.default.createElement(tt,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,style:{marginBottom:"20px"},maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:T=>{d(T.target.value)}}),$.default.createElement(tt,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:m,onChange:T=>{g(T.target.value)}}))),$.default.createElement(Nt,{feature:r,options:S,selectedId:v,selectedTranscript:F,onTranscriptChange:M,proteinSequence:O}),$.default.createElement(tt,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,style:{marginTop:20},placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:T=>{b(T.target.value)}}),!y.trim()&&$.default.createElement(He.Alert,{severity:"warning",style:{marginTop:10}},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),$.default.createElement(He.DialogActions,null,$.default.createElement(He.Button,{color:"primary",variant:"contained",disabled:!F||l==="file"&&!h||l==="text"&&!u.trim(),onClick:()=>{try{if(!F)return;c(void 0),jg({session:o,newViewTitle:zt(F),view:i,feature:F,querySeqName:y.trim()||void 0,...l==="file"?{msaFilehandle:h,treeFilehandle:C}:{data:{msa:u,tree:m||void 0}}}),n()}catch(T){console.error(T),c(T)}}},"Submit"),$.default.createElement(He.Button,{color:"secondary",variant:"contained",onClick:()=>{n()}},"Cancel")))}),zg=H1;var gr=f(B()),Dp=f(ne());cA();var kp=f(k());var V=f(B()),pp=f(ue()),hp=f(ne());lA();var Te=f(k()),Cp=f(P()),Ep=f(Ve());var Se=f(B()),fp=f(ue()),dp=f(ne());z();var Xg=f(L(),1),Zg=(0,_.createSvgIcon)((0,Xg.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var at=f(k()),mp=f(P());var AA=f(ne());function Aa({newViewTitle:e,view:t,feature:r,blastParams:n}){return(0,AA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function ep({newViewTitle:e,view:t,cached:r}){return(0,AA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}Di();var eM="jbrowse-msaview-blast-cache",pn="blast-results",tM=2;async function fa(){return Rn(eM,tM,{upgrade(e,t){t<2&&e.objectStoreNames.contains(pn)&&e.deleteObjectStore(pn),e.objectStoreNames.contains(pn)||e.createObjectStore(pn,{keyPath:"id"})}})}function rM(e,t,r,n){let o=e.slice(0,100);return n?`${t}:${r}:${n}:${o}`:`${t}:${r}:${o}`}async function cp({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l,transcriptName:A,geneName:u}){let d=await fa(),g={id:rM(e,t,r,l),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l,transcriptName:A,geneName:u};return await d.put(pn,g),g}async function da(){return(await(await fa()).getAll(pn)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function lp(e){await(await fa()).delete(pn,e)}async function Ap(){await(await fa()).clear(pn)}function up(e){let t=[];return e.geneName&&t.push(e.geneName),e.transcriptName&&e.transcriptName!==e.geneName&&t.push(e.transcriptName),t.length===0&&t.push(e.geneId??e.transcriptId??"Unknown"),t.join(" - ")}var nM=(0,mp.observer)(function({model:e,handleClose:t,feature:r}){let[n,o]=(0,Se.useState)([]),[i,s]=(0,Se.useState)(!0),[a,c]=(0,Se.useState)(),l=(0,dp.getContainingView)(e),A=(0,Se.useMemo)(()=>na(r),[r]);(0,Se.useEffect)(()=>{(async()=>{try{let g=await da();o(g.filter(h=>h.geneId&&A.includes(h.geneId))),s(!1)}catch(g){console.error(g),c(g)}})()},[A]);let u=async g=>{try{await lp(g),o(h=>h.filter(I=>I.id!==g))}catch(h){c(h)}},d=async()=>{try{await Ap(),o([])}catch(g){c(g)}},m=g=>{ep({view:l,cached:g,newViewTitle:`BLAST - ${up(g)}`}),t()};return a?Se.default.createElement(fp.ErrorMessage,{error:a}):i?Se.default.createElement(at.Typography,null,"Loading cached results..."):n.length===0?Se.default.createElement(at.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):Se.default.createElement("div",null,Se.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8}},Se.default.createElement(at.Typography,{variant:"subtitle1"},"Cached BLAST Results (",n.length,")"),Se.default.createElement(at.Button,{size:"small",color:"error",onClick:()=>{d()}},"Clear All")),Se.default.createElement(at.List,{dense:!0,style:{maxHeight:300,overflow:"auto"}},n.map(g=>Se.default.createElement(at.ListItem,{key:g.id,disablePadding:!0,secondaryAction:Se.default.createElement(at.IconButton,{edge:"end",size:"small",onClick:h=>{h.stopPropagation(),u(g.id)}},Se.default.createElement(Zg,{fontSize:"small"}))},Se.default.createElement(at.ListItemButton,{onClick:()=>{m(g)}},Se.default.createElement(at.ListItemText,{primary:`${up(g)} - ${g.blastDatabase}/${g.blastProgram} (${g.msaAlgorithm})`,secondary:`${new Date(g.timestamp).toLocaleString()} - Seq: ${g.proteinSequence.slice(0,30)}...`}))))))}),gp=nM;var ma="https://blast.ncbi.nlm.nih.gov/Blast.cgi",ga=["clustalo","muscle","kalign","mafft"];var oM=(0,Ep.makeStyles)()({dialogContent:{width:"80em"},selectField:{width:150},databaseFieldContainer:{display:"flex"},clusterSeqMessage:{marginLeft:4,alignContent:"center"},cachedResultsAccordion:{marginTop:20},infoText:{marginTop:20}}),iM=["nr","nr_cluster_seq"],sM=["blastp","quick-blastp"],aM=(0,Cp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=oM(),s=(0,hp.getContainingView)(r),[a,c]=(0,V.useState)(),[l,A]=(0,V.useState)("nr"),[u,d]=(0,V.useState)("clustalo"),[m,g]=(0,V.useState)("quick-blastp"),[h,I]=(0,V.useState)(!1),[C,x]=(0,V.useState)(),y=(0,V.useMemo)(()=>na(t),[t]);(0,V.useEffect)(()=>{(async()=>{try{let w=await da();I(w.some(T=>T.geneId&&y.includes(T.geneId)))}catch(w){console.error(w),x(w)}})()},[y]);let{options:b,selectedId:S,setSelectedId:v,selectedTranscript:M,proteinSequence:F,error:O}=$t({feature:t,view:s}),q=O??a??C;return V.default.createElement(V.default.Fragment,null,V.default.createElement(Te.DialogContent,{className:i.dialogContent},n,q?V.default.createElement(pp.ErrorMessage,{error:q}):null,V.default.createElement(tt,{variant:"outlined",label:"BLAST database",className:i.selectField,select:!0,value:l,onChange:w=>{let T=w.target.value;A(T),T==="nr_cluster_seq"&&g("blastp")}},iM.map(w=>V.default.createElement(Te.MenuItem,{value:w,key:w},w))),V.default.createElement(tt,{variant:"outlined",label:"MSA Algorithm",className:i.selectField,select:!0,value:u,onChange:w=>{d(w.target.value)}},ga.map(w=>V.default.createElement(Te.MenuItem,{value:w,key:w},w))),V.default.createElement("div",{className:i.databaseFieldContainer},V.default.createElement(tt,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",className:i.selectField,select:!0,value:m,onChange:w=>{g(w.target.value)}},sM.map(w=>V.default.createElement(Te.MenuItem,{value:w,key:w},w))),l==="nr_cluster_seq"?V.default.createElement(Te.Typography,{variant:"subtitle2",className:i.clusterSeqMessage},"Can only use blastp on nr_cluster_seq"):null),V.default.createElement(Nt,{feature:t,options:b,selectedId:S,selectedTranscript:M,onTranscriptChange:v,proteinSequence:F}),V.default.createElement(Te.Typography,{className:i.infoText},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),h?V.default.createElement(Te.Accordion,{className:i.cachedResultsAccordion},V.default.createElement(Te.AccordionSummary,{expandIcon:V.default.createElement(la,null)},V.default.createElement(Te.Typography,null,"Previous BLAST Results")),V.default.createElement(Te.AccordionDetails,null,V.default.createElement(gp,{model:r,handleClose:e,feature:t}))):null),V.default.createElement(Te.DialogActions,null,V.default.createElement(Te.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!M)return;c(void 0),Aa({feature:M,view:s,newViewTitle:`BLAST - ${zt(t)} - ${Ln(M)}`,blastParams:{baseUrl:o,blastProgram:m,blastDatabase:l,msaAlgorithm:u,selectedTranscript:M,proteinSequence:F}})}catch(w){console.error(w),c(w)}e()},disabled:!F},"Submit"),V.default.createElement(Te.Button,{color:"secondary",variant:"contained",onClick:e},"Cancel")))}),Ip=aM;var Kt=f(B()),wp=f(ue()),Ca=f(ne()),Vr=f(k()),Bp=f(P()),bp=f(Ve());ha();var cM=(0,bp.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"},ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600}}),lM=(0,Bp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=cM(),s=(0,Ca.getContainingView)(r),{options:a,selectedId:c,setSelectedId:l,selectedTranscript:A,proteinSequence:u,error:d}=$t({feature:t,view:s}),m=ra(u),g=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${m}`,h=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,Ca.shorten2)(m,10)}`;return Kt.default.createElement(Kt.default.Fragment,null,Kt.default.createElement(Vr.DialogContent,{className:i.dialogContent},n,d?Kt.default.createElement(wp.ErrorMessage,{error:d}):null,Kt.default.createElement(Nt,{feature:t,options:a,selectedId:c,selectedTranscript:A,onTranscriptChange:l,proteinSequence:u}),u?Kt.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",Kt.default.createElement(Pn,{href:g},h)):null,Kt.default.createElement(Vr.Typography,{style:{marginTop:20}},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),Kt.default.createElement(Vr.DialogActions,null,Kt.default.createElement(Vr.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Submit"),Kt.default.createElement(Vr.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Close")))}),Sp=lM;var Wr=f(B()),Xt=f(k());function IA({lookupMethod:e,setLookupMethod:t}){return Wr.default.createElement(Xt.FormControl,{component:"fieldset"},Wr.default.createElement(Xt.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},Wr.default.createElement(Xt.FormControlLabel,{value:"automatic",control:Wr.default.createElement(Xt.Radio,null),label:"Automatic"}),Wr.default.createElement(Xt.FormControlLabel,{value:"rid",control:Wr.default.createElement(Xt.Radio,null),label:"Load from RID"}),Wr.default.createElement(Xt.FormControlLabel,{value:"manual",control:Wr.default.createElement(Xt.Radio,null),label:"Manual"})))}var Re=f(B()),Qp=f(ue()),Mp=f(ne()),Lt=f(k()),vp=f(P()),Tp=f(Ve());ha();var AM=(0,Tp.makeStyles)()({dialogContent:{width:"80em"}}),uM=(0,vp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=AM(),s=(0,Mp.getContainingView)(r),[a,c]=(0,Re.useState)(),[l,A]=(0,Re.useState)(""),[u,d]=(0,Re.useState)("clustalo"),{options:m,selectedId:g,setSelectedId:h,selectedTranscript:I,proteinSequence:C,error:x}=$t({feature:t,view:s}),y=x??a,b={width:150},S=l.trim();return Re.default.createElement(Re.default.Fragment,null,Re.default.createElement(Lt.DialogContent,{className:i.dialogContent},n,y?Re.default.createElement(Qp.ErrorMessage,{error:y}):null,Re.default.createElement(Lt.Typography,{variant:"body2",style:{marginBottom:16}},"Enter the RID (Request ID) from a previously submitted NCBI BLAST query. You can find the RID in the BLAST results page URL or at the top of the results page. RIDs are typically valid for 24-36 hours after submission."),Re.default.createElement(tt,{variant:"outlined",label:"BLAST RID",placeholder:"e.g., ABC12345",fullWidth:!0,style:{marginBottom:16},value:l,onChange:v=>{A(v.target.value)}}),S?Re.default.createElement(Lt.Typography,{variant:"body2",style:{marginBottom:16}},Re.default.createElement(Pn,{href:`${o}?CMD=Get&RID=${S}`},"View BLAST results on NCBI")):null,Re.default.createElement(tt,{variant:"outlined",label:"MSA Algorithm",style:b,select:!0,value:u,onChange:v=>{d(v.target.value)}},ga.map(v=>Re.default.createElement(Lt.MenuItem,{value:v,key:v},v))),Re.default.createElement(Nt,{feature:t,options:m,selectedId:g,selectedTranscript:I,onTranscriptChange:h,proteinSequence:C}),Re.default.createElement(Lt.Typography,{style:{marginTop:20}},"This will fetch the BLAST results for the provided RID and run them through a multiple sequence alignment. The protein sequence from the selected transcript will be added as the query sequence in the MSA.")),Re.default.createElement(Lt.DialogActions,null,Re.default.createElement(Lt.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!I||!S)return;c(void 0),Aa({feature:I,view:s,newViewTitle:`BLAST - ${zt(t)} - ${Ln(I)}`,blastParams:{baseUrl:o,blastProgram:"blastp",blastDatabase:"nr",msaAlgorithm:u,selectedTranscript:I,proteinSequence:C,rid:S}})}catch(v){console.error(v),c(v)}e()},disabled:!C||!S},"Submit"),Re.default.createElement(Lt.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),_p=uM;var mr=f(B()),Zt=f(k());function xA({handleClose:e,baseUrl:t}){let[r,n]=(0,mr.useState)(t);return mr.default.createElement(Zt.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},mr.default.createElement(Zt.DialogTitle,null,"BLAST Settings"),mr.default.createElement(Zt.DialogContent,null,mr.default.createElement(tt,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:r,style:{minWidth:"300px"},onChange:o=>{n(o.target.value)}}),mr.default.createElement(Zt.Button,{variant:"contained",onClick:()=>{n(ma)}},"Reset")),mr.default.createElement(Zt.DialogActions,null,mr.default.createElement(Zt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),mr.default.createElement(Zt.Button,{color:"primary",variant:"contained",onClick:()=>{e(r)}},"Save")))}var fM={automatic:Ip,rid:_p,manual:Sp};function yA({handleClose:e,model:t,feature:r}){let[n,o]=(0,gr.useState)("automatic"),[i,s]=(0,Dp.useLocalStorage)("msa-blastRootUrl",ma),[a,c]=(0,gr.useState)(!1),l=fM[n];return gr.default.createElement(gr.default.Fragment,null,gr.default.createElement(kp.IconButton,{style:{float:"right"},size:"small",onClick:()=>{c(!0)}},gr.default.createElement(ca,null)),gr.default.createElement(l,{model:t,feature:r,handleClose:e,baseUrl:i},gr.default.createElement(IA,{lookupMethod:n,setLookupMethod:o})),a?gr.default.createElement(xA,{baseUrl:i,handleClose:A=>{A&&s(A),c(!1)}}):null)}var Ue=f(B()),Qh=f(Dn()),Gn=f(ue()),No=f(ne()),Kr=f(k()),Mh=f(P());var vh=f(Ve());var wA={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};hn();function JA(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return PA(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${PA(t)}`}function yh(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${JA(e)}`}var wh={};async function FM(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=Ma.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function Ma(e,t,r){let n=yh(r);wh[n]??=FM(e,t,r);let o=await wh[n];return o.sessionIds.add(t),o}async function Bh({config:e,pluginManager:t}){return(await Ma(t,"msa",e)).dataAdapter.getMSAList()}async function bh({config:e,pluginManager:t,msaId:r}){return(await Ma(t,"msa",e)).dataAdapter.getMSA(r)}function Sh({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var RM=(0,vh.makeStyles)()({dialogContent:{width:"80em"}}),PM=(0,Mh.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,No.getSession)(e),o=(0,No.getContainingView)(e),{classes:i}=RM(),{pluginManager:s}=(0,No.getEnv)(e),{assemblyNames:a}=o,[c,l]=(0,Ue.useState)(),{jbrowse:A}=n,u=(0,Qh.readConfObject)(A,["msa","datasets"]),[d,m]=(0,Ue.useState)(u?.[0]?.datasetId),g=u?.find(T=>T.datasetId===d),{data:h,isLoading:I,error:C}=kn(d?`${d}-msa-list`:"none-msa-list",()=>g?Bh({config:g.adapter,pluginManager:s}):void 0,wA),{options:x,selectedId:y,setSelectedId:b,selectedTranscript:S,proteinSequence:v,error:M}=$t({feature:t,view:o,validIds:h}),{data:F,isLoading:O,error:q}=kn(y&&d?`${d}-${y}-${h?.length}-msa`:"none-msa",()=>y&&g&&h?bh({msaId:y,config:g.adapter,pluginManager:s}):void 0,wA),w=C??q??M??c;return w&&console.error(w),Ue.default.createElement(Ue.default.Fragment,null,Ue.default.createElement(Kr.DialogContent,{className:i.dialogContent},w?Ue.default.createElement(Gn.ErrorMessage,{error:w}):null,Ue.default.createElement(tt,{select:!0,label:"Select MSA dataset",value:d,onChange:T=>{m(T.target.value)}},u?.map(T=>Ue.default.createElement(Kr.MenuItem,{key:T.datasetId,value:T.datasetId},T.name))),g?Ue.default.createElement("div",{style:{marginTop:50}},!I&&O?Ue.default.createElement(Gn.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${y})`}):null,I?Ue.default.createElement(Gn.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${g.name})`}):null,h?Ue.default.createElement("div",null,Ue.default.createElement(Gn.SanitizedHTML,{html:g.description}),Ue.default.createElement(Nt,{feature:t,options:x,selectedId:y,selectedTranscript:S,onTranscriptChange:b,proteinSequence:v,validIds:h})):null):null),Ue.default.createElement(Kr.DialogActions,null,Ue.default.createElement(Kr.Button,{color:"primary",variant:"contained",disabled:!S||!F?.length,onClick:()=>{try{if(!S||!F)return;let T=`${y}_${a[0]}`;Sh({session:n,newViewTitle:zt(S),view:o,querySeqName:T,feature:S,data:{msa:F.map(J=>`>${J.get("refName")}
72
- ${J.get("seq")}`).join(`
73
- `)}}),r()}catch(T){l(T)}}},"Submit"),Ue.default.createElement(Kr.Button,{color:"secondary",variant:"contained",onClick:r},"Cancel")))}),Th=PM;var HA=f(B());function Lo({children:e,value:t,index:r,...n}){return HA.default.createElement("div",{role:"tabpanel",hidden:t!==r,...n},t===r&&HA.default.createElement("div",null,e))}function UA({handleClose:e,feature:t,model:r}){let n=(0,kh.getSession)(r),{jbrowse:o}=n,i=(0,_h.readConfObject)(o,["msa","datasets"]),s=i&&i.length>0,[a,c]=(0,rt.useState)("ncbi_blast");return rt.default.createElement(Dh.Dialog,{maxWidth:"xl",title:"Launch MSA view",open:!0,onClose:e},rt.default.createElement(Jn.Tabs,{value:a,onChange:(A,u)=>{c(u)}},rt.default.createElement(Jn.Tab,{label:"NCBI BLAST query",value:"ncbi_blast"}),s?rt.default.createElement(Jn.Tab,{label:"Pre-loaded MSA datasets",value:"preloaded_msa"}):null,rt.default.createElement(Jn.Tab,{label:"Ensembl GeneTree",value:"ensembl_genetree"}),rt.default.createElement(Jn.Tab,{label:"Manual upload",value:"manual_msa"})),rt.default.createElement(Lo,{value:a,index:"ncbi_blast"},rt.default.createElement(yA,{handleClose:e,feature:t,model:r})),s?rt.default.createElement(Lo,{value:a,index:"preloaded_msa"},rt.default.createElement(Th,{model:r,feature:t,handleClose:e})):null,rt.default.createElement(Lo,{value:a,index:"ensembl_genetree"},rt.default.createElement(Yg,{model:r,feature:t,handleClose:e})),rt.default.createElement(Lo,{value:a,index:"manual_msa"},rt.default.createElement(zg,{model:r,feature:t,handleClose:e})))}function OM(e){return e.name==="LinearBasicDisplay"}function GM(e){return e.views(t=>{let r=t.contextMenuItems;return{contextMenuItems(){let n=t.contextMenuFeature,o=(0,va.getContainingTrack)(t),i=n?.get("type"),s=n&&["gene","mRNA","transcript"].includes(i);return[...r(),...s?[{label:"Launch MSA view",icon:ng,onClick:()=>{(0,va.getSession)(o).queueDialog(a=>[UA,{model:o,handleClose:a,feature:n}])}}]:[]]}}})}function qA(e){e.addToExtensionPoint("Core-extendPluggableElement",t=>(OM(t)&&(t.stateModel=GM(t.stateModel)),t))}function YA(e){e.addToExtensionPoint("LaunchView-MsaView",({session:t,data:r,msaFileLocation:n,treeFileLocation:o,connectedViewId:i,connectedFeature:s,displayName:a,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:g,showBranchLen:h,querySeqName:I})=>{if(!r&&!n)throw new Error("No MSA data or file location provided when launching MSA view");t.addView("MsaView",{type:"MsaView",displayName:a,connectedViewId:i,connectedFeature:s,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:g,showBranchLen:h,init:{msaData:r?.msa,treeData:r?.tree,msaUrl:n?.uri,treeUrl:o?.uri,querySeqName:I}})})}var QQ=f(B()),MQ=f(Lh());var dQ=f(B()),mQ=f(Bl()),Ii=f(ne()),Ie=f(Dt());function*JM(e,t){if(t!==-1)for(let r=e.start;r<e.end;r++)yield r;else for(let r=e.end-1;r>=e.start;r--)yield r}function Fh(e){let t=e.strand,r=e.refName;if(t!==-1&&t!==1)throw new Error(`Invalid strand value: ${t}. Expected 1 or -1.`);if(!r)throw new Error("refName is required");let n=e.subfeatures?.filter(u=>u.type==="CDS")??[],o=new Set,i=n.filter(u=>{if(u.start>=u.end)return!1;let d=`${u.start}-${u.end}`;return o.has(d)?!1:(o.add(d),!0)}).sort((u,d)=>t*(u.start-d.start)),s={},a={};if(i.length===0)return{g2p:s,p2g:a,refName:r,strand:t};let l=(3-(i[0]?.phase??0))%3,A=-1;for(let u of i)for(let d of JM(u,t)){let m=Math.floor(l++/3);s[d]=m,m!==A&&(a[m]=d,A=m)}return{g2p:s,p2g:a,refName:r,strand:t}}var gQ=f($r());vd();var kd=f(ne());function kS(e,t){let r=e.sciname.replaceAll(" ","_");if(e.taxid&&t?.has(e.taxid)){let n=t.get(e.taxid);n.commonName&&(r=n.commonName.split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()).join("_"))}return`${e.accession}-${r}`}function NS(e){return e.replaceAll("-","")}var Al="https://www.ebi.ac.uk/Tools/services/rest",Ik={clustalo:{params:{email:"colin.diesh@gmail.com"},msaResult:"aln-clustal_num",treeResult:"phylotree"},muscle:{params:{email:"colin.diesh@gmail.com",format:"clw",tree:"tree1"},msaResult:"fa",treeResult:"phylotree"},kalign:{params:{email:"colin.diesh@gmail.com",stype:"protein"},msaResult:"fa",treeResult:"phylotree"},mafft:{params:{email:"colin.diesh@gmail.com",stype:"protein"},msaResult:"fa",treeResult:"phylotree"}};async function xk({onProgress:e,jobId:t,algorithm:r}){for(;;){for(let o=0;o<10;o++)await Zs(1e3),e(`Re-checking MSA status in... ${10-o}`);let n=await fr(`${Al}/${r}/status/${t}`);if(n==="FINISHED")break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}async function LS({algorithm:e,sequence:t,onProgress:r}){let n=Ik[e];if(!n)throw new Error(`unknown algorithm: ${e}`);r(`Launching ${e} MSA...`);let o=await fr(`${Al}/${e}/run`,{method:"POST",body:new URLSearchParams({...n.params,sequence:t})});return await xk({jobId:o,algorithm:e,onProgress:r}),{msa:await fr(`${Al}/${e}/result/${o}/${n.msaResult}`),tree:await fr(`${Al}/${e}/result/${o}/${n.treeResult}`)}}async function Td({rid:e,baseUrl:t,onProgress:r}){r(`Checking BLAST status for RID: ${e}...`),await wk({rid:e,onProgress:r,baseUrl:t});let n=await bo(`${t}?CMD=Get&RID=${e}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:e,hits:n.BlastOutput2[0]?.report.results.search.hits??[]}}async function FS({query:e,blastDatabase:t,blastProgram:r,baseUrl:n,onProgress:o,onRid:i}){o("Submitting to NCBI BLAST...");let{rid:s}=await yk({query:e,blastDatabase:t,blastProgram:r,baseUrl:n});return i(s),Td({rid:s,baseUrl:n,onProgress:o})}async function yk({query:e,blastProgram:t,blastDatabase:r,baseUrl:n}){let o=await fr(n,{method:"POST",body:new URLSearchParams({CMD:"Put",PROGRAM:t==="quick-blastp"?"blastp":t,DATABASE:r,QUERY:e,...r==="nr_clustered_seq"?{CLUSTERED_DB:"on",DB_TYPE:"Experimental Databases"}:{},...t==="quick-blastp"?{BLAST_PROGRAMS:"kmerBlastp"}:{}})}),i=/^ {4}RID = (.*$)/m.exec(o)?.[1],s=/^ {4}RTOE = (.*$)/m.exec(o)?.[1];if(!i)throw new Error("Failed to get RID from BLAST request");return{rid:i,rtoe:s}}async function wk({rid:e,onProgress:t,baseUrl:r}){for(;;){for(let l=0;l<20;l++)await Zs(1e3),t(`Re-checking BLAST status in... ${20-l}`);let o=await fr(`${r}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${e}`),i=/\s+Status=WAITING/m.test(o),s=/\s+Status=FAILED/m.test(o),a=/\s+Status=READY/m.test(o),c=/\s+ThereAreHits=yes/m.test(o);if(!i){if(s)throw new Error(`BLAST ${e} failed`);if(a){if(c)return!0;throw new Error("No hits found")}}}}Di();var Bk="jbrowse-msaview-taxonomy-cache",Is="common-names",bk=2;async function RS(){return Rn(Bk,bk,{upgrade(e){e.objectStoreNames.contains(Is)&&e.deleteObjectStore(Is),e.createObjectStore(Is,{keyPath:"taxid"})}})}async function Sk(e){return(await RS()).get(Is,e)}async function Qk(e){let r=(await RS()).transaction(Is,"readwrite");for(let n of e)await r.store.put(n);await r.done}async function PS(e){let t=new Map,r=[];for(let i of e){let s=await Sk(i);s?t.set(i,{sciname:s.sciname,commonName:s.commonName}):r.push(i)}if(r.length===0)return t;let n=100,o=[];for(let i=0;i<r.length;i+=n){let s=r.slice(i,i+n),a=s.join(",");try{let l=await(await fetch(`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id=${a}&retmode=xml`)).text(),A=new Map,u=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,d;for(;(d=u.exec(l))!==null;){let m=Number(d[1]),g=d.index,h=1,I=g+d[0].length;for(;h>0&&I<l.length;){let S=l.indexOf("<Taxon>",I),v=l.indexOf("</Taxon>",I);if(v===-1)break;S!==-1&&S<v?(h++,I=S+7):(h--,I=v+8)}let C=l.slice(g,I),x=A.get(m),y=C.includes("<LineageEx>"),b=x?.includes("<LineageEx>");(!x||y&&!b)&&A.set(m,C)}for(let m of s){let g=A.get(m);if(g){let h=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(g),I=/<CommonName>(.*?)<\/CommonName>/.exec(g),C=/<ScientificName>(.*?)<\/ScientificName>/.exec(g),x=h?.[1]??I?.[1],y=C?.[1]??"";t.set(m,{sciname:y,commonName:x}),o.push({taxid:m,sciname:y,commonName:x})}else o.push({taxid:m,sciname:"",commonName:void 0})}}catch(c){console.error("Failed to fetch taxonomy data:",c)}}return o.length>0&&await Qk(o),t}async function OS({self:e}){let{baseUrl:t,blastDatabase:r,blastProgram:n,msaAlgorithm:o,proteinSequence:i,selectedTranscript:s,rid:a}=e.blastParams,c=ra(i),l,A;if(a){e.setRid(a);let C=await Td({rid:a,baseUrl:t,onProgress:x=>{e.setProgress(x)}});l=C.hits,A=C.rid}else{let C=await FS({query:c,blastDatabase:r,blastProgram:n,baseUrl:t,onProgress:x=>{e.setProgress(x)},onRid:x=>{e.setRid(x)}});l=C.hits,A=C.rid}e.setProgress("Fetching species taxonomy info...");let u=l.map(C=>C.description[0]?.taxid).filter(C=>C!==void 0),d=await PS(u),m={},g=l.map(C=>{let x=C.description[0]??{accession:"unknown",id:"unknown",sciname:"unknown"},y=kS(x,d),b=NS(C.hsps[0]?.hseq??"");return m[y]=Mk(x,d),`>${y}
74
- ${b}`}),h=await LS({algorithm:o,sequence:[`>QUERY
70
+ `),treeMetadata:JSON.stringify(Object.fromEntries(s.map(a=>[a.id,{genome:a.species}])))}}function Gg(e){let{data:t,error:r,isLoading:n}=zr(()=>e?["geneTree",e]:null,([,o])=>Og(o),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{treeData:t,isTreeLoading:n,treeError:r}}var Hg=f(ne());function K1(e){let r=(e.get("subfeatures")??[]).filter(n=>(n.get("type")==="mRNA"||n.get("type")==="transcript")&&n.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return r.length>0?r:[e]}function ia(e){let t=(0,Hg.sum)(e.get("subfeatures")?.filter(r=>r.get("type")?.toLowerCase()==="cds").map(r=>r.get("end")-r.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function Rn(e){return e?.id()??""}function X1(e){if(!e)return[];let t=[e.id(),e.get("name"),e.get("id"),e.get("transcript_id")].filter(r=>!!r);return[...new Set(t)]}function sa(e,t){return X1(e).includes(t)}function Pn(e){return e===void 0?"":[e.get("name"),e.get("id")].filter(t=>!!t).join(" ")}function Xt(e){return e===void 0?"":[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:""].filter(t=>!!t).join(" ")}function Ug(e){return K1(e).toSorted((r,n)=>ia(n).len-ia(r).len)}function aa(e){return e.replaceAll("*","").replaceAll("&","")}function ca(e){let t=[e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")].filter(r=>!!r);return[...new Set(t)]}var Er=f(S()),vo=f(L()),Vg=f(be());var jg=f(S()),Jg=f(be());var hA=f(S()),qg=f(L());function Z1({children:e,...t}){return hA.default.createElement("div",null,hA.default.createElement(qg.TextField,{...t},e))}var nt=Z1;var e2=(0,Jg.makeStyles)()({textAreaFont:{fontFamily:"Courier New"}});function CA({value:e}){let{classes:t}=e2();return jg.default.createElement(nt,{variant:"outlined",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,value:e,slotProps:{input:{readOnly:!0,classes:{input:t.textAreaFont}}}})}var t2=(0,Vg.makeStyles)()({flex:{display:"flex"},minWidth:{minWidth:300},centered:{alignContent:"center",marginLeft:20}});function Rt({feature:e,options:t,selectedId:r,selectedTranscript:n,onTranscriptChange:o,proteinSequence:i,validIds:s}){let{classes:a}=t2(),[c,l]=(0,Er.useState)(!1);return Er.default.createElement(Er.default.Fragment,null,Er.default.createElement("div",{className:a.flex},Er.default.createElement(vo.TextField,{variant:"outlined",label:`Choose isoform of ${Xt(e)}`,select:!0,className:a.minWidth,value:r,onChange:A=>{o(A.target.value)}},t.map(A=>{let u=s?s.some(g=>sa(A,g)):!0,{len:d,mod:m}=ia(A);return Er.default.createElement(vo.MenuItem,{value:Rn(A),key:A.id(),disabled:!u},Pn(A)," (",d," aa)"," ",m?" (possible fragment)":"",s?u?" (has data)":" (no data)":"")})),Er.default.createElement("div",{className:a.centered},Er.default.createElement(vo.Button,{variant:"contained",color:"primary",onClick:()=>{l(!c)}},c?"Hide sequence":"Show sequence"))),c?Er.default.createElement(CA,{value:i?`>${Pn(n)}
71
+ ${i}`:"Loading..."}):null)}var Aa=f(S());var Cn=f(ne());function r2(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function n2({cds:e,sequence:t,codonTable:r}){let n=r2(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function o2(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function Yg({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,Cn.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return n2({cds:o===-1?o2(i,t.length):i,sequence:o===-1?(0,Cn.revcom)(t):t,codonTable:(0,Cn.generateCodonTable)(Cn.defaultCodonTable)})}var zg=f(ne());var Wg=f(Fn());async function la({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,Wg.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}async function i2({feature:e,assemblyName:t,upDownBp:r,view:n}){let o=(0,zg.getSession)(n),{start:i,end:s,refName:a}=e.toJSON(),c=i-r,l=s+r,[A,u,d]=await Promise.all([la({start:i,end:s,refName:a,assemblyName:t,session:o}),la({start:Math.max(0,c),end:i,refName:a,assemblyName:t,session:o}),la({start:s,end:l,refName:a,assemblyName:t,session:o})]);return{seq:A,upstream:u,downstream:d}}function $g({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let o=e?.assemblyNames?.[0],{data:i,error:s}=zr(t&&o&&e?[t.id(),o,r,n,"feature-sequence"]:null,()=>i2({feature:t,assemblyName:o,upDownBp:r,view:e}),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{sequence:i,error:s}}function Kg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let{sequence:o,error:i}=$g({view:e,feature:t,upDownBp:r,forceLoad:n});return{proteinSequence:o&&!("error"in o)&&t?Yg({seq:o.seq,feature:t}):"",sequence:o,error:i}}function Xg(e,t){return t.some(r=>sa(e,r))}function s2(e,t,r){if(!r||r.length===0)return;let n=t.find(i=>Rn(i)===e);if(!n||Xg(n,r))return;let o=t.find(i=>Xg(i,r));return o?Rn(o):void 0}function Zt({feature:e,view:t,validIds:r}){let n=(0,Aa.useMemo)(()=>Ug(e),[e]),[o,i]=(0,Aa.useState)(()=>Rn(n[0])),s=s2(o,n,r)||o,a=n.find(A=>Rn(A)===s),{proteinSequence:c,error:l}=Kg({view:t,feature:a});return{options:n,selectedId:s,setSelectedId:i,selectedTranscript:a,proteinSequence:c,error:l,validIds:r}}var a2=(0,ep.makeStyles)()({dialogContent:{width:"80em",display:"flex",flexDirection:"column",gap:16}}),c2=(0,Zg.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,fa.getSession)(e),o=(0,fa.getContainingView)(e),{classes:i}=a2(),[s,a]=(0,ht.useState)(),{options:c,selectedId:l,setSelectedId:A,selectedTranscript:u,proteinSequence:d,error:m}=Zt({feature:t,view:o}),{treeData:g,isTreeLoading:C,treeError:x}=Gg(l),I=C?"Loading tree data from Ensembl GeneTree":void 0,h=x??s??m;return ht.default.createElement(ht.default.Fragment,null,ht.default.createElement($r.DialogContent,{className:i.dialogContent},h?ht.default.createElement(ua.ErrorMessage,{error:h}):null,I?ht.default.createElement(ua.LoadingEllipses,{message:I}):null,g?ht.default.createElement("div",null,ht.default.createElement("div",null,"Found Ensembl Compara GeneTree: ",g.geneTreeId),ht.default.createElement($r.Link,{target:"_blank",href:`https://useast.ensembl.org/Multi/GeneTree/Image?gt=${g.geneTreeId}`},"See ",g.geneTreeId," at Ensembl")):null,ht.default.createElement(Rt,{feature:t,options:c,selectedId:l,selectedTranscript:u,onTranscriptChange:A,proteinSequence:d})),ht.default.createElement($r.DialogActions,null,ht.default.createElement($r.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!g)return;a(void 0),pg({feature:t,view:o,session:n,newViewTitle:Xt(t),data:g}),r()}catch(y){console.error(y),a(y)}}},"Submit"),ht.default.createElement($r.Button,{color:"secondary",variant:"contained",onClick:()=>{r()}},"Cancel")))}),tp=c2;var z=f(S()),Li=f(se()),da=f(ne()),je=f(L()),np=f(P()),op=f(be());function rp({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var l2=(0,op.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"},inputContainer:{marginBottom:30},fileContainer:{maxWidth:500},msaInput:{marginBottom:20},queryNameInput:{marginTop:20},warningAlert:{marginTop:10}}),A2=(0,np.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,da.getSession)(t),i=(0,da.getContainingView)(t),{classes:s}=l2(),[a,c]=(0,z.useState)(),[l,A]=(0,z.useState)("file"),[u,d]=(0,z.useState)(""),[m,g]=(0,z.useState)(""),[C,x]=(0,z.useState)(),[I,h]=(0,z.useState)(),[y,b]=(0,z.useState)(""),{options:w,selectedId:v,setSelectedId:M,selectedTranscript:R,proteinSequence:T,error:V}=Zt({feature:r,view:i}),Q=a??V;return z.default.createElement(z.default.Fragment,null,z.default.createElement(je.DialogContent,{className:s.dialogContent},Q?z.default.createElement(Li.ErrorMessage,{error:Q}):null,z.default.createElement(je.FormControl,{component:"fieldset"},z.default.createElement(je.RadioGroup,{row:!0,value:l,onChange:D=>{A(D.target.value)}},z.default.createElement(je.FormControlLabel,{value:"file",control:z.default.createElement(je.Radio,null),label:"Open files"}),z.default.createElement(je.FormControlLabel,{value:"text",control:z.default.createElement(je.Radio,null),label:"Paste text"}))),z.default.createElement("div",{className:s.inputContainer},l==="file"?z.default.createElement("div",{className:s.fileContainer},z.default.createElement(Li.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:C,setLocation:x}),z.default.createElement(Li.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:I,setLocation:h})):z.default.createElement(z.default.Fragment,null,z.default.createElement(nt,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,className:s.msaInput,maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:D=>{d(D.target.value)}}),z.default.createElement(nt,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:m,onChange:D=>{g(D.target.value)}}))),z.default.createElement(Rt,{feature:r,options:w,selectedId:v,selectedTranscript:R,onTranscriptChange:M,proteinSequence:T}),z.default.createElement(nt,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,className:s.queryNameInput,placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:D=>{b(D.target.value)}}),y.trim()?null:z.default.createElement(je.Alert,{severity:"warning",className:s.warningAlert},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),z.default.createElement(je.DialogActions,null,z.default.createElement(je.Button,{color:"primary",variant:"contained",disabled:!R||l==="file"&&!C||l==="text"&&!u.trim(),onClick:()=>{try{if(!R)return;c(void 0),rp({session:o,newViewTitle:Xt(R),view:i,feature:R,querySeqName:y.trim()||void 0,...l==="file"?{msaFilehandle:C,treeFilehandle:I}:{data:{msa:u,tree:m||void 0}}}),n()}catch(D){console.error(D),c(D)}}},"Submit"),z.default.createElement(je.Button,{color:"secondary",variant:"contained",onClick:()=>{n()}},"Cancel")))}),ip=A2;var yr=f(S()),Jp=f(ne());EA();var Vp=f(L()),Yp=f(be());var Z=f(S()),Mp=f(se()),vp=f(ne());IA();var _e=f(L()),Tp=f(P()),_p=f(be());var $e=f(S()),wp=f(se()),bp=f(ne());W();var cp=f(F(),1),lp=(0,_.createSvgIcon)((0,cp.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var At=f(L()),Bp=f(P()),Sp=f(be());var yA=f(ne());function pa({newViewTitle:e,view:t,feature:r,blastParams:n}){return(0,yA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function Ap({newViewTitle:e,view:t,cached:r}){return(0,yA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}Fi();var x2="jbrowse-msaview-blast-cache",En="blast-results",w2=2;async function Ca(){return Gn(x2,w2,{upgrade(e,t){t<2&&e.objectStoreNames.contains(En)&&e.deleteObjectStore(En),e.objectStoreNames.contains(En)||e.createObjectStore(En,{keyPath:"id"})}})}function b2(e,t,r,n){return n?`${t}:${r}:${n}:${e}`:`${t}:${r}:${e}`}async function Cp({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l,transcriptName:A,geneName:u}){let d=await Ca(),g={id:b2(e,t,r,l),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l,transcriptName:A,geneName:u};return await d.put(En,g),g}async function Ep(){return(await(await Ca()).getAll(En)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function Ip(e){await(await Ca()).delete(En,e)}async function yp(){await(await Ca()).clear(En)}var B2={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};function Ea(e){let{data:t,error:r,mutate:n}=zr(`cached-blast-${e.join(",")}`,async()=>(await Ep()).filter(a=>a.geneId&&e.includes(a.geneId)),B2);return{results:t??[],error:r,isLoading:!t&&!r,handleDelete:async s=>{await Ip(s),await n(a=>a?.filter(c=>c.id!==s)??[],!1)},handleClearAll:async()=>{await yp(),await n([],!1)}}}var S2=(0,Sp.makeStyles)()({header:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},resultList:{maxHeight:300,overflow:"auto"}});function xp(e){let t=[];return e.geneName&&t.push(e.geneName),e.transcriptName&&e.transcriptName!==e.geneName&&t.push(e.transcriptName),t.length===0&&t.push(e.geneId??e.transcriptId??"Unknown"),t.join(" - ")}var Q2=(0,Bp.observer)(function({model:e,handleClose:t,feature:r}){let{classes:n}=S2(),o=(0,bp.getContainingView)(e),[i,s]=(0,$e.useState)(),a=(0,$e.useMemo)(()=>ca(r),[r]),{results:c,error:l,isLoading:A,handleDelete:u,handleClearAll:d}=Ea(a),m=C=>{Ap({view:o,cached:C,newViewTitle:`BLAST - ${xp(C)}`}),t()},g=l??i;return g?$e.default.createElement(wp.ErrorMessage,{error:g}):A?$e.default.createElement(At.Typography,null,"Loading cached results..."):c.length===0?$e.default.createElement(At.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):$e.default.createElement("div",null,$e.default.createElement("div",{className:n.header},$e.default.createElement(At.Typography,{variant:"subtitle1"},"Cached BLAST Results (",c.length,")"),$e.default.createElement(At.Button,{size:"small",color:"error",onClick:async()=>{try{s(void 0),await d()}catch(C){s(C)}}},"Clear All")),$e.default.createElement(At.List,{dense:!0,className:n.resultList},c.map(C=>$e.default.createElement(At.ListItem,{key:C.id,disablePadding:!0,secondaryAction:$e.default.createElement(At.IconButton,{edge:"end",size:"small",onClick:async x=>{x.stopPropagation();try{s(void 0),await u(C.id)}catch(I){s(I)}}},$e.default.createElement(lp,{fontSize:"small"}))},$e.default.createElement(At.ListItemButton,{onClick:()=>{m(C)}},$e.default.createElement(At.ListItemText,{primary:`${xp(C)} - ${C.blastDatabase}/${C.blastProgram} (${C.msaAlgorithm})`,secondary:`${new Date(C.timestamp).toLocaleString()} - Seq: ${C.proteinSequence.slice(0,30)}...`}))))))}),Qp=Q2;var Ia="https://blast.ncbi.nlm.nih.gov/Blast.cgi",ya=["clustalo","muscle","kalign","mafft"];var M2=(0,_p.makeStyles)()({dialogContent:{width:"80em"},selectField:{width:150},databaseFieldContainer:{display:"flex"},clusterSeqMessage:{marginLeft:4,alignContent:"center"},cachedResultsAccordion:{marginTop:20},infoText:{marginTop:20}}),v2=["nr","nr_cluster_seq"],T2=["blastp","quick-blastp"],_2=(0,Tp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=M2(),s=(0,vp.getContainingView)(r),[a,c]=(0,Z.useState)(),[l,A]=(0,Z.useState)("nr"),[u,d]=(0,Z.useState)("clustalo"),[m,g]=(0,Z.useState)("quick-blastp"),C=(0,Z.useMemo)(()=>ca(t),[t]),{results:x,error:I}=Ea(C),{options:h,selectedId:y,setSelectedId:b,selectedTranscript:w,proteinSequence:v,error:M}=Zt({feature:t,view:s}),R=M??a??I;return Z.default.createElement(Z.default.Fragment,null,Z.default.createElement(_e.DialogContent,{className:i.dialogContent},n,R?Z.default.createElement(Mp.ErrorMessage,{error:R}):null,Z.default.createElement(nt,{variant:"outlined",label:"BLAST database",className:i.selectField,select:!0,value:l,onChange:T=>{let V=T.target.value;A(V),V==="nr_cluster_seq"&&g("blastp")}},v2.map(T=>Z.default.createElement(_e.MenuItem,{value:T,key:T},T))),Z.default.createElement(nt,{variant:"outlined",label:"MSA Algorithm",className:i.selectField,select:!0,value:u,onChange:T=>{d(T.target.value)}},ya.map(T=>Z.default.createElement(_e.MenuItem,{value:T,key:T},T))),Z.default.createElement("div",{className:i.databaseFieldContainer},Z.default.createElement(nt,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",className:i.selectField,select:!0,value:m,onChange:T=>{g(T.target.value)}},T2.map(T=>Z.default.createElement(_e.MenuItem,{value:T,key:T},T))),l==="nr_cluster_seq"?Z.default.createElement(_e.Typography,{variant:"subtitle2",className:i.clusterSeqMessage},"Can only use blastp on nr_cluster_seq"):null),Z.default.createElement(Rt,{feature:t,options:h,selectedId:y,selectedTranscript:w,onTranscriptChange:b,proteinSequence:v}),Z.default.createElement(_e.Typography,{className:i.infoText},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),x.length>0?Z.default.createElement(_e.Accordion,{className:i.cachedResultsAccordion},Z.default.createElement(_e.AccordionSummary,{expandIcon:Z.default.createElement(ga,null)},Z.default.createElement(_e.Typography,null,"Previous BLAST Results")),Z.default.createElement(_e.AccordionDetails,null,Z.default.createElement(Qp,{model:r,handleClose:e,feature:t}))):null),Z.default.createElement(_e.DialogActions,null,Z.default.createElement(_e.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!w)return;c(void 0),pa({feature:w,view:s,newViewTitle:`BLAST - ${Xt(t)} - ${Pn(w)}`,blastParams:{baseUrl:o,blastProgram:m,blastDatabase:l,msaAlgorithm:u,selectedTranscript:w,proteinSequence:v}}),e()}catch(T){console.error(T),c(T)}},disabled:!v},"Submit"),Z.default.createElement(_e.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),Dp=_2;var er=f(S()),Lp=f(se()),ba=f(ne()),Kr=f(L()),Fp=f(P()),Rp=f(be());wa();var D2=(0,Rp.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"},ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600},infoText:{marginTop:20}}),k2=(0,Fp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=D2(),s=(0,ba.getContainingView)(r),{options:a,selectedId:c,setSelectedId:l,selectedTranscript:A,proteinSequence:u,error:d}=Zt({feature:t,view:s}),m=aa(u),g=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${m}`,C=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,ba.shorten2)(m,10)}`;return er.default.createElement(er.default.Fragment,null,er.default.createElement(Kr.DialogContent,{className:i.dialogContent},n,d?er.default.createElement(Lp.ErrorMessage,{error:d}):null,er.default.createElement(Rt,{feature:t,options:a,selectedId:c,selectedTranscript:A,onTranscriptChange:l,proteinSequence:u}),u?er.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",er.default.createElement(Hn,{href:g},C)):null,er.default.createElement(Kr.Typography,{className:i.infoText},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),er.default.createElement(Kr.DialogActions,null,er.default.createElement(Kr.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Submit"),er.default.createElement(Kr.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Close")))}),Pp=k2;var Xr=f(S()),tr=f(L());function _A({lookupMethod:e,setLookupMethod:t}){return Xr.default.createElement(tr.FormControl,{component:"fieldset"},Xr.default.createElement(tr.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},Xr.default.createElement(tr.FormControlLabel,{value:"automatic",control:Xr.default.createElement(tr.Radio,null),label:"Automatic"}),Xr.default.createElement(tr.FormControlLabel,{value:"rid",control:Xr.default.createElement(tr.Radio,null),label:"Load from RID"}),Xr.default.createElement(tr.FormControlLabel,{value:"manual",control:Xr.default.createElement(tr.Radio,null),label:"Manual"})))}var Pe=f(S()),Op=f(se()),Gp=f(ne()),Pt=f(L()),Hp=f(P()),Up=f(be());wa();var N2=(0,Up.makeStyles)()({dialogContent:{width:"80em"},marginBottom:{marginBottom:16},ridField:{width:150},infoText:{marginTop:20}}),L2=(0,Hp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=N2(),s=(0,Gp.getContainingView)(r),[a,c]=(0,Pe.useState)(),[l,A]=(0,Pe.useState)(""),[u,d]=(0,Pe.useState)("clustalo"),{options:m,selectedId:g,setSelectedId:C,selectedTranscript:x,proteinSequence:I,error:h}=Zt({feature:t,view:s}),y=h??a,b=l.trim();return Pe.default.createElement(Pe.default.Fragment,null,Pe.default.createElement(Pt.DialogContent,{className:i.dialogContent},n,y?Pe.default.createElement(Op.ErrorMessage,{error:y}):null,Pe.default.createElement(Pt.Typography,{variant:"body2",className:i.marginBottom},"Enter the RID (Request ID) from a previously submitted NCBI BLAST query. You can find the RID in the BLAST results page URL or at the top of the results page. RIDs are typically valid for 24-36 hours after submission."),Pe.default.createElement(nt,{variant:"outlined",label:"BLAST RID",placeholder:"e.g., ABC12345",fullWidth:!0,className:i.marginBottom,value:l,onChange:w=>{A(w.target.value)}}),b?Pe.default.createElement(Pt.Typography,{variant:"body2",className:i.marginBottom},Pe.default.createElement(Hn,{href:`${o}?CMD=Get&RID=${b}`},"View BLAST results on NCBI")):null,Pe.default.createElement(nt,{variant:"outlined",label:"MSA Algorithm",className:i.ridField,select:!0,value:u,onChange:w=>{d(w.target.value)}},ya.map(w=>Pe.default.createElement(Pt.MenuItem,{value:w,key:w},w))),Pe.default.createElement(Rt,{feature:t,options:m,selectedId:g,selectedTranscript:x,onTranscriptChange:C,proteinSequence:I}),Pe.default.createElement(Pt.Typography,{className:i.infoText},"This will fetch the BLAST results for the provided RID and run them through a multiple sequence alignment. The protein sequence from the selected transcript will be added as the query sequence in the MSA.")),Pe.default.createElement(Pt.DialogActions,null,Pe.default.createElement(Pt.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!x||!b)return;c(void 0),pa({feature:x,view:s,newViewTitle:`BLAST - ${Xt(t)} - ${Pn(x)}`,blastParams:{baseUrl:o,blastProgram:"blastp",blastDatabase:"nr",msaAlgorithm:u,selectedTranscript:x,proteinSequence:I,rid:b}}),e()}catch(w){console.error(w),c(w)}},disabled:!I||!b},"Submit"),Pe.default.createElement(Pt.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),qp=L2;var Ir=f(S()),rr=f(L()),jp=f(be());var F2=(0,jp.makeStyles)()({urlField:{minWidth:300}});function DA({handleClose:e,baseUrl:t}){let{classes:r}=F2(),[n,o]=(0,Ir.useState)(t);return Ir.default.createElement(rr.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},Ir.default.createElement(rr.DialogTitle,null,"BLAST Settings"),Ir.default.createElement(rr.DialogContent,null,Ir.default.createElement(nt,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:n,className:r.urlField,onChange:i=>{o(i.target.value)}}),Ir.default.createElement(rr.Button,{variant:"contained",onClick:()=>{o(Ia)}},"Reset")),Ir.default.createElement(rr.DialogActions,null,Ir.default.createElement(rr.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Ir.default.createElement(rr.Button,{color:"primary",variant:"contained",onClick:()=>{e(n)}},"Save")))}var R2=(0,Yp.makeStyles)()({settingsButton:{float:"right"}}),P2={automatic:Dp,rid:qp,manual:Pp};function kA({handleClose:e,model:t,feature:r}){let[n,o]=(0,yr.useState)("automatic"),[i,s]=(0,Jp.useLocalStorage)("msa-blastRootUrl",Ia),[a,c]=(0,yr.useState)(!1),{classes:l}=R2(),A=P2[n];return yr.default.createElement(yr.default.Fragment,null,yr.default.createElement(Vp.IconButton,{className:l.settingsButton,size:"small",onClick:()=>{c(!0)}},yr.default.createElement(ma,null)),yr.default.createElement(A,{model:t,feature:r,handleClose:e,baseUrl:i},yr.default.createElement(_A,{lookupMethod:n,setLookupMethod:o})),a?yr.default.createElement(DA,{baseUrl:i,handleClose:u=>{u&&s(u),c(!1)}}):null)}var Je=f(S()),Hh=f(Fn()),qn=f(se()),Fo=f(ne()),tn=f(L()),Uh=f(P());var qh=f(be());var NA={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};In();function XA(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return zA(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${zA(t)}`}function Fh(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${XA(e)}`}var Rh={};async function cM(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=Na.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function Na(e,t,r){let n=Fh(r);Rh[n]??=cM(e,t,r);let o=await Rh[n];return o.sessionIds.add(t),o}async function Ph({config:e,pluginManager:t}){return(await Na(t,"msa",e)).dataAdapter.getMSAList()}async function Oh({config:e,pluginManager:t,msaId:r}){return(await Na(t,"msa",e)).dataAdapter.getMSA(r)}function Gh({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var lM=(0,qh.makeStyles)()({dialogContent:{width:"80em"},selectedContainer:{marginTop:50}}),AM=(0,Uh.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,Fo.getSession)(e),o=(0,Fo.getContainingView)(e),{classes:i}=lM(),{pluginManager:s}=(0,Fo.getEnv)(e),{assemblyNames:a}=o,[c,l]=(0,Je.useState)(),{jbrowse:A}=n,u=(0,Hh.readConfObject)(A,["msa","datasets"]),[d,m]=(0,Je.useState)(u?.[0]?.datasetId),g=u?.find(D=>D.datasetId===d),{data:C,isLoading:x,error:I}=zr(d?`${d}-msa-list`:"none-msa-list",()=>g?Ph({config:g.adapter,pluginManager:s}):void 0,NA),{options:h,selectedId:y,setSelectedId:b,selectedTranscript:w,proteinSequence:v,error:M}=Zt({feature:t,view:o,validIds:C}),{data:R,isLoading:T,error:V}=zr(y&&d?`${d}-${y}-${C?.length}-msa`:"none-msa",()=>y&&g&&C?Oh({msaId:y,config:g.adapter,pluginManager:s}):void 0,NA),Q=I??V??M??c;return Q&&console.error(Q),Je.default.createElement(Je.default.Fragment,null,Je.default.createElement(tn.DialogContent,{className:i.dialogContent},Q?Je.default.createElement(qn.ErrorMessage,{error:Q}):null,Je.default.createElement(nt,{select:!0,label:"Select MSA dataset",value:d,onChange:D=>{m(D.target.value)}},u?.map(D=>Je.default.createElement(tn.MenuItem,{key:D.datasetId,value:D.datasetId},D.name))),g?Je.default.createElement("div",{className:i.selectedContainer},!x&&T?Je.default.createElement(qn.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${y})`}):null,x?Je.default.createElement(qn.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${g.name})`}):null,C?Je.default.createElement("div",null,Je.default.createElement(qn.SanitizedHTML,{html:g.description}),Je.default.createElement(Rt,{feature:t,options:h,selectedId:y,selectedTranscript:w,onTranscriptChange:b,proteinSequence:v,validIds:C})):null):null),Je.default.createElement(tn.DialogActions,null,Je.default.createElement(tn.Button,{color:"primary",variant:"contained",disabled:!w||!R?.length,onClick:()=>{try{if(!w||!R)return;let D=`${y}_${a[0]}`;Gh({session:n,newViewTitle:Xt(w),view:o,querySeqName:D,feature:w,data:{msa:R.map(H=>`>${H.get("refName")}
72
+ ${H.get("seq")}`).join(`
73
+ `)}}),r()}catch(D){l(D)}}},"Submit"),Je.default.createElement(tn.Button,{color:"secondary",variant:"contained",onClick:()=>{r()}},"Cancel")))}),jh=AM;var ZA=f(S());function Ro({children:e,value:t,index:r,...n}){return ZA.default.createElement("div",{role:"tabpanel",hidden:t!==r,...n},t===r?ZA.default.createElement("div",null,e):null)}function eu({handleClose:e,feature:t,model:r}){let n=(0,Yh.getSession)(r),{jbrowse:o}=n,i=(0,Jh.readConfObject)(o,["msa","datasets"]),s=i&&i.length>0,[a,c]=(0,ot.useState)("ncbi_blast");return ot.default.createElement(Vh.Dialog,{maxWidth:"xl",title:"Launch MSA view",open:!0,onClose:e},ot.default.createElement(jn.Tabs,{value:a,onChange:(A,u)=>{c(u)}},ot.default.createElement(jn.Tab,{label:"NCBI BLAST query",value:"ncbi_blast"}),s?ot.default.createElement(jn.Tab,{label:"Pre-loaded MSA datasets",value:"preloaded_msa"}):null,ot.default.createElement(jn.Tab,{label:"Ensembl GeneTree",value:"ensembl_genetree"}),ot.default.createElement(jn.Tab,{label:"Manual upload",value:"manual_msa"})),ot.default.createElement(Ro,{value:a,index:"ncbi_blast"},ot.default.createElement(kA,{handleClose:e,feature:t,model:r})),s?ot.default.createElement(Ro,{value:a,index:"preloaded_msa"},ot.default.createElement(jh,{model:r,feature:t,handleClose:e})):null,ot.default.createElement(Ro,{value:a,index:"ensembl_genetree"},ot.default.createElement(tp,{model:r,feature:t,handleClose:e})),ot.default.createElement(Ro,{value:a,index:"manual_msa"},ot.default.createElement(ip,{model:r,feature:t,handleClose:e})))}function uM(e){return e.name==="LinearBasicDisplay"}function fM(e){return e.views(t=>{let r=t.contextMenuItems;return{contextMenuItems(){let n=t.contextMenuFeature,o=(0,La.getContainingTrack)(t),i=n?.get("type"),s=n&&["gene","mRNA","transcript"].includes(i);return[...r(),...s?[{label:"Launch MSA view",icon:dg,onClick:()=>{(0,La.getSession)(o).queueDialog(a=>[eu,{model:o,handleClose:a,feature:n}])}}]:[]]}}})}function tu(e){e.addToExtensionPoint("Core-extendPluggableElement",t=>(uM(t)&&(t.stateModel=fM(t.stateModel)),t))}function ru(e){e.addToExtensionPoint("LaunchView-MsaView",({session:t,data:r,msaFileLocation:n,treeFileLocation:o,connectedViewId:i,connectedFeature:s,displayName:a,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:g,showBranchLen:C,querySeqName:x})=>{if(!r&&!n)throw new Error("No MSA data or file location provided when launching MSA view");t.addView("MsaView",{type:"MsaView",displayName:a,connectedViewId:i,connectedFeature:s,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:d,drawNodeBubbles:m,labelsAlignRight:g,showBranchLen:C,init:{msaData:r?.msa,treeData:r?.tree,msaUrl:n?.uri,treeUrl:o?.uri,querySeqName:x}})})}var WQ=f(S()),zQ=f(zh());var _Q=f(S()),DQ=f(Ll()),Bi=f(ne()),ye=f(Lt());function*dM(e,t){if(t!==-1)for(let r=e.start;r<e.end;r++)yield r;else for(let r=e.end-1;r>=e.start;r--)yield r}function $h(e){let t=e.strand,r=e.refName;if(t!==-1&&t!==1)throw new Error(`Invalid strand value: ${t}. Expected 1 or -1.`);if(!r)throw new Error("refName is required");let n=e.subfeatures?.filter(u=>u.type==="CDS")??[],o=new Set,i=n.filter(u=>{if(u.start>=u.end)return!1;let d=`${u.start}-${u.end}`;return o.has(d)?!1:(o.add(d),!0)}).sort((u,d)=>t*(u.start-d.start)),s={},a={};if(i.length===0)return{g2p:s,p2g:a,refName:r,strand:t};let l=(3-(i[0]?.phase??0))%3,A=-1;for(let u of i)for(let d of dM(u,t)){let m=Math.floor(l++/3);s[d]=m,m!==A&&(a[m]=d,A=m)}return{g2p:s,p2g:a,refName:r,strand:t}}var kQ=f(en());Od();var qd=f(ne());function KS(e,t){let r=e.sciname.replaceAll(" ","_");if(e.taxid&&t?.has(e.taxid)){let n=t.get(e.taxid);n.commonName&&(r=n.commonName.split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()).join("_"))}return`${e.accession}-${r}`}function XS(e){return e.replaceAll("-","")}var pl="https://www.ebi.ac.uk/Tools/services/rest",zk={clustalo:{params:{email:"colin.diesh@gmail.com"},msaResult:"aln-clustal_num",treeResult:"phylotree"},muscle:{params:{email:"colin.diesh@gmail.com",format:"clw",tree:"tree1"},msaResult:"fa",treeResult:"phylotree"},kalign:{params:{email:"colin.diesh@gmail.com",stype:"protein"},msaResult:"fa",treeResult:"phylotree"},mafft:{params:{email:"colin.diesh@gmail.com",stype:"protein"},msaResult:"fa",treeResult:"phylotree"}};async function $k({onProgress:e,jobId:t,algorithm:r}){for(;;){for(let o=0;o<10;o++)await oa(1e3),e(`Re-checking MSA status in... ${10-o}`);let n=await Cr(`${pl}/${r}/status/${t}`);if(n==="FINISHED")break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}async function ZS({algorithm:e,sequence:t,onProgress:r}){let n=zk[e];if(!n)throw new Error(`unknown algorithm: ${e}`);r(`Launching ${e} MSA...`);let o=await Cr(`${pl}/${e}/run`,{method:"POST",body:new URLSearchParams({...n.params,sequence:t})});return await $k({jobId:o,algorithm:e,onProgress:r}),{msa:await Cr(`${pl}/${e}/result/${o}/${n.msaResult}`),tree:await Cr(`${pl}/${e}/result/${o}/${n.treeResult}`)}}async function Gd({rid:e,baseUrl:t,onProgress:r}){r(`Checking BLAST status for RID: ${e}...`),await Xk({rid:e,onProgress:r,baseUrl:t});let n=await Mo(`${t}?CMD=Get&RID=${e}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:e,hits:n.BlastOutput2[0]?.report.results.search.hits??[]}}async function eQ({query:e,blastDatabase:t,blastProgram:r,baseUrl:n,onProgress:o,onRid:i}){o("Submitting to NCBI BLAST...");let{rid:s}=await Kk({query:e,blastDatabase:t,blastProgram:r,baseUrl:n});return i(s),Gd({rid:s,baseUrl:n,onProgress:o})}async function Kk({query:e,blastProgram:t,blastDatabase:r,baseUrl:n}){let o=await Cr(n,{method:"POST",body:new URLSearchParams({CMD:"Put",PROGRAM:t==="quick-blastp"?"blastp":t,DATABASE:r,QUERY:e,...r==="nr_clustered_seq"?{CLUSTERED_DB:"on",DB_TYPE:"Experimental Databases"}:{},...t==="quick-blastp"?{BLAST_PROGRAMS:"kmerBlastp"}:{}})}),i=/^ {4}RID = (.*$)/m.exec(o)?.[1],s=/^ {4}RTOE = (.*$)/m.exec(o)?.[1];if(!i)throw new Error("Failed to get RID from BLAST request");return{rid:i,rtoe:s}}async function Xk({rid:e,onProgress:t,baseUrl:r}){for(;;){for(let l=0;l<20;l++)await oa(1e3),t(`Re-checking BLAST status in... ${20-l}`);let o=await Cr(`${r}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${e}`),i=/\s+Status=WAITING/m.test(o),s=/\s+Status=FAILED/m.test(o),a=/\s+Status=READY/m.test(o),c=/\s+ThereAreHits=yes/m.test(o);if(!i){if(s)throw new Error(`BLAST ${e} failed`);if(a){if(c)return!0;throw new Error("No hits found")}}}}Fi();var Zk="jbrowse-msaview-taxonomy-cache",Bs="common-names",eN=2;async function tQ(){return Gn(Zk,eN,{upgrade(e){e.objectStoreNames.contains(Bs)&&e.deleteObjectStore(Bs),e.createObjectStore(Bs,{keyPath:"taxid"})}})}async function tN(e){return(await tQ()).get(Bs,e)}async function rN(e){let r=(await tQ()).transaction(Bs,"readwrite");for(let n of e)await r.store.put(n);await r.done}async function rQ(e){let t=new Map,r=[];for(let i of e){let s=await tN(i);s?t.set(i,{sciname:s.sciname,commonName:s.commonName}):r.push(i)}if(r.length===0)return t;let n=100,o=[];for(let i=0;i<r.length;i+=n){let s=r.slice(i,i+n),a=s.join(",");try{let l=await(await fetch(`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id=${a}&retmode=xml`)).text(),A=new Map,u=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,d;for(;(d=u.exec(l))!==null;){let m=Number(d[1]),g=d.index,C=1,x=g+d[0].length;for(;C>0&&x<l.length;){let w=l.indexOf("<Taxon>",x),v=l.indexOf("</Taxon>",x);if(v===-1)break;w!==-1&&w<v?(C++,x=w+7):(C--,x=v+8)}let I=l.slice(g,x),h=A.get(m),y=I.includes("<LineageEx>"),b=h?.includes("<LineageEx>");(!h||y&&!b)&&A.set(m,I)}for(let m of s){let g=A.get(m);if(g){let C=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(g),x=/<CommonName>(.*?)<\/CommonName>/.exec(g),I=/<ScientificName>(.*?)<\/ScientificName>/.exec(g),h=C?.[1]??x?.[1],y=I?.[1]??"";t.set(m,{sciname:y,commonName:h}),o.push({taxid:m,sciname:y,commonName:h})}else o.push({taxid:m,sciname:"",commonName:void 0})}}catch(c){console.error("Failed to fetch taxonomy data:",c)}}return o.length>0&&await rN(o),t}async function nQ({self:e}){let{baseUrl:t,blastDatabase:r,blastProgram:n,msaAlgorithm:o,proteinSequence:i,selectedTranscript:s,rid:a}=e.blastParams,c=aa(i),l,A;if(a){e.setRid(a);let I=await Gd({rid:a,baseUrl:t,onProgress:h=>{e.setProgress(h)}});l=I.hits,A=I.rid}else{let I=await eQ({query:c,blastDatabase:r,blastProgram:n,baseUrl:t,onProgress:h=>{e.setProgress(h)},onRid:h=>{e.setRid(h)}});l=I.hits,A=I.rid}e.setProgress("Fetching species taxonomy info...");let u=l.map(I=>I.description[0]?.taxid).filter(I=>I!==void 0),d=await rQ(u),m={},g=l.map(I=>{let h=I.description[0]??{accession:"unknown",id:"unknown",sciname:"unknown"},y=KS(h,d),b=XS(I.hsps[0]?.hseq??"");return m[y]=nN(h,d),`>${y}
74
+ ${b}`}),C=await ZS({algorithm:o,sequence:[`>QUERY
75
75
  ${c}`,...g].join(`
76
- `),onProgress:C=>{e.setProgress(C)}}),I=JSON.stringify(m);return await cp({proteinSequence:c,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:h.msa,tree:h.tree,treeMetadata:I,rid:A,geneId:s?.get("parentId"),transcriptId:s?.id(),transcriptName:s?.get("name")??s?.get("id"),geneName:s?.get("gene_name")??s?.get("parentId")}),{...h,treeMetadata:I}}function Mk(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}function ul(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}function GS(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]!=="-"){if(r===t)return n;r++}}function _d(e){return Object.fromEntries(e)}function xs({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,s=e.rows.find(c=>c[0]===r)?.[1];if(!s)return;let a=ul(s,t);if(a!==void 0){if(o){let c=o.start+a;return c>=o.end?void 0:{refName:o.refName,start:c,end:c+1}}if(n){let{refName:c,p2g:l}=n,A=l[a],u=l[a+1];return A!==void 0&&u!==void 0?{refName:c,start:Math.min(A,u),end:Math.max(A,u)}:void 0}}}Di();var vk="jbrowse-msaview-data",Tk=1,ys="msa-data";async function Dd(){return Rn(vk,Tk,{upgrade(e){e.objectStoreNames.contains(ys)||e.createObjectStore(ys,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}})}function JS(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function HS(e,t){try{let r=await Dd(),n={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()};return await r.put(ys,n),!0}catch(r){return console.warn("Failed to store MSA data:",r),!1}}async function US(e){try{let r=await(await Dd()).get(ys,e);return r?{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}:void 0}catch(t){console.warn("Failed to retrieve MSA data:",t);return}}async function qS(e=10080*60*1e3){try{let t=await Dd(),r=Date.now()-e,i=await t.transaction(ys,"readwrite").store.index("timestamp").openCursor(IDBKeyRange.upperBound(r)),s=0;for(;i;)await i.delete(),s++,i=await i.continue();return s}catch(t){return console.warn("Failed to cleanup old MSA data:",t),0}}function YS(e){return typeof e=="object"&&e!==null&&"hoverFeature"in e&&"hoverPosition"in e}function jS(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}function VS(e){let{dataStoreId:t,rows:r}=e;t&&r.length===0&&(async()=>{try{e.setLoadingStoredData(!0);let n=await US(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})()}function WS(e){let{rows:t,dataStoreId:r}=e;if(t.length>0&&!r){if(!!(e.msaFilehandle??e.treeFilehandle))return;let o=e.data.msa,i=e.data.tree;(o||i)&&(async()=>{try{let s=JS();await HS(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}})()}}function zS(e){e.blastParams&&(async()=>{try{e.setProgress("Submitting query"),e.setError(void 0);let t=await OS({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})()}function $S(e){let{init:t}=e;t&&(async()=>{try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=jS(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})()}function KS(e){let{mouseCol:t,mouseClickCol:r}=e,n=t===void 0?void 0:xs({model:e,coord:t}),o=r===void 0?void 0:xs({model:e,coord:r});e.setConnectedHighlights([n,o].filter(i=>!!i))}function XS(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView?.structures?.[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=ul(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function ZS(e){let{views:t}=(0,kd.getSession)(e),{connectedViewId:r,uniprotId:n,rows:o,connectedStructures:i}=e;if(!(!n||o.length===0))for(let s of t){let a=s;if(!(a.type!=="ProteinView"||!a.structures))for(let c=0;c<a.structures.length;c++){let l=a.structures[c];if(!(l.connectedViewId!==r||l.uniprotId!==n||i.some(u=>u.proteinViewId===a.id&&u.structureIdx===c))&&l.structureSequences?.[0])try{e.connectToStructure(a.id,c)}catch(u){console.error("Failed to auto-connect to ProteinView:",u)}}}}function eQ(e){let{views:t}=(0,kd.getSession)(e),{connectedViewId:r,transcriptToMsaMap:n,querySeqName:o}=e;if(!r||!n)return;let i=[];for(let a of t){let c=a;if(!(c.type!=="ProteinView"||!c.structures))for(let l of c.structures){if(l.connectedViewId!==r)continue;let A=l.hoverGenomeHighlights;if(!A||A.length===0)continue;let{g2p:u}=n;for(let d of A)for(let m=d.start;m<d.end;m++){let g=u[m];if(g!==void 0){let h=e.seqPosToGlobalCol(o,g);i.includes(h)||i.push(h)}}}}let s=i.map(a=>e.globalColToVisibleCol(a)).filter(a=>a!==void 0);e.setHighlightedColumns(s.length>0?s:void 0)}function tQ(){qS().catch(e=>{console.error("Failed to cleanup old MSA data:",e)})}var rQ=f(ne());function nQ({model:e}){let{hovered:t}=(0,rQ.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!YS(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i){if(a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end)return;let l=s-i.start;return e.seqPosToVisibleCol(r,l)}if(n){let{g2p:c}=n,l=c[s];if(l!==void 0)return e.seqPosToVisibleCol(r,l)}}var _k={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}},oQ=_k;function iQ(e,t){let r=e.toUpperCase(),n=t.toUpperCase();return oQ[r]?.[n]??-4}var Dk=-10,kk=-.5;function Nk(e,t,r=Dk,n=kk){let o=e.length,i=t.length,s=[],a=[],c=[];for(let I=0;I<=o;I++){s[I]=[],a[I]=[],c[I]=[];for(let C=0;C<=i;C++)s[I][C]=-1/0,a[I][C]=-1/0,c[I][C]=-1/0}s[0][0]=0;for(let I=1;I<=o;I++)a[I][0]=r+(I-1)*n;for(let I=1;I<=i;I++)c[0][I]=r+(I-1)*n;for(let I=1;I<=o;I++)for(let C=1;C<=i;C++){let x=iQ(e[I-1],t[C-1]);s[I][C]=Math.max(s[I-1][C-1],a[I-1][C-1],c[I-1][C-1])+x,a[I][C]=Math.max(s[I-1][C]+r,a[I-1][C]+n),c[I][C]=Math.max(s[I][C-1]+r,c[I][C-1]+n)}let l="",A="",u=o,d=i,m=[s[o][i],a[o][i],c[o][i]],g=Math.max(...m),h=g===s[o][i]?"M":g===a[o][i]?"Ix":"Iy";for(;u>0||d>0;)if(h==="M"&&u>0&&d>0){l=e[u-1]+l,A=t[d-1]+A;let I=iQ(e[u-1],t[d-1]),C=s[u-1][d-1],x=a[u-1][d-1];s[u][d]===C+I?h="M":s[u][d]===x+I?h="Ix":h="Iy",u--,d--}else if(h==="Ix"&&u>0)l=e[u-1]+l,A="-"+A,h=a[u][d]===s[u-1][d]+r?"M":"Ix",u--;else if(d>0)l="-"+l,A=t[d-1]+A,h=c[u][d]===s[u][d-1]+r?"M":"Iy",d--;else break;return{alignedSeq1:l,alignedSeq2:A,score:g}}function Lk(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n];o==="-"||i==="-"?r+=" ":o.toUpperCase()===i.toUpperCase()?r+="|":r+=" "}return r}function sQ(e,t){let{alignedSeq1:r,alignedSeq2:n}=Nk(e,t);return{consensus:Lk(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function aQ(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}var Pk=(0,dQ.lazy)(()=>Promise.resolve().then(()=>(fQ(),uQ)));function Nd(){return Ie.types.compose(mQ.BaseViewModel,ll(),Ie.types.model("MsaView",{connectedViewId:Ie.types.maybe(Ie.types.string),connectedFeature:Ie.types.frozen(),connectedHighlights:Ie.types.array(Ie.types.model({refName:Ie.types.string,start:Ie.types.number,end:Ie.types.number})),blastParams:Ie.types.frozen(),querySeqName:"QUERY",uniprotId:Ie.types.maybe(Ie.types.string),zoomToBaseLevel:!1,init:Ie.types.frozen(),connectedStructures:Ie.types.array(Ie.types.frozen()),dataStoreId:Ie.types.maybe(Ie.types.string),mafRegion:Ie.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?Fh(e.connectedFeature):void 0},get processing(){return!!e.progress},get connectedView(){let{views:t}=(0,Ii.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let{views:t}=(0,Ii.getSession)(e);return e.connectedStructures.map(r=>{let n=t.find(o=>o.id===r.proteinViewId);return n?{...r,proteinView:n}:void 0}).filter(r=>!!r)}})).views(e=>({get structureHoverCol(){for(let t of e.connectedProteinViews){let n=t.proteinView?.structures?.[t.structureIdx]?.hoverPosition?.structureSeqPos;if(n!==void 0){let o=t.structureToMsa[n];if(o!==void 0){let i=e.getSequenceByRowName(t.msaRowName);if(i){let s=GS(i,o);if(s!==void 0)return e.globalColToVisibleCol(s)}}}}}})).views(e=>({get mouseCol2(){let t=e.structureHoverCol;return t!==void 0?t:nQ({model:e})},get clickCol2(){}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setConnectedHighlights(t){e.connectedHighlights=(0,Ie.cast)(t)},addToConnectedHighlights(t){e.connectedHighlights.push(t)},clearConnectedHighlights(){e.connectedHighlights=(0,Ie.cast)([])},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,Ii.getSession)(e),i=xs({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=o.get(r.assemblyNames[0])?.getCanonicalRefName(i.refName)??i.refName;r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),{views:a}=(0,Ii.getSession)(e),c=a.find(h=>h.id===t);if(!c)throw new Error(`ProteinView "${t}" not found`);let l=c.structures?.[r];if(!l)throw new Error(`Structure at index ${r} not found`);let A=l.structureSequences?.[0];if(!A)throw new Error("Structure sequence not available");let u=sQ(s,A),{seq1ToSeq2:d,seq2ToSeq1:m}=aQ(u),g={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:_d(d),structureToMsa:_d(m)};e.connectedStructures.push(g)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,Ii.getSession)(e).queueDialog(t=>[Pk,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){tQ();for(let t of[VS,WS,zS,$S,KS,XS,ZS,eQ])(0,Ie.addDisposer)(e,(0,gQ.autorun)(()=>{t(e)}))}}))}var Yk=(0,QQ.lazy)(()=>Promise.resolve().then(()=>(SQ(),bQ)));function Pd(e){e.addViewType(()=>new MQ.default({name:"MsaView",stateModel:Nd(),ReactComponent:Yk}))}var vQ="2.3.3";var dl=class extends TQ.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=vQ;this.rootConfigurationSchema=r=>({msa:(0,Od.ConfigurationSchema)("MSA",{datasets:Gd.types.maybe(Gd.types.array((0,Od.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})})}install(r){Pd(r),qA(r),YA(r),wl(r),Hl(r)}configure(r){(0,_Q.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:lm,onClick:n=>{n.addView("MsaView",{})}})}};return qQ(jk);})();
76
+ `),onProgress:I=>{e.setProgress(I)}}),x=JSON.stringify(m);return await Cp({proteinSequence:c,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:C.msa,tree:C.tree,treeMetadata:x,rid:A,geneId:s?.get("parentId"),transcriptId:s?.id(),transcriptName:s?.get("name")??s?.get("id"),geneName:s?.get("gene_name")??s?.get("parentId")}),{...C,treeMetadata:x}}function nN(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}Ss();function Qs({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,s=e.rows.find(c=>c[0]===r)?.[1];if(!s)return;let a=hl(s,t);if(a!==void 0){if(o){let c=o.start+a;return c>=o.end?void 0:{refName:o.refName,start:c,end:c+1}}if(n){let{refName:c,p2g:l}=n,A=l[a],u=l[a+1];return A!==void 0&&u!==void 0?{refName:c,start:Math.min(A,u),end:Math.max(A,u)}:void 0}}}Fi();var oN="jbrowse-msaview-data",iN=1,Ms="msa-data";async function Ud(){return Gn(oN,iN,{upgrade(e){e.objectStoreNames.contains(Ms)||e.createObjectStore(Ms,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}})}function iQ(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function sQ(e,t){try{let r=await Ud(),n={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()};return await r.put(Ms,n),!0}catch(r){return console.warn("Failed to store MSA data:",r),!1}}async function aQ(e){try{let r=await(await Ud()).get(Ms,e);return r?{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}:void 0}catch(t){console.warn("Failed to retrieve MSA data:",t);return}}async function cQ(e=10080*60*1e3){try{let t=await Ud(),r=Date.now()-e,i=await t.transaction(Ms,"readwrite").store.index("timestamp").openCursor(IDBKeyRange.upperBound(r)),s=0;for(;i;)await i.delete(),s++,i=await i.continue();return s}catch(t){return console.warn("Failed to cleanup old MSA data:",t),0}}Ss();function lQ(e){return typeof e=="object"&&e!==null&&"hoverFeature"in e&&"hoverPosition"in e}function AQ(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}function uQ(e){let{dataStoreId:t,rows:r}=e;t&&r.length===0&&(async()=>{try{e.setLoadingStoredData(!0);let n=await aQ(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})()}function fQ(e){let{rows:t,dataStoreId:r}=e;if(t.length>0&&!r){if(!!(e.msaFilehandle??e.treeFilehandle))return;let o=e.data.msa,i=e.data.tree;(o||i)&&(async()=>{try{let s=iQ();await sQ(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}})()}}function dQ(e){e.blastParams&&(async()=>{try{e.setProgress("Submitting query"),e.setError(void 0);let t=await nQ({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})()}function mQ(e){let{init:t}=e;t&&(async()=>{try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=AQ(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})()}function gQ(e){let{mouseCol:t,mouseClickCol:r}=e,n=t===void 0?void 0:Qs({model:e,coord:t}),o=r===void 0?void 0:Qs({model:e,coord:r});e.setConnectedHighlights([n,o].filter(i=>!!i))}function pQ(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView.structures[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=hl(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function hQ(e){let t=(0,qd.getSession)(e).views,{connectedViewId:r,uniprotId:n,rows:o,connectedStructures:i}=e;if(!(!n||o.length===0)){for(let s of t)if(Dn(s))for(let a=0;a<s.structures.length;a++){let c=s.structures[a];if(!(!c||c.connectedViewId!==r||c.uniprotId!==n||i.some(A=>A.proteinViewId===s.id&&A.structureIdx===a))&&c.structureSequences?.[0])try{e.connectToStructure(s.id,a)}catch(A){console.error("Failed to auto-connect to ProteinView:",A)}}}}function CQ(e){let t=(0,qd.getSession)(e).views,{connectedViewId:r,transcriptToMsaMap:n,querySeqName:o}=e;if(!r||!n)return;let i=new Set;for(let a of t)if(Dn(a))for(let c of a.structures){if(c.connectedViewId!==r)continue;let l=c.hoverGenomeHighlights;if(!l||l.length===0)continue;let{g2p:A}=n;for(let u of l)for(let d=u.start;d<u.end;d++){let m=A[d];if(m!==void 0){let g=e.seqPosToGlobalCol(o,m);i.add(g)}}}let s=Array.from(i).map(a=>e.globalColToVisibleCol(a)).filter(a=>a!==void 0);e.setHighlightedColumns(s.length>0?s:void 0)}function EQ(){cQ().catch(e=>{console.error("Failed to cleanup old MSA data:",e)})}var IQ=f(ne());function yQ({model:e}){let{hovered:t}=(0,IQ.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!lQ(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i){if(a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end)return;let l=s-i.start;return e.seqPosToVisibleCol(r,l)}if(n){let{g2p:c}=n,l=c[s];if(l!==void 0)return e.seqPosToVisibleCol(r,l)}}var sN={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}},xQ=sN;function wQ(e,t){return xQ[e.toUpperCase()]?.[t.toUpperCase()]??-4}var aN=-10,cN=-.5;function lN(e,t,r=aN,n=cN){let o=e.length,i=t.length,s=[],a=[],c=[];for(let h=0;h<=o;h++){s[h]=[],a[h]=[],c[h]=[];for(let y=0;y<=i;y++)s[h][y]=-1/0,a[h][y]=-1/0,c[h][y]=-1/0}s[0][0]=0;for(let h=1;h<=o;h++)a[h][0]=r+(h-1)*n;for(let h=1;h<=i;h++)c[0][h]=r+(h-1)*n;for(let h=1;h<=o;h++)for(let y=1;y<=i;y++){let b=wQ(e[h-1],t[y-1]);s[h][y]=Math.max(s[h-1][y-1],a[h-1][y-1],c[h-1][y-1])+b,a[h][y]=Math.max(s[h-1][y]+r,a[h-1][y]+n),c[h][y]=Math.max(s[h][y-1]+r,c[h][y-1]+n)}let l="",A="",u=o,d=i,m=s[o][i],g=a[o][i],C=c[o][i],x=Math.max(m,g,C),I=x===m?"M":x===g?"Ix":"Iy";for(;u>0||d>0;)if(I==="M"&&u>0&&d>0){l=e[u-1]+l,A=t[d-1]+A;let h=wQ(e[u-1],t[d-1]),y=s[u-1][d-1],b=a[u-1][d-1],w=s[u][d];w===y+h?I="M":w===b+h?I="Ix":I="Iy",u--,d--}else if(I==="Ix"&&u>0){l=e[u-1]+l,A="-"+A;let h=a[u][d],y=s[u-1][d]+r;I=h===y?"M":"Ix",u--}else if(d>0){l="-"+l,A=t[d-1]+A;let h=c[u][d],y=s[u][d-1]+r;I=h===y?"M":"Iy",d--}else break;return{alignedSeq1:l,alignedSeq2:A,score:x}}function AN(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n];o==="-"||i==="-"?r+=" ":o.toUpperCase()===i.toUpperCase()?r+="|":r+=" "}return r}function bQ(e,t){let{alignedSeq1:r,alignedSeq2:n}=lN(e,t);return{consensus:AN(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function BQ(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}Ss();var mN=(0,_Q.lazy)(()=>Promise.resolve().then(()=>(TQ(),vQ)));function jd(){return ye.types.compose(DQ.BaseViewModel,gl(),ye.types.model("MsaView",{connectedViewId:ye.types.maybe(ye.types.string),connectedFeature:ye.types.frozen(),connectedHighlights:ye.types.array(ye.types.model({refName:ye.types.string,start:ye.types.number,end:ye.types.number})),blastParams:ye.types.frozen(),querySeqName:"QUERY",uniprotId:ye.types.maybe(ye.types.string),zoomToBaseLevel:!1,init:ye.types.frozen(),connectedStructures:ye.types.array(ye.types.frozen()),dataStoreId:ye.types.maybe(ye.types.string),mafRegion:ye.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?$h(e.connectedFeature):void 0},get processing(){return!!e.progress},get connectedView(){let{views:t}=(0,Bi.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let{views:t}=(0,Bi.getSession)(e),r=t,n=[];for(let o of e.connectedStructures){let i=r.find(s=>Dn(s)&&s.id===o.proteinViewId);i&&n.push({...o,proteinView:i})}return n}})).views(e=>({get structureHoverCol(){for(let t of e.connectedProteinViews){let n=t.proteinView.structures[t.structureIdx]?.hoverPosition?.structureSeqPos;if(n!==void 0){let o=t.structureToMsa[n];if(o!==void 0){let i=e.getSequenceByRowName(t.msaRowName);if(i){let s=oQ(i,o);if(s!==void 0)return e.globalColToVisibleCol(s)}}}}}})).views(e=>({get mouseCol2(){let t=e.structureHoverCol;return t!==void 0?t:yQ({model:e})},get clickCol2(){}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setConnectedHighlights(t){e.connectedHighlights=(0,ye.cast)(t)},addToConnectedHighlights(t){e.connectedHighlights.push(t)},clearConnectedHighlights(){e.connectedHighlights=(0,ye.cast)([])},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,Bi.getSession)(e),i=Qs({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=o.get(r.assemblyNames[0])?.getCanonicalRefName(i.refName)??i.refName;r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),{views:a}=(0,Bi.getSession)(e),c=a.find(C=>Dn(C)&&C.id===t);if(!c)throw new Error(`ProteinView "${t}" not found`);let l=c.structures[r];if(!l)throw new Error(`Structure at index ${r} not found`);let A=l.structureSequences?.[0];if(!A)throw new Error("Structure sequence not available");let u=bQ(s,A),{seq1ToSeq2:d,seq2ToSeq1:m}=BQ(u),g={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:Hd(d),structureToMsa:Hd(m)};e.connectedStructures.push(g)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,Bi.getSession)(e).queueDialog(t=>[mN,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){EQ();for(let t of[uQ,fQ,dQ,mQ,gQ,pQ,hQ,CQ])(0,ye.addDisposer)(e,(0,kQ.autorun)(()=>{t(e)}))}}))}var xN=(0,WQ.lazy)(()=>Promise.resolve().then(()=>(YQ(),VQ)));function Wd(e){e.addViewType(()=>new zQ.default({name:"MsaView",stateModel:jd(),ReactComponent:xN}))}var $Q="2.3.8";var yl=class extends KQ.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=$Q;this.rootConfigurationSchema=r=>({msa:(0,zd.ConfigurationSchema)("MSA",{datasets:$d.types.maybe($d.types.array((0,zd.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})})}install(r){Wd(r),tu(r),ru(r),Nl(r),Zl(r)}configure(r){(0,XQ.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:Em,onClick:n=>{n.addView("MsaView",{})}})}};return u1(wN);})();
77
77
  /*! Bundled license information:
78
78
 
79
79
  use-sync-external-store/cjs/use-sync-external-store-shim.production.js:
@@ -107,6 +107,6 @@ escape-html/index.js:
107
107
  *)
108
108
 
109
109
  dompurify/dist/purify.es.mjs:
110
- (*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE *)
110
+ (*! @license DOMPurify 3.4.2 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.2/LICENSE *)
111
111
  */
112
112
  //# sourceMappingURL=jbrowse-plugin-msaview.umd.production.min.js.map