Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
galaxyproject
GitHub Repository: galaxyproject/training-material
Path: blob/main/assets/jbrowse/dist/1.bundle.js
1678 views
1
(function(){(this||window).webpackJsonp.registerAbsMids({"JBrowse/Browser":130,"JBrowse/Util":334,"JBrowse/QueryParamConfigMapper":335,"JBrowse/Store/SeqFeature":336,"JBrowse/Model/XHRBlob":337,"JBrowse/Model/SimpleFeature":338,"JBrowse/Store/DeferredFeaturesMixin":339,"JBrowse/Store/DeferredStatsMixin":340,"JBrowse/has":341,"JBrowse/Errors":342,"JBrowse/Model/FileBlob":343,"JBrowse/Plugin":344,"JBrowse/Model/Location":345,"JBrowse/View/Dialog/WithActionBar":346,"JBrowse/View/Track/BlockBased":348,"JBrowse/Store/SeqFeature/GlobalStatsEstimationMixin":349,"JBrowse/Component":350,"JBrowse/Digest/Crc32":351,"JBrowse/Store/LRUCache":352,"JBrowse/View/Track/_ExportMixin":353,"JBrowse/View/Track/_YScaleMixin":354,"JBrowse/View/FeatureGlyph/Box":355,"JBrowse/View/Export":356,"JBrowse/View/InfoDialog":357,"JBrowse/View/FileDialog/TrackList/_IndexedFileDriver":358,"JBrowse/View/Track/Wiggle/XYPlot":359,"JBrowse/View/Track/_FeatureDetailMixin":360,"JBrowse/Model/BinaryTreeNode":361,"JBrowse/View/Track/CanvasFeatures":362,"JBrowse/View/FeatureGlyph/Segments":363,"JBrowse/Store/SeqFeature/IndexedStatsEstimationMixin":364,"JBrowse/Store/SeqFeature/RegionStatsMixin":365,"JBrowse/FeatureFiltererMixin":366,"JBrowse/View/TrackConfigEditor":367,"JBrowse/View/FileDialog/TrackList/_MultiIndexedFileDriver":368,"JBrowse/View/Dialog/SetTrackHeight":369,"JBrowse/Store/SeqFeature/IndexedFasta":370,"JBrowse/View/Track/WiggleBase":371,"JBrowse/View/Track/Wiggle/_Scale":372,"JBrowse/View/Track/_AlignmentsMixin":373,"JBrowse/Store/SeqFeature/_MismatchesMixin":374,"JBrowse/Model/CoverageFeature":375,"JBrowse/View/Track/HTMLFeatures":376,"JBrowse/View/FeatureGlyph/AlignmentColoring":377,"JBrowse/Store/SeqFeature/CombinationBase":378,"JBrowse/Store/SeqFeature/BigWig":379,"JBrowse/Model/DataView":380,"JBrowse/View/Animation":381,"JBrowse/ConfigManager":382,"JBrowse/View/FileDialog":383,"JBrowse/Util/TextIterator":384,"JBrowse/View/LocationList":385,"JBrowse/Store":386,"JBrowse/Store/SeqFeature/TwoBit":387,"JBrowse/View/TrackList/_TextFilterMixin":388,"JBrowse/View/Track/_TrackDetailsStatsMixin":389,"JBrowse/View/Track/_NamedFeatureFiltersMixin":390,"JBrowse/Model/NestedFrequencyTable":391,"JBrowse/CodonTable":392,"JBrowse/View/_FeatureDescriptionMixin":393,"JBrowse/View/GranularRectLayout":394,"JBrowse/View/Track/_VariantDetailMixin":395,"JBrowse/View/FeatureGlyph/UnprocessedTranscript":396,"JBrowse/View/FeatureGlyph/ProcessedTranscript":397,"JBrowse/View/FeatureGlyph/Alignment":398,"JBrowse/Model/VCFFeature":399,"JBrowse/Store/LazyArray":400,"JBrowse/Finisher":401,"JBrowse/Store/SeqFeature/_PairCache":402,"JBrowse/Store/SeqFeature/_SpanCache":403,"JBrowse/Store/SeqFeature/_InsertSizeCache":404,"JBrowse/Store/SeqFeature/BigWig/Window":405,"JBrowse/Store/SeqFeature/BED/Parser":406,"JBrowse/Store/Hash":407,"JBrowse/Model/BGZip/VirtualOffset":408,"JBrowse/ConfigAdaptor/JB_json_v1":409,"NeatCanvasFeatures/View/FeatureGlyph/Segments":410,"NeatCanvasFeatures/View/FeatureGlyph/Box":411,"MultiBigWig/View/Track/MultiWiggleBase":412,"GCContent/Store/SeqFeature/GCContent":413,"GCContent/View/Dialog/WindowSizeDialog":414,"JBrowse/Store/LazyTrie":415,"JBrowse/Store/Names/LazyTrieDojoData":416,"JBrowse/GenomeView":417,"JBrowse/View/Track/LocationScale":418,"JBrowse/View/ConfirmDialog":419,"JBrowse/View/Track/BlockBased/Block":420,"JBrowse/View/DetailsMixin":421,"JBrowse/View/Track/GridLines":422,"JBrowse/BehaviorManager":423,"JBrowse/View/Animation/Zoomer":424,"JBrowse/View/Animation/Slider":425,"JBrowse/TouchScreenSupport":426,"JBrowse/ConfigAdaptor/AdaptorUtil":427,"JBrowse/View/FileDialog/TrackList/BAMDriver":428,"JBrowse/View/FileDialog/TrackList/CRAMDriver":429,"JBrowse/View/FileDialog/TrackList/BigWigDriver":430,"JBrowse/View/FileDialog/TrackList/GFF3Driver":431,"JBrowse/View/FileDialog/TrackList/GTFDriver":432,"JBrowse/View/FileDialog/TrackList/VCFTabixDriver":433,"JBrowse/View/FileDialog/TrackList/VCFTribbleDriver":434,"JBrowse/View/FileDialog/TrackList/BEDTabixDriver":435,"JBrowse/View/FileDialog/TrackList/GFF3TabixDriver":436,"JBrowse/View/FileDialog/TrackList/BEDDriver":437,"JBrowse/View/FileDialog/TrackList/BigBedDriver":438,"JBrowse/View/FileDialog/ResourceList":439,"JBrowse/View/FileDialog/TrackList":440,"JBrowse/View/FastaFileDialog":441,"JBrowse/View/FileDialog/TrackList/BgzipIndexedFASTADriver":442,"JBrowse/View/FileDialog/TrackList/IndexedFASTADriver":443,"JBrowse/View/FileDialog/TrackList/_OptionallyIndexedFileDriver":444,"JBrowse/View/FileDialog/TrackList/TwoBitDriver":445,"JBrowse/View/FileDialog/TrackList/ChromSizesDriver":446,"JBrowse/View/LocationChoiceDialog":447,"JBrowse/View/Dialog/SetHighlight":448,"JBrowse/View/Dialog/Preferences":449,"JBrowse/View/Dialog/OpenDirectory":450,"JBrowse/View/Dialog/QuickHelp":451,"JBrowse/View/StandaloneDatasetList":452,"JBrowse/Store/SeqFeature/ChromSizes":453,"JBrowse/Store/SeqFeature/UnindexedFasta":454,"JBrowse/Store/SeqFeature/UnindexedFasta/File":455,"JBrowse/Store/SeqFeature/BgzipIndexedFasta":456,"JBrowse/Util/dot-object":457,"JBrowse/View/TrackList/Null":458,"JBrowse/View/TrackList/Faceted":459,"JBrowse/View/Ruler":460,"JBrowse/View/Track/Wiggle/Density":461,"JBrowse/Store/SeqFeature/SNPCoverage":462,"JBrowse/View/FASTA":463,"JBrowse/View/Track/FixedImage":464,"JBrowse/Store/SeqFeature/Coverage":465,"JBrowse/View/Track/Combination/CombinationDialog":466,"JBrowse/View/Track/_FeatureContextMenusMixin":467,"JBrowse/Util/FastPromise":468,"JBrowse/View/FeatureGlyph":469,"JBrowse/View/FeatureGlyph/_FeatureLabelMixin":470,"JBrowse/View/FeatureGlyph/PairedAlignment":471,"JBrowse/View/FeatureGlyph/Gene":472,"JBrowse/View/Export/BED":473,"JBrowse/Util/RejectableFastPromise":474,"JBrowse/Util/GTF":475,"JBrowse/Store/TiledImage/Fixed":476,"JBrowse/Store/SeqFeature/SequenceChunks":477,"JBrowse/Store/SeqFeature/NCList":478,"JBrowse/Model/ArrayRepr":479,"JBrowse/Store/NCList":480,"JBrowse/Store/NCList_v0":481,"JBrowse/Store/SeqFeature/GTF/Parser":482,"JBrowse/Store/SeqFeature/BigWig/RequestWorker":483,"JBrowse/Model/Range":484,"JBrowse/Model/TabixIndex":485,"RegexSequenceSearch/View/SearchSeqDialog":486,"NeatCanvasFeatures/View/FeatureGlyph/UnprocessedTranscript":487,"NeatCanvasFeatures/View/FeatureGlyph/ProcessedTranscript":488,"MultiBigWig/View/Dialog/MaxScoreDialog":489,"bookmarks/View/QuickMarkDialog":490,"BlastView/View/Track/_FeatureDetailMixin":491,"JBrowse/View/TrackList/Simple":493,"JBrowse/View/TrackList/Hierarchical":494,"JBrowse/View/Track/Wiggle":495,"JBrowse/View/Track/SNPCoverage":496,"JBrowse/View/Track/Sequence":497,"JBrowse/View/Track/HTMLVariants":498,"JBrowse/View/Track/FixedImage/Wiggle":499,"JBrowse/View/Track/FeatureCoverage":500,"JBrowse/View/Track/Combination":501,"JBrowse/View/Track/CanvasVariants":502,"JBrowse/View/Track/Alignments2":503,"JBrowse/View/Track/Alignments":504,"JBrowse/View/FeatureGlyph/UCSC/BED":505,"JBrowse/View/FeatureGlyph/PairedReadCloud":506,"JBrowse/View/FeatureGlyph/PairedArc":507,"JBrowse/View/FeatureGlyph/Diamond":508,"JBrowse/View/Export/Wiggle":509,"JBrowse/View/Export/SequinTable":510,"JBrowse/View/Export/GFF3":511,"JBrowse/View/Export/FASTA":512,"JBrowse/View/Export/bedGraph":513,"JBrowse/View/Dialog/Search":514,"JBrowse/Util/FeatureFilters":515,"JBrowse/Track":516,"JBrowse/Store/TrackMetaData":517,"JBrowse/Store/TiledImage/Fixed_v0":518,"JBrowse/Store/Sequence/TwoBit":519,"JBrowse/Store/Sequence/StaticChunked":520,"JBrowse/Store/Sequence/IndexedFasta":521,"JBrowse/Store/SeqFeature/VCFTribble":522,"JBrowse/Store/SeqFeature/VCFTabix":523,"JBrowse/Store/SeqFeature/SPARQL":524,"JBrowse/Store/SeqFeature/REST":525,"JBrowse/Store/SeqFeature/QuantitativeCombination":526,"JBrowse/Store/SeqFeature/NCList_v0":527,"JBrowse/Store/SeqFeature/Mask":528,"JBrowse/Store/SeqFeature/GTF":529,"JBrowse/Store/SeqFeature/GFF3Tabix":530,"JBrowse/Store/SeqFeature/GFF3":531,"JBrowse/Store/SeqFeature/FromConfig":532,"JBrowse/Store/SeqFeature/CRAM":533,"JBrowse/Store/SeqFeature/Combination":534,"JBrowse/Store/SeqFeature/BigBed":535,"JBrowse/Store/SeqFeature/BEDTabix":536,"JBrowse/Store/SeqFeature/BED":537,"JBrowse/Store/SeqFeature/BAMCombination":538,"JBrowse/Store/SeqFeature/BAM":539,"JBrowse/Store/Names/REST":540,"JBrowse/Store/Names/Hash":541,"JBrowse/Store/BigWig":542,"JBrowse/Model/modEncodeTrackMetadata":543,"JBrowse/Model/CSIIndex":544,"JBrowse/Model/BGZip/BGZBlob":545,"JBrowse/ConfigAdaptor/JB_json_v0":546,"JBrowse/ConfigAdaptor/conf":547,"RegexSequenceSearch/Store/SeqFeature/RegexSearch":548,"RegexSequenceSearch/main":549,"NeatHTMLFeatures/View/Track/NeatFeatures":550,"NeatHTMLFeatures/main":551,"NeatCanvasFeatures/View/Track/NeatFeatures":552,"NeatCanvasFeatures/View/FeatureGlyph/Gene":553,"NeatCanvasFeatures/main":554,"MultiBigWig/View/Track/MultiWiggle/MultiXYPlot":555,"MultiBigWig/View/Track/MultiWiggle/MultiDensity":556,"MultiBigWig/Store/SeqFeature/MultiBigWig":557,"MultiBigWig/main":558,"HideTrackLabels/main":559,"GCContent/View/Track/GCContentXY":560,"GCContent/View/Track/GCContent":561,"GCContent/main":562,"DebugEvents/main":563,"ComboTrackSelector/View/TrackList/Null":564,"ComboTrackSelector/View/TrackList/Faceted":565,"ComboTrackSelector/main":566,"CategoryUrl/main":567,"bookmarks/main":568,"BlastView/View/Track/CanvasFeatures":569,"BlastView/main":570,"dojo/query!css2":933,"dojo/loaderProxy?loader=dojo%2Fquery&name=css2!":933})})(),(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{1028:function(e,t){e.exports="data:image/png;base64,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"},1029:function(e,t){e.exports="data:image/gif;base64,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"},1030:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAPCAYAAACfvC2ZAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAALEwAACxMBAJqcGAAAADhJREFUSMdj/PTp038GGoD///+jYGxipIr/+fOHgYlhiIFRB486eNTBow4edfCog0cdPOrgEeVgAKWCPLGar0uxAAAAAElFTkSuQmCC"},1031:function(e,t){e.exports="data:image/png;base64,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"},1032:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAACCAIAAADXZGvcAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90BFxYkHoGW4MAAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAEklEQVQI12M0NjZmIBcwMVAAAEkmAJ08S5kYAAAAAElFTkSuQmCC"},1033:function(e,t){e.exports="data:image/png;base64,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"},1034:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAWCAYAAAAisWU6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gMeFhIajrvb6AAACjJJREFUaN7tmnuMVNUdxz/n3pnZee3s+8GyD5YFBHktD5FHyiOmJrVoiVClWPWvJo3Wmj6wPmr9o7VJU2tjTEgjtbEqYmytiAUEXBDQkoLWJ4i8Ydld2N15z87cmbn3nP6xKwLu7tzdHeAP/SUnmZ3M/X3O99zv+e3JOUfsfHuXAhAorlT0kgRXg9sua7gaUaN1fK30OgCunfHdKwo9+MEmABYt/NYV5e7avQeAFQvqryj3n++e/trpdYwkQTrtQCqBHlXIv1czamojylMG/kois5+5bB03DAOpJETaCa655SKuc8kTuWeyUiPgKkS0ndjaFRdx1YLHL5veWCyKKS209g/Jbv8J5ZMmo9yV4K1Gm/3oZdMbi8WwpETv+BD19s8u4prTHshdsYYFjTrZtOGnRGNQF9rLyrku8JahfJUIvcBWDinlkLmRSIR1658nEo32cSeAt+Q8105OJYc+0NFolJf/8RLRWKxfrp2cw9HbeqaVt1q2ks5kGB3ew02zpoGnEuWtRmiXT29bWxs7d7cMyM2VUxuOqUJBNzu23Utz8yIWzJ9L6prvsf5IBYa7Gt3lQ/WE7K0BlBpS6+zsZMPGfzF9ejML5s/r45ZdxB3s+fMvWA2tdXZ188bmjTQ3zxiQO9jzdvTKTIYzP3+AAxMnk9i6HaUUhw8fZtfuFmbMmMmsmTNxnizhgzta6NqfQHP6UKngiPVamSwdqx/m8NQZJLa1IBUcOXqUd/buGpSbS++QK1Y04mPPznsY1zQXw0gRCAS4ZenN7N1bzisfvMvtkyLoHYdsG8tuhMNhNr+5kcbGRgzDIBAo7Jer2cgph8jd9tYmxo4dOyjXTs7B9J5a/SCxTVsBxanVj+A4fYr3CwuYNGkShmHg3riJqu07MR1+Dv9hK3qBQVF1CEaot+2hR0hs3gYo2h76DbSe5uMSb06unJ7nipU2nITDbkARCAQYM6YRj9vDkoWLsUqn8ur+IFZXZ94rViqVIhiKAhAIFA7IzXfFShlpQuFYTu5IK1b5bSswkSjdgZExCP/xKbTPjqAUFLy7D/PlV1HoCLebdG0de3vcyODJEestWb78Im78yadtcXPpHbKxSgNR6jxraWs/x5iGJlzOAizTIhQOccOShXQULeCNaL3tNZbdVlooaPDuo6397KDcwXIMx1ilhRr1HhtcG8YarG/uOddR+/vHMZ1OTCywklQ8+zSJ9a9i/OkpLM2BKSU0jKZpzZN0VC1hR6x5xHpdc+ZQ/bvHyTpdmEKClbLHzaexzBScO+hi7kQ/rsRf+eij/4GCSCRMxsrQ1d3N3FlTOeRfkNeKlUkGaf1kHXOuOYYr8eygXDsz2JL2mtETou3AS1w/MTd3sDx29ZYsW0rtrx8km0qRSkeocZk0vbgGt9NFJptB1ddQ8ttHSfj9zJgygSO+RXnR6795KVUP9XKNTNgWN5de28bKJgVHW9z4mURd863Mnxihdf/9bNqyBc2hkUgkiITDdHaeo25URd4qlpHo5JOtv8BpbaaueXlObr4qVrqnm8Mtv8TLFnvcEVasL5pr0XisVUn8GgQoRnM68SbaMUeNonrNU6RLS4jFooRCQUZXleVNr3PheOQPkvg1YY+bj4olTTi8zU3juBmMbnCSjh1C9xWyYIpJYegxXt+4jVQySTgcIh6PU1xamhdjZTNJPt5yH/VNIUY3uEjHPkP3+Qfl2hnoXDM4mzU4tP0+Gsfb59qpWIP1zbIk6VSIg2/eyJTZE6itV0RFmogGlj9Do+s99rXswDBSRKNhEokeAkXFI9ZrWpA2IhxruZEp19nn5qVixTp0NMtHUbGBKZ0I93VYZhpTKerKTa71PMGed/5LMtmDy1VAV2dnXowVbtsH1gmKitOY0mGLm48ZHG3fjy6PD407woqllOTcoecoPSNx/uVjPEUagXI/GlmKqy18pJn32mqOvf46qZSBy+UiGOwesV4FBA8/R9lQucOtWMoSvU1B+ISDmnGzQUqggFjXf4if6yZrSIyUoqrEwRixlmAoSldXF62tnw3bWFY2hpWNYlkZuk9sp2bcZJDWJVx1AfdvBEOJPm6rvRms+mlmAsuMY0qT8KltQ+Kebm3tP2dfG0yvmT6DlT6NZSVJ//tZKnc4kKZCxSX+MQrvPQbONGCAswdmbf0z1qefEAwGOX78+PD1ZtqxMmcwpYHcvHbI3Fx6B9zHkp/3rpN0XZBqM6icOh1hWliiie5jr5CxdHAUoDuzdHcnqWk0kMkXONnRzMo7N5w/ZB7qvk766OLz3J52gwnTfowwM1hiXB9XO88NdhdQO2YxJNOc6Mjyw1V329ob6+83zhPzznMzHQaV0wfmdncVUNVwA9mkyemzaW69/UfD5tI5BQXoB6FqAzh8o5AiiygrI3rbcbJlhfSYBXhfDGFqJq6szpR1z7Bl6SrmL102bK4vOL5X70Fw2uA6szqT1z3Dm0tX0fyd7+fkDrxBKhQo0esP1TvgaXMyZvx9nN4KhOkhHAwTSYQQow0qxkgmyhPM8p0kmVS2jGVZVj9cL6jkBVyNtDkFM/4eTm95HzdGJF6DVr2M4vr5XCMlM+f6SCQS/ef8yoZhP4MvvAgb3FC8FqtqOaX1C2mSkqlzfSSTSeycmvTXN6E0hJCYW4EEoEz08jK4tx5HZQlYRUSndxI6EKd0twvNFcBjaSwcXcfpYHD4em1ygwfilO0uQLgCeCyd62uaOBWO5NQ7oLGE+NLpQoP3t76AmUmj6yBdFpZuIkt6cNdaeAoVRgo0DZJJhcslbP8r/CpXoZQOiD7u831cB9JRh6WXYBUup6CiHm9hFclkEk3TUErhcrnsnZ0pBuSqS7ia7kA6GsjqpWQL70CraMBbWI2RSiE0DXqSOF1OOxvg/fbNIXr7o90viJ8F57EkkWUmppHA+NxLyozTmZpGZvEKxvnbqNnwBkfvWkm8th6v2z0CvQNzU597SZkJzqZmklq8ivH+MzRseI2Dd91JvG4sbo8np94BjaU0idBBAuOmO5Ay1VuFBCB1siU96KUSywIhBKLPS5oQaDY3MfqfbR40h6eXOy2AlArwgxAo2U3adxta4bexLKuP2wvWNA1N02zN4H71Ch/C4UUCTdOK+riFfW+gix7/najATUhL9jK/0NvHHa5eXekIoaEEBB4WqGyamqJ0X/5uIulV1Ph+RSaTQZ8jiK28nZrychwuJ7quD19vDm4wczflhY9hZky0edC96i5GVVRQ53Li0HOfBA74C31CcNBzny/vLwiGG/3OtprXuPBbcclnTx5uEPR32S5T3zLoM57cr2pYeo2S41/+UdxnwAvXQpc+UFmRF72JygsuCvSz7ejta+ejumpIekd0H2ukMdx7QiMNTXyj93LHVTXW1QpdqG/0Xm5jZYT3ikOvBvM8V3Oga1cYrDm4auN8lfSK9ds/VenoWVtrhHyFK1CNEIKrwY0YgvYzp3uvNl+hGF1bT6lX+1rp/T+bdjPTjGfqfgAAAABJRU5ErkJggg=="},1131:function(e){e.exports={name:"JBrowse",version:"1.16.5",copyright:"© 2007-2017 The Evolutionary Software Foundation",main:"main",dependencies:{dojo:"current",dijit:"current",dojox:"current",util:"current"},description:"A modern client-side genome browser.",licenses:[{type:"LGPL-2.1",url:"https://raw.github.com/GMOD/jbrowse/master/LICENSE"}],bugs:"https://github.com/gmod/jbrowse/issues",keywords:["JavaScript","JBrowse","Genome Browser","Genomics","Bioinformatics"],homepage:"http://jbrowse.org",dojoBuild:"JBrowse.profile.js"}},1285:function(e,t){},1287:function(e,t){},130:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,_slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_package=__webpack_require__(1131),_package2=_interopRequireDefault(_package);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var url=__webpack_require__(805);__WEBPACK_AMD_DEFINE_ARRAY__=[__webpack_require__(575),__webpack_require__(576),__webpack_require__(580),__webpack_require__(910),__webpack_require__(590),__webpack_require__(579),__webpack_require__(593),__webpack_require__(587),__webpack_require__(1142),__webpack_require__(676),__webpack_require__(595),__webpack_require__(677),__webpack_require__(574),__webpack_require__(341),__webpack_require__(577),__webpack_require__(689),__webpack_require__(1148),__webpack_require__(647),__webpack_require__(918),__webpack_require__(923),__webpack_require__(596),__webpack_require__(709),__webpack_require__(818),__webpack_require__(819),__webpack_require__(770),__webpack_require__(729),__webpack_require__(680),__webpack_require__(771),__webpack_require__(1185),__webpack_require__(1187),__webpack_require__(334),__webpack_require__(415),__webpack_require__(416),__webpack_require__(1188),__webpack_require__(366),__webpack_require__(417),__webpack_require__(426),__webpack_require__(382),__webpack_require__(357),__webpack_require__(383),__webpack_require__(441),__webpack_require__(345),__webpack_require__(447),__webpack_require__(448),__webpack_require__(449),__webpack_require__(450),__webpack_require__(369),__webpack_require__(451),__webpack_require__(452),__webpack_require__(453),__webpack_require__(454),__webpack_require__(370),__webpack_require__(456),__webpack_require__(387),__webpack_require__(606),__webpack_require__(1317),__webpack_require__(1318),__webpack_require__(1319)],__WEBPACK_AMD_DEFINE_RESULT__=function(declare,lang,on,html,query,domConstruct,keys,Deferred,DeferredList,topic,aspect,request,ioQuery,has,array,dijitContentPane,dijitBorderContainer,dijitDialog,dijitComboBox,dojoMemoryStore,dijitButton,dijitSelectBox,dijitToggleButton,dijitDropDownButton,dijitDropDownMenu,dijitCheckedMenuItem,dijitMenuItem,dijitMenuSeparator,dojoxTriStateCheckBox,dojoxHtmlEntities,Util,LazyTrie,NamesLazyTrieDojoDataStore,DojoDataStore,FeatureFiltererMixin,GenomeView,Touch,ConfigManager,InfoDialog,FileDialog,FastaFileDialog,Location,LocationChoiceDialog,SetHighlightDialog,PreferencesDialog,OpenDirectoryDialog,SetTrackHeightDialog,HelpDialog,StandaloneDatasetList,ChromSizes,UnindexedFasta,IndexedFasta,BgzipIndexedFasta,TwoBit,dijitFocus,LazyLoad){var dojof=Util.dojof;return require.on("error",function(e){var t=e.info&&e.info[0]&&e.info[0].mid?e.info.map(function(e){return e.mid}).join(", "):e;window.JBrowse.fatalError("Failed to load resource: "+t)}),declare(FeatureFiltererMixin,{constructor:function(e){if(this.globalKeyboardShortcuts={},this.config=e||{},!this.config.unitTestMode){"function"==typeof this.config.initExtra&&this.config.initExtra(this,e),this.startTime=new Date;var t=this;dojo.addOnLoad(function(){if(Util.isElectron()&&!t.config.dataRoot)return dojo.addClass(document.body,"jbrowse"),dojo.addClass(document.body,t.config.theme||"tundra"),void t.welcomeScreen(document.body);t.loadConfig().then(function(){t.container=dojo.byId(t.config.containerID),t.container.onselectstart=function(){return!1},t.config.initialHighlight&&"/"!=t.config.initialHighlight&&t.setHighlight(new Location(t.config.initialHighlight)),t.initPlugins().then(function(){t.loadNames(),t.loadUserCSS().then(function(){t.initTrackMetadata(),t.loadRefSeqs().then(function(){var e=t._initialLocation(),i=Util.parseLocString(e);i&&i.ref&&t.allRefs[i.ref]&&(t.refSeq=t.allRefs[i.ref]),t.ensureNonzeroContainerDimensions(),t.initView().then(function(){Touch.loadTouch(),e&&t.navigateTo(e,!0);var i=[];t.config.alwaysOnTracks&&(i=i.concat(t.config.alwaysOnTracks.split(","))),t.config.forceTracks?i=i.concat(t.config.forceTracks.split(",")):t.cookie("tracks")?i=i.concat(t.cookie("tracks").split(",")):t.config.defaultTracks&&(t.config.defaultTracks instanceof Array||(i=i.concat(t.config.defaultTracks.split(",")))),0==i.length&&i.push("DNA"),i=Util.uniq(i),t.showTracks(i),t.passMilestone("completely initialized",{success:!0})}),t.reportUsageStats()})})})})})}},_initialLocation:function(){var e=dojo.fromJson(this.cookie("location"))||{};return this.config.location?this.config.location:e[this.refSeq.name]?e[this.refSeq.name].l||e[this.refSeq.name]:this.config.defaultLocation?this.config.defaultLocation:Util.assembleLocString({ref:this.refSeq.name,start:.4*(this.refSeq.start+this.refSeq.end),end:.6*(this.refSeq.start+this.refSeq.end)})},version:function(){return _package2.default.version}.call(),getPlugin:function(e,t){this.afterMilestone("initPlugins",dojo.hitch(this,function(){t(this.plugins[e])}))},_corePlugins:function(){return["RegexSequenceSearch"]},initPlugins:function(){return this._milestoneFunction("initPlugins",function(e){var t=this;this.plugins={};var i=this.config.plugins||this.config.Plugins||{};if(lang.isArray(i)||i.name||(i=function(){var e=[];for(var t in i)!lang.isObject(i[t])||"name"in i[t]||(i[t].name=t),e.push(i[t]);return e}.call(this)),lang.isArray(i)||(i=[i]),i.unshift.apply(i,this._corePlugins()),(i=array.map(i,function(e){return"object"==(void 0===e?"undefined":_typeof(e))?e:{name:e}})).length){i.forEach(function(e){var i=dojoConfig.packages.find(function(t){return t.name===e.name});i?(e.css=!!i.css&&i.pluginDir+"/"+i.css,e.js=i.location):t.fatalError("plugin "+e.name+" not found. You can rebuild JBrowse with a -dev release or github clone with this plugin in the plugin folder")});var n=array.map(i,function(e){return new Deferred});new DeferredList(n).then(function(){e.resolve({success:!0})}),dojo.global.require(array.map(i,function(e){return e.name+"/main"}),dojo.hitch(this,function(){array.forEach(arguments,function(e,t){var r=i[t],o=n[t];if("string"==typeof e)console.error("could not load plugin "+r.name+": "+e);else{var a,s=dojo.mixin(dojo.clone(i[t]),{config:this.config[r.name]||{}});s.browser=this,s=dojo.mixin(s,{browser:this}),r.css?a=this._loadCSS({url:this.resolveUrl(r.css+"/main.css")}):(a=new Deferred).resolve(),a.then(function(){o.resolve({success:!0})}),s.cssLoaded=a,this.plugins[r.name]=new e(s)}},this)}))}else e.resolve({success:!0})})},resolveUrl:function(e){var t=this.config.browserRoot||this.config.baseUrl||"";return Util.resolveUrl(t,e)},welcomeScreen:function(e,t){var i=this;__webpack_require__.e(4).then(function(){var n=[__webpack_require__(1846)];(function(n){e.innerHTML=n,dojo.create("div",{style:{overflow:"hidden"}},i.container),dojo.byId("welcome").innerHTML="Welcome! To get started with <i>JBrowse-"+i.version+"</i>, select a sequence file or an existing data directory",on(dojo.byId("newOpen"),"click",dojo.hitch(i,"openFastaElectron")),on(dojo.byId("newOpenDirectory"),"click",function(){new OpenDirectoryDialog({browser:i,setCallback:dojo.hitch(i,"openDirectoryElectron")}).show()});try{i.loadSessions()}catch(e){console.error(e)}if(t){console.log(t);var r=dojo.byId("fatal_error_list");dojo.create("div",{className:"error",innerHTML:t},r)}request(i.resolveUrl("sample_data/json/volvox/successfully_run")).then(function(){try{document.getElementById("volvox_data_placeholder").innerHTML='The example dataset is also available. View <a href="?data=sample_data/json/volvox">Volvox test data here</a>.'}catch(e){}})}).apply(null,n)}).catch(__webpack_require__.oe)},ensureNonzeroContainerDimensions:function(){var e=this.container.offsetWidth,t=this.container.offsetHeight;e||(console.warn("JBrowse container element #"+this.config.containerID+" has no width, please set one with CSS. Setting fallback width of 640 pixels"),this.container.style.width="640px"),t||(console.warn("JBrowse container element #"+this.config.containerID+" has no height, please set one with CSS. Setting fallback height of 480 pixels"),this.container.style.height="480px")},fatalError:function(e){function t(e){return e&&(e.status&&(e=e.status+" ("+e.statusText+") when attempting to fetch "+e.url),console.error(e.stack||""+e),/\.$/.exec(e+="")||(e+="."),e=dojoxHtmlEntities.encode(e)),e}if(this.renderedFatalErrors){var i=dojo.byId("fatal_error_list")||document.body;dojo.create("div",{className:"error",innerHTML:t(e)+""},i)}else if(/^Could not load reference sequence/.test(e)&&this.config.datasets&&!this.config.datasets._DEFAULT_EXAMPLES)dojo.empty(this.container),new StandaloneDatasetList({datasets:this.config.datasets}).placeAt(this.container);else{var n=this.container||document.body,r=this;dojo.addClass(document.body,this.config.theme||"tundra"),Util.isElectron()?this.welcomeScreen(n,t(e)):__webpack_require__.e(5).then(function(){var i=[__webpack_require__(1847)];(function(i){if(n.innerHTML=i,e){var o=dojo.byId("fatal_error_list");dojo.create("div",{className:"error",innerHTML:t(e)+""},o)}request(r.resolveUrl("sample_data/json/volvox/successfully_run")).then(function(){try{dojo.byId("volvox_data_placeholder").innerHTML='However, it appears you have successfully run <code>./setup.sh</code>, so you can see the <a href="?data=sample_data/json/volvox">Volvox test data here</a>.'}catch(e){}})}).apply(null,i)}).catch(__webpack_require__.oe),this.renderedFatalErrors=!0}},loadSessions:function(){var e=electronRequire("fs"),t=(electronRequire("electron").remote.app,this.config.electronData+"/sessions.json"),i=JSON.parse(e.readFileSync(t,"utf8")),n=dojo.create("table",{id:"previousSessionsTable",style:{overflow:"hidden",width:"90%"}},dojo.byId("previousSessions")),r=this;if(!i.length){var o=dojo.create("tr",{},n);dojo.create("div",{innerHTML:"<ul><li>No sessions yet!</li></ul>"},o)}array.forEach(i,function(o){var a=dojo.create("tr",{},n),s=window.location.href.split("?")[0]+"?data="+Util.replacePath(o.session);dojo.create("div",{class:"dijitIconDelete",onclick:function(a){if(confirm("This will simply delete your session from the list, it won't remove any data files. Are you sure you want to continue?")){dojo.empty(n);var s=i.indexOf(o);-1!=s&&i.splice(s,1),e.writeFileSync(t,JSON.stringify(i,null,2),"utf8"),r.loadSessions()}}},a),dojo.create("td",{innerHTML:'<a href="'+s+'">'+o.session+"</a>"},a)})},loadRefSeqs:function(){var e=this;return this._milestoneFunction("loadRefSeqs",function(t){"string"==typeof this.config.refSeqs&&(this.config.refSeqs={url:this.config.refSeqs}),this.config.refSeqs.url&&this.config.refSeqs.url.match(/.fai$/)?new IndexedFasta({browser:this,faiUrlTemplate:this.config.refSeqs.url}).getRefSeqs(function(i){e.addRefseqs(i),t.resolve({success:!0})},function(e){t.reject(e)}):this.config.refSeqs.url&&this.config.refSeqs.url.match(/.2bit$/)?new TwoBit({browser:this,urlTemplate:this.config.refSeqs.url}).getRefSeqs(function(i){e.addRefseqs(i),t.resolve({success:!0})},function(e){t.reject(e)}):this.config.refSeqs.url&&this.config.refSeqs.url.match(/.fa$/)?new UnindexedFasta({browser:this,urlTemplate:this.config.refSeqs.url}).getRefSeqs(function(i){e.addRefseqs(i),t.resolve({success:!0})},function(e){t.reject(e)}):this.config.refSeqs.url&&this.config.refSeqs.url.match(/.sizes/)?new ChromSizes({browser:this,urlTemplate:this.config.refSeqs.url}).getRefSeqs(function(i){e.addRefseqs(i),t.resolve({success:!0})},function(e){t.reject(e)}):"data"in this.config.refSeqs?(this.addRefseqs(this.config.refSeqs.data),t.resolve({success:!0})):request(this.resolveUrl(this.config.refSeqs.url),{handleAs:"text",headers:{"X-Requested-With":null}}).then(function(i){e.addRefseqs(dojo.fromJson(i)),t.resolve({success:!0})},function(e){t.reject("Could not load reference sequence definitions. "+e)})})},loadUserCSS:function(){return this._milestoneFunction("loadUserCSS",function(e){this.config.css&&!lang.isArray(this.config.css)&&(this.config.css=[this.config.css]);var t=this.config.css||[];if(t.length){var i=this,n=array.map(t,function(e){return i._loadCSS(e)});new DeferredList(n).then(function(){e.resolve({success:!0})})}else e.resolve({success:!0})})},_loadCSS:function(e){var t=new Deferred;return"string"==typeof e&&(e.indexOf("{")>-1?(dojo.create("style",{"data-from":"JBrowse Config",type:"text/css",innerHTML:e},document.head),t.resolve(!0)):e={url:e}),"object"==(void 0===e?"undefined":_typeof(e))&&LazyLoad.css(e.url,function(){t.resolve(!0)}),t},loadNames:function(){return this._milestoneFunction("loadNames",function(e){var t,i=dojo.mixin(dojo.clone(this.config.names||{}),this.config.autocomplete||{});if(i.url||(i.url=this.config.nameUrl||"data/names/"),i.baseUrl&&(i.url=Util.resolveUrl(i.baseUrl,i.url)),t=i.type){var n=this;-1==t.indexOf("/")&&(t="JBrowse/Store/Names/"+t),dojo.global.require([t],function(t){n.nameStore=new t(dojo.mixin({browser:n},i)),e.resolve({success:!0})})}else this.nameStore=new DojoDataStore({store:new NamesLazyTrieDojoDataStore({browser:this,namesTrie:new LazyTrie(i.url,"lazy-{Chunk}.json"),stopPrefixes:i.stopPrefixes,resultLimit:i.resultLimit||15,tooManyMatchesMessage:i.tooManyMatchesMessage})}),e.resolve({success:!0})})},compareReferenceNames:function(e,t){return this.regularizeReferenceName(e).localeCompare(this.regularizeReferenceName(t))},regularizeLocation:function(e){var t=this.findReferenceSequence(e.ref||e.objectName);return t&&(e.ref=t.name),e},regularizeReferenceName:function(e){return this.config.exactReferenceSequenceNames?e:(e=e.toLowerCase()).match(/^chrm/)?"chrm":e=e.replace(/^chro?m?(osome)?/,"chr").replace(/^co?n?ti?g/,"ctg").replace(/^scaff?o?l?d?/,"scaffold").replace(/^([a-z]*)0+/,"$1").replace(/^(\d+|x|y)$/,"chr$1").replace(/^(x?)(ix|iv|v?i{0,3})$/,"chr$1$2").replace(/^mt?$/,"chrm")},initView:function(){var e=this;return this._milestoneFunction("initView",function(t){var i=this;dojo.addClass(this.container,"jbrowse"),dojo.addClass(document.body,this.config.theme||"tundra");var n=dojo.create("div",{style:{overflow:"hidden"}},this.container),r=this.browserMeta(),o=new InfoDialog({title:"About "+r.title,content:r.description,className:"about-dialog"}),a=dojo.create("div",{className:this.config.show_nav?"menuBar":"topLink"});e.menuBar=a,this.config.show_menu&&(this.config.show_nav?n:this.container).appendChild(a);var s=dojo.create("div",{className:"overview",id:"overview"},n);function l(){new HelpDialog(lang.mixin(e.config.quickHelp||{},{browser:e})).show()}if(this.overviewDiv=s,this.config.show_overview||(s.style.cssText="display: none"),Util.isElectron()&&!this.config.hideGenomeOptions?(this.addGlobalMenuItem(this.config.classicMenu?"file":"dataset",new dijitMenuItem({id:"menubar_dataset_file",label:"Open sequence file",iconClass:"dijitIconFolderOpen",onClick:dojo.hitch(this,"openFastaElectron")})),this.addGlobalMenuItem(this.config.classicMenu?"file":"dataset",new dijitMenuItem({id:"menubar_dataset_directory",label:"Open data directory",iconClass:"dijitIconFolderOpen",onClick:function(){new OpenDirectoryDialog({browser:e,setCallback:dojo.hitch(e,"openDirectoryElectron")}).show()}})),this.addGlobalMenuItem(this.config.classicMenu?"file":"dataset",new dijitMenuItem({id:"menubar_dataset_save",label:"Save session",iconClass:"dijitIconSave",onClick:dojo.hitch(this,"saveData")})),this.addGlobalMenuItem(this.config.classicMenu?"file":"dataset",new dijitMenuItem({id:"menubar_dataset_home",label:"Return to main menu",iconClass:"dijitIconTask",onClick:dojo.hitch(this,function(){var t=e.container||document.body;e.welcomeScreen(t)})}))):this.config.hideGenomeOptions||this.addGlobalMenuItem(this.config.classicMenu?"file":"dataset",new dijitMenuItem({id:"menubar_dataset_open",label:"Open sequence file",iconClass:"dijitIconFolderOpen",onClick:dojo.hitch(this,"openFasta")})),this.config.show_nav&&(this.navbox=this.createNavBox(n),this.config.classicMenu?(this.config.datasets&&!this.config.dataset_id&&console.warn("In JBrowse configuration, datasets specified, but dataset_id not set. Dataset selector will not be shown."),this.config.datasets&&this.config.dataset_id?this.renderDatasetSelect(a):(this.poweredByLink=dojo.create("a",{className:"powered_by",innerHTML:this.browserMeta().title,title:"powered by JBrowse"},a),e.poweredBy_clickHandle=dojo.connect(this.poweredByLink,"onclick",dojo.hitch(o,"show")))):this.renderDatasetSelect(a),this.addGlobalMenuItem("file",new dijitMenuItem({id:"menubar_fileopen",label:"Open track file or URL",iconClass:"dijitIconFolderOpen",onClick:dojo.hitch(this,"openFileDialog")})),this.addGlobalMenuItem("file",new dijitMenuSeparator),this.fileDialog=new FileDialog({browser:this}),this.addGlobalMenuItem("file",new dijitMenuItem({id:"menubar_combotrack",label:"Add combination track",iconClass:"dijitIconSample",onClick:dojo.hitch(this,"createCombinationTrack")})),this.renderGlobalMenu("file",{text:this.config.classicMenu?"File":"Track"},a),this.addGlobalMenuItem("view",new dijitMenuItem({id:"menubar_sethighlight",label:"Set highlight",iconClass:"dijitIconFilter",onClick:function(){new SetHighlightDialog({browser:e,setCallback:dojo.hitch(e,"setHighlightAndRedraw")}).show()}})),this._highlightClearButton=new dijitMenuItem({id:"menubar_clearhighlight",label:"Clear highlight",iconClass:"dijitIconFilter",onClick:dojo.hitch(this,function(){var e=this.getHighlight();e&&(this.clearHighlight(),this.view.redrawRegion(e))})}),this._updateHighlightClearButton(),this.subscribe("/jbrowse/v1/n/globalHighlightChanged",dojo.hitch(this,"_updateHighlightClearButton")),this.addGlobalMenuItem("view",this._highlightClearButton),this.addGlobalMenuItem("view",new dijitMenuItem({label:"Resize quant. tracks",id:"menubar_settrackheight",title:"Set all visible quantitative tracks to a new height",iconClass:"jbrowseIconVerticalResize",onClick:function(){new SetTrackHeightDialog({setCallback:function(t){var i=e.view.visibleTracks();array.forEach(i,function(e){/\b(XYPlot|Density)/.test(e.config.type)&&(e.trackHeightChanged=!0,e.updateUserStyles({height:t}))})}}).show()}})),this.config.disableSearch||this.addGlobalMenuItem("view",new dijitMenuItem({label:"Search features",id:"menubar_search",title:"Search for features",onClick:function(){var e=dojo.mixin(dojo.clone(i.config.names||{}),i.config.autocomplete||{}),t=e.dialog||"JBrowse/View/Dialog/Search";dojo.global.require([t],function(t){new t(dojo.mixin({browser:i},e)).show()})}})),this.renderGlobalMenu("view",{text:"View"},a),this.renderGlobalMenu("options",{text:"Options",title:"configure JBrowse"},a)),this.config.show_nav&&(this.addGlobalMenuItem("help",new dijitMenuItem({id:"menubar_about",label:"About",onClick:dojo.hitch(o,"show")})),this.setGlobalKeyboardShortcut("?",l),this.addGlobalMenuItem("help",new dijitMenuItem({id:"menubar_generalhelp",label:"General",iconClass:"jbrowseIconHelp",onClick:l})),this.renderGlobalMenu("help",{},a),!this.config.classicMenu)){var c=lang.getObject("config.datasets."+this.config.dataset_id+".name",!1,this);this.menuBarDatasetName=dojo.create("div",{className:"dataset-name",innerHTML:c,title:"name of current dataset",style:{display:c?"inline-block":"none"}},a)}if(this.config.show_nav&&this.config.show_tracklist&&this.config.show_overview&&!Util.isElectron()){var h=this.makeShareLink();h&&a.appendChild(h)}else if(Util.isElectron()){var u=this.makeSnapLink();u&&a.appendChild(u)}else this.config.show_fullviewlink&&a.appendChild(this.makeFullViewLink());function d(){var t=e.makeCurrentViewURL();e.config.updateBrowserURL&&window.history&&window.history.replaceState&&window.history.replaceState({},"",t),e.config.update_browser_title&&(document.title=e.browserMeta().title+" "+e.view.visibleRegionLocString())}this.viewElem=document.createElement("div"),this.viewElem.className="dragWindow",this.container.appendChild(this.viewElem),this.containerWidget=new dijitBorderContainer({liveSplitters:!1,design:"sidebar",gutters:!1},this.container),new dijitContentPane({region:"top"},n),this.view=this.viewElem.view=new GenomeView({browser:this,elem:this.viewElem,config:this.config.view,stripeWidth:250,refSeq:this.refSeq}),dojo.connect(this.view,"onFineMove",this,"onFineMove"),dojo.connect(this.view,"onCoarseMove",this,"onCoarseMove"),this.browserWidget=new dijitContentPane({region:"center"},this.viewElem),dojo.connect(this.browserWidget,"resize",this,"onResize"),dojo.connect(this.browserWidget,"resize",this.view,"onResize"),dojo.connect(this,"onCoarseMove",d),this.subscribe("/jbrowse/v1/n/tracks/visibleChanged",d),this.subscribe("/jbrowse/v1/n/globalHighlightChanged",d),this.afterMilestone("loadRefSeqs",dojo.hitch(this,function(){this.afterMilestone("initTrackMetadata",dojo.hitch(this,function(){this.createTrackList().then(dojo.hitch(this,function(){this.containerWidget.startup(),this.onResize(),on(document.body,"keypress",dojo.hitch(this,"globalKeyHandler")),this._initEventRouting(),t.resolve({success:!0})}))}))}))})},createCombinationTrack:function(){void 0===this._combinationTrackCount&&(this._combinationTrackCount=0);var e=new Deferred,t={browser:this,refSeq:this.refSeq,type:"JBrowse/Store/SeqFeature/Combination"},i=this.addStoreConfig(void 0,t);t.name=i,this.getStore(i,function(t){e.resolve(!0)});var n=this;e.promise.then(function(){var e={type:"JBrowse/View/Track/Combination",label:"combination_track"+n._combinationTrackCount++,key:"Combination Track "+n._combinationTrackCount,metadata:{Description:"Drag-and-drop interface that creates a track out of combinations of other tracks."},store:i};n.publish("/jbrowse/v1/v/tracks/new",[e]),n.publish("/jbrowse/v1/v/tracks/show",[e])})},renderDatasetSelect:function(e){var t=this;if(this.config.classicMenu){var i=this.config.datasets||{},n=[];for(var r in i)/^_/.test(r)||n.push(Object.assign({id:r},i[r]));var o=new dijitComboBox({name:"dataset",className:"dataset_select",value:this.config.datasets[this.config.dataset_id].name,store:new dojoMemoryStore({data:n}),onChange:function(e){if(!e)return!1;var i=n.find(function(t){return t.name===e}).id,r=(t.config.datasets||{})[i],o=t.config;return r&&(o.datasetLinkToParentIframe?window.parent.location=r.url:window.location=r.url),!1}});o.placeAt(e),o.focusNode.onclick=function(){this.select()},this.config.datasetSelectorWidth&&(o.domNode.style.width=this.config.datasetSelectorWidth,o.focusNode.style.width=this.config.datasetSelectorWidth)}else{var a;!function(){var i=t.config;if(t.config.datasets&&t.config.dataset_id)for(r in t.addGlobalMenuItem("dataset",new dijitMenuSeparator),t.config.datasets)/^_/.test(r)||(a=t.config.datasets[r],t.addGlobalMenuItem("dataset",new dijitMenuItem({id:"menubar_dataset_bookmark_"+r,label:r==t.config.dataset_id?"<b>"+a.name+"</b>":a.name,iconClass:"dijitIconBookmark",onClick:dojo.hitch(a,function(){i.datasetLinkToParentIframe?window.parent.location=this.url:window.location=this.url})})));t.renderGlobalMenu("dataset",{text:"Genome"},e)}()}},saveSessionDir:function(e){var t=electronRequire("fs"),i=this.config.electronData+"/sessions.json",n=[];try{n=JSON.parse(t.readFileSync(i,"utf8"))}catch(e){console.error(e)}var r=Util.replacePath(e);array.every(n,function(e){return e.session!=r})&&n.push({session:r}),t.writeFileSync(i,JSON.stringify(n,null,2),"utf8")},openDirectoryElectron:function(e){this.saveSessionDir(e),window.location="?data="+Util.replacePath(e)},openConfig:function(e){if(confirm("If you have opened any new tracks, please save them before continuing. Are you sure you want to continue?")){var t=electronRequire("fs"),i=this.config.dataRoot,n=JSON.parse(t.readFileSync(i+"/trackList.json","utf8"));if(n.plugins=n.plugins||{},lang.isArray(n.plugins)){var r={};array.forEach(n.plugins,function(e){r[e]={name:e,location:i+"/"+e}}),n.plugins=r}array.forEach(e,function(e){var t=e.match(/\/(\w+)$/)[1];n.plugins[t]={location:e,name:t}});try{t.writeFileSync(i+"/trackList.json",JSON.stringify(n,null,2))}catch(e){console.error("Failed to save trackList.json",e)}window.location.reload()}},saveData:function(){if(confirm("This will overwrite tracks and config data in your data directory. Are you sure you want to continue?")){var e=electronRequire("fs"),t=this.config.dataRoot,i=array.map(this.config.tracks,function(e){var t=lang.clone(e);return this.getStore(t.store,lang.hitch(this,function(e){t.storeClass=e.config.type,t.urlTemplate||(lang.mixin(t,e.saveStore()),t.histograms&&t.histograms.store&&this.getStore(t.histograms.store,function(e){lang.mixin(t.histograms,e.saveStore())})),delete t.store})),t},this),n=(array.filter(Util.uniq(this.config.plugins),function(e){return"RegexSequenceSearch"!=e}),{});lang.isArray(this.config.plugins)?array.forEach(this.config.plugins,function(e){n[e]="object"==(void 0===e?"undefined":_typeof(e))?e:{name:e}}):n=this.config.plugins;var r={tracks:i,refSeqs:this.config.refSeqs,refSeqOrder:this.config.refSeqOrder,plugins:n};try{e.writeFileSync(Util.unReplacePath(t)+"/trackList.json",JSON.stringify(r,null,2))}catch(e){alert("Unable to save track data"),console.error(e)}}},openFastaElectron:function(){this.fastaFileDialog=this.fastaFileDialog||new FastaFileDialog({browser:this}),electronRequire("electron").remote.app;var e=electronRequire("fs");electronRequire("path"),this.fastaFileDialog.show({openCallback:dojo.hitch(this,function(t){var i=t.trackConfs||[];if(i.length){var n={tracks:[{label:i[0].label,key:i[0].key,type:"SequenceTrack",category:"Reference sequence",useAsRefSeqStore:!0,chunkSize:2e4}],refSeqs:o,refSeqOrder:t.refSeqOrder};if(i[0].store.bgzfa&&i[0].store.fai&&i[0].store.gzi){var r=Util.replacePath(i[0].store.bgzfa.url),o=Util.replacePath(i[0].store.fai.url),a=Util.replacePath(i[0].store.gzi.url);n.tracks[0].storeClass="JBrowse/Store/SeqFeature/BgzipIndexedFasta",n.tracks[0].urlTemplate=r,n.tracks[0].faiUrlTemplate=o,n.tracks[0].gziUrlTemplate=a,n.refSeqs=o}else if(i[0].store.fasta&&i[0].store.fai)r=Util.replacePath(i[0].store.fasta.url),o=Util.replacePath(i[0].store.fai.url),n.tracks[0].storeClass="JBrowse/Store/SeqFeature/IndexedFasta",n.tracks[0].urlTemplate=r,n.tracks[0].faiUrlTemplate=o,n.refSeqs=o;else if("JBrowse/Store/SeqFeature/TwoBit"==i[0].store.type){var s=Util.replacePath(i[0].store.blob.url);n.tracks[0].storeClass="JBrowse/Store/SeqFeature/TwoBit",n.tracks[0].urlTemplate=s,n.refSeqs=s}else if("JBrowse/Store/SeqFeature/ChromSizes"==i[0].store.type){var l=Util.replacePath(i[0].store.blob.url);delete n.tracks,n.refSeqs=l}else{r=Util.replacePath(i[0].store.fasta.url);try{if(e.statSync(r).size>1e8)return void alert("Unindexed file too large. You must have an index file (.fai) for sequence files larger than 100 MB.")}catch(e){console.error(e)}n.tracks[0].storeClass="JBrowse/Store/SeqFeature/UnindexedFasta",n.tracks[0].urlTemplate=r,n.refSeqs=r}var c=this.config.electronData;e.existsSync(c)||e.mkdirSync(c),c+="/"+i[0].label;try{e.existsSync(c)||e.mkdirSync(c),e.writeFileSync(c+"/trackList.json",JSON.stringify(n,null,2)),e.closeSync(e.openSync(c+"/tracks.conf","w")),this.saveSessionDir(c),window.location=window.location.href.split("?")[0]+"?data="+Util.replacePath(c)}catch(e){alert("Failed to save session"),console.error(e)}}})})},openFasta:function(){var e=this;this.fastaFileDialog=this.fastaFileDialog||new FastaFileDialog({browser:this}),this.fastaFileDialog.show({openCallback:function(t){return new Promise(function(i,n){var r=t.trackConfs||[],o=_slicedToArray(r,1)[0];if(!o)return n("no track configs");var a=o.store;if(!a)return n("no store config");dojo.global.require([a.type],function(r){if(/\/Unindexed/i.test(a.type)&&a.fasta&&a.fasta.size>1e8)return alert("Unindexed file too large. You must have an index file (.fai) for sequence files larger than 100 MB."),n("sequence file too large");new r(Object.assign({browser:e},a)).getRefSeqs(function(n){e.teardown();var r=new e.constructor({refSeqs:{data:n},refSeqOrder:t.refSeqOrder,dataRoot:null});r.afterMilestone("completely initialized",function(){a.name="refseqs",r.addStoreConfig(a.name,a),o.store="refseqs","JBrowse/Store/SeqFeature/ChromSizes"!==a.type&&r.publish("/jbrowse/v1/v/tracks/new",[o])}),i()},function(t){e.fatalError("Error getting refSeq: "+t),n(t)})})})}})},browserMeta:function(){var e=this.config.aboutThisBrowser||{};e.title=e.title||"JBrowse";var t=this.version;return e.description?e.description+='<div class="powered_by">Powered by <a target="_blank" href="http://jbrowse.org">JBrowse '+t+"</a>.</div>":e.description='<div class="default_about"> <img class="logo" src="'+this.resolveUrl("img/JBrowseLogo_small.png")+'"> <h1>JBrowse '+t+'</h1> <div class="tagline">A next-generation genome browser<br> built with JavaScript and HTML5.</div> <a class="mainsite" target="_blank" href="http://jbrowse.org">JBrowse website</a> <div class="gmod">JBrowse is a <a target="_blank" href="http://gmod.org">GMOD</a> project.</div> <div class="copyright">'+_package2.default.copyright+"</div>"+(Object.keys(this.plugins).length>1&&!this.config.noPluginsForAboutBox?' <div class="loaded-plugins">Loaded plugins<ul class="plugins-list">'+array.map(Object.keys(this.plugins),function(e){var t=this.plugins[e];return"<li>"+(t.url?'<a href="'+t.url+'">':"")+t.name+(t.url?"</a>":"")+(t.author?" ("+t.author+")":"")+"</li>"},this).join("")+" </ul></div>":"")+"</div>",e},registerTrackType:function(e){var t=this.getTrackTypes(),i=e.type,n=e.defaultForStoreTypes||[];e.label,t.knownTrackTypes.push(i),e.label&&(t.trackTypeLabels[i]=e.label);var r={};t.knownTrackTypes=array.filter(t.knownTrackTypes,function(e){var t=r[e];return r[e]=!0,!t}),array.forEach(n,function(e){t.trackTypeDefaults[e]=i}),this._knownTrackTypes=t},getTrackTypes:function(){return this._knownTrackTypes||(this._knownTrackTypes={trackTypeDefaults:{"JBrowse/Store/SeqFeature/BAM":"JBrowse/View/Track/Alignments2","JBrowse/Store/SeqFeature/CRAM":"JBrowse/View/Track/Alignments2","JBrowse/Store/SeqFeature/NCList":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/BigWig":"JBrowse/View/Track/Wiggle/XYPlot","JBrowse/Store/SeqFeature/VCFTabix":"JBrowse/View/Track/CanvasVariants","JBrowse/Store/SeqFeature/VCFTribble":"JBrowse/View/Track/CanvasVariants","JBrowse/Store/SeqFeature/GFF3":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/BigBed":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/GFF3Tabix":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/BED":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/BEDTabix":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/GTF":"JBrowse/View/Track/CanvasFeatures","JBrowse/Store/SeqFeature/StaticChunked":"JBrowse/View/Track/Sequence","JBrowse/Store/SeqFeature/UnindexedFasta":"JBrowse/View/Track/Sequence","JBrowse/Store/SeqFeature/IndexedFasta":"JBrowse/View/Track/Sequence","JBrowse/Store/SeqFeature/BgzipIndexedFasta":"JBrowse/View/Track/Sequence","JBrowse/Store/SeqFeature/TwoBit":"JBrowse/View/Track/Sequence"},knownTrackTypes:["JBrowse/View/Track/Alignments","JBrowse/View/Track/Alignments2","JBrowse/View/Track/FeatureCoverage","JBrowse/View/Track/SNPCoverage","JBrowse/View/Track/HTMLFeatures","JBrowse/View/Track/CanvasFeatures","JBrowse/View/Track/HTMLVariants","JBrowse/View/Track/CanvasVariants","JBrowse/View/Track/Wiggle/XYPlot","JBrowse/View/Track/Wiggle/Density","JBrowse/View/Track/Sequence"],trackTypeLabels:{}}),this._knownTrackTypes},openFileDialog:function(){this.fileDialog.show({openCallback:dojo.hitch(this,function(e){var t=e.trackConfs||[];t.length&&(array.forEach(t,function(e){var t=e.store;if(t&&"object"==(void 0===t?"undefined":_typeof(t))){delete e.store;var i=this.addStoreConfig(t.name,t);e.store=i}(t=e.histograms&&e.histograms.store)&&"object"==(void 0===t?"undefined":_typeof(t))&&(delete e.histograms.store,i=this.addStoreConfig(t.name,t),e.histograms.store=i)},this),this.publish("/jbrowse/v1/v/tracks/new",t),"openImmediately"==e.trackDisposition&&this.publish("/jbrowse/v1/v/tracks/show",t))})})},addTracks:function(e){this._addTrackConfigs(e)},replaceTracks:function(e){this._replaceTrackConfigs(e)},deleteTracks:function(e){this._deleteTrackConfigs(e)},renderGlobalMenu:function(e,t,i){this.afterMilestone("initView",function(){var n=this.makeGlobalMenu(e);if(n){t=dojo.mixin({className:e,innerHTML:'<span class="icon"></span> '+(t.text||Util.ucFirst(e)),dropDown:n,id:"dropdownbutton_"+e},t||{});var r=new dijitDropDownButton(t);dojo.addClass(r.domNode,"menu"),i.appendChild(r.domNode)}},this)},makeGlobalMenu:function(e){var t=(this._globalMenuItems||{})[e]||[];if(!t.length)return null;var i=new dijitDropDownMenu({id:"dropdownmenu_"+e,leftClickToOpen:!0});return dojo.forEach(t,function(e){i.addChild(e)}),dojo.addClass(i.domNode,"jbrowse globalMenu"),dojo.addClass(i.domNode,e),i.startup(),i},addGlobalMenuItem:function(e,t){this._globalMenuItems||(this._globalMenuItems={}),this._globalMenuItems[e]||(this._globalMenuItems[e]=[]),this._globalMenuItems[e].push(t)},_initEventRouting:function(){var e=this;e.subscribe("/jbrowse/v1/v/store/new",function(t){array.forEach(t,function(t){var i=(t=lang.mixin({},t)).name;delete t.name,e.addStoreConfig(i,t)})}),e.subscribe("/jbrowse/v1/v/tracks/hide",function(t){e.publish("/jbrowse/v1/c/tracks/hide",t)}),e.subscribe("/jbrowse/v1/v/tracks/show",function(t){e.addRecentlyUsedTracks(dojo.map(t,function(e){return e.label})),e.publish("/jbrowse/v1/c/tracks/show",t)}),e.subscribe("/jbrowse/v1/v/tracks/new",function(t){e.addTracks(t),e.publish("/jbrowse/v1/c/tracks/new",t),e.publish("/jbrowse/v1/n/tracks/new",t)}),e.subscribe("/jbrowse/v1/v/tracks/replace",function(t){e.replaceTracks(t),e.publish("/jbrowse/v1/c/tracks/replace",t),e.publish("/jbrowse/v1/n/tracks/replace",t)}),e.subscribe("/jbrowse/v1/v/tracks/delete",function(t){e.deleteTracks(t),e.publish("/jbrowse/v1/c/tracks/delete",t),e.publish("/jbrowse/v1/n/tracks/delete",t)}),e.subscribe("/jbrowse/v1/v/tracks/pin",function(t){e.publish("/jbrowse/v1/c/tracks/pin",t),e.publish("/jbrowse/v1/n/tracks/pin",t)}),e.subscribe("/jbrowse/v1/v/tracks/unpin",function(t){e.publish("/jbrowse/v1/c/tracks/unpin",t),e.publish("/jbrowse/v1/n/tracks/unpin",t)})},reportUsageStats:function(){if(!this.config.suppressUsageStatistics){var e=this._calculateClientStats();this._reportGoogleUsageStats(e),this._reportCustomUsageStats(e)}},_reportGoogleUsageStats:function(e){var t=["UA-7115575-2"];if(this.config.googleAnalytics){var i=this.config.googleAnalytics.accounts;t&&!lang.isArray(i)&&(i=i.replace(/^\s*|\s*$/,"").split(/\s*,\s*/)),t.push.apply(t,i)}var n="(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ ";n+="(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), ",n+="m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) ",n+="})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');",t.forEach(function(e,t){n+="UA-7115575-2"==e?"ga('create', '"+e+"', 'auto', 'jbrowseTracker');":"ga('create', '"+e+"', 'auto', 'customTracker"+t+"');"}),t.forEach(function(t,i){if("UA-7115575-2"==t){var r={};"tracks-count refSeqs-count refSeqs-avgLen ver loadTime electron plugins".split(/\s+/).forEach(function(t,i){r["dimension"+(i+1)]=e[t]}),r.metric1=Math.round(1e3*e.loadTime),n+="ga('jbrowseTracker.send', 'pageview',"+JSON.stringify(r)+");"}else n+="ga('customTracker"+i+".send', 'pageview');"});var r=document.createElement("script");r.innerHTML=n,document.getElementsByTagName("head")[0].appendChild(r)},_reportCustomUsageStats:function(e){var t="https";void 0!==this.config.clientReport&&void 0!==this.config.clientReport.protocol&&(t=this.config.clientReport.protocol);var i=t+"://jbrowse.org/analytics/clientReport?"+dojo.objectToQuery(e);dojo.create("img",{style:{display:"none"},src:i},document.body)},getStore:function(e,t){if(!t)throw"invalid arguments";var i=this._storeCache||{};this._storeCache=i;var n=i[e];if(n)return n.refCount++,void t(n.store);var r=this.config.stores[e];if(!r)return console.warn("store '"+e+"' not found"),void t(null);var o=r.type;if(!o)return console.warn("store "+e+" has no type defined"),void t(null);dojo.global.require([o],dojo.hitch(this,function(i){var n={};dojo.mixin(n,r),dojo.mixin(n,{config:r,browser:this,refSeq:this.refSeq});var o=new i(n);(void 0===n.storeCache||!1!==n.storeCache)&&(this._storeCache[e]={refCount:1,store:o}),t(o),t=void 0}))},uniqCounter:0,addStoreConfig:function(e,t){if(e=e||"addStore"+this.uniqCounter++,this.config.stores||(this.config.stores={}),this._storeCache||(this._storeCache={}),this.config.stores[e]||this._storeCache[e])throw"store "+e+" already exists!";return this.config.stores[e]=t,e},clearStores:function(){this._storeCache={}},releaseStore:function(e){var t=this._storeCache[e];t&&!--t.refCount&&delete this._storeCache[e]},_calculateClientStats:function(){var e=screen||window.screen,t=new Date,i={ver:this.version||"dev","refSeqs-count":this.refSeqOrder.length,"refSeqs-avgLen":this.refSeqOrder.length?dojof.reduce(dojo.map(this.refSeqOrder,function(e){var t=this.allRefs[e];return t?t.end-t.start:0},this),"+"):null,"tracks-count":this.config.tracks.length,plugins:dojof.keys(this.plugins).sort().join(","),"scn-h":e?e.height:null,"scn-w":e?e.width:null,"win-h":document.body.offsetHeight,"win-w":document.body.offsetWidth,"el-h":this.container.offsetHeight,"el-w":this.container.offsetWidth,t:t.getTime()/1e3,electron:Util.isElectron(),tzoffset:t.getTimezoneOffset(),loadTime:(t.getTime()-this.startTime)/1e3};return dojo.forEach(this.config.tracks,function(e){var t="track-types-"+e.type||!1;i[t]=(i[t]||0)+1}),i},publish:function(){return this.config.logMessages&&console.log(arguments),topic.publish.apply(topic,arguments)},subscribe:function(){this._uniqueSubscriptionId=this._uniqueSubscriptionId||0,this._subscription=this._subscription||{};var e=++this._uniqueSubscriptionId,t=topic.subscribe.apply(topic,arguments),i=this;return this._subscription[e]=t,function(e){return{remove:function(){delete i._subscription[e],t.remove()}}}(e)},onResize:function(){this.navbox&&(this.view.locationTrapHeight=dojo.marginBox(this.navbox).h)},getRecentlyUsedTracks:function(){return dojo.fromJson(this.cookie("recentTracks")||"[]")},addRecentlyUsedTracks:function(e){var t=Util.uniq(dojo.map(e,function(e){return{label:e,time:Math.round(new Date/1e3)}},this).concat(dojo.fromJson(this.cookie("recentTracks"))||[]),function(e){return e.label}).slice(0,this.config.maxRecentTracks||10);return this.cookie("recentTracks",t,{expires:365}),t},_milestoneFunction:function(e,t){var i=Array.prototype.slice.call(arguments,2),n=this._getDeferred(e);i.unshift(n);try{t.apply(this,i)}catch(e){console.error(e,e.stack),n.reject(e)}return n},_getDeferred:function(e){return this._deferred||(this._deferred={}),this._deferred[e]||(this._deferred[e]=function(){var e=new Deferred;return e.then(null,lang.hitch(this,"fatalError")),e}.call(this))},afterMilestone:function(e,t,i){return this._getDeferred(e).then(function(){try{t.call(i||this)}catch(e){console.error(e instanceof Error?e:String(e),e.stack)}})},passMilestone:function(e,t){return this._getDeferred(e).resolve(t)},reachedMilestone:function(e){return this._getDeferred(e).isResolved()},loadConfig:function(){return this._milestoneFunction("loadConfig",function(e){if(this.config.dataRoot&&"data"!==this.config.dataRoot&&!this.config.allowCrossOriginDataRoot){var t=url.parse(url.resolve(window.location.href,this.config.dataRoot));if(t.host){var i=url.parse(window.location.href);if(t.host!==i.host||t.protocol!==i.protocol)throw new Error("Invalid JBrowse dataRoot setting. For security, absolute URLs are not allowed. Set `allowCrossOriginDataRoot` to true to disable this security check.")}}new ConfigManager({bootConfig:this.config,defaults:this._configDefaults(),browser:this}).getFinalConfig().then(dojo.hitch(this,function(t){var i=this;this.config=t,this.config.documentDomain&&(document.domain=this.config.documentDomain);var n=t.tracks||[];delete t.tracks,this._addTrackConfigs(n),["show_tracklist","show_nav","show_overview","show_menu","show_fullviewlink","show_tracklabels","update_browser_title"].forEach(function(e){i.config[e]=Util.coerceBoolean(i.config[e])}),this.config.tracks||(this.config.tracks=[]),e.resolve({success:!0})}),e.reject)})},_addTrackConfigs:function(e){return this.config.tracks||(this.config.tracks=[]),this.trackConfigsByName||(this.trackConfigsByName={}),array.forEach(e,function(e){this.trackConfigsByName[e.label]=e,this.config.tracks.push(e)},this),e},_replaceTrackConfigs:function(e){this.trackConfigsByName||(this.trackConfigsByName={}),array.forEach(e,function(e){this.trackConfigsByName[e.label]||console.warn("track with label "+e.label+" does not exist yet. creating a new one."),this.trackConfigsByName[e.label]=dojo.mixin(this.trackConfigsByName[e.label]||{},e)},this)},_deleteTrackConfigs:function(e){this.config.tracks=array.filter(this.config.tracks||[],function(t){return!array.some(e,function(e){return e.label==t.label})}),array.forEach(e,function(e){this.trackConfigsByName[e.label]?delete this.trackConfigsByName[e.label]:console.warn("track "+e.label+" does not exist, cannot delete")},this)},_configDefaults:function(){return{tracks:[],containerID:"GenomeBrowser",dataRoot:"data",show_tracklist:!0,show_nav:!0,show_menu:!0,show_overview:!0,show_fullviewlink:!0,update_browser_title:!0,updateBrowserURL:!0,refSeqs:"{dataRoot}/seq/refSeqs.json",include:["jbrowse.conf","jbrowse_conf.json"],nameUrl:"{dataRoot}/names/root.json",datasets:{_DEFAULT_EXAMPLES:!0,volvox:{url:"?data=sample_data/json/volvox",name:"Volvox Example"},modencode:{url:"?data=sample_data/json/modencode",name:"MODEncode Example"},yeast:{url:"?data=sample_data/json/yeast",name:"Yeast Example"}},highlightSearchedRegions:!1,highResolutionMode:"auto"}},getRefSeqNumber:function(e){return this.allRefs[e].id},getRefSeqById:function(e){return this.refSeqsById[e]},addRefseqs:function(e){var t=this;this.allRefs||(this.allRefs={}),e.forEach(function(e,i){e.id=i,t.allRefs[e.name]=e}),this.refSeqsById=e,this.refSeqOrder=function(){var t;if(this.config.refSeqOrder){if("by_list"==this.config.refSeqOrder&&this.config.refSeqOrderList){if(lang.isArray(this.config.refSeqOrderList))return this.config.refSeqOrderList;if("string"==typeof this.config.refSeqOrderList)return this.config.refSeqOrderList.split(/\s*,\s*/)}(t=e.slice(0)).sort("length"==this.config.refSeqOrder||"length ascending"==this.config.refSeqOrder?function(e,t){return e.length-t.length}:"length descending"==this.config.refSeqOrder?function(e,t){return t.length-e.length}:"name descending"==this.config.refSeqOrder?function(e,t){return t.name.localeCompare(e.name)}:function(e,t){return e.name.localeCompare(t.name)})}else t=e;return array.map(t,function(e){return e.name})}.call(this);var i=this.cookie("refseq");this.refSeq=this.refSeq||this.allRefs[i]||this.allRefs[this.refSeqOrder[0]]},getRefSeq:function(e){return"string"!=typeof e?this.refSeq||void 0:this.allRefs[e]},onFineMove:function(e,t){if(this.locationTrap){var i=this.view.ref.end-this.view.ref.start,n=Math.round((e-this.view.ref.start)/i*this.view.overviewBox.w+this.view.overviewBox.l),r=Math.round((t-this.view.ref.start)/i*this.view.overviewBox.w+this.view.overviewBox.l);dojo.style(this.locationTrap,{width:r-n+"px",borderBottomWidth:this.view.locationTrapHeight+"px",borderLeftWidth:n+"px",borderRightWidth:this.view.overviewBox.w-r+"px"})}},initTrackMetadata:function(e){return this._milestoneFunction("initTrackMetadata",function(e){var t=dojo.map((this.config.trackMetadata||{}).sources||[],function(e){var t=e.url||"trackMeta.csv",i=e.type||(/\.csv$/i.test(t)?"csv":/\.js(on)?$/i.test(t)?"json":"csv"),n=e.class||{csv:"dojox/data/CsvStore",json:"dojox/data/JsonRestStore"}[i];return n?{class_:n,url:t}:(console.error("No store class found for type '"+i+"', cannot load track metadata from URL "+t),null)});dojo.global.require(Array.prototype.concat.apply(["JBrowse/Store/TrackMetaData"],dojo.map(t,function(e){return e.class_})),dojo.hitch(this,function(i){for(var n=[],r=1;r<arguments.length;r++)n.push(new arguments[r]({url:t[r-1].url}));this.trackMetaDataStore=new i(dojo.mixin(dojo.clone(this.config.trackMetadata||{}),{trackConfigs:this.config.tracks,browser:this,metadataStores:n})),e.resolve({success:!0})}))})},createTrackList:function(){return this._milestoneFunction("createTrack",function(e){var t=this.config.show_tracklist?(this.config.trackSelector||{}).type?this.config.trackSelector.type:"Hierarchical":"Null";/\//.test(t)||(t="JBrowse/View/TrackList/"+t),dojo.global.require([t],dojo.hitch(this,function(t){this.trackListView=new t(dojo.mixin(dojo.clone(this.config.trackSelector)||{},{trackConfigs:this.config.tracks,browser:this,trackMetaData:this.trackMetaDataStore})),this.setGlobalKeyboardShortcut("t",this.trackListView,"toggle"),this.subscribe("/jbrowse/v1/n/tracks/visibleChanged",dojo.hitch(this,function(){this.cookie("tracks",this.view.visibleTrackNames().join(","),{expires:60})})),e.resolve({success:!0})}))})},onVisibleTracksChanged:function(){},showRegion:function(e){var t=Math.round(.2*(e.end-e.start));this.navigateToLocation({ref:e.ref,start:e.start-t,end:e.end+t}),e.tracks&&this.showTracks(array.map(e.tracks,function(e){return e&&(e.label||e.name)||e}))},navigateTo:function(e,t){var i=this;this.afterMilestone("initView",function(){i.searchNames(e).then(function(n){if(!n){var r=i.findReferenceSequence(e);if(r)i.navigateToLocation({ref:r.name});else{var o="string"==typeof e?Util.parseLocString(e):e;if(o&&"start"in o&&"end"in o)return o.initial=t,void i.navigateToLocation(o);new InfoDialog({title:"Not found",content:'Not found: <span class="locString">'+e+"</span>",className:"notfound-dialog"}).show(),i.view.pxPerBp||i.navigateToLocation(i.refSeq)}}})})},findReferenceSequence:function(e){for(var t in this.allRefs)if(!this.compareReferenceNames(t,e))return this.allRefs[t];return null},navigateToLocation:function(e){this.afterMilestone("initView",dojo.hitch(this,function(){var t=e.ref?this.findReferenceSequence(e.ref.name||e.ref):this.refSeq;if(e.initial&&!t&&(new InfoDialog({title:"Not found",content:'Not found: <span class="locString">'+Util.assembleLocString(e,!1)+"</span>",className:"notfound-dialog"}).show(),t=this.refSeq),t){if(e.ref=t.name,"ref"in e&&!("start"in e&&"end"in e)){var i;try{(i=Util.parseLocString(dojo.fromJson(this.cookie("location"))[e.ref].l)).ref=e.ref}catch(e){}if(i)e=i;else{var n=t.end-t.start;e.start=t.start+.1*n,e.end=t.start+.9*n}}if(e.start=Math.max(0,e.start||0),e.end=Math.max(e.start,Math.min(t.end,e.end||t.end)),e.ref==this.refSeq.name)this.view.setLocation(this.refSeq,e.start,e.end),this._updateLocationCookies(e);else{var r=this.view.visibleTrackNames();this.refSeq=this.allRefs[e.ref],this.clearStores(),this.view.setLocation(this.refSeq,e.start,e.end),this._updateLocationCookies(e),this.showTracks(r)}}}))},searchNames:function(e){var t=this;return this._getDeferred("loadNames").then(function(){return t.nameStore.query({name:e}).then(function(i){if(!i.length)return!1;for(var n,r=0;r<i.length;r++)i[r].name==e&&(n=i[r]);if(!n)for(r=0;r<i.length;r++)i[r].name.toLowerCase()==e.toLowerCase()&&(n=i[r]);return n||(n=i[0]),n.location?t.showRegionAfterSearch(n.location):n.multipleLocations&&(t.view.pxPerBp||t.navigateToLocation(t.refSeq),new LocationChoiceDialog({browser:t,locationChoices:n.multipleLocations,title:"Choose "+n.name+" location",prompt:'"'+n.name+'" is found in multiple locations. Please choose a location to view.'}).show()),!0},function(e){return console.error(e),new InfoDialog({title:"Error",content:"Error reading from name store."}).show(),!1})})},showTracks:function(e){this.afterMilestone("initView",dojo.hitch(this,function(){if("string"==typeof e&&(e=e.split(",")),e){var t=dojo.filter(dojo.map(e,function(e){return this.trackConfigsByName[e]},this),function(e){return e});this.publish("/jbrowse/v1/c/tracks/show",t),this.publish("/jbrowse/v1/n/tracks/visibleChanged")}}))},setGlobalKeyboardShortcut:function(e){this.globalKeyboardShortcuts[e]&&console.warn("WARNING: JBrowse global keyboard shortcut '"+e+"' redefined");var t=dojo.hitch.apply(dojo,Array.prototype.slice.call(arguments,1));this.globalKeyboardShortcuts[e]=t},globalKeyHandler:function(e){if(!dijitFocus.curNode){var t=this.globalKeyboardShortcuts[e.keyChar||String.fromCharCode(e.charCode||e.keyCode)];t&&(t.call(this),e.stopPropagation())}},makeSnapLink:function(){return this.config.dataRoot,new dijitButton({className:"share",innerHTML:"Screenshot",title:"share this view",onClick:function(){var e=electronRequire("fs"),t=electronRequire("electron").remote;t.dialog.showSaveDialog({defaultPath:"*/screenshot.png"},function(i){i&&t.getCurrentWindow().capturePage(function(t){return e.writeFileSync(i,t.toPNG())})})}}).domNode},makeShareLink:function(){if("share_link"in this.config&&!this.config.share_link)return null;var e=this,t="#",i=new dijitButton({className:"share",innerHTML:'<span class="icon"></span> Share',title:"share this view",onClick:function(){return o.value=t,a.href=t,s.show(),o.focus(),o.select(),r.style.display="block",!1}}),n=dojo.create("div",{innerHTML:"Paste this link in <b>email</b> or <b>IM</b>"}),r=dojo.create("div",{className:"copyReminder",innerHTML:"Press CTRL-C to copy"}),o=dojo.create("input",{type:"text",value:t,size:50,readonly:"readonly",onclick:function(){this.select(),r.style.display="block"},onblur:function(){r.style.display="none"}}),a=dojo.create("a",{innerHTML:"Preview",target:"_blank",href:t,style:{display:"block",float:"right"}},n),s=new dijitDialog({className:"sharePane",title:"Share this view",draggable:!1,content:[n,o,r],autofocus:!1}),l=function(){t=e.makeCurrentViewURL()};return dojo.connect(this,"onCoarseMove",l),this.subscribe("/jbrowse/v1/n/tracks/visibleChanged",l),this.subscribe("/jbrowse/v1/n/globalHighlightChanged",l),i.domNode},makeCurrentViewURL:function(e){var t=_typeof(this.config.shareURL);return"function"==t?this.config.shareURL.call(this,this):"string"==t?this.config.shareURL:"".concat(window.location.protocol,"//",window.location.host,window.location.pathname,"?",dojo.objectToQuery(dojo.mixin(dojo.mixin({},this.config.queryParams||{}),dojo.mixin({loc:this.view.visibleRegionLocString(),tracks:this.view.visibleTrackNames().join(","),highlight:(this.getHighlight()||"").toString()},e||{}))))},makeFullViewLink:function(){var e=this,t=dojo.create("a",{className:"topLink",href:window.location.href,target:"_blank",title:"View in full-screen browser",innerHTML:"Full-screen view"}),i=this.config.makeFullViewURL||this.makeCurrentViewURL,n=function(){t.href=i.call(e,e)};return dojo.connect(this,"onCoarseMove",n),this.subscribe("/jbrowse/v1/n/tracks/visibleChanged",n),this.subscribe("/jbrowse/v1/n/globalHighlightChanged",n),t},onCoarseMove:function(e,t){var i={start:e,end:t,ref:this.refSeq.name},n="";if(this.locationBox){(n=this.locationBox.get("value")).length&&(n=' "'+n+'"');var r=Util.assembleLocStringWithLength(i);this.locationBox.set("value",r,!1),this.locationBox.set("placeholder","search features, IDs"),this.goButton.set("disabled",!0)}var o=dojo.byId("location-info");if(o){var a=Util.assembleLocStringWithLength(i);html.set(o,a+n),this.locationBox.set("value","",!1)}this._updateRefSeqSelectBox(),this.reachedMilestone("completely initialized")&&this._updateLocationCookies(i),this.publish("/jbrowse/v1/n/navigate",i)},_updateRefSeqSelectBox:function(){this.refSeqSelectBox&&(array.some(this.refSeqSelectBox.getOptions(),function(e){return e.value==this.refSeq.name},this)||this.refSeqSelectBox.set("options",this.refSeqSelectBox.getOptions().concat({label:this.refSeq.name,value:this.refSeq.name})),this.refSeqSelectBox.set("value",this.refSeq.name,!1))},_updateLocationCookies:function(e){var t="string"==typeof e?e:Util.assembleLocString(e,!1),i=dojo.fromJson(this.cookie("location"))||{_version:1};i._version||(i=this._migrateLocMap(i)),i[this.refSeq.name]={l:t,t:Math.round((new Date).getTime()/1e3)-1340211510},i=this._limitLocMap(i,this.config.maxSavedLocations||10),this.cookie("location",dojo.toJson(i),{expires:60}),this.cookie("refseq",this.refSeq.name)},_migrateLocMap:function(e){var t={_version:1};for(var i in e)t[i]={l:e[i],t:0};return t},_limitLocMap:function(e,t){var i=dojof.keys(e);if(i.length<=t)return e;e=dojo.clone(e);var n=i.sort(function(t,i){return e[i].t-e[t].t}).slice(t-1);return dojo.forEach(n,function(t){delete e[t]}),e},cookie:function(e,t){var i=(e=this.config.containerID+"-"+e)+"-"+(this.config.dataset_id||"");"object"==(void 0===t?"undefined":_typeof(t))&&(t=dojo.toJson(t));var n=this.config.cookieSizeLimit||1200;if(null!=t&&t.length>n)return console.warn("not setting cookie '"+i+"', value too big ("+t.length+" > "+n+")"),localStorage.getItem(i);if(null!=t)try{return localStorage.setItem(i,t)}catch(e){}return localStorage.getItem(i)||dojo.cookie(e)},createNavBox:function createNavBox(parent){var thisB=this,align="center",navbox=dojo.create("div",{id:"navbox",style:{"text-align":align}},parent),locationTrapContainer=dojo.create("div",{className:"locationTrapContainer"},navbox);this.locationTrap=dojo.create("div",{className:"locationTrap"},locationTrapContainer);var four_nbsp=String.fromCharCode(160);four_nbsp=four_nbsp+four_nbsp+four_nbsp+four_nbsp,navbox.appendChild(document.createTextNode(four_nbsp));var moveLeft=document.createElement("img");moveLeft.src=this.resolveUrl("img/Empty.png"),moveLeft.id="moveLeft",moveLeft.className="icon nav",navbox.appendChild(moveLeft),dojo.connect(moveLeft,"click",this,function(e){dojo.stopEvent(e),this.view.slide(.9)});var moveRight=document.createElement("img");moveRight.src=this.resolveUrl("img/Empty.png"),moveRight.id="moveRight",moveRight.className="icon nav",navbox.appendChild(moveRight),dojo.connect(moveRight,"click",this,function(e){dojo.stopEvent(e),this.view.slide(-.9)}),navbox.appendChild(document.createTextNode(four_nbsp));var bigZoomOut=document.createElement("img");bigZoomOut.src=this.resolveUrl("img/Empty.png"),bigZoomOut.id="bigZoomOut",bigZoomOut.className="icon nav",navbox.appendChild(bigZoomOut),dojo.connect(bigZoomOut,"click",this,function(e){dojo.stopEvent(e),this.view.zoomOut(void 0,void 0,2)});var zoomOut=document.createElement("img");zoomOut.src=this.resolveUrl("img/Empty.png"),zoomOut.id="zoomOut",zoomOut.className="icon nav",navbox.appendChild(zoomOut),dojo.connect(zoomOut,"click",this,function(e){dojo.stopEvent(e),this.view.zoomOut()});var zoomIn=document.createElement("img");zoomIn.src=this.resolveUrl("img/Empty.png"),zoomIn.id="zoomIn",zoomIn.className="icon nav",navbox.appendChild(zoomIn),dojo.connect(zoomIn,"click",this,function(e){dojo.stopEvent(e),this.view.zoomIn()});var bigZoomIn=document.createElement("img");bigZoomIn.src=this.resolveUrl("img/Empty.png"),bigZoomIn.id="bigZoomIn",bigZoomIn.className="icon nav",navbox.appendChild(bigZoomIn),dojo.connect(bigZoomIn,"click",this,function(e){dojo.stopEvent(e),this.view.zoomIn(void 0,void 0,2)}),navbox.appendChild(document.createTextNode(four_nbsp));var locationMode="",locationWidth="40ex";"separate"===this.config.locationBox&&(locationMode="separate-location-box",locationWidth="25ex");var searchbox=dojo.create("span",{id:"search-box",class:locationMode},navbox),refSeqSelectBoxPlaceHolder=dojo.create("span",{id:"search-refseq"},searchbox);return this.locationBox=new dijitComboBox({id:"location",name:"location",style:{width:locationWidth},maxLength:400,searchAttr:"name",title:"Enter a chromosomal position, symbol or ID to search"},dojo.create("input",{},searchbox)),this.afterMilestone("loadNames",dojo.hitch(this,function(){this.nameStore&&this.locationBox.set("store",this.nameStore)})),this.locationBox.focusNode.spellcheck=!1,dojo.query("div.dijitArrowButton",this.locationBox.domNode).orphan(),dojo.connect(this.locationBox.focusNode,"keydown",this,function(e){e.keyCode==keys.ESCAPE?this.locationBox.set("value",""):e.keyCode==keys.ENTER?(this.locationBox.closeDropDown(!1),this.navigateTo(this.locationBox.get("value")),this.goButton.set("disabled",!0),dojo.stopEvent(e)):this.goButton.set("disabled",!1)}),dojo.connect(navbox,"onselectstart",function(e){return e.stopPropagation(),!0}),function(){var dropDownProto=eval(this.locationBox.dropDownClass).prototype,oldCreateOption=dropDownProto._createOption;dropDownProto._createOption=function(e){var t=oldCreateOption.apply(this,arguments);return e.hitLimit&&dojo.addClass(t,"moreMatches"),t};var oldOnClick=dropDownProto.onClick;dropDownProto.onClick=function(e){if(dojo.hasClass(e,"moreMatches"))return null;var t=oldOnClick.apply(this,arguments);return thisB.navigateTo(thisB.locationBox.get("value")),t}}.call(this),this.goButton=new dijitButton({label:"Go",onClick:dojo.hitch(this,function(e){this.navigateTo(this.locationBox.get("value")),this.goButton.set("disabled",!0),dojo.stopEvent(e)}),id:"search-go-btn"},dojo.create("button",{},searchbox)),this.highlightButtonPreviousState=!1,"separate"===this.config.locationBox&&(this.locationInfoBox=domConstruct.place("<div id='location-info'>location</div>",navbox)),this.highlightButton=new dojoxTriStateCheckBox({title:"Highlight a Region",id:"highlight-btn",states:[!1,!0,"mixed"],onChange:function(){if(1==this.get("checked"))thisB.view._rubberStop(),thisB.view.behaviorManager.swapBehaviors("normalMouse","highlightingMouse");else if(0==this.get("checked")){var e=thisB.getHighlight();e&&(thisB.clearHighlight(),thisB.view.redrawRegion(e))}else 1!=thisB.highlightButtonPreviousState?thisB.highlightButton.set("checked",!1):thisB.highlightButtonPreviousState=!1,thisB.view._rubberStop(),thisB.view.behaviorManager.swapBehaviors("highlightingMouse","normalMouse")}},dojo.create("button",{id:"highlight-btn"},navbox)),this.subscribe("/jbrowse/v1/n/globalHighlightChanged",function(){thisB.highlightButton.set("checked",!1)}),this.afterMilestone("loadRefSeqs",dojo.hitch(this,function(){if(this.refSeqOrder&&this.refSeqOrder.length){for(var e=this.config.refSeqSelectorMaxSize||30,t=Math.min(e,this.refSeqOrder.length),i=[],n=0;n<t;n++)i.push({label:this.refSeqOrder[n],value:this.refSeqOrder[n]});var r="(first "+t+" ref seqs)";this.refSeqOrder.length>e&&i.push({label:r,value:r,disabled:!0}),this.refSeqSelectBox=new dijitSelectBox({name:"refseq",value:this.refSeq?this.refSeq.name:null,options:i,onChange:dojo.hitch(this,function(e){e!=r?e!=this.refSeq.name&&this.navigateToLocation({ref:e}):this.refSeqSelectBox.set("value",this.refSeq.name)})}).placeAt(refSeqSelectBoxPlaceHolder)}var o=this.config.locationBoxLength||function(){if(!this.refSeqOrder.length)return 20;var e=this.refSeqOrder.length<1e3&&function(){var e;return array.forEach(this.refSeqOrder,function(t){var i=this.allRefs[t];i.length||(i.length=i.end-i.start+1),(!e||e.length<i.length)&&(e=i)},this),e}.call(this)||this.refSeqOrder.length&&this.allRefs[this.refSeqOrder[this.refSeqOrder.length-1]]||20;return Util.assembleLocStringWithLength({ref:e.name,start:e.end-1,end:e.end,length:e.length}).length}.call(this)||20;this.locationBox.domNode.style.width=o+"ex"})),navbox},getHighlight:function(){return this._highlight||null},getBookmarks:function(){return this.config.bookmarkService?request(this.config.bookmarkService+"?"+ioQuery.objectToQuery({sequence:this.refSeq.name,organism:this.config.dataset_id}),{handleAs:"json"}):this.config.bookmarks},setHighlight:function(e){return e&&e instanceof Location?this._highlight=e:e&&(this._highlight=new Location(e)),this.publish("/jbrowse/v1/n/globalHighlightChanged",[this._highlight]),this.getHighlight()},_updateHighlightClearButton:function(){var e=!!this._highlight;this._highlightClearButton&&this._highlightClearButton.set("disabled",!e),this.highlightButton&&(this.highlightButton.set("checked",!!e&&"mixed"),this.highlightButtonPreviousState=e)},clearHighlight:function(){this._highlight&&(delete this._highlight,this.publish("/jbrowse/v1/n/globalHighlightChanged",[]))},setHighlightAndRedraw:function(e){e=this.regularizeLocation(e);var t=this.getHighlight();t&&this.view.hideRegion(t),this.view.hideRegion(e),this.setHighlight(e),this.view.showVisibleBlocks(!1)},showRegionAfterSearch:function(e){if(e=this.regularizeLocation(e),this.config.highlightSearchedRegions){var t=this.getHighlight();t&&this.view.hideRegion(t),this.view.hideRegion(e),this.setHighlight(e)}this.showRegion(e)},showRegionWithHighlight:function(){return this.showRegionAfterSearch.apply(this,arguments)},teardown:function(){for(var e in this._subscription)this._subscription[e].remove();for(this.containerWidget&&this.containerWidget.destroyRecursive(!0);this.container&&this.container.firstChild;)this.container.removeChild(this.container.firstChild)}})}.apply(null,__WEBPACK_AMD_DEFINE_ARRAY__),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},1317:function(e,t,i){var n;void 0===(n=function(){return function(e){var t,i,n={},r=0,o={css:[],js:[]},a=e.styleSheets;function s(t,i){var n,r=e.createElement(t);for(n in i)i.hasOwnProperty(n)&&r.setAttribute(n,i[n]);return r}function l(e){var t,i,a=n[e];a&&(t=a.callback,(i=a.urls).shift(),r=0,i.length||(t&&t.call(a.context,a.obj),n[e]=null,o[e].length&&c(e)))}function c(r,a,c,d,f){var g,p,b,m,v,w,y=function(){l(r)},k="css"===r,_=[];if(t||function(){var i=navigator.userAgent;((t={async:!0===e.createElement("script").async}).webkit=/AppleWebKit\//.test(i))||(t.ie=/MSIE/.test(i))||(t.opera=/Opera/.test(i))||(t.gecko=/Gecko\//.test(i))||(t.unknown=!0)}(),a)if(a="string"==typeof a?[a]:a.concat(),k||t.async||t.gecko||t.opera)o[r].push({urls:a,callback:c,obj:d,context:f});else for(g=0,p=a.length;g<p;++g)o[r].push({urls:[a[g]],callback:g===p-1?c:null,obj:d,context:f});if(!n[r]&&(m=n[r]=o[r].shift())){for(i||(i=e.head||e.getElementsByTagName("head")[0]),g=0,p=(v=m.urls).length;g<p;++g)w=v[g],k?b=t.gecko?s("style"):s("link",{href:w,rel:"stylesheet"}):(b=s("script",{src:w})).async=!1,b.className="lazyload",b.setAttribute("charset","utf-8"),t.ie&&!k?b.onreadystatechange=function(){/loaded|complete/.test(b.readyState)&&(b.onreadystatechange=null,y())}:k&&(t.gecko||t.webkit)?t.webkit?(m.urls[g]=b.href,u()):(b.innerHTML='@import "'+w+'";',h(b)):b.onload=b.onerror=y,_.push(b);for(g=0,p=_.length;g<p;++g)i.appendChild(_[g])}}function h(e){var t;try{t=!!e.sheet.cssRules}catch(i){return void((r+=1)<200?setTimeout(function(){h(e)},50):t&&l("css"))}l("css")}function u(){var e,t=n.css;if(t){for(e=a.length;--e>=0;)if(a[e].href===t.urls[0]){l("css");break}r+=1,t&&(r<200?setTimeout(u,50):l("css"))}}return{css:function(e,t,i,n){c("css",e,t,i,n)},js:function(e,t,i,n){c("js",e,t,i,n)}}}(document)}.apply(null,[]))||(e.exports=n)},1324:function(e,t,i){var n=i(597);(t=e.exports=i(586)(!1)).i(i(1325),""),t.i(i(1410),""),t.i(i(1412),""),t.i(i(1413),""),t.push([e.i,'/* base CSS environment, with dojo and some resetting */\n.jbrowse, .dijitDialog, .dijitMenu {\n color: black;\n background: white;\n font-size: 12px;\n font-family: Univers,Trebuchet MS,Helvetica,Arial,sans-serif;\n /*\n\tdojo.css\n\tBaseline CSS file for general usage.\n\n\tThis file is intended to be a "quick and dirty" stylesheet you can use to give\n\ta straight-up web page some basic styling without having to do the dirty work\n\tyourself. It includes a modified version of YUI\'s reset.css (we pulled some\n\tof the list reset definitions, among other things), and then provides some very\n\tbasic style rules to be applied to general HTML elements.\n\n\tThis stylesheet is NOT intended to serve as the foundation for more complex things--\n\tincluding the use of a TABLE for layout purposes. The table definitions in this\n\tfile make the assumption that you will be using tables for thier declared purpose:\n\tdisplaying tabular data.\n\n\tIf you are looking for a baseline stylesheet using tables for grid layout, you will\n\tneed to supply your own layout rules to override the ones in this stylesheet.\n\n\tApplications using Dojo will function correctly without including this\n\tfile, but it should provide sane defaults for many common things that page\n\tauthors often need to set up manually.\n\n\tThe Dojo Core uses this stylesheet to quickly style HTML-based tests and demos. Feel\n\tfree to use it as you will.\n*/\n /*****************************************************************************************/\n /*\n\tThe below are borrowed from YUI\'s reset style sheets for pages and fonts.\n\tWe\'ve verified w/ the YUI development team that these are entirely\n\tcopyright Yahoo, written entirely by Nate Koechley and Matt Sweeney without\n\texternal contributions.\n\n\tCopyright (c) 2007, Yahoo! Inc. All rights reserved.\n\tCode licensed under the BSD License:\n\thttp://developer.yahoo.net/yui/license.txt\n\tversion: 2.2.1\n*/\n /* End YUI imported code. */\n /*****************************************************************************************/\n /*\n\tBegin Dojo additions.\n\n\tStyle definitions, based loosely on the Dijit Tundra theme.\n\tRelative unit calculations based on "Compose to a Vertical Rhythm",\n\tby Richard Rutter (http://24ways.org/2006/compose-to-a-vertical-rhythm)\n\n\tIf changing the font size, make sure you do it in both\n\tpercent and px (% for IE, px for everything else).\n\t% value based on default size of 16px (in most browsers).\n\tSo if you want the default size to be 14px, set the\n\t% to 87% (14 / 16 = 0.875).\n\n\tTypical values:\n\t10px: 62.5%\n\t11px: 69% (68.75)\n\t12px: 75%\n\t13px: 81.25%\n\t14px: 87.5%\n\t16px: 100%\n\n\tDefault: 12px\n*/\n /* Headings */\n /* paragraphs, quotes and lists */\n /* pre and code */\n /*\n\tTables\n\n\tNote that these table definitions make the assumption that you are using tables\n\tto display tabular data, and NOT using tables as layout mechanisms. If you are\n\tusing tables for layout, you will probably want to override these rules with\n\tmore specific ones.\n\n\tThese definitions make tabular data look presentable, particularly when presented\n\tinline with paragraphs.\n*/ }\n .jbrowse table, .jbrowse tbody, .jbrowse th, .jbrowse tr, .jbrowse td, .dijitDialog table, .dijitDialog tbody, .dijitDialog th, .dijitDialog tr, .dijitDialog td, .dijitMenu table, .dijitMenu tbody, .dijitMenu th, .dijitMenu tr, .dijitMenu td {\n background: none;\n color: inherit; }\n .jbrowse tr, .jbrowse td, .jbrowse table, .dijitDialog tr, .dijitDialog td, .dijitDialog table, .dijitMenu tr, .dijitMenu td, .dijitMenu table {\n margin: 0;\n border: 0;\n padding: 0;\n line-height: normal; }\n .jbrowse label, .dijitDialog label, .dijitMenu label {\n font-weight: inherit; }\n .jbrowse body, .dijitDialog body, .dijitMenu body {\n margin: 0;\n padding: 0; }\n .jbrowse h1, .dijitDialog h1, .dijitMenu h1 {\n font-size: 1.5em;\n font-weight: normal;\n line-height: 1em;\n margin-top: 1em;\n margin-bottom: 0; }\n .jbrowse h2, .dijitDialog h2, .dijitMenu h2 {\n font-size: 1.1667em;\n font-weight: bold;\n line-height: 1.286em;\n margin-top: 1.929em;\n margin-bottom: 0.643em; }\n .jbrowse h3, .jbrowse h4, .jbrowse h5, .jbrowse h6, .dijitDialog h3, .dijitDialog h4, .dijitDialog h5, .dijitDialog h6, .dijitMenu h3, .dijitMenu h4, .dijitMenu h5, .dijitMenu h6 {\n font-size: 1em;\n font-weight: bold;\n line-height: 1.5em;\n margin-top: 1.5em;\n margin-bottom: 0; }\n .jbrowse p, .dijitDialog p, .dijitMenu p {\n font-size: 1em;\n margin-top: 1.5em;\n margin-bottom: 1.5em;\n line-height: 1.5em; }\n .jbrowse blockquote, .dijitDialog blockquote, .dijitMenu blockquote {\n font-size: 0.916em;\n margin-top: 3.272em;\n margin-bottom: 3.272em;\n line-height: 1.636em;\n padding: 1.636em;\n border-top: 1px solid #ccc;\n border-bottom: 1px solid #ccc; }\n .jbrowse ol li, .jbrowse ul li, .dijitDialog ol li, .dijitDialog ul li, .dijitMenu ol li, .dijitMenu ul li {\n font-size: 1em;\n line-height: 1.5em;\n margin: 0; }\n .jbrowse pre, .jbrowse code, .dijitDialog pre, .dijitDialog code, .dijitMenu pre, .dijitMenu code {\n font-size: 115%;\n *font-size: 100%;\n font-family: Courier, "Courier New";\n background-color: #efefef;\n border: 1px solid #ccc; }\n .jbrowse pre, .dijitDialog pre, .dijitMenu pre {\n border-width: 1px 0;\n padding: 1.5em; }\n .jbrowse table, .dijitDialog table, .dijitMenu table {\n font-size: 100%; }\n .jbrowse .dojoTabular, .dijitDialog .dojoTabular, .dijitMenu .dojoTabular {\n border-collapse: collapse;\n border-spacing: 0;\n border: 1px solid #ccc;\n margin: 0 1.5em; }\n .jbrowse .dojoTabular th, .dijitDialog .dojoTabular th, .dijitMenu .dojoTabular th {\n text-align: center;\n font-weight: bold; }\n .jbrowse .dojoTabular thead,\n .jbrowse .dojoTabular tfoot, .dijitDialog .dojoTabular thead,\n .dijitDialog .dojoTabular tfoot, .dijitMenu .dojoTabular thead,\n .dijitMenu .dojoTabular tfoot {\n background-color: #efefef;\n border: 1px solid #ccc;\n border-width: 1px 0; }\n .jbrowse .dojoTabular th,\n .jbrowse .dojoTabular td, .dijitDialog .dojoTabular th,\n .dijitDialog .dojoTabular td, .dijitMenu .dojoTabular th,\n .dijitMenu .dojoTabular td {\n padding: 0.25em 0.5em; }\n .jbrowse .jbrowseIconHelp,\n .jbrowse .jbrowseIconBusy,\n .jbrowse .jbrowseIconLink,\n .jbrowse .jbrowseIconCancel,\n .jbrowse .jbrowseIconHorizontalResize,\n .jbrowse .jbrowseIconVerticalResize, .dijitDialog .jbrowseIconHelp,\n .dijitDialog .jbrowseIconBusy,\n .dijitDialog .jbrowseIconLink,\n .dijitDialog .jbrowseIconCancel,\n .dijitDialog .jbrowseIconHorizontalResize,\n .dijitDialog .jbrowseIconVerticalResize, .dijitMenu .jbrowseIconHelp,\n .dijitMenu .jbrowseIconBusy,\n .dijitMenu .jbrowseIconLink,\n .dijitMenu .jbrowseIconCancel,\n .dijitMenu .jbrowseIconHorizontalResize,\n .dijitMenu .jbrowseIconVerticalResize {\n background-image: url('+n(i(867))+");\n width: 16px;\n height: 16px; }\n .jbrowse .dijitDisabled .jbrowseIconHelp,\n .jbrowse .dijitDisabled .jbrowseIconBusy,\n .jbrowse .dijitDisabled .jbrowseIconLink,\n .jbrowse .dijitDisabled .jbrowseIconCancel,\n .jbrowse .dijitDisabled .jbrowseIconHorizontalResize,\n .jbrowse .dijitDisabled .jbrowseIconVerticalResize, .dijitDialog .dijitDisabled .jbrowseIconHelp,\n .dijitDialog .dijitDisabled .jbrowseIconBusy,\n .dijitDialog .dijitDisabled .jbrowseIconLink,\n .dijitDialog .dijitDisabled .jbrowseIconCancel,\n .dijitDialog .dijitDisabled .jbrowseIconHorizontalResize,\n .dijitDialog .dijitDisabled .jbrowseIconVerticalResize, .dijitMenu .dijitDisabled .jbrowseIconHelp,\n .dijitMenu .dijitDisabled .jbrowseIconBusy,\n .dijitMenu .dijitDisabled .jbrowseIconLink,\n .dijitMenu .dijitDisabled .jbrowseIconCancel,\n .dijitMenu .dijitDisabled .jbrowseIconHorizontalResize,\n .dijitMenu .dijitDisabled .jbrowseIconVerticalResize {\n background-image: url("+n(i(1028))+");\n width: 16px;\n height: 16px; }\n .jbrowse .jbrowseIconHelp, .dijitDialog .jbrowseIconHelp, .dijitMenu .jbrowseIconHelp {\n background-position: 0; }\n .jbrowse .jbrowseIconLink, .dijitDialog .jbrowseIconLink, .dijitMenu .jbrowseIconLink {\n background-position: -152px; }\n .jbrowse .jbrowseIconCancel, .dijitDialog .jbrowseIconCancel, .dijitMenu .jbrowseIconCancel {\n background-position: -170px; }\n .jbrowse .jbrowseIconBusy, .dijitDialog .jbrowseIconBusy, .dijitMenu .jbrowseIconBusy {\n background-image: url("+n(i(1029))+"); }\n .jbrowse .jbrowseIconHorizontalResize, .dijitDialog .jbrowseIconHorizontalResize, .dijitMenu .jbrowseIconHorizontalResize {\n background-position: -209px; }\n .jbrowse .jbrowseIconVerticalResize, .dijitDialog .jbrowseIconVerticalResize, .dijitMenu .jbrowseIconVerticalResize {\n background-position: -230px; }\n\n.dijitDialog {\n line-height: 17px;\n /* styles for the about JBrowse dialog */\n /* styles for the highlight-setting dialog */\n /* location choice dialog */\n /* styles dealing with popups launched by clicking on features */\n /* styles for popup dialogs */\n /* styles for popup feature detail dialogs from tracks */\n /* field names that have tooltips */\n /*\n force long sequences in feature and alignment detail dialogs to\n wrap at 45em\n*/\n /* styles for the autocomplete menu */\n /* NOTE: browsers that don't support rgba colors will fall back to all\n track labels being #bcbcbc */\n /* styles for feature labels */\n /*styles for vertical line and BP label*/\n /* styles for per-base quality table in alignment detail pages */ }\n .dijitDialog .dijitDialogCloseIcon {\n height: 25px;\n width: 25px;\n top: 0px;\n right: 0px;\n background: url("+n(i(867))+") no-repeat -73px 6px;\n border-left: 1px inset #fcfcfc; }\n .dijitDialog .dijitDialogCloseIcon:hover {\n background-position: -93px 6px;\n border-left-color: #ccc; }\n .dijitDialog .dijitDialogCloseIcon:focus {\n outline: none; }\n .dijitDialog .dijitDialogPaneActionBar {\n text-align: center;\n clear: both;\n padding-top: 1em; }\n .dijitDialog .dijitDialogPaneContent {\n border-top: 1px solid #acacac; }\n .dijitDialog .dijitDialogTitleBar {\n padding-right: 25px; }\n .dijitDialog .default_about {\n text-align: center; }\n .dijitDialog .default_about * {\n margin: 0.5em 0; }\n .dijitDialog .default_about h1 {\n margin-top: 0; }\n .dijitDialog div.powered_by {\n margin-top: 0.5em;\n text-align: center; }\n .dijitDialog .setHighlightDialog label {\n padding-right: 0.5em; }\n .dijitDialog .locationChoiceDialog div.prompt {\n margin: 0.3em 1em 1em 1em; }\n .dijitDialog .locationChoiceDialog .dgrid-row .dijitButton {\n margin: 0 0.5em; }\n .dijitDialog .locationChoiceDialog .goButtonColumn,\n .dijitDialog .locationChoiceDialog .showButtonColumn {\n text-align: center;\n white-space: nowrap; }\n .dijitDialog .notfound-dialog .message {\n margin: 1em;\n text-align: center; }\n .dijitDialog .help_dialog ul {\n padding-left: 0; }\n .dijitDialog .help_dialog div.main > dl {\n width: 90%;\n margin: 0 auto 1em auto; }\n .dijitDialog .help_dialog dt {\n font-weight: bold;\n margin-top: 1em; }\n .dijitDialog .help_dialog dd {\n margin-left: 2em; }\n .dijitDialog .help_dialog dl dl.searchexample dt,\n .dijitDialog .help_dialog span.example {\n font-weight: normal;\n font-family: monospace; }\n .dijitDialog .popup-dialog-iframe .dijitDialogPaneContent {\n padding: 0; }\n .dijitDialog a.dialog-new-window {\n padding-left: 1em;\n font-size: 90%; }\n .dijitDialog .feature-detail {\n width: 50em;\n color: #333; }\n .dijitDialog .feature-detail .genotype_summary {\n padding: 1em; }\n .dijitDialog .feature-detail .genotype_summary table {\n border-collapse: collapse; }\n .dijitDialog .feature-detail .genotype_summary td {\n padding: 0 1em; }\n .dijitDialog .feature-detail .genotype_summary td.total {\n font-weight: bold;\n border-top: 1px solid #444; }\n .dijitDialog .feature-detail .genotype_summary td.count, .dijitDialog .feature-detail .genotype_summary td.pct {\n text-align: right; }\n .dijitDialog .feature-detail .genotype_summary td.category.level_1 {\n padding-left: 2em; }\n .dijitDialog .feature-detail .genotype_summary td.category.level_2 {\n padding-left: 3em; }\n .dijitDialog .feature-detail .genotype_summary td.category.level_3 {\n padding-left: 4em; }\n .dijitDialog .feature-detail .genotype_summary td.category.level_4 {\n padding-left: 5em; }\n .dijitDialog .feature-detail .subfeature-detail {\n background: #fafafa;\n background: rgba(0, 0, 0, 0.1);\n border: 1px outset #B9B9B9;\n padding: 0.6em;\n margin-bottom: 0.8em; }\n .dijitDialog .feature-detail .subfeature-load-button {\n margin-top: 15px;\n margin-left: 10px; }\n .dijitDialog .feature-detail .fastaView {\n padding: 0;\n border: 1px solid #aaa; }\n .dijitDialog .feature-detail .fastaView .dijitToolbar {\n text-align: right; }\n .dijitDialog .feature-detail .fastaView textarea {\n padding: 1em 1.5em;\n margin: 0;\n border: none; }\n .dijitDialog .feature-detail div.core {\n font-size: 110%; }\n .dijitDialog .feature-detail div.core h2.sectiontitle {\n margin-top: 0; }\n .dijitDialog .feature-detail h2.sectiontitle {\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n margin: 1em 0 0.7em 0; }\n .dijitDialog .detail .value_container {\n display: inline-block;\n max-height: 20em;\n overflow-y: auto;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog .detail .value_container.big, .dijitDialog .detail .value_container.dgrid {\n border: 1px solid rgba(0, 0, 50, 0.1);\n margin-left: 1em;\n margin-top: 0.3em; }\n .dijitDialog .detail .multi_value .value {\n border: 1px solid #ddd;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog .detail .value {\n display: inline-block;\n vertical-align: top;\n padding: 0 0.7em;\n line-height: 1.8; }\n .dijitDialog .detail .field {\n margin: 0;\n display: inline-block;\n min-width: 90px;\n vertical-align: top;\n padding: 2px 0.5em;\n background: rgba(50, 85, 255, 0.1);\n border-bottom: 1px solid #D2D4E4;\n border-bottom-color: rgba(0, 0, 0, 0.1);\n font-size: 1.1667em; }\n .dijitDialog .detail .field[title], .dijitDialog .detail .dgrid-cell[title] {\n background: rgba(255, 245, 50, 0.3); }\n .dijitDialog .detail .field[title]:hover, .dijitDialog .detail .dgrid-cell[title]:hover {\n background: rgba(255, 255, 50, 0.7); }\n .dijitDialog .detail .value.long {\n word-wrap: break-word;\n width: 45em; }\n .dijitDialog .detail .field_container {\n margin-left: 1em;\n margin-bottom: 2px; }\n .dijitDialog .detail hr {\n margin: 0.8em 4em 0.5em 0.7em; }\n .dijitDialog .loaded-plugins {\n text-align: left; }\n .dijitDialog .loaded-plugins li {\n margin: 0em; }\n .dijitDialog .plugins-list {\n max-height: 100px;\n overflow: auto; }\n .dijitDialog .dgrid.genotypes table {\n margin: 0; }\n .dijitDialog .export-view-dialog .dijitDialogPaneContent {\n background: #fafafa; }\n .dijitDialog .export-view-dialog .save {\n display: inline-block;\n border: 1px solid #AFAFAF;\n padding: 2px 5px 2px 0px; }\n .dijitDialog.fileDialog {\n color: #333; }\n .dijitDialog.fileDialog label {\n font-weight: bold;\n padding: 0 0.5em;\n display: inline; }\n .dijitDialog.fileDialog th {\n font-weight: bold;\n border-bottom: 2px solid black; }\n .dijitDialog.fileDialog .dijitDialogPaneContent > div.intro {\n width: 27em;\n text-align: justify;\n position: relative;\n left: 12%;\n margin: 1.4em 0 1em 0; }\n .dijitDialog.fileDialog .connector {\n background: #333;\n height: 6px;\n width: 12px;\n position: absolute;\n bottom: -6px;\n left: 50%;\n margin-left: -6px; }\n .dijitDialog.fileDialog h2, .dijitDialog.fileDialog h3 {\n margin: 0;\n padding: 0;\n font-size: 125%; }\n .dijitDialog.fileDialog .dijitDialogPaneContent > div {\n position: relative;\n width: 40em;\n padding: 0 0 0.75em 0;\n margin: 6px 0; }\n .dijitDialog.fileDialog div.aux {\n text-align: center;\n margin-bottom: 1em; }\n .dijitDialog.fileDialog .resourceControls {\n height: 10em;\n position: relative; }\n .dijitDialog.fileDialog .resourceControls > div {\n width: 19.5em;\n box-sizing: border-box;\n height: 100%; }\n .dijitDialog.fileDialog .resourceControls > div > h3 {\n height: 19%; }\n .dijitDialog.fileDialog .soleResourceControl {\n height: 10em;\n position: relative; }\n .dijitDialog.fileDialog .soleResourceControl > div {\n width: 40em;\n box-sizing: border-box;\n height: 100%; }\n .dijitDialog.fileDialog .soleResourceControl > div > h3 {\n height: 19%; }\n .dijitDialog.fileDialog .localFilesControl {\n position: absolute;\n top: 0;\n left: 0; }\n .dijitDialog.fileDialog .dijitUploader {\n position: absolute;\n margin: 0; }\n .dijitDialog.fileDialog .remoteURLsControl textarea,\n .dijitDialog.fileDialog .localFilesControl .dragArea {\n height: 81%;\n position: relative;\n border: 1px solid #b3b3b3;\n width: 100%;\n box-sizing: border-box; }\n .dijitDialog.fileDialog .localFilesControl .dragArea:hover {\n border: 1px dashed green; }\n .dijitDialog.fileDialog .localFilesControl .dragArea .dragMessage {\n height: 2em;\n position: absolute;\n top: 60%;\n font-weight: bold;\n margin-top: -1em;\n text-align: center;\n width: 100%; }\n .dijitDialog.fileDialog .remoteURLsControl textarea {\n font-size: 10px;\n background: #f2f2f2; }\n .dijitDialog.fileDialog .remoteURLsControl textarea:hover {\n background: white;\n border-color: #333; }\n .dijitDialog.fileDialog .remoteURLsControl {\n position: absolute;\n top: 0;\n right: 0; }\n .dijitDialog.fileDialog .resourceList {\n background: #bcd3ef; }\n .dijitDialog.fileDialog .dijitSelect td.dijitStretch {\n width: 6em; }\n .dijitDialog.fileDialog .resourceList > h3, .dijitDialog.fileDialog .trackList > h3 {\n padding: 0 0.6em;\n line-height: 2.1;\n margin-bottom: 0.5em; }\n .dijitDialog.fileDialog .emptyMessage {\n width: 100%;\n font-size: 110%;\n color: #686868;\n font-weight: bold;\n text-align: center;\n line-height: 4; }\n .dijitDialog.fileDialog .trackList {\n background: #8cb1dd; }\n .dijitDialog.fileDialog .resourceList > table, .dijitDialog.fileDialog .trackList > table {\n width: 95%;\n padding: 0 0.75em 0.5em 0.75em;\n margin: 0 auto;\n border-collapse: collapse; }\n .dijitDialog .jbrowseStandaloneDatasetSelector {\n margin-left: 2em;\n font-size: 120%; }\n .dijitDialog .track .global_highlight {\n position: absolute;\n background: rgba(255, 255, 0, 0.7);\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box;\n border: 1px solid #ffb20d;\n border-width: 0; }\n .dijitDialog .track .global_highlight.left {\n border-left-width: 1px; }\n .dijitDialog .track .global_highlight.right {\n border-right-width: 1px; }\n .dijitDialog .track .global_highlight_mod {\n position: absolute;\n background: rgba(255, 255, 0, 0.7);\n box-sizing: border-box;\n border: 1px solid black;\n border-width: 0; }\n .dijitDialog .track .global_highlight_mod.left {\n border-left-width: 1px; }\n .dijitDialog .track .global_highlight_mod.right {\n border-right-width: 1px; }\n .dijitDialog input {\n outline: none; }\n .dijitDialog .ghosted {\n color: #aaa; }\n .dijitDialog fieldset {\n padding-left: 1em;\n margin: 0.7em 0.5em; }\n .dijitDialog fieldset > legend {\n font-weight: bold;\n margin-left: -1em; }\n .dijitDialog .locString {\n font-family: Courier New,monospace; }\n .dijitDialog .fasta {\n font-family: Courier New,monospace;\n font-size: 14px; }\n .dijitDialog .verticaltext {\n transform: rotate(-90deg);\n position: absolute;\n border: 1px solid black; }\n .dijitDialog .horizontaltext {\n position: absolute;\n border: 1px solid black; }\n .dijitDialog .dijitComboBoxMenu .locString, .dijitDialog .dijitComboBoxMenu .multipleLocations {\n margin-left: 1em; }\n .dijitDialog .dijitComboBoxMenu .multipleLocations {\n color: #333; }\n .dijitDialog .nav {\n vertical-align: middle;\n z-index: 10; }\n .dijitDialog input.icon {\n display: -moz-inline-stack;\n display: inline-block;\n zoom: 1; }\n .dijitDialog div.container {\n position: absolute;\n z-index: 0; }\n .dijitDialog div.dragWindow {\n position: absolute;\n overflow: hidden;\n z-index: 1; }\n .dijitDialog div.vertical_scrollbar {\n width: 6px;\n background: #eee;\n background: rgba(235, 235, 235, 0.62);\n border-left: 1px solid #DDD9D9; }\n .dijitDialog div.vertical_scrollbar .vertical_position_marker {\n background: #555;\n opacity: 0.8;\n border-radius: 5px;\n width: 100%;\n border-right: 1px solid #ccc; }\n .dijitDialog .draggable {\n cursor: move; }\n .dijitDialog .rubberBandAvailable {\n cursor: crosshair; }\n .dijitDialog #navbox {\n padding-top: 3px;\n position: relative;\n text-align: center; }\n .dijitDialog #navbox * {\n font-size: 12px;\n font-family: sans-serif; }\n .dijitDialog #navbox .dijitButton, .dijitDialog #navbox .dijitToggleButton, .dijitDialog #navbox .dijitTextBox, .dijitDialog #navbox .dijitSelect, .dijitDialog #navbox .dojoxTriStateCheckBox {\n height: 20px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog #navbox .dijitSelectLabel {\n padding: 0 2px; }\n .dijitDialog #navbox .dijitInputField {\n padding-left: 3%; }\n .dijitDialog #navbox .dijitArrowButton {\n width: 15px; }\n .dijitDialog .moreMatches {\n font-style: italic;\n color: #aaa; }\n .dijitDialog .moreMatches.dijitMenuItemSelected {\n background: none;\n color: #ccc;\n cursor: default; }\n .dijitDialog div.locationTrapContainer {\n position: absolute;\n z-index: -11;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background-color: white; }\n .dijitDialog div.locationTrap {\n position: absolute;\n z-index: -10;\n height: 0;\n top: 0;\n left: 0;\n border-color: transparent;\n border-style: solid;\n border-bottom-color: #A9C6EB;\n border-top: 0px dotted transparent;\n box-sizing: content-box; }\n .dijitDialog div.locationThumb {\n position: absolute;\n top: 0px;\n /* if you change this border from 2px, change GenomeView.showTrap */\n border: 2px solid red;\n margin: 0px -2px 0px -2px;\n height: 23px;\n cursor: move;\n background: rgba(0, 121, 245, 0.1); }\n .dijitDialog div.locationThumb.dojoMoveItem {\n cursor: move; }\n .dijitDialog div.topLink {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 50;\n background: white;\n border: 1px solid #888;\n border-width: 0 0 1px 1px; }\n .dijitDialog a.topLink {\n padding: 0 0.5ex 0 0.5ex;\n text-decoration: none;\n color: blue; }\n .dijitDialog div.overview {\n position: relative;\n width: 100%;\n padding: 0;\n z-index: -5;\n display: block;\n height: 23px;\n background: #FAFAFA url("+n(i(640))+") repeat-x top left;\n border-style: solid;\n border-width: 1px 0px 1px 0px;\n border-color: #555;\n color: #aaa;\n text-align: center;\n cursor: crosshair; }\n .dijitDialog div.block {\n position: absolute;\n overflow: visible;\n top: 0px;\n height: 100%; }\n .dijitDialog div.block.height_overflow .height_overflow_message {\n position: absolute;\n color: #4d4d4d;\n border-bottom: 2px solid #4d4d4d;\n text-shadow: white 0px 0px 1px;\n white-space: nowrap;\n width: 100%;\n font-weight: bold;\n text-align: center;\n z-index: 2000;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog div.block.timed_out {\n background: #ddd;\n background: rgba(0, 0, 0, 0.1); }\n .dijitDialog div.track {\n position: absolute;\n left: 0px;\n width: 100%;\n padding: 0;\n margin: 0;\n z-index: 0;\n border-top: 1px solid #fafafa;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog div.pin_underlay {\n width: 100%;\n position: absolute;\n background: white;\n z-index: 6;\n -moz-box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9);\n -webkit-box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9);\n box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9); }\n .dijitDialog div.track.pinned {\n z-index: 20; }\n .dijitDialog .track.dojoDndItemOver {\n cursor: inherit;\n background: inherit; }\n .dijitDialog .track.dojoDndItemAnchor {\n background: inherit; }\n .dijitDialog .track.dojoDndItemSelected {\n background: inherit; }\n .dijitDialog .track.dojoDndItemBefore {\n border-top: 3px solid #999;\n margin-top: -3px; }\n .dijitDialog .track.dojoDndItemAfter {\n border-bottom: 3px solid #999;\n margin-bottom: -3px; }\n .dijitDialog div#static_track {\n top: 0px;\n position: absolute;\n background: #FAFAFA url("+n(i(640))+') repeat-x top left;\n border-top: 1px solid #999;\n border-bottom: 1px solid #444;\n z-index: 20; }\n .dijitDialog div.gridline {\n position: absolute;\n left: 0px;\n top: 0px;\n width: 0px;\n height: 100%;\n border-style: none none none solid;\n border-width: 1px;\n border-color: red;\n z-index: 0; }\n .dijitDialog div.gridline_major {\n border-color: #bbb; }\n .dijitDialog div.gridline_minor {\n border-color: #eee; }\n .dijitDialog div.pos-label {\n position: absolute;\n left: -0.35em;\n top: 0px;\n z-index: 100;\n font-family: sans-serif; }\n .dijitDialog div.overview-pos {\n position: absolute;\n left: 0px;\n top: 0.27em;\n color: black;\n padding-left: 4px;\n font-family: sans-serif;\n border: 0;\n z-index: 10; }\n .dijitDialog div.overview-pos:first-child {\n margin-left: 1px; }\n .dijitDialog div.blank-block {\n font-family: sans-serif;\n position: absolute;\n overflow: visible;\n top: 0px;\n height: 100%;\n background-color: white;\n z-index: 19; }\n .dijitDialog div.track-border {\n background: #eee;\n width: 100%;\n height: 2px;\n top: -8px; }\n .dijitDialog div.track-label, .dijitDialog div.tracklist-label {\n z-index: 20;\n padding: 1px 6px;\n overflow: hidden;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n border-color: #999;\n color: #111;\n font-weight: bold; }\n .dijitDialog div.tracklist-label {\n white-space: nowrap;\n overflow: hidden;\n margin-top: -1px; }\n .dijitDialog div.tracklist-label.collapsed {\n height: 3px;\n padding: 0;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog .track .loading {\n background: #fafafa;\n color: #777;\n margin: 0;\n font-weight: bold;\n height: 100%;\n width: 100%;\n z-index: 15;\n position: absolute; }\n .dijitDialog .track .loading .text {\n display: inline;\n line-height: 40px;\n margin: 1em; }\n .dijitDialog div.track-label {\n color: black;\n margin: -1px 0 0 -1px;\n overflow: visible;\n background: white;\n padding: 0 5px;\n height: 23px;\n line-height: 23px;\n z-index: 20;\n border-color: #eee;\n opacity: 0.7;\n /* setting white-space to "nowrap" prevents Chrome-specific bug with\n label text sometimes disappearing after zoom in Chrome was\n wrapping track-label text to next line, which falls outside of\n track-label fixed height and therefore not seen. see chromium\n bug report for more details on underlying issue:\n http://code.google.com/p/chromium/issues/detail?id=138918\n */\n white-space: nowrap; }\n .dijitDialog div.track-label .track-label-text {\n display: inline-block;\n white-space: nowrap; }\n .dijitDialog div.track-label .track-close-button {\n display: inline-block;\n vertical-align: top;\n position: relative;\n top: 50%;\n height: 20px;\n width: 25px;\n margin: -10px -3px -4px -6px; }\n .dijitDialog div.track-label .track-menu-button {\n display: inline-block;\n position: relative;\n vertical-align: top;\n right: -5px;\n top: 0px;\n width: 24px;\n height: 100%;\n border-radius: 0 6px 6px 0;\n border-left: 1px inset transparent; }\n .dijitDialog div.track-label .feature-density {\n font-size: 90%;\n font-weight: normal; }\n .dijitDialog div.track-label:hover .track-menu-button div {\n height: 8px;\n width: 8px;\n position: absolute;\n left: 8px;\n top: 7px;\n background: url('+n(i(868))+") no-repeat -28px 0; }\n .dijitDialog div.track-label:hover .track-menu-button:hover {\n background-color: rgba(0, 0, 100, 0.05);\n border-left-color: #ccc; }\n .dijitDialog div.track-label .track-close-button {\n background: url("+n(i(785))+") no-repeat 40% 50%; }\n .dijitDialog div.track-label .track-close-button:hover {\n background-image: url("+n(i(786))+"); }\n .dijitDialog div.track-label:hover .track-menu-button:hover div {\n background-position-x: 0px; }\n .dijitDialog div.track-label:hover {\n background: #FAFAFA url("+n(i(640))+") repeat-x top left;\n border-width: 1px;\n border-color: #666;\n border-color: black;\n background-color: #ddd;\n opacity: 1.0; }\n .dijitDialog div.tracklist-label {\n padding: 3px;\n background-color: #ddd;\n background-color: rgba(220, 220, 220, 0.9); }\n .dijitDialog div.tracklist-label:hover {\n background-color: #396494;\n border: 1px solid black; }\n .dijitDialog div.tracklist-container.dojoDndItemSelected {\n background-color: #396494;\n background-color: #6e849c; }\n .dijitDialog div.tracklist-container.dojoDndItemSelected .tracklist-label {\n background-color: #b2c3d6; }\n .dijitDialog .jbrowseSimpleTrackSelector {\n background: #f2f2f2;\n background-image: url("+n(i(1030))+");\n background-repeat: repeat-y;\n background-position: right; }\n .dijitDialog .jbrowseSimpleTrackSelector h2 {\n margin: 0.5em 0 0 0.5em; }\n .dijitDialog div.textfilter {\n margin: 0.5em 0 1em 0.3em; }\n .dijitDialog div.textfilter input {\n padding: 2px 0 2px 18px;\n width: 100%;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .dijitDialog div.textfilter > div.jbrowseIconCancel {\n position: absolute;\n left: 5px;\n margin-top: -6px;\n top: 50%; }\n .dijitDialog #trackPane_splitter {\n background: #dcdcdc;\n width: 5px;\n border-right: 1px solid #555; }\n .dijitDialog div.tracklist-container {\n padding: 0 4px; }\n .dijitDialog .tracklist-container.dojoDndItemBefore {\n border-top: 3px solid #999;\n padding-top: 2px; }\n .dijitDialog .tracklist-container.dojoDndItemAfter {\n border-bottom: 3px solid #999;\n padding-bottom: 2px; }\n .dijitDialog .feature-label {\n position: absolute;\n border: 0px;\n margin: -2px 0px 0px 0px;\n /* padding: 0px 0px 2px 0px; for more space below labels */\n padding: 0px 0px 0px 0px;\n /* font-size: 80%; */\n white-space: nowrap;\n z-index: 12;\n cursor: pointer; }\n .dijitDialog a.feature-label {\n color: black; }\n .dijitDialog .feature-description {\n color: blue;\n margin-top: -0.2em; }\n .dijitDialog .feature-label.highlighted {\n background: rgba(255, 255, 0, 0.7);\n font-weight: bold;\n border: 1px solid red;\n padding: 0 2px; }\n .dijitDialog .rubber-highlight {\n border: 1px solid black;\n height: 100%;\n border-color: rgba(0, 0, 0, 0.6);\n background-color: #8087ff;\n background-color: rgba(128, 136, 255, 0.6);\n padding: 0;\n margin: 0;\n overflow: hidden;\n cursor: crosshair; }\n .dijitDialog .rubber-highlight div {\n color: white;\n padding: 0;\n margin-top: 30px;\n font-size: 160%;\n text-align: center;\n font-weight: bold;\n text-shadow: #6374AB 1px 1px 0; }\n .dijitDialog div.overview .rubber-highlight {\n font-size: 0;\n height: 100%;\n border-top: none;\n border-bottom: none; }\n .dijitDialog div.overview .rubber-highlight * {\n display: none; }\n .dijitDialog .icon.nav {\n height: 30px !important; }\n .dijitDialog #moveLeft, .dijitDialog #moveRight, .dijitDialog #bigZoomOut, .dijitDialog #zoomOut, .dijitDialog #bigZoomIn, .dijitDialog #zoomIn, .dijitDialog #moveLeftSmall, .dijitDialog #moveRightSmall, .dijitDialog #zoomInSmall, .dijitDialog #zoomOutSmall {\n background: url("+n(i(1031))+") top left no-repeat;\n background-size: 50px 280px;\n cursor: pointer; }\n .dijitDialog #moveLeft {\n background-position: 5px -35px;\n width: 55px; }\n .dijitDialog #moveLeftSmall {\n background-position: 0px -200px;\n height: 20px !important;\n width: 33px; }\n .dijitDialog #moveRight {\n background-position: 0px -135px;\n width: 55px; }\n .dijitDialog #moveRightSmall {\n background-position: 0px -220px;\n height: 20px !important;\n width: 33px; }\n .dijitDialog #bigZoomOut {\n background-position: 0px -168px;\n width: 35px; }\n .dijitDialog #zoomOut {\n background-position: 0px -100px;\n width: 30px; }\n .dijitDialog #zoomOutSmall {\n background-position: 0px -240px;\n height: 20px !important;\n width: 20px; }\n .dijitDialog #bigZoomIn {\n background-position: 0px -69px;\n width: 35px; }\n .dijitDialog #zoomIn {\n background-position: 0px -2.5px;\n width: 30px; }\n .dijitDialog #zoomInSmall {\n background-position: 0px -260px;\n height: 20px !important;\n width: 20px; }\n .dijitDialog input.nav {\n font-size: 9px !important; }\n .dijitDialog .fatal_error {\n font-size: 14px;\n margin: 1em; }\n .dijitDialog div.error, .dijitDialog div.message {\n margin: 1px 1em;\n padding: 2px 6px;\n border: 1px outset rgba(0, 0, 0, 0.3); }\n .dijitDialog div.error {\n background: #ff8888; }\n .dijitDialog div.track > div.error {\n width: 30em;\n position: absolute; }\n .dijitDialog div.error h2 {\n margin-top: 0; }\n .dijitDialog div.error .codecaption {\n font-size: 90%;\n font-weight: bold;\n margin-top: 1em;\n margin-left: 0.2em; }\n .dijitDialog div.error code {\n display: block;\n font-size: 10px;\n padding: 0.4em 1.2em;\n margin: 0 0.3em 0.3em 0.3em;\n overflow: auto;\n max-height: 6em; }\n .dijitDialog div.message {\n background: #eee; }\n .dijitDialog div.block > div.message {\n margin: 1em 0;\n position: absolute; }\n .dijitDialog div.block:hover > div.message {\n z-index: 30000; }\n .dijitDialog .sharePane input {\n padding: 1px 0 2px 1px; }\n .dijitDialog .sharePane .copyReminder {\n background-color: #396494;\n text-align: center;\n width: 50%;\n margin: 0 auto;\n color: white;\n padding: 2px;\n font-weight: bold; }\n .dijitDialog .sharePane input {\n border: 1px solid #ccc; }\n .dijitDialog .basePairLabel {\n color: black;\n position: fixed;\n font-weight: bold;\n font-size: 9px;\n display: none;\n background: #fefefe;\n padding: 0 0.7em;\n z-index: 1000;\n text-align: center;\n cursor: crosshair;\n border: 1px solid #888; }\n .dijitDialog .basePairLabel.rubber {\n z-index: 25; }\n .dijitDialog .trackVerticalPositionIndicatorMain {\n position: fixed;\n display: none;\n cursor: crosshair;\n left: -2px;\n height: 100%;\n width: 1px;\n background-color: #FF0000;\n z-index: 15;\n top: 0; }\n .dijitDialog .baseQuality {\n font-family: Courier New, monospace; }\n .dijitDialog table.baseQuality {\n margin-bottom: 1em; }\n .dijitDialog table.baseQuality td {\n padding: 0 0.2em;\n line-height: 0.95;\n text-align: center; }\n .dijitDialog .baseQuality .basePosition {\n display: inline-block;\n padding: 0 0.3em 0.4em 0.3em; }\n .dijitDialog .baseQuality .basePosition:hover {\n background: #ccc; }\n .dijitDialog .baseQuality span.seq {\n display: block;\n text-align: center;\n font-weight: bold; }\n .dijitDialog .baseQuality span.qual {\n display: block;\n text-align: center; }\n\n/* main application CSS styles */\n.jbrowse {\n line-height: 1;\n /* styles for the autocomplete menu */\n /* NOTE: browsers that don't support rgba colors will fall back to all\n track labels being #bcbcbc */\n /* styles for feature labels */\n /*styles for vertical line and BP label*/\n /* styles for per-base quality table in alignment detail pages */\n /*\n NOTES ON STYLING FEATURES:\n - avoid using any margins in feature styles. Layout is done\n by JBrowse.\n\n - when possible, make all element heights an odd number of\n pixels, so that vertical centering is possible with\n pixel-perfect accuracy.\n*/\n /* introns are hidden by default */\n /* can also set a class of 'hidden' to hide something */\n /* floating score display for wiggle tracks */\n /* colors for bases must be specified as hex or rgb/hsl strings, no named colors such as 'red' */\n /* added to document.body */\n /* Extracted from https://github.com/#008000ify/msa-colorschemes/tree/master/src */\n /* styles for the top menu bar */\n /* dataset selector */\n /* \n navbar/toolbar styles\n Created on : Jun 19, 2015, 6:37:30 PM\n Author : Eric Y\n*/\n /* location box */\n /* highlight button */\n /* TriStateCheckBox\n *\n * Styling TriStateCheckBox mainly includes:\n *\n * 1. Containers\n * \t\t.dojoxTriStateCheckBox|.dojoxTriStateCheckBoxIcon - for border, padding, width|height and background image\n *\n * 2. Checked state\n * \t\t.dojoxTriStateCheckBoxChecked - for checked background-color|image\n * \t\t.dojoxTriStateCheckBoxMixed - for mixed background-color|image\n *\n * 3. Hover state\n * \t\t.dojoxTriStateCheckBoxHover|.dojoxTriStateCheckBoxCheckedHover|.dojoxTriStateCheckBoxMixedHover - for background image\n *\n * 4. Disabled state\n * \t\t.dojoxTriStateCheckBoxDisabled|.dojoxTriStateCheckBoxCheckedDisabled|.dojoxTriStateCheckBoxMixedDisabled - for background image\n */\n /* CSS styles for the various types of feature glyphs */\n /* Dojo and Dijit stuff */\n /* JBrowse stuff */\n /* CSS styles specifically for MAKER output */\n /*MAKER CSS with colors for common features*/\n /*SNAP*/\n /*Augustus*/\n /*GeneMark*/\n /*FGENESH*/\n /*protein2genome*/\n /*BLASTN*/\n /*BLASTX*/\n /*TBLASTX*/\n /*est2genome*/\n /*repeat*/\n /*cdna2genome*/ }\n .jbrowse.dijitDialog {\n line-height: 17px; }\n .jbrowse .jbrowseStandaloneDatasetSelector {\n margin-left: 2em;\n font-size: 120%; }\n .jbrowse .track .global_highlight {\n position: absolute;\n background: rgba(255, 255, 0, 0.7);\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box;\n border: 1px solid #ffb20d;\n border-width: 0; }\n .jbrowse .track .global_highlight.left {\n border-left-width: 1px; }\n .jbrowse .track .global_highlight.right {\n border-right-width: 1px; }\n .jbrowse .track .global_highlight_mod {\n position: absolute;\n background: rgba(255, 255, 0, 0.7);\n box-sizing: border-box;\n border: 1px solid black;\n border-width: 0; }\n .jbrowse .track .global_highlight_mod.left {\n border-left-width: 1px; }\n .jbrowse .track .global_highlight_mod.right {\n border-right-width: 1px; }\n .jbrowse input {\n outline: none; }\n .jbrowse .ghosted {\n color: #aaa; }\n .jbrowse fieldset {\n padding-left: 1em;\n margin: 0.7em 0.5em; }\n .jbrowse fieldset > legend {\n font-weight: bold;\n margin-left: -1em; }\n .jbrowse .locString {\n font-family: Courier New,monospace; }\n .jbrowse .fasta {\n font-family: Courier New,monospace;\n font-size: 14px; }\n .jbrowse .verticaltext {\n transform: rotate(-90deg);\n position: absolute;\n border: 1px solid black; }\n .jbrowse .horizontaltext {\n position: absolute;\n border: 1px solid black; }\n .jbrowse .dijitComboBoxMenu .locString, .jbrowse .dijitComboBoxMenu .multipleLocations {\n margin-left: 1em; }\n .jbrowse .dijitComboBoxMenu .multipleLocations {\n color: #333; }\n .jbrowse .nav {\n vertical-align: middle;\n z-index: 10; }\n .jbrowse input.icon {\n display: -moz-inline-stack;\n display: inline-block;\n zoom: 1; }\n .jbrowse div.container {\n position: absolute;\n z-index: 0; }\n .jbrowse div.dragWindow {\n position: absolute;\n overflow: hidden;\n z-index: 1; }\n .jbrowse div.vertical_scrollbar {\n width: 6px;\n background: #eee;\n background: rgba(235, 235, 235, 0.62);\n border-left: 1px solid #DDD9D9; }\n .jbrowse div.vertical_scrollbar .vertical_position_marker {\n background: #555;\n opacity: 0.8;\n border-radius: 5px;\n width: 100%;\n border-right: 1px solid #ccc; }\n .jbrowse .draggable {\n cursor: move; }\n .jbrowse .rubberBandAvailable {\n cursor: crosshair; }\n .jbrowse #navbox {\n padding-top: 3px;\n position: relative;\n text-align: center; }\n .jbrowse #navbox * {\n font-size: 12px;\n font-family: sans-serif; }\n .jbrowse #navbox .dijitButton, .jbrowse #navbox .dijitToggleButton, .jbrowse #navbox .dijitTextBox, .jbrowse #navbox .dijitSelect, .jbrowse #navbox .dojoxTriStateCheckBox {\n height: 20px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse #navbox .dijitSelectLabel {\n padding: 0 2px; }\n .jbrowse #navbox .dijitInputField {\n padding-left: 3%; }\n .jbrowse #navbox .dijitArrowButton {\n width: 15px; }\n .jbrowse .moreMatches {\n font-style: italic;\n color: #aaa; }\n .jbrowse .moreMatches.dijitMenuItemSelected {\n background: none;\n color: #ccc;\n cursor: default; }\n .jbrowse div.locationTrapContainer {\n position: absolute;\n z-index: -11;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n background-color: white; }\n .jbrowse div.locationTrap {\n position: absolute;\n z-index: -10;\n height: 0;\n top: 0;\n left: 0;\n border-color: transparent;\n border-style: solid;\n border-bottom-color: #A9C6EB;\n border-top: 0px dotted transparent;\n box-sizing: content-box; }\n .jbrowse div.locationThumb {\n position: absolute;\n top: 0px;\n /* if you change this border from 2px, change GenomeView.showTrap */\n border: 2px solid red;\n margin: 0px -2px 0px -2px;\n height: 23px;\n cursor: move;\n background: rgba(0, 121, 245, 0.1); }\n .jbrowse div.locationThumb.dojoMoveItem {\n cursor: move; }\n .jbrowse div.topLink {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 50;\n background: white;\n border: 1px solid #888;\n border-width: 0 0 1px 1px; }\n .jbrowse a.topLink {\n padding: 0 0.5ex 0 0.5ex;\n text-decoration: none;\n color: blue; }\n .jbrowse div.overview {\n position: relative;\n width: 100%;\n padding: 0;\n z-index: -5;\n display: block;\n height: 23px;\n background: #FAFAFA url("+n(i(640))+") repeat-x top left;\n border-style: solid;\n border-width: 1px 0px 1px 0px;\n border-color: #555;\n color: #aaa;\n text-align: center;\n cursor: crosshair; }\n .jbrowse div.block {\n position: absolute;\n overflow: visible;\n top: 0px;\n height: 100%; }\n .jbrowse div.block.height_overflow .height_overflow_message {\n position: absolute;\n color: #4d4d4d;\n border-bottom: 2px solid #4d4d4d;\n text-shadow: white 0px 0px 1px;\n white-space: nowrap;\n width: 100%;\n font-weight: bold;\n text-align: center;\n z-index: 2000;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse div.block.timed_out {\n background: #ddd;\n background: rgba(0, 0, 0, 0.1); }\n .jbrowse div.track {\n position: absolute;\n left: 0px;\n width: 100%;\n padding: 0;\n margin: 0;\n z-index: 0;\n border-top: 1px solid #fafafa;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse div.pin_underlay {\n width: 100%;\n position: absolute;\n background: white;\n z-index: 6;\n -moz-box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9);\n -webkit-box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9);\n box-shadow: 0 0 10px 0 rgba(30, 30, 50, 0.9); }\n .jbrowse div.track.pinned {\n z-index: 20; }\n .jbrowse .track.dojoDndItemOver {\n cursor: inherit;\n background: inherit; }\n .jbrowse .track.dojoDndItemAnchor {\n background: inherit; }\n .jbrowse .track.dojoDndItemSelected {\n background: inherit; }\n .jbrowse .track.dojoDndItemBefore {\n border-top: 3px solid #999;\n margin-top: -3px; }\n .jbrowse .track.dojoDndItemAfter {\n border-bottom: 3px solid #999;\n margin-bottom: -3px; }\n .jbrowse div#static_track {\n top: 0px;\n position: absolute;\n background: #FAFAFA url("+n(i(640))+') repeat-x top left;\n border-top: 1px solid #999;\n border-bottom: 1px solid #444;\n z-index: 20; }\n .jbrowse div.gridline {\n position: absolute;\n left: 0px;\n top: 0px;\n width: 0px;\n height: 100%;\n border-style: none none none solid;\n border-width: 1px;\n border-color: red;\n z-index: 0; }\n .jbrowse div.gridline_major {\n border-color: #bbb; }\n .jbrowse div.gridline_minor {\n border-color: #eee; }\n .jbrowse div.pos-label {\n position: absolute;\n left: -0.35em;\n top: 0px;\n z-index: 100;\n font-family: sans-serif; }\n .jbrowse div.overview-pos {\n position: absolute;\n left: 0px;\n top: 0.27em;\n color: black;\n padding-left: 4px;\n font-family: sans-serif;\n border: 0;\n z-index: 10; }\n .jbrowse div.overview-pos:first-child {\n margin-left: 1px; }\n .jbrowse div.blank-block {\n font-family: sans-serif;\n position: absolute;\n overflow: visible;\n top: 0px;\n height: 100%;\n background-color: white;\n z-index: 19; }\n .jbrowse div.track-border {\n background: #eee;\n width: 100%;\n height: 2px;\n top: -8px; }\n .jbrowse div.track-label, .jbrowse div.tracklist-label {\n z-index: 20;\n padding: 1px 6px;\n overflow: hidden;\n cursor: pointer;\n border-width: 1px;\n border-style: solid;\n border-color: #999;\n color: #111;\n font-weight: bold; }\n .jbrowse div.tracklist-label {\n white-space: nowrap;\n overflow: hidden;\n margin-top: -1px; }\n .jbrowse div.tracklist-label.collapsed {\n height: 3px;\n padding: 0;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse .track .loading {\n background: #fafafa;\n color: #777;\n margin: 0;\n font-weight: bold;\n height: 100%;\n width: 100%;\n z-index: 15;\n position: absolute; }\n .jbrowse .track .loading .text {\n display: inline;\n line-height: 40px;\n margin: 1em; }\n .jbrowse div.track-label {\n color: black;\n margin: -1px 0 0 -1px;\n overflow: visible;\n background: white;\n padding: 0 5px;\n height: 23px;\n line-height: 23px;\n z-index: 20;\n border-color: #eee;\n opacity: 0.7;\n /* setting white-space to "nowrap" prevents Chrome-specific bug with\n label text sometimes disappearing after zoom in Chrome was\n wrapping track-label text to next line, which falls outside of\n track-label fixed height and therefore not seen. see chromium\n bug report for more details on underlying issue:\n http://code.google.com/p/chromium/issues/detail?id=138918\n */\n white-space: nowrap; }\n .jbrowse div.track-label .track-label-text {\n display: inline-block;\n white-space: nowrap; }\n .jbrowse div.track-label .track-close-button {\n display: inline-block;\n vertical-align: top;\n position: relative;\n top: 50%;\n height: 20px;\n width: 25px;\n margin: -10px -3px -4px -6px; }\n .jbrowse div.track-label .track-menu-button {\n display: inline-block;\n position: relative;\n vertical-align: top;\n right: -5px;\n top: 0px;\n width: 24px;\n height: 100%;\n border-radius: 0 6px 6px 0;\n border-left: 1px inset transparent; }\n .jbrowse div.track-label .feature-density {\n font-size: 90%;\n font-weight: normal; }\n .jbrowse div.track-label:hover .track-menu-button div {\n height: 8px;\n width: 8px;\n position: absolute;\n left: 8px;\n top: 7px;\n background: url('+n(i(868))+") no-repeat -28px 0; }\n .jbrowse div.track-label:hover .track-menu-button:hover {\n background-color: rgba(0, 0, 100, 0.05);\n border-left-color: #ccc; }\n .jbrowse div.track-label .track-close-button {\n background: url("+n(i(785))+") no-repeat 40% 50%; }\n .jbrowse div.track-label .track-close-button:hover {\n background-image: url("+n(i(786))+"); }\n .jbrowse div.track-label:hover .track-menu-button:hover div {\n background-position-x: 0px; }\n .jbrowse div.track-label:hover {\n background: #FAFAFA url("+n(i(640))+") repeat-x top left;\n border-width: 1px;\n border-color: #666;\n border-color: black;\n background-color: #ddd;\n opacity: 1.0; }\n .jbrowse div.tracklist-label {\n padding: 3px;\n background-color: #ddd;\n background-color: rgba(220, 220, 220, 0.9); }\n .jbrowse div.tracklist-label:hover {\n background-color: #396494;\n border: 1px solid black; }\n .jbrowse div.tracklist-container.dojoDndItemSelected {\n background-color: #396494;\n background-color: #6e849c; }\n .jbrowse div.tracklist-container.dojoDndItemSelected .tracklist-label {\n background-color: #b2c3d6; }\n .jbrowse .jbrowseSimpleTrackSelector {\n background: #f2f2f2;\n background-image: url("+n(i(1030))+");\n background-repeat: repeat-y;\n background-position: right; }\n .jbrowse .jbrowseSimpleTrackSelector h2 {\n margin: 0.5em 0 0 0.5em; }\n .jbrowse div.textfilter {\n margin: 0.5em 0 1em 0.3em; }\n .jbrowse div.textfilter input {\n padding: 2px 0 2px 18px;\n width: 100%;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse div.textfilter > div.jbrowseIconCancel {\n position: absolute;\n left: 5px;\n margin-top: -6px;\n top: 50%; }\n .jbrowse #trackPane_splitter {\n background: #dcdcdc;\n width: 5px;\n border-right: 1px solid #555; }\n .jbrowse div.tracklist-container {\n padding: 0 4px; }\n .jbrowse .tracklist-container.dojoDndItemBefore {\n border-top: 3px solid #999;\n padding-top: 2px; }\n .jbrowse .tracklist-container.dojoDndItemAfter {\n border-bottom: 3px solid #999;\n padding-bottom: 2px; }\n .jbrowse .feature-label {\n position: absolute;\n border: 0px;\n margin: -2px 0px 0px 0px;\n /* padding: 0px 0px 2px 0px; for more space below labels */\n padding: 0px 0px 0px 0px;\n /* font-size: 80%; */\n white-space: nowrap;\n z-index: 12;\n cursor: pointer; }\n .jbrowse a.feature-label {\n color: black; }\n .jbrowse .feature-description {\n color: blue;\n margin-top: -0.2em; }\n .jbrowse .feature-label.highlighted {\n background: rgba(255, 255, 0, 0.7);\n font-weight: bold;\n border: 1px solid red;\n padding: 0 2px; }\n .jbrowse .rubber-highlight {\n border: 1px solid black;\n height: 100%;\n border-color: rgba(0, 0, 0, 0.6);\n background-color: #8087ff;\n background-color: rgba(128, 136, 255, 0.6);\n padding: 0;\n margin: 0;\n overflow: hidden;\n cursor: crosshair; }\n .jbrowse .rubber-highlight div {\n color: white;\n padding: 0;\n margin-top: 30px;\n font-size: 160%;\n text-align: center;\n font-weight: bold;\n text-shadow: #6374AB 1px 1px 0; }\n .jbrowse div.overview .rubber-highlight {\n font-size: 0;\n height: 100%;\n border-top: none;\n border-bottom: none; }\n .jbrowse div.overview .rubber-highlight * {\n display: none; }\n .jbrowse .icon.nav {\n height: 30px !important; }\n .jbrowse #moveLeft, .jbrowse #moveRight, .jbrowse #bigZoomOut, .jbrowse #zoomOut, .jbrowse #bigZoomIn, .jbrowse #zoomIn, .jbrowse #moveLeftSmall, .jbrowse #moveRightSmall, .jbrowse #zoomInSmall, .jbrowse #zoomOutSmall {\n background: url("+n(i(1031))+") top left no-repeat;\n background-size: 50px 280px;\n cursor: pointer; }\n .jbrowse #moveLeft {\n background-position: 5px -35px;\n width: 55px; }\n .jbrowse #moveLeftSmall {\n background-position: 0px -200px;\n height: 20px !important;\n width: 33px; }\n .jbrowse #moveRight {\n background-position: 0px -135px;\n width: 55px; }\n .jbrowse #moveRightSmall {\n background-position: 0px -220px;\n height: 20px !important;\n width: 33px; }\n .jbrowse #bigZoomOut {\n background-position: 0px -168px;\n width: 35px; }\n .jbrowse #zoomOut {\n background-position: 0px -100px;\n width: 30px; }\n .jbrowse #zoomOutSmall {\n background-position: 0px -240px;\n height: 20px !important;\n width: 20px; }\n .jbrowse #bigZoomIn {\n background-position: 0px -69px;\n width: 35px; }\n .jbrowse #zoomIn {\n background-position: 0px -2.5px;\n width: 30px; }\n .jbrowse #zoomInSmall {\n background-position: 0px -260px;\n height: 20px !important;\n width: 20px; }\n .jbrowse input.nav {\n font-size: 9px !important; }\n .jbrowse .fatal_error {\n font-size: 14px;\n margin: 1em; }\n .jbrowse div.error, .jbrowse div.message {\n margin: 1px 1em;\n padding: 2px 6px;\n border: 1px outset rgba(0, 0, 0, 0.3); }\n .jbrowse div.error {\n background: #ff8888; }\n .jbrowse div.track > div.error {\n width: 30em;\n position: absolute; }\n .jbrowse div.error h2 {\n margin-top: 0; }\n .jbrowse div.error .codecaption {\n font-size: 90%;\n font-weight: bold;\n margin-top: 1em;\n margin-left: 0.2em; }\n .jbrowse div.error code {\n display: block;\n font-size: 10px;\n padding: 0.4em 1.2em;\n margin: 0 0.3em 0.3em 0.3em;\n overflow: auto;\n max-height: 6em; }\n .jbrowse div.message {\n background: #eee; }\n .jbrowse div.block > div.message {\n margin: 1em 0;\n position: absolute; }\n .jbrowse div.block:hover > div.message {\n z-index: 30000; }\n .jbrowse .sharePane input {\n padding: 1px 0 2px 1px; }\n .jbrowse .sharePane .copyReminder {\n background-color: #396494;\n text-align: center;\n width: 50%;\n margin: 0 auto;\n color: white;\n padding: 2px;\n font-weight: bold; }\n .jbrowse .sharePane input {\n border: 1px solid #ccc; }\n .jbrowse .basePairLabel {\n color: black;\n position: fixed;\n font-weight: bold;\n font-size: 9px;\n display: none;\n background: #fefefe;\n padding: 0 0.7em;\n z-index: 1000;\n text-align: center;\n cursor: crosshair;\n border: 1px solid #888; }\n .jbrowse .basePairLabel.rubber {\n z-index: 25; }\n .jbrowse .trackVerticalPositionIndicatorMain {\n position: fixed;\n display: none;\n cursor: crosshair;\n left: -2px;\n height: 100%;\n width: 1px;\n background-color: #FF0000;\n z-index: 15;\n top: 0; }\n .jbrowse .baseQuality {\n font-family: Courier New, monospace; }\n .jbrowse table.baseQuality {\n margin-bottom: 1em; }\n .jbrowse table.baseQuality td {\n padding: 0 0.2em;\n line-height: 0.95;\n text-align: center; }\n .jbrowse .baseQuality .basePosition {\n display: inline-block;\n padding: 0 0.3em 0.4em 0.3em; }\n .jbrowse .baseQuality .basePosition:hover {\n background: #ccc; }\n .jbrowse .baseQuality span.seq {\n display: block;\n text-align: center;\n font-weight: bold; }\n .jbrowse .baseQuality span.qual {\n display: block;\n text-align: center; }\n .jbrowse .basic,\n .jbrowse .plus-basic,\n .jbrowse .minus-basic {\n position: absolute;\n cursor: pointer;\n z-index: 10;\n min-width: 1px; }\n .jbrowse .basicSubfeature {\n position: absolute;\n cursor: pointer;\n z-index: 12;\n min-width: 1px; }\n .jbrowse div.hist {\n position: absolute;\n z-index: 10;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse .feature,\n .jbrowse .plus-feature,\n .jbrowse .minus-feature {\n position: absolute;\n height: 7px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px;\n z-index: 10;\n background-color: #2F4F4F;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse .plus-feature {\n background-image: url("+n(i(1424))+"); }\n .jbrowse .minus-feature {\n background-image: url("+n(i(1425))+"); }\n .jbrowse .subfeature,\n .jbrowse .plus-subfeature,\n .jbrowse .minus-subfeature {\n position: absolute;\n background-color: #2F4F4F;\n height: 7px;\n min-width: 1px;\n z-index: 12;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n -ms-box-sizing: border-box; }\n .jbrowse .alignment,\n .jbrowse .plus-alignment,\n .jbrowse .minus-alignment {\n background-color: #ccc;\n /* these should all 3 match */\n height: 11px;\n line-height: 11px;\n font-size: 11px; }\n .jbrowse .plus-alignment {\n background-color: #EC8B8B; }\n .jbrowse .minus-alignment {\n background-color: #898FD8; }\n .jbrowse .alignment.missing_mate, .jbrowse .plus-alignment.missing_mate, .jbrowse .minus-alignment.missing_mate {\n background-image: url("+n(i(1426))+"); }\n .jbrowse .alignment > .mismatch, .jbrowse .minus-alignment > .mismatch, .jbrowse .plus-alignment > .mismatch {\n height: 100%; }\n .jbrowse .alignment > .deletion, .jbrowse .minus-alignment > .deletion, .jbrowse .plus-alignment > .deletion {\n background-color: black;\n height: 100%; }\n .jbrowse .alignment > .deletion *, .jbrowse .plus-alignment > .deletion *, .jbrowse .minus-alignment > .deletion * {\n color: white; }\n .jbrowse .alignment > .insertion, .jbrowse .plus-alignment > .insertion, .jbrowse .minus-alignment > .insertion {\n background-color: white;\n color: black;\n height: 100%; }\n .jbrowse .alignment > .skip, .jbrowse .plus-alignment > .skip, .jbrowse .minus-alignment > .skip {\n background: url("+n(i(1032))+") repeat-x 0 50% white;\n height: 100%;\n opacity: 0.7; }\n .jbrowse div.feature-hist {\n background-color: blue;\n border-color: #5858C4; }\n .jbrowse .feature2, .jbrowse .plus-feature2, .jbrowse .minus-feature2 {\n position: absolute;\n height: 7px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px;\n z-index: 10;\n background-color: #62d335; }\n .jbrowse .Boolean-transparent {\n opacity: 0.6; }\n .jbrowse div.feature2-hist {\n background-color: #9f9;\n border-color: #ada; }\n .jbrowse .feature3, .jbrowse .plus-feature3, .jbrowse .minus-feature3 {\n position: absolute;\n height: 7px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px;\n z-index: 10;\n background-color: goldenrod; }\n .jbrowse div.feature3-hist {\n background-color: yellow;\n border-color: black; }\n .jbrowse .feature4, .jbrowse .plus-feature4, .jbrowse .minus-feature4 {\n position: absolute;\n height: 11px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px;\n z-index: 10;\n background: yellow; }\n .jbrowse div.feature4-hist {\n background-color: yellow;\n border-color: black; }\n .jbrowse .feature5, .jbrowse .plus-feature5, .jbrowse .minus-feature5 {\n position: absolute;\n height: 7px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px;\n z-index: 10;\n background-color: blue; }\n .jbrowse div.feature5-hist {\n background-color: blue;\n border-color: lightblue; }\n .jbrowse div.exon-hist {\n background-color: #4B76E8;\n border-color: #00f; }\n .jbrowse .exon,\n .jbrowse .plus-exon,\n .jbrowse .minus-exon {\n position: absolute;\n height: 7px;\n background-color: #4B76E8;\n border-style: solid;\n border-color: #00f;\n border-width: 1px;\n cursor: pointer;\n z-index: 10; }\n .jbrowse div.est-hist {\n background-color: #ED9185;\n border-color: #c33; }\n .jbrowse .est,\n .jbrowse .plus-est,\n .jbrowse .minus-est {\n position: absolute;\n height: 7px;\n background-color: #ED9185; }\n .jbrowse .dblhelix,\n .jbrowse .plus-dblhelix,\n .jbrowse .minus-dblhelix {\n position: absolute;\n height: 11px;\n background-image: url("+n(i(1427))+");\n background-repeat: repeat-x;\n min-width: 1px;\n cursor: pointer;\n z-index: 10; }\n .jbrowse div.dblhelix-hist {\n background-color: #fcc;\n border-color: #daa; }\n .jbrowse .plus-helix,\n .jbrowse .minus-helix {\n position: absolute;\n height: 11px;\n background-image: url("+n(i(1428))+");\n background-repeat: repeat-x;\n min-width: 1px;\n cursor: pointer;\n z-index: 10; }\n .jbrowse div.helix-hist {\n background-color: #cfc;\n border-color: #ada; }\n .jbrowse .loops, .jbrowse .minus-loops, .jbrowse .plus-loops {\n position: absolute;\n height: 13px;\n background-image: url("+n(i(1429))+");\n background-repeat: repeat-x;\n cursor: pointer; }\n .jbrowse .diamonds, .jbrowse .minus-diamonds, .jbrowse .plus-diamonds {\n position: absolute;\n height: 13px;\n background-image: url("+n(i(1430))+");\n background-repeat: repeat-x;\n cursor: pointer; }\n .jbrowse .plus-cds, .jbrowse .minus-cds {\n position: absolute;\n height: 13px;\n background-repeat: repeat-x;\n cursor: pointer;\n min-width: 1px; }\n .jbrowse .plus-cds_phase0 {\n background-image: url("+n(i(1431))+"); }\n .jbrowse .plus-cds_phase1 {\n background-image: url("+n(i(1432))+"); }\n .jbrowse .plus-cds_phase2 {\n background-image: url("+n(i(1433))+"); }\n .jbrowse .minus-cds_phase0 {\n background-image: url("+n(i(1434))+"); }\n .jbrowse .minus-cds_phase1 {\n background-image: url("+n(i(1435))+"); }\n .jbrowse .minus-cds_phase2 {\n background-image: url("+n(i(1436))+"); }\n .jbrowse div.cds-hist {\n background-color: #fcc;\n border-color: #daa; }\n .jbrowse .topbracket {\n position: absolute;\n height: 8px;\n border-style: solid solid none solid;\n border-width: 2px;\n border-color: orange;\n cursor: pointer; }\n .jbrowse .bottombracket {\n position: absolute;\n height: 8px;\n border-style: none solid solid solid;\n border-width: 2px;\n border-color: green;\n cursor: pointer; }\n .jbrowse .hourglass, .jbrowse .plus-hourglass, .jbrowse .minus-hourglass {\n position: absolute;\n height: 0px;\n border-style: solid;\n border-width: 6px 3px 6px 3px;\n cursor: pointer; }\n .jbrowse .triangle, .jbrowse .plus-triangle, .jbrowse .minus-triangle {\n position: absolute;\n height: 0px;\n border-style: solid;\n border-width: 6px 3px 0px 3px;\n cursor: pointer; }\n .jbrowse .hgred {\n border-color: #f99 white #f99 white; }\n .jbrowse div.hgred-hist {\n background-color: #daa;\n border-color: #d44; }\n .jbrowse .hgblue {\n border-color: #99f white #99f white; }\n .jbrowse div.hgblue-hist {\n background-color: #aad;\n border-color: #99f; }\n .jbrowse .ibeam, .jbrowse .plus-ibeam, .jbrowse .minus-ibeam {\n position: absolute;\n height: 2px;\n background-color: blue;\n border-style: solid;\n border-width: 8px 4px 8px 4px;\n border-color: white blue white blue;\n cursor: pointer;\n box-sizing: content-box;\n -moz-box-sizing: content-box;\n -webkit-box-sizing: content-box;\n -ms-box-sizing: content-box; }\n .jbrowse div.transcript-hist {\n background-color: #ddd;\n border-color: #FF9185; }\n .jbrowse .transcript,\n .jbrowse .plus-transcript,\n .jbrowse .minus-transcript {\n position: absolute;\n height: 11px;\n background: url("+n(i(1032))+") repeat-x 0 4px white;\n z-index: 6;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .plus-transcript-arrowhead,\n .jbrowse .plus-arrowhead {\n position: absolute;\n width: 9px;\n height: 5px;\n background-image: url("+n(i(1437))+");\n background-repeat: no-repeat;\n z-index: 100; }\n .jbrowse .minus-transcript-arrowhead,\n .jbrowse .minus-arrowhead {\n position: absolute;\n width: 9px;\n height: 5px;\n background-image: url("+n(i(1438))+");\n background-repeat: no-repeat;\n z-index: 100; }\n .jbrowse .plus-intron, .jbrowse .minus-intron {\n display: none; }\n .jbrowse .hidden, .jbrowse .plus-hidden, .jbrowse .minus-hidden {\n display: none; }\n .jbrowse .plus-CDS,\n .jbrowse .plus-transcript-CDS,\n .jbrowse .minus-CDS,\n .jbrowse .minus-transcript-CDS {\n position: absolute;\n height: 11px;\n background: #F09A9A;\n cursor: pointer;\n z-index: 10;\n min-width: 1px; }\n .jbrowse .plus-exon,\n .jbrowse .minus-exon,\n .jbrowse .plus-UTR,\n .jbrowse .minus-UTR,\n .jbrowse .plus-five_prime_UTR,\n .jbrowse .minus-five_prime_UTR,\n .jbrowse .plus-three_prime_UTR,\n .jbrowse .minus-three_prime_UTR {\n position: absolute;\n height: 7px;\n background-color: #B66;\n border-style: solid;\n border-color: #D88;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .generic_parent,\n .jbrowse .plus-generic_parent,\n .jbrowse .minus-generic_parent {\n position: absolute;\n height: 4px;\n background-color: #AAA;\n z-index: 6;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse div.generic_parent-hist {\n background-color: #ddd;\n border-color: #555; }\n .jbrowse .match_part,\n .jbrowse .plus-match_part,\n .jbrowse .minus-match_part {\n position: absolute;\n height: 4px;\n background-color: #66B;\n border-style: solid;\n border-color: #88D;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .generic_part_a,\n .jbrowse .plus-generic_part_a,\n .jbrowse .minus-generic_part_a {\n position: absolute;\n height: 4px;\n background-color: #6B6;\n border-style: solid;\n border-color: #8D8;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .wiggleValueDisplay {\n border: 1px solid #aaa;\n padding: 2px;\n -moz-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n -webkit-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3); }\n .jbrowse .wiggleValueDisplay, .jbrowse .wiggleValueDisplay * {\n background: #FFFEF0;\n font-family: Courier New, monospace;\n font-weight: bold;\n cursor: default; }\n .jbrowse .wiggleValueDisplay table {\n border-spacing: 0; }\n .jbrowse .wiggleValueDisplay table * {\n border: none; }\n .jbrowse .wiggleValueDisplay th, .jbrowse .wiggleValueDisplay td {\n border: none;\n padding: 0.2em 0.4em; }\n .jbrowse .wiggleValueDisplay td.count, .jbrowse .wiggleValueDisplay td.pct {\n text-align: right; }\n .jbrowse .wiggleValueDisplay tr.total > td {\n border-top: 1px solid #aaa;\n font-weight: bold; }\n .jbrowse .wigglePositionIndicator {\n background: #333;\n border: none;\n width: 1px;\n cursor: default; }\n .jbrowse .base {\n color: black;\n font-family: Courier New,monospace;\n font-weight: bold;\n text-shadow: white 0px 0px 1px; }\n .jbrowse .base_n {\n background-color: #C6C6C6; }\n .jbrowse .base_a {\n background-color: #00BF00; }\n .jbrowse .base_c {\n background-color: #4747ff; }\n .jbrowse .base_t {\n background-color: #f00; }\n .jbrowse .base_g {\n background-color: #ffa500; }\n .jbrowse .base_reference {\n background-color: #bbb; }\n .jbrowse .base_deletion {\n background-color: #999; }\n .jbrowse .sequence.nocolor .base {\n background-color: #ddd; }\n .jbrowse .featureTooltip {\n background: #FFFEF0;\n border: 1px solid #aaa;\n padding: 2px;\n font-family: Courier New, monospace;\n font-weight: bold;\n cursor: default;\n -moz-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n -webkit-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3); }\n .jbrowse table.sequence {\n border-collapse: collapse; }\n .jbrowse div.sequence_blur {\n /* background: url('../img/sequence_blur.png') #eee repeat-x; */\n background: #f5f5f5;\n background: rgba(50, 50, 50, 0.16);\n border: 0;\n color: #575757;\n height: 31px;\n font-size: 12px;\n text-align: center;\n position: relative; }\n .jbrowse .sequence_blur > span {\n top: 50%;\n position: absolute;\n width: 100%;\n display: block;\n left: 0;\n margin-top: -8px; }\n .jbrowse table.sequence .highlighted {\n background: #ff0; }\n .jbrowse table.sequence .revcom {\n color: red; }\n .jbrowse table.sequence .base, .jbrowse table.sequence > tr, .jbrowse table.translatedSequence > tr, .jbrowse table.translatedSequence {\n height: 14px;\n line-height: 14px; }\n .jbrowse table.sequence.big .base {\n border-right: 1px solid #333; }\n .jbrowse .translatedSequence {\n position: relative;\n border-width: 0px;\n border-collapse: collapse;\n overflow: visible; }\n .jbrowse .translatedSequence table {\n z-index: 10; }\n .jbrowse .translatedSequence.frame0 {\n background-color: #929292; }\n .jbrowse .translatedSequence.frame1 {\n background-color: #B0B0B0; }\n .jbrowse .translatedSequence.frame2 {\n background-color: #E0E0E0; }\n .jbrowse .translatedSequence td.aminoAcid {\n text-align: center;\n z-index: 2000;\n color: black;\n font-family: Courier New,monospace;\n font-weight: bold;\n text-shadow: white 0px 0px 1px; }\n .jbrowse .translatedSequence.big, .jbrowse .translatedSequence.big td.aminoAcid {\n border-right: 1px solid #777; }\n .jbrowse .translatedSequence.frame2 td.aminoAcid {\n border-right-color: #979797; }\n .jbrowse .translatedSequence.frame1 td.aminoAcid {\n border-right-color: #6d6d6d; }\n .jbrowse .translatedSequence.frame0 td.aminoAcid {\n border-right-color: #5f5f5f; }\n .jbrowse .translatedSequence td.aminoAcid_stop {\n background-color: #FF0000; }\n .jbrowse .translatedSequence td.aminoAcid_start {\n background-color: #00FF00; }\n .jbrowse td.base {\n text-align: center;\n z-index: 2000; }\n .jbrowse .aaScheme_buried.base_a {\n background-color: #00a35c; }\n .jbrowse .aaScheme_buried.base_b {\n background-color: #00eb14; }\n .jbrowse .aaScheme_buried.base_c {\n background-color: #0000ff; }\n .jbrowse .aaScheme_buried.base_d {\n background-color: #00eb14; }\n .jbrowse .aaScheme_buried.base_e {\n background-color: #00f10e; }\n .jbrowse .aaScheme_buried.base_f {\n background-color: #008778; }\n .jbrowse .aaScheme_buried.base_g {\n background-color: #009d62; }\n .jbrowse .aaScheme_buried.base_h {\n background-color: #00d52a; }\n .jbrowse .aaScheme_buried.base_i {\n background-color: #0054ab; }\n .jbrowse .aaScheme_buried.base_k {\n background-color: #00ff00; }\n .jbrowse .aaScheme_buried.base_l {\n background-color: #007b84; }\n .jbrowse .aaScheme_buried.base_m {\n background-color: #009768; }\n .jbrowse .aaScheme_buried.base_n {\n background-color: #00eb14; }\n .jbrowse .aaScheme_buried.base_p {\n background-color: #00e01f; }\n .jbrowse .aaScheme_buried.base_q {\n background-color: #00f10e; }\n .jbrowse .aaScheme_buried.base_r {\n background-color: #00fc03; }\n .jbrowse .aaScheme_buried.base_s {\n background-color: #00d52a; }\n .jbrowse .aaScheme_buried.base_t {\n background-color: #00db24; }\n .jbrowse .aaScheme_buried.base_v {\n background-color: #005fa0; }\n .jbrowse .aaScheme_buried.base_w {\n background-color: #00a857; }\n .jbrowse .aaScheme_buried.base_x {\n background-color: #00b649; }\n .jbrowse .aaScheme_buried.base_y {\n background-color: #00e619; }\n .jbrowse .aaScheme_buried.base_z {\n background-color: #00f10e; }\n .jbrowse .aaScheme_cinema.base_a {\n background-color: #BBBBBB; }\n .jbrowse .aaScheme_cinema.base_b {\n background-color: #808080; }\n .jbrowse .aaScheme_cinema.base_c {\n background-color: #ffff00; }\n .jbrowse .aaScheme_cinema.base_d {\n background-color: #ff0000; }\n .jbrowse .aaScheme_cinema.base_e {\n background-color: #ff0000; }\n .jbrowse .aaScheme_cinema.base_f {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_cinema.base_g {\n background-color: #A52A2A; }\n .jbrowse .aaScheme_cinema.base_h {\n background-color: #00FFFF; }\n .jbrowse .aaScheme_cinema.base_i {\n background-color: #BBBBBB; }\n .jbrowse .aaScheme_cinema.base_j {\n background-color: #ffffff; }\n .jbrowse .aaScheme_cinema.base_k {\n background-color: #00FFFF; }\n .jbrowse .aaScheme_cinema.base_l {\n background-color: #BBBBBB; }\n .jbrowse .aaScheme_cinema.base_m {\n background-color: #BBBBBB; }\n .jbrowse .aaScheme_cinema.base_n {\n background-color: #008000; }\n .jbrowse .aaScheme_cinema.base_o {\n background-color: #ffffff; }\n .jbrowse .aaScheme_cinema.base_p {\n background-color: #A52A2A; }\n .jbrowse .aaScheme_cinema.base_q {\n background-color: #008000; }\n .jbrowse .aaScheme_cinema.base_r {\n background-color: #00FFFF; }\n .jbrowse .aaScheme_cinema.base_s {\n background-color: #008000; }\n .jbrowse .aaScheme_cinema.base_t {\n background-color: #008000; }\n .jbrowse .aaScheme_cinema.base_u {\n background-color: #ffffff; }\n .jbrowse .aaScheme_cinema.base_v {\n background-color: #BBBBBB; }\n .jbrowse .aaScheme_cinema.base_w {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_cinema.base_x {\n background-color: #808080; }\n .jbrowse .aaScheme_cinema.base_y {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_cinema.base_z {\n background-color: #808080; }\n .jbrowse .aaScheme_clustal.base_a {\n background-color: #FFA500; }\n .jbrowse .aaScheme_clustal.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_c {\n background-color: #008000; }\n .jbrowse .aaScheme_clustal.base_d {\n background-color: #ff0000; }\n .jbrowse .aaScheme_clustal.base_e {\n background-color: #ff0000; }\n .jbrowse .aaScheme_clustal.base_f {\n background-color: #0000FF; }\n .jbrowse .aaScheme_clustal.base_g {\n background-color: #FFA500; }\n .jbrowse .aaScheme_clustal.base_h {\n background-color: #ff0000; }\n .jbrowse .aaScheme_clustal.base_i {\n background-color: #008000; }\n .jbrowse .aaScheme_clustal.base_j {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_k {\n background-color: #ff0000; }\n .jbrowse .aaScheme_clustal.base_l {\n background-color: #008000; }\n .jbrowse .aaScheme_clustal.base_m {\n background-color: #008000; }\n .jbrowse .aaScheme_clustal.base_n {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_o {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_p {\n background-color: #FFA500; }\n .jbrowse .aaScheme_clustal.base_q {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_r {\n background-color: #ff0000; }\n .jbrowse .aaScheme_clustal.base_s {\n background-color: #FFA500; }\n .jbrowse .aaScheme_clustal.base_t {\n background-color: #FFA500; }\n .jbrowse .aaScheme_clustal.base_u {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_v {\n background-color: #008000; }\n .jbrowse .aaScheme_clustal.base_w {\n background-color: #0000FF; }\n .jbrowse .aaScheme_clustal.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal.base_y {\n background-color: #0000FF; }\n .jbrowse .aaScheme_clustal.base_z {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal2.base_a {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal2.base_c {\n background-color: #f08080; }\n .jbrowse .aaScheme_clustal2.base_d {\n background-color: #c048c0; }\n .jbrowse .aaScheme_clustal2.base_e {\n background-color: #c048c0; }\n .jbrowse .aaScheme_clustal2.base_f {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_g {\n background-color: #f09048; }\n .jbrowse .aaScheme_clustal2.base_h {\n background-color: #15a4a4; }\n .jbrowse .aaScheme_clustal2.base_i {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_k {\n background-color: #f01505; }\n .jbrowse .aaScheme_clustal2.base_l {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_m {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_n {\n background-color: #00ff00; }\n .jbrowse .aaScheme_clustal2.base_p {\n background-color: #ffff00; }\n .jbrowse .aaScheme_clustal2.base_q {\n background-color: #00ff00; }\n .jbrowse .aaScheme_clustal2.base_r {\n background-color: #f01505; }\n .jbrowse .aaScheme_clustal2.base_s {\n background-color: #00ff00; }\n .jbrowse .aaScheme_clustal2.base_t {\n background-color: #00ff00; }\n .jbrowse .aaScheme_clustal2.base_v {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_w {\n background-color: #80a0f0; }\n .jbrowse .aaScheme_clustal2.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_clustal2.base_y {\n background-color: #15a4a4; }\n .jbrowse .aaScheme_clustal2.base_z {\n background-color: #ffffff; }\n .jbrowse .aaScheme_helix.base_a {\n background-color: #e718e7; }\n .jbrowse .aaScheme_helix.base_b {\n background-color: #49b649; }\n .jbrowse .aaScheme_helix.base_c {\n background-color: #23dc23; }\n .jbrowse .aaScheme_helix.base_d {\n background-color: #778877; }\n .jbrowse .aaScheme_helix.base_e {\n background-color: #ff00ff; }\n .jbrowse .aaScheme_helix.base_f {\n background-color: #986798; }\n .jbrowse .aaScheme_helix.base_g {\n background-color: #00ff00; }\n .jbrowse .aaScheme_helix.base_h {\n background-color: #758a75; }\n .jbrowse .aaScheme_helix.base_i {\n background-color: #8a758a; }\n .jbrowse .aaScheme_helix.base_k {\n background-color: #a05fa0; }\n .jbrowse .aaScheme_helix.base_l {\n background-color: #ae51ae; }\n .jbrowse .aaScheme_helix.base_m {\n background-color: #ef10ef; }\n .jbrowse .aaScheme_helix.base_n {\n background-color: #1be41b; }\n .jbrowse .aaScheme_helix.base_p {\n background-color: #00ff00; }\n .jbrowse .aaScheme_helix.base_q {\n background-color: #926d92; }\n .jbrowse .aaScheme_helix.base_r {\n background-color: #6f906f; }\n .jbrowse .aaScheme_helix.base_s {\n background-color: #36c936; }\n .jbrowse .aaScheme_helix.base_t {\n background-color: #47b847; }\n .jbrowse .aaScheme_helix.base_v {\n background-color: #857a85; }\n .jbrowse .aaScheme_helix.base_w {\n background-color: #8a758a; }\n .jbrowse .aaScheme_helix.base_x {\n background-color: #758a75; }\n .jbrowse .aaScheme_helix.base_y {\n background-color: #21de21; }\n .jbrowse .aaScheme_helix.base_z {\n background-color: #c936c9; }\n .jbrowse .aaScheme_hydrophobicity.base_a {\n background-color: #ad0052; }\n .jbrowse .aaScheme_hydrophobicity.base_b {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_hydrophobicity.base_c {\n background-color: #c2003d; }\n .jbrowse .aaScheme_hydrophobicity.base_d {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_hydrophobicity.base_e {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_hydrophobicity.base_f {\n background-color: #cb0034; }\n .jbrowse .aaScheme_hydrophobicity.base_g {\n background-color: #6a0095; }\n .jbrowse .aaScheme_hydrophobicity.base_h {\n background-color: #1500ea; }\n .jbrowse .aaScheme_hydrophobicity.base_i {\n background-color: #ff0000; }\n .jbrowse .aaScheme_hydrophobicity.base_j {\n background-color: #ffffff; }\n .jbrowse .aaScheme_hydrophobicity.base_k {\n background-color: #0000ff; }\n .jbrowse .aaScheme_hydrophobicity.base_l {\n background-color: #ea0015; }\n .jbrowse .aaScheme_hydrophobicity.base_m {\n background-color: #b0004f; }\n .jbrowse .aaScheme_hydrophobicity.base_n {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_hydrophobicity.base_o {\n background-color: #ffffff; }\n .jbrowse .aaScheme_hydrophobicity.base_p {\n background-color: #4600b9; }\n .jbrowse .aaScheme_hydrophobicity.base_q {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_hydrophobicity.base_r {\n background-color: #0000ff; }\n .jbrowse .aaScheme_hydrophobicity.base_s {\n background-color: #5e00a1; }\n .jbrowse .aaScheme_hydrophobicity.base_t {\n background-color: #61009e; }\n .jbrowse .aaScheme_hydrophobicity.base_u {\n background-color: #ffffff; }\n .jbrowse .aaScheme_hydrophobicity.base_v {\n background-color: #f60009; }\n .jbrowse .aaScheme_hydrophobicity.base_w {\n background-color: #5b00a4; }\n .jbrowse .aaScheme_hydrophobicity.base_x {\n background-color: #680097; }\n .jbrowse .aaScheme_hydrophobicity.base_y {\n background-color: #4f00b0; }\n .jbrowse .aaScheme_hydrophobicity.base_z {\n background-color: #0c00f3; }\n .jbrowse .aaScheme_lesk.base_a {\n background-color: #FFA500; }\n .jbrowse .aaScheme_lesk.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_lesk.base_c {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_d {\n background-color: #ff0000; }\n .jbrowse .aaScheme_lesk.base_e {\n background-color: #ff0000; }\n .jbrowse .aaScheme_lesk.base_f {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_g {\n background-color: #FFA500; }\n .jbrowse .aaScheme_lesk.base_h {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_lesk.base_i {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_j {\n background-color: #ffffff; }\n .jbrowse .aaScheme_lesk.base_k {\n background-color: #ff0000; }\n .jbrowse .aaScheme_lesk.base_l {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_m {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_n {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_lesk.base_o {\n background-color: #ffffff; }\n .jbrowse .aaScheme_lesk.base_p {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_q {\n background-color: #FF00FF; }\n .jbrowse .aaScheme_lesk.base_r {\n background-color: #ff0000; }\n .jbrowse .aaScheme_lesk.base_s {\n background-color: #FFA500; }\n .jbrowse .aaScheme_lesk.base_t {\n background-color: #FFA500; }\n .jbrowse .aaScheme_lesk.base_u {\n background-color: #ffffff; }\n .jbrowse .aaScheme_lesk.base_v {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_w {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_lesk.base_y {\n background-color: #008000; }\n .jbrowse .aaScheme_lesk.base_z {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_a {\n background-color: #77dd88; }\n .jbrowse .aaScheme_mae.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_c {\n background-color: #99ee66; }\n .jbrowse .aaScheme_mae.base_d {\n background-color: #55bb33; }\n .jbrowse .aaScheme_mae.base_e {\n background-color: #55bb33; }\n .jbrowse .aaScheme_mae.base_f {\n background-color: #9999ff; }\n .jbrowse .aaScheme_mae.base_g {\n background-color: #77dd88; }\n .jbrowse .aaScheme_mae.base_h {\n background-color: #5555ff; }\n .jbrowse .aaScheme_mae.base_i {\n background-color: #66bbff; }\n .jbrowse .aaScheme_mae.base_j {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_k {\n background-color: #ffcc77; }\n .jbrowse .aaScheme_mae.base_l {\n background-color: #66bbff; }\n .jbrowse .aaScheme_mae.base_m {\n background-color: #66bbff; }\n .jbrowse .aaScheme_mae.base_n {\n background-color: #55bb33; }\n .jbrowse .aaScheme_mae.base_o {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_p {\n background-color: #eeaaaa; }\n .jbrowse .aaScheme_mae.base_q {\n background-color: #55bb33; }\n .jbrowse .aaScheme_mae.base_r {\n background-color: #ffcc77; }\n .jbrowse .aaScheme_mae.base_s {\n background-color: #ff4455; }\n .jbrowse .aaScheme_mae.base_t {\n background-color: #ff4455; }\n .jbrowse .aaScheme_mae.base_u {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_v {\n background-color: #66bbff; }\n .jbrowse .aaScheme_mae.base_w {\n background-color: #9999ff; }\n .jbrowse .aaScheme_mae.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_mae.base_y {\n background-color: #9999ff; }\n .jbrowse .aaScheme_mae.base_z {\n background-color: #ffffff; }\n .jbrowse .aaScheme_purine.base_a {\n background-color: #FF83FA; }\n .jbrowse .aaScheme_purine.base_c {\n background-color: #40E0D0; }\n .jbrowse .aaScheme_purine.base_g {\n background-color: #FF83FA; }\n .jbrowse .aaScheme_purine.base_r {\n background-color: #FF83FA; }\n .jbrowse .aaScheme_purine.base_t {\n background-color: #40E0D0; }\n .jbrowse .aaScheme_purine.base_u {\n background-color: #40E0D0; }\n .jbrowse .aaScheme_purine.base_y {\n background-color: #40E0D0; }\n .jbrowse .aaScheme_strand.base_a {\n background-color: #5858a7; }\n .jbrowse .aaScheme_strand.base_b {\n background-color: #4343bc; }\n .jbrowse .aaScheme_strand.base_c {\n background-color: #9d9d62; }\n .jbrowse .aaScheme_strand.base_d {\n background-color: #2121de; }\n .jbrowse .aaScheme_strand.base_e {\n background-color: #0000ff; }\n .jbrowse .aaScheme_strand.base_f {\n background-color: #c2c23d; }\n .jbrowse .aaScheme_strand.base_g {\n background-color: #4949b6; }\n .jbrowse .aaScheme_strand.base_h {\n background-color: #60609f; }\n .jbrowse .aaScheme_strand.base_i {\n background-color: #ecec13; }\n .jbrowse .aaScheme_strand.base_k {\n background-color: #4747b8; }\n .jbrowse .aaScheme_strand.base_l {\n background-color: #b2b24d; }\n .jbrowse .aaScheme_strand.base_m {\n background-color: #82827d; }\n .jbrowse .aaScheme_strand.base_n {\n background-color: #64649b; }\n .jbrowse .aaScheme_strand.base_p {\n background-color: #2323dc; }\n .jbrowse .aaScheme_strand.base_q {\n background-color: #8c8c73; }\n .jbrowse .aaScheme_strand.base_r {\n background-color: #6b6b94; }\n .jbrowse .aaScheme_strand.base_s {\n background-color: #4949b6; }\n .jbrowse .aaScheme_strand.base_t {\n background-color: #9d9d62; }\n .jbrowse .aaScheme_strand.base_v {\n background-color: #ffff00; }\n .jbrowse .aaScheme_strand.base_w {\n background-color: #c0c03f; }\n .jbrowse .aaScheme_strand.base_x {\n background-color: #797986; }\n .jbrowse .aaScheme_strand.base_y {\n background-color: #d3d32c; }\n .jbrowse .aaScheme_strand.base_z {\n background-color: #4747b8; }\n .jbrowse .aaScheme_taylor.base_a {\n background-color: #ccff00; }\n .jbrowse .aaScheme_taylor.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_taylor.base_c {\n background-color: #ffff00; }\n .jbrowse .aaScheme_taylor.base_d {\n background-color: #ff0000; }\n .jbrowse .aaScheme_taylor.base_e {\n background-color: #ff0066; }\n .jbrowse .aaScheme_taylor.base_f {\n background-color: #00ff66; }\n .jbrowse .aaScheme_taylor.base_g {\n background-color: #ff9900; }\n .jbrowse .aaScheme_taylor.base_h {\n background-color: #0066ff; }\n .jbrowse .aaScheme_taylor.base_i {\n background-color: #66ff00; }\n .jbrowse .aaScheme_taylor.base_k {\n background-color: #6600ff; }\n .jbrowse .aaScheme_taylor.base_l {\n background-color: #33ff00; }\n .jbrowse .aaScheme_taylor.base_m {\n background-color: #00ff00; }\n .jbrowse .aaScheme_taylor.base_n {\n background-color: #cc00ff; }\n .jbrowse .aaScheme_taylor.base_p {\n background-color: #ffcc00; }\n .jbrowse .aaScheme_taylor.base_q {\n background-color: #ff00cc; }\n .jbrowse .aaScheme_taylor.base_r {\n background-color: #0000ff; }\n .jbrowse .aaScheme_taylor.base_s {\n background-color: #ff3300; }\n .jbrowse .aaScheme_taylor.base_t {\n background-color: #ff6600; }\n .jbrowse .aaScheme_taylor.base_v {\n background-color: #99ff00; }\n .jbrowse .aaScheme_taylor.base_w {\n background-color: #00ccff; }\n .jbrowse .aaScheme_taylor.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_taylor.base_y {\n background-color: #00ffcc; }\n .jbrowse .aaScheme_taylor.base_z {\n background-color: #ffffff; }\n .jbrowse .aaScheme_turn.base_a {\n background-color: #2cd3d3; }\n .jbrowse .aaScheme_turn.base_b {\n background-color: #f30c0c; }\n .jbrowse .aaScheme_turn.base_c {\n background-color: #a85757; }\n .jbrowse .aaScheme_turn.base_d {\n background-color: #e81717; }\n .jbrowse .aaScheme_turn.base_e {\n background-color: #778888; }\n .jbrowse .aaScheme_turn.base_f {\n background-color: #1ee1e1; }\n .jbrowse .aaScheme_turn.base_g {\n background-color: #ff0000; }\n .jbrowse .aaScheme_turn.base_h {\n background-color: #708f8f; }\n .jbrowse .aaScheme_turn.base_i {\n background-color: #00ffff; }\n .jbrowse .aaScheme_turn.base_k {\n background-color: #7e8181; }\n .jbrowse .aaScheme_turn.base_l {\n background-color: #1ce3e3; }\n .jbrowse .aaScheme_turn.base_m {\n background-color: #1ee1e1; }\n .jbrowse .aaScheme_turn.base_n {\n background-color: #ff0000; }\n .jbrowse .aaScheme_turn.base_p {\n background-color: #f60909; }\n .jbrowse .aaScheme_turn.base_q {\n background-color: #3fc0c0; }\n .jbrowse .aaScheme_turn.base_r {\n background-color: #708f8f; }\n .jbrowse .aaScheme_turn.base_s {\n background-color: #e11e1e; }\n .jbrowse .aaScheme_turn.base_t {\n background-color: #738c8c; }\n .jbrowse .aaScheme_turn.base_v {\n background-color: #07f8f8; }\n .jbrowse .aaScheme_turn.base_w {\n background-color: #738c8c; }\n .jbrowse .aaScheme_turn.base_x {\n background-color: #7c8383; }\n .jbrowse .aaScheme_turn.base_y {\n background-color: #9d6262; }\n .jbrowse .aaScheme_turn.base_z {\n background-color: #5ba4a4; }\n .jbrowse .aaScheme_zappo.base_a {\n background-color: #ffafaf; }\n .jbrowse .aaScheme_zappo.base_b {\n background-color: #ffffff; }\n .jbrowse .aaScheme_zappo.base_c {\n background-color: #ffff00; }\n .jbrowse .aaScheme_zappo.base_d {\n background-color: #ff0000; }\n .jbrowse .aaScheme_zappo.base_e {\n background-color: #ff0000; }\n .jbrowse .aaScheme_zappo.base_f {\n background-color: #ffc800; }\n .jbrowse .aaScheme_zappo.base_g {\n background-color: #ff00ff; }\n .jbrowse .aaScheme_zappo.base_h {\n background-color: #6464ff; }\n .jbrowse .aaScheme_zappo.base_i {\n background-color: #ffafaf; }\n .jbrowse .aaScheme_zappo.base_k {\n background-color: #6464ff; }\n .jbrowse .aaScheme_zappo.base_l {\n background-color: #ffafaf; }\n .jbrowse .aaScheme_zappo.base_m {\n background-color: #ffafaf; }\n .jbrowse .aaScheme_zappo.base_n {\n background-color: #00ff00; }\n .jbrowse .aaScheme_zappo.base_p {\n background-color: #ff00ff; }\n .jbrowse .aaScheme_zappo.base_q {\n background-color: #00ff00; }\n .jbrowse .aaScheme_zappo.base_r {\n background-color: #6464ff; }\n .jbrowse .aaScheme_zappo.base_s {\n background-color: #00ff00; }\n .jbrowse .aaScheme_zappo.base_t {\n background-color: #00ff00; }\n .jbrowse .aaScheme_zappo.base_v {\n background-color: #ffafaf; }\n .jbrowse .aaScheme_zappo.base_w {\n background-color: #ffc800; }\n .jbrowse .aaScheme_zappo.base_x {\n background-color: #ffffff; }\n .jbrowse .aaScheme_zappo.base_y {\n background-color: #ffc800; }\n .jbrowse .aaScheme_zappo.base_z {\n background-color: #ffffff; }\n .jbrowse div.menuBar {\n padding: 1px 0;\n height: 25px;\n background: #396494;\n text-align: right;\n line-height: 1; }\n .jbrowse div.menuBar a {\n color: white; }\n .jbrowse div.menuBar .dataset-name {\n font-size: 13px;\n color: white;\n font-style: italic;\n padding-right: 1em;\n padding-top: 7px; }\n .jbrowse div.menuBar * {\n outline: none;\n vertical-align: top; }\n .jbrowse div.menuBar .dijitButtonNode {\n background: transparent;\n border: 2px outset rgba(120, 120, 120, 0.2);\n height: 18px; }\n .jbrowse div.topLink {\n position: absolute;\n right: 0;\n top: 0;\n z-index: 50;\n background: white;\n border: 1px solid #888;\n border-width: 0 0 1px 1px; }\n .jbrowse div.menuBar a, .jbrowse .topLink a {\n padding: 0 0.8ex;\n text-decoration: none; }\n .jbrowse .menuBar .powered_by {\n float: left;\n font-size: 125%;\n font-family: 'Helvetica Neue', Arial, Helvetica, 'Nimbus Sans L', sans-serif;\n font-weight: bold;\n line-height: 25px;\n /* note this line-height should be the same as the fixed height of the menuBar */\n cursor: pointer; }\n .jbrowse .share {\n line-height: 18px; }\n .jbrowse .share .icon {\n height: 8px;\n width: 19px;\n display: inline;\n display: inline-block;\n background: url("+n(i(1033))+") no-repeat -149px -91px;\n margin-right: 2px;\n margin-top: 2px;\n vertical-align: middle; }\n .jbrowse a.topLink, .jbrowse a.topLink * {\n cursor: pointer; }\n .jbrowse .topLink .powered_by {\n padding: 0 0.5em;\n color: black;\n text-decoration: none; }\n .jbrowse .menuBar .dijitButtonHover,\n .jbrowse .menuBar .dijitDropDownButtonHover {\n background: rgba(255, 255, 255, 0.07); }\n .jbrowse .menuBar .dijitButtonActive .dijitButtonNode,\n .jbrowse .menuBar .dijitDropDownButtonActive .dijitButtonNode {\n border: 2px inset rgba(120, 120, 120, 0.2); }\n .jbrowse .menuBar .dijitButtonNode {\n padding: 0 1em; }\n .jbrowse .menuBar .dijitButtonNode * {\n color: white; }\n .jbrowse .menuBar .config .icon {\n height: 16px;\n width: 16px;\n margin-right: 2px;\n margin-top: -2px;\n display: inline;\n display: inline-block;\n background: url("+n(i(1033))+") no-repeat -168px -27px;\n vertical-align: middle; }\n .jbrowse .menuBar > .menu, .jbrowse .menuBar > .dijitComboBox {\n float: left;\n font-size: 120%;\n color: white;\n background: transparent;\n height: 100%;\n border: none; }\n .jbrowse .menuBar > .dijitComboBox > .dijitInputContainer {\n height: 100%; }\n .jbrowse .menuBar > .dijitComboBox .dijitArrowButton {\n padding: 0 3px 0 2px;\n height: 100%; }\n .jbrowse .menuBar > .dijitComboBox .dijitArrowButton .dijitArrowButtonInner {\n background: url("+n(i(868))+") no-repeat scroll -56px center;\n margin-top: 4px; }\n .jbrowse .menuBar > .dijitComboBox .dijitArrowButton:hover {\n background: rgba(255, 255, 255, 0.2); }\n .jbrowse .menuBar > .dijitComboBox .dataset_select {\n font-weight: bold;\n background: transparent;\n border: none;\n color: inherit;\n font-size: inherit;\n font-style: italic;\n height: 100%;\n padding-bottom: 1px;\n padding-left: 3px; }\n .jbrowse .menuBar > .dijitComboBox .dataset_select .dijitSelectLabel {\n padding: 0 0.5em;\n vertical-align: middle; }\n .jbrowse .menuBar > .dijitComboBox .dataset_select.dijitSelectHover td {\n color: white; }\n .jbrowse .menuBar > .dijitComboBox .dataset_select .dijitButtonContents {\n background: transparent;\n border-color: transparent; }\n .jbrowse.globalMenu .dijitMenuItem td {\n padding: 0.5em 2px 0.5em 5px; }\n .jbrowse .menuBar > .menu .dijitButtonNode {\n border: none; }\n .jbrowse .menuBar > .menu.dijitDropDownButton,\n .jbrowse .menuBar > .menu.dijitDropDownButton * {\n margin: 0;\n padding: 0;\n line-height: 25px; }\n .jbrowse .menuBar > .menu.dijitDropDownButton .dijitButtonNode {\n padding: 0 1em 0 0.7em;\n text-align: left; }\n .jbrowse .menuBar > .menu .dijitDropDownButtonHover .dijitButtonNode {\n background: rgba(255, 255, 255, 0.07); }\n .jbrowse .menuBar > .menu .dijitDropDownButtonActive .dijitButtonNode {\n border: none; }\n .jbrowse .welcome_button {\n border: 1px black;\n background-color: #396494;\n color: white;\n padding: 10px;\n margin: 2px;\n width: 200px; }\n .jbrowse .welcome_button:hover {\n background-color: #3A8A9A; }\n .jbrowse #location-info {\n display: inline-block;\n border: 0px solid #bbb;\n padding: 3px 3px 3px 3px;\n background-color: rgba(235, 235, 235, 0.6);\n margin-right: 6px;\n cursor: default;\n position: relative;\n top: 2px;\n min-width: 40ex; }\n .jbrowse #search-box {\n margin-right: 10px; }\n .jbrowse .separate-location-box {\n float: right; }\n .jbrowse div[id=widget_location] {\n margin-left: 3px !important; }\n .jbrowse #widget_location {\n /* width: 18ex !important;*/\n padding-top: 2px; }\n .jbrowse span1[widgetid=search-go-btn] {\n position: relative;\n left: -3px; }\n .jbrowse div[widgetid=highlight-btn] {\n position: relative;\n top: 1px; }\n .jbrowse .jbrowseIconHelp,\n .jbrowse .jbrowseIconBusy,\n .jbrowse .jbrowseIconLink,\n .jbrowse .jbrowseIconCancel,\n .jbrowse .jbrowseIconHorizontalResize,\n .jbrowse .jbrowseIconVerticalResize {\n background-image: url("+n(i(867))+");\n width: 16px;\n height: 16px; }\n .jbrowse .dijitDisabled .jbrowseIconHelp,\n .jbrowse .dijitDisabled .jbrowseIconBusy,\n .jbrowse .dijitDisabled .jbrowseIconLink,\n .jbrowse .dijitDisabled .jbrowseIconCancel,\n .jbrowse .dijitDisabled .jbrowseIconHorizontalResize,\n .jbrowse .dijitDisabled .jbrowseIconVerticalResize {\n background-image: url("+n(i(1028))+");\n width: 16px;\n height: 16px; }\n .jbrowse .jbrowseIconHelp {\n background-position: 0; }\n .jbrowse .jbrowseIconLink {\n background-position: -152px; }\n .jbrowse .jbrowseIconCancel {\n background-position: -170px; }\n .jbrowse .jbrowseIconBusy {\n background-image: url("+n(i(1029))+"); }\n .jbrowse .jbrowseIconHorizontalResize {\n background-position: -209px; }\n .jbrowse .jbrowseIconVerticalResize {\n background-position: -230px; }\n .jbrowse .dojoxTriStateCheckBox, .jbrowse .dojoxTriStateCheckBoxIcon {\n background-image: url("+n(i(1034))+");\n /* checkbox sprite image */\n background-repeat: no-repeat;\n width: 30px;\n height: 22px !important;\n margin: 0 2px 0 0;\n padding: 5px 5px 5px 5px; }\n .jbrowse .dj_ie6 .dojoxTriStateCheckBox, .jbrowse .dj_ie6 .dojoxTriStateCheckBoxIcon {\n background-image: url("+n(i(1034))+");\n /* checkbox sprite image */ }\n .jbrowse .dojoxTriStateCheckBox {\n /* unchecked */\n background-position: -30px; }\n .jbrowse .dojoxTriStateCheckBoxChecked {\n /* checked */\n background-position: 0px; }\n .jbrowse .dojoxTriStateCheckBoxMixed {\n /* mixed */\n background-position: -90px; }\n .jbrowse .dojoxTriStateCheckBoxDisabled {\n /* disabled and unchecked */\n background-position: -30px; }\n .jbrowse .dojoxTriStateCheckBoxCheckedDisabled {\n /* disabled and checked */\n background-position: 0px; }\n .jbrowse .dojoxTriStateCheckBoxMixedDisabled {\n /* disabled and mixed */\n background-position: -90px; }\n .jbrowse .dojoxTriStateCheckBoxHover {\n /* hovering over and unchecked */\n background-position: -60px; }\n .jbrowse .dojoxTriStateCheckBoxCheckedHover {\n /* hovering over and checked */\n background-position: 0px; }\n .jbrowse .dojoxTriStateCheckBoxMixedHover {\n /* hovering over and mixed */\n background-position: -120px; }\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxHover .dojoxTriStateCheckBoxInner,\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxFocused .dojoxTriStateCheckBoxInner {\n /* focused or hovering over */\n border: dashed; }\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxHover .dojoxTriStateCheckBoxInner,\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxFocused .dojoxTriStateCheckBoxInner {\n /* focused or hovering over */\n border: solid; }\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxDisabled .dojoxTriStateCheckBoxInner {\n /* focused or hovering over */\n opacity: 0.5; }\n .jbrowse .dj_ie .dijit_a11y .dojoxTriStateCheckBoxDisabled .dojoxTriStateCheckBoxInner {\n /* disabled */ }\n .jbrowse .dojoxTriStateCheckBoxInner {\n /* inner text */\n visibility: hidden;\n display: none;\n position: absolute;\n text-align: center; }\n .jbrowse .dijit_a11y .dojoxTriStateCheckBoxInner {\n /* inner text */\n visibility: visible;\n display: block; }\n .jbrowse .dojoxTriStateCheckBoxInput {\n /* place the actual input on top, but all-but-invisible */\n opacity: 0.01;\n padding: 0;\n margin: 0;\n border: 0;\n width: 30px;\n height: 22px;\n background-position: center center;\n background-repeat: no-repeat; }\n .jbrowse .dj_ie .dojoxTriStateCheckBoxInput {\n filter: alpha(opacity=0); }\n .jbrowse .combination_track.empty, .jbrowse .combination_track.empty.pinned {\n background: #aaa;\n background: rgba(0, 0, 0, 0.1); }\n .jbrowse .combinationDialog .formulaPreview {\n text-align: center;\n background-color: white;\n border: 1px solid black;\n padding: 20px 0;\n line-height: 25px; }\n .jbrowse .formulaPreview .leaf {\n /* background: #A1F0A1; */\n /* /\\* margin: 0 1px; *\\/ */\n padding: 0 4px;\n text-decoration: underline;\n /* border: 1px solid #0DCA0D; */\n /* white-space: nowrap; */ }\n .jbrowse .formulaPreview .leaf.highlighted {\n background-color: #BBB; }\n .jbrowse .formulaPreview .op {\n /* font-weight: bold; */\n /* color: #FFF; */\n /* background: #000; */\n /* /\\* padding: 0 7px; *\\/ */\n /* z-index: 10; */\n /* font-size: 120%; */ }\n .jbrowse .jbrowseHierarchicalTrackSelector {\n background: #fafafa;\n overflow: auto; }\n .jbrowse .jbrowseHierarchicalTrackSelector > .header > h2.title {\n padding: 7px 0 0.5em 6px;\n margin: 0; }\n .jbrowse .jbrowseHierarchicalTrackSelector .trackCount {\n display: inline-block;\n float: right; }\n .jbrowse .jbrowseHierarchicalTrackSelector > .header > .textfilterContainer {\n padding: 0 5px 5px 5px; }\n .jbrowse .jbrowseHierarchicalTrackSelector > .header > .textfilterContainer > .textfilter {\n margin: 0; }\n .jbrowse .jbrowseHierarchicalTrackSelector .dijitTitlePaneTitle {\n padding: 0 4px; }\n .jbrowse .jbrowseHierarchicalTrackSelector .dijitTitlePaneTitleFocus:focus {\n outline: none; }\n .jbrowse .jbrowseHierarchicalTrackSelector label.tracklist-label {\n display: block; }\n .jbrowse .jbrowseHierarchicalTrackSelector > .uncategorized {\n background: white;\n padding: 10px;\n border: 1px solid #bfbfbf; }\n .jbrowse .jbrowseHierarchicalTrackSelector label.tracklist-label:hover {\n background: #D2E1F1; }\n .jbrowse .jbrowseHierarchicalTrackSelector label.tracklist-label.collapsed {\n display: none; }\n .jbrowse .jbrowseHierarchicalTrackSelector label.tracklist-label input.check {\n position: relative;\n top: 2px;\n margin: 0 4px; }\n .jbrowse .dj_safari .jbrowseHierarchicalTrackSelector label.tracklist-label input.check {\n top: 0; }\n .jbrowse #hierarchicalTrackPane_splitter {\n background: #fafafa;\n width: 5px;\n border-right: 1px solid #555; }\n .jbrowse .dojoxGrid table {\n margin: 0; }\n .jbrowse .dojoxGridRowSelectorStatusText {\n display: none; }\n .jbrowse#faceted_tracksel {\n position: fixed;\n top: 0;\n left: 0;\n height: 100%;\n /* Track grid */\n /* Track selector title bar */\n /* Facet selection controls */\n /* styling specifically for the title of the first facet title, which is 'My Tracks' */\n /* style the 'empty' and similar messages that show up in the grid master pane */ }\n .jbrowse#faceted_tracksel .active {\n -moz-box-shadow: 4px 4px 10px 3px rgba(30, 30, 50, 0.3);\n -webkit-box-shadow: 4px 4px 10px 3px rgba(30, 30, 50, 0.3);\n box-shadow: 4px 4px 10px 3px rgba(30, 30, 50, 0.3); }\n .jbrowse#faceted_tracksel button, .jbrowse#faceted_tracksel input {\n font-size: 12px; }\n .jbrowse#faceted_tracksel div.mainContainer {\n height: 100%;\n width: 100%; }\n .jbrowse#faceted_tracksel div.mainContainer {\n border-right: 2px solid #555;\n background: #e9e9e9; }\n .jbrowse#faceted_tracksel .dojoxGridCellFocus {\n border-color: transparent;\n border-color: transparent !important; }\n .jbrowse#faceted_tracksel .gridPane .gridControls {\n padding: 2px 3px;\n font-size: 110%; }\n .jbrowse#faceted_tracksel .gridPane .gridControls {\n background: #e9e9e9;\n border: 1px solid #aaa;\n border-right: none; }\n .jbrowse#faceted_tracksel .gridPane .gridControls > * {\n margin: 2px 3px;\n display: inline-block;\n vertical-align: middle; }\n .jbrowse#faceted_tracksel .gridPane .gridControls button {\n height: 2.2em;\n margin: 4px;\n white-space: nowrap; }\n .jbrowse#faceted_tracksel .gridPane .gridControls button > * {\n display: inline-block;\n vertical-align: middle; }\n .jbrowse#faceted_tracksel .gridPane .gridControls button img {\n padding: 0 0.4em 0 0; }\n .jbrowse#faceted_tracksel .busy .gridControls .busy_indicator {\n visibility: visible; }\n .jbrowse#faceted_tracksel .gridControls .busy_indicator {\n z-index: 20;\n visibility: hidden; }\n .jbrowse#faceted_tracksel label.textFilterControl img.text_filter_clear {\n display: none; }\n .jbrowse#faceted_tracksel label.textFilterControl.selected img.text_filter_clear {\n display: block; }\n .jbrowse#faceted_tracksel label.textFilterControl input {\n border-top: 3px solid transparent;\n font-weight: bold;\n padding: 0.2em; }\n .jbrowse#faceted_tracksel label.textFilterControl.selected input {\n border-top: 3px solid #396494;\n background: #D2E1F1; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top {\n border-bottom: 1px solid #ccc;\n padding: 5px; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top {\n background: #396494; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top .topLink {\n color: white; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top > * {\n display: inline-block;\n vertical-align: middle;\n margin-left: 5px; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top .title {\n padding: 0;\n width: 185px;\n font-weight: bold;\n color: white;\n font-size: 180%; }\n .jbrowse#faceted_tracksel .faceted_tracksel_on_off.tab {\n position: absolute;\n top: 5em;\n left: 100%;\n z-index: 5;\n padding: 5px 0px;\n white-space: nowrap;\n cursor: pointer;\n -moz-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n -webkit-box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3);\n box-shadow: 4px 4px 10px 2px rgba(80, 80, 80, 0.3); }\n .jbrowse#faceted_tracksel div.faceted_tracksel_on_off.tab > * {\n display: inline-block;\n vertical-align: middle;\n padding: 0 6px; }\n .jbrowse#faceted_tracksel .faceted_tracksel_on_off.tab {\n background: #e9e9e9 url("+n(i(640))+") top repeat-x;\n border: 2px solid #666;\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px; }\n .jbrowse#faceted_tracksel #faceted_tracksel_top div.topLink {\n position: absolute;\n top: 0;\n right: 0;\n background: none;\n border: none;\n color: white;\n padding: 3px 0.6em;\n font-weight: bold; }\n .jbrowse#faceted_tracksel .facetSelect {\n width: 100%;\n border-spacing: 0; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue {\n padding: 0.1em 0.4em;\n cursor: pointer; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue > * {\n vertical-align: top; }\n .jbrowse#faceted_tracksel .facetSelect .disabled {\n color: gray; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue.disabled {\n display: none; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue.disabled.selected {\n display: table-row; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue:hover {\n background: #D2E1F1; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue .count {\n padding: 0 0.7em 0 0.4em;\n color: #333;\n text-align: right; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue .value {\n width: 80%; }\n .jbrowse#faceted_tracksel .facetSelect .selected {\n background: #b1d3f6; }\n .jbrowse#faceted_tracksel .facetSelect .facetValue.selected,\n .jbrowse#faceted_tracksel .facetSelect .facetValue.selected:hover {\n background: #AEC7E3; }\n .jbrowse#faceted_tracksel .dijitContentPane {\n padding: 0; }\n .jbrowse#faceted_tracksel .dijitTitlePane .dijitTitlePaneTitle {\n padding: 0; }\n .jbrowse#faceted_tracksel .dijitTitlePaneTitleFocus {\n position: relative; }\n .jbrowse#faceted_tracksel .dijitTitlePaneTitleFocus {\n border-top: 3px solid transparent;\n padding: 2px 2px 2px 0.6em;\n color: #1B3047; }\n .jbrowse#faceted_tracksel .dijitOpen .facetTitle {\n font-weight: bold;\n color: black; }\n .jbrowse#faceted_tracksel .activeFacet .facetTitle {\n font-weight: bold;\n color: black; }\n .jbrowse#faceted_tracksel .activeFacet {\n border-top: 3px solid #396494;\n background-color: #AEC7E3; }\n .jbrowse#faceted_tracksel .facetTitle a {\n position: absolute;\n top: 2px;\n right: -4px;\n visibility: hidden; }\n .jbrowse#faceted_tracksel .activeFacet a.clearFacet {\n visibility: visible;\n padding: 1px 6px; }\n .jbrowse#faceted_tracksel .dijitTitlePaneContentInner {\n padding: 0px; }\n .jbrowse#faceted_tracksel .myTracks .facetTitle:after {\n content: url("+n(i(1439))+");\n margin-left: 7px; }\n .jbrowse#faceted_tracksel .myTracks .facetTitle {\n color: black;\n font-weight: bold;\n padding-bottom: 6px; }\n .jbrowse#faceted_tracksel .dojoxGridMasterMessages {\n font-size: 16px; }\n .jbrowse .snap-exon,\n .jbrowse .plus-snap-exon,\n .jbrowse .minus-snap-exon,\n .jbrowse .snap-five_prime_UTR,\n .jbrowse .plus-snap-five_prime_UTR,\n .jbrowse .minus-snap-five_prime_UTR,\n .jbrowse .snap-three_prime_UTR,\n .jbrowse .plus-snap-three_prime_UTR,\n .jbrowse .minus-snap-three_prime_UTR {\n position: absolute;\n height: 7px;\n background-color: #99FFCC;\n border-style: solid;\n border-color: #D88;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .augustus-exon,\n .jbrowse .plus-augustus-exon,\n .jbrowse .minus-augustus-exon,\n .jbrowse .augustus-five_prime_UTR,\n .jbrowse .plus-augustus-five_prime_UTR,\n .jbrowse .minus-augustus-five_prime_UTR,\n .jbrowse .augustus-three_prime_UTR,\n .jbrowse .plus-augustus-three_prime_UTR,\n .jbrowse .minus-augustus-three_prime_UTR {\n position: absolute;\n height: 7px;\n background-color: #FFCCFF;\n border-style: solid;\n border-color: #D88;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .genemark-exon,\n .jbrowse .plus-genemark-exon,\n .jbrowse .minus-genemark-exon,\n .jbrowse .genemark-five_prime_UTR,\n .jbrowse .plus-genemark-five_prime_UTR,\n .jbrowse .minus-genemark-five_prime_UTR,\n .jbrowse .genemark-three_prime_UTR,\n .jbrowse .plus-genemark-three_prime_UTR,\n .jbrowse .minus-genemark-three_prime_UTR {\n position: absolute;\n height: 7px;\n background-color: #679B68;\n border-style: solid;\n border-color: #D88;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .fgenesh-exon,\n .jbrowse .plus-fgenesh-exon,\n .jbrowse .minus-fgenesh-exon,\n .jbrowse .fgenesh-five_prime_UTR,\n .jbrowse .plus-fgenesh-five_prime_UTR,\n .jbrowse .minus-fgenesh-five_prime_UTR,\n .jbrowse .fgenesh-three_prime_UTR,\n .jbrowse .plus-fgenesh-three_prime_UTR,\n .jbrowse .minus-fgenesh-three_prime_UTR {\n position: absolute;\n height: 7px;\n background-color: #FF99FF;\n border-style: solid;\n border-color: #D88;\n border-width: 2px 0px 2px 0px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .protein2genome_part,\n .jbrowse .plus-protein2genome_part,\n .jbrowse .minus-protein2genome_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #FFFF00;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .blastn_part,\n .jbrowse .plus-blastn_part,\n .jbrowse .minus-blastn_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #66CC00;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .blastx_part,\n .jbrowse .plus-blastx_part,\n .jbrowse .minus-blastx_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #FF00FF;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .tblastx_part,\n .jbrowse .plus-tblastx_part,\n .jbrowse .minus-tblastx_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #663366;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .est2genome_part,\n .jbrowse .plus-est2genome_part,\n .jbrowse .minus-est2genome_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #FAFAD2;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .repeat_part,\n .jbrowse .plus-repeat_part,\n .jbrowse .minus-repeat_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #FF0000;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n .jbrowse .cdna2genome_part,\n .jbrowse .plus-cdna2genome_part,\n .jbrowse .minus-cdna2genome_part {\n position: absolute;\n height: 4px;\n margin-top: -2px;\n background-color: #8C468C;\n border-style: solid;\n border-color: #6E6E6E;\n border-width: 1px 1px 1px 1px;\n z-index: 8;\n min-width: 1px;\n cursor: pointer; }\n",""])},1424:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAICAYAAADUZmU7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAHOSURBVGiB7dpBb9MwGMbxx7FjtxUNWgoCifW2j8xH4BPAmdMu3LnutA4JBM3WhDaxE8ccOljVKVsisFGm939M8ko/+eA4Utj559rhKM4sFNeQkYbkGnFUHz/iJes4tFUwVsG0CnUb957lzELemhU3iCPjUXrX35oV13/ctM7dkZnMXT1lM/vwSd/boI/jzCKROZI4h4iaf47tyjqO3CTI6wRNKwbNRqxFEud4LjejMdM694/MYSJzmLrM7N3H6tEN+i6HJM7xavo1KB5gyOsE38rXgxeczEMic5jIHKbxm9nb9+WADXofZw2Wz1Y4kdc+hJ1ZJ7D6ucS1ORk8S+b+kTlMZA7TmM1is2sHDwvWYhtpTGzpgdZd4wSKssFGk9lnZA4TmcM0ZrO42fY/QDM4vJh8x9n8AtIZVJVH4UEODD+ql7gozmBaCYDMPiKzP+dhZPbnPOwpmMWmxwYtI4M3syuczi4x4RWsBkK8T0wr8WW3xNVuicpObq/2W+S9eYXT2YrMj0RmMndF5v9rFjfb+8f+KS+RqjVSmSFVGeZxAQYH1EDl8U+w0k6R6QXWOkVmFijq+cHdhz9PfpsXKkMq15jHxf4GmclMZjKP1PwLAK14ifO/vRgAAAAASUVORK5CYII="},1425:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAIEAYAAACE9rl4AAAABmJLR0T///////8JWPfcAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAACXZwQWcAAAFoAAAACACf27GCAAACwElEQVR42u3aT1LiQBTH8V/+dYCSWICWloIrzuQRvIFncO/eU3gEN+7dskOrtJRQJEDSnXQyi1QKHRfDzKQfU8z7brJJ0cWn3yJpsB4enp6yrCyxZZ5n21kGCGHbUgJCOI6UgO9XV8exLK23/bR/vywrCiEAKbUWAlCqKHwfUEpr3we0LkvHaX5ddmZnE7EzTexMEzvTlGVF4XnffaVk5ybjeaZpM8+Va+38u/Ns3d8/Pkr5/QHadW07z4Eg8LwoAoJAiCjaP8i6PC8K1wUWC6UOD4EoyrIgAIqiLG3b3LrszM4mYmea2Jkmdqapdq59o0ipIDD34Fb3vzrzPJvN9Dy7i8VqVZYb2JOTdvv1FQgCx4kioNpSQKk03TVGk9Wwb29Jcnq6AQYAy/p67/bn87+OndnZROxMEzvTxM40sTNN7EwTtbNrWVkWhsDZ2cHBdAo4jtZ5DqTpPr6PAPO5Ur0eMJ0ul6NR9Sbiul/vaXKA63o9IeZzdv4cO/997EwTO9PEzjSxM03sTNOunN04TpI8B9Zrx0kSwHUtK893zWGu1UrKTgeIovW6KIA8L8uiML+u61YDzM5mY2d2NhE708TONLEzTexM066crevru7vlsiyFsG2lgPG4251MgKOjVuv9vTr2NvHkvuuUqv6sP5nE8XgMfHyk6fFx9V1/PupvMnZmZxOxM03sTBM708TONLEzTdTO1tXV7W0cf6dstRwnTYHhsNOZToHz8+pab8i+laZat1rA8/N6PRoBLy/Vtd4QU7EzO5uInWliZ5rYmSZ2pomdafrsfHFROQ+HzTlbl5c3N4vF9u8i3a7nxTHQ7wsxmwGDge+HIdDv+/5sBrTb1U8G+1IcZ1m3C4ShUoMBMJtJ2e8DYSjlYAAkidbtdvPrsjM7m4idaWJnmtiZJnamiZ3NVp9Eb5xrX6X+xPkH1P61Po1YsFsAAAAielRYdFNvZnR3YXJlAAB42isvL9fLzMsuTk4sSNXLL0oHADbYBlgQU8pcAAAAAElFTkSuQmCC"},1426:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9wLHBMzAC4819sAAABhSURBVEjH1dKxDcAgDAXRm5cJMkEYNHNEposuVJT+hSs/kEBHVfENXAWlmb/9Pg288RB8Di5v4f3SVwfug59p4SOz2R8Ql409idnYk5iNPYnZ2JOYjX1kNvaR2dhHZuP9Aot1l9yqnLmVAAAAAElFTkSuQmCC"},1427:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAALCAYAAADFo7BPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJlSURBVGiB7dRBSFNxHAfw7/YmTJM5GCY8IR07rBRXkTt0kkRiJGOH6hAeSgIRuyhoa1aygXjQtS1kksQeDsdAYZRQjF1kBGu4TIw5hXWJ2ClLYQiP5w7/Tj0UX+HhLQp+X/ge3pf3+/BOT8NEkYFCoVD+g+hQLssPr5NJvIzFIIoibjmdGOrvV9xOG/LII488NT0NKxYZADycnsbbdBqPBgZw1mTCk2AQ5YMDaLRaPB4clLdzPI/I1BSMBsMfYfLII488tT0NW19noXgcLxIJZAQBpoYGAMCzWAyTkQjMPI+1aBQ1Oh0OKxWMBAL4UCggIwio0ekU0b/iLS5iUhD+3e8jjzzyVPe4C01NXm8kglW/H3x9PSBJWEql4BME5MJhvN/aQn5nBz3t7eAqFfR2duJNNitvkKRjXUqlQB555JFXDY9Lb256UxMTON/YCEgS3m1s4F4ggF/bdZsND+bmcInnYTYaAUlS3JRuySOPPPLU8r6WStB+nJ/HRZsNMBjwaXcXN2dmkPD55M3U3Iyox4O7s7P4Afx2U7oljzzyyFPLuzI2Bi7o8Xih1+PL3h56hofxfHQUvd3dgF4v19zaim/7+4gkk7jjcp3YrtrtJ27JI4888tT2wIpF9j2XY1azmQXHxxkrFhV7uL3N7B0dbKivj0mFgrxdbmtjRoOB+d1u+V3yyCOPvGp4nMVq9d53u+F0OPDU7T725ztarq4Ot10uxFdWEFxYQIvFgrVCAauZDM7U1uJzqYQWiwXZfB7kkUceedXwcMPhYK+WlxkTxVM3HAqxa11d7Oit0kYeeeSRp6b3E7LY1SByNnbwAAAAAElFTkSuQmCC"},1428:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAMCAYAAADYpoD3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIMSURBVGiB7dhNaxNxEMfx7+6mZrdB2pAEqRTbWBLtQ0whEaUVoVYFD60geJEKgggV8V6tYN6B3rwr9GAJCIIm9yKxOZToRZHGh5qKVolJkzTZdVkPmoB9Ae5lBn6Hmf/nPAx/Zfb8rGO2TGLxGMcnjjF1agrNo5F+nOZlbpXS5xJerxfLshAnTpw4N53yxdp06rU6hXyB1ZU8xbdFDJ9B/0A/Z2ZOEx2NoqoqAOLEiRPnplMrdplfhsnoyWGu3LqMozpsV6sYfp2+kX1sOxUqdhlx4sSJc9tpc7cvpZpOk6bTZC23Rml9kxv358k8zNKwG4QiAdrv4sSJE+em0y4uXEi1nCYtp8lK+gXhxAChwwEOJgd5cu8pgYgfb3APbSNOnDhxbjltZuFc58L6WPiE6lPoiezF6XYw/Aa55Tzh6QP/bEBx4sSJc8P9+e36W116F+aO1emHJsPUvtXYWv+OOHHixLnttGuLV1O6YqArBmbV4n3uA8npBLpiYGjd2KbNj3dlRhLDiBMnTpybTu3Remnn6GSSr8UtlJ9aZzY4FKZSqiJOnDhxbju1V/XTTlAPceLsBM8eZDozHz4US0GcOHHi3Hba4t07KV01aGcsPkYmnWXjzQZ9wf08X84SG48RPzKOOHHixLnplB274bCr6rU6S4+WeFV4TfRQlOs35/F4PLuZOHHixP1X9xvF1M+CXnCISwAAAABJRU5ErkJggg=="},1429:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAANCAYAAAAT+lNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKPSURBVGiB7doxaBNhGAbgL7n2ohmqQriok6GFosTBQQIuVqUUQS+DRXDoYpOhLtouIuhgwE7RyUFoDwcXhUPiUFAXN4dk6qCcaBrEXi29miNVg16TvE4tjUnb02R8X7jl/7/vf7jl+A7+AACIjxSLRZmZmZFSqSSxWEzS6bT09/dv7ruNNRlZuSqHFU2m90/Jsd4BP8fSoEGDhm8j6AfI5XKSSCREURRJJpOiKIokEgnJ5XKbNQeCffL24DM5v/e0JJ1rcsOdFqde9v0SNGjQoLGr8avxGzvFcRxomoZCodC0XigUoGkaHMdp6XHrFdxy7yO2eBYPKo9BgwYNGt0w5PjSRTz/+XpbxDRN6Lredk/XdZimuW3vp/XPuOJMgQYNGjS6YfQsHH0jl/FSRAKyJ6CKIkrTCOd5nkxOTrYd7+LxuIyNjcn4+PiOY2BN6jRo0KDRsRFwXRcNaYhZfSXZNUNOqSfk5r60HFK0zaJwOCyqqrY0e54n1Wp1R2AjNGjQoNGxsXXsWq6tIr50AUcWz+CDV9p2POskNGjQoPG/EQCoo44nP15g0B5BevU2FmvLXQM2QoMGDRqdRnpDKoJqEEFVgRpSEQqFWp5MJtO2OZPJtK3/+6FBgwaNbhg9g9aw3OmbED18ru0vo2maTXcktmZ+fl5mZ2dldHS07f5C7YvcrTyU9+tFGjRo0OjY2PUelm3biEQisCyrad2yLEQiEdi23dLzr/czaNCgQcOPIS0VbWIYBqLRKLLZLObm5pDNZhGNRmEYRlPdOmp49P0pBuxhXC/fw0rtm5/jadCgQcOX4euDBQD5fB6pVApDQ0NIpVLI5/NN++V6BSe/XkJyZQLvvI++X4AGDRo0/Bp/AMT5Mv3K5a3AAAAAAElFTkSuQmCC"},1430:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAQAAADY4iz3AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAABIAAAASABGyWs+AAAAZ0lEQVQY033QOwqFQAxA0QPOQpzCxv2vwPotQCx0HyLkFcbBxkkI+VxCPtxSMPuZM24yYLQJmzHzBqpdOIVdfWBp4Eq7YYHqyGKkP1SYrC/wwNXEkjPeegpLt6szq7vh513db3z88A+u61RcFp/a2wAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0wMS0xNFQxMzoyNDowNi0wNTowMFG4eUUAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMDEtMTRUMTM6MjQ6MDYtMDU6MDAg5cH5AAAAAElFTkSuQmCC"},1431:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAANCAYAAAAT+lNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD0SURBVGiB7dpPioMwGIbxN8VFXCqS6/Uu7rzE0FO58Ajxz9aASLoYGBgYJnYGaVOeZ/+Lrj7Mh+b6cYsiIsqgy7NfgIjoaAwsIsomE2P8uhLGGLUsi7z3WtdVTdPIOSdrbfIgLBaLPduabdt+3GGFEDSOo+Z5lrVWzjlVVSVjTPIlsFgs9gxbdF2XPEj6nISSDj0Yi8Viz7DfroSpQgjy3muaJpVlKeec6ro+PD2xWCz2P5alOxFlU/ILK5dlHBaLfX9btG2bPICI6BXitwYsFpuNLaTXWahhsVjsb5m+7+OjU1GS9n3XMAwPT1QsFov9i5WkO/RI84P0k2TpAAAAAElFTkSuQmCC"},1432:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAANCAYAAAAT+lNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADeSURBVGiB7do7CoNAFEbhf4KFVoLILNgluDgLlzCI2mkjN1UIgRAzgfjinM7ik6kuzGXcMAyW57mcc4ptHEdhsVjsVjap6zoaERHtkTMzm+dZIQR1Xacsy+S9V1EUX01ALBaL3co6M7PHh5mp73uFEDRNk8qylPdeaZquHgCLxWL/bZ30HFhEREfutvcBiIi+jYFFRKcpibkQnm1Bh8Vir2Vflu7vOssyDovFXt8mVVWt/oCI6AjxrAGLxZ7GJtJx7qdYLBb7Kdc0jcVORUlalkVt20ZPVCwWi/3FStId8NDyDFktS48AAAAASUVORK5CYII="},1433:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAANCAYAAAAT+lNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADaSURBVGiB7dq7CoNAEEbhf4OFVoLIPrBtOh/OwkdYRO20kUkVSCBBDcQb53QW32I1TDGu6zpL01TOOa2t73thsVjsVjYqy3I1IiLaI2dmNo6jQghqmkZJksh7ryzLFk1ALBaL3co6M7Pnh5mpbVuFEDQMg/I8l/decRzP/gAWi8X+274NrNfONnmxWOz1bVQUxexDRERH6OuG9akjT14sFnt9e5sVREQHyUn3xRsWEdGesWER0WliYBHRaeJwFIvFnsa6qqps7bGXJE3TpLquVx+KYbFY7C9Wkh6WkMeCMEBT5gAAAABJRU5ErkJggg=="},1434:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAKCAYAAACZrsQwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEVSURBVGiB7do9aoRAHIbxvyhs6xE8QWztPJS1oHVO4VG8iQMeQAe2nlQJ7Gb9iG/QLZ5fO2/xVDIMRp9mwVbMSWLudrOP+31tdhn6NPRp6NPQty5ZOvgOm+L4zJ7d6NPQp6FPQ98+vz7Q7xK2hD4NfRr6NPT9TRRCCGZmzjnr+96ccy+HdV2fGvaMPg19Gvo09B2TbIVdjT4NfRr6NPRpoqqqwjiO5r1fHRZFcVLSI++90XccfRr6NPRpeOL4J/Rp6NPQp3nXvrhpmsbMLE1Ty/PcsiyzaZpsnueHYVmWV/T9oE9Dn4Y+DX3HRG3bvvwP+vnqf9UVfwl9Gvo09Gno2ylsGIYhdF23NbsMfRr6NPRp6Fv3BbJ5vgeijb7BAAAAAElFTkSuQmCC"},1435:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAKCAYAAACZrsQwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEHSURBVGiB7dqxrYMwGEXh64gO5JYFkoIFyBCZihUpI1GyAAzAa0KKhADh6kGK80lukItTGcn+Q1VVg2ZkWaY8z9U0zdy2w9Dnoc9Dn4e+eWEYhskDuus6tW2rvu8lSWVZ7hq2hD4PfR76PPStk7x+eA37NfR56PPQ56HvO4lCkCR1l4va2039+Ty983rdMesdfR76PPR56NsmWQw7GH0e+jz0eejznI4OAABMS+L9rqgVdy/Tb4n/Lj4WfdvQ56HPQ5/n+UgYY1SM8ecuyUf0eejz0Oehb5vwaQ56nP9L01SSVNf1rmFL6PPQ56HPQ986H+egR+MfpSiKvZq+Qp+HPg99Hvrm/QE7fw6VaeG8swAAAABJRU5ErkJggg=="},1436:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAAKCAYAAAAO/2PqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAETSURBVGiB7da/SsNQGIbxNxg65M9BBAldxI6ZhWxOjt6LizdgLiC35CVkyFgoTsG1SZyEcpwqbfQ0EU6dnmdL+OB3po8vsNZanajve7VtqzzPT415DxcXF3dcUJblrwsrSRJlWaY4jiVJTdN4hV3h4uLiugrGF9Z+Mw7DcDRYFIVXeBwuLi7uVOEUeO5wcXFx5xZUVWUPTzhXvk+78emIi4uLO1XQdZ2dsyF9n3ZzNzMuLi7uvtAYI2PMv592uLi4uH8t3Fzff38sJCWrpYaHO33eLo8GN4/PZ3sELi4u7pwunqKbl8Mf4fZDUb3W4u1du6tUu8tUkpS+1l7hcbi4uLhT/VhYrgdE9dor7AoXFxfX1ReQJsNhfrpUfgAAAABJRU5ErkJggg=="},1437:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAABRSURBVAiZjc6xDYBADATBtd0AvdADLZDTBiVYlhAlktAE6Eh4RPjBJBucDkn8ASOwAcPXJE2S5qaqVjO7gRNYACMzj4hQ4+4CBFyvvW+p59MDUFVTAnNg+kgAAAAASUVORK5CYII="},1438:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9wMDA8nC2BFCJ0AAABkSURBVAjXjc6xEYFBFIXR83YVIFKBDvSgBTFtiEW7O2OUKBEINMA8iZ8/dGdOcqNPZspMWOKMzfRNFhER2OMUEave+x1rvz3ggudHllKy1vrVWrtC4IBbRLzGGMfM3M1s/dP0Bo/GRgAG3+LdAAAAAElFTkSuQmCC"},1820:function(e,t,i){(function(t){!function(i){var n={ArrayBuffer:"undefined"!=typeof ArrayBuffer,DataView:"undefined"!=typeof DataView&&("getFloat64"in DataView.prototype||"getFloat64"in new DataView(new ArrayBuffer(1))),NodeBuffer:!1},r={Int8:1,Int16:2,Int32:4,Uint8:1,Uint16:2,Uint32:4,Float32:4,Float64:8},o={Int8:"Int8",Int16:"Int16",Int32:"Int32",Uint8:"UInt8",Uint16:"UInt16",Uint32:"UInt32",Float32:"Float",Float64:"Double"},a=function e(a,s,l,c){if(!(this instanceof e))throw new Error("jDataView constructor may not be called as a function");if(this.buffer=a,!(n.NodeBuffer&&a instanceof t||n.ArrayBuffer&&a instanceof ArrayBuffer||"string"==typeof a))throw new TypeError("jDataView buffer has an incompatible type");this._isArrayBuffer=n.ArrayBuffer&&a instanceof ArrayBuffer,this._isDataView=n.DataView&&this._isArrayBuffer,this._isNodeBuffer=n.NodeBuffer&&a instanceof t,this._littleEndian=Boolean(c);var h=this._isArrayBuffer?a.byteLength:a.length;if(void 0===s&&(s=0),this.byteOffset=s,void 0===l&&(l=h-s),this.byteLength=l,!this._isDataView){if("number"!=typeof s)throw new TypeError("jDataView byteOffset is not a number");if("number"!=typeof l)throw new TypeError("jDataView byteLength is not a number");if(s<0)throw new Error("jDataView byteOffset is negative");if(l<0)throw new Error("jDataView byteLength is negative")}if(this._isDataView&&(this._view=new DataView(a,s,l),this._start=0),this._start=s,s+l>h)throw new Error("jDataView (byteOffset + byteLength) value is out of bounds");if(this._offset=0,this._isDataView)for(var u in r)r.hasOwnProperty(u)&&function(e,t){var i=r[e];t["get"+e]=function(n,r){return void 0===r&&(r=t._littleEndian),void 0===n&&(n=t._offset),t._offset=n+i,t._view["get"+e](n,r)}}(u,this);else if(this._isNodeBuffer&&n.NodeBuffer)for(var u in r)r.hasOwnProperty(u)&&function(e,t,i){var n=r[e];t["get"+e]=function(e,r){return void 0===r&&(r=t._littleEndian),void 0===e&&(e=t._offset),t._offset=e+n,t.buffer[i](t._start+e)}}(u,this,"Int8"===u||"Uint8"===u?"read"+o[u]:c?"read"+o[u]+"LE":"read"+o[u]+"BE");else for(var u in r)r.hasOwnProperty(u)&&function(e,t){var n=r[e];t["get"+e]=function(r,o){if(void 0===o&&(o=t._littleEndian),void 0===r&&(r=t._offset),t._offset=r+n,t._isArrayBuffer&&(t._start+r)%n==0&&(1===n||o))return new i[e+"Array"](t.buffer,t._start+r,1)[0];if("number"!=typeof r)throw new TypeError("jDataView byteOffset is not a number");if(r+n>t.byteLength)throw new Error("jDataView (byteOffset + size) value is out of bounds");return t["_get"+e](t._start+r,o)}}(u,this)};a.createBuffer=n.NodeBuffer?function(){return new t(arguments)}:n.ArrayBuffer?function(){return new Uint8Array(arguments).buffer}:function(){return String.fromCharCode.apply(null,arguments)},a.prototype={compatibility:n,_getBytes:function(e,t,i){var n;if(void 0===i&&(i=this._littleEndian),void 0===t&&(t=this._offset),"number"!=typeof t)throw new TypeError("jDataView byteOffset is not a number");if(e<0||t+e>this.byteLength)throw new Error("jDataView length or (byteOffset+length) value is out of bounds");return t+=this._start,this._isArrayBuffer?n=new Uint8Array(this.buffer,t,e):(n=this.buffer.slice(t,t+e),this._isNodeBuffer||(n=Array.prototype.map.call(n,function(e){return 255&e.charCodeAt(0)}))),i&&e>1&&(n instanceof Array||(n=Array.prototype.slice.call(n)),n.reverse()),this._offset=t-this._start+e,n},getBytes:function(e,t,i){var n=this._getBytes.apply(this,arguments);return n instanceof Array||(n=Array.prototype.slice.call(n)),n},getString:function(e,t){var i;if(this._isNodeBuffer){if(void 0===t&&(t=this._offset),"number"!=typeof t)throw new TypeError("jDataView byteOffset is not a number");if(e<0||t+e>this.byteLength)throw new Error("jDataView length or (byteOffset+length) value is out of bounds");i=this.buffer.toString("ascii",this._start+t,this._start+t+e),this._offset=t+e}else i=String.fromCharCode.apply(null,this._getBytes(e,t,!1));return i},getChar:function(e){return this.getString(1,e)},tell:function(){return this._offset},seek:function(e){if("number"!=typeof e)throw new TypeError("jDataView byteOffset is not a number");if(e<0||e>this.byteLength)throw new Error("jDataView byteOffset value is out of bounds");return this._offset=e},_getFloat64:function(e,t){var i=this._getBytes(8,e,t),n=1-2*(i[0]>>7),r=((i[0]<<1&255)<<3|i[1]>>4)-(Math.pow(2,10)-1),o=(15&i[1])*Math.pow(2,48)+i[2]*Math.pow(2,40)+i[3]*Math.pow(2,32)+i[4]*Math.pow(2,24)+i[5]*Math.pow(2,16)+i[6]*Math.pow(2,8)+i[7];return 1024===r?0!==o?NaN:n*(1/0):-1023===r?n*o*Math.pow(2,-1074):n*(1+o*Math.pow(2,-52))*Math.pow(2,r)},_getFloat32:function(e,t){var i=this._getBytes(4,e,t),n=1-2*(i[0]>>7),r=(i[0]<<1&255|i[1]>>7)-127,o=(127&i[1])<<16|i[2]<<8|i[3];return 128===r?0!==o?NaN:n*(1/0):-127===r?n*o*Math.pow(2,-149):n*(1+o*Math.pow(2,-23))*Math.pow(2,r)},_getInt32:function(e,t){var i=this._getUint32(e,t);return i>Math.pow(2,31)-1?i-Math.pow(2,32):i},_getUint32:function(e,t){var i=this._getBytes(4,e,t);return i[3]*Math.pow(2,24)+(i[2]<<16)+(i[1]<<8)+i[0]},_getInt16:function(e,t){var i=this._getUint16(e,t);return i>Math.pow(2,15)-1?i-Math.pow(2,16):i},_getUint16:function(e,t){var i=this._getBytes(2,e,t);return(i[1]<<8)+i[0]},_getInt8:function(e){var t=this._getUint8(e);return t>Math.pow(2,7)-1?t-Math.pow(2,8):t},_getUint8:function(e){return this._getBytes(1,e)[0]}},"undefined"!=typeof jQuery&&jQuery.fn.jquery>="1.6.2"&&(jQuery.ajaxSetup({converters:{"* dataview":function(e){return new a(e)}},accepts:{dataview:"text/plain; charset=x-user-defined"},responseHandler:{dataview:function(e,t,i){"mozResponseArrayBuffer"in i?e.text=i.mozResponseArrayBuffer:"responseType"in i&&"arraybuffer"===i.responseType&&i.response?e.text=i.response:e.text="responseBody"in i?function(e){var t;try{t=IEBinaryToArray_ByteStr(e)}catch(i){window.execScript("Function IEBinaryToArray_ByteStr(Binary)\r\n\tIEBinaryToArray_ByteStr = CStr(Binary)\r\nEnd Function\r\nFunction IEBinaryToArray_ByteStr_Last(Binary)\r\n\tDim lastIndex\r\n\tlastIndex = LenB(Binary)\r\n\tif lastIndex mod 2 Then\r\n\t\tIEBinaryToArray_ByteStr_Last = AscB( MidB( Binary, lastIndex, 1 ) )\r\n\tElse\r\n\t\tIEBinaryToArray_ByteStr_Last = -1\r\n\tEnd If\r\nEnd Function\r\n","vbscript"),t=IEBinaryToArray_ByteStr(e)}for(var i,n=IEBinaryToArray_ByteStr_Last(e),r="",o=0,a=t.length%8;o<a;)i=t.charCodeAt(o++),r+=String.fromCharCode(255&i,i>>8);for(a=t.length;o<a;)r+=String.fromCharCode(255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8,255&(i=t.charCodeAt(o++)),i>>8);return n>-1&&(r+=String.fromCharCode(n)),r}(i.responseBody):i.responseText}}}),jQuery.ajaxPrefilter("dataview",function(e,t,i){jQuery.support.ajaxResponseType&&(e.hasOwnProperty("xhrFields")||(e.xhrFields={}),e.xhrFields.responseType="arraybuffer"),e.mimeType="text/plain; charset=x-user-defined"})),i.jDataView=(i.module||{}).exports=a,e.exports=a}(window)}).call(this,i(594).Buffer)},334:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function a(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}var s=i(805);n=[i(577),i(576),i(587),i(820),i(821)],void 0===(r=function(e,t,i){var n;return n={dojof:dojox.lang.functional,is_ie:navigator.appVersion.indexOf("MSIE")>=0,is_ie6:navigator.appVersion.indexOf("MSIE 6")>=0,addCommas:function(e){for(var t=(e+="").split("."),i=t[0],n=t.length>1?"."+t[1]:"",r=/(\d+)(\d{3})/;r.test(i);)i=i.replace(r,"$1,$2");return i+n},commifyNumber:function(){return this.addCommas.apply(this,arguments)},escapeHTML:function(e){return null==e?e:e.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},unescapeHTML:function(e){return e.toString().replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")},fastDeclare:function(e,t){var i=e.constructor,n=function(){i.apply(this,arguments)};return dojo.mixin(n.prototype,e),n},isRightButton:function(e){return e||(e=window.event),e.which?3==e.which:!!e.button&&2==e.button},getViewportWidth:function(){var e=0;return document.documentElement&&document.documentElement.clientWidth?e=document.documentElement.clientWidth:document.body&&document.body.clientWidth?e=document.body.clientWidth:window.innerWidth&&(e=window.innerWidth-18),e},getViewportHeight:function(){var e=0;return document.documentElement&&document.documentElement.clientHeight?e=document.documentElement.clientHeight:document.body&&document.body.clientHeight?e=document.body.clientHeight:window.innerHeight&&(e=window.innerHeight-18),e},findNearest:function(e,t){for(var i=0,n=Math.abs(t-e[0]),r=1;r<e.length;r++)Math.abs(t-e[r])<n&&(i=r,n=Math.abs(t-e[r]));return i},fillTemplate:function(e,i){return e.replace(/\{([\w\s\.]+)\}/g,function(e,n){n=n.replace(/\s+/g,"");var r=t.getObject(n,!1,i);if(void 0!==r)return"function"==typeof r?r(n):r;if(i.callback){var o=i.callback.call(this,n);if(void 0!==o)return o}return e})},maybeLoad:function(e,t,i,n){if(t.state)"loaded"==t.state?i(t.data):"error"==t.state?n():"loading"==t.state&&(t.successCallbacks.push(i),n&&t.errorCallbacks.push(n));else{t.state="loading",t.successCallbacks=[i],t.errorCallbacks=[n];var r=dojo.clone(e);r.load=function(e){t.state="loaded",t.data=e;for(var i=t.successCallbacks,n=0;n<i.length;n++)i[n](e)},r.error=function(e){console.error(""+e),t.state="error";for(var i=t.errorCallbacks,n=0;n<i.length;n++)i[n]()},dojo.xhrGet(r)}},deepUpdate:function(e,t){for(var i in t)i in e&&"object"==o(t[i])&&"object"==o(e[i])?n.deepUpdate(e[i],t[i]):void 0!==e[i]&&void 0===t[i]||(e[i]=t[i]);return e},humanReadableNumber:function(e){var t="";return(e=parseInt(e))>=1e12?(e/=1e12,t="T"):e>=1e9?(e/=1e9,t="G"):e>=1e6?(e/=1e6,t="M"):e>=1e3&&(e/=1e3,t="K"),(e.toFixed(2)+" "+t).replace(/0+ /," ").replace(/\. /," ")},resolved:function(e){var t=new i;return t.resolve(e),t},resolveUrl:function(e,t){return this.isElectron()&&"file:///"===t.substr(0,8)?t:s.resolve(e,t)},loadJS:function(e){var t=new i;return dojo.global.require(e,function(){for(var i=Array.prototype.slice.call(arguments),n=0;n<i.length;n++)if(!{object:!0,function:!0}[o(i[n])])return void t.reject("could not load "+e[n]+": "+i[n]);t.resolve(i)}),t},isElectron:function(){var e=window.process;return!!(e&&e.versions&&e.versions.electron)},parseLocString:function(e){if("string"!=typeof e)return null;e=e.trim();var t={},i=new RegExp([/^\s*/,/(.+?)/,/(\((.+?)\))?/,/\s*$/].map(function(e){return e.source}).join("")),n=e.match(i);e=n[1],n[3]&&(t.extra=n[3]);var r=new RegExp([/^((.+):)?/,/\s*/,/-?([\d,]+(\.\d+)?)/,/\s*/,/(\.{2,}|-+)/,/\s*/,/-?([\d,]+(\.\d+)?)/,/\s*$/].map(function(e){return e.source}).join("")),o=e.match(r);if(o){if(t.ref=o[2],t.start=Number(o[3].replace(/\,/g,"")),t.end=Number(o[6].replace(/\,/g,"")),t.start>t.end){var a=t.start;t.start=t.end,t.end=a}}else{var s=new RegExp([/^((.+):)?/,/\s*/,/-?([\d,]+(\.\d+)?)?/,/\s*$/].map(function(e){return e.source}).join("")),l=e.match(s);if(!l)return null;if(l[2]&&(t.ref=l[2]),!l[3])return null;t.start=Number(l[3].replace(/\,/g,"")),t.end=t.start}return t.start=t.start-1,t},basename:function(t,i){if(t&&t.match){var n=t.match(/[\/\\]([^\/\\]+)[\/\/\/]*$/),r=n?n[1]||void 0:t;return r&&i&&(i instanceof Array||(i=[i]),i=e.map(i,function(e){return e.replace(/([\.\?\+])/g,"\\$1")}),r=r.replace(new RegExp(i.join("|")+"$","i"),"")),r}},assembleLocString:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i="",n={start:"number",end:"number",ref:"string",strand:"number"},r={};for(var a in n)n[a]!=o(e[a])||"number"==n[a]&&isNaN(e[a])||(r[a]=e[a]);return"ref"in r&&(i+=r.ref,(r.start||r.end)&&(i+=":")),"start"in r&&(i+=(Math.round(r.start)+1).toFixed(0).toLocaleString(),"end"in r&&(i+="..")),"end"in r&&(i+=Math.round(r.end).toFixed(0).toLocaleString()),"strand"in r&&(i+={1:" (+ strand)","-1":" (- strand)",0:" (no strand)"}[r.strand||""]||""),t&&"extra"in e&&(i+=e.extra),i},complement:function(){var e=/[ACGT]/gi,t={S:"S",w:"w",T:"A",r:"y",a:"t",N:"N",K:"M",x:"x",d:"h",Y:"R",V:"B",y:"r",M:"K",h:"d",k:"m",C:"G",g:"c",t:"a",A:"T",n:"n",W:"W",X:"X",m:"k",v:"b",B:"V",s:"s",H:"D",c:"g",D:"H",b:"v",R:"Y",G:"C"},i=String.fromCharCode(160),n=function(e){return t[e]||i};return function(t){return t.replace(e,n)}}(),revcom:function(e){return n.complement(e).split("").reverse().join("")},assembleLocStringWithLength:function(e){var t=n.assembleLocString(e),i=e.length||e.end-e.start;return t+" ("+n.humanReadableNumber(i)+"b)"},matchRefSeqName:function(e,t){for(var i in t)if(t.hasOwnProperty(i)){var n=e.toUpperCase(),r=i.toUpperCase();if(n==r||"CHR"+n==r||n=="CHR"+r)return t[i]}return null},debugHandler:function(e,t){return function(){var i=arguments;window.setTimeout(function(){var n=t;"string"==typeof n&&(n=e[n]),n.apply(e,i)},1)}},ucFirst:function(e){if("string"==typeof e)return e.charAt(0).toUpperCase()+e.slice(1)},uniq:function(e,t){t=t||function(e){return""+e};var i=[],n={};return dojo.forEach(e,function(e){var r=t(e);n[t(e)]||i.push(e),n[r]=!0}),i},replacePath:function(e){return e.replace(/^(\w):/,"file:///$1:").replace(/\\/g,"/")},unReplacePath:function(e){return e=e.replace(/^file:\/\//,""),"win32"===window.process.platform&&"/"==e[0]?e.substr(1):e},removeAttribute:function(e,t){try{delete e[t]}catch(i){e.removeAttribute&&e.removeAttribute(t)}},getResolution:function(e,t){var i;if("auto"==t){var n=window.devicePixelRatio||1,r=e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1;i=Math.ceil(n/r)}else i="disabled"==t?1:t;return i>=1?i:1},flattenOneLevel:function(e){for(var t=[],i=0;i<e.length;i+=1)t.push.apply(t,a(e[i]));return t},coerceBoolean:function(e){return"string"==typeof e?"true"==(e=e.toLowerCase())||"false"!=e&&parseInt(e):"boolean"==typeof e?e:"number"!=typeof e||!!e},intersect:function(e,t,i,n){return t>=i&&n>=e},orientationTypes:{fr:{F1R2:"LR",F2R1:"LR",F1F2:"LL",F2F1:"LL",R1R2:"RR",R2R1:"RR",R1F2:"RL",R2F1:"RL"},rf:{R1F2:"LR",R2F1:"LR",R1R2:"LL",R2R1:"LL",F1F2:"RR",F2F1:"RR",F1R2:"RL",F2R1:"RL"},ff:{F2F1:"LR",R1R2:"LR",F2R1:"LL",R1F2:"LL",R2F1:"RR",F1R2:"RR",R2R1:"RL",F1F2:"RL"}}}}.apply(null,n))||(e.exports=r)},335:function(e,t,i){var n,r;n=[i(575),i(577),i(457)],void 0===(r=function(e,t,i){return e(null,{constructor:function(){},generateUrl:function(e){var t,n=i.dot(e);return Object.keys(n).forEach(function(e){var i=e+"="+n[e];t?t+="&"+i:t=i}),t},generateJsonFromKeyArray:function(e,t,i,n){if(t&&t.length!=i){var r=t[i-1];t.length!=i-1?(e.hasOwnProperty(r)||(e[r]={}),this.generateJsonFromKeyArray(e[r],t,++i,n)):e[r]=n}},mapParam:function(e,t){var n=t.split("="),r=n[0],o=n[1];i.str(r,o,e)},generateJsonFromKey:function(e,t){var i=t.split("&"),n=this.mapParam;i.forEach(function(t){n(e,t)})},handleQueryParams:function(e,n){var r,o,a,s,l,c={},h={},u=[];if(Object.keys(n).forEach(function(t){if(0==t.indexOf("addStores."))r=t.split("."),a=r.slice(1).join("."),i.str("stores."+a,n[t],e);else if(0==t.indexOf("addTracks."))r=t.split("."),o=r[1],s=c[o]?c[o]:{},a=r.slice(2).join("."),"none"!==o&&i.str("store",o,s),i.str(a,n[t],s),i.str(o,s,c);else if(0==t.indexOf("addBookmarks."))r=t.split("."),o=r[1],s=h[o]?h[o]:{},a=r.slice(2).join("."),i.str(a,n[t],s),i.str(o,s,h);else if(0==t.indexOf("addFeatures.")){r=t.split("."),l=r[1],a=r.slice(2).join(".");var d=u[l];d=d||{},i.str(a,n[t],d),u[l]=d}}),c)for(var d in c){e.tracks||(e.tracks=[]);var f=c[d];e.tracks.push(f)}if(h)for(var g in h){e.bookmarks||(e.bookmarks={}),e.bookmarks.features||(e.bookmarks.features=[]);var p=h[g];e.bookmarks.features.push(p)}u.length>0&&(e.stores=e.stores?e.stores:{},e.stores.url=e.stores.url?e.stores.url:{},e.stores.url.features=t.filter(u,function(e){return null!=e}))}})}.apply(null,n))||(e.exports=r)},336:function(e,t,i){var n,r;function o(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}n=[i(575),i(576),i(334),i(386),i(352)],void 0===(r=function(e,t,i,n,r){return e(n,{constructor:function(e){this.globalStats={},this.storeTimeout=e.storeTimeout?e.storeTimeout:3e3,this._featureTransforms=e.featureTransforms||[],this._configureFeaturesTransforms()},_configureFeaturesTransforms:function(){var e=this.getConf("featureTransform");"string"==typeof e&&(e=this.getPredefinedFeatureTransform(e)),e&&this.addFeatureTransform(e),this._configureTopLevelFeaturesTransform()},getPredefinedFeatureTransform:function(e){},getTagMetadata:function(e){},_configureTopLevelFeaturesTransform:function(){var e=this,t=this.getConf("topLevelFeatures",[this]);if(t){if("function"==typeof t)this._topLevelFeaturesTransform=t;else{var i=void 0;if(Array.isArray(t))i=t;else{if("string"!=typeof t)throw new Error("invalid topLevelFeatures configuration value",t);i=t.trim().split(/\s*,\s*/)}i.length&&(this._topLevelFeatureTypes=i,this._topLevelFeaturesTransform=function(t){var n=[];return t.forEach(function(t){n.push.apply(n,o(e._findSubfeaturesWithTypes(i,t)))}),n})}if(this._topLevelFeaturesTransform)try{this.addFeatureTransform(this._topLevelFeaturesTransform)}catch(e){throw new Error("store class "+this.getConf("type")+" does not support topLevelFeatures configuration")}}},_isTopLevelFeatureType:function(e){if(this._topLevelFeatureTypes)return this._topLevelFeatureTypes.includes(e);if(this._topLevelFeaturesTransform)throw new Error("custom top-level feature transforms not supported in this use case");return!0},_evalConf:function(e,t){return"function"==typeof e?e.call(this,this):e},getGlobalStats:function(e,t){e(this.globalStats||{})},getRegionStats:function(e,t,i){return this._getRegionStats.apply(this,arguments)},_getRegionStats:function(e,t,i){var n=this;(n._regionStatsCache=n._regionStatsCache||new r({name:"regionStatsCache",maxSize:1e3,sizeFunction:function(e){return 1},fillCallback:function(e,t){var i={scoreMax:-1/0,scoreMin:1/0,scoreSum:0,scoreSumSquares:0,basesCovered:e.end-e.start,featureCount:0};n.getFeatures(e,function(e){var t=e.get("score")||0;i.scoreMax=Math.max(t,i.scoreMax),i.scoreMin=Math.min(t,i.scoreMin),i.scoreSum+=t,i.scoreSumSquares+=t*t,i.featureCount++},function(){i.scoreMean=i.featureCount?i.scoreSum/i.featureCount:0,i.scoreStdDev=n._calcStdFromSums(i.scoreSum,i.scoreSumSquares,i.featureCount),i.featureDensity=i.featureCount/i.basesCovered,t(i)},function(e){t(null,e)})}})).get(e,function(e,n){n?i(n):t(e)})},_calcStdFromSums:function(e,t,i){if(0==i)return 0;var n=t-e*e/i;return i>1&&(n/=i-1),n<0?0:Math.sqrt(n)},getFeatures:function(e,t,i,n){i()},addFeatureTransform:function(e){if(!this.supportsFeatureTransforms)throw new Error("store class "+this.getConf("type")+" does not support feature transforms");this._featureTransforms.push(e)},applyFeatureTransforms:function(e){var t=this,i=e;return this._featureTransforms.forEach(function(e){i=e.call(t,i,t)}),i},_applyTopLevelFeaturesTransform:function(e){var t=this;return i.flattenOneLevel(e.map(function(e){return t._topLevelFeaturesTransform(e)}))},_findSubfeaturesWithTypes:function(e,t){var i=this;if(e.includes(t.get("type")))return[t];var n=t.children();if(n&&n.length){var r=[];return n.forEach(function(t){return r.push.apply(r,o(i._findSubfeaturesWithTypes(e,t)))}),r}return[]},getReferenceSequence:function(e,i,n){for(var r=e.end-e.start,o="";o.length<r;)o+=" ";this.getFeatures(t.mixin({reference_sequences_only:!0},e),function(t){var i=t.get("residues")||t.get("seq");i&&(o=function(e,t,i){var n=0;t<0&&(n=-t,t=0);var r=Math.min(e.length-t,i.length-n);return e.substr(0,t)+i.substr(n,r)+e.substr(t+r)}(o,t.get("start")-e.start,i))},function(){i(o)},n)},saveStore:function(){console.log("unimplemented")}})}.apply(null,n))||(e.exports=r)},337:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function a(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}i(1218);var s=i(1219).default,l=i(1220).HttpRangeFetcher,c=i(594).Buffer;n=[i(575),i(334),i(343)],void 0===(r=function(e,t,i){function n(e){return function(t,i){return e(t,i).then(function(e){if(e.status>=200&&e.status<300)return Promise.resolve(e);var t=new Error("HTTP "+e.status+" when fetching "+e.url);return t.response=e,Promise.reject(t)})}}function r(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=void 0;return t.isElectron()?"http"===e.slice(0,4)?r=n(electronRequire("node-fetch")):(e=e.replace("%20"," "),r=n(fetch)):r=s,r(e,Object.assign({method:"GET",credentials:"same-origin",retries:5,retryDelay:1e3,retryStatus:[500,404,503],onRetry:function(t){var i=t.retriesLeft;t.retryDelay,console.warn(e+" request failed, retrying ("+i+" retries left)")}},i))}var h=new l({fetch:function(e,i,n){var o=new Date;return r(e,{headers:{range:"bytes="+i+"-"+n},onRetry:function(t){var r=t.retriesLeft;t.retryDelay,console.warn(e+" bytes "+i+"-"+n+" request failed, retrying ("+r+" retries left)")}}).then(function(r){var a=new Date;if(206!==r.status&&200!==r.status)throw new Error("HTTP "+r.status+" when fetching "+e+" bytes "+i+"-"+n);var s={},l=!0,h=!1,u=void 0;try{for(var d,f=r.headers.entries()[Symbol.iterator]();!(l=(d=f.next()).done);l=!0){var g=d.value;s[g[0]]=g[1]}}catch(e){h=!0,u=e}finally{try{!l&&f.return&&f.return()}finally{if(h)throw u}}if(t.isElectron())try{if(!s["content-range"]){var p=electronRequire("fs").statSync(t.unReplacePath(e));s["content-range"]=i+"-"+n+"/"+p.size}}catch(t){console.error("Could not get size of file",e,t)}else if(200===r.status)throw new Error("HTTP "+r.status+" when fetching "+e+" bytes "+i+"-"+n);return r.arrayBuffer().then(function(e){return{headers:s,requestDate:o,responseDate:a,buffer:c.from(e)}})},function(t){throw new Error("HTTP "+t.status+" when fetching "+e+" bytes "+i+"-"+n)})},size:52428800,chunkSize:Math.pow(2,18),aggregationTime:50}),u=e(i,{constructor:function(e,t,i,n){n||("object"===(void 0===t?"undefined":o(t))?(n=t,t=void 0):n={}),this.url=e,this.start=t||0,i&&(this.end=i),this.opts=n},slice:function(e,t){var i=this.start,n=this.end;return i&&e?i+=e:i=e||i,n=t&&i?i+t-1:n||t-1,new u(this.url,i,n,this.opts)},fetch:function(e,t){var i=void 0===this.end?void 0:this.end-this.start+1;if(i<0)throw new Error("Length less than 0 received");null==i&&0==this.start?r(this.url).then(function(e){return e.arrayBuffer()}).then(e).catch(t):h.getRange(this.url,this.start,i).then(this._getResponseArrayBuffer.bind(this,e),t)},fetchBufferPromise:function(){var e=this;return a(regeneratorRuntime.mark(function t(){var i,n,o,a;return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(i=void 0===e.end?void 0:e.end-e.start+1,t.prev=1,!(i<0)){t.next=6;break}throw new Error("Length less than 0 received");case 6:if(null!=i||0!=e.start){t.next=17;break}return t.next=9,r(e.url);case 9:return n=t.sent,t.t0=c,t.next=13,n.arrayBuffer();case 13:return t.t1=t.sent,t.abrupt("return",new t.t0(t.t1));case 17:return t.next=19,h.getRange(e.url,e.start,i);case 19:return o=t.sent,t.abrupt("return",o.buffer);case 21:t.next=29;break;case 23:if(t.prev=23,t.t2=t.catch(1),t.t2.message){t.next=28;break}throw a=i?" bytes "+e.start+"-"+e.end:"",new Error("HTTP "+t.t2.status+" when fetching "+t.t2.url+" "+a);case 28:throw t.t2;case 29:case"end":return t.stop()}},t,e,[[1,23]])}))()},_getResponseArrayBuffer:function(e,t){var i=t.buffer;if(!i.buffer)throw new Error("could not convert response to ArrayBuffer");e(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength))},read:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1],i=arguments[2],n=arguments[3];h.getRange(this.url,this.start+e,t).then(this._getResponseArrayBuffer.bind(this,i),n)},readBufferPromise:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,i=arguments[1];return a(regeneratorRuntime.mark(function n(){var r;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,h.getRange(e.url,e.start+t,i);case 2:return r=n.sent,n.abrupt("return",r.buffer);case 4:case"end":return n.stop()}},n,e)}))()},stat:function(e,t){this.statPromise().then(e,t)},statPromise:function(){return h.stat(this.url)}});return u}.apply(null,n))||(e.exports=r)},338:function(e,t,i){var n,r;n=[i(334)],void 0===(r=function(e){var t=0,i=e.fastDeclare({constructor:function(e){var n;if(e=e||{},this.data=e.data||{},this._parent=e.parent,this._uniqueID=e.id||this.data.uniqueID||(this._parent?this._parent.id()+"_"+t++:"SimpleFeature_"+t++),n=this.data.subfeatures)for(var r=0;r<n.length;r++)"function"!=typeof n[r].get&&(n[r]=new i({data:n[r],parent:this}))},get:function(e){return this.data[e.toLowerCase()]},set:function(e,t){this.data[e]=t},tags:function(){var e=[],t=this.data;for(var i in t)t.hasOwnProperty(i)&&e.push(i);return e},id:function(e){return e&&(this._uniqueID=e),this._uniqueID},parent:function(){return this._parent},children:function(){return this.get("subfeatures")},toJSON:function(){var e=Object.assign({},this);return delete e._parent,e}});return i}.apply(null,n))||(e.exports=r)},339:function(e,t,i){var n,r;n=[i(575),i(587)],void 0===(r=function(e,t){return e(null,{constructor:function(e){this._deferFeatures()},_deferFeatures:function(){this._deferred||(this._deferred={}),this._deferred.features=new t},getFeatures:function(e,t,i,n){this._deferred.features.then(dojo.hitch(this,"_getFeatures",e,t,i,n),n)}})}.apply(null,n))||(e.exports=r)},340:function(e,t,i){var n,r;n=[i(575),i(587),i(334)],void 0===(r=function(e,t,i){return e(null,{constructor:function(e){this._deferGlobalStats()},_deferGlobalStats:function(){this._deferred||(this._deferred={}),this._deferred.stats=new t},getGlobalStats:function(e,t){this._deferred.stats.then(dojo.hitch(this,"_getGlobalStats",e,t),t)},_getGlobalStats:function(e,t){e(this.globalStats||{})},getRegionStats:function(e,t,i){this._deferred.stats.then(dojo.hitch(this,"_getRegionStats",e,t,i),i)}})}.apply(null,n))||(e.exports=r)},341:function(e,t,i){var n,r;n=[i(581),i(584)],void 0===(r=function(e){return e.add("typed-arrays",function(){try{return!!new Uint8Array(1)}catch(e){}return!1}),e.add("canvas",function(){try{return!!document.createElement("canvas").getContext("2d")}catch(e){}return!1}),e.add("inaccurate-html-layout",function(){return e("safari")||e("ie")<9},!0),e.add("save-generated-files",function(){var t=!1;try{t=Blob&&!(e("ie")<10)&&!(e("safari")<10)}catch(e){}return t},!0),e.add("inaccurate-html-width",function(){return e("safari")||e("chrome")},!0),e}.apply(null,n))||(e.exports=r)},342:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575)],void 0===(r=function(e){var t=e(Error,{constructor:function(e){"object"==(void 0===e?"undefined":o(e))?e instanceof Error?(this._originalError=e,this.message=""+e,this.stack=e.stack):dojo.mixin(this,e):"string"==typeof e&&(this._originalError=new Error,this.message=e,this.stack=this._originalError.stack),this.message||(this.message=this._defaultMessage)}}),i={};return i.Fatal=e(t,{_defaultMessage:"Unknown fatal error."}),i.TimeOut=e(t,{_defaultMessage:"Data took too long to fetch."}),i.DataOverflow=e(t,{_defaultMessage:"Too much data to show."}),i}.apply(null,n))||(e.exports=r)},343:function(e,t,i){var n,r;n=[i(575),i(577),i(581),i(384)],void 0===(r=function(e,t,i,n){var r=e(null,{constructor:function(e){this.blob=e,this.size=e.size,this.totalSize=e.size},slice:function(e,t){var i=this.blob.mozSlice||this.blob.slice||this.blob.webkitSlice;return new r(t?i.call(this.blob,e,e+t):i.call(this.blob,e))},fetchLines:function(e,t,i){this.fetch(function(i){i=new Uint8Array(i);for(var r,o=new n.FromBytes({bytes:i,returnPartialRecord:!this.end});r=o.getline();)e(r);t()},i)},readLines:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1],i=arguments[2],n=arguments[3],r=arguments[4],o=(this.start,0!=e);this.slice(e,t).fetchLines(function(){o||i(),o=!1},n,r)},read:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1],i=arguments[2],n=arguments[3];this.start,t?this.slice(e,t).fetch(i,n):i(new ArrayBuffer)},readBufferPromise:function(e,t){var i=this;return new Promise(function(n,r){i.read(e,t,function(e){n(window.Buffer.from(e))},r)})},fetch:function(e,t){try{var i=new FileReader;i.onloadend=function(t){e(i.result)},i.onerror=t,i.readAsArrayBuffer(this.blob)}catch(e){t(e)}},fetchBufferPromise:function(){var e=this;return new Promise(function(t,i){e.fetch(function(e){t(window.Buffer.from(e))},i)})},stat:function(e,t){this.statPromise().then(e,t)},statPromise:function(){var e=this;return function(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}(regeneratorRuntime.mark(function t(){return regeneratorRuntime.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",{size:e.blob.size});case 1:case"end":return t.stop()}},t,e)}))()}});return r}.apply(null,n))||(e.exports=r)},344:function(e,t,i){var n,r;n=[i(575),i(350)],void 0===(r=function(e,t){return e(t,{constructor:function(e){this.name=e.name,this.cssLoaded=e.cssLoaded,this._finalizeConfig(e.config)},_defaultConfig:function(){return{baseUrl:"/plugins/"+this.name}}})}.apply(null,n))||(e.exports=r)},345:function(e,t,i){var n,r;n=[i(577),i(334)],void 0===(r=function(e,t){return t.fastDeclare({constructor:function(e){if(e){if("string"==typeof e&&(e=t.parseLocString(e)),e.location&&this._populate(e.location),e.feature){var i=e.feature;this._populate({start:i.get("start"),end:i.get("end"),ref:i.get("seq_id")||(e.tracks?e.tracks[0].browser.refSeq.name:void 0),strand:i.get("strand"),objectName:i.get("name")||i.get("id")})}this._populate(e)}},_populate:function(t){e.forEach("ref,start,end,strand,tracks,objectName".split(","),function(e){e in t&&(this[e]=t[e])},this)},toString:function(){var e=t.assembleLocString(this);return this.objectName?e+" ("+this.objectName+")":e},fromString:function(e){var i=t.parseLocString(e);i.objectName=i.extra,delete i.extra,this._populate(i)},localeCompare:function(e){var t=this.toString(),i=e.toString();return t.localeCompare(i)}})}.apply(null,n))||(e.exports=r)},346:function(e,t,i){var n,r;n=[i(575),i(589),i(647)],void 0===(r=function(e,t,i){return e(i,{constructor:function(){dojo.connect(this,"onLoad",this,"_addActionBar")},_addActionBar:function(){this.containerNode&&!this.actionBar&&(this.actionBar=dojo.create("div",{className:"infoDialogActionBar dijitDialogPaneActionBar"}),this._fillActionBar(this.actionBar),this.containerNode.appendChild(this.actionBar))},_fillActionBar:function(e){},show:function(e){this._addActionBar(),this.inherited(arguments);var i=t.position(this.titleBar);this.domNode.style.width=i.w+"px"}})}.apply(null,n))||(e.exports=r)},347:function(e,t,i){var n=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function r(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}i(594).Buffer;var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.blob=t}return n(e,[{key:"read",value:function(){var e=r(regeneratorRuntime.mark(function e(t){var i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments[2],o=arguments[3];return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.blob.readBufferPromise(o,r);case 2:return(i=e.sent).copy(t,n),e.abrupt("return",{bytesRead:i.length,buffer:t});case 5:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}()},{key:"readFile",value:function(){var e=r(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.blob.fetchBufferPromise());case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}()},{key:"stat",value:function(){return this.blob.statPromise()}},{key:"toString",value:function(){return(this.blob.url?this.blob.url:this.blob.blob?this.blob.blob.name:void 0)||void 0}}]),e}();e.exports=o},348:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(576),i(577),i(573),i(595),i(579),i(589),i(585),i(588),i(590),i(580),i(619),i(760),i(357),i(647),i(1191),i(1192),i(680),i(729),i(771),i(1193),i(334),i(350),i(366),i(342),i(345),i(367),i(419),i(420),i(421)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h,u,d,f,g,p,b,m,v,w,y,k,_,x,S,j,C,A,T,B,F){return e([x,F,S,f],{constructor:function(e){e=e||{},this.refSeq=e.refSeq,this.name=e.label||this.config.label,this.key=e.key||this.config.key||this.name,this._changedCallback=e.changeCallback||function(){},this.height=0,this.shown=!0,this.empty=!1,this.browser=e.browser,this.setFeatureFilterParentComponent(this.browser.view),this.store=e.store,t.mixin(this.config.style,this.getUserStyles())},updateUserStyles:function(e){t.mixin(this.config.style,e);var i=n.parse(this.browser.cookie("track-style-"+this.name)||"{}");t.mixin(i,e),this.browser.cookie("track-style-"+this.name,i),this.redraw()},getUserStyles:function(){return n.parse(this.browser.cookie("track-style-"+this.name)||"{}")},_defaultConfig:function(){return{maxFeatureSizeForUnderlyingRefSeq:25e4,subfeatureDetailLevel:2}},heightUpdate:function(e,t){this.shown?(void 0!==t&&(this.blockHeights[t]=e),this.height=Math.max(this.height,e),this.inShowRange||(this.heightUpdateCallback(Math.max(this.labelHeight,this.height)),h(".height_overflow_message",this.div).style("top",this.height-16+"px"))):this.heightUpdateCallback(0)},setViewInfo:function(e,t,i,n,r,o,a){this.genomeView=e,this.heightUpdateCallback=t,this.div=n,this.widthPct=r,this.widthPx=o,this.leftBlank=document.createElement("div"),this.leftBlank.className="blank-block",this.rightBlank=document.createElement("div"),this.rightBlank.className="blank-block",this.div.appendChild(this.rightBlank),this.div.appendChild(this.leftBlank),this.sizeInit(i,r),this.labelHTML="",this.labelHeight=0,this.config.pinned&&this.setPinned(!0),this.label||this.makeTrackLabel(),this.setLabel(this.key)},makeTrackLabel:function(){var e={className:"track-label dojoDndHandle",id:"label_"+this.name,style:{position:"absolute"}};void 0!==this.browser.config.trackLabels&&"no-block"===this.browser.config.trackLabels&&(e.style.top="-30px");var t=dojo.create("div",e,this.div);this.label=t,(this.config.style||{}).trackLabelCss&&(t.style.cssText+=";"+this.config.style.trackLabelCss);var i=dojo.create("div",{className:"track-close-button"},t);this.own(u(i,"click",dojo.hitch(this,function(e){this.browser.view.suppressDoubleClick(100),this.browser.publish("/jbrowse/v1/v/tracks/hide",[this.config]),e.stopPropagation()}))),dojo.create("span",{className:"track-label-text"},t);var n=dojo.create("div",{className:"track-menu-button"},t);dojo.create("div",{},n),this.labelMenuButton=n,this.makeTrackMenu()},hide:function(){this.shown&&(this.div.style.display="none",this.shown=!1)},show:function(){this.shown||(this.div.style.display="block",this.shown=!0)},initBlocks:function(){this.blocks=new Array(this.numBlocks),this.blockHeights=new Array(this.numBlocks);for(var e=0;e<this.numBlocks;e++)this.blockHeights[e]=0;this.firstAttached=null,this.lastAttached=null,this._adjustBlanks()},clear:function(){if(this.blocks)for(var e=0;e<this.numBlocks;e++)this._hideBlock(e);this.initBlocks(),this.makeTrackMenu()},setLabel:function(e){void 0!==this.label&&this.labelHTML!=e&&(this.labelHTML=e,h(".track-label-text",this.label).forEach(function(t){t.innerHTML=e}),this.labelHeight=this.label.offsetHeight)},transfer:function(){},startZoom:function(e,t,i){},endZoom:function(e,t){},showRange:function(e,t,i,n,r,o,a,s){var l=this;if(this.fatalError)this.showFatalError(this.fatalError);else if(void 0!==this.blocks&&this.blocks.length){0==this.labelHeight&&this.label&&(this.labelHeight=this.label.offsetHeight),this.inShowRange=!0,this.height=this.labelHeight;var c,h,u=null==this.firstAttached?t+1:this.firstAttached,d=null==this.lastAttached?e-1:this.lastAttached,f=[];for(c=d;c>=e;c--)h=i+n*(c-e),f.push(new Promise(function(e,t){l._showBlock(c,h,h+n,r,o,a,e)}));for(c=d+1;c<=t;c++)h=i+n*(c-e),f.push(new Promise(function(e,t){l._showBlock(c,h,h+n,r,o,a,e)}));s&&Promise.all(f).then(s,s);var g=this.blocks[e];for(c=u;c<e;c++)this.transfer(this.blocks[c],g,r,o,a),this.cleanupBlock(this.blocks[c]),this._hideBlock(c);for(g=this.blocks[t],c=d;c>t;c--)this.transfer(this.blocks[c],g,r,o,a),this.cleanupBlock(this.blocks[c]),this._hideBlock(c);this.firstAttached=e,this.lastAttached=t,this._adjustBlanks(),this.inShowRange=!1,this.heightUpdate(this.height),this.updateStaticElements(this.genomeView.getPosition())}},cleanupBlock:function(e){e&&e.destroy()},destroy:function(){i.forEach(this.blocks||[],function(e){this.cleanupBlock(e)},this),delete this.blocks,delete this.div,this.inherited(arguments)},_hideBlock:function(e){this.blocks[e]&&(this.div.removeChild(this.blocks[e].domNode),this.cleanupBlock(this.blocks[e]),this.blocks[e]=void 0,this.blockHeights[e]=0)},_adjustBlanks:function(){null===this.firstAttached||null===this.lastAttached?(this.leftBlank.style.left="0px",this.leftBlank.style.width="50%",this.rightBlank.style.left="50%",this.rightBlank.style.width="50%"):(this.leftBlank.style.width=this.firstAttached*this.widthPct+"%",this.rightBlank.style.left=(this.lastAttached+1)*this.widthPct+"%",this.rightBlank.style.width=(this.numBlocks-this.lastAttached-1)*this.widthPct+"%")},hideAll:function(){if(null!=this.firstAttached){for(var e=this.firstAttached;e<=this.lastAttached;e++)this._hideBlock(e);this.firstAttached=null,this.lastAttached=null,this._adjustBlanks()}},hideRegion:function(e){if(null!=this.firstAttached){for(var t=this.firstAttached;t<=this.lastAttached;t++)this.blocks[t]&&e.ref==this.refSeq.name&&!(this.blocks[t].leftBase>e.end||this.blocks[t].rightBase<e.start)&&this._hideBlock(t);this._adjustBlanks()}},changed:function(){this.hideAll(),this._changedCallback&&this._changedCallback()},_makeLoadingMessage:function(){var e=dojo.create("div",{className:"loading",innerHTML:'<div class="text">Loading</span>',title:"Loading data...",style:{visibility:"hidden"}});return window.setTimeout(function(){e.style.visibility="visible"},200),e},showFatalError:function(e){h(".block",this.div).concat(h(".blank-block",this.div)).concat(h(".error",this.div)).orphan(),this.blocks=[],this.blockHeights=[],this.fatalErrorMessageElement=this._renderErrorMessage(e||this.fatalError,this.div),this.heightUpdate(s.position(this.fatalErrorMessageElement).h),this.updateStaticElements(this.genomeView.getPosition())},_handleError:function(e,t){var n=dojo.mixin({},e);dojo.mixin(n,t);var r="object"==(void 0===e?"undefined":o(e));r&&e instanceof j.TimeOut&&n.block?this.fillBlockTimeout(n.blockIndex,n.block,e):r&&e instanceof j.DataOverflow?n.block?this.fillTooManyFeaturesMessage(n.blockIndex,n.block,t.scale,e):i.forEach(this.blocks,function(i,n){i&&this.fillTooManyFeaturesMessage(n,i,t.scale,e)},this):(console.error(e.stack||""+e,e),this.fatalError=e,this.showFatalError(e))},fillBlockError:function(e,t,i){i=i||this.fatalError||this.error,a.empty(t.domNode);var n=this._renderErrorMessage(i,t.domNode);this.heightUpdate(dojo.position(n).h,e)},_renderErrorMessage:function(e,t){return a.create("div",{className:"error",innerHTML:'<h2>Error</h2><div class="text">An error was encountered when displaying this track.</div>'+(e?'<div class="codecaption">Diagnostic message</div><code>'+e+"</code>":""),title:"An error occurred"},t)},fillTooManyFeaturesMessage:function(e,t,i,n){var r=(n&&n.message||"Too much data to show").replace(/\.$/,"");this.fillMessage(e,t,r+(i>=this.browser.view.maxPxPerBp?"":"; zoom in to see detail")+".")},redraw:function(){this.clear(),this.genomeView.showVisibleBlocks(!0)},markBlockHeightOverflow:function(e){e.heightOverflowed||(e.heightOverflowed=!0,l.add(e.domNode,"height_overflow"),a.create("div",{className:"height_overflow_message",innerHTML:"Max height reached",style:{top:this.height-16+"px",height:"16px"}},e.domNode))},_showBlock:function(e,t,i,n,r,o,a){if(this.empty||this.fatalError)return this.heightUpdate(this.labelHeight),void(a&&a());if(this.blocks[e])return this.heightUpdate(this.blockHeights[e],e),void(a&&a());var s=new B({startBase:t,endBase:i,scale:n,node:{className:"block",style:{left:e*this.widthPct+"%",width:this.widthPct+"%"}}});if(this.blocks[e]=s,this.div.appendChild(s.domNode),this.blocks[e-1],this.blocks[e+1],this.widthPx,this.fatalError)return this.fillBlockError(e,s),void(a&&a());var l=this._makeLoadingMessage();s.domNode.appendChild(l);var c=function(){s&&l.parentNode&&s.domNode.removeChild(l),a&&a()},h={blockIndex:e,block:s,leftBlock:this.blocks[e-1],rightBlock:this.blocks[e+1],leftBase:t,rightBase:i,scale:n,stripeWidth:this.widthPx,containerStart:r,containerEnd:o,finishCallback:c};try{this.fillBlock(h)}catch(e){this._handleError(e,h),c()}},moveBlocks:function(e){var t,i,n=new Array(this.numBlocks),r=new Array(this.numBlocks);for(t=0;t<this.numBlocks;t++)r[t]=0;for(this.lastAttached+e<0||this.firstAttached+e>=this.numBlocks?(this.firstAttached=null,this.lastAttached=null):(this.firstAttached=Math.max(0,Math.min(this.numBlocks-1,this.firstAttached+e)),this.lastAttached=Math.max(0,Math.min(this.numBlocks-1,this.lastAttached+e)),i=e<0?this.blocks[this.firstAttached-e]:this.blocks[this.lastAttached-e]),t=0;t<this.blocks.length;t++){var o=t+e;o<0||o>=this.numBlocks?(i&&this.blocks[t]&&this.transfer(this.blocks[t],i),this._hideBlock(t)):(n[o]=this.blocks[t],n[o]&&(n[o].domNode.style.left=o*this.widthPct+"%"),r[o]=this.blockHeights[t])}this.blocks=n,this.blockHeights=r,this._adjustBlanks()},sizeInit:function(e,t,i){var n,r;if(this.numBlocks=e,this.widthPct=t,i&&this.moveBlocks(-i),this.blocks&&this.blocks.length>0){var o=this.blocks[e-1];for(n=e;n<this.blocks.length;n++)o&&this.blocks[n]&&this.transfer(this.blocks[n],o),this._hideBlock(n);for(r=this.blocks.length,this.blocks.length=e,this.blockHeights.length=e,n=r;n<e;n++)this.blocks[n]=void 0,this.blockHeights[n]=0;if(this.lastAttached=Math.min(this.lastAttached,e-1),this.firstAttached>this.lastAttached&&(this.firstAttached=null,this.lastAttached=null),this.blocks.length!=e)throw new Error("block number mismatch: should be "+e+"; blocks.length: "+this.blocks.length);for(n=0;n<e;n++)this.blocks[n]&&(this.blocks[n].domNode.style.left=n*t+"%",this.blocks[n].domNode.style.width=t+"%")}else this.initBlocks();this.makeTrackMenu()},fillMessage:function(e,t,i,n){a.empty(t.domNode);var r=dojo.create("div",{className:n||"message",innerHTML:i},t.domNode);this.heightUpdate(s.getMarginBox(r,c.getComputedStyle(r)).h,e)},updateStaticElements:function(e){this.window_info=dojo.mixin(this.window_info||{},e),this.fatalErrorMessageElement&&(this.fatalErrorMessageElement.style.width=.6*this.window_info.width+"px","x"in e&&(this.fatalErrorMessageElement.style.left=e.x+.2*this.window_info.width+"px")),this.label&&"x"in e&&(this.label.style.left=e.x+"px")},_renderContextMenu:function(e,t,i){for(var n in i||(i=new b,this.own(i)),e){var r=e[n];try{if(r.children){var o=new b;i.addChild(o),i.addChild(new m({popup:o,label:r.label})),this._renderContextMenu(r.children,t,o)}else{var a=dojo.clone(r);(a.action||a.url||a.href)&&(a.onClick=this._makeClickHandler(r,t)),a.label&&!a.onClick&&(a.disabled=!0);var s={"dijit/MenuItem":v,"dijit/CheckedMenuItem":w,"dijit/RadioMenuItem":k,"dijit/MenuSeparator":y}[r.type]||v;i.addChild(new s(a))}}catch(e){console.error("failed to render menu item "+n,e)}}return i},_makeClickHandler:function(e,t){var i=this;if("function"==typeof e)e={action:e};else{if(void 0===e)return console.error("Undefined click specification, cannot make click handler"),function(){};"defaultDialog"==e.action&&(e.action="contentDialog",e.content=dojo.hitch(this,"defaultFeatureDetail"))}var n=function(n){if(!i.genomeView.dragging){var r=t||this,o=i._processMenuSpec(dojo.clone(e),r),a=o.url||o.href;if(o.url=a,dojo.clone(o.style||{}),o.action=o.action||(a?"iframeDialog":!!o.content&&"contentDialog"),o.title=o.title||o.label,"string"==typeof o.action)o.action={iframedialog:"iframeDialog",iframe:"iframeDialog",contentdialog:"contentDialog",content:"contentDialog",baredialog:"bareDialog",bare:"bareDialog",xhrdialog:"xhrDialog",xhr:"xhrDialog",newwindow:"newWindow",_blank:"newWindow",thiswindow:"navigateTo",navigateto:"navigateTo"}[(""+o.action).toLowerCase()],"newWindow"==o.action?window.open(a,"_blank"):"navigateTo"==o.action?window.location=a:o.action in{iframeDialog:1,contentDialog:1,xhrDialog:1,bareDialog:1}&&i._openDialog(o,n,r);else{if("function"!=typeof o.action)return;o.action.call(r,n)}}};return e.label&&(n.label=e.label),n},_trackDetailsContent:function(e){var i=a.create("div",{className:"detail"}),n=t.hitch(this,"renderDetailField",i);n("Name",this.key||this.name);var r=t.clone(this.getMetadata());if(delete r.key,delete r.label,"object"==o(r.conf)&&delete r.conf,this.browser&&this.browser.config&&this.browser.config.trackSelector&&this.browser.config.trackSelector.renameFacets){var s={};for(var l in r)s[this.browser.config.trackSelector.renameFacets[l]||l]=r[l];r=s}var c=[];for(var l in r)c.push(l);c.sort(function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())});for(var h=0;h<c.length;h++)l=c[h],n(this.camelToTitleCase(l),r[l]);for(var l in e)n(l,e[l]);return i},camelToTitleCase:function(e){return e===e.toLowerCase()?_.ucFirst(e.replace(/_/g," ")):e},getMetadata:function(){return this.config.metadata||this.browser&&this.browser.trackMetaDataStore&&this.browser.trackMetaDataStore.getItem(this.name)||{}},setPinned:function(e){return this.config.pinned=!!e,this.config.pinned?l.add(this.div,"pinned"):l.remove(this.div,"pinned"),this.config.pinned},isPinned:function(){return!!this.config.pinned},_trackMenuOptions:function(){var e=this;return[{label:"About this track",title:"About track: "+(this.key||this.name),iconClass:"jbrowseIconHelp",action:"contentDialog",content:dojo.hitch(this,"_trackDetailsContent")},{label:"Pin to top",type:"dijit/CheckedMenuItem",title:"make this track always visible at the top of the view",checked:e.isPinned(),onClick:function(){e.browser.publish("/jbrowse/v1/v/tracks/"+(this.checked?"pin":"unpin"),[e.name])}},{label:"Edit config",title:"edit this track's configuration",iconClass:"dijitIconConfigure",action:function(){new A(e.config).show(function(t){e.browser.publish("/jbrowse/v1/v/tracks/replace",[t.conf])})}},{label:"Delete track",title:"delete this track",iconClass:"dijitIconDelete",action:function(){new T({title:"Delete track?",message:"Really delete this track?"}).show(function(t){t&&e.browser.publish("/jbrowse/v1/v/tracks/delete",[e.config])})}}]},_processMenuSpec:function(e,t){for(var i in e)e.hasOwnProperty(i)&&("object"==o(e[i])?e[i]=this._processMenuSpec(e[i],t):e[i]=this.template(t.feature,this._evalConf(t,e[i],i)));return e},_evalConf:function(e,t,i){return"function"!=typeof t||{action:1,click:1,content:1}[i]?t:t.apply(e,e.callbackArgs||[])},getConfForFeature:function(e,t){return this.getConf(e,[t,e,null,null,this])},isFeatureHighlighted:function(e,t){var i=this.browser.getHighlight();return i&&i.objectName&&i.objectName==t&&i.ref==this.refSeq.name&&!(e.get("start")>i.end||e.get("end")<i.start)},_openDialog:function(t,i,n){n=n||{};var o=t.action;o=o.replace(/Dialog/,"");var a,l=n.feature&&(n.feature.get("name")||n.feature.get("id")),c={class:"popup-dialog popup-dialog-"+o,title:t.title||t.label||(l?l+" details":"Details"),style:dojo.clone(t.style||{})};function h(e,t){"function"==typeof t.then?t.then(function(t){e.set("content",t)}):e.set("content",t)}if(t.dialog&&e.safeMixin(c,t.dialog),"xhr"==o||"content"==o)"xhr"==o&&(c.href=t.url),a=new g(c),n.dialog=a,"content"==o&&h(a,this._evalConf(n,t.content,null)),_.removeAttribute(n,"dialog");else if("bare"==o)a=new p(c),n.dialog=a,h(a,this._evalConf(n,t.content,null)),_.removeAttribute(n,"dialog");else if("iframe"==o){var u=function(){var e=s.position(this.browser.container);return{h:Math.round(.8*e.h),w:Math.round(.8*e.w)}}.call(this);a=new p(c);var d=dojo.create("iframe",{tabindex:"0",width:u.w,height:u.h,style:{border:"none"},src:t.url});a.set("content",d),t.hideIframeDialogUrl||dojo.create("a",{href:t.url,target:"_blank",className:"dialog-new-window",title:"open in new window",onclick:dojo.hitch(a,"hide"),innerHTML:t.url},a.titleBar);var f=function(){var e=s.position(a.containerNode),t=e.w,i=e.h-s.position(a.titleBar).h;d.width=t,d.height=i};r.after(a,"layout",f),r.after(a,"show",f)}r.after(a,"hide",function(){setTimeout(function(){a.destroyRecursive()},500)}),a.show()},template:function(e,t){return"string"==typeof t&&e?t?t.replace(/\{([^}]+)\}/g,function(t,i){var n=e?e.get(i.toLowerCase()):void 0;return void 0!==n?n:""}):void 0:t},makeTrackMenu:function(){var e=this;d(this._trackMenuOptions()).then(function(t){if(t&&t.length&&e.label&&e.labelMenuButton){e.trackMenu&&e.trackMenu.destroyRecursive();var i=e._renderContextMenu(t,{menuButton:e.labelMenuButton,track:e,browser:e.browser,refSeq:e.refSeq});i.startup(),i.set("leftClickToOpen",!0),i.bindDomNode(e.labelMenuButton),i.set("leftClickToOpen",!1),i.bindDomNode(e.label),e.trackMenu=i,e.own(e.trackMenu)}})},fillBlockTimeout:function(e,t){a.empty(t.domNode),l.add(t.domNode,"timed_out"),this.fillMessage(e,t,"This region took too long to display, possibly because it contains too much data. Try zooming in to show a smaller region.")},renderRegionBookmark:function(e,t,n){var r=this;t.then?t.then(function(t){i.forEach(t.features,function(t){if(t.ref==this.refSeq.name){var i=new C(t.refseq+":"+t.start+".."+t.end);this.renderRegionHighlight(e,i,t.color,n?t.label:null,n?t.rlabel:null)}},r)},function(e){console.log("Couldn't get bookmarks")}):i.forEach(t.features,function(t){if(t.ref==this.refSeq.name){var i=new C(t.refseq+":"+t.start+".."+t.end);this.renderRegionHighlight(e,i,t.color,n?t.label:null,n?t.rlabel:null)}},this)},renderRegionHighlight:function(e,t,i,n,r){if(!(t.start>e.rightBase||t.end<e.leftBase)){var o=e.rightBase-e.leftBase,s=t.start,l=t.end,c=e.leftBase-s;c>0&&(s+=c);var h=l-e.rightBase;h>0&&(l-=h);var u=100*(l-s)/o;if(s=100*(s-e.leftBase)/o,t=a.create("div",{className:(i?"global_highlight_mod":"global_highlight")+(c<=0?" left":"")+(h<=0?" right":""),style:{left:s+"%",width:u+"%",height:"100%",background:i}},e.block.domNode),this.postRenderHighlight(t),n){if(c<=0)var d=a.create("div",{className:"horizontaltext",style:{background:"white",zIndex:1e3,left:s+"%"},innerHTML:n},e.block.domNode);h<=0&&a.create("div",{className:"horizontaltext",style:{background:"white",zIndex:1e3,left:s+u+"%"},innerHTML:r},e.block.domNode);var f=d.clientWidth+1+"px";d.style.left="calc("+s+"% - "+f+")"}}},postRenderHighlight:function(e){}})}.apply(null,n))||(e.exports=r)},349:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(342)],void 0===(r=function(e,t,i,n){return e(null,{_estimateGlobalStats:function(e){var r=new i;e=e||this.refSeq;var o=this.storeTimeout||3e3;if(0!=this.storeTimeout){var a=new Date,s=function(i,n){var r=this,o=.75*e.start+.25*e.end,a=Math.max(0,Math.round(o-i/2)),s=Math.min(Math.round(o+i/2),e.end),l=[];this._getFeatures({ref:e.name,start:a,end:s},function(e){l.push(e)},function(o){l=t.filter(l,function(e){return e.get("start")>=a&&e.get("end")<=s});var c=(r.getConf("topLevelFeaturesPercent")||100)/100;n.call(r,i,{featureDensity:l.length/i*c,_correctionFactor:c,_statsSampleFeatures:l.length,_statsSampleInterval:{ref:e.name,start:a,end:s,length:i}})},function(e){n.call(r,i,null,e)})};return s.call(this,100,function t(i,l,c){if(c)c.isInstanceOf&&c.isInstanceOf(n.DataOverflow)?(console.log("Store statistics found chunkSizeLimit error, using empty: "+(this.source||this.name)),r.resolve({featureDensity:0,error:"global stats estimation found chunkSizeError"})):r.reject(c);else{var h=e.end-e.start;l._statsSampleFeatures>=300||2*i>h||c?(console.log("Store statistics: "+(this.source||this.name),l),r.resolve(l)):new Date-a<o?s.call(this,2*i,t):(console.log("Store statistics timed out: "+(this.source||this.name)),r.resolve({featureDensity:0,error:"global stats estimation timed out"}))}}),r}r.resolve({featureDensity:0,error:"global stats estimation timed out"})}})}.apply(null,n))||(e.exports=r)},350:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(576),i(334)],void 0===(r=function(e,t,i){return e(null,{constructor:function(e){if(e=e||{},this._finalizeConfig(e.config),this.browser=e.browser,!this.browser)throw"a reference to the main browser is required by this constructor";this.compiledConfig={}},_finalizeConfig:function(e){this.config=this._mergeConfigs(dojo.clone(this._defaultConfig()),e||{})},_defaultConfig:function(){return{baseUrl:"/"}},resolveUrl:function(e,t){return t=t||{},i.resolveUrl(this.getConf("baseUrl",[]),this.fillTemplate(e,t))},_mergeConfigs:function(e,t){if(null===t)return null;for(var i in null===e&&(e={}),t)i in e&&"object"==o(t[i])&&"object"==o(e[i])?e[i]=this._mergeConfigs(e[i],t[i]):void 0!==e[i]&&void 0===t[i]||(e[i]=t[i]);return e},_compileConfigurationPath:function(e){var t=this.config;for("string"==typeof e&&(e=e.split("."));e.length&&t;)t=t[e.shift()];return e.length?function(){return null}:"function"==typeof t?t:function(){return t}},getConf:function(e,t){var i=this.compiledConfig[e];return i||(i=this.compiledConfig[e]=this._compileConfigurationPath(e)),t?i.apply(this,t):i.call(this)},fillTemplate:function(e,n){if("string"!=typeof e||-1==e.indexOf("{"))return e;var r={refseq:(this.refSeq||{}).name||(this.ref||{}).name||this.ref||""};return r.refSeq=r.refseq,r.refSeq&&(r.refSeqNum=(/\d+/.exec(r.refSeq)||[])[0]||""),r.refSeqNum&&(r.refSeqNumNoLeadingZeroes=(/^0*(\d+)/.exec(r.refSeqNum)||[])[1]||""),n&&t.mixin(r,n),i.fillTemplate(e,r)}})}.apply(null,n))||(e.exports=r)},351:function(e,t,i){var n,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};void 0===(n=function(){var e={crc32Table:"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D",stringToBytes:function(e){for(var t,i,n=[],r=0;r<e.length;r++){t=e.charCodeAt(r),i=[];do{i.push(255&t),t>>=8}while(t);n=n.concat(i.reverse())}return n},crc32_raw:function(t,i,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=0,a=e.crc32Table;r^=-1;for(var s=i,l=n;s<l;s++)o=255&(r^t[s]),r=r>>>8^"0x"+a.substr(9*o,8);return(r^=-1)<0&&(r+=4294967296),r},crc32:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=e.stringToBytes(t),r=0,o=e.crc32Table;i^=-1;for(var a=0,s=n.length;a<s;a++)r=255&(i^n[a]),i=i>>>8^"0x"+o.substr(9*r,8);return(i^=-1)<0&&(i+=4294967296),i},objectFingerprint:function(t){var i=0;if("object"==(void 0===t?"undefined":r(t)))for(var n in t)i=e.crc32(""+e.objectFingerprint(n),i),i=e.crc32(""+e.objectFingerprint(t[n]),i);else i=e.crc32(""+t,i);return i}};return e}.apply(null,[]))||(e.exports=n)},352:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(334),i(351)],void 0===(r=function(e,t,i,n){return e(null,{constructor:function(e){this.fill=e.fillCallback,this.maxSize=e.maxSize||1e6,this.verbose=e.verbose,this.name=e.name||"LRUcache",this._size=e.sizeFunction||this._size,this._keyString=e.keyFunction||this._keyString,this.itemCount=0,this.size=0,this._cacheByKey={},this._cacheOldest=null,this._cacheNewest=null,this._inProgressFills={}},get:function(e,t){var i=this._keyString(e),n=this._cacheByKey[i];if(!n)return this._log("miss",i),void this._attemptFill(e,i,t);this._log("hit",i),this.touchRecord(n),window.setTimeout(function(){t(n.value)},1)},query:function(e){var t=[],i=this._cacheByKey;for(var n in i)e.test(n)&&i.hasOwnProperty(n)&&t.push(i[n]);return t},forEach:function(e,t){t||(t=this);for(var i=0,n=this._cacheNewest;n;n=n.next)e.call(t,n,i++)},some:function(e,t){t||(t=this);for(var i=0,n=this._cacheNewest;n;n=n.next)if(e.call(t,n,i++))return!0;return!1},touch:function(e){this.touchRecord(this._cacheByKey[this._keyString(e)])},touchRecord:function(e){e&&this._cacheNewest!==e&&(this._llRemove(e),this._llPush(e))},_llRemove:function(e){e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this._cacheNewest===e&&(this._cacheNewest=e.prev),this._cacheOldest===e&&(this._cacheOldest=e.next),e.prev=null,e.next=null},_llPush:function(e){this._cacheNewest&&(this._cacheNewest.next=e,e.prev=this._cacheNewest),this._cacheNewest=e,this._cacheOldest||(this._cacheOldest=e)},_attemptFill:function(e,i,n){if(this.fill){var r=this._inProgressFills[i]=this._inProgressFills[i]||{callbacks:[],running:!1};r.callbacks.push(n),r.running||(r.running=!0,this.fill(e,dojo.hitch(this,function(e,i,n,r,o,a){delete this._inProgressFills[e],n.running=!1,!r||a&&a.nocache||(this._log("fill",e),this.set(i,r)),t.forEach(n.callbacks,function(e){try{e.call(this,r,o)}catch(e){console.error(""+e,e.stack,e)}},this)},i,e,r)))}else try{n(void 0)}catch(e){console.error(e)}},set:function(e,t){var n=this._keyString(e);if(!this._cacheByKey[n]){var r=void 0;try{r=this._size(t)}catch(e){e.message="Error calculating item size: "+e.message,console.error(e),r=1}var o={value:t,key:e,keyString:n,size:r};o.size>this.maxSize?this._warn("Cache cannot fit",n,"("+i.addCommas(o.size)+" > "+i.addCommas(this.maxSize)+")"):(this._log("set",n,o,this.size),this._prune(o.size),this._cacheByKey[n]=o,this._llPush(o),this.size+=o.size,this.itemCount++)}},_keyString:function(e){return"object"==(void 0===e?"undefined":o(e))&&"function"==typeof e.toUniqueString?e.toUniqueString():n.objectFingerprint(e)},_size:function(e){var t=void 0===e?"undefined":o(e),i=0;if("object"==t&&null!==t){var n=o(e.size);if("number"==n)return n;if("function"==n)return e.size();if(e.byteLength)return e.byteLength;for(var r in e)e.hasOwnProperty(r)&&(i+=this._size(e[r]));return i}return"string"==t?e.length:1},_prune:function(e){for(;this.size+(e||0)>this.maxSize;){var t=this._cacheOldest;if(!t)return void this._error("eviction error",this.size,e,this);this._log("evict",t),this._llRemove(t),delete this._cacheByKey[t.keyString],delete t.next,delete t.prev,this.itemCount--,this.size-=t.size}},_log:function(){this.verbose&&console.log.apply(console,arguments)},_warn:function(){console.warn.apply(console,arguments)},_error:function(){console.error.apply(console,arguments)}})}.apply(null,n))||(e.exports=r)},353:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(595),i(580),i(341),i(636),i(579),i(334),i(651),i(596),i(711),i(647),i(1493)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f){return e(null,{_canSaveFiles:function(){return o("save-generated-files")&&!this.config.noExportFiles},_canExport:function(){if(this.config.noExport)return!1;var e=this.browser.getHighlight(),t=this.browser.view.visibleRegion(),i={ref:this.refSeq.name,start:this.refSeq.start,end:this.refSeq.end};return this._canExportRegion(t),this._canExportRegion(i),e&&this._canExportRegion(e)||this._canExportRegion(t)||this._canExportRegion(i)},_possibleExportRegions:function(){var e=[function(){var e=dojo.clone(this.browser.view.visibleRegion());return e.description="Visible region",e.name="visible",e}.call(this),{ref:this.refSeq.name,start:this.refSeq.start,end:this.refSeq.end,description:"Whole reference sequence",name:"wholeref"}],t=this.browser.getHighlight();return t&&e.unshift(i.mixin(i.clone(t),{description:"Highlighted region",name:"highlight"})),e},_exportDialogContent:function(){var e=this.track._possibleExportRegions();t.forEach(e,function(e){e.length=Math.round(e.end-e.start+1),e.canExport=this._canExportRegion(e)},this.track);var n=dojo.hitch(this.track,function(){var e=this._readRadio(o.elements.region),t=f[this._readRadio(o.elements.format)];o.elements.filename.value=((this.key||this.label)+"-"+e).replace(/[^ .a-zA-Z0-9_-]/g,"-")+"."+t}),o=s.create("form",{onSubmit:function(){return!1}}),a=s.create("fieldset",{className:"region"},o);s.create("legend",{innerHTML:"Region to save"},a);var c=0;t.forEach(e,function(e){var t=l.assembleLocString(e),i=new u({name:"region",id:"region_"+e.name,value:t,checked:e.canExport&&!c++?"checked":""});a.appendChild(i.domNode);var o=s.create("label",{for:i.id,innerHTML:e.description+' - <span class="locString">'+t+"</span> ("+l.humanReadableNumber(e.length)+(e.canExport?"b":"b, too large")+")"},a);e.canExport||(i.domNode.disabled="disabled",o.className="ghosted"),r(i,"click",n),s.create("br",{},a)});var d=s.create("fieldset",{className:"format"},o);s.create("legend",{innerHTML:"Format"},d),c=0;var f={};t.forEach(this.track._exportFormats(),function(e){e.name||(e={name:e,label:e}),e.fileExt||(e.fileExt=e.name||e),f[e.name]=e.fileExt;var t=new u({name:"format",id:"format"+e.name,value:e.name,checked:c++?"":"checked"});d.appendChild(t.domNode),s.create("label",{for:t.id,innerHTML:e.label},d),r(t,"click",n),s.create("br",{},d)},this);var g=s.create("fieldset",{className:"filename"},o);s.create("legend",{innerHTML:"Filename"},g),s.create("input",{type:"text",name:"filename",style:{width:"100%"}},g),n();var p=s.create("div",{className:"dijitDialogPaneActionBar"}),b=this.dialog;if(new h({iconClass:"dijitIconDelete",onClick:dojo.hitch(b,"hide"),label:"Cancel"}).placeAt(p),new h({iconClass:"dijitIconTask",label:"View",disabled:!t.some(e,function(e){return e.canExport}),onClick:i.partial(this.track._exportViewButtonClicked,this.track,o,b)}).placeAt(p),this.track._canSaveFiles())var m=new h({iconClass:"dijitIconSave",label:"Save",disabled:!t.some(e,function(e){return e.canExport}),onClick:dojo.hitch(this.track,function(){var e=this._readRadio(o.elements.format),t=this._readRadio(o.elements.region),i=o.elements.filename.value.replace(/[^ .a-zA-Z0-9_-]/g,"-");m.set("disabled",!0),m.set("iconClass","jbrowseIconBusy"),this.exportRegion(t,e,dojo.hitch(this,function(t){b.hide(),this._fileDownload({format:e,data:t,filename:i})}))})}).placeAt(p);return[o,p]},_exportViewButtonClicked:function(e,t,i){this.set("disabled",!0),this.set("iconClass","jbrowseIconBusy");var r=e._readRadio(t.elements.region),o=e._readRadio(t.elements.format),u=t.elements.filename.value.replace(/[^ .a-zA-Z0-9_-]/g,"-");e.exportRegion(r,o,function(t){i.hide();var f=s.create("textarea",{rows:Math.round(a.getBox().h/12*.5),wrap:"off",cols:80,style:"maxWidth: 90em; overflow: scroll; overflow-y: scroll; overflow-x: scroll; overflow:-moz-scrollbars-vertical;",readonly:!0});f.value=t;var g=s.create("div",{className:"dijitDialogPaneActionBar"}),p=new d({className:"export-view-dialog",title:o+' export - <span class="locString">'+r+"</span> ("+l.humanReadableNumber(t.length)+"bytes)",content:[f,g]});if(new h({iconClass:"dijitIconDelete",label:"Close",onClick:dojo.hitch(p,"hide")}).placeAt(g),e._canSaveFiles())var b=s.create("div",{className:"save"},g),m=(new h({iconClass:"dijitIconSave",label:"Save",onClick:function(){var i=m.get("value").replace(/[^ .a-zA-Z0-9_-]/g,"-");p.hide(),e._fileDownload({format:o,data:t,filename:i})}}).placeAt(b),new c({value:u,style:"width: 24em"}).placeAt(b));n.after(p,"hide",function(){f.parentNode.removeChild(f),f=null,setTimeout(function(){p.destroyRecursive()},500)}),p.show()})},_fileDownload:function(e){f.saveAs(new Blob([e.data],{type:e.format?"application/x-"+e.format.toLowerCase():"text/plain"}),e.filename)},_readRadio:function(e){if(e.length)for(var t=0;t<e.length;t++)if(e[t].checked)return e[t].value;return e.value},exportRegion:function(e,t,i){"string"==typeof e&&(e=l.parseLocString(e)),e.ref==this.refSeq.name?dojo.global.require([t.match(/\//)?t:"JBrowse/View/Export/"+t],dojo.hitch(this,function(t){new t({refSeq:this.refSeq,track:this,store:this.store}).exportRegion(e,i)})):console.error("cannot export data for ref seq "+e.ref+", exporting is currently only supported for the currently-visible reference sequence")},_trackMenuOptions:function(){var e=this.inherited(arguments);return this.config.noExport||e.push({label:"Save track data",iconClass:"dijitIconSave",disabled:!this._canExport(),action:"bareDialog",content:this._exportDialogContent,dialog:{id:"exportDialog",className:"export-dialog"}}),e},_canExportRegion:function(e){if(!e)return!1;if("number"==typeof this.config.maxExportSpan||"string"==typeof this.config.maxExportSpan)return e.end-e.start+1<=this.config.maxExportSpan;var t={};return this.store.getGlobalStats(function(e){t=e},function(e){}),!t.featureDensity||t.featureDensity*(e.end-e.start)<=(this.config.maxExportFeatures||5e4)}})}.apply(null,n))||(e.exports=r)},354:function(e,t,i){var n,r;n=[i(575),i(590),i(460)],void 0===(r=function(e,t,i){return e(null,{makeYScale:function(e){var t="number"==typeof(e=e||{}).min?e.min:this.minDisplayed,n="number"==typeof e.max?e.max:this.maxDisplayed;this.yscale&&this.yscale.parentNode.removeChild(this.yscale);var r=dojo.create("div",{className:"ruler vertical_ruler",style:{height:this.height+"px",width:"10px",position:"absolute",zIndex:17}},this.div);this.yscale=r,this.window_info&&"x"in this.window_info&&("yScalePosition"in this.config?"right"==this.config.yScalePosition?this.yscale.style.left=this.window_info.x+(this.window_info.width-1||0)+"px":"left"==this.config.yScalePosition?this.yscale.style.left=this.window_info.x+10+1+"px":"center"==this.config.yScalePosition&&(this.yscale.style.left=this.window_info.x+(this.window_info.width||0)/2+"px"):this.yscale.style.left=this.window_info.x+(this.window_info.width||0)/2+"px"),dojo.style(r,"top"==this.config.align?{bottom:0}:{top:0});var o=new i({min:t,max:n,direction:"up",leftBottom:!("yScalePosition"in this.config&&"left"==this.config.yScalePosition),fixBounds:e.fixBounds||!1});o.render_to(r),this.ruler=o},removeYScale:function(){this.yscale?(this.yscale&&(this.yscale.parentNode.removeChild(this.yscale),delete this.yscale),delete this.yscale_params):t(".ruler",this.div).orphan()},updateYScaleFromViewDimensions:function(e){"number"!=typeof e.x&&"number"!=typeof e.width||this.yscale&&("yScalePosition"in this.config?"right"==this.config.yScalePosition?this.yscale.style.left=this.window_info.x+(this.window_info.width-1||0)+"px":"left"==this.config.yScalePosition?this.yscale.style.left=this.window_info.x+10+"px":"center"==this.config.yScalePosition&&(this.yscale.style.left=this.window_info.x+(this.window_info.width||0)/2+"px"):this.yscale.style.left=this.window_info.x+(this.window_info.width||0)/2+"px")}})}.apply(null,n))||(e.exports=r)},355:function(e,t,i){var n,r;n=[i(575),i(576),i(468),i(469),i(470),i(334)],void 0===(r=function(e,t,i,n,r,o){return e([n,r],{constructor:function(){this._embeddedImagePromises={}},_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{maxDescriptionLength:70,color:"goldenrod",mouseovercolor:"rgba(0,0,0,0.3)",borderColor:null,borderWidth:.5,height:11,marginBottom:2,strandArrow:!0,label:"name, id",textFont:"normal 12px Univers,Helvetica,Arial,sans-serif",textColor:"black",text2Color:"blue",text2Font:"normal 12px Univers,Helvetica,Arial,sans-serif",description:"note, description"}})},_getFeatureHeight:function(e,t){var i=this.getStyle(t,"height");if("compact"==e.displayMode&&(i=Math.round(.45*i)),this.getStyle(t,"strandArrow")){var n=t.get("strand");1==n?i=Math.max(this._embeddedImages.plusArrow.height,i):-1==n&&(i=Math.max(this._embeddedImages.minusArrow.height,i))}return i},_getFeatureRectangle:function(e,t){var i=e.block,n={l:i.bpToX(t.get("start")),h:this._getFeatureHeight(e,t),viewInfo:e,f:t,glyph:this};if(n.w=i.bpToX(t.get("end"))-n.l,n.rect={l:n.l,h:n.h,w:Math.max(n.w,2),t:0},n.w=n.rect.w,"compact"!=e.displayMode&&(n.h+=this.getStyle(t,"marginBottom")||0),this.getStyle(t,"strandArrow"))if(-1==(n.strandArrow=t.get("strand"))){var r=this._embeddedImages.minusArrow;n.w+=r.width,n.l-=r.width}else r=this._embeddedImages.plusArrow,n.w+=r.width;return"collapsed"==e.displayMode?n:(this._expandRectangleWithLabels(e,t,n),this._addMasksToRect(e,t,n),n)},layoutFeature:function(e,t,i){var n=this.inherited(arguments);return n?(n.rect.t=n.t,n):n},_expandRectangleWithLabels:function(e,t,i){if(e.showLabels){var n=this.makeFeatureLabel(t,i);n&&(i.h+=n.h,i.w=Math.max(n.w,i.w),i.label=n,n.yOffset=i.rect.h+n.h)}if(e.showDescriptions){var r=this.makeFeatureDescriptionLabel(t,i);r&&(i.description=r,i.h+=r.h,i.w=Math.max(r.w,i.w),r.yOffset=i.h-(this.getStyle(t,"marginBottom")||0))}},_embeddedImages:{plusArrow:{data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAATUlEQVQIW2NkwATGQKFYIG4A4g8gacb///+7AWlBmNq+vj6V4uLiJiD/FRBXA/F8xu7u7kcVFRWyMEVATQz//v0Dcf9CxaYRZxIxbgIARiAhmifVe8UAAAAASUVORK5CYII=",width:9,height:5},minusArrow:{data:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFCAYAAACXU8ZrAAAASklEQVQIW2NkQAABILMBiBcD8VkkcQZGIAeEE4G4FYjFent764qKiu4gKXoPUjAJiLOggsxMTEwMjIwgYQjo6Oh4TLRJME043QQA+W8UD/sdk9IAAAAASUVORK5CYII=",width:9,height:5}},getEmbeddedImage:function(e){return this._embeddedImagePromises[e]||function(){var t=new i,n=this._embeddedImages[e];if(n){var r=new Image;r.onload=function(){t.resolve(this)},r.src=n.data}else t.resolve(null);return this._embeddedImagePromises[e]=t}.call(this)},renderFeature:function(e,t){"collapsed"!=this.track.displayMode&&e.clearRect(Math.floor(t.l),t.t,Math.ceil(t.w-Math.floor(t.l)+t.l),t.h),this.renderBox(e,t.viewInfo,t.f,t.t,t.rect.h,t.f),this.renderLabel(e,t),this.renderDescription(e,t),this.renderArrowhead(e,t)},renderBox:function(e,i,n,r,o,a,s){var l=i.block.bpToX(n.get("start")),c=i.block.bpToX(n.get("end"))-l;s=s||t.hitch(this,"getStyle");var h=this._getFeatureHeight(i,n);if(h){h!=o&&(r+=Math.round((o-h)/2));var u,d,f=s(n,"color");f?(e.fillStyle=f,e.fillRect(l,r,Math.max(1,c),h)):e.clearRect(l,r,Math.max(1,c),h),(u=s(n,"borderColor"))&&(d=s(n,"borderWidth"))&&(c>3?(e.lineWidth=d,e.strokeStyle=u,e.strokeRect(l+d/2,r+d/2,c-d,h-d)):(e.globalAlpha=2*d/c,e.fillStyle=u,e.fillRect(l,r,Math.max(1,c),h),e.globalAlpha=1))}},renderLabel:function(e,t){},renderDescription:function(e,t){},renderArrowhead:function(e,t){t.strandArrow&&(1==t.strandArrow&&t.rect.l+t.rect.w<=e.canvas.width?this.getEmbeddedImage("plusArrow").then(function(i){e.imageSmoothingEnabled=!1,e.drawImage(i,t.rect.l+t.rect.w,t.t+(t.rect.h-i.height)/2)}):-1==t.strandArrow&&t.rect.l>=0&&this.getEmbeddedImage("minusArrow").then(function(i){e.imageSmoothingEnabled=!1,e.drawImage(i,t.rect.l-9,t.t+(t.rect.h-i.height)/2)}))},updateStaticElements:function(e,t,i){var n=i.minVisible,r=i.maxVisible,o=t.viewInfo.block,a=i.bpToPx,s=t.f,l=s.get("start"),c=s.get("end"),h=o.startBase,u=o.endBase;if(t.strandArrow&&(1==t.strandArrow&&c>=r&&l<=r?this.getEmbeddedImage("plusArrow").then(function(i){e.imageSmoothingEnabled=!1,e.drawImage(i,a(r)-a(n)-9,t.t+(t.rect.h-i.height)/2)}):-1==t.strandArrow&&l<=n&&c>=n&&this.getEmbeddedImage("minusArrow").then(function(i){e.imageSmoothingEnabled=!1,e.drawImage(i,0,t.t+(t.rect.h-i.height)/2)})),l<r&&c>n&&l<u&&c>h){var d=t.l+a(o.startBase-n+1),f=function(i){var n=d+t.w-i.w,r=t.t+(i.yOffset||0),o=d+(i.xOffset||0);o=function(e,t,i){return Math.min(Math.max(e,0),i)}(o,0,n),e.font=i.font,e.fillStyle=i.fill,e.textBaseline=i.baseline;var a=void 0;"bottom"===i.baseline?a=r-i.h:"top"===i.baseline?a=r:"middle"===i.baseline&&(a=r-i.h/2),a&&e.clearRect(o,a,i.w,i.h),e.fillText(i.text,o,r)};t.label&&f(t.label),t.description&&f(t.description)}}})}.apply(null,n))||(e.exports=r)},356:function(e,t,i){var n,r;n=[i(575),i(576),i(577)],void 0===(r=function(e,t,i){return e(null,{constructor:function(e){e=e||{},this.printFunc=e.print||function(e){this.output+=e},this.refSeq=e.refSeq,this.output="",this.track=e.track,this.store=e.store},exportRegion:function(e,t){this.store.getFeatures(e,dojo.hitch(this,"writeFeature"),dojo.hitch(this,function(){t(this.output)}),dojo.hitch(this,function(e){console.error(e)}))},print:function(e){t.isArray(e)?i.forEach(e,this.printFunc,this):this.printFunc(e)},writeFeature:function(e){this.print(this.formatFeature(e))}})}.apply(null,n))||(e.exports=r)},357:function(e,t,i){var n,r;n=[i(575),i(577),i(606),i(346),i(580),i(596)],void 0===(r=function(e,t,i,n,r,o){return e(n,{refocus:!1,autofocus:!1,_fillActionBar:function(e){new o({className:"OK",label:"OK",onClick:dojo.hitch(this,"hide")}).placeAt(e)},show:function(){this.inherited(arguments);var e=this;this._extraEvents=[];var t=((dijit||{})._underlay||{}).domNode;t&&this._extraEvents.push(r(t,"click",dojo.hitch(this,"hideIfVisible"))),this._extraEvents.push(r(document.body,"keydown",function(t){[dojo.keys.ESCAPE,dojo.keys.ENTER].indexOf(t.keyCode)>=0&&e.hideIfVisible()})),i.focus(this.closeButtonNode)},hideIfVisible:function(){this.get("open")&&this.hide()},hide:function(){this.inherited(arguments),t.forEach(this._extraEvents,function(e){e.remove()})}})}.apply(null,n))||(e.exports=r)},358:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{tryResource:function(e,i){if(i.type==this.fileExtension){if(!(a=t.basename(i.file?i.file.name:i.url?i.url:"")))return!1;for(var n in e){var o=e[n];if(t.basename(o[this.indexConfKey]?o[this.indexConfKey].url||o[this.indexConfKey].blob.name:o[this.indexUrlConfKey],"."+this.indexExtension)==a)return o[this.fileConfKey]=this._makeBlob(i),!0}for(var n in a=t.basename(a,"."+this.fileExtension),e)if(o=e[n],t.basename(o[this.indexConfKey]?o[this.indexConfKey].url||o[this.indexConfKey].blob.name:o[this.indexUrlConfKey],"."+this.indexExtension)==a)return o[this.fileConfKey]=this._makeBlob(i),!0;return e[s=this.name+"_"+a+"_"+r++]={type:this.storeType,name:s,fileBasename:a},e[s][this.fileConfKey]=this._makeBlob(i),!0}if(i.type==this.indexExtension){var a,s;if(!(a=t.basename(i.file?i.file.name:i.url?i.url:"","."+this.indexExtension)))return!1;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileUrlConfKey])==a)return o[this.indexConfKey]=this._makeBlob(i),!0;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileUrlConfKey],"."+this.fileExtension)==a)return o[this.indexConfKey]=this._makeBlob(i),!0;return e[s=this.name+"_"+t.basename(a,"."+this.fileExtension)+"_"+r++]={name:s,type:this.storeType},e[s][this.indexConfKey]=this._makeBlob(i),!0}return!1},finalizeConfiguration:function(e){var t={},i=0,n={},r=0;for(var o in e){var a=e[o];a.type===this.storeType&&(!a[this.indexConfKey]&&!a[this.indexUrlConfKey]||a[this.fileConfKey]||a[this.fileUrlConfKey]?!a[this.fileConfKey]&&!a[this.fileUrlConfKey]||a[this.indexConfKey]||a[this.indexUrlConfKey]||(r++,n[o]=a):(i++,t[o]=a))}if(1==r&&1==i)for(var s in t)for(var l in n)t[s][this.indexUrlConfKey]&&(n[l][this.indexUrlConfKey]=t[s][this.indexUrlConfKey]),t[s][this.indexConfKey]&&(n[l][this.indexConfKey]=t[s][this.indexConfKey]),delete e[s];for(var s in t)delete e[s];for(var l in n)e[l][this.fileUrlConfKey]||delete e[l]},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return(e[this.fileConfKey]||e[this.fileUrlConfKey])&&(e[this.indexConfKey]||e[this.indexUrlConfKey]||e[this.fileUrlConfKey])}})}.apply(null,n))||(e.exports=r)},359:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(624),i(580),i(371),i(354),i(334),i(372)],void 0===(r=function(e,t,i,n,r,a,s,l){return e([r,a],{_defaultConfig:function(){return s.deepUpdate(dojo.clone(this.inherited(arguments)),{style:{pos_color:"blue",neg_color:"red",origin_color:"#888",variance_band_color:"rgba(0,0,0,0.3)"}})},_trackMenuOptions:function(){var e=this,t=this.inherited(arguments)||[];return t.push({label:"No fill",type:"dijit/CheckedMenuItem",checked:!(1!=this.config.noFill),onClick:function(t){this.checked?e.config.noFill=!0:e.config.noFill=!1,e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),t},_getScaling:function(e,t,i){this._getScalingStats(e,dojo.hitch(this,function(e){if(!this.lastScaling||!this.lastScaling.sameStats(e)||this.trackHeightChanged){var i=new l(this.config,e);Math.abs(i.min/i.max)<.005&&(i.min=0),this.makeYScale({fixBounds:!("fixBounds"in this.config)||this.config.fixBounds,min:i.min,max:i.max}),i.min=this.ruler.scaler.bounds.lower,i.max=this.ruler.scaler.bounds.upper,i.range=i.max-i.min,this.lastScaling=i,this.trackHeightChanged=!1}t(this.lastScaling)}),i)},updateStaticElements:function(e){this.inherited(arguments),this.updateYScaleFromViewDimensions(e)},_drawFeatures:function(e,t,i,n,r,o,a){var l=this,c=r.getContext("2d"),h=r.height,u=s.getResolution(c,this.browser.config.highResolutionMode),d=dojo.hitch(this,function(e){return h*(1-a.normalize(e))/u}),f=d(a.origin),g=this.config.disable_clip_markers;dojo.forEach(o,function(e,t){if(e){var i=d(e.score),n=e.feat;if(i>=0){var r=this.getConfForFeature("style.bg_color",n);r&&(c.fillStyle=r,l._fillRectMod(c,t,0,1,h))}if(i<=h||i>f)if(i<=f){c.fillStyle=this.getConfForFeature("style.pos_color",n);var o=f-i+1;1==this.getConfForFeature("noFill",n)&&(o=1),l._fillRectMod(c,t,i,1,o),!g&&i<0&&(c.fillStyle=this.getConfForFeature("style.clip_marker_color",n)||this.getConfForFeature("style.neg_color",n),l._fillRectMod(c,t,0,1,3))}else{c.fillStyle=this.getConfForFeature("style.neg_color",n);var a=f;o=i-f,1==this.getConfForFeature("noFill",n)&&(a=i-1,o=1),l._fillRectMod(c,t,a,1,o),!g&&i>=h&&(c.fillStyle=this.getConfForFeature("style.clip_marker_color",n)||this.getConfForFeature("style.pos_color",n),l._fillRectMod(c,t,h-3,1,3))}}},this)},_maskBySpans:function(e,t,i,n,r,o,a,s){var l=r.getContext("2d"),c=r.height;for(var h in s)if(s.hasOwnProperty(h)){var u=Math.ceil((s[h].end-s[h].start)*e),d=Math.round((s[h].start-t)*e);l.clearRect(d,0,u,c)}l.globalAlpha=this.config.style.masked_transparancy||.2,this.config.style.masked_transparancy=l.globalAlpha,this._drawFeatures(e,t,i,n,r,o,a)},_postDraw:function(e,n,r,a,l,c,h,u){var d=l.getContext("2d"),f=l.height,g=s.getResolution(d,this.browser.config.highResolutionMode),p=dojo.hitch(this,function(e){return f*(1-u.normalize(e))/g}),b=this;if(this.config.variance_band){var m="object"==o(this.config.variance_band)?t.map(this.config.variance_band,function(e){return parseFloat(e)}).sort().reverse():[2,1];this.getGlobalStats(dojo.hitch(this,function(e){if("scoreMean"in e&&"scoreStdDev"in e){var n=function(t,i,n){d.fillStyle=i;var r=p(e.scoreMean+t),o=p(e.scoreMean-t)-r;o=Math.max(1,o),b._fillRectMod(d,0,r,l.width,o),d.font="12px sans-serif",t>0?(d.fillText("+"+n,2,r),d.fillText("-"+n,2,r+o)):d.fillText(n,2,r)},r=new i(this.config.style.variance_band_color),o=new i(this.config.style.variance_band_color);o.a/=m.length,m.length,t.forEach(m,function(t,a){n(t*e.scoreStdDev,i.blendColors(o,r,(a+1)/m.length).toCss(!0),t+"σ")}),n(0,"rgba(255,255,0,0.7)","mean")}}))}var v=this.config.style.origin_color;if("string"==typeof v&&!{none:1,off:1,no:1,zero:1}[v]){var w=p(u.origin);d.fillStyle=v,d.fillRect(0,w,l.width,1)}}})}.apply(null,n))||(e.exports=r)},360:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(595),i(580),i(579),i(334),i(463),i(393)],void 0===(r=function(e,t,i,n,r,o,a,s,l){return e(l,{constructor:function(){"function"==typeof this.destroy&&n.before(this,"destroy",function(){delete this.eventHandlers})},_setupEventHandlers:function(){var e=dojo.clone(this.config.events||{});e.click||(e.click=(this.config.style||{}).linkTemplate?{action:"newWindow",url:this.config.style.linkTemplate}:{action:"contentDialog",title:"{type} {name}",content:dojo.hitch(this,"defaultFeatureDetail")}),this.eventHandlers=function(){var t=dojo.clone(e);for(var i in this.config){var n=i.replace(/^on(?=[A-Z])/,"");n!=i&&(t[n.toLowerCase()]=this.config[i])}for(i in t)"string"==typeof t[i]&&(t[i]={url:t[i]});return t}.call(this),this.eventHandlers.click=this._makeClickHandler(this.eventHandlers.click)},defaultFeatureDetail:function(e,t,i,n,r){return n=n||dojo.create("div",{className:"detail feature-detail feature-detail-"+e.name.replace(/\s+/g,"_").toLowerCase(),innerHTML:""}),this._renderCoreDetails(e,t,i,n),this._renderAdditionalTagsDetail(e,t,i,n),this.config.hideSequenceBox||this._renderUnderlyingReferenceSequence(e,t,i,n),this._renderSubfeaturesDetail(e,t,i,n,r||1),"function"==typeof this.extendedRender&&this.extendedRender(e,t,i,n),n},_renderCoreDetails:function(e,t,i,n){var r=dojo.create("div",{className:"core"},n),o=dojo.hitch(this,"renderDetailField",r);r.innerHTML+='<h2 class="sectiontitle">Primary Data</h2>',o("Name",this.getFeatureLabel(t),t),o("Type",t.get("type"),t),o("Score",t.get("score"),t),o("Description",this.getFeatureDescription(t),t),o("Position",a.assembleLocString({start:t.get("start"),end:t.get("end"),ref:this.refSeq.name,strand:t.get("strand")}),t),o("Length",a.addCommas(t.get("end")-t.get("start"))+" bp",t)},_renderSubfeaturesDetail:function(e,t,i,n,a){var s=this,l=t.get("subfeatures");if(l&&l.length)if(-1==t.get("strand")&&l.sort(function(e,t){return t.get("start")-e.get("start")}),null==e.config.subfeatureDetailLevel||a<e.config.subfeatureDetailLevel)this._subfeaturesDetail(e,l,n,t,a+1);else if(a>=e.config.subfeatureDetailLevel){var c=o.create("button",{className:"subfeature-load-button",innerHTML:"Show subfeatures..."},n);r(c,"click",function(){s._subfeaturesDetail(e,l,n,t,a+1),dojo.destroy(c)})}},_isReservedTag:function(e){return{name:1,start:1,end:1,strand:1,note:1,subfeatures:1,type:1,score:1}[e.toLowerCase()]},_renderAdditionalTagsDetail:function(e,i,n,r){var a=this,s=this,l=t.filter(i.tags(),function(e){return!(!s.config.showNoteInAttributes||"note"!=e.toLowerCase())||!this._isReservedTag(e)},this);if(l.length){var c=o.create("div",{className:"additional",innerHTML:'<h2 class="sectiontitle">Attributes</h2>'},r);l.sort().forEach(function(t){a.renderDetailField(c,t,i.get(t),i,void 0,e.store.getTagMetadata(t))})}},_renderUnderlyingReferenceSequence:function(e,t,i,n){var r=dojo.create("div",{className:"field_container feature_sequence"},n);dojo.create("h2",{className:"field feature_sequence",innerHTML:"Region sequence",title:"reference sequence underlying this "+(t.get("type")||"feature")},r);var o="feature_sequence"+this._uniqID(),l=dojo.create("div",{id:o,innerHTML:'<div style="height: 12em">Loading...</div>',className:"value feature_sequence"},r),c=this.config.maxFeatureSizeForUnderlyingRefSeq;c<t.get("end")-t.get("start")?l.innerHTML="Not displaying underlying reference sequence, feature is longer than maximum of "+a.humanReadableNumber(c)+"bp":e.browser.getStore("refseqs",dojo.hitch(this,function(e){l=dojo.byId(o)||l,e?e.getReferenceSequence({ref:this.refSeq.name,start:t.get("start"),end:t.get("end")},dojo.hitch(this,function(e){(l=dojo.byId(o)||l).innerHTML="",new s({track:this,width:62,htmlMaxRows:10}).renderHTML({ref:this.refSeq.name,start:t.get("start"),end:t.get("end"),strand:t.get("strand"),type:t.get("type")},-1==t.get("strand")?a.revcom(e):e,l)}),function(){},dojo.hitch(this,function(){(l=dojo.byId(o)||l).innerHTML='<span class="ghosted">reference sequence not available</span>'})):l.innerHTML='<span class="ghosted">reference sequence not available</span>'}))},_uniqID:function(){return this._idCounter=this._idCounter||0,this._idCounter++},_subfeaturesDetail:function(e,i,n,r,o){var a=dojo.create("div",{className:"field_container subfeatures"},n);dojo.create("h2",{className:"field subfeatures",innerHTML:"Subfeatures"},a);var s=dojo.create("div",{className:"value subfeatures"},a);t.forEach(i||[],function(t){this.defaultFeatureDetail(e,t,null,dojo.create("div",{className:"detail feature-detail subfeature-detail feature-detail-"+e.name+" subfeature-detail-"+e.name,innerHTML:""},s),o)},this)}})}.apply(null,n))||(e.exports=r)},361:function(e,t,i){var n,r;n=[i(575),i(576)],void 0===(r=function(e,t){return e(null,{constructor:function(e){this.Value=e.Value,e.leftChild&&(this.leftChild=e.leftChild),e.rightChild&&(this.rightChild=e.rightChild),this.leaf=e.leaf||!1},addLeft:function(e){return!this.leaf&&void 0===this.leftChild&&(this.leftChild=e,!0)},addRight:function(e){return!this.leaf&&void 0===this.rightChild&&(this.rightChild=e,!0)},add:function(e){return this.addLeft(e)||this.addRight(e)},isLeaf:function(){return this.leaf||void 0===this.leftChild&&void 0===this.rightChild},get:function(){return this.Value},set:function(e){this.Value=e},left:function(){return this.leftChild},right:function(){return this.rightChild},hasLeft:function(){return!(void 0===this.leftChild)},hasRight:function(){return!(void 0===this.rightChild)},removeLeft:function(){this.leftChild=void 0},removeRight:function(){this.rightChild=void 0},removeAll:function(){this.removeLeft(),this.removeRight()},destroy:function(){this.leftChild&&(this.leftChild.destroy(),this.removeLeft()),this.rightChild&&(this.rightChild.destroy(),this.removeRight()),this.Value=void 0},getLeaves:function(){if(this.isLeaf()){var e=[];return e[0]=this.Value,e}return void 0===this.leftChild?this.rightChild.getLeaves():void 0===this.rightChild?this.leftChild.getLeaves():this.leftChild.getLeaves().concat(this.rightChild.getLeaves())},recursivelyCall:function(e){this.leftChild&&this.leftChild.recursivelyCall(e),this.rightChild&&this.rightChild.recursivelyCall(e),e(this)},clone:function(){var e=t.mixin({},this);if(this.leftChild){var i=this.leftChild.clone();e.leftChild=i}if(this.rightChild){var n=this.rightChild.clone();e.rightChild=n}return e}})}.apply(null,n))||(e.exports=r)},362:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(576),i(630),i(633),i(579),i(587),i(580),i(341),i(334),i(394),i(348),i(353),i(342),i(360),i(467),i(354),i(345),i(338)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h,u,d,f,g,p,b,m,v,w){var y=e(null,{constructor:function(e){var t=e.h,i=e.w;this.dims={h:t,w:i},this.byID={}},getByID:function(e){return this.byID[e]},addAll:function(e){var i=this.byID;this.dims.w,this.dims.h,t.forEach(e,function(e){e&&(i[e.f.id()]=e)},this)},getAll:function(){var e=[];for(var t in this.byID)e.push(this.byID[t]);return e}});return e([d,p,f,b,m],{constructor:function(e){this.glyphsLoaded={},this.glyphsBeingLoaded={},this.regionStats={},this.showLabels=this.config.style.showLabels,this.showTooltips=this.config.style.showTooltips,this.displayMode=this.config.displayMode;var t=this.browser.cookie("track-"+this.name);t&&(this.displayMode=t),this._setupEventHandlers()},_defaultConfig:function(){return h.deepUpdate(i.clone(this.inherited(arguments)),{maxFeatureScreenDensity:.5,enableCollapsedMouseover:!1,disableCollapsedClick:!1,glyph:i.hitch(this,"guessGlyphType"),maxFeatureGlyphExpansion:500,maxHeight:600,histograms:{description:"feature density",min:0,height:100,color:"goldenrod",clip_marker_color:"red"},style:{_defaultHistScale:4,_defaultLabelScale:30,_defaultDescriptionScale:120,showLabels:!0,showTooltips:!0,label:"name,id",description:"note, description"},displayMode:"normal",events:{contextmenu:function(e,t,i,r,o){o=n.fix(o),t&&t.contextMenu&&t.contextMenu._openMyself({target:i.featureCanvas,coords:{x:o.pageX,y:o.pageY}}),n.stop(o)}},menuTemplate:[{label:"View details",title:"{type} {name}",action:"contentDialog",iconClass:"dijitIconTask",content:dojo.hitch(this,"defaultFeatureDetail")},{label:function(){return"Zoom to this "+(this.feature.get("type")||"feature")},action:function(){var e=this.track.refSeq,t=Math.round(10/this.viewInfo.scale),i=Math.max(e.start,this.feature.get("start")-t),n=Math.min(e.end,this.feature.get("end")+t);this.track.genomeView.setLocation(e,i,n)},iconClass:"dijitIconConnector"},{label:function(){return"Highlight this "+(this.feature.get("type")||"feature")},action:function(){var e=new v({feature:this.feature,tracks:[this.track]});this.track.browser.setHighlightAndRedraw(e)},iconClass:"dijitIconFilter"}]})},setViewInfo:function(e,t,i,n,r,o,s){this.inherited(arguments),this.staticCanvas=a.create("canvas",{className:"static-canvas",style:{height:"100%",cursor:"default",position:"absolute",zIndex:15}},n);var l=this.staticCanvas.getContext("2d"),c=h.getResolution(l,this.browser.config.highResolutionMode);this.staticCanvas.height=this.staticCanvas.offsetHeight*c,this._makeLabelTooltip()},guessGlyphType:function(e){var t={gene:"Gene",mRNA:"ProcessedTranscript",transcript:"ProcessedTranscript",ncRNA:"UnprocessedTranscript",lncRNA:"UnprocessedTranscript",lnc_RNA:"UnprocessedTranscript",miRNA:"UnprocessedTranscript"}[e.get("type")];if(!t){var i=e.children();t=i&&i.length?"Segments":e.get("block_count")||e.get("thick_start")?"UCSC/BED":"Box"}return"JBrowse/View/FeatureGlyph/"+t},fillBlock:function(e){var t=e.blockIndex,n=e.block,r=(e.leftBase,e.rightBase,e.scale);if(!c("canvas"))return this.fatalError="This browser does not support HTML canvas elements.",void this.fillBlockError(t,n,this.fatalError);var o=i.hitch(this,function(o){var a=i.mixin({stats:o,displayMode:this.displayMode,showFeatures:r>=(this.config.style.featureScale||(o.featureDensity||0)/this.config.maxFeatureScreenDensity),showLabels:this.showLabels&&"normal"==this.displayMode&&r>=(this.config.style.labelScale||(o.featureDensity||0)*this.config.style._defaultLabelScale),showDescriptions:this.showLabels&&"normal"==this.displayMode&&r>=(this.config.style.descriptionScale||(o.featureDensity||0)*this.config.style._defaultDescriptionScale)},e);a.showFeatures?(this.setLabel(this.key),this.removeYScale(),this.noYScale=!0,this.fillFeatures(a)):this.config.histograms.store||this.store.getRegionFeatureDensities?(this.noYScale=!1,this.fillHistograms(a)):(this.setLabel(this.key),this.fillTooManyFeaturesMessage(t,n,r),e.finishCallback())});this.store.getGlobalStats(o,dojo.hitch(this,function(t){this._handleError(t,e),e.finishCallback(t)}))},_handleError:function(e,t){"object"==(void 0===e?"undefined":o(e))&&e instanceof g.DataOverflow&&(this.config.histograms.store||this.store.getRegionFeatureDensities)?this.fillHistograms(t):this.inherited(arguments)},_getLayout:function(e){if(!this.layout||this._layoutpitchX!=1/e){var t=this.getConf("layoutPitchY")||4;this.layout=new u({pitchX:1/e,pitchY:t,maxHeight:this.getConf("maxHeight"),displayMode:this.displayMode}),this._layoutpitchX=1/e}return this.layout},_clearLayout:function(){delete this.layout},hideAll:function(){return this._clearLayout(),this.inherited(arguments)},getGlyph:function(e,i,n,r){var o,a,s=this.getConfForFeature("glyph",i);if(o=this.glyphsLoaded[s])n(o);else if(a=this.glyphsBeingLoaded[s])a.push(n);else{var l=this;this.glyphsBeingLoaded[s]=[n],dojo.global.require([s],function(e){if("string"==typeof e)return l.fatalError="could not load glyph "+s,void l.redraw();l.destroyed||(o=l.glyphsLoaded[s]=new e({track:l,config:l.config,browser:l.browser}),t.forEach(l.glyphsBeingLoaded[s],function(e){e(o)}),delete l.glyphsBeingLoaded[s])})}},fillHistograms:function(e){var t=this;this.config.histograms.description?this.setLabel(this.key+' <span class="feature-density">('+this.config.histograms.description+")</span>"):this.setLabel(this.key);var i=this.config.histograms.binsPerBlock||25,n=Math.abs(e.rightBase-e.leftBase)/i,r={ref:this.refSeq.name,start:e.leftBase,end:e.rightBase,basesPerSpan:n,basesPerBin:n,viewAsPairs:this.config.viewAsPairs,viewAsSpans:this.config.viewAsSpans,maxInsertSize:this.config.maxInsertSize},o=this._handleError.bind(this);if(!this.config.histograms.store&&this.store.getRegionFeatureDensities)this.store.getRegionFeatureDensities(r,this._drawHistograms.bind(this,e),function(i){console.log(i),t._handleError(new Error(i.message),e)});else{var a={features:[],stats:{}};this.browser.getStore(this.config.histograms.store,function(i){i.getGlobalStats(function(n){a.stats.max=n.scoreMax,i.getFeatures(r,function(e){a.features.push(e)},function(){t._drawHistograms(e,a),e.finishCallback()},o)},o)})}},_scaleCanvas:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.width,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.height,n=e.getContext("2d"),r=h.getResolution(n,this.browser.config.highResolutionMode);e.width=t*r,e.height=i*r,e.style.width=t+"px",e.style.height=i+"px",n.setTransform(1,0,0,1,0,0),n.scale(r,r)},_drawHistograms:function(e,t){if(!this.noYScale){var i,n="max"in this.config.histograms?this.config.histograms.max:(t.stats||{}).max;if(void 0!==n){if((i=t.features)||t.bins&&(i=this._histBinsToFeatures(e,t))){var r=e.block,o=this.config.histograms.height,s=e.scale,l=e.leftBase,c=this.config.histograms.min;a.empty(r.domNode);var h=r.featureCanvas=a.create("canvas",{height:o,width:r.domNode.offsetWidth+1,style:{cursor:"default",height:o+"px",position:"absolute"},innerHTML:"Your web browser cannot display this type of track.",className:"canvas-track canvas-track-histograms"},r.domNode);this.heightUpdate(o,e.blockIndex);var u=h.getContext("2d");this._scaleCanvas(h),u.fillStyle=this.config.histograms.color;for(var d=0;d<i.length;d++){var f=i[d],g=f.get("score")/n*o,p=Math.ceil((f.get("end")-f.get("start"))*s),b=Math.round((f.get("start")-l)*s);u.fillRect(b,o-g,p,g),g>o&&(u.fillStyle=this.config.histograms.clip_marker_color,u.fillRect(b,0,p,3),u.fillStyle=this.config.histograms.color)}this.makeHistogramYScale(o,c,n)}}else console.warn("no stats.max in hist data, not drawing histogram for block "+e.blockIndex)}},_histBinsToFeatures:function(e,i){var n=parseFloat(i.stats.basesPerBin),r=e.leftBase;return t.map(i.bins,function(e,t){return new w({data:{start:r+t*n,end:r+(t+1)*n,score:e}})})},makeHistogramYScale:function(e,t,i){this.yscale_params&&this.yscale_params.height==e&&this.yscale_params.max==i&&this.yscale_params.min==t||(this.yscale_params={height:e,min:t,max:i},this.makeYScale({min:t,max:i}))},fillFeatures:function(e){var t=this,i=e.blockIndex,n=e.block,r=n.domNode.offsetWidth,o=e.scale,l=e.leftBase,c=e.rightBase,h=e.finishCallback,u=[],d=0,f=new s,g=!1,p=function(i){t._handleError(i,e),h(i)},b=this._getLayout(o),m=Math.round(this.config.maxFeatureGlyphExpansion/o),v={ref:this.refSeq.name,start:Math.max(0,l-m),end:c+m,viewAsPairs:this.config.viewAsPairs,viewAsSpans:this.config.viewAsSpans,maxInsertSize:this.config.maxInsertSize};this.store.getFeatures(v,function(i){if(!t.destroyed&&t.filterFeature(i)){u.push(null),d++;var o=u.length-1;t.getGlyph(e,i,function(t){var a=t.layoutFeature(e,b,i);null===a?n.maxHeightExceeded=!0:a.l>=r||a.l+a.w<0||(u[o]=a),!--d&&g&&f.resolve()},p)}},function(){t.destroyed||(g=!0,d||f.isFulfilled()||f.resolve(),f.then(function(){var r=b.getTotalHeight(),o=n.featureCanvas=a.create("canvas",{height:r,width:n.domNode.offsetWidth+1,style:{cursor:"default",height:r+"px",position:"absolute"},innerHTML:"Your web browser cannot display this type of track.",className:"canvas-track"},n.domNode);o.getContext("2d"),t._scaleCanvas(o),n.maxHeightExceeded&&t.markBlockHeightOverflow(n),t.heightUpdate(r,i),t.renderFeatures(e,u),t.renderClickMap(e,u),h()}))},p)},startZoom:function(){this.zooming=!0,this.inherited(arguments),t.forEach(this.blocks,function(e){try{e.featureCanvas.style.width="100%"}catch(e){}})},endZoom:function(){t.forEach(this.blocks,function(e){try{delete e.featureCanvas.style.width}catch(e){}}),this.clear(),this.inherited(arguments),this.zooming=!1},renderClickMap:function(e,t){var i=e.block,n=new y({h:i.featureCanvas.height,w:i.featureCanvas.width});i.fRectIndex=n,n.addAll(t),i.featureCanvas&&i.featureCanvas.getContext("2d")?(this._attachMouseOverEvents(),"collapsed"==this.displayMode&&this.config.disableCollapsedClick||this._connectEventHandlers(i),this.updateStaticElements({x:this.browser.view.getX()})):console.warn("No 2d context available from canvas")},_attachMouseOverEvents:function(){var e=this.browser.view,t=this;"collapsed"!=this.displayMode||this.config.enableCollapsedMouseover?("collapsed"!=this.displayMode||this.config.enableCollapsedMouseover)&&(this._mouseoverEvent||(this._mouseoverEvent=this.own(l(this.staticCanvas,"mousemove",function(i){i=n.fix(i);var r=e.absXtoBp(i.clientX),o=t.layout.getByCoord(r,void 0===i.offsetY?i.layerY:i.offsetY);t.mouseoverFeature(o,i)}))[0]),this._mouseoutEvent||(this._mouseoutEvent=this.own(l(this.staticCanvas,"mouseout",function(e){t.mouseoverFeature(void 0)}))[0])):(this._mouseoverEvent&&(this._mouseoverEvent.remove(),delete this._mouseoverEvent),this._mouseoutEvent&&(this._mouseoutEvent.remove(),delete this._mouseoutEvent))},_makeLabelTooltip:function(){if(this.showTooltips&&!this.labelTooltip){var e=this.labelTooltip=a.create("div",{className:"featureTooltip",style:{position:"fixed",display:"none",zIndex:19}},this.browser.container);a.create("span",{className:"tooltipLabel",style:{display:"block"}},e),a.create("span",{className:"tooltipDescription",style:{display:"block"}},e)}},_connectEventHandlers:function(e){for(var t in this.eventHandlers){var i=this.eventHandlers[t];(function(t,i){var r=this;e.own(l(this.staticCanvas,t,function(t){t=n.fix(t);var o=r.browser.view.absXtoBp(t.clientX);if(e.containsBp(o)){var a=r.layout.getByCoord(o,void 0===t.offsetY?t.layerY:t.offsetY);if(a){var s=e.fRectIndex.getByID(a.id());i.call({track:r,feature:a,fRect:s,block:e,callbackArgs:[r,a,s]},a,s,e,r,t)}}}))}).call(this,t,i)}},getRenderingContext:function(e){if(!e.block||!e.block.featureCanvas)return null;try{return e.block.featureCanvas.getContext("2d")}catch(e){return console.error(e,e.stack),null}},renderFeatures:function(e,i){var n=this.getRenderingContext(e);if(n){var r=this;t.forEach(i,function(e){e&&r.renderFeature(n,e)})}},mouseoverFeature:function(e,n){if(this.lastMouseover!=e){if(n)var r=this.browser.view.absXtoBp(n.clientX);this.labelTooltip&&(this.labelTooltip.style.display="none"),t.forEach(this.blocks,function(t,o){if(t){var a=this.getRenderingContext({block:t,leftBase:t.startBase,scale:t.scale});if(a){if(this.lastMouseover&&t.fRectIndex){var s=t.fRectIndex.getByID(this.lastMouseover.id());s&&this.renderFeature(a,s)}if(t.tooltipTimeout&&window.clearTimeout(t.tooltipTimeout),e){var l=t.fRectIndex&&t.fRectIndex.getByID(e.id());if(!l)return;if(t.containsBp(r)){var c=dojo.hitch(this,function(){if(this.labelTooltip){var t=l.label||l.glyph.makeFeatureLabel(e),r=l.description||l.glyph.makeFeatureDescriptionLabel(e);if(t||r){this.ignoreTooltipTimeout||(this.labelTooltip.style.left=n.clientX+"px",this.labelTooltip.style.top=n.clientY+15+"px"),this.ignoreTooltipTimeout=!0,this.labelTooltip.style.display="block";var o=this.labelTooltip.childNodes[0],a=this.labelTooltip.childNodes[1];if(this.config.onClick&&this.config.onClick.label){var s=i.mixin({track:this,feature:e,callbackArgs:[this,e]});o.style.display="block",o.style.font=t.font,o.style.color=t.fill;var c=this.template(e,this._evalConf(s,this.config.onClick.label,"label"));o.innerHTML=this.config.unsafeMouseover?c:h.escapeHTML(c)}else t?(o.style.display="block",o.style.font=t.font,o.style.color=t.fill,o.innerHTML=this.config.unsafeMouseover?t.text:h.escapeHTML(t.text)):(o.style.display="none",o.innerHTML="(no label)"),r?(a.style.display="block",a.style.font=r.font,a.style.color=r.fill,a.innerHTML=this.config.unsafeMouseover?r.text:h.escapeHTML(r.text)):(a.style.display="none",a.innerHTML="(no description)")}}});this.ignoreTooltipTimeout?c():t.tooltipTimeout=window.setTimeout(c,600)}l.glyph.mouseoverFeature(a,l),this._refreshContextMenu(l)}else t.tooltipTimeout=window.setTimeout(dojo.hitch(this,function(){this.ignoreTooltipTimeout=!1}),200)}}},this),this.lastMouseover=e}},cleanupBlock:function(e){this.inherited(arguments),e&&this.layout&&this.layout.discardRange(e.startBase,e.endBase)},renderFeature:function(e,t){t.glyph.renderFeature(e,t)},_trackMenuOptions:function(){var e=this.inherited(arguments),t=this;return this.displayModeMenuItems=["normal","compact","collapsed"].map(function(e){return{label:e,type:"dijit/CheckedMenuItem",title:"Render this track in "+e+" mode",checked:t.displayMode==e,onClick:function(){t.displayMode=e,t._clearLayout(),t.hideAll(),t.genomeView.showVisibleBlocks(!0),t.makeTrackMenu(),t.browser.cookie("track-"+t.name,t.displayMode)}}}),dojo.hitch(this,function(){for(var e in this.displayModeMenuItems)this.displayModeMenuItems[e].checked=this.displayMode==this.displayModeMenuItems[e].label}),e.push.apply(e,[{type:"dijit/MenuSeparator"},{label:"Display mode",iconClass:"dijitIconPackage",title:"Make features take up more or less space",children:this.displayModeMenuItems},{label:"Show labels",type:"dijit/CheckedMenuItem",checked:!!("showLabels"in this?this.showLabels:this.config.style.showLabels),onClick:function(e){t.showLabels=this.checked,t.changed()}}]),e},_exportFormats:function(){return[{name:"GFF3",label:"GFF3",fileExt:"gff3"},{name:"BED",label:"BED",fileExt:"bed"},{name:"SequinTable",label:"Sequin Table",fileExt:"sqn"}]},updateStaticElements:function(e){var t=this;if(this.inherited(arguments),this.updateYScaleFromViewDimensions(e),e.hasOwnProperty("x")){var i=this.staticCanvas.getContext("2d"),n=h.getResolution(i,this.browser.config.highResolutionMode);this.staticCanvas.width=this.browser.view.elem.clientWidth*n,this.staticCanvas.style.width=this.browser.view.elem.clientWidth+"px",this.staticCanvas.style.left=e.x+"px",i.setTransform(1,0,0,1,0,0),i.scale(n,n),i.clearRect(0,0,this.staticCanvas.width,this.staticCanvas.height);var r={minVisible:this.browser.view.minVisible(),maxVisible:this.browser.view.maxVisible(),bpToPx:dojo.hitch(this.browser.view,"bpToPx"),lWidth:this.label.offsetWidth};this.blocks.forEach(function(e){if(e&&e.fRectIndex&&!t.zooming){var n=e.fRectIndex.byID;for(var o in n){var a=n[o];a.glyph.updateStaticElements(i,a,r)}}})}},heightUpdate:function(e,t){if(this.inherited(arguments),this.staticCanvas){var i=h.getResolution(this.staticCanvas.getContext("2d"),this.browser.config.highResolutionMode);this.staticCanvas.height=this.staticCanvas.offsetHeight*i}},destroy:function(){this.destroyed=!0,a.destroy(this.staticCanvas),delete this.staticCanvas,delete this.layout,delete this.glyphsLoaded,this.inherited(arguments)}})}.apply(null,n))||(e.exports=r)},363:function(e,t,i){var n,r;n=[i(575),i(624),i(355)],void 0===(r=function(e,t,i){return e(i,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{connectorColor:"#333",connectorThickness:1,borderColor:"rgba( 0, 0, 0, 0.3 )"},subParts:function(){return!0},subSubParts:function(){return!0}})},renderFeature:function(e,t){"collapsed"!=this.track.displayMode&&e.clearRect(Math.floor(t.l),t.t,Math.ceil(t.w),t.h),this.renderConnector(e,t),this.renderSegments(e,t),this.renderLabel(e,t),this.renderDescription(e,t),this.renderArrowhead(e,t)},renderConnector:function(e,t){var i=this.getStyle(t.f,"connectorColor");if(i){e.fillStyle=i;var n=this.getStyle(t.f,"connectorThickness");e.fillRect(t.rect.l,Math.round(t.rect.t+(t.rect.h-n)/2),t.rect.w,n)}},renderSegments:function(e,t){var i=this,n=this._getSubparts(t.f);if(n.length)for(var r=t.f,o=function(e,n){return"height"===n?i._getFeatureHeight(t.viewInfo,e):i.getStyle(e,n)||i.getStyle(r,n)},a=0;a<n.length;++a)this.renderSegment(e,t.viewInfo,n[a],t.t,t.rect.h,t.f,o)},renderSegment:function(e,i,n,r,o,a,s){var l=this;this.renderBox(e,i,n,r,o,a,s);var c=this._getSubSubparts(n);if(c.length){var h=function(e,i){var n=s(e,"subSubPart_"+i);if(n)return n;var r=s(e,i);if(r&&(i.includes("color")||i.includes("Color"))){var o=t.fromString(r);o&&(r=String(t.blendColors(o,t.fromArray([0,0,0,1]),.25)))}return r};c.forEach(function(t){l.renderBox(e,i,t,r,o,n,h)})}},_getSubparts:function(e){return(e.children()||[]).filter(this._filterSubpart.bind(this))},_getSubSubparts:function(e){return(e.children()||[]).filter(this._filterSubSubpart.bind(this))},_filterSubpart:function(e){return this._subpartsFilter||(this._subpartsFilter=this._makeSubpartsFilter("subParts")),this._subpartsFilter(e)},_filterSubSubpart:function(e){return this._subSubpartsFilter||(this._subSubpartsFilter=this._makeSubpartsFilter("subSubParts")),this._subSubpartsFilter(e)},_makeSubpartsFilter:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"subParts",t=this.getConf(e);if("string"==typeof t&&(t=t.split(/\s*,\s*/)),Array.isArray(t)){var i=t.map(function(e){return e.toLowerCase()});return function(e){return i.includes(e.get("type").toLowerCase())}}return"function"==typeof t?t:function(){return!0}}})}.apply(null,n))||(e.exports=r)},364:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(342),i(349)],void 0===(r=function(e,t,i,n,r){return e(r,{_estimateGlobalStats:function(e){var t=this,i=arguments;return function(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}(regeneratorRuntime.mark(function n(){var r,o,a,s,l;return regeneratorRuntime.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(e=e||t.refSeq,r=void 0,!t.indexedData){n.next=8;break}return n.next=5,t.indexedData.lineCount(t.browser.regularizeReferenceName(e.name));case 5:r=n.sent,n.next=14;break;case 8:if(!t.bam){n.next=14;break}return o=t.browser.regularizeReferenceName(e.name),a=t.bam.chrToIndex&&t.bam.chrToIndex[o],n.next=13,t.bam.index.lineCount(a,!0);case 13:r=n.sent;case 14:if(-1!=r){n.next=16;break}return n.abrupt("return",t.inherited("_estimateGlobalStats",i));case 16:return s=(t.getConf("topLevelFeaturesPercent")||100)/100,l=r/(e.end-e.start)*s,n.abrupt("return",{featureDensity:l});case 19:case"end":return n.stop()}},n,t)}))()}})}.apply(null,n))||(e.exports=r)},365:function(e,t,i){var n,r;n=[i(575)],void 0===(r=function(e){return e(null,{getRegionFeatureDensities:function(e,t,i){var n=this,r=void 0,o=void 0;if(this.scoreMax=this.scoreMax||0,e.numBins)r=e.numBins,o=(e.end-e.start)/r;else{if(!e.basesPerBin)throw new Error("numBins or basesPerBin arg required for getRegionFeatureDensities");o=e.basesPerBin||e.ref.basesPerBin,r=Math.ceil((e.end-e.start)/o)}!function(e,t){for(var i=0;i<t.length;i++)if(t[i].basesPerBin>=e)return t[i]}(o,[]);var a={};a.basesPerBin=o,a.max=0,Math.floor(e.start/o);for(var s=[],l=1/o,c=0;c<r;c++)s[c]=0;this._getFeatures(e,function(t){for(var i=Math.round((t.get("start")-e.start)*l),o=Math.round((t.get("end")-e.start)*l),c=i;c<=o;c++)c>=0&&c<r&&(s[c]=(s[c]||0)+1,s[c]>a.max&&(a.max=s[c],a.max>n.scoreMax&&(n.scoreMax=a.max)))},function(){a.max=n.scoreMax,t({bins:s,stats:a})},i)}})}.apply(null,n))||(e.exports=r)},366:function(e,t,i){var n,r;n=[i(575),i(577)],void 0===(r=function(e,t){var i=0;return e(null,{filterFeature:function(e){return!0},_featureFilterChain:[],addFeatureFilter:function(e,t){return t=this._getFeatureFilterName(t),this._featureFilterChain.push({name:t,filter:e}),this._buildFeatureFilter(),t},_getFeatureFilterName:function(e){return void 0===e?"featureFilter_"+ ++i:e},removeFeatureFilter:function(e){for(var t=[],i=0;i<this._featureFilterChain.length;i++)this._featureFilterChain[i].name!==e&&t.push(this._featureFilterChain[i]);this._featureFilterChain=t,this._buildFeatureFilter()},_buildFeatureFilter:function(){var e=this._featureFilterChain.slice();if(e.length)if(1==e.length){var t=e[0].filter;this.filterFeature=function(e){return t.call(this,e)&&this.featureFilterParentComponent.filterFeature(e)}}else this.filterFeature=function(t){for(var i=0;i<e.length;i++)if(!e[i].filter.call(this,t))return!1;return!!this.featureFilterParentComponent.filterFeature(t)};else this.filterFeature=function(e){return this.featureFilterParentComponent.filterFeature(e)}},featureFilterParentComponent:{filterFeature:function(){return!0}},setFeatureFilter:function(e,t){this._featureFilterChain=[],this.addFeatureFilter(e,t)},clearFeatureFilter:function(){this._featureFilterChain=[],this._buildFeatureFilter()},setFeatureFilterParentComponent:function(e){this.featureFilterParentComponent=e,this._buildFeatureFilter()}})}.apply(null,n))||(e.exports=r)},367:function(e,t,i){var n,r;n=[i(575),i(595),i(573),i(580),i(579),i(647),i(596)],void 0===(r=function(e,t,i,n,r,o,a){return e(null,{constructor:function(e){this.trackConfig=e},_makeActionBar:function(e,t){var i=r.create("div",{className:"dijitDialogPaneActionBar"});return new a({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(this,function(){t&&t(),this.dialog.hide()})}).placeAt(i),this.applyButton=new a({iconClass:"dijitIconEdit",label:"Apply",onClick:dojo.hitch(this,function(){this.newConfig?e&&e({conf:this.newConfig}):t&&t(),this.dialog.hide()})}),this.applyButton.placeAt(i),{domNode:i}},show:function(e,i){var n=this.dialog=new o({title:"Edit track configuration",className:"trackConfigEditor"}),r=[this._makeEditControls().domNode,this._makeActionBar(e,i).domNode];n.set("content",r),n.show(),t.after(n,"hide",dojo.hitch(this,function(){setTimeout(function(){n.destroyRecursive()},500)}))},_makeEditControls:function(){var e=dojo.hitch(this,function(){this.newConfig=this._parseNewConfig(n.value)}),t=r.create("div",{className:"editControls"}),i=this._stringifyConfig(this.trackConfig),n=r.create("textarea",{rows:Math.min((i||"").match(/\n/g).length+4,20),cols:70,value:i,spellcheck:!1,onchange:e},t),o="",a=this;window.setTimeout(function t(){a.dialog.get("open")&&(n.value!=o&&(e(),o=n.value),window.setTimeout(t,700))},700);var s=r.create("div",{className:"errors"},t);return this.errorReportArea=s,{domNode:t}},_stringifyConfig:function(e){var t=dojo.mixin({},e);return delete t.store,t.style||(t.style={}),t.metadata||(t.metadata={}),i.stringify(t,void 0,2)},_reportError:function(e){this.errorReportArea.innerHTML='<div class="error">'+e+"</div>",this.applyButton.set("disabled",!0)},_clearErrors:function(){r.empty(this.errorReportArea),this.applyButton.set("disabled",!1)},_parseNewConfig:function(e){var t;try{t=i.parse(e,!0),this._clearErrors()}catch(e){this._reportError(e)}return t&&(t.store=this.trackConfig.store),t}})}.apply(null,n))||(e.exports=r)},368:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{tryResource:function(e,i){if(i.type==this.fileExtension){if(!(h=t.basename(i.file?i.file.name:i.url?i.url:"")))return!1;for(var n in e){var o=e[n];for(var a in this.indexTypes){var s=this.indexTypes[a];if(t.basename(o[s.indexConfKey]?o[s.indexConfKey].url||o[s.indexConfKey].blob.name:o[s.indexUrlConfKey],s.indexExtensionMap||"."+s.indexExtension)==h)return o[this.fileConfKey]=this._makeBlob(i),!0}}for(var n in h=t.basename(h,this.fileExtensionMap||"."+this.fileExtension),e)for(var l in o=e[n],this.indexTypes)if(s=this.indexTypes[l],t.basename(o[s.indexConfKey]?o[s.indexConfKey].url||o[s.indexConfKey].blob.name:o[s.indexUrlConfKey],s.indexExtensionMap||"."+s.indexExtension)==h)return o[this.fileConfKey]=this._makeBlob(i),!0;return e[u=this.name+"_"+h+"_"+r++]={type:this.storeType,name:u,fileBasename:h},e[u][this.fileConfKey]=this._makeBlob(i),!0}for(var c in this.indexTypes)if(s=this.indexTypes[c],i.type==s.indexExtension){var h,u;if(!(h=t.basename(i.file?i.file.name:i.url?i.url:"",s.indexExtensionMap||"."+s.indexExtension)))return!1;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileUrlConfKey])==h)return o[s.indexConfKey]=this._makeBlob(i),!0;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileUrlConfKey],this.fileExtensionMap||"."+this.fileExtension)==h)return o[s.indexConfKey]=this._makeBlob(i),!0;return e[u=this.name+"_"+t.basename(h,this.fileExtensionMap||"."+this.fileExtension)+"_"+r++]={name:u,type:this.storeType},e[u][s.indexConfKey]=this._makeBlob(i),!0}return!1},finalizeConfiguration:function(e){var t={},i=0,n={},r=0;for(var o in e){var a=e[o];if(a.type===this.storeType){var s=!1;for(var l in this.indexTypes){var c=this.indexTypes[l];s|=!(!a[c.indexConfKey]&&!a[c.indexUrlConfKey])}for(var h in!s||a[this.fileConfKey]||a[this.fileUrlConfKey]||(i++,t[o]=a),s=!0,this.indexTypes){var u=this.indexTypes[h];s&=!(a[u.indexConfKey]||a[u.indexUrlConfKey])}s&&(a[this.fileConfKey]||a[this.fileUrlConfKey])&&(r++,n[o]=a)}}if(1==r&&1==i)for(var d in t)for(var f in n)for(var g in this.indexTypes){var p=this.indexTypes[g];t[d][p.indexUrlConfKey]&&(n[f][p.indexUrlConfKey]=t[d][p.indexUrlConfKey]),t[d][p.indexConfKey]&&(n[f][p.indexConfKey]=t[d][p.indexConfKey]),delete e[d]}for(var d in t)delete e[d];for(var f in n)e[f][this.fileUrlConfKey]||delete e[f]},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){var t=!1;for(var i in this.indexTypes){var n=this.indexTypes[i];t|=(e[this.fileConfKey]||e[this.fileUrlConfKey])&&(e[n.indexConfKey]||e[n.indexUrlConfKey]||e[this.fileUrlConfKey])}return t}})}.apply(null,n))||(e.exports=r)},369:function(e,t,i){var n,r;n=[i(575),i(579),i(606),i(776),i(346),i(580),i(596),i(345)],void 0===(r=function(e,t,i,n,r,o,a,s){return e(r,{title:"Set new track height",constructor:function(e){this.height=e.height||100,this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){},this.heightConstraints={min:10,max:e.maxHeight||750},this.msg=e.msg},_fillActionBar:function(e){new a({label:"OK",onClick:dojo.hitch(this,function(){var e=parseInt(this.heightSpinner.getValue());isNaN(e)||e<this.heightConstraints.min||e>this.heightConstraints.max||(this.setCallback&&this.setCallback(e),this.hide())})}).placeAt(e),new a({label:"Cancel",onClick:dojo.hitch(this,function(){this.cancelCallback&&this.cancelCallback(),this.hide()})}).placeAt(e)},show:function(e){dojo.addClass(this.domNode,"setTrackHeightDialog"),this.heightSpinner=new n({value:this.height,smallDelta:10,constraints:this.heightConstraints}),this.set("content",[t.create("label",{for:"newhighlight_locstring",innerHTML:""}),this.heightSpinner.domNode,t.create("span",{innerHTML:this.msg||" pixels"})]),this.inherited(arguments)},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},370:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=i(652),s=i(947).IndexedFasta,l=(i(594).Buffer,new a({maxSize:5})),c=i(347);n=[i(575),i(336),i(337),i(338),i(339)],void 0===(r=function(e,t,i,n,r){return e([t,r],{constructor:function(e){var t=this,n=void 0;n=e.fasta?new c(e.fasta):e.urlTemplate?new c(new i(this.resolveUrl(e.urlTemplate),{expectRanges:!0})):new c(new i("data.fa",{expectRanges:!0}));var r=void 0;if(e.fai)r=new c(e.fai);else if(e.faiUrlTemplate)r=new c(new i(this.resolveUrl(e.faiUrlTemplate)));else{if(!e.urlTemplate)throw new Error("no index provided, must provide a FASTA index");r=new c(new i(this.resolveUrl(e.urlTemplate+".fai")))}this.source=n.toString();var o="data: "+n+", index: "+r;this.fasta=l.get(o),this.fasta||(this.fasta=new s({fasta:n,fai:r,chunkSizeLimit:e.chunkSizeLimit||1e6}),l.set(o,this.fasta)),this.fasta.getSequenceList().then(function(){t._deferred.features.resolve({success:!0})},this._failAllDeferred.bind(this))},_getFeatures:function(e,t,i,r){e.start<0&&(e.start=0);var o=e.ref;this.browser.compareReferenceNames(this.refSeq.name,o)||(o=this.refSeq.name),this.fasta.getResiduesByName(o,e.start,e.end).then(function(r){t(new n({data:{seq:r,start:e.start,end:e.end}})),i()},r)},hasRefSeq:function(e,t,i){this.fasta.getSequenceSize(e).then(function(e){t(void 0!==e)},i)},getRefSeqs:function(e,t){this.fasta.getSequenceSizes().then(function(e){return Object.entries(e).map(function(e){var t=o(e,2),i=t[0],n=t[1];return{name:i,length:n,end:n,start:0}})}).then(e,t)},saveStore:function(){return{urlTemplate:(this.config.file||this.config.blob).url,faiUrlTemplate:this.config.fai.url}}})}.apply(null,n))||(e.exports=r)},371:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(630),i(579),i(580),i(633),i(348),i(353),i(389),i(369),i(334),i(341),i(372)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f){return e([s,l,c],{constructor:function(e){this.trackPadding=e.trackPadding||0,"style"in this.config||(this.config.style={}),this.store=e.store,this._setupEventHandlers()},_defaultConfig:function(){return{maxExportSpan:5e5,autoscale:"global",logScaleOption:!0}},_setupEventHandlers:function(){var e=dojo.clone(this.config.events||{});e.click||(this.config.style||{}).linkTemplate&&(e.click={action:"newWindow",url:this.config.style.linkTemplate}),this.eventHandlers=function(){var t=dojo.clone(e);for(var i in this.config){var n=i.replace(/^on(?=[A-Z])/,"");n!=i&&(t[n.toLowerCase()]=this.config[i])}for(i in t)"string"==typeof t[i]&&(t[i]={url:t[i]});return t}.call(this),this.eventHandlers.click&&(this.eventHandlers.click=this._makeClickHandler(this.eventHandlers.click))},_getScaling:function(e,t,i){this._getScalingStats(e,dojo.hitch(this,function(e){if(this.lastScaling&&this.lastScaling.sameStats(e))t(this.lastScaling);else try{this.lastScaling=new f(this.config,e),t(this.lastScaling)}catch(e){i(e)}}),i)},_getScalingStats:function(e,t,n){if(f.prototype.needStats(this.config)){if("local"==this.config.autoscale){var r=i.mixin({scale:e.scale},this.browser.view.visibleRegion());return r.start=Math.ceil(r.start),r.end=Math.floor(r.end),this.getRegionStats.call(this,r,t,n)}return this.getGlobalStats.call(this,t,n)}return t(null),null},getFeatures:function(e,t,i){this.store.getFeatures.apply(this.store,arguments)},getGlobalStats:function(e,t){this.store.getGlobalStats(e,t)},getRegionStats:function(e,t,i){this.store.getRegionStats(e,t,i)},_canvasWidth:function(e){return Math.ceil((e.endBase-e.startBase)*e.scale)},_canvasHeight:function(){return parseInt((this.config.style||{}).height)||100},_getBlockFeatures:function(e){var i=this,n=(e.blockIndex,e.block),r=e.leftBase,o=e.rightBase,a=e.scale,s=e.finishCallback||function(){},l=this._canvasWidth(e.block),c=[];this.getFeatures({ref:this.refSeq.name,basesPerSpan:1/a,scale:a,start:r,end:o+1},function(e){i.filterFeature(e)&&c.push(e)},dojo.hitch(this,function(e){if(n.domNode&&n.domNode.parentNode){var i=t.map(c,function(e){return this._featureRect(a,r,l,e)},this);n.features=c,n.featureRects=i,n.pixelScores=this._calculatePixelScores(this._canvasWidth(n),c,i),e&&e.maskingSpans&&(n.maskingSpans=e.maskingSpans),s()}}),dojo.hitch(this,function(t){console.error(t.stack||""+t,t),this._handleError(t,e)}))},renderBlock:function(e){var t=e.block;if(this.scaling.compare(t.scaling)&&t.pixelScores){t.scaling=this.scaling,r.empty(t.domNode);try{dojo.create("canvas").getContext("2d").fillStyle="red"}catch(i){return this.fatalError="This browser does not support HTML canvas elements.",void this.fillBlockError(e.blockIndex,t,this.fatalError)}var i=t.features,n=t.featureRects,o=this.scaling,a=this._canvasHeight(),s=dojo.create("canvas",{height:a,width:this._canvasWidth(t),style:{cursor:"default",height:a+"px",width:d("inaccurate-html-width")?"":"100%","min-width":d("inaccurate-html-width")?"100%":"","max-width":d("inaccurate-html-width")?"102%":""},innerHTML:"Your web browser cannot display this type of track.",className:"canvas-track"},t.domNode),l=s.getContext("2d"),c=u.getResolution(l,this.browser.config.highResolutionMode);if("disabled"!=this.browser.config.highResolutionMode&&c>=1){var h=s.width,f=s.height;s.width=Math.round(h*c),s.height=Math.round(f*c),s.style.height=f+"px",l.scale(c,c)}s.startBase=t.startBase,t.canvas=s;var g=this._calculatePixelScores(s.width,i,n);if(this._draw(t.scale,t.startBase,t.endBase,t,s,i,n,o,g,t.maskingSpans),this.heightUpdate(s.height/c,e.blockIndex),!s.parentNode||!s.parentNode.parentNode){var p=t.endBase-t.startBase;switch(s.style.position="absolute",s.style.left=(s.startBase-t.startBase)/p*100+"%",this.config.align){case"top":s.style.top="0px";break;case"bottom":default:s.style.bottom=this.trackPadding+"px"}}}},fillBlock:function(e){var t=this;this.heightUpdate(this._canvasHeight(),e.blockIndex);var i=e.finishCallback||function(){};e.finishCallback=function(){t.updateGraphs(e,i)},this._getBlockFeatures(e)},updateGraphs:function(e,i){var n=this;this._getScaling(e,function(e){n.scaling=e,t.forEach(n.blocks,function(e,t){e&&e.domNode.parentNode&&n.renderBlock({block:e,blockIndex:t})}),i()},function(t){n._handleError(t,e)})},_draw:function(e,t,i,n,r,o,a,s,l,c){this._preDraw(e,t,i,n,r,o,a,s),this._drawFeatures(e,t,i,n,r,l,s),c&&this._maskBySpans(e,t,i,n,r,l,s,c),this._postDraw(e,t,i,n,r,o,a,s)},startZoom:function(e,t,i){},endZoom:function(e,t){this.clear()},_featureRect:function(e,t,i,n){var r={w:Math.ceil((n.get("end")-n.get("start"))*e),l:Math.round((n.get("start")-t)*e)};return r.l<0&&(r.w+=r.l,r.l=0),r.w=Math.min(i-r.l,r.w),r.r=r.w+r.l,r},_preDraw:function(e){},_drawFeatures:function(e,t,i,n,r,o,a){},_maskBySpans:function(e,t,i,n,r){},_postDraw:function(){},_calculatePixelScores:function(e,t,i){var n=this.config.scoreType||"maxScore",r=new Array(e);if("maxScore"==n){dojo.forEach(t,function(e,t){var o=e.source,a=i[t],s=a.r,l=e.get(n);void 0===l&&(l=e.get("score"));for(var c=Math.round(a.l);c<s;c++)r[c]&&r[c].lastUsedStore==o?r[c].score=Math.max(r[c].score,l):r[c]?(r[c].score=r[c].score+l,r[c].lastUsedStore=o):r[c]={score:l,lastUsedStore:o,feat:e}},this);for(var o=0;o<r.length;o++)r[o]&&delete r[o].lastUsedStore}else if("avgScore"==n)for(dojo.forEach(t,function(e,t){for(var n=e.source,o=i[t],a=o.r,s=e.get("score"),l=Math.round(o.l);l<a;l++)r[l]&&n in r[l].scores?r[l].scores[n].push(s):r[l]?r[l].scores[n]=[s]:(r[l]={scores:{},feat:e},r[l].scores[n]=[s])},this),o=0;o<r.length;o++)if(r[o]){for(var a in r[o].score=0,r[o].scores){var s,l=0,c=r[o].scores[a].length;for(s=0;s<c;s++)l+=r[o].scores[a][s];r[o].score+=l/c}delete r[o].scores}return r},setViewInfo:function(){this.inherited(arguments),this._makeScoreDisplay()},_makeScoreDisplay:function(){var e=this.browser.view,t=this;this._mouseoverEvent||(this._mouseoverEvent=this.own(o(this.div,"mousemove",function(i){i=n.fix(i);var r=e.absXtoBp(i.clientX);t.mouseover(r,i)}))[0]),this._mouseoutEvent||(this._mouseoutEvent=this.own(o(this.div,a.leave,function(e){t.mouseover(void 0)}))[0]),t.eventHandlers.click&&!this._mouseClickEvent&&(this._mouseClickEvent=this.own(o(this.div,"click",t.eventHandlers.click))[0]),this.scoreDisplay||(this.scoreDisplay={flag:dojo.create("div",{className:"wiggleValueDisplay",style:{position:"fixed",display:"none",zIndex:15}},this.div),pole:dojo.create("div",{className:"wigglePositionIndicator",style:{position:"fixed",display:"none",zIndex:15}},this.div)})},mouseover:function(e,i){if(void 0===e)this.scoreDisplay.flag.style.display="none",this.scoreDisplay.pole.style.display="none";else{var n;if(t.some(this.blocks,function(t){return!!(t&&t.startBase<=e&&t.endBase>=e)&&(n=t,!0)}),!(n&&n.canvas&&n.pixelScores&&i))return;var r=n.pixelScores,o=n.canvas,a=dojo.position(o),s=(i.pageX,i.pageX-a.x);this._showPixelValue(this.scoreDisplay.flag,r[Math.round(s)])&&(this.scoreDisplay.flag.style.display="block",this.scoreDisplay.pole.style.display="block",this.scoreDisplay.flag.style.left=i.clientX+"px",this.scoreDisplay.flag.style.top=a.y+"px",this.scoreDisplay.pole.style.left=i.clientX+"px",this.scoreDisplay.pole.style.height=a.h+"px",this.scoreDisplay.pole.style.top=a.y+"px")}},_showPixelValue:function(e,t){return"number"==typeof t?(e.innerHTML=parseFloat(t.toPrecision(6)),!0):!(!t||"number"!=typeof t.score||(e.innerHTML=parseFloat(t.score.toPrecision(6)),0))},_exportFormats:function(){return[{name:"bedGraph",label:"bedGraph",fileExt:"bedgraph"},{name:"Wiggle",label:"Wiggle",fileExt:"wig"},{name:"GFF3",label:"GFF3",fileExt:"gff3"}]},_trackMenuOptions:function(){var e=this,t=this.inherited(arguments)||[];return t.push({label:"Change height",iconClass:"jbrowseIconVerticalResize",action:function(){new h({height:e._canvasHeight(),setCallback:function(t){e.trackHeightChanged=!0,e.updateUserStyles({height:t})}}).show()}}),this.config.logScaleOption&&t.push({label:"Log scale",type:"dijit/CheckedMenuItem",checked:!("log"!=this.config.scale),onClick:function(t){this.checked?e.config.scale="log":e.config.scale="linear",e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),t},_fillRectMod:function(e,t,i,n,r){var o=window.devicePixelRatio||1,a=n;"disabled"!=this.browser.config.highResolutionMode&&o-Math.floor(o)>0&&(a=n+.3),e.fillRect(t,i,a,r)}})}.apply(null,n))||(e.exports=r)},372:function(e,t,i){var n,r;n=[i(576),i(334),i(351)],void 0===(r=function(e,t,i){return t.fastDeclare({needStats:function(e){return!("min_score"in e&&"max_score"in e&&"z_score"!=e.bicolor_pivot&&"mean"!=e.bicolor_pivot&&"z_score"!=e.scale)},constructor:function(t,n){var r=this.needStats(t);if(r&&!n)throw"No stats object provided, cannot calculate scale";r&&n.scoreMin==n.scoreMax&&((n=e.mixin({},n)).scoreMin<0?n.scoreMax=0:n.scoreMin=0),("z_score"==t.autoscale&&!t.scale||"z_score"==t.scale&&!t.autoscale)&&(t.scale="z_score",t.autoscale="z_score");var o=parseFloat(t.z_score_bound)||4,a="min_score"in t?parseFloat(t.min_score):function(){switch(t.autoscale){case"z_score":return Math.max(-o,(n.scoreMin-n.scoreMean)/n.scoreStdDev);case"global":case"local":return n.scoreMin;case"clipped_global":default:return Math.max(n.scoreMin,n.scoreMean-o*n.scoreStdDev)}}(),s="max_score"in t?parseFloat(t.max_score):function(){switch(t.autoscale){case"z_score":return Math.min(o,(n.scoreMax-n.scoreMean)/n.scoreStdDev);case"global":case"local":return n.scoreMax;case"clipped_global":default:return Math.min(n.scoreMax,n.scoreMean+o*n.scoreStdDev)}}();("number"!=typeof a||isNaN(a))&&(a=0),("number"!=typeof s||isNaN(s))&&(s=a+10);var l=parseFloat(t.data_offset)||0;"log"==t.scale?(s=this.log(s+l),a=this.log(a+l)):(s+=l,a+=l);var c="bicolor_pivot"in t?"mean"==t.bicolor_pivot?n.scoreMean||0:"zero"==t.bicolor_pivot?0:parseFloat(t.bicolor_pivot):"z_score"==t.scale?n.scoreMean||0:"log"==t.scale?1:0;e.mixin(this,{offset:l,min:a,max:s,range:s-a,origin:c,_statsFingerprint:i.objectFingerprint(n)}),r&&(this.scoreMean=n.scoreMean,this.scoreStdDev=n.scoreStdDev),this.normalize=function(e){switch(t.scale){case"z_score":return function(e){return(e+this.offset-this.scoreMean)/this.scoreStdDev-this.min/this.range};case"log":return function(e){return(this.log(e+this.offset)-this.min)/this.range};case"linear":default:return function(e){return(e+this.offset-this.min)/this.range}}}()},log:function(e){return e?Math.log(Math.abs(e))*(e<0?-1:1):0},compare:function(e){if(!e)return 1;var t=this;return t.offset-e.offset||t.min-e.min||t.max-e.max||t.range-e.range||t.origin-e.origin},sameStats:function(e){return this._statsFingerprint==i.objectFingerprint(e)}})}.apply(null,n))||(e.exports=r)},373:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(619),i(334),i(374),i(390)],void 0===(r=function(e,t,i,n,r,o,a){return e([o,a],{defaultFeatureDetail:function(e,t,i){var n=void 0;if(t.pairedFeature()&&e.config.viewAsPairs){n=dojo.create("div",{className:"detail feature-detail feature-detail-"+e.name.replace(/\s+/g,"_").toLowerCase(),style:{width:"1000px"}}),dojo.place("<div><h1>Paired read details</h1></div><br />",n);var r=dojo.create("div",{className:"detail feature-detail feature-detail-"+e.name.replace(/\s+/g,"_").toLowerCase(),style:{display:"flex","flex-direction":"row"}},n),o=dojo.create("div",{className:"detail feature-detail"},r),a=dojo.create("div",{className:"detail feature-detail"},r),s=this.defaultAlignmentDetail(e,t.read1,o),l=this.defaultAlignmentDetail(e,t.read2,a);return dojo.place(s,o),dojo.place(l,a),n}return this.defaultAlignmentDetail(e,t,i)},defaultAlignmentDetail:function(e,i,n){var o=dojo.create("div",{className:"detail feature-detail feature-detail-"+e.name.replace(/\s+/g,"_").toLowerCase(),innerHTML:""}),a=dojo.hitch(this,function(e,t,i,n){return e=r.ucFirst(e.replace(/_/g," ")),this.renderDetailField(o,e,t,i,null,{},n)});this._renderCoreDetails(e,i,n,o),i.get("seq")&&a("Sequence and Quality",this._renderSeqQual(i),i,!0);var s={length_on_ref:"seq_length_on_ref"},l=t.filter(i.tags(),function(e){return!{name:1,score:1,start:1,end:1,strand:1,note:1,subfeatures:1,type:1,cram_read_features:1}[e.toLowerCase()]}).map(function(e){return[s[e]||e,i.get(e)]}).sort(function(e,t){return e[0].localeCompare(t[0])});return dojo.forEach(l,function(e){a(e[0],e[1],i)}),(this.config.renderAlignment||this.config.renderPrettyAlignment)&&this._renderTable(o,e,i,n),o},_renderSeqQual:function(e){var t=e.get("seq"),i=e.get("qual")||"";if(!t)return"";i=i.split(/\s+/);for(var n="",r=0;r<t.length;r++)n+='<div class="basePosition" title="position '+(r+1)+'"><span class="seq">'+t[r]+"</span>",i[r]&&(n+='<span class="qual">'+i[r]+"</span>"),n+="</div>";return'<div class="baseQuality">'+n+"</div>"},_getStyleSheets:function(e){var i=this,n=[];return t.forEach(e,function(e){try{var r=e.cssRules||e.rules,o=[e];t.forEach(r,function(e){e.styleSheet&&o.push.apply(o,function(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}(i._getStyleSheets([e.styleSheet])))}),n.push.apply(n,o)}catch(e){}}),n},colorForBase:function(e){return this._baseStyles=this._baseStyles||function(){var e={};try{var i=this._getStyleSheets(document.styleSheets);t.forEach(i,function(i){var n=i.rules||i.cssRules;n&&t.forEach(n,function(t){var i=/^\.jbrowse\s+\.base_([^\s_]+)$/.exec(t.selectorText);if(i&&i[1]){var n=i[1];(i=/\#[0-9a-f]{3,6}|(?:rgb|hsl)a?\([^\)]*\)/gi.exec(t.cssText))&&i[0]&&(e[n.toLowerCase()]=i[0],e[n.toUpperCase()]=i[0])}})})}catch(e){console.error(e)}return e}.call(this),this._baseStyles[e]||"#999"},_getNamedFeatureFilters:function(){return i.mixin({},this.inherited(arguments),{hideDuplicateReads:{desc:"Hide PCR/Optical duplicate reads",func:function(e){return!(!0===e.get("duplicate"))}},hideQCFailingReads:{desc:"Hide reads failing vendor QC",func:function(e){return!(!0===e.get("qc_failed"))}},hideSecondary:{desc:"Hide secondary alignments",func:function(e){return!(!0===e.get("secondary_alignment"))}},hideSupplementary:{desc:"Hide supplementary alignments",func:function(e){return!(!0===e.get("supplementary_alignment"))}},hideMissingMatepairs:{desc:"Hide reads with missing mate pairs",func:function(e){return!(e.get("multi_segment_template")&&e.get("multi_segment_next_segment_unmapped"))}},hideImproperPairs:{desc:"Hide reads that with improper pairs",func:function(e){return!(e.get("multi_segment_template")&&!e.get("multi_segment_all_aligned"))}},hideUnmapped:{desc:"Hide unmapped reads",func:function(e){return!(!0===e.get("unmapped"))}},hideForwardStrand:{desc:"Hide reads aligned to the forward strand",func:function(e){return 1!==e.get("strand")}},hideReverseStrand:{desc:"Hide reads aligned to the reverse strand",func:function(e){return-1!==e.get("strand")}},hideUnsplicedReads:{desc:"Hide unspliced reads",func:function(e){return-1!=(e.get("cigar")||"").indexOf("N")}}})},_alignmentsFilterTrackMenuOptions:function(){var e=this;return n(this._getNamedFeatureFilters()).then(function(t){return e._makeFeatureFilterTrackMenuItems(["hideDuplicateReads","hideQCFailingReads","hideMissingMatepairs","hideImproperPairs","hideSecondary","hideSupplementary","hideUnmapped","SEPARATOR","hideForwardStrand","hideReverseStrand","hideUnsplicedReads"],t)})},_renderTable:function(e,t,i,n){var r=t._getMismatches(i),o=i.get("seq");if(o){var a=i.get("start"),s="",l="",c="",h=0,u=0,d=0;r.sort(function(e,t){return e.start-t.start});for(var f=0;d<o.length;f++){for(var g=!1,p=[],b=h;b<r.length;b++)u==(v=r[b]).start&&p.push(v);p.sort(function(e,t){return"insertion"==e.type?-1:"deletion"==e.type?1:"mismatch"==e.type?1:"skip"==e.type?1:0});for(var m=0;m<p.length;m++){var v;if(h++,"softclip"==(v=p[m]).type){for(var w=0;w<v.cliplen;w++)s+=o[d+w],l+=" ",c+=".";d+=v.cliplen,g=!0}else if("insertion"==v.type){for(w=0;w<+v.base;w++)s+=o[d+w],l+=" ",c+="-";d+=+v.base||v.base.length,g=!0}else if("deletion"==v.type){for(w=0;w<v.length;w++)s+="-",l+=" ",c+=(v.seq||{})[w]||".";u+=v.length,g=!0}else if("skip"==v.type){for(w=0;w<Math.min(v.length,1e4);w++)s+=".",l+=" ",c+="N";u+=v.length,g=!0}else"mismatch"==v.type&&(s+=v.base,l+=" ",c+=v.altbase,d++,u++,g=!0)}g||(s+=o[d],l+="|",c+=o[d],u++,d++)}if(this.config.renderPrettyAlignment){var y,k,_,x;y=k=_=x="";var S=0,j=r.length&&"softclip"==r[0].type?a-r[0].cliplen:a,C=this.config.renderAlignmentWidth||50;for(f=0;f<s.length;f+=C){y=s.substring(f,f+C),k=l.substring(f,f+C),_=c.substring(f,f+C);var A=j.toString().replace(/./g," "),T=y.length-(y.match(/[-N\.]/g)||[]).length,B=_.length-(_.match(/[-]/g)||[]).length;x+="Query "+this.pad(A,S,!0)+": "+y+" "+(S+T)+"<br>",x+=" "+A+" "+k+" <br>",x+="Ref: "+j+": "+_+" "+(j+B)+" <br><br>",S+=T,j+=B}dojo.create("div",{className:"renderTable",innerHTML:'<h2 class="sectiontitle">Matches</h2><div style="font-family: Courier; white-space: pre;">'+x+"</div>"},e)}else this.config.renderAlignment&&dojo.create("div",{className:"renderTable",innerHTML:'<h2 class="sectiontitle">Matches</h2><div style="font-family: Courier; white-space: pre;">Query: '+s+" <br> "+l+" <br>Ref: "+c+" </div>"},e);return{val1:s,val2:l,val3:c}}dojo.create("div",{className:"renderTable",innerHTML:'<h2 class="sectiontitle">Matches</h2><div style="font-family: Courier; white-space: pre;">No sequence on feature, cannot render alignment</div>'},e)},pad:function(e,t,i){return void 0===t?e:i?(e+t).slice(-e.length):(t+e).substring(0,e.length)}})}.apply(null,n))||(e.exports=r)},374:function(e,t,i){var n,r;function o(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}n=[i(575),i(577)],void 0===(r=function(e,t){return e(null,{constructor:function(){this.cigarAttributeName=(this.config.cigarAttribute||"cigar").toLowerCase(),this.mdAttributeName=(this.config.mdAttribute||"md").toLowerCase()},_getSkipsAndDeletions:function(e){var t=[],i=e.get(this.cigarAttributeName);if(i)t=this._cigarToSkipsAndDeletions(e,this._parseCigar(i));else{var n,r=e.get("cram_read_features");this.config.renderAlignment&&r&&r.length&&(t=t.filter(function(e){return!("deletion"==e.type||"mismatch"==e.type)})),r&&(n=t).push.apply(n,o(this._cramReadFeaturesToMismatches(e,r).filter(function(e){return"skip"===e.type||"deletion"===e.type})))}return t},_getMismatches:function(e){var i=[];if(this.config.cacheMismatches&&e.record.mismatches)return e.record.mismatches;var n,r=e.get(this.cigarAttributeName);r&&(n=this._parseCigar(r),i.push.apply(i,this._cigarToMismatches(e,n)));var a,s,l=e.get("cram_read_features"),c=e.get(this.mdAttributeName);this.config.renderAlignment&&(l&&l.length||c)&&(i=i.filter(function(e){return!("deletion"==e.type||"mismatch"==e.type)})),l&&(a=i).push.apply(a,o(this._cramReadFeaturesToMismatches(e,l))),c&&(s=i).push.apply(s,o(this._mdToMismatches(e,c,n,i)));var h={};return i=t.filter(i,function(e){var t=e.type+","+e.start+","+e.length,i=h[t];return h[t]=!0,!i}),this.config.cacheMismatches&&(e.record.mismatches=i),i},_parseCigar:function(e){return t.map(e.toUpperCase().match(/\d+\D/g),function(e){return[e.match(/\D/)[0],parseInt(e)]})},_cramReadFeaturesToMismatches:function(e,t){var i=e.get("start"),n=[];return t.forEach(function(e){var t=e.code,r=e.refPos,o=e.data,a=e.sub,s=e.ref;if(r=r-1-i,"X"===t)n.push({start:r,length:1,base:a,altbase:s,type:"mismatch"});else if("I"===t)n.push({start:r,type:"insertion",base:""+o.length,length:o.length});else if("N"===t)n.push({type:"skip",length:o,start:r,base:"N"});else if("S"===t){var l=o.length;n.push({start:r,type:"softclip",base:"S"+l,cliplen:l,length:1})}else if("P"===t);else if("H"===t){var c=o.length;n.push({start:r,type:"hardclip",base:"H"+c,cliplen:c,length:1})}else"D"===t?n.push({type:"deletion",length:o,start:r,base:"*"}):"b"===t||"q"===t||"B"===t||"i"===t&&n.push({start:r,type:"insertion",base:o,length:1})}),n},_cigarToMismatches:function(e,i){var n=0,r=[];return t.forEach(i,function(e){var t=e[0],i=e[1];"I"==t?r.push({start:n,type:"insertion",base:""+i,length:1}):"D"==t?r.push({start:n,type:"deletion",base:"*",length:i}):"N"==t?r.push({start:n,type:"skip",base:"N",length:i}):"X"==t?r.push({start:n,type:"mismatch",base:"X",length:i}):"H"==t?r.push({start:n,type:"hardclip",base:"H"+i,length:1}):"S"==t&&r.push({start:n,type:"softclip",base:"S"+i,cliplen:i,length:1}),"I"!=t&&"S"!=t&&"H"!=t&&(n+=i)}),r},_cigarToSkipsAndDeletions:function(e,i){var n=0,r=[];return t.forEach(i,function(e){var t=e[0],i=e[1];"D"==t?r.push({start:n,type:"deletion",base:"*",length:i}):"N"==t&&r.push({start:n,type:"skip",base:"N",length:i}),"I"!=t&&"S"!=t&&"H"!=t&&(n+=i)}),r},_mdToMismatches:function(e,i,n,r){var o=[],a={start:0,base:"",length:0,type:"mismatch"};function s(e,t){for(var i=0,n=0,r=0;r<t.length&&n<=e;r++){var o=t[r][0],a=t[r][1];"S"==o||"I"==o?i+=a:"D"==o||"P"==o?n+=a:(i+=a,n+=a)}return i-(n-e)}function l(){t.forEach(r||[],function(e){"skip"==e.type&&a.start>=e.start&&(a.start+=e.length)}),o.push(a),a={start:a.start+a.length,length:0,base:"",type:"mismatch"}}var c=e.get("seq");return t.forEach(i.match(/(\d+|\^[a-z]+|[a-z])/gi),function(e){if(e.match(/^\d/))a.start+=parseInt(e);else if(e.match(/^\^/))a.length=e.length-1,a.base="*",a.type="deletion",a.seq=e.substring(1),l();else if(e.match(/^[a-z]/i))for(var t=0;t<e.length;t++)a.length=1,a.base=c?c.substr(n?s(a.start,n):a.start,1):"X",a.altbase=e,l()}),o}})}.apply(null,n))||(e.exports=r)},375:function(e,t,i){var n,r;n=[i(334)],void 0===(r=function(e){return e.fastDeclare({get:function(e){return this[e]},tags:function(){return["start","end","score"]},score:0,constructor:function(e){this.start=e.start,this.end=e.end,this.score=e.score}})}.apply(null,n))||(e.exports=r)},376:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(579),i(589),i(580),i(590),i(341),i(647),i(709),i(711),i(596),i(348),i(354),i(353),i(360),i(389),i(334),i(394),i(345)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f,g,p,b,m,v,w){return e([d,f,g,p,b],{constructor:function(e){this.numBins=t.getObject("histogram.binsPerBlock",!1,this.config)||25,this.defaultPadding=5,this.padding=this.defaultPadding,this.glyphHeightPad=1,this.levelHeightPad=2,this.labelPad=1,this.minFeatWidth=1,this.trackPadding=e.trackPadding,this.heightCache={},this.showLabels=this.config.style.showLabels,this._setupEventHandlers(),"function"==typeof this.extendedInit&&this.extendedInit()},_defaultConfig:function(){return m.deepUpdate(t.clone(this.inherited(arguments)),{maxFeatureScreenDensity:.5,maxHeight:1e3,style:{arrowheadClass:"arrowhead",className:"feature2",_defaultHistScale:4,_defaultLabelScale:30,_defaultDescriptionScale:120,minSubfeatureWidth:6,maxDescriptionLength:70,showLabels:!0,label:"name,id",description:"note, description",centerChildrenVertically:!0},hooks:{create:function(e,t){return document.createElement("div")}},events:{},menuTemplate:[{label:"View details",title:"{type} {name}",action:"contentDialog",iconClass:"dijitIconTask",content:dojo.hitch(this,"defaultFeatureDetail")},{label:function(){return"Highlight this "+(this.feature&&this.feature.get("type")?this.feature.get("type"):"feature")},action:function(){var e=new w({feature:this.feature,tracks:[this.track]});this.track.browser.setHighlightAndRedraw(e)},iconClass:"dijitIconFilter"}]})},wrapHandler:function(e){var t=this;return function(i){if(!(i=i||window.event).shiftKey){var n=i.currentTarget||i.srcElement;n.feature||(n=n.parentElement),n.feature&&e(t,n,n.feature,i)}}},fillHistograms:function(e){var t=e.blockIndex,i=e.block,n=e.leftBase,r=e.rightBase,o=e.stripeWidth,a=Math.abs(r-n),s=a/this.numBins,l=this;this.store.getRegionFeatureDensities({ref:this.refSeq.name,start:e.leftBase,end:e.rightBase,basesPerBin:s},function(e){if("histograms"==l._fillType){for(var n=e.bins,r=0,c=0;c<l.numBins;c++)"number"==typeof n[c]&&isFinite(n[c])&&(r=Math.max(r,n[c]));var h,u=!!e.stats&&e.stats.mean/e.stats.max<.01,d=e.stats?100/(u?Math.log(e.stats.max):e.stats.max):2,f={basesPerBin:s,pxPerCount:d,logScale:u,stats:e.stats};for(c=0;c<l.numBins;c++)"number"==typeof n[c]&&isFinite(n[c])&&((h=document.createElement("div")).className="hist feature-hist "+l.config.style.className+"-hist",h.style.cssText="left: "+c/l.numBins*100+"%; height: "+f.pxPerCount*(f.logScale?Math.log(n[c]):n[c])+"px;bottom: "+l.trackPadding+"px;width: "+(100/l.numBins-100/o)+"%;"+(l.config.style.histCss?l.config.style.histCss:""),h.setAttribute("value",n[c]),m.is_ie6&&h.appendChild(document.createComment()),i.domNode.appendChild(h));l.heightUpdate(f.pxPerCount*(f.logScale?Math.log(r):r),t),l.makeHistogramYScale(a,f,e)}},dojo.hitch(this,"fillBlockError",t,i)),e.finishCallback()},endZoom:function(e,t){this.clear()},updateStaticElements:function(e){this.inherited(arguments),this.updateYScaleFromViewDimensions(e),this.updateFeatureLabelPositions(e),this.updateFeatureArrowPositions(e)},updateFeatureArrowPositions:function(e){if("x"in e)for(var t=this.browser.view.minVisible(),i=this.browser.view.maxVisible(),n=this.blocks,r=0;r<n.length;r++){var o=n[r];if(o)for(var a=o.domNode.childNodes,s=0;s<a.length;s++){var l=a[s];if(l.feature){var c=l.feature,h=l._containerStart,u=l._containerEnd,d=c.get("strand");if(d){var f,g,p=c.get("start"),b=c.get("end"),m=Math.max(p,h),v=Math.min(b,u);if(d<0&&b>t){var w="minus-"+this.config.style.arrowheadClass;g=l.childNodes;for(var y=0;y<g.length;y++)"string"==typeof(f=g[y]).className&&f&&f.className&&f.className.indexOf(w)>=0&&(f.style.left=(p<t?o.bpToX(t)-o.bpToX(m):-this.minusArrowWidth)+"px")}else if(d>0&&p<i){var k="plus-"+this.config.style.arrowheadClass;for(g=l.childNodes,y=0;y<g.length;y++)"string"==typeof(f=g[y]).className&&f&&f.className&&f.className.indexOf(k)>=0&&(f.style.right=(b>i?o.bpToX(v)-o.bpToX(i-2):-this.plusArrowWidth)+"px")}}}}}},updateFeatureLabelPositions:function(e){var t=this.browser._showLabels;"x"in e&&i.forEach(this.blocks,function(e,n){if(e&&this.label){var r=100*(this.label.offsetLeft+(t?this.label.offsetWidth:0)-e.domNode.offsetLeft)/e.domNode.offsetWidth+2;if(r){var o=e.endBase-e.startBase;i.forEach(e.domNode.childNodes,function(t){if(t.label){var i=t.label,n=t.feature,a=parseInt(n.get("start"));a=100*(a-e.startBase)/o;var s=parseInt(n.get("end"));s=100*((s-e.startBase)/o-i.offsetWidth/e.domNode.offsetWidth),i.style.left=Math.max(a,Math.min(r,s))+"%"}},this)}}},this)},fillBlock:function(e){var t=e.blockIndex,i=e.block,n=e.leftBase,r=e.rightBase,o=e.scale;e.containerStart,e.containerEnd,this.refSeq.name,this.store.getGlobalStats(dojo.hitch(this,function(a){var s=a.featureDensity,l=this.config.style.histScale||s*this.config.style._defaultHistScale,c=this.config.style.featureScale||s/this.config.maxFeatureScreenDensity,h=Math.abs(n-r);this._updatedLabelForBlockSize!=h&&(this.store.getRegionFeatureDensities&&o<l?this.setLabel(this.key+' <span class="feature-density">per '+m.addCommas(Math.round(h/this.numBins))+" bp</span>"):this.setLabel(this.key),this._updatedLabelForBlockSize=h),this.store.getRegionFeatureDensities&&o<l?(this._fillType="histograms",this.fillHistograms(e)):o<c?(this.fillTooManyFeaturesMessage(t,i,o),e.finishCallback()):(this.removeYScale(),this._fillType="features",this.fillFeatures(dojo.mixin({stats:a},e)))}),dojo.hitch(this,"fillBlockError",t,i))},makeHistogramYScale:function(e,t,i){if(t.logScale)console.error("Log histogram scale axis labels not yet implemented.");else{var n=this.height/t.pxPerCount;n=t.logScale?Math.log(n):n,this.yscale&&this.yscale_params&&this.yscale_params.maxval==n&&this.yscale_params.height==this.height&&this.yscale_params.blockbp==e||(this.removeYScale(),this.makeYScale({min:0,max:n}),this.yscale_params={height:this.height,blockbp:e,maxval:n})}},destroy:function(){this._clearLayout(),this.inherited(arguments)},cleanupBlock:function(e){if(e&&(this.layout&&this.layout.discardRange(e.startBase,e.endBase),e.featureNodes))for(var t in e.featureNodes){var n=e.featureNodes[t];i.forEach("track,feature,callbackArgs,_labelScale,_descriptionScale".split(","),function(e){m.removeAttribute(n,e)}),"label"in n&&(i.forEach("track,feature,callbackArgs".split(","),function(e){m.removeAttribute(n.label,e)}),m.removeAttribute(n,"label"))}this.inherited(arguments)},transfer:function(e,t,i,n,r){if(e&&t){var o,a=t.startBase,s=t.endBase,l=e.startBase<t.startBase?e.rightOverlaps:e.leftOverlaps;l=l||[];for(var c=0;c<l.length;c++)if((o=e.featureNodes[l[c]])&&o.label&&o.label.parentNode&&o.label.parentNode.removeChild(o.label),o&&o.feature&&o.layoutEnd>a&&o.feature.get("start")<s){o.parentNode.removeChild(o),delete e.featureNodes[l[c]];var h=this.addFeatureToBlock(o.feature,l[c],t,i,o._labelScale,o._descriptionScale,n,r);o.booleanCovs&&this._maskTransfer(h,o,n,r)}}},_maskTransfer:function(e,t,i,n){for(var r=[];e.firstChild;)r.push(e.firstChild),e.removeChild(e.firstChild);var o=e.featureEdges.s,s=e.featureEdges.e;for(var l in t.booleanCovs)if(t.booleanCovs.hasOwnProperty(l)){var c=t.booleanCovs[l].span.s,h=t.booleanCovs[l].span.e;if(h<i||c>n)continue;t.booleanCovs[l].style.left=100*(c-o)/(s-o)+"%",t.booleanCovs[l].style.width=100*(h-c)/(s-o)+"%",e.appendChild(t.booleanCovs[l])}if(a(".basicSubfeature",t).forEach(function(t,r,a){var l=t.subfeatureEdges.s,c=t.subfeatureEdges.e;c<i||l>n||(t.style.left=100*(l-o)/(s-o)+"%",t.style.width=100*(c-l)/(s-o)+"%",e.appendChild(t))}),this.config.style.arrowheadClass){var u=this.config.style.arrowheadClass;a(".minus-"+u+", .plus-"+u,t).forEach(function(t,i,n){e.appendChild(t)})}e.className="basic",e.oldClassName=t.oldClassName,e.booleanCovs=t.booleanCovs},fillFeatures:function(e){var t=this,i=e.blockIndex,n=e.block,r=e.leftBase,o=e.rightBase,a=e.scale,s=e.stats,l=e.containerStart,c=e.containerEnd,h=e.finishCallback;this.browser,this.scale=a,n.featureNodes={},this.haveMeasurements||(this.measureStyles(),this.haveMeasurements=!0);var u=this.config.style.labelScale||s.featureDensity*this.config.style._defaultLabelScale,d=this.config.style.descriptionScale||s.featureDensity*this.config.style._defaultDescriptionScale,f=this;this.store.getFeatures({ref:this.refSeq.name,start:r,end:o},function(e){var i=e.id();if(!t._featureIsRendered(i)&&t.filterFeature(e)){if("function"==typeof t.renderFilter)return t._warnedAboutRenderFilterDeprecation||(console.warn("the HTMLFeatures.renderFilter is deprecated, please use the existing feature filtering functionality (addFeatureFilter)"),t._warnedAboutRenderFilterDeprecation=!0),void(1===t.renderFilter(e)&&t.addFeatureToBlock(e,i,n,a,u,d,l,c));t.addFeatureToBlock(e,i,n,a,u,d,l,c)}},function(e){if(f.heightUpdate(f._getLayout(a).getTotalHeight(),i),e&&e.maskingSpans){var t=[];t[0]={start:r};var n=0;for(var s in e.maskingSpans)e.maskingSpans.hasOwnProperty(s)&&(s=e.maskingSpans[s],t[n].end=s.start,t[++n]={start:s.end});t[n].end=o,t[n].end<=t[n].start&&t.splice(n,1),t[0].end<=t[0].start&&t.splice(0,1),f.maskBySpans(t,e.maskingSpans)}h()},function(e){console.error(e,e.stack),f.fillBlockError(i,n,e),h()})},addFeatureToBlock:function(e,t,i,n,r,o,a,s){var l=this;if((void 0===this.browser.config.inferHTMLSubfeatures||!0===this.browser.config.inferHTMLSubfeatures)&&"gene"==e.get("type")&&e.get("subfeatures")){var c=dojo.create("div"),h=e.get("subfeatures");return h?(h.forEach(function(e){l._featureIsRendered(t+"_"+l.getId(e))||(u=l.renderFeature(e,t+"_"+l.getId(e),i,n,r,o,a,s))&&c.appendChild(u)}),i.domNode.appendChild(c),this.config.style.centerChildrenVertically&&c.childNodes.forEach(function(e){l._centerChildrenVertically(e)}),c):null}var u=this.renderFeature(e,t,i,n,r,o,a,s);return u?(i.domNode.appendChild(u),this.config.style.centerChildrenVertically&&this._centerChildrenVertically(u),u):null},fillBlockTimeout:function(e,t){this.inherited(arguments),t.featureNodes={}},_featureIsRendered:function(e){for(var t=this.blocks,i=0;i<t.length;i++)if(t[i]&&t[i].featureNodes&&t[i].featureNodes[e])return!0;return!1},maskBySpans:function(e,t){var i=this.blocks;for(var n in i)if(i.hasOwnProperty(n)){if(!i[n])continue;var r=i[n],o=(r.startBase,r.endBase,function(e,t,i,n){var r=Math.max(e,i),o=Math.min(t,n);return r<o&&{s:r,e:o}}),a=function(e,t,i,n){return!!o(e,t,i,n)&&{s:Math.min(e,i),e:Math.max(t,n)}},s=function(e,t,i,n,r){var o=dojo.create("div"),a=i.featureEdges?i.featureEdges.s:i.subfeatureEdges.s,s=i.featureEdges?i.featureEdges.e:i.subfeatureEdges.e;return o.span={s:e,e:t},o.className=n?u.className==r?u.oldClassName+" Boolean-transparent":u.className+" Boolean-transparent":u.className==r?u.oldClassName:u.className,o.booleanDiv=!0,o.style.left=100*(e-a)/(s-a)+"%",o.style.top="0px",o.style.width=100*(t-e)/(s-a)+"%",o},l=function e(t,i,n,r,o,l){for(var c in l=l||!1,n.childNodes)if(n.childNodes[c]&&n.childNodes[c].booleanDiv){var h=n.childNodes[c].span.s,u=n.childNodes[c].span.e;if(h<=t&&u>=i){l=!0;break}var d=a(t,i,h,u);if(d){var f=s(d.s,d.e,n,r,o),g=n.booleanCovs.indexOf(n.childNodes[c]);n.removeChild(n.childNodes[c]),n.booleanCovs.splice(g,1),n.appendChild(f),n.booleanCovs.push(f),l=!0,e(d.s,d.e,n,r,o,!0);break}}l||(f=s(t,i,n,r,o),n.appendChild(f),n.booleanCovs.push(f))},c=function(e,t,i,n,r,a){for(var s in i.booleanCovs||(i.booleanCovs=[]),r)r.hasOwnProperty(s)&&(c=o(e,t,r[s].start,r[s].end))&&l(c.s,c.e,i,!1,a);for(var s in n){var c;n.hasOwnProperty(s)&&(c=o(e,t,n[s].start,n[s].end))&&l(c.s,c.e,i,!0,a)}i.oldClassName=i.className==a?i.oldClassName:i.className,i.className=a};for(var h in r.featureNodes)if(r.featureNodes.hasOwnProperty(h)){var u=r.featureNodes[h];if(!u.feature){c(u.subfeatureEdges.s,u.subfeatureEdges.e,u,t,e,"basicSubfeature");continue}c(u.feature.get("start"),u.feature.get("end"),u,t,e,"basic")}}},measureStyles:function(){var e,t=this.browser.container,i=document.createElement("div");if(i.className="feature-label",i.style.height="auto",i.style.visibility="hidden",i.appendChild(document.createTextNode("1234567890")),t.appendChild(i),this.labelHeight=i.clientHeight,this.labelWidth=i.clientWidth/10,t.removeChild(i),(i=document.createElement("div")).className="feature "+this.config.style.className+" plus-"+this.config.style.className+" plus-"+this.config.style.className+"1",this.config.style.featureCss&&(i.style.cssText=this.config.style.featureCss),i.style.visibility="hidden",m.is_ie6&&i.appendChild(document.createComment("foo")),t.appendChild(i),e=r.getMarginBox(i),this.glyphHeight=Math.round(e.h),this.padding=this.defaultPadding+e.w,t.removeChild(i),this.config.style.arrowheadClass){var n=document.createElement("div");n.className="plus-"+this.config.style.arrowheadClass,m.is_ie6&&n.appendChild(document.createComment("foo")),t.appendChild(n),e=r.position(n),this.plusArrowWidth=e.w,this.plusArrowHeight=e.h,n.className="minus-"+this.config.style.arrowheadClass,e=r.position(n),this.minusArrowWidth=e.w,this.minusArrowHeight=e.h,t.removeChild(n)}},hideAll:function(){return this._clearLayout(),this.inherited(arguments)},getFeatDiv:function(e){var t,i=this.getId(e);if(void 0!==this.browser.config.inferHTMLSubfeatures&&!0!==this.browser.config.inferHTMLSubfeatures||!e.parent()||"gene"!=e.parent().get("type")||(t=this.getId(e.parent())+"_"+this.getId(e)),!i&&!t)return null;for(var n=0;n<this.blocks.length;n++){var r=this.blocks[n];if(r&&r.featureNodes){var o=r.featureNodes[i];if(o)return o;if(o=r.featureNodes[t])return o}}return null},getId:function(e){return e.id()},renderFeature:function(e,i,n,r,o,a,s,l){var c=e.get("end"),h=e.get("start");"string"==typeof c&&(c=parseInt(c)),"string"==typeof h&&(h=parseInt(h));var u=h,d=c;if(this.config.style.arrowheadClass)switch(e.get("strand")){case 1:case"+":d+=this.plusArrowWidth/r;break;case-1:case"-":u-=this.minusArrowWidth/r}var f=this.glyphHeight+this.glyphHeightPad,g=this.getFeatureLabel(e),p=r>a&&this.getFeatureDescription(e);p&&p.length>this.config.style.maxDescriptionLength&&(p=p.substr(0,this.config.style.maxDescriptionLength+1).replace(/(\s+\S+|\s*)$/,"")+String.fromCharCode(8230)),this.showLabels&&r>=o&&g&&(d=Math.max(d,u+(""+g).length*this.labelWidth/r),f+=this.labelHeight+this.labelPad),this.showLabels&&p&&(d=Math.max(d,u+(""+p).length*this.labelWidth/r),f+=this.labelHeight+this.labelPad),d+=Math.max(1,this.padding/r);var b=this._getLayout(r).addRect(i,u,d,f);if(null===b)return this.markBlockHeightOverflow(n),null;var v=this.config.hooks.create(this,e);this._connectFeatDivHandlers(v),v.track=this,v.feature=e,v.layoutEnd=d,v.featureEdges={s:Math.max(v.feature.get("start"),s),e:Math.min(v.feature.get("end"),l)},v.callbackArgs=[this,v.feature,v],v._labelScale=o,v._descriptionScale=a,n.featureNodes[i]=v,"function"==typeof this.featureHook1&&this.featureHook1(e,v),u<n.startBase&&(n.leftOverlaps||(n.leftOverlaps=[]),n.leftOverlaps.push(i)),d>n.endBase&&(n.rightOverlaps||(n.rightOverlaps=[]),n.rightOverlaps.push(i)),dojo.addClass(v,"feature");var w=this.config.style.className;"{type}"==w&&(w=e.get("type"));var y=e.get("strand");switch(y){case 1:case"+":dojo.addClass(v,"plus-"+w);break;case-1:case"-":dojo.addClass(v,"minus-"+w);break;default:dojo.addClass(v,w)}var k=e.get("phase");null!=k&&dojo.addClass(v,w+"_phase"+k);var _=this.isFeatureHighlighted(e,g);_&&dojo.addClass(v,"highlighted");var x=Math.max(h,s),S=Math.min(c,l),j=n.endBase-n.startBase,C=Math.max(this.minFeatWidth,(S-x)/j*100);if(v.style.cssText="left:"+100*(x-n.startBase)/j+"%;top:"+b+"px; width:"+C+"%;"+(this.config.style.featureCss?this.config.style.featureCss:""),v._containerStart=s,v._containerEnd=l,this.config.style.arrowheadClass){var A=document.createElement("div");switch(y){case 1:case"+":A.className="plus-"+this.config.style.arrowheadClass,A.style.cssText="right: "+-this.plusArrowWidth+"px",v.appendChild(A);break;case-1:case"-":A.className="minus-"+this.config.style.arrowheadClass,A.style.cssText="left: "+-this.minusArrowWidth+"px",v.appendChild(A)}}var T=t.mixin({track:this,feature:e,callbackArgs:[this,e]});if(v.title&&(v.title=this.template(e,this._evalConf(T,v.title,"label"))),(g||p)&&this.showLabels&&r>=o){var B=dojo.create("div",{className:"feature-label"+(_?" highlighted":""),innerHTML:(g?'<div class="feature-name">'+(this.config.unsafeHTMLFeatures?g:m.escapeHTML(g))+"</div>":"")+(p?' <div class="feature-description">'+(this.config.unsafeHTMLFeatures?p:m.escapeHTML(p))+"</div>":""),style:{top:b+this.glyphHeight+2+"px",left:100*(u-n.startBase)/j+"%"}},n.domNode);this._connectFeatDivHandlers(B),v.title&&(B.title=v.title),v.label=B,B.feature=e,B.track=this,B.callbackArgs=[this,v.feature,v]}return C>this.config.style.minSubfeatureWidth&&this.handleSubFeatures(e,v,x,S,n),this.config.menuTemplate&&window.setTimeout(dojo.hitch(this,"_connectMenus",v),50+150*Math.random()),"function"==typeof this.config.hooks.modify&&this.config.hooks.modify(this,e,v),v},handleSubFeatures:function(e,t,i,n,r){var o=e.get("subfeatures");if(o)for(var a=0;a<o.length;a++){this.renderSubfeature(e,t,o[a],i,n,r);var s=o[a];"mRNA"==s.get("type")&&this.handleSubFeatures(s,t,i,n,r)}},_getHeight:function(e){if(this.config.disableHeightCache)return e.offsetHeight||0;var t=this.heightCache[e.className];return t||(t=e.offsetHeight||0,this.heightCache[e.className]=t,t)},_centerChildrenVertically:function(e){if(e.childNodes.length>0)for(var t=this._getHeight(e),i=0;i<e.childNodes.length;i++){var n=e.childNodes[i];if(n.style){var r=this._getHeight(n);dojo.style(n,{marginTop:"0",top:(t-r)/2+"px"}),n.childNodes.length>0&&this._centerChildrenVertically(n)}}},_connectFeatDivHandlers:function(e){for(var t in this.eventHandlers)this.own(o(e,t,this.eventHandlers[t]));this.eventHandlers.click&&this.eventHandlers.click.label&&e.setAttribute("title",this.eventHandlers.click.label)},_connectMenus:function(e){var i=t.hitch(this,"_refreshMenu",e);this.own(o(e,"mouseover",i)),e.label&&this.own(o(e.label,"mouseover",i))},_refreshMenu:function(e){e.contextMenu||(e.contextMenu=this._makeFeatureContextMenu(e,this.config.menuTemplate)),e.contextMenuTimeout&&window.clearTimeout(e.contextMenuTimeout),e.contextMenuTimeout=window.setTimeout(function(){e.contextMenu&&(e.contextMenu.destroyRecursive(),m.removeAttribute(e,"contextMenu")),m.removeAttribute(e,"contextMenuTimeout")},3e4)},_makeFeatureContextMenu:function(e,t){t=this._processMenuSpec(dojo.clone(t),e);var i=this._renderContextMenu(t,e);return i.startup(),i.bindDomNode(e),e.label&&i.bindDomNode(e.label),i},renderSubfeature:function(e,t,i,n,r,o){var a,s=i.get("start"),l=i.get("end"),c=r-n,h=i.get("type");if(this.config.style.subfeatureClasses){if(void 0===(a=this.config.style.subfeatureClasses[h]))a=h;else if(null===a)return null}else a=h;if("hidden"==a)return null;var u=document.createElement("div");if(u.subfeatureEdges={s:s,e:l},dojo.addClass(u,"subfeature"),a)switch(i.get("strand")){case 1:case"+":dojo.addClass(u,"plus-"+a);break;case-1:case"-":dojo.addClass(u,"minus-"+a);break;default:dojo.addClass(u,a)}var d=!1;return void 0!==this.config.truncateFeatures&&!0===this.config.truncateFeatures&&(d=!0),d&&(l<=n||s>=r)?null:(m.is_ie6&&u.appendChild(document.createComment()),u.style.cssText="left: "+(s-n)/c*100+"%;width: "+(l-s)/c*100+"%;",t.appendChild(u),o.featureNodes[i.id()]=u,u)},_getLayout:function(e){return this.haveMeasurements||(this.measureStyles(),this.haveMeasurements=!0),this.layout&&this.layout.pitchX==4/e||!e||(this.layout=new v({pitchX:4/e,pitchY:this.config.layoutPitchY||this.glyphHeight+this.glyphHeightPad,maxHeight:this.getConf("maxHeight")})),this.layout},_clearLayout:function(){delete this.layout},clear:function(){delete this.layout,this.inherited(arguments)},changed:function(){this._clearLayout(),this.inherited(arguments)},_exportFormats:function(){return[{name:"GFF3",label:"GFF3",fileExt:"gff3"},{name:"BED",label:"BED",fileExt:"bed"},{name:"SequinTable",label:"Sequin Table",fileExt:"sqn"}]},_trackMenuOptions:function(){var e=this.inherited(arguments),t=this;return e.push.apply(e,[{type:"dijit/MenuSeparator"},{label:"Show labels",type:"dijit/CheckedMenuItem",checked:!!("showLabels"in this?this.showLabels:this.config.style.showLabels),onClick:function(e){t.showLabels=this.checked,t.changed()}}]),e}})}.apply(null,n))||(e.exports=r)},377:function(e,t,i){var n,r;n=[i(334)],void 0===(r=function(e){var t={colorAlignment:function(e,i,n,r){var o=e.get("strand");if(1!=Math.abs(o)&&"+"!=o&&"-"!=o)return r.colorForBase("reference");if(r.config.colorByOrientationAndSize)return t.colorByOrientationAndSize.apply(null,arguments);if(r.config.colorByOrientation)return t.colorByOrientation.apply(null,arguments);if(r.config.colorBySize)return t.colorByInsertSizePercentile.apply(null,arguments);if(r.config.useXS)return t.colorByXS.apply(null,arguments);if(r.config.useTS)return t.colorByTS.apply(null,arguments);if(r.config.colorByMAPQ)return t.colorByMAPQ.apply(null,arguments);if(r.config.defaultColor||r.config.useReverseTemplate){if(e.get("multi_segment_template")){var a=e.get("multi_segment_first");return e.get("multi_segment_all_correctly_aligned")?a||!r.config.useReverseTemplate?1==o||"+"==o?n.getStyle(e,"color_fwd_strand"):n.getStyle(e,"color_rev_strand"):1==o||"+"==o?n.getStyle(e,"color_rev_strand"):n.getStyle(e,"color_fwd_strand"):e.get("multi_segment_next_segment_unmapped")?a||!r.config.useReverseTemplate?1==o||"+"==o?n.getStyle(e,"color_fwd_missing_mate"):n.getStyle(e,"color_rev_missing_mate"):1==o||"+"==o?n.getStyle(e,"color_rev_missing_mate"):n.getStyle(e,"color_fwd_missing_mate"):e.get("seq_id")==e.get("next_seq_id")?a||!r.config.useReverseTemplate?1==o||"+"==o?n.getStyle(e,"color_fwd_strand_not_proper"):n.getStyle(e,"color_rev_strand_not_proper"):1==o||"+"==o?n.getStyle(e,"color_rev_strand_not_proper"):n.getStyle(e,"color_fwd_strand_not_proper"):1==o||"+"==o?n.getStyle(e,"color_fwd_diff_chr"):n.getStyle(e,"color_rev_diff_chr")}return 1==o||"+"==o?n.getStyle(e,"color_fwd_strand"):n.getStyle(e,"color_rev_strand")}return n.getStyle(e,"color_nostrand")},getOrientation:function(t,i,n,r){return{LR:"color_pair_lr",RR:"color_pair_rr",RL:"color_pair_rl",LL:"color_pair_ll"}[e.orientationTypes[r.config.orientationType][t.get("pair_orientation")]]},colorByOrientation:function(e,i,n,r){var o=t.getOrientation.apply(null,arguments);return n.getStyle(e,o||"color_nostrand")},colorByOrientationAndSize:function(e,i,n,r){var o=t.getInsertSizePercentile.apply(null,arguments);return o?n.getStyle(e,o):t.colorByOrientation.apply(null,arguments)},getInsertSizePercentile:function(e,t,i,n){if(e.get("is_paired")){var r=Math.abs(e.get("template_length"));if(e.get("seq_id")!=e.get("next_seq_id"))return"color_interchrom";if(n.insertSizeStats.upper<r)return"color_longinsert";if(n.insertSizeStats.lower>r)return"color_shortinsert"}return null},colorByInsertSizePercentile:function(e,i,n,r){var o=t.getInsertSizePercentile.apply(null,arguments);return n.getStyle(e,o||"color_nostrand")},colorByInsertSize:function(e,t,i,n){return e.get("is_paired")&&e.get("seq_id")!=e.get("next_seq_id")?i.getStyle(e,"color_interchrom"):"hsl("+Math.abs(t/10)+",50%,50%)"},colorArcs:function(e,i,n,r){return r.config.colorByOrientationAndSize?t.colorByOrientationAndSize.apply(null,arguments):r.config.colorBySize?t.colorByInsertSizePercentile.apply(null,arguments):r.config.colorByOrientation?t.colorByOrientation.apply(null,arguments):r.config.colorByMAPQ?t.colorByMAPQ.apply(null,arguments):t.colorByInsertSize.apply(null,arguments)},connectorColor:function(e,i,n,r){return r.config.colorByOrientation?t.colorByOrientation.apply(null,arguments):r.config.colorByOrientationAndSize?t.colorByOrientationAndSize.apply(null,arguments):"black"},colorByXS:function(e,t,i,n){return i.getStyle(e,{"-":"color_rev_strand","+":"color_fwd_strand"}[e.get("xs")||e.get("tags").XS]||"color_nostrand")},colorByTS:function(e,t,i,n){var r={"-":-1===e.get("strand")?"color_fwd_strand":"color_rev_strand","+":-1===e.get("strand")?"color_rev_strand":"color_fwd_strand"};return i.getStyle(e,r[e.get("ts")||e.get("tags").TS]||"color_nostrand")},colorByMAPQ:function(e,t,i,n){var r=Math.min(4*e.get("score"),200);return"rgb("+r+","+r+","+r+")"}};return t}.apply(null,n))||(e.exports=r)},378:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(619),i(634),i(336),i(340),i(339),i(349),i(334),i(361)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){var u=c.fastDeclare({get:function(e){return this.feature.get(e)},id:function(){return this.feature.id()+this.storeName},parent:function(){return this.feature.parent()},children:function(){return this.feature.children()},tags:function(){return this.feature.tags()},constructor:function(e,t){this.feature=e,this.storeName=t,this.source=e?e.source:void 0}});return e([o,s,a,l],{constructor:function(e){this.isCombinationStore=!0,this.defaultOp=e.op,e.opTree&&this.reload(e.opTree)},reload:function(e){for(var t in this._deferred.features=new i,this._deferred.stats=new i,e||(e=new h({Value:this.defaultOp})),this.opTree=e,this.stores=e.getLeaves()||[],this.stores)this.stores[t].name||(this.stores=[]);this._deferred.features.resolve(!0),delete this._regionStatsCache,this._estimateGlobalStats().then(dojo.hitch(this,function(e){this.globalStats=e,this._deferred.stats.resolve({success:!0})}),dojo.hitch(this,"_failAllDeferred"))},_getFeatures:function(e,o,a,s){var l=this;if(1!=this.stores.length)if(this.regionLoaded){var c=t.filter(this.regionLoaded.spans,function(t){return t.start<=e.end&&t.end>=e.start}),h=this.createFeatures(c);this.finish(h,c,o,a)}else{var d={},f=l.stores.map(function(t){var n=new i;return d[t.name]?n.resolve(d[t.name],!0):(d[t.name]=[],t.getFeatures(e,dojo.hitch(this,function(e){var i=new u(e,t.name);d[t.name].push(i)}),function(){n.resolve(d[t.name])},function(){n.reject("Error fetching features for store "+t.name)})),n.then(function(){},s),n.promise});n(r(f),function(){var t=l.evalTree(d,l.opTree,e),i=l.createFeatures(t);l.finish(i,t,o,a)},s)}else this.stores[0].getFeatures(e,o,a,s)},evalTree:function(e,t,i){return!!t&&(t.isLeaf()?this.toSpan(e[t.get().name],i):t.hasLeft()?t.hasRight()?this.opSpan(t.get(),this.evalTree(e,t.left(),i),this.evalTree(e,t.right(),i),i):this.toSpan(e[t.left().get().name],i):this.toSpan(e[t.right().get().name],i))},finish:function(e,t,i,n){for(var r in e)e.hasOwnProperty(r)&&i(e[r]);n({spans:t})},createFeatures:function(e){},toSpan:function(e,t){},opSpan:function(e,t,i,n){}})}.apply(null,n))||(e.exports=r)},379:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(807),i(380),i(341),i(342),i(336),i(340),i(339),i(405),i(334),i(337)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d){return e([s,l,c],{BIG_WIG_MAGIC:-2003829722,BIG_BED_MAGIC:-2021002517,BIG_WIG_TYPE_GRAPH:1,BIG_WIG_TYPE_VSTEP:2,BIG_WIG_TYPE_FSTEP:3,_littleEndian:!0,constructor:function(e){this.data=e.blob||new d(this.resolveUrl(e.urlTemplate||"data.bigwig"),{expectRanges:!0}),this.name=e.name||this.data.url&&new n(this.data.url).path.replace(/^.+\//,"")||"anonymous",this._load()},_defaultConfig:function(){return u.deepUpdate(dojo.clone(this.inherited(arguments)),{chunkSizeLimit:3e7})},_getGlobalStats:function(e,t){var i=this._globalStats||{};"scoreMean"in i||(i.scoreMean=i.basesCovered?i.scoreSum/i.basesCovered:0),"scoreStdDev"in i||(i.scoreStdDev=this._calcStdFromSums(i.scoreSum,i.scoreSumSquares,i.basesCovered)),e(i)},_read:function(e,t,i,n){t>this.config.chunkSizeLimit?n(new a.DataOverflow("Too much data. Chunk size "+u.commifyNumber(t)+" bytes exceeds chunkSizeLimit of "+u.commifyNumber(this.config.chunkSizeLimit)+".")):this.data.read.apply(this.data,arguments)},_load:function(){var e=this;this._read(0,2e3,function(){var i=function(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}(regeneratorRuntime.mark(function i(n){var r,o,a,s,l,c,h;return regeneratorRuntime.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.next=2,e.data.statPromise();case 2:if(r=i.sent,n){i.next=6;break}return e._failAllDeferred("BBI header not readable"),i.abrupt("return");case 6:if(o=e.newDataView(n),(a=o.getInt32())==e.BIG_WIG_MAGIC||a==e.BIG_BED_MAGIC){i.next=15;break}if(e._littleEndian=!1,(o=e.newDataView(n)).getInt32()==e.BIG_WIG_MAGIC||a==e.BIG_BED_MAGIC){i.next=15;break}return console.error("Not a BigWig or BigBed file"),e._failAllDeferred("Not a BigWig or BigBed file"),i.abrupt("return");case 15:for(e.type=a==e.BIG_BED_MAGIC?"bigbed":"bigwig",e.fileSize=(r||{}).size,e.fileSize||console.warn("cannot get size of BigWig/BigBed file, widest zoom level not available"),e.version=o.getUint16(),e.numZoomLevels=o.getUint16(),e.chromTreeOffset=o.getUint64(),e.unzoomedDataOffset=o.getUint64(),e.unzoomedIndexOffset=o.getUint64(),e.fieldCount=o.getUint16(),e.definedFieldCount=o.getUint16(),e.asOffset=o.getUint64(),e.totalSummaryOffset=o.getUint64(),e.uncompressBufSize=o.getUint32(),e.zoomLevels=[],s=0;s<e.numZoomLevels;++s)l=o.getUint32(4*(6*s+16)),c=o.getUint64(4*(6*s+18)),h=o.getUint64(4*(6*s+20)),e.zoomLevels.push({reductionLevel:l,dataOffset:c,indexOffset:h});e.asOffset&&function(){for(var e,t=this.newDataView(n,this.asOffset),i="";(e=t.getChar())&&0!=e.charCodeAt();)i+=e;this.parseAutoSql(i)}.call(e),e.totalSummaryOffset?function(){var e=this.newDataView(n,this.totalSummaryOffset),t={basesCovered:e.getUint64(),scoreMin:e.getFloat64(),scoreMax:e.getFloat64(),scoreSum:e.getFloat64(),scoreSumSquares:e.getFloat64()};this._globalStats=t}.call(e):console.warn("BigWig "+e.data.url+" has no total summary data."),e._readChromTree(function(){this._deferred.features.resolve({success:!0}),this._deferred.stats.resolve({success:!0})},t.hitch(e,"_failAllDeferred"));case 33:case"end":return i.stop()}},i,e)}));return function(e){return i.apply(this,arguments)}}(),t.hitch(this,"_failAllDeferred"))},newDataView:function(e,t,i){return new r(e,t,i,this._littleEndian)},_readChromTree:function(e,t){var i=this;this.refsByNumber={},this.refsByName={};for(var n=this.unzoomedDataOffset;n%4!=0;)++n;this._read(this.chromTreeOffset,n-this.chromTreeOffset,function(t){if(o("typed-arrays")){var n=i.newDataView(t);if(2026540177!==n.getUint32())throw"parse error: not a Kent bPlusTree";n.getUint32();var r=n.getUint32();n.getUint32(),n.getUint64(),!function e(o){if(o>=t.length)throw"reading beyond end of buffer";var a=n.getUint8(o),s=n.getUint16(o+2);o+=4;for(var l=0;l<s;++l)if(a){for(var c="",h=0;h<r;++h){var u=n.getUint8(o++);0!=u&&(c+=String.fromCharCode(u))}var d=n.getUint32(o),f=n.getUint32(o+4);o+=8;var g={name:c,id:d,length:f};i.refsByName[i.browser.regularizeReferenceName(c)]=g,i.refsByNumber[d]=g}else{o+=r;var p=n.getUint64(o);o+=8,e(p-=i.chromTreeOffset)}}(32),e.call(i,i)}else i._failAllDeferred("Web browser does not support typed arrays")},t)},hasRefSeq:function(e,t,i){var n=this;e=n.browser.regularizeReferenceName(e),this._deferred.features.then(function(){t(e in n.refsByName)},i)},_getFeatures:function(e,t,n,r){var o=this.browser.regularizeReferenceName(e.ref),a=e.start,s=e.end,l=e.basesPerSpan?this.getView(1/e.basesPerSpan):e.scale?this.getView(e.scale):this.getView(1);l?l.readWigData(o,a,s,dojo.hitch(this,function(e){i.forEach(e||[],t),n()}),r):n()},getUnzoomedView:function(){if(!this.unzoomedView){var e=4e3;this.zoomLevels[0]&&(e=this.zoomLevels[0].dataOffset-this.unzoomedIndexOffset),this.unzoomedView=new h(this,this.unzoomedIndexOffset,e,!1,this.autoSql)}return this.unzoomedView},getView:function(e){return this.zoomLevels&&this.zoomLevels.length?(this._viewCache&&this._viewCache.scale==e||(this._viewCache={scale:e,view:this._getView(e)}),this._viewCache.view):null},_getView:function(e){var t=1/e,i=this.zoomLevels.length;this.fileSize||i--;for(var n=i;n>=0;n--){var r=this.zoomLevels[n];if(r&&r.reductionLevel<=2*t){var o=n<this.zoomLevels.length-1?this.zoomLevels[n+1].dataOffset-r.indexOffset:this.fileSize-4-r.indexOffset;return new h(this,r.indexOffset,o,!0)}}return this.getUnzoomedView()},getTagMetadata:function(e){if(this.autoSql){var t=e.replace(/_/g,"").toLowerCase(),i=this.autoSql.fields.find(function(e){return e.name.toLowerCase()===t});if(i)return i}},parseAutoSql:function(e){var t=(e=e.trim()).split("\n");this.autoSql={name:/table\s+(\w+)/.exec(t[0])[1],description:/"(.*)"/.exec(t[1])[1],fields:[]};for(var i,n=3;")"!=t[n].trim();)(i=/([\w\[\]0-9]+)\s*(\w+)\s*;\s*"(.*)"/.exec(t[n].trim()))?this.autoSql.fields.push({type:i[1],name:i[2],description:i[3]}):console.warn("autosql line not parsed",t[n]),n++},saveStore:function(){return{urlTemplate:this.config.blob.url}}})}.apply(null,n))||(e.exports=r)},380:function(e,t,i){var n,r=i(1820),o=i(985);void 0===(n=function(){var e=function(){r.apply(this,arguments)};e=o(e,"JBrowse/Model/DataView is deprecated, please migrate to something else");try{e.prototype=new r(new ArrayBuffer([1]),0,1)}catch(e){console.error(e)}return e.prototype.getUint64Approx=function(e,t){var i=this._getBytes(8,e,t),n=i[0]*Math.pow(2,56)+i[1]*Math.pow(2,48)+i[2]*Math.pow(2,40)+i[3]*Math.pow(2,32)+i[4]*Math.pow(2,24)+(i[5]<<16)+(i[6]<<8)+i[7];return(i[0]||224&i[1])&&((n=Number(n)).overflow=!0),n},e.prototype.getUint64=function(e,t){var i=this.getUint64Approx(e,t);if(i.overflow)throw new Error("integer overflow");return i},e}.apply(null,[]))||(e.exports=n)},381:function(e,t,i){var n;void 0===(n=function(){function e(e,t,i){if(void 0!==e){"animation"in e&&e.animation.stop(),this.index=0,this.time=i,this.subject=e,this.callback=t;var n=this;this.animFunction=function(){n.animate()},this.animID=setTimeout(this.animFunction,33),this.frames=0,e.animation=this}}return e.prototype.animate=function(){if(this.finished)this.stop();else{var e=33,t=0;"startTime"in this?(t=(new Date).getTime()-this.startTime,e=Math.max(33,t/this.frames)):this.startTime=(new Date).getTime(),t<this.time?(this.step(t/this.time),this.frames++):(this.step(1),this.finished=!0),this.animID=setTimeout(this.animFunction,e)}},e.prototype.stop=function(){clearTimeout(this.animID),delete this.subject.animation,this.callback.call(this.subject,this)},e}.apply(null,[]))||(e.exports=n)},382:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(576),i(577),i(587),i(634),i(334),i(427)],void 0===(r=function(e,t,i,n,r,a,s){return e(null,{constructor:function(e){this.bootConfig=t.clone(e.bootConfig||{}),this.defaults=t.clone(e.defaults||{}),this.browser=e.browser,this.skipValidation=e.skipValidation,this.bootConfig=this._regularizeIncludes([this.bootConfig])[0],!1===this.bootConfig.cacheBuster?this.bootConfig.cacheBuster=!1:this.bootConfig.cacheBuster=!0;var i=this;this._getConfigAdaptor(this.bootConfig).then(function(e){i.bootConfig=e.regularizeTrackConfigs(i.bootConfig)})},getFinalConfig:function(){return this.finalConfig||(this.finalConfig=function(){var e=this,i=this._applyDefaults(t.clone(this.bootConfig),this.defaults);return this._loadIncludes(i).then(function(t){var i=e._mergeConfigs(t,e.bootConfig);return e._fillTemplates(i,i),i=s.evalHooks(i),e.skipValidation||e._validateConfig(i),i})}.call(this))},_getConfigAdaptor:function(e,t){var i="JBrowse/ConfigAdaptor/"+e.format;return"version"in e&&(i+="_v"+e.version),i.replace(/\W/g,""),a.loadJS([i]).then(function(t){return new t[0](e)})},_fillTemplates:function(e,i){var n={},r=void 0===e?"undefined":o(e);if(t.isArray(e))for(var s=0;s<e.length;s++)e[s]=this._fillTemplates(e[s],i);else if("object"==r)for(var l in e)e.hasOwnProperty(l)&&!n[l]&&(e[l]=this._fillTemplates(e[l],i));else if("string"==r)return a.fillTemplate(e,i);return e},_loadIncludes:function(e){var n=this;return function o(a,s){var l=a.sourceUrl||a.baseUrl,c=n._mergeConfigs(t.clone(s),a),h=n._fillTemplates(n._regularizeIncludes(a.include||[]),c);delete a.include;var u=h.map(function(t){return t.cacheBuster=e.cacheBuster,n._loadInclude(t,l).then(function(e){return o(e,c)})});return r(u).then(function(e){return i.forEach(e,function(e){a=n._mergeConfigs(a,e)}),a})}(e=t.clone(e),{})},_loadInclude:function(e,t){return this._getConfigAdaptor(e).then(function(i){if(!i)throw new Error("Could not load config "+e.url+", no configuration adaptor found for config format "+e.format+" version "+e.version);return i.load({config:e,baseUrl:t})}).then(null,function(e){try{if(404==e.response.status)return{}}catch(e){}throw e})},_regularizeIncludes:function(e){return e?("object"!=(void 0===e?"undefined":o(e))&&(e=[e]),e=i.filter(e,function(e){return e}),i.map(e,function(e){return"string"==typeof e&&(e={url:e}),"format"in e||(e.format=/\.conf$/.test(e.url)?"conf":"JB_json"),"JB_json"!=e.format||"version"in e||(e.version=1),e})):[]},_applyDefaults:function(e,t){return a.deepUpdate(dojo.clone(t),e)},_validateConfig:function(e){if(e.tracks||(e.tracks=[]),e.baseUrl||this._fatalError("Must provide a `baseUrl` in configuration"),this.hasFatalErrors)throw"Errors in configuration, cannot start."},_fatalError:function(e){this.hasFatalErrors=!0,this.browser.fatalError(e)},_noRecursiveMerge:function(e){return"datasets"==e},_mergeConfigs:function(e,t){if(null===t)return null;for(var i in null===e&&(e={}),t)"tracks"==i&&i in e?e[i]=this._mergeTrackConfigs(e[i]||[],t[i]||[]):!this._noRecursiveMerge(i)&&i in e&&"object"==o(t[i])&&"object"==o(e[i])?e[i]=a.deepUpdate(e[i],t[i]):"dataRoot"==i?(void 0===e[i]||"data"==e[i]&&void 0!==t[i])&&(e[i]=t[i]):void 0!==e[i]&&void 0===t[i]||(e[i]=t[i]);return e},_mergeTrackConfigs:function(e,t){if(!t.length)return e;var n={};return i.forEach(e,function(e,t){e.index=t,n[e.label]=e}),i.forEach(t,function(t){var i=n[t.label];i?this._mergeConfigs(i,t):e.push(t)},this),e}})}.apply(null,n))||(e.exports=r)},383:function(e,t,i){var n,r;n=[i(575),i(577),i(595),i(580),i(606),i(596),i(711),i(579),i(647),i(1205),i(428),i(429),i(430),i(431),i(432),i(433),i(434),i(435),i(436),i(437),i(438),i(439),i(440),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f,g,p,b,m,v,w,y,k,_,x){return e(null,{constructor:function(e){this.browser=e.browser,this.config=dojo.clone(e.config||{}),this.browserSupports={dnd:"draggable"in document.createElement("span")},this._fileTypeDrivers=[new h,new u,new d,new f,new g,new p,new b,new m,new v,new w,new y]},addFileTypeDriver:function(e){this._fileTypeDrivers.unshift(e)},getFileTypeDrivers:function(){return this._fileTypeDrivers.slice()},_makeActionBar:function(e,t){var i=s.create("div",{className:"dijitDialogPaneActionBar"}),n=this.trackDispositionChoice=[new a({id:"openImmediately",value:"openImmediately",checked:!0}),new a({id:"addToTrackList",value:"addToTrackList"})],r=s.create("div",{className:"aux"},i);return n[0].placeAt(r),s.create("label",{for:"openImmediately",innerHTML:"Open immediately"},r),n[1].placeAt(r),s.create("label",{for:"addToTrackList",innerHTML:"Add to tracks"},r),new o({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(this,function(){t&&t(),this.dialog.hide()})}).placeAt(i),new o({iconClass:"dijitIconFolderOpen",label:"Open",onClick:dojo.hitch(this,function(){e&&e({trackConfs:this.trackList.getTrackConfigurations(),trackDisposition:this.trackDispositionChoice[0].checked?this.trackDispositionChoice[0].value:this.trackDispositionChoice[1].checked?this.trackDispositionChoice[1].value:void 0}),this.dialog.hide()})}).placeAt(i),{domNode:i}},show:function(e){var n=this.dialog=new l({title:"Open files",className:"fileDialog"}),o=this._makeLocalFilesControl(),a=this._makeRemoteURLsControl(),c=this._makeResourceListControl(),h=this._makeTrackListControl(),u=this._makeActionBar(e.openCallback,e.cancelCallback);dojo.connect(o.uploader,"onChange",function(){if(x.isElectron()){var e=[].concat(function(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}(o.uploader._files)).map(function(e){return x.replacePath(e.path)});c.addURLs(e)}else c.addLocalFiles(o.uploader._files)}),dojo.connect(a,"onChange",function(e){c.clearURLs(),c.addURLs(e)}),dojo.connect(c,"onChange",function(e){h.update(e)});var d=[s.create("div",{className:"intro",innerHTML:e.introMsg||"Add any combination of data files and URLs, and JBrowse will automatically suggest tracks to display their contents."}),function(e,i){var n=s.create("div",{className:"resourceControls"});return t.forEach(i,dojo.hitch(n,"appendChild")),n}(0,[o.domNode,a.domNode]),c.domNode,h.domNode,u.domNode];n.set("content",d),n.show(),i.after(n,"hide",dojo.hitch(this,function(){r.curNode&&r.curNode.blur(),setTimeout(function(){n.destroyRecursive()},500)}))},_makeLocalFilesControl:function(){var e=s.create("div",{className:"localFilesControl"});s.create("h3",{innerHTML:"Local files"},e);var t,i=s.create("div",{className:"dragArea"},e);return(t=new dojox.form.Uploader({multiple:!0})).placeAt(i),this.browserSupports.dnd&&(t.addDropTarget(this.dialog.domNode),s.create("div",{className:"dragMessage",innerHTML:"Select or drag files here."},i)),s.create("div",{className:"connector",innerHTML:"&nbsp;"},e),{domNode:e,uploader:t}},_makeRemoteURLsControl:function(){var e=s.create("div",{className:"remoteURLsControl"});s.create("h3",{innerHTML:"Remote URLs - <smaller>one per line</smaller>"},e);var t={domNode:e,onChange:function(e){}};t.input=s.create("textarea",{className:"urlInput",placeHolder:"http://paste.urls.here/example.bam",cols:25,rows:5,spellcheck:!1},e);var i="";return window.setTimeout(function e(){t.input.value.replace(/\s+/g,",")!=i&&(function(){var e=dojo.trim(t.input.value),i=e.length?e.split(/\s+/):[];t.onChange(i)}(),i=t.input.value.replace(/\s+/g,",")),window.setTimeout(e,900)},900),s.create("div",{className:"connector",innerHTML:"&nbsp;"},e),t},_makeResourceListControl:function(){return new k({dialog:this})},_makeTrackListControl:function(){var e=new _({browser:this.browser,fileDialog:this});return this.trackList=e,e}})}.apply(null,n))||(e.exports=r)},384:function(e,t,i){var n;void 0===(n=function(){var e=function(e){this.bytes=e.bytes,this.offset=e.offset||0,this.length=e.length||this.bytes.length,this._recordSeparator=(e.inputRecordSeparator||"\n").charCodeAt(0),this.returnPartialRecord=e.returnPartialRecord};return e.prototype.getOffset=function(){return this.offset},e.prototype.getline=function(){for(var e=this.bytes,t=this.offset,i=[];t<this.length;){var n,r,o=e[t];if(o<128){if(i.push(String.fromCharCode(o)),t++,o==this._recordSeparator)return this.offset=t,i.join("")}else o>191&&o<224?(n=e[t+1],i.push(String.fromCharCode((31&o)<<6|63&n)),t+=2):(n=e[t+1],r=e[t+2],i.push(String.fromCharCode((15&o)<<12|(63&n)<<6|63&r)),t+=3)}return this.offset=t,this.returnPartialRecord?i.join(""):null},{FromBytes:e}}.apply(null,[]))||(e.exports=n)},385:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(596),i(334),i(934),i(936),i(938)],void 0===(r=function(e,t,i,n,r,o,a,s){var l=e([a,s]);return e(null,{constructor:function(e,a){this.browser=e.browser;var s=t.map(e.locations||[],function(e){return{locstring:r.assembleLocString(e),location:e,label:e.label||e.objectName,description:e.description,score:e.score,tracks:t.map(t.filter(e.tracks||[],function(e){return e}),function(e){return e.key||e.name||e.label||e}).join(", ")}}),c=[];t.some(s,function(e){return e.label})&&c.unshift({label:"Name",field:"label"}),t.some(s,function(e){return e.description})&&c.unshift({label:"Description",field:"description"}),t.some(s,function(e){return e.score})&&c.unshift({label:"Score",field:"score"}),c.push({label:"Location",field:"locstring"}),s.length&&s[0].tracks&&c.push({label:"Track",field:"tracks"}),e.buttons&&c.push({label:"",className:"goButtonColumn",renderCell:function(r,o,a,s){var l=i.create("div");return t.forEach(e.buttons,function(e){var t=dojo.mixin({},e);t.onClick=function(){e.onClick(r.location,o,a,s)},new n(t).placeAt(l)}),l}}),this.grid=new l({columns:c,collection:new o({data:s})},a)}})}.apply(null,n))||(e.exports=r)},386:function(e,t,i){var n,r;n=[i(575),i(350)],void 0===(r=function(e,t){var i=0;return e(t,{namePrefix:"store-",constructor:function(e){this.refSeq=dojo.clone(e.refSeq),this.name=e.name||this.namePrefix+ ++i,this.changeCallback=e.changeCallback||function(){}},notifyChanged:function(e){this.changeCallback&&this.changeCallback(e)},_failAllDeferred:function(e){var t=this._deferred||{};for(var i in t)t.hasOwnProperty(i)&&t[i].reject(e)}})}.apply(null,n))||(e.exports=r)},387:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=i(1307).TwoBitFile,s=i(347);n=[i(575),i(337),i(336),i(339),i(338)],void 0===(r=function(e,t,i,n,r){return e([i,n],{constructor:function(e){var i=this,n=e.blob||new t(this.resolveUrl(e.urlTemplate||"data.2bit"),{expectRanges:!0});this.twoBit=new a({filehandle:new s(n)}),this.twoBit.getIndex().then(function(){i._deferred.features.resolve({success:!0})},this._failAllDeferred.bind(this))},hasRefSeq:function(e,t,i){this.twoBit.getSequenceSize(e).then(function(e){t(void 0!==e)},i)},getRefSeqs:function(e,t){this.twoBit.getSequenceSizes().then(function(e){return Object.entries(e).map(function(e){var t=o(e,2),i=t[0],n=t[1];return{name:i,length:n,end:n,start:0}})}).then(e,t)},_getFeatures:function(e,t,i,n){var o=e.start;o<0&&(o=0);var a=e.ref;this.browser.compareReferenceNames(this.refSeq.name,a)||(a=this.refSeq.name),this.twoBit.getSequence(a,o,e.end).then(function(n){void 0!==n&&t(new r({data:{seq_id:e.ref,start:o,end:e.end,seq:n}})),i()},n)},saveStore:function(){return{urlTemplate:(this.config.file||this.config.blob).url}}})}.apply(null,n))||(e.exports=r)},388:function(e,t,i){var n,r;n=[i(575),i(576),i(579),i(585),i(593),i(590)],void 0===(r=function(e,t,i,n,r,o){return e(null,{_makeTextFilterNodes:function(e){this.textFilterDiv=i.create("div",{className:"textfilter",style:{position:"relative",overflow:"hidden"}},e),this.textFilterInput=i.create("input",{type:"text",placeholder:"filter tracks",onkeypress:t.hitch(this,function(e){e.keyCode==r.ESCAPE&&(this.textFilterInput.value=""),this.textFilterTimeout&&window.clearTimeout(this.textFilterTimeout),this.textFilterTimeout=window.setTimeout(t.hitch(this,function(){this._updateTextFilterControl(),this._textFilter(this.textFilterInput.value)}),500),this._updateTextFilterControl(),e.stopPropagation()})},this.textFilterDiv),this.textFilterClearButton=i.create("div",{className:"jbrowseIconCancel",onclick:t.hitch(this,function(){this._clearTextFilterControl(),this._textFilter(this.textFilterInput.value)})},this.textFilterDiv)},_clearTextFilterControl:function(){this.textFilterInput.value="",this._updateTextFilterControl()},_updateTextFilterControl:function(){this.textFilterInput.value.length?n.remove(this.textFilterDiv,"dijitDisabled"):n.add(this.textFilterDiv,"dijitDisabled")},_textFilter:function(e){e&&/\S/.test(e)?(e=e.toLowerCase(),o(".tracklist-label",this.containerNode).forEach(function(t,i){-1!=t.innerHTML.toLowerCase().indexOf(e)?(n.remove(t,"collapsed"),n.add(t,"shown")):(n.add(t,"collapsed"),n.remove(t,"shown"))})):o(".tracklist-label",this.containerNode).removeClass("collapsed").addClass("shown")}})}.apply(null,n))||(e.exports=r)},389:function(e,t,i){var n,r;n=[i(575),i(576),i(587)],void 0===(r=function(e,t,i){return e(null,{_trackDetailsContent:function(){var e=this,n=new i,r=arguments;return this.store.getGlobalStats(function(t){n.resolve(e.inherited(r,[{"Stats (current reference sequence)":t}]))},t.hitch(n,"reject")),n}})}.apply(null,n))||(e.exports=r)},390:function(e,t,i){var n,r;n=[i(575),i(577),i(619)],void 0===(r=function(e,t,i){return e(null,{constructor:function(){this._initializeConfiguredFeatureFilters()},_initializeConfiguredFeatureFilters:function(){var e=this;return i(this._getNamedFeatureFilters()).then(function(t){for(var i in t)e.config[i]?e.addFeatureFilter(t[i].func,i):e.removeFeatureFilter(i)})},_toggleFeatureFilter:function(e,t){if(void 0===t&&(t=!this.config[e]),!!t!=!!this.config[e]){this.config[e]=t;var n=this;i(this._getNamedFeatureFilters(),function(i){t?n.addFeatureFilter(i[e].func,e):n.removeFeatureFilter(e),n.changed()})}},_getNamedFeatureFilters:function(){return{}},_makeFeatureFilterTrackMenuItems:function(e,n){var r=this;return i(n||this._getNamedFeatureFilters()).then(function(i){return t.map(e,function(e){return r._makeFeatureFilterTrackMenuItem(e,i[e])})})},_makeFeatureFilterTrackMenuItem:function(e,t){var i=this;return"SEPARATOR"==e?{type:"dijit/MenuSeparator"}:{label:t.desc,title:t.title,type:"dijit/CheckedMenuItem",checked:!!i.config[e],onClick:function(t){i._toggleFeatureFilter(e,this.checked)}}}})}.apply(null,n))||(e.exports=r)},391:function(e,t,i){var n,r;n=[i(334)],void 0===(r=function(e){var t=e.fastDeclare({constructor:function(e){this._categories={},e&&dojo.mixin(this._categories,e)},total:function(){var e=0;for(var t in this._categories){var i=this._categories[t];e+=i.total?i.total():i}return e},decrement:function(e,t){return t||(t=1),e=e?e.toString():"default",this._categories[e]?this._categories[e]=Math.max(0,this._categories[e]-t):0},increment:function(e,t){return t||(t=1),e=e?e.toString():"default",this._categories[e]=(this._categories[e]||0)+t},get:function(e){return this._categories[e]||0},getNested:function(e){if("string"==typeof e&&(e=e.split("/")),!e.length)return this;var i=e[0].toString(),n=this._categories[i];return n&&n._categories||(n=this._categories[i]=new t(n?{default:n+0}:{})),e.length>1?n.getNested(e.slice(1)):n},categories:function(){return e.dojof.keys(this._categories)},toString:function(){return this.total().toPrecision(6).toString().replace(/\.?0+$/,"")},valueOf:function(){return this.total()},forEach:function(e,t){var i=this._categories;if(t)for(var n in i)e.call(t,i[n],n);else for(var n in i)e(i[n],n)}});return t}.apply(null,n))||(e.exports=r)},392:function(e,t,i){var n,r;n=[i(575)],void 0===(r=function(e){return e(null,{defaultStarts:["ATG"],defaultStops:["TAA","TAG","TGA"],defaultCodonTable:{TCA:"S",TCC:"S",TCG:"S",TCT:"S",TTC:"F",TTT:"F",TTA:"L",TTG:"L",TAC:"Y",TAT:"Y",TAA:"*",TAG:"*",TGC:"C",TGT:"C",TGA:"*",TGG:"W",CTA:"L",CTC:"L",CTG:"L",CTT:"L",CCA:"P",CCC:"P",CCG:"P",CCT:"P",CAC:"H",CAT:"H",CAA:"Q",CAG:"Q",CGA:"R",CGC:"R",CGG:"R",CGT:"R",ATA:"I",ATC:"I",ATT:"I",ATG:"M",ACA:"T",ACC:"T",ACG:"T",ACT:"T",AAC:"N",AAT:"N",AAA:"K",AAG:"K",AGC:"S",AGT:"S",AGA:"R",AGG:"R",GTA:"V",GTC:"V",GTG:"V",GTT:"V",GCA:"A",GCC:"A",GCG:"A",GCT:"A",GAC:"D",GAT:"D",GAA:"E",GAG:"E",GGA:"G",GGC:"G",GGG:"G",GGT:"G"},generateCodonTable:function(e){var t={};for(var i in e)if(e.hasOwnProperty(i)){for(var n=e[i],r=[],o=0;o<3;o++){var a=i.charAt(o);r[o]=[],r[o][0]=a.toUpperCase(),r[o][1]=a.toLowerCase()}for(o=0;o<2;o++)for(var s=r[0][o],l=0;l<2;l++)for(var c=r[1][l],h=0;h<2;h++)t[s+c+r[2][h]]=n}return t}})}.apply(null,n))||(e.exports=r)},393:function(e,t,i){var n,r;n=[i(575),i(576)],void 0===(r=function(e,t){return e(null,{getFeatureLabel:function(e){return this._getFeatureDescriptiveThing("label","name,id",e)},getFeatureDescription:function(e){return this._getFeatureDescriptiveThing("description","note,description",e)},_getFeatureDescriptiveThing:function(e,i,n){var r=this.config.style[e]||this.config[e];if(!r)return null;if("function"==typeof r)return r.call(this,n);this.descriptionFields||(this.descriptionFields={});for(var o=this.descriptionFields[e]||function(){var n=r;return n?(t.isArray(n)?n=n.join(","):"string"!=typeof n&&(console.warn("invalid `description` setting ("+n+') for "'+(this.name||this.track.name)+'" track, falling back to "note,description"'),n=i),n=n.toLowerCase().split(/\s*\,\s*/)):n=[],this.descriptionFields[e]=n,n}.call(this),a=0;a<o.length;a++){var s=n.get(o[a]);if(s)return s}return null}})}.apply(null,n))||(e.exports=r)},394:function(e,t,i){var n,r,o=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),a=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.rowNumber=t,this.padding=1,this.sizeLimit=1e6}return o(e,[{key:"log",value:function(e){console.log("r"+this.rowNumber+": "+e)}},{key:"setAllFilled",value:function(e){this.allFilled=e}},{key:"getItemAt",value:function(e){if(this.allFilled)return this.allFilled;if(void 0!==this.min&&!(e<this.min||e>=this.max)){var t=e-this.offset;return this.bits[t]}}},{key:"isRangeClear",value:function(e,t){if(this.allFilled)return!1;if(void 0===this.min)return!0;if(t<=this.min||e>=this.max)return!0;for(var i=Math.min(this.max,t),n=Math.max(this.min,e);n<t&&n<i;n+=1)if(this.getItemAt(n))return!1;return!0}},{key:"initialize",value:function(e,t){var i=t-e;this.offset=e-i,this.min=e,this.max=t,this.bits=new Array(t-e+2*i)}},{key:"addRect",value:function(e,t){var i=e.l,n=e.r+this.padding;if(void 0===this.min)this.initialize(i,n);else{var r=this.bits.length;if(n-this.offset>=this.bits.length){var o=n-this.offset-this.bits.length+1+this.bits.length;this.bits.length+o>this.sizeLimit?(console.warn("Layout width limit exceeded, discarding old layout. Please be more careful about discarding unused blocks."),this.initialize(i,n)):o>0&&(this.bits=this.bits.concat(new Array(o)))}if(i<this.offset){var a=this.offset-i+r;this.bits.length+a>this.sizeLimit?(console.warn("Layout width limit exceeded, discarding old layout. Please be more careful about discarding unused blocks."),this.initialize(i,n)):(this.bits=new Array(a).concat(this.bits),this.offset-=a)}}var s=i-this.offset,l=n-this.offset;l-s>2e4&&console.warn("Layout X pitch set too low, feature spans "+(l-s)+" bits in a single row.",e,t);for(var c=s;c<l;c+=1)this.bits[c]=t;i<this.min&&(this.min=i),n>this.max&&(this.max=n)}},{key:"discardRange",value:function(e,t){if(!this.allFilled&&this.bits&&!(t<=this.min||e>=this.max)){if(e<=this.min&&t>=this.max)return this.min=void 0,this.max=void 0,this.bits=void 0,void(this.offset=void 0);if(t>this.min&&e<=this.min&&(this.min=t),e<this.max&&t>=this.max&&(this.max=e),this.offset<this.min-1e4&&this.bits.length>this.max+1e4-this.offset){var i=this.min-this.offset,n=this.bits.length-1-(this.max-this.offset);this.bits=this.bits.slice(i,this.bits.length-n),this.offset+=i}else if(this.offset<this.min-1e4){var r=this.min-Math.floor(5e3)-this.offset;this.bits.splice(0,r),this.offset+=r}else if(this.bits.length>this.max-this.offset+1e4){var o=this.max-this.offset+1+Math.floor(5e3);this.bits.length=o}for(var a=Math.max(this.min,e)-this.offset,s=Math.min(t,this.max)-this.offset,l=a;l>=0&&l<s;l+=1)this.bits[l]=void 0}}}]),e}();n=[i(575)],void 0===(r=function(e){return e(null,{constructor:function(e){this.pitchX=e.pitchX||10,this.pitchY=e.pitchY||10,this.displayMode=e.displayMode,"compact"===this.displayMode&&(this.pitchY=Math.round(this.pitchY/4)||1,this.pitchX=Math.round(this.pitchX/4)||1),this.bitmap=[],this.rectangles={},this.maxHeight=Math.ceil((e.maxHeight||1/0)/this.pitchY),this.pTotalHeight=0},addRect:function(e,t,i,n,r){if(e in this.rectangles){var o=this.rectangles[e];return null===o.top?null:(this._addRectToBitmap(o,r),o.top*this.pitchY)}var a=Math.floor(t/this.pitchX),s=Math.floor(i/this.pitchX),l=Math.ceil(n/this.pitchY),c={id:e,l:a,r:s,mX:Math.floor((a+s)/2),h:l};r&&(c.data=r);for(var h=this.maxHeight-l,u=0;u<=h&&this._collides(c,u);u+=1);return u>h?(c.top=u=null,this.rectangles[e]=c,this.pTotalHeight=Math.max(this.pTotalHeight||0,u+l),null):(c.top=u,this._addRectToBitmap(c,r),this.rectangles[e]=c,this.pTotalHeight=Math.max(this.pTotalHeight||0,u+l),u*this.pitchY)},_collides:function(e,t){if("collapsed"===this.displayMode)return!1;for(var i=this.bitmap,n=t+e.h,r=t;r<n;r+=1){var o=i[r];if(o&&!o.isRangeClear(e.l,e.r))return!0}return!1},_autovivifyRow:function(e,t){var i=e[t];return i||(i=new a(t),e[t]=i),i},_addRectToBitmap:function(e,t){if(null!==e.top){t=t||!0;var i=this.bitmap,n=this._autovivifyRow,r=e.top+e.h;if(e.r-e.l>2e4)for(var o=e.top;o<r;o+=1)n(i,o).setAllFilled(t);else for(var a=e.top;a<r;a+=1)n(i,a).addRect(e,t)}},discardRange:function(e,t){for(var i=Math.floor(e/this.pitchX),n=Math.floor(t/this.pitchX),r=this.bitmap,o=0;o<r.length;o+=1){var a=r[o];a&&a.discardRange(i,n)}},hasSeen:function(e){return!!this.rectangles[e]},getByCoord:function(e,t){var i=Math.floor(t/this.pitchY),n=this.bitmap[i];if(n){var r=Math.floor(e/this.pitchX);return n.getItemAt(r)}},getByID:function(e){var t=this.rectangles[e];if(t)return t.data||!0},cleanup:function(){},getTotalHeight:function(){return this.pTotalHeight*this.pitchY}})}.apply(null,n))||(e.exports=r)},395:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(576),i(579),i(634),i(334),i(360),i(390),i(391)],void 0===(r=function(e,t,i,n,r,a,s,l,c){return e([s,l],{defaultFeatureDetail:function(e,t,i,r){return r=r||n.create("div",{className:"detail feature-detail feature-detail-"+e.name,innerHTML:""}),this._renderCoreDetails(e,t,i,r),this._renderAdditionalTagsDetail(e,t,i,r),this._renderGenotypes(r,e,t,i),r},renderDetailValue:function(e,t,i,n,r){return"alternative_alleles"==t&&(i=i.join(",")),this.inherited(arguments,[e,t,i,n,r])},_isReservedTag:function(e){return this.inherited(arguments)||{genotypes:1}[e.toLowerCase()]},_renderGenotypes:function(e,t,i){var r=this,o=i.get("genotypes");if(o){var s=a.dojof.keys(o).sort(),l=s.length;if(l){var c=(i.get("alternative_alleles")||{}).values,h=n.create("div",{className:"genotypes",innerHTML:'<h2 class="sectiontitle">Genotypes ('+l+")</h2>"},e);t.browser.getStore("refseqs",function(e){e?e.getReferenceSequence({ref:t.refSeq.name,start:i.get("start"),end:i.get("end")},u,function(){u()}):u()})}}function u(e){r._renderGenotypeSummary(h,o,c);var t=n.create("div",{className:"value_container genotypes"},h);r.renderDetailValueGrid(t,"Genotypes",i,function(){if(!s.length)return null;var t=s.shift(),i=o[t],n={id:t};for(var a in i)n[a]="GT"===a?r._mungeGenotypeVal(i[a].values,c,e):o[t][a];return n},{descriptions:function(){if(!s.length)return{};var e=o[s[0]],t={};for(var n in e)t[n]=i.parser.getMetadata("FORMAT",n,"Description")||null;return t}(),renderCell:{GT:function(e,t,n,o){r.renderDetailValue(n,"",t,i,"")}}})}},_mungeGenotypeVal:function(e,i,n){var r=void 0,o=((r=null==e?".":e[0]).match(/[\|\/]/g)||[])[0],a=n?"ref ("+n+")":"ref";return t.map(o?r.split(o):r,function(e){return"."==(e=parseInt(e)||e)?"no-call":0==e?a:i?i[e-1]:e}).join(" "+o+" ")},_renderGenotypeSummary:function(e,r,a){if(r){var s=new c;for(var l in r)if(r.hasOwnProperty(l)){var h=(r[l].GT||{}).values;null==h&&(h=["."]);var u=h[0].split(/\||\//);i.isArray(u)&&(t.every(u,function(e){return 0==parseInt(e)})?s.getNested("non-variant").increment("homozygous for reference"):t.every(u,function(e){return"."==e})?s.getNested("non-variant").increment("no call"):t.every(u,function(e){return e==u[0]})?a?s.getNested("variant/homozygous").increment(a[parseInt(u[0])-1]+" variant"):s.getNested("variant").increment("homozygous"):s.getNested("variant").increment("heterozygous"))}var d=s.total();if(d){var f=n.create("div",{className:"value_container big genotype_summary"},e),g=n.create("table",{},f);!function e(t,i){t.forEach(function(t,r){var a=n.create("tr",{},g);if(n.create("td",{className:"category level_"+i,innerHTML:r},a),"object"==(void 0===t?"undefined":o(t))){var s=t.total();n.create("td",{className:"count level_"+i,innerHTML:s},a),n.create("td",{className:"pct level_"+i,innerHTML:Math.round(s/d*1e4)/100+"%"},a),e(t,i+1)}else n.create("td",{className:"count level_"+i,innerHTML:t},a),n.create("td",{className:"pct level_"+i,innerHTML:Math.round(t/d*1e4)/100+"%"},a)})}(s,0);var p=n.create("tr",{},g);n.create("td",{className:"category total",innerHTML:"Total"},p),n.create("td",{className:"count total",innerHTML:d},p),n.create("td",{className:"pct total",innerHTML:"100%"},p)}}},_getNamedFeatureFilters:function(){var e=this;return r([this.store.getParser().then(function(e){return e.getMetadata()}),this.inherited(arguments)]).then(function(t){return t[0]?e._makeVCFFilters.apply(e,t):t[1]})},_makeVCFFilters:function(e,n){function r(e){return function(t){return!(t=t.get("filter"))||e(t)}}var o=i.mixin({},n,{hideFilterPass:{desc:"Hide sites passing all filters",func:r(function(e){try{return"PASS"!=e.values.join("").toUpperCase()}catch(t){return"PASS"!=e.toUpperCase()}})},hideNotFilterPass:{desc:"Hide sites not passing all filters",func:r(function(e){try{return"PASS"==e.values.join("").toUpperCase()}catch(t){return"PASS"!=e.toUpperCase()}})}});if(e.FILTER)for(var a in e.FILTER)o[a]=function(e,i){return{desc:'Hide sites not passing filter "'+e+'"',title:e+": "+i.description,func:r(function(i){var n=i.values||i;return!n[0]||!t.some(n,function(t){return t==e})})}}.call(this,a,e.FILTER[a]);return o},_variantsFilterTrackMenuOptions:function(){var e=this;return this._getNamedFeatureFilters().then(function(t){var i=["hideFilterPass","hideNotFilterPass","SEPARATOR"],n=a.uniq(i.concat(a.dojof.keys(t)));return n.length>i.length?i=n:i.pop(),e._makeFeatureFilterTrackMenuItems(i,t)})}})}.apply(null,n))||(e.exports=r)},396:function(e,t,i){var n,r;n=[i(575),i(576),i(363)],void 0===(r=function(e,t,i){return e(i,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{unprocessedTranscriptColor:"red"}})},renderBox:function(e,i,n,r,o,a,s){return s=s||t.hitch(this,"getStyle"),this.inherited(arguments,[e,i,n,r,o,a,function(e,t){return"color"==t?s(a,"unprocessedTranscriptColor"):s(e,t)}])}})}.apply(null,n))||(e.exports=r)},397:function(e,t,i){var n,r;n=[i(575),i(577),i(873),i(338),i(363)],void 0===(r=function(e,t,i,n,r){return e(r,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{utrColor:function(e,t,i,n){return i._utrColor(i.getStyle(e.parent(),"color")).toString()},utrHeightPercent:65},subParts:"CDS, UTR, five_prime_UTR, three_prime_UTR",impliedUTRs:!1,inferCdsParts:!1,subSubParts:function(){return!0}})},_getSubparts:function(e){var t=e.children();if(!t)return[];t&&this.config.inferCdsParts&&(t=this._makeCDSs(e,t)),t&&this.config.impliedUTRs&&(t=this._makeUTRs(e,t));for(var i=[],n=0;n<t.length;n++)this._filterSubpart(t[n])&&i.push(t[n]);return i},_makeCDSs:function(e,t){var i,r,o=1/0,a=-1/0,s=[],l=[];for(i=0;i<t.length;i++)if(r=t[i].get("type"),/^cds/i.test(r)){if(/:CDS:/i.test(t[i].get("name")))return t;s.push(i),o>t[i].get("start")&&(o=t[i].get("start")),a<t[i].get("end")&&(a=t[i].get("end"))}else/exon/i.test(r)&&l.push(t[i]);for(s.sort(function(e,t){return t-e}),i=s.length-1;i>=0;i--)t.splice(s[i],1);if(!(l.length&&o<1/0&&a>-1/0))return t;l.sort(function(e,t){return e.get("start")-t.get("start")});var c=e.get("strand"),h=1/0,u=-1/0;for(i=0;i<l.length;i++){var d=l[i].get("start"),f=l[i].get("end");o>=d&&a<=f?(h=o,u=a):o>=d&&o<f?(h=o,u=f):a>d&&a<=f?(h=d,u=a):d<a&&f>o&&(h=d,u=f),t.splice(i,0,new n({parent:e,data:{start:h,end:u,strand:c,type:"CDS",name:e.get("uniqueID")+":CDS:"+i}}))}return t.sort(function(e,t){return e.get("start")-t.get("start")}),t},_makeUTRs:function(e,t){var i,r,o,a,s=1/0,l=-1/0,c=[];for(i=0;i<t.length;i++)a=t[i].get("type"),/^cds/i.test(a)?(s>t[i].get("start")&&(s=t[i].get("start")),l<t[i].get("end")&&(l=t[i].get("end"))):/exon/i.test(a)?c.push(t[i]):this._isUTR(t[i])&&(r=t[i].get("start")==e.get("start"),o=t[i].get("end")==e.get("end"));if(!(c.length&&s<1/0&&l>-1/0))return t;c.sort(function(e,t){return e.get("start")-t.get("start")});var h,u,d=e.get("strand");if(!r)for(i=0;i<c.length&&!((h=c[i].get("start"))>=s);i++)u=s>c[i].get("end")?c[i].get("end"):s,t.unshift(new n({parent:e,data:{start:h,end:u,strand:d,type:d>=0?"five_prime_UTR":"three_prime_UTR"}}));if(!o)for(i=c.length-1;i>=0&&!((u=c[i].get("end"))<=l);i--)h=l<c[i].get("start")?c[i].get("start"):l,t.push(new n({parent:e,data:{start:h,end:u,strand:d,type:d>=0?"three_prime_UTR":"five_prime_UTR"}}));return t},_utrColor:function(e){return(this._palette||(this._palette=i.generate(e,"splitComplementary"))).colors[1]},_isUTR:function(e){return/(\bUTR|_UTR|untranslated[_\s]region)\b/.test(e.get("type")||"")},getStyle:function(e,t){return"color"==t&&this._isUTR(e)?this.getStyle(e,"utrColor"):this.inherited(arguments)},_getFeatureHeight:function(e,t){var i=this.inherited(arguments);return this._isUTR(t)?i*this.getStyle(t,"utrHeightPercent")/100:i}})}.apply(null,n))||(e.exports=r)},398:function(e,t,i){var n,r;n=[i(575),i(577),i(355),i(377),i(374)],void 0===(r=function(e,t,i,n,r){return e([i,r],{constructor:function(){this.config.style.showMismatches||(this._drawMismatches=function(){})},_defaultConfig:function(){return this._mergeConfigs(dojo.clone(this.inherited(arguments)),{style:{color:n.colorAlignment,color_fwd_strand_not_proper:"#ECC8C8",color_rev_strand_not_proper:"#BEBED8",color_fwd_strand:"#EC8B8B",color_rev_strand:"#8F8FD8",color_fwd_missing_mate:"#D11919",color_rev_missing_mate:"#1919D1",color_fwd_diff_chr:"#000000",color_rev_diff_chr:"#969696",color_pair_lr:"grey",color_pair_rr:"navy",color_pair_rl:"teal",color_pair_ll:"green",color_nostrand:"#999999",color_interchrom:"orange",color_longinsert:"red",color_shortinsert:"pink",border_color:null,strandArrow:!1,height:7,marginBottom:1,showMismatches:!0,mismatchFont:"bold 10px Courier New,monospace",orientationType:"fr"}})},renderFeature:function(e,t){this.inherited(arguments),t.w>2&&(t.viewInfo.scale>.2?this._drawMismatches(e,t,this._getMismatches(t.f)):this._drawMismatches(e,t,this._getSkipsAndDeletions(t.f)))},_drawMismatches:function(e,i,n,r){var o=r||i.f,a=i.viewInfo.block,s=(a.scale,this.getCharacterMeasurements(e));e.textBaseline="middle",t.forEach(n,function(t){var n=o.get("start")+t.start,r=n+t.length,l={h:(i.rect||{}).h||i.h,l:a.bpToX(n),t:i.rect.t};l.w=Math.max(a.bpToX(r)-l.l,1),"mismatch"==t.type||"deletion"==t.type?(e.fillStyle=this.track.colorForBase("deletion"==t.type?"deletion":t.base),e.fillRect(l.l,l.t,l.w,l.h),l.w>=s.w&&l.h>=s.h-3&&(e.font=this.config.style.mismatchFont,e.fillStyle="deletion"==t.type?"white":"black",e.fillText(t.base,l.l+(l.w-s.w)/2+1,l.t+l.h/2))):"insertion"==t.type?(e.fillStyle="purple",e.fillRect(l.l-1,l.t+1,2,l.h-2),e.fillRect(l.l-2,l.t,4,1),e.fillRect(l.l-2,l.t+l.h-1,4,1),l.w>=s.w&&l.h>=s.h-3&&(e.font=this.config.style.mismatchFont,e.fillText("("+t.base+")",l.l+2,l.t+l.h/2))):"hardclip"==t.type||"softclip"==t.type?(e.fillStyle="hardclip"==t.type?"red":"blue",e.fillRect(l.l-1,l.t+1,2,l.h-2),e.fillRect(l.l-2,l.t,4,1),e.fillRect(l.l-2,l.t+l.h-1,4,1),l.w>=s.w&&l.h>=s.h-3&&(e.font=this.config.style.mismatchFont,e.fillText("("+t.base+")",l.l+2,l.t+l.h/2))):"skip"==t.type&&(e.clearRect(l.l,l.t,l.w,l.h),e.fillStyle="#333",e.fillRect(l.l,l.t+(l.h-2)/2,l.w,2))},this),e.textBaseline="alphabetic"},getCharacterMeasurements:function(e){return this.charSize=this.charSize||function(){var e;try{e=(this.config.style.mismatchFont.match(/(\d+)px/i)||[])[1]}catch(e){}return{w:e=e||1/0,h:e}}.call(this)}})}.apply(null,n))||(e.exports=r)},399:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function a(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}n=[i(334)],void 0===(r=function(e){return e.fastDeclare({constructor:function(e){this.variant=e.variant,this.parser=e.parser,this._id=e.id,this.data=this.dataFromVariant(this.variant)},get:function(e){return this._get(e)||this._get(e.toLowerCase())},_get:function(e){return e in this.data?this.data[e]:function(e){return this.data[e]=this["_parse_"+e]?this["_parse_"+e]():void 0}.call(this,e)},parent:function(){return null},children:function(){return null},tags:function(){var e=[],t=this.data;for(var i in t)t.hasOwnProperty(i)&&e.push(i);return t.genotypes||e.push("genotypes"),e},id:function(){return this._id},_parse_genotypes:function(){var e=this,t=this.variant;return delete this.variant,Object.keys(t.SAMPLES).length?(this.data.genotypes={},Object.keys(t.SAMPLES).forEach(function(i){e.data.genotypes[i]={},Object.keys(t.SAMPLES[i]).forEach(function(n){e.data.genotypes[i][n]={values:t.SAMPLES[i][n]}})}),this.data.genotypes):(this.data.genotypes=null,null)},dataFromVariant:function(e){var t=e.REF,i=e.ALT,n=e.POS-1,r=e.INFO.END?Number(e.INFO.END[0]):n+t.length,a=this._getSOTermAndDescription(t,i),s=o(a,2),l=s[0],c=s[1],h={start:n,end:r,seq_id:e.CHROM,description:c,type:l,reference_allele:t};return e.ID&&(h.name=e.ID[0],e.ID>1&&(h.aliases=e.ID.slice(1).join(","))),e.QUAL&&(h.score=e.QUAL),e.FILTER&&(h.filter={meta:{description:"List of filters that this site has not passed, or PASS if it has passed all filters",filters:this.parser.getMetadata("FILTER")},values:"PASS"===e.FILTER?["PASS"]:e.FILTER}),i&&(h.alternative_alleles={meta:{description:"VCF ALT field, list of alternate non-reference alleles called on at least one of the samples"},values:i}),e.INFO&&this._parseInfoField(h,e.INFO),h},_parseInfoField:function(e,t){for(var i in t)if(t.hasOwnProperty(i)){var n=t[i]={values:t[i]},r=this.parser.getMetadata("INFO",i);r&&(n.meta=r),e[i]=n}},_getSOTermAndDescription:function(e,t){var i=this;if(!t||t===[])return["remark","no alternative alleles"];var n=new Set,r=new Set;if(t.forEach(function(t){var a=i._getSOAndDescFromAltDefs(e,t),s=o(a,2),l=s[0],c=s[1];if(!l){var h=i._getSOAndDescByExamination(e,t),u=o(h,2);l=u[0],c=u[1]}l&&(n.add(l),r.add(c))}),r.size>1){var s=new Set;[].concat(a(r)).forEach(function(e){var t=e.match(/(\w+? \w+? -> )(?:<)\w+(?:>)/);t&&t[1]?s.add(t[1]):s.add(e)});var l=[];[].concat(a(s)).forEach(function(e){var t=[];[].concat(a(r)).forEach(function(i){i.startsWith(e)&&t.push(i.slice(e.length))}),l.push(e+t.join(","))}),r=l}return n.size?[[].concat(a(n)).join(","),[].concat(a(r)).join(",")]:[null,null]},_altTypeToSO:{DEL:"deletion",INS:"insertion",DUP:"copy_number_gain",INV:"inversion",CNV:"copy_number_variation","DUP:TANDEM":"copy_number_gain",NON_REF:"sequence_variant","*":"sequence_variant"},_getSOAndDescFromAltDefs:function(e,t){if("<"!=t[0])return[null,null];t=t.replace(/^<|>$/g,"");var i=this._altTypeToSO[t];return!i&&this.parser.getMetadata("ALT",t)&&(i="sequence_variant"),i?[i,this.parser.getMetadata("ALT",t,"Description")?t+" - "+this.parser.getMetadata("ALT",t,"Description"):this._makeDescriptionString(i,e,t)]:(t=t.split(":")).length>1?this._getSOAndDescFromAltDefs(e,"<"+t.slice(0,t.length-1).join(":")+">"):[null,null]},_getSOAndDescByExamination:function(e,t){return 1==e.length&&1==t.length?["SNV",this._makeDescriptionString("SNV",e,t)]:e.length==t.length?e.split("").reverse().join("")==t?["inversion",this._makeDescriptionString("inversion",e,t)]:["substitution",this._makeDescriptionString("substitution",e,t)]:e.length<=t.length?["insertion",this._makeDescriptionString("insertion",e,t)]:e.length>t.length?["deletion",this._makeDescriptionString("deletion",e,t)]:["indel",this._makeDescriptionString("indel",e,t)]},_makeDescriptionString:function(e,t,i){return e+" "+t+" -> "+i}})}.apply(null,n))||(e.exports=r)},400:function(e,t,i){var n,r;n=[i(334),i(401),i(690)],void 0===(r=function(e,t,i){var n=function(e,t){this.urlTemplate=e.urlTemplate,this.chunkSize=e.chunkSize,this.length=e.length,this.baseUrl=void 0===t?"":t,this.chunks=[],this.toProcess={}};return n.prototype.index=function(e,t,i){this.range(e,e,t,void 0,i)},n.prototype.range=function(i,n,r,o,a){i=Math.max(0,i),n=Math.min(n,this.length-1);var s=Math.floor(i/this.chunkSize),l=Math.floor(n/this.chunkSize);void 0===o&&(o=function(){});for(var c=new t(o),h=s;h<=l;h++)if(this.chunks[h])this._processChunk(i,n,h,r,a);else{var u={start:i,end:n,callback:r,param:a,finish:c};if(c.inc(),this.toProcess[h])this.toProcess[h].push(u);else{this.toProcess[h]=[u];var d=this.urlTemplate.replace(/\{Chunk\}/gi,h);dojo.xhrGet({url:this.baseUrl?e.resolveUrl(this.baseUrl,d):d,handleAs:"json",load:this._makeLoadFun(h),error:function(){c.dec()}})}}c.finish()},n.prototype._makeLoadFun=function(e){var t=this;return function(i){t.chunks[e]=i;var n=t.toProcess[e];delete t.toProcess[e];for(var r=0;r<n.length;r++)t._processChunk(n[r].start,n[r].end,e,n[r].callback,n[r].param),n[r].finish.dec()}},n.prototype._processChunk=function(e,t,i,n,r){var o=i*this.chunkSize,a=e-o,s=t-o;a=Math.max(0,a),s=Math.min(s,this.chunkSize-1);for(var l=a;l<=s;l++)n(l+o,this.chunks[i][l],r)},n}.apply(null,n))||(e.exports=r)},401:function(e,t,i){var n,r;n=[i(575)],void 0===(r=function(e){return e(null,{constructor:function(e){this.fun=e,this.count=0,this.finished=!1},inc:function(){this.count++},dec:function(){this.count--,this.finish()},finish:function(){this.count<=0&&!this.finished&&(this.fun(),this.finished=!0)}})}.apply(null,n))||(e.exports=r)},402:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}return a(e,[{key:"id",value:function(){return Math.min(this.read1.id(),this.read2.id())}},{key:"get",value:function(e){return this._get(e.toLowerCase())}},{key:"_get",value:function(e){return"start"===e?Math.min(this.read1._get("start"),this.read2._get("start")):"end"===e?Math.max(this.read1._get("end"),this.read2._get("end")):"name"===e?this.read1._get("name"):"pair_orientation"===e?this.read1._get("pair_orientation"):"template_length"===e?this.read1._get("template_length"):"is_paired"===e||"paired_feature"===e||void 0}},{key:"pairedFeature",value:function(){return!0}},{key:"children",value:function(){}}]),e}();function l(e){return e._get("multi_segment_template")&&!e._get("multi_segment_next_segment_unmapped")&&e._get("seq_id")===e._get("next_seq_id")&&(e._get("multi_segment_first")||e._get("multi_segment_last"))&&!(e._get("secondary_alignment")||e._get("supplementary_alignment"))}n=[i(575),i(334)],void 0===(r=function(e,t){return e(null,{constructor:function(e){this.featureCache={}},pairFeatures:function(e,i,n,r){for(var a={},c=0;c<i.length;c++){var h=void 0;if(l(i[c])&&Math.abs(i[c]._get("template_length"))<e.maxInsertSize){var u=i[c]._get("name");(h=a[u])?(i[c]._get("multi_segment_first")?h.read1=i[c]:i[c]._get("multi_segment_last")?h.read2=i[c]:console.log("unable to pair read",i[c]),h.read1&&h.read2&&(delete a[u],this.featureCache[u]=h)):(h=new s,i[c]._get("multi_segment_first")?h.read1=i[c]:i[c]._get("multi_segment_last")?h.read2=i[c]:console.log("unable to pair read",i[c]),a[u]=h)}else if(t.intersect(i[c]._get("start"),i[c]._get("end"),e.start,e.end)){var d=i[c];n(d)}}Object.entries(this.featureCache).forEach(function(i){var r=o(i,2),a=(r[0],r[1]);t.intersect(a._get("start"),a._get("end"),e.start,e.end)&&n(a)}),Object.entries(a).forEach(function(i){var r=o(i,2),a=(r[0],r[1]);a.read1?t.intersect(a.read1._get("start"),a.read1._get("end"),e.start,e.end)&&n(a.read1):a.read2&&t.intersect(a.read2._get("start"),a.read2._get("end"),e.start,e.end)&&n(a.read2)})},cleanFeatureCache:function(e){var i=this;Object.entries(this.featureCache).forEach(function(n){var r=o(n,2),a=r[0],s=r[1];t.intersect(s._get("start"),s._get("end"),e.start,e.end)||delete i.featureCache[a]})}})}.apply(null,n))||(e.exports=r)},403:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),s=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.start=Math.min(t._get("start"),t._get("next_pos")),this.end=Math.max(t._get("end"),t._get("next_pos")),this.feat=t}return a(e,[{key:"id",value:function(){return this.feat.id()}},{key:"get",value:function(e){return this._get(e.toLowerCase())}},{key:"_get",value:function(e){return"start"===e?this.start:"end"===e?this.end:this.feat.get(e)}},{key:"pairedFeature",value:function(){return!0}},{key:"children",value:function(){}}]),e}();function l(e){return e._get("multi_segment_template")&&!e._get("multi_segment_next_segment_unmapped")&&(e._get("multi_segment_first")||e._get("multi_segment_last"))&&!(e._get("secondary_alignment")||e._get("supplementary_alignment"))}n=[i(575),i(334)],void 0===(r=function(e,t){return e(null,{constructor:function(e){this.featureCache={}},pairFeatures:function(e,i,n,r){for(var a=0;a<i.length;a++)if(l(i[a])){var c=i[a]._get("name");this.featureCache[c]||(this.featureCache[c]=new s(i[a]))}else if(t.intersect(i[a]._get("start"),i[a]._get("end"),e.start,e.end)){var h=i[a];n(h)}Object.entries(this.featureCache).forEach(function(i){var r=o(i,2),a=(r[0],r[1]);t.intersect(a._get("start"),a._get("end"),e.start,e.end)&&n(a)})},cleanFeatureCache:function(e){var i=this;Object.entries(this.featureCache).forEach(function(n){var r=o(n,2),a=r[0],s=r[1];t.intersect(s._get("start"),s._get("end"),e.start,e.end)||delete i.featureCache[a]})}})}.apply(null,n))||(e.exports=r)},404:function(e,t,i){var n,r;n=[i(575),i(334)],void 0===(r=function(e,t){return e(null,{constructor:function(e){this.featureCache={},this.insertStatsCacheMin=e.insertStatsCacheMin||400,this.insertStatsMaxSize=e.insertStatsMaxSize||5e4,this.insertStatsMinSize=e.insertStatsMinSize||100},cleanStatsCache:function(){this.featureCache={}},insertFeat:function(e){this.featureCache[e.id()]=Math.abs(e.get("template_length"))},getInsertSizeStats:function(){var e=this;if(Object.keys(this.featureCache).length>this.insertStatsCacheMin){var t=Object.values(this.featureCache).map(function(e){return Math.abs(e)}),i=t.reduce(function(e,t){return t>e?t:e}),n=t.reduce(function(e,t){return t<e?t:e}),r=t.filter(function(t){return t<e.insertStatsMaxSize&&t>e.insertStatsMinSize}),o=r.reduce(function(e,t){return e+t},0),a=r.map(function(e){return e*e}).reduce(function(e,t){return e+t},0),s=r.length,l=o/s,c=Math.sqrt((s*a-o*o)/(s*s));return{min:n,max:i,upper:l+3*c,lower:l-3*c}}return{upper:1/0,lower:0,min:0,max:1/0}}})}.apply(null,n))||(e.exports=r)},405:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(352),i(483)],void 0===(r=function(e,t,i,n,r){return e(null,{constructor:function(e,t,i,r,o){var a=this;if(this.bwg=e,this.autoSql=o,!(t>=0))throw"invalid cirTreeOffset!";if(!(i>0))throw"invalid cirTreeLength!";this.cirTreeOffset=t,this.cirTreeLength=i,this.isSummary=r,this.featureCache=new n({name:"feature cache",fillCallback:function(e,t){a.readWigDataById.apply(a,function(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}(e).concat([t,function(e){console.error(e)}]))},sizeFunction:function e(t){if(!t)return 0;var i=t.length;return t.forEach(function(t){i+=e(t.children())}),i},maxSize:5e5})},BED_COLOR_REGEXP:/^[0-9]+,[0-9]+,[0-9]+/,readWigData:function(e,t,i,n,r){var o=this.bwg.refsByName[e];o?this.readWigDataByIdWithCache(o.id,t,i,n,r):n([])},readWigDataByIdWithCache:function(e,t,i,n,r){this.featureCache.get([e,t,i],function(e,t){t?r(t):n(e)})},readWigDataById:function(e,n,o,a,s){if(this.cirHeader)new r(this,e,n,o,a,s).cirFobRecur([this.cirTreeOffset+48],1);else{var l=t.hitch(this,"readWigDataById",e,n,o,a,s);this.cirHeaderLoading?this.cirHeaderLoading.push(l):(this.cirHeaderLoading=[l],this.bwg.data.read(this.cirTreeOffset,48,t.hitch(this,function(e){this.cirHeader=e,this.cirBlockSize=this.bwg.newDataView(e,4,4).getUint32(),i.forEach(this.cirHeaderLoading,function(e){e()}),delete this.cirHeaderLoading}),s))}}})}.apply(null,n))||(e.exports=r)},406:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(384)],void 0===(r=function(e,t,i,n){var r="seq_id start end name score strand".split(" ");return e(null,{constructor:function(e){i.mixin(this,{featureCallback:e.featureCallback||function(){},endCallback:e.endCallback||function(){},commentCallback:e.commentCallback||function(){},errorCallback:e.errorCallback||function(e){console.error(e)},store:e.store,eof:!1})},parseHeader:function(e){for(var t,i={},r=new n.FromBytes({bytes:e});t=r.getline();)if("#"==t[0]){var o=(this.config.parseHeader||function(){})(t);i[o.key]=o.value}return this.header=i,i},finish:function(){this.endCallback()},addLine:function(e){var t;if(this.eof);else if(/^\s*[^#\s>]/.test(e)){e=e.replace(/\r?\n?$/g,"");var i=this.parse_feature(e);this.featureCallback(this._return_item([i]))}else if(t=/^\s*(\#+)(.*)/.exec(e)){t[1];var n=t[2];n=n.replace(/\s*/,""),this._return_item({comment:n})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e))throw"GFF3 parse error. Cannot parse '"+(e=e.replace(/\r?\n?$/g,""))+"'.";this._return_all_under_construction_features(),this.eof=!0}},unescape:function(e){return null===e?null:e.replace(/%([0-9A-Fa-f]{2})/g,function(e,t){return String.fromCharCode(parseInt(t,16))})},parse_feature:function(e){var i=t.map(e.split("\t"),function(e){return"."==e?null:e});i[0]=this.unescape(i[0]);for(var n={},o=0;o<r.length;o++)i[o]&&(n[r[o]]="."==i[o]?null:i[o]);return null!==n.start&&(n.start=parseInt(n.start,10)),null!==n.end&&(n.end=parseInt(n.end,10)),null!=n.score&&(n.score=parseFloat(n.score,10)),n.strand={"+":1,"-":-1}[n.strand]||0,n},_return_item:function(e){e[0]?this.featureCallback(e):e.comment&&this.commentCallback(e,this.store)}})}.apply(null,n))||(e.exports=r)},407:function(e,t,i){var n,r;n=[i(575),i(577),i(1845),i(679),i(351),i(334)],void 0===(r=function(e,t,i,n,r,o){return e(null,{constructor:function(e){var t=/\/$/.test(e.url)?e.url:e.url+"/";this.bucketStore=new i({target:t}),this.meta={},this.browser=e.browser,this.ready=this._readMeta()},_readMeta:function(){var e=this;return this.bucketStore.get("meta.json").then(function(t){dojo.mixin(e.meta,t||{}),e.meta.hash_hex_characters=Math.ceil(e.meta.hash_bits/4)})},query:function(e,t){return this.get((e.name||"").toString()).then(function(e){return n((e||{}).exact||[])})},get:function(e){return this._getBucket(e).then(function(t){return t[e]})},_getBucket:function(e){var t=this;return this.ready.then(function(){var i=t._hash(e);return t.bucketStore.get(t._hexToDirPath(i)).then(function(e){return e},function(e){if(o.isElectron()||404==e.status)return{}})})},_hexToDirPath:function(e){for(;e.length<8;)e="0"+e;e=e.substr(8-this.meta.hash_hex_characters);for(var t=[],i=0;i<e.length;i+=3)t.push(e.substring(i,i+3));return t.join("/")+".json"+(this.meta.compress?"z":"")},_hash:function(e){return r.objectFingerprint(e).toString(16).toLowerCase().replace("-","n")},getIdentity:function(e){return e.id}})}.apply(null,n))||(e.exports=r)},408:function(e,t,i){var n,r;n=[i(334)],void 0===(r=function(e){return e.fastDeclare({constructor:function(e,t){arguments.length>=2?(this.block=e,this.offset=t):this._fromBytes(e)},_fromBytes:function(e,t){var i=1099511627776*e[t=t||0]+4294967296*e[t+1]+16777216*e[t+2]+65536*e[t+3]+256*e[t+4]+e[t+5],n=e[t+6]<<8|e[t+7];0==i&&0==n?this.block=this.offset=null:(this.block=i,this.offset=n)},toString:function(){return this.block+":"+this.offset},compareTo:function(e){return this.block-e.block||this.offset-e.offset},cmp:function(e){return this.compareTo(e)}})}.apply(null,n))||(e.exports=r)},409:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(691),i(677),i(334),i(351)],void 0===(r=function(e,t,i,n,r,o,a){var s=o.dojof;return e("JBrowse.ConfigAdaptor.JB_json_v1",null,{constructor:function(){},load:function(e){var t=this;if(e.config.url){var i=o.resolveUrl(e.baseUrl||window.location.href,e.config.url);return r(i+(e.config.cacheBuster?"?v="+Math.random():""),{handleAs:"text",headers:{"X-Requested-With":null}}).then(function(n){return(n=t.parse_conf(n,e)||{}).sourceUrl=i,t.regularize_conf(n,e)})}if(e.config.data)return o.resolved(this.regularize_conf(e.config.data,e))},parse_conf:function(e,t){try{return n.fromJson(e)}catch(e){throw e+" when parsing "+(t.config.url||"configuration")+"."}},regularize_conf:function(e,n){if(e.tracks&&!t.isArray(e.tracks))if(e.tracks.label)e.tracks=[e.tracks];else{var r=[];for(var a in e.tracks)"label"in e.tracks[a]||(e.tracks[a].label=a),r.push(e.tracks[a]);e.tracks=r}var l=e.trackMetadata;if(l&&l.sources){if((l.sources.url||"string"==typeof l.sources)&&(l.sources=[l.sources]),!t.isArray(l.sources)){var c=[];for(var h in l.sources)"name"in l.sources||(l.sources[h].name=h),c.push(l.sources[h]);l.sources=c}i.forEach(l.sources,function(e,t){if("string"==typeof e){l.sources[t]={url:e};var i=e.match(/\.(\w+)$/);i&&(l.sources[t].type=i[1].toLowerCase())}})}if(e.sourceUrl=e.sourceUrl||n.config.url,e.baseUrl=e.baseUrl||o.resolveUrl(e.sourceUrl,"."),e.baseUrl.length&&!/\/$/.test(e.baseUrl)&&(e.baseUrl+="/"),e.sourceUrl){var u=[].concat(e.tracks||[]).concat(s.values(e.stores||{}));e.names&&u.push(e.names),i.forEach(u,function(t){t.baseUrl||(t.baseUrl=e.baseUrl||"/")},this),e.refSeqs&&"string"==typeof e.refSeqs&&(e.refSeqs=o.resolveUrl(e.sourceUrl,e.refSeqs)),e.nameUrl&&(e.nameUrl=o.resolveUrl(e.sourceUrl,e.nameUrl))}return e=this.regularizeTrackConfigs(e)},regularizeTrackConfigs:function(e){return e.stores=e.stores||{},i.forEach(e.tracks||[],function(t){if(t.config){var i=t.config;for(var n in delete t.config,i)n in t||!i.hasOwnProperty(n)||(t[n]=i[n])}if(!t.store){var r=this._regularizeClass("JBrowse/View/Track",{FeatureTrack:"JBrowse/View/Track/HTMLFeatures",ImageTrack:"JBrowse/View/Track/FixedImage","ImageTrack.Wiggle":"JBrowse/View/Track/FixedImage/Wiggle",SequenceTrack:"JBrowse/View/Track/Sequence"}[t.type]||t.type);t.type=r,this._synthesizeTrackStoreConfig(e,t),t.histograms&&(t.histograms.baseUrl||(t.histograms.baseUrl=t.baseUrl),this._synthesizeTrackStoreConfig(e,t.histograms))}},this),e},_synthesizeTrackStoreConfig:function(e,i){var n=i.urlTemplate,r=this._regularizeClass("JBrowse/Store",i.storeClass?i.storeClass:/\/FixedImage/.test(i.type)?"JBrowse/Store/TiledImage/Fixed"+(0==i.backendVersion?"_v0":""):/\.jsonz?$/i.test(n)?"JBrowse/Store/SeqFeature/NCList"+(0==i.backendVersion?"_v0":""):/\.bam$/i.test(n)?"JBrowse/Store/SeqFeature/BAM":/\.cram$/i.test(n)?"JBrowse/Store/SeqFeature/CRAM":/\.gff3?$/i.test(n)?"JBrowse/Store/SeqFeature/GFF3":/\.bed$/i.test(n)?"JBrowse/Store/SeqFeature/BED":/\.vcf.gz$/i.test(n)?"JBrowse/Store/SeqFeature/VCFTabix":/\.gff3?.gz$/i.test(n)?"JBrowse/Store/SeqFeature/GFF3Tabix":/\.bed.gz$/i.test(n)?"JBrowse/Store/SeqFeature/BEDTabix":/\.(bw|bigwig)$/i.test(n)?"JBrowse/Store/SeqFeature/BigWig":/\.(bb|bigbed)$/i.test(n)?"JBrowse/Store/SeqFeature/BigBed":/\.(fa|fasta)$/i.test(n)?"JBrowse/Store/SeqFeature/IndexedFasta":/\.(fa|fasta)\.gz$/i.test(n)?"JBrowse/Store/SeqFeature/BgzipIndexedFasta":/\.2bit$/i.test(n)?"JBrowse/Store/SeqFeature/TwoBit":/\/Sequence$/.test(i.type)?"JBrowse/Store/Sequence/StaticChunked":null);if(r){var o=t.mixin({},i);t.mixin(o,{type:r}),"JBrowse/Store/Sequence/StaticChunked"!=r&&"JBrowse/Store/Sequence/IndexedFasta"!=r&&"JBrowse/Store/SeqFeature/IndexedFasta"!=r&&"JBrowse/Store/SeqFeature/BgzipIndexedFasta"!=r&&"JBrowse/Store/SeqFeature/TwoBit"!=r&&"JBrowse/Store/Sequence/TwoBit"!=r&&!i.useAsRefSeqStore||e.stores.refseqs?o.name="store"+a.objectFingerprint(o):o.name="refseqs",e.stores[o.name]=o,i.store=o.name}else console.warn("Unable to determine an appropriate data store to use with track '"+i.label+"', please explicitly specify a storeClass in the configuration.")},_regularizeClass:function(e,t){return t?(/\//.test(t)||(t=e+"/"+t),t=t.replace(/^\//)):null}})}.apply(null,n))||(e.exports=r)},410:function(e,t,i){var n,r;n=[i(575),i(576),i(579),i(363),i(411)],void 0===(r=function(e,t,i,n,r){return e([n,r],{renderFeature:function(e,t){"collapsed"!=this.track.displayMode&&e.clearRect(Math.floor(t.l),t.t,Math.ceil(t.w),t.h),this.renderSegments(e,t),this.renderIntrons(e,t),this.renderLabel(e,t),this.renderDescription(e,t),this.renderArrowhead(e,t)},renderIntrons:function(e,t){var i=this._getSubparts(t.f);if(!(i.length<=1)){i.sort(function(e,t){return e.get("start")-t.get("start")});for(var n=t.viewInfo,r=0;r<i.length-1;++r)if(i[r+1].get("start")-i[r].get("end")>2){var o=n.block.bpToX(i[r].get("start")),a=n.block.bpToX(i[r].get("end"))-o,s=n.block.bpToX(i[r+1].get("start")),l=(n.block.bpToX(i[r+1].get("end")),t.t),c=t.rect.h,h=this._getFeatureHeight(n,i[r]);if(!h)return;h!=c&&(l+=Math.round((c-h)/2));var u=h/2,d=o+a,f=s-d,g=f/2;e.beginPath(),e.moveTo(d,l+u),e.lineTo(d+g,l+1),e.lineTo(d+f,l+u),e.lineWidth=1,e.strokeStyle="#202020",e.lineCap="square",e.stroke()}}}})}.apply(null,n))||(e.exports=r)},411:function(e,t,i){var n,r;function o(e,t){var i=Math.max(0,parseInt(e,10));return t?Math.floor(255*Math.min(100,i)/100):Math.min(255,i)}function a(e){var t,i="";return(t=/^rgba\(\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*\)$/.exec(e))&&(i="#"+(16777216+(o(t[1],t[2])<<16)+(o(t[3],t[4])<<8)+o(t[5],t[6])).toString(16).slice(1)),i}n=[i(575),i(576),i(579),i(355)],void 0===(r=function(e,t,i,n){return e(n,{renderBox:function(e,i,n,r,s,l,c){var h=i.block.bpToX(n.get("start")),u=i.block.bpToX(n.get("end"))-h;c=c||t.hitch(this,"getStyle");var d=this._getFeatureHeight(i,n);if(d){d!=s&&(r+=Math.round((s-d)/2));var f=c(n,"color");f=function(e){return e.indexOf("#")>-1?e:e.indexOf("rgba")>-1?function(e){if(e.indexOf("rgba")>-1)return a(e);var t,i="";return(t=/^rgb\(\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*,\s*(-?\d+)(%?)\s*\)$/.exec(e))&&(i="#"+(16777216+(o(t[1],t[2])<<16)+(o(t[3],t[4])<<8)+o(t[5],t[6])).toString(16).slice(1)),i}(e):e.indexOf("rgb")>-1?a(e):function(e){var t={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};return void 0!==t[e.toLowerCase()]?t[e.toLowerCase()]:"#000000"}(e)}(f);var g,p,b=n.get("type");if(void 0!==b&&b.indexOf("UTR")>-1)e.fillStyle="#fdfdfd";else if(this.config.gradient){f=this.colorShift(f,0);var m=e.createLinearGradient(h,r,h,r+d);m.addColorStop(0,f),m.addColorStop(.5,this.colorShift(f,2.5)),m.addColorStop(.999,f),e.fillStyle=m}else e.fillStyle=f;f?e.fillRect(h,r,Math.max(1,u),d):e.clearRect(h,r,Math.max(1,u),d),void 0!==b&&b.indexOf("UTR")>-1?(p=1,g="#b0b0b0",u>3&&(e.lineWidth=p,e.strokeStyle=f,e.strokeRect(h+p/2,r+p/2,u-p,d-p))):(g=c(n,"borderColor"))&&(p=c(n,"borderWidth"))&&(u>3?(e.lineWidth=p,e.strokeStyle=g,e.strokeRect(h+p/2,r+p/2,u-p,d-p)):(e.globalAlpha=2*p/u,e.fillStyle=g,e.fillRect(h,r,Math.max(1,u),d),e.globalAlpha=1))}},colorShift:function(e,t){if("#"!==e.substring(0,1)||7!==e.length)return e;var i=e.substring(1,3),n=e.substring(3,5),r=e.substring(5,7),o=parseInt(i,16),a=parseInt(n,16),s=parseInt(r,16);return o+=Math.round(o*t),a+=Math.round(a*t),s+=Math.round(s*t),o=Math.min(255,o),a=Math.min(255,a),s=Math.min(255,s),"#"+(i=this.zeroPad(o))+(n=this.zeroPad(a))+this.zeroPad(s)},zeroPad:function(e){var t="00"+e.toString(16);return t.substr(t.length-2)}})}.apply(null,n))||(e.exports=r)},412:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(371),i(489)],void 0===(r=function(e,t,i,n,r){return e(n,{constructor:function(e){this.labels=e.config.urlTemplates.map(function(e){return i.isObject(e)?e:{name:e}}),e.config.randomizeColors&&t.forEach(this.labels,function(e){e.color="#"+("000000"+Math.random().toString(16).slice(2,8).toUpperCase()).slice(-6)},this)},_calculatePixelScores:function(e,i,n){var r=new Array(e);return t.forEach(i,function(e,t){for(var i=n[t],o=i.r,a=e.get("score"),s=0;s<this.labels.length&&this.labels[s].name!==e.get("source");s++);for(var l=Math.round(i.l);l<o;l++)r[l]||(r[l]=new Array(this.labels.length)),r[l][s]||(r[l][s]={score:a,feat:e})},this),r},_trackMenuOptions:function(){var e=this.inherited(arguments),t=this;return e.push({label:"Autoscale global",onClick:function(){t.config.autoscale="global",t.browser.publish("/jbrowse/v1/v/tracks/replace",[t.config])}}),e.push({label:"Autoscale local",onClick:function(){t.config.autoscale="local",delete t.config.max_score,t.browser.publish("/jbrowse/v1/v/tracks/replace",[t.config])}}),e.push({label:"Set max score for global",onClick:function(){new r({setCallback:function(e){t.config.max_score=e,t.config.autoscale="global",t.browser.publish("/jbrowse/v1/c/tracks/replace",[t.config])},maxScore:t.config.max_score||0}).show()}}),e},_trackDetailsContent:function(){var e=this.inherited(arguments),i="";return this.config.colorizeAbout&&t.forEach(this.labels,function(e){i+='<div style="display: block; clear:both;"><div class="colorsquare" style="background: '+e.color+'"></div>'+e.name},this),e.then(function(e){return e.innerHTML+=i,e})}})}.apply(null,n))||(e.exports=r)},413:function(e,t,i){var n,r;n=[i(575),i(577),i(336),i(334),i(375)],void 0===(r=function(e,t,i,n,r){return e(i,{constructor:function(e){this.store=e.store,this.windowSize=e.windowSize,this.windowDelta=e.windowDelta,this.gcMode=e.gcMode},getGlobalStats:function(e){e({})},getFeatures:function(e,t,i,n){var o=1===this.windowSize?1:this.windowSize/2,a=1===this.windowSize;e.start=Math.max(0,e.start-o)-1,e.end=Math.min(e.end+o,this.browser.refSeq.length);var s=this;e.end<0||e.start>e.end?i():this.store.getReferenceSequence(e,function(n){for(var l=o;l<n.length-o;l+=s.windowDelta){for(var c=a?n[l]:n.slice(l-o,l+o),h=0,u=0,d=0,f=0;f<c.length;f++)"c"===c[f]||"C"===c[f]?h++:"g"!==c[f]&&"G"!==c[f]||u++,"N"!=c[f]&&d++;var g,p=e.start;if("content"===s.gcMode?g=(u+h)/d:"skew"===s.gcMode&&(g=(u-h)/(u+h)),"N"!=c[Math.floor(c.length/2)]){var b=new r({start:p+l,end:p+l+s.windowDelta,score:g});t(b)}}i()},i,n)}})}.apply(null,n))||(e.exports=r)},414:function(e,t,i){var n,r;n=[i(575),i(579),i(580),i(606),i(776),i(709),i(596),i(346)],void 0===(r=function(e,t,i,n,r,o,a,s){return e(s,{title:"Set GC Track options",constructor:function(e){this.windowSize=e.windowSize||100,this.windowDelta=e.windowDelta||10,this.gcMode=e.gcMode||"content",this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){}},_fillActionBar:function(e){new a({label:"OK",onClick:dojo.hitch(this,function(){var e=+this.windowSizeSpinner.getValue(),t=+this.windowDeltaSpinner.getValue(),i=this.gcModeSelect.getValue();isNaN(e)||isNaN(t)||(this.setCallback&&this.setCallback(e,t,i),this.hide())})}).placeAt(e),new a({label:"Cancel",onClick:dojo.hitch(this,function(){this.cancelCallback&&this.cancelCallback(),this.hide()})}).placeAt(e)},show:function(){dojo.addClass(this.domNode,"windowSizeDialog"),this.windowSizeSpinner=new r({value:this.windowSize,smallDelta:10}),this.windowDeltaSpinner=new r({value:this.windowDelta,smallDelta:10}),this.gcModeSelect=new o({name:"gc_mode_select",options:[{label:"GC Content",value:"content",selected:!0},{label:"GC Skew",value:"skew"}],value:this.gcMode}),this.set("content",[t.create("p",{innerHTML:"Set parameters for the GC-content calculation using sliding window size and delta"}),t.create("label",{for:"window_size",innerHTML:"Window size (bp)",style:{display:"inline-block",width:"100px"}}),this.windowSizeSpinner.domNode,t.create("br"),t.create("label",{for:"window_delta",innerHTML:"Window delta (bp)",style:{display:"inline-block",width:"100px"}}),this.windowDeltaSpinner.domNode,t.create("br"),t.create("label",{for:"gc_mode_select",innerHTML:"GC Calculation Mode",style:{display:"inline-block",width:"100px"}}),this.gcModeSelect.domNode,t.create("br")]),this.inherited(arguments)},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},415:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(677),i(334)],void 0===(r=function(e,t,i){return e("JBrowse.Store.LazyTrie",null,{constructor:function(e,i){var n=this;this.rootURL=e,this.chunkTempl=i;var r=this;t(e,{handleAs:"json"}).then(function(e){e?(r.root=e,r.extra=e[0],r.deferred&&(r.deferred.callee.apply(r,r.deferred),delete r.deferred)):console.log("failed to load trie")},function(e){console.log("No name store configuration found and requesting the default root.json not found. Likely you have not run generate-names.pl yet. This is not essential for running JBrowse but will remove this message if it is run"),n.error=e})},chunkUrl:function(e){var t=this.chunkTempl.replace("{Chunk}",e);return i.resolveUrl(this.rootURL,t)},pathToPrefix:function(e){var t=this.root,i="";e:for(var n=0;n<e.length;n++){switch(o(t[e[n]][0])){case"string":i+=t[e[n]][0];break;case"number":i+=t[e[n]][1];break e}t=t[e[n]]}return i},valuesFromPrefix:function(e,t){var i=this;this.findNode(e,function(e,n){t(i.valuesFromNode(n))},function(){t([])})},mappingsFromPrefix:function(e,t){var i=this;this.findNode(e,function(e,n){t(i.mappingsFromNode(e,n))},function(){t([])})},mappingsFromNode:function(e,t){var i=[];null!==t[1]&&i.push([e,t[1]]);for(var n=2;n<t.length;n++)"string"==typeof t[n][0]&&(i=i.concat(this.mappingsFromNode(e+t[n][0],t[n])));return i},valuesFromNode:function(e){var t=[];null!==e[1]&&t.push(e[1]);for(var i=2;i<e.length;i++)t=t.concat(this.valuesFromNode(e[i]));return t},exactMatch:function(e,t,i){i=i||function(){},this.error?i():this.findNode(e,function(i,n){i.toLowerCase()==e.toLowerCase()&&n[1]&&t(n[1])},i)},findNode:function(e,t,i){if(i=i||function(){},this.error)i();else{var n=this;this.findPath(e,function(e){for(var i=n.root,r=0;r<e.length;r++)i=i[e[r]];var o=n.pathToPrefix(e);t(o,i)},i)}},findPath:function(e,t,i){var n=this;if(this.error)i();else if(i=i||function(){},this.root){e=e.toLowerCase();for(var r,o=this.root,a=0,s=[];;){if((r=this.binarySearch(o,e.charAt(a)))<0)return void i();if(s.push(r),"number"==typeof o[r][0]){var l=this;return void dojo.xhrGet({url:this.chunkUrl(this.pathToPrefix(s)),handleAs:"json",load:function(i){o[r]=i,l.findPath(e,t)},error:function(e){n.error=e}})}if(o=o[r],e.substr(a,o[0].length)!=o[0].substr(0,Math.min(o[0].length,e.length-a)))return void i();if((a+=o[0].length)>=e.length)return void t(s)}}else i()},binarySearch:function(e,t){for(var i,n,r=2,a=e.length-1;r<=a;){switch(o(e[i=r+a>>>1][0])){case"string":n=e[i][0].charAt(0);break;case"number":n=e[i][1].charAt(0)}if(n<t)r=i+1;else{if(!(n>t))return i;a=i-1}}return-(r+1)}})}.apply(null,n))||(e.exports=r)},416:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(334),i(345)],void 0===(r=function(e,t,i,n){return e(null,{constructor:function(e){if(!e.namesTrie)throw"must provide a namesTrie argument";this.namesTrie=e.namesTrie,this.resultLimit=e.resultLimit||15,this.tooManyMatchesMessage=e.tooManyMatchesMessage||"(too many matches to display)";var t=this.stopPrefixes={};if(e.stopPrefixes){var i="string"==typeof e.stopPrefixes?[e.stopPrefixes]:e.stopPrefixes;dojo.forEach(i,function(e){for(;e.length;)t[e]=!0,e=e.substr(0,e.length-1)})}this.nodeText=function(e){return"number"==typeof e[1][0][0]?this.nodeText=function(e){return e[0]}:this.nodeText=function(e){return e[1][0][0]},this.nodeText(e)}},getFeatures:function(){return{"dojo.data.api.Read":!0,"dojo.data.api.Identity":!0}},fetch:function(e){e.start;var i=Math.min(this.resultLimit,Math.max(0,e.count||1/0)),r=e.scope||dojo.global,o=!1;e.abort=function(){var t=e.abort||function(){};return function(){o=!0,t.call(r,e)}}.call(this),e.store||(e.store=this),e.onBegin&&e.onBegin.call(r,0,e);var a=(e.query.name||"").toString().replace(/\*$/,"");return this.stopPrefixes[a]?e.onComplete&&e.onComplete.call(r,[],e):this.namesTrie.mappingsFromPrefix(a,dojo.hitch(this,function(a){var s=[];if(!o){var l=a[0]&&a[0][1]&&a[0][1][0]&&"string"==typeof a[0][1][0][0];dojo.some(a,function(e){if(i--){var r=this.nodeText(e);t.forEach(e[1],function(e){var t=new n({ref:e[l?3:2],start:parseInt(e[l?4:3]),end:parseInt(e[l?5:4]),tracks:[this.namesTrie.extra[e[l?1:0]]],objectName:r});s.push({name:r,location:t})},this)}return i<0},this),i<0&&s.push({name:this.tooManyMatchesMessage,hitLimit:!0}),e.sort&&s.sort(dojo.data.util.sorter.createSortFunction(e.sort,this)),!o&&e.onItem&&dojo.forEach(s,function(t){o||e.onItem.call(r,t,e)}),!o&&e.onComplete&&e.onComplete.call(r,s,e)}})),e},getValue:function(e,t,i){var n=e[t];return void 0===n?i:n},getValues:function(e,t){var i=[e[t]];return void 0===i[0]?[]:i},getAttributes:function(e){return i.dojof.keys(e)},hasAttribute:function(e,t){return e.hasOwnProperty(t)},containsValue:function(e,t,i){return e[t]==i},isItem:function(e){return"object"==(void 0===e?"undefined":o(e))&&"string"==typeof e.label},isItemLoaded:function(){return!0},loadItem:function(e){},close:function(){},getLabel:function(e){return this.getValue(e,"name",void 0)},getLabelAttributes:function(e){return["name"]},getIdentity:function(e){return this.getLabel(e)}})}.apply(null,n))||(e.exports=r)},417:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(579),i(334),i(341),i(822),i(772),i(606),i(350),i(366),i(418),i(422),i(423),i(424),i(425),i(357)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h,u,d,f,g,p,b){var m=n.dojof,v=e(a.constrainedMoveable,{constructor:function(e,t){this.constraints=function(){var e=this.node.parentNode,t=dojo.marginBox(e);return t.t=0,t}}});return e([c,h],{constructor:function(e){var t=e.browser,i=e.elem,n=e.stripeWidth,r=e.refSeq,o=e.zoomLevel;this.desiredTracks={},this.browser=t,this.setFeatureFilterParentComponent(this.browser),this.focusTrack=null,this.elem=i,this.posHeight=this.calculatePositionLabelHeight(i),this.topSpace=1.5*this.posHeight,void 0!==t.config.trackLabels&&"no-block"===t.config.trackLabels&&(this.config.trackPadding=35,this.topSpace=3*this.posHeight),this.maxPxPerBp=this.config.maxPxPerBp,this.ref=r,this.pxPerBp=o,this.stripeWidth=n,this.scrollContainer=dojo.create("div",{id:"container",style:{position:"absolute",left:"0px",top:"0px"}},i),this._renderVerticalScrollBar(),this.zoomContainer=document.createElement("div"),this.zoomContainer.id="zoomContainer",this.zoomContainer.style.cssText="position: absolute; left: 0px; top: 0px; height: 100%;",this.scrollContainer.appendChild(this.zoomContainer),this.outerTrackContainer=document.createElement("div"),this.outerTrackContainer.className="trackContainer outerTrackContainer",this.outerTrackContainer.style.cssText="height: 100%;",this.zoomContainer.appendChild(this.outerTrackContainer),this.trackContainer=document.createElement("div"),this.trackContainer.className="trackContainer innerTrackContainer draggable",this.trackContainer.style.cssText="height: 100%;",this.outerTrackContainer.appendChild(this.trackContainer),this.regularStripe=n,this.overview=this.browser.overviewDiv,this.overviewBox=dojo.marginBox(this.overview),this.tracks=[],this.uiTracks=[],this.trackIndices={},this.sizeInit(),this.offset=0,this.maxLeft=this.bpToPx(this.ref.end+1)-this.getWidth(),this.minLeft=this.bpToPx(this.ref.start),this.drawMargin=.2,this.slideTimeMultiple=.8,this.trackHeights=[],this.trackTops=[],this.waitElems=dojo.filter([dojo.byId("moveLeft"),dojo.byId("moveRight"),dojo.byId("zoomIn"),dojo.byId("zoomOut"),dojo.byId("bigZoomIn"),dojo.byId("bigZoomOut"),document.body,i],function(e){return e}),this.prevCursors=[],this.locationThumb=document.createElement("div"),this.locationThumb.className="locationThumb",this.overview.appendChild(this.locationThumb),this.locationThumbMover=new v(this.locationThumb,{area:"content",within:!0}),this.x=this.elem.scrollLeft,this.y=0;var a=document.createElement("div");a.className="track static_track rubberBandAvailable",a.style.height=this.posHeight+"px",a.id="static_track",this.scaleTrackDiv=a,this.staticTrack=new u({label:"static_track",labelClass:"pos-label",posHeight:this.posHeight,browser:this.browser,refSeq:this.ref}),this.staticTrack.setViewInfo(this,function(e){},this.stripeCount,this.scaleTrackDiv,this.stripePercent,this.stripeWidth,this.pxPerBp,this.config.trackPadding),this.zoomContainer.appendChild(this.scaleTrackDiv),this.waitElems.push(this.scaleTrackDiv);var l=document.createElement("div");l.className="track",l.style.cssText="top: 0px; height: 100%;",l.id="gridtrack";var c=new d({browser:this.browser,refSeq:this.ref});c.setViewInfo(this,function(e){},this.stripeCount,l,this.stripePercent,this.stripeWidth,this.pxPerBp,this.config.trackPadding),this.trackContainer.appendChild(l),this.uiTracks=[this.staticTrack,c],this.trackDndWidget=new s(this.trackContainer,{accept:["track"],withHandles:!0,creator:dojo.hitch(this,function(e,t){return{data:e,type:["track"],node:"avatar"==t?dojo.create("div",{innerHTML:e.key||e.label,className:"track-label dragging"}):this.renderTrack(e)}})}),this.browser.subscribe("/dnd/drop",dojo.hitch(this,function(e,t,i,n){if(this.updateTrackList(),n.node===this.trackContainer){var r=dojo.filter(dojo.map(t,function(e){return e.track&&e.track.config}),function(e){return e});this.browser.publish("/jbrowse/v1/v/tracks/show",r)}})),this.browser.subscribe("/jbrowse/v1/c/tracks/show",dojo.hitch(this,"showTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/hide",dojo.hitch(this,"hideTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/replace",dojo.hitch(this,"replaceTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/delete",dojo.hitch(this,"hideTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/pin",dojo.hitch(this,"pinTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/unpin",dojo.hitch(this,"unpinTracks")),dojo.forEach(this.uiTracks,function(e){e.showRange(0,this.stripeCount-1,Math.round(this.pxToBp(this.offset)),Math.round(this.stripeWidth/this.pxPerBp),this.pxPerBp)},this),this.addOverviewTrack(new u({label:"overview_loc_track",labelClass:"overview-pos",posHeight:this.overviewPosHeight,browser:this.browser,refSeq:this.ref})),this.showFine(),this.showCoarse(),this.behaviorManager=new f({context:this,behaviors:this._behaviors()}),this.behaviorManager.initialize()},_defaultConfig:function(){return{maxPxPerBp:20,trackPadding:20}},visibleRegion:function(){return{ref:this.ref.name,start:this.minVisible(),end:this.maxVisible()}},visibleRegionLocString:function(){return n.assembleLocString(this.visibleRegion())},_renderVerticalScrollBar:function(){var e=dojo.create("div",{className:"vertical_scrollbar",style:{position:"absolute",right:"0px",bottom:"0px",height:"100%",width:"10px",zIndex:1e3}},this.browser.container),t=dojo.create("div",{className:"vertical_position_marker",style:{position:"absolute",height:"100%"}},e);this.verticalScrollBar={container:e,positionMarker:t,width:e.offsetWidth}},_updateVerticalScrollBar:function(e){if("number"==typeof e.height){var t=this.staticTrack?-this.staticTrack.div.offsetHeight:0,i=e.height+t;this.verticalScrollBar.container.style.height=i-(this.pinUnderlay?this.pinUnderlay.offsetHeight+t:0)+"px";var n=e.height/(this.containerHeight||1)*100;this.verticalScrollBar.positionMarker.style.height=n>.5?n+"%":"1px",e.height/(this.containerHeight||1)>.98?(this.verticalScrollBar.container.style.display="none",this.verticalScrollBar.visible=!1):(this.verticalScrollBar.container.style.display="block",this.verticalScrollBar.visible=!0)}"number"!=typeof e.y&&"number"!=typeof e.height||(this.verticalScrollBar.positionMarker.style.top=((e.y||this.getY()||0)/(this.containerHeight||1)*100||0)+"%")},verticalScrollBarVisibleWidth:function(){return this.verticalScrollBar.visible&&this.verticalScrollBar.width||0},visibleTracks:function(){return this.tracks},visibleTrackNames:function(){return dojo.map(this.visibleTracks(),function(e){return e.name})},keySlideX:function(e){this.setX(this.getX()+e);var t=this;this._keySlideTimeout||(this._keySlideTimeout=window.setTimeout(function(){t.afterSlide(),delete t._keySlideTimeout},300))},_behaviors:function(){return{always:{apply_on_init:!0,apply:function(){var e=[];e.push(dojo.connect(this.overview,"mousedown",dojo.hitch(this,"startRubberZoom",dojo.hitch(this,"overview_absXtoBp"),this.overview,this.overview)));var t="onwheel"in document.createElement("div")?"wheel":void 0!==document.onmousewheel?"mousewheel":"DOMMouseScroll";return e.push(dojo.connect(this.scrollContainer,t,this,"wheelScroll",!1),dojo.connect(this.verticalScrollBar.container,"onclick",this,"scrollBarClickScroll",!1),dojo.connect(this.scaleTrackDiv,"mousedown",dojo.hitch(this,"startRubberZoom",dojo.hitch(this,"absXtoBp"),this.scrollContainer,this.scaleTrackDiv)),dojo.connect(this.outerTrackContainer,"dblclick",this,"doubleClickZoom"),dojo.connect(this.locationThumbMover,"onMoveStop",this,"thumbMoved"),dojo.connect(this.overview,"onclick",this,"overviewClicked"),dojo.connect(this.scaleTrackDiv,"onclick",this,"scaleClicked"),dojo.connect(this.scaleTrackDiv,"mouseover",this,"scaleMouseOver"),dojo.connect(this.scaleTrackDiv,"mouseout",this,"scaleMouseOut"),dojo.connect(this.scaleTrackDiv,"mousemove",this,"scaleMouseMove"),dojo.connect(document.body,"onkeyup",this,function(e){e.keyCode==dojo.keys.SHIFT&&this.behaviorManager.swapBehaviors("shiftMouse","normalMouse")}),dojo.connect(document.body,"onkeydown",this,function(e){e.keyCode==dojo.keys.SHIFT&&this.behaviorManager.swapBehaviors("normalMouse","shiftMouse")}),dojo.connect(document.body,"onkeypress",this,function(e){if(!l.curNode)if(e.keyCode==dojo.keys.LEFT_ARROW||e.keyCode==dojo.keys.RIGHT_ARROW){var t=e.keyCode==dojo.keys.LEFT_ARROW?-40:40;e.shiftKey&&(t*=5),this.keySlideX(t)}else e.keyCode!=dojo.keys.DOWN_ARROW&&e.keyCode!=dojo.keys.UP_ARROW||(e.shiftKey?this[e.keyCode==dojo.keys.UP_ARROW?"zoomIn":"zoomOut"](e,.5,e.altKey?2:1):(t=e.keyCode==dojo.keys.UP_ARROW?-40:40,this.setY(this.getY()+t)))}),dojo.connect(this.scrollContainer,"onclick",this,function(e){l.curNode&&l.curNode.blur()})),e}},normalMouse:{apply_on_init:!0,apply:function(){return[dojo.connect(this.outerTrackContainer,"mousedown",this,"startMouseDragScroll"),dojo.connect(this.verticalScrollBar.container,"mousedown",this,"startVerticalMouseDragScroll")]}},highlightingMouse:{apply:function(){return dojo.removeClass(this.trackContainer,"draggable"),dojo.addClass(this.trackContainer,"highlightingAvailable"),[dojo.connect(this.outerTrackContainer,"mousedown",dojo.hitch(this,"startMouseHighlight",dojo.hitch(this,"absXtoBp"),this.scrollContainer,this.scaleTrackDiv)),dojo.connect(this.outerTrackContainer,"mouseover",this,"maybeDrawVerticalPositionLine"),dojo.connect(this.outerTrackContainer,"mousemove",this,"maybeDrawVerticalPositionLine")]},remove:function(e,t){dojo.forEach(t,dojo.disconnect,dojo),dojo.removeClass(this.trackContainer,"highlightingAvailable"),dojo.addClass(this.trackContainer,"draggable")}},shiftMouse:{apply:function(){if(!dojo.hasClass(this.trackContainer,"highlightingAvailable"))return dojo.removeClass(this.trackContainer,"draggable"),dojo.addClass(this.trackContainer,"rubberBandAvailable"),[dojo.connect(this.outerTrackContainer,"mousedown",dojo.hitch(this,"startRubberZoom",dojo.hitch(this,"absXtoBp"),this.scrollContainer,this.scaleTrackDiv)),dojo.connect(this.outerTrackContainer,"onclick",this,"scaleClicked"),dojo.connect(this.outerTrackContainer,"mouseover",this,"maybeDrawVerticalPositionLine"),dojo.connect(this.outerTrackContainer,"mousemove",this,"maybeDrawVerticalPositionLine")]},remove:function(e,t){this.clearBasePairLabels(),this.clearVerticalPositionLine(),dojo.forEach(t,dojo.disconnect,dojo),dojo.removeClass(this.trackContainer,"rubberBandAvailable"),dojo.addClass(this.trackContainer,"draggable")}},mouseDragScrolling:{apply:function(){return[dojo.connect(document.body,"mouseup",this,"dragEnd"),dojo.connect(document.body,"mousemove",this,"dragMove"),dojo.connect(document.body,"mouseout",this,"checkDragOut")]}},verticalMouseDragScrolling:{apply:function(){return[dojo.connect(document.body,"mouseup",this,"dragEnd"),dojo.connect(document.body,"mousemove",this,"verticalDragMove"),dojo.connect(document.body,"mouseout",this,"checkDragOut")]}},mouseRubberBanding:{apply:function(){return[dojo.connect(document.body,"mouseup",this,"rubberExecute"),dojo.connect(document.body,"mousemove",this,"rubberMove"),dojo.connect(document.body,"mouseout",this,"rubberCancel"),dojo.connect(window,"onkeydown",this,function(e){e.keyCode!==dojo.keys.SHIFT&&this.rubberCancel(e)})]}}}},calculatePositionLabelHeight:function(e){var t=document.createElement("div");t.className="pos-label",t.style.visibility="hidden",t.appendChild(document.createTextNode("42")),e.appendChild(t);var i=t.clientHeight;return e.removeChild(t),i},scrollBarClickScroll:function(e){e||(e=window.event);var t=parseInt(this.verticalScrollBar.container.style.height,10),i=parseInt(this.verticalScrollBar.positionMarker.style.height,10),n=this.trackContainer.clientHeight,r=this.getY()*(n/t);r>e.clientY?this.setY(this.getY()-300):r+i<e.clientY&&this.setY(this.getY()+300),this.wheelScrollTimeout&&window.clearTimeout(this.wheelScrollTimeout),this.wheelScrollTimeout=window.setTimeout(dojo.hitch(this,function(){this.showVisibleBlocks(!0),this.wheelScrollTimeout=null},100)),dojo.stopEvent(e)},wheelScroll:function(e){e||(e=window.event);var t={x:0,y:0};if("wheelDeltaX"in e)t.x=e.wheelDeltaX/2,t.y=e.wheelDeltaY/2;else if("deltaX"in e){var i=-1!==navigator.userAgent.indexOf("OS X 10.9")?-5:-40;t.x=Math.abs(e.deltaY)>Math.abs(2*e.deltaX)?0:e.deltaX*i,t.y=-10*e.deltaY}else e.wheelDelta?(t.y=e.wheelDelta/2,window.opera&&(t.y=-t.y)):e.detail&&(t.y=100*-e.detail);t.x=Math.round(2*t.x),t.y=Math.round(t.y);var n=!1;if(t.x&&this.keySlideX(-t.x),t.y){var r=this.getY();this.setY(r-t.y)!==r&&(n=!0)}this.wheelScrollTimeout&&window.clearTimeout(this.wheelScrollTimeout),this.wheelScrollTimeout=window.setTimeout(dojo.hitch(this,function(){this.showVisibleBlocks(!0),this.wheelScrollTimeout=null},100)),(n||this.browser.config.alwaysStopScrollBubble)&&dojo.stopEvent(e)},getX:function(){return this.x||0},getY:function(){return this.y||0},getHeight:function(){return this.elemBox.h},getWidth:function(){return this.elemBox.w},clampX:function(e){return Math.round(Math.max(Math.min(this.maxLeft-this.offset,e||0),this.minLeft-this.offset))},clampY:function(e){return Math.round(Math.min(Math.max(0,e||0),this.containerHeight-this.getHeight()))},rawSetX:function(e){this.elem.scrollLeft=e,this.x=e},setX:function(e){return e=this.clampX(e),this.rawSetX(e),this.updateStaticElements({x:e}),this.showFine(),e},rawSetY:function(e){this.y=e,this.layoutTracks()},setY:function(e){return e=this.clampY(e),this.rawSetY(e),this.updateStaticElements({y:e}),e},rawSetPosition:function(e){return this.rawSetX(e.x),this.rawSetY(e.y),e},setPosition:function(e){var t=this.clampX(e.x),i=this.clampY(e.y);this.updateStaticElements({x:t,y:i}),this.rawSetX(t),this.rawSetY(i),this.showFine()},getPosition:function(){return{x:this.x,y:this.y}},zoomCallback:function(){this.zoomUpdate()},afterSlide:function(){this.showCoarse(),this.scrollUpdate(),this.showVisibleBlocks(!0)},suppressDoubleClick:function(e){this._noDoubleClick&&window.clearTimeout(this._noDoubleClick);var t=this;this._noDoubleClick=window.setTimeout(function(){delete t._noDoubleClick},e||100)},doubleClickZoom:function(e){if(!this._noDoubleClick&&!(this.dragging||"animation"in this)){this.scaleClickedTimeout&&window.clearTimeout(this.scaleClickedTimeout);var t=(e.pageX-dojo.position(this.elem,!0).x)/this.getWidth();e.shiftKey?this.zoomOut(e,t,2):this.zoomIn(e,t,2),dojo.stopEvent(e)}},_beforeMouseDrag:function(e){if(this.animation){if(this.animation instanceof g)return dojo.stopEvent(e),0;this.animation.stop()}return n.isRightButton(e)?0:(dojo.stopEvent(e),1)},startMouseDragScroll:function(e){this._beforeMouseDrag(e)&&(this.behaviorManager.applyBehaviors("mouseDragScrolling"),this.dragStartPos={x:e.clientX,y:e.clientY},this.winStartPos=this.getPosition())},startVerticalMouseDragScroll:function(e){this._beforeMouseDrag(e)&&(this.behaviorManager.applyBehaviors("verticalMouseDragScrolling"),this.dragStartPos={x:e.clientX,y:e.clientY},this.winStartPos=this.getPosition())},startMouseHighlight:function(e,t,i,n){this._beforeMouseDrag(n)&&(this.behaviorManager.applyBehaviors("mouseRubberBanding"),this.rubberbanding={absFunc:e,container:t,scaleDiv:i,message:"Highlight region",start:{x:n.clientX,y:n.clientY},execute:function(e,t){this.browser.setHighlightAndRedraw({ref:this.ref.name,start:e,end:t})}},this.winStartPos=this.getPosition())},startRubberZoom:function(e,t,i,n){this._beforeMouseDrag(n)&&(this.behaviorManager.applyBehaviors("mouseRubberBanding"),this.rubberbanding={absFunc:e,container:t,scaleDiv:i,message:"Zoom to region",start:{x:n.clientX,y:n.clientY},execute:function(e,t){this.setLocation(this.ref,e,t)}},this.winStartPos=this.getPosition(),this.clearVerticalPositionLine(),this.clearBasePairLabels())},_rubberStop:function(e){this.behaviorManager.removeBehaviors("mouseRubberBanding"),this.hideRubberHighlight(),this.clearBasePairLabels(),e&&dojo.stopEvent(e),delete this.rubberbanding},rubberCancel:function(e){var t=document.body.parentNode,i=document.body;e&&(e.relatedTarget||e.toElement)&&t!==(e.relatedTarget||e.toElement)&&i!==(e.relatedTarget||e.toElement)||this._rubberStop(e)},rubberMove:function(e){this.setRubberHighlight(this.rubberbanding.start,{x:e.clientX,y:e.clientY})},rubberExecute:function(e){var t=this.rubberbanding.start,i={x:e.clientX,y:e.clientY},n=Math.floor(this.rubberbanding.absFunc(Math.min(t.x,i.x))),r=Math.ceil(this.rubberbanding.absFunc(Math.max(t.x,i.x))),o=this.rubberbanding.execute;this._rubberStop(e),Math.abs(t.x-i.x)<3||o.call(this,n,r)},setRubberHighlight:function(e,t){var i=this.rubberbanding.container,n=dojo.position(i,!0),r=this.rubberHighlight||function(){var e=this.rubberHighlight=document.createElement("div");e.className="rubber-highlight",e.style.position="absolute",e.style.zIndex=20;var t=document.createElement("div");return t.appendChild(document.createTextNode(this.rubberbanding.message)),e.appendChild(t),t.style.position="relative",t.style.top=50-n.y+"px",i.appendChild(e),e}.call(this);r.style.visibility="visible",r.style.left=Math.min(e.x,t.x)-n.x+"px",r.style.width=Math.abs(t.x-e.x)+"px",this.drawBasePairLabel({name:"rubberLeft",xToBp:this.rubberbanding.absFunc,scaleDiv:this.rubberbanding.scaleDiv,offset:0,x:Math.min(e.x,t.x),parent:i,className:"rubber"}),this.drawBasePairLabel({name:"rubberRight",xToBp:this.rubberbanding.absFunc,scaleDiv:this.rubberbanding.scaleDiv,offset:0,x:Math.max(e.x,t.x)+1,parent:i,className:"rubber"}),this.clearVerticalPositionLine()},dragEnd:function(e){this.behaviorManager.removeBehaviors("mouseDragScrolling","verticalMouseDragScrolling"),dojo.stopEvent(e),this.showCoarse(),this.scrollUpdate(),this.showVisibleBlocks(!0),window.setTimeout(dojo.hitch(this,function(){this.dragging=!1}),100)},checkDragOut:function(e){var t=document.body.parentNode,i=document.body;(e.relatedTarget||e.toElement)&&t!==(e.relatedTarget||e.toElement)&&i!==(e.relatedTarget||e.toElement)||this.dragEnd(e)},dragMove:function(e){this.dragging=!0,this.setPosition({x:this.winStartPos.x-(e.clientX-this.dragStartPos.x),y:this.winStartPos.y-(e.clientY-this.dragStartPos.y)}),dojo.stopEvent(e)},verticalDragMove:function(e){this.dragging=!0;var t=parseInt(this.verticalScrollBar.container.style.height,10),i=this.trackContainer.clientHeight;this.setPosition({x:this.winStartPos.x,y:this.winStartPos.y+(e.clientY-this.dragStartPos.y)*(i/t)}),dojo.stopEvent(e)},hideRubberHighlight:function(e,t){this.rubberHighlight&&(this.rubberHighlight.parentNode.removeChild(this.rubberHighlight),delete this.rubberHighlight)},slide:function(e){this.animation&&this.animation.stop(),this.trimVertical(),new p(this,this.afterSlide,Math.abs(e)*this.getWidth()*this.slideTimeMultiple+200,e*this.getWidth())},setLocation:function(e,i,r){function o(e){delete a.desiredTracks[e.name],e.div&&e.div.parentNode&&e.div.parentNode.removeChild(e.div)}if(void 0===i&&(i=this.minVisible()),void 0===r&&(r=this.maxVisible()),"string"==typeof e&&(e=this.browser.getRefSeq(e)),e||(e=this.ref),(i<e.start||i>e.end)&&(i=e.start),(r<e.start||r>e.end)&&(r=e.end),this.ref!==e){var a=this;this.ref=e,this._unsetPosBeforeZoom(),t.forEach(this.tracks,o),this.tracks=[],this.trackIndices={},this.trackHeights=[],this.trackTops=[],t.forEach(this.uiTracks,function(e){e.refSeq=a.ref,e.clear()}),this.overviewTrackIterate(o),this.addOverviewTrack(new u({label:"overview_loc_track",labelClass:"overview-pos",posHeight:this.overviewPosHeight,browser:this.browser,refSeq:this.ref})),this.sizeInit(),this.setY(0),this.behaviorManager.initialize()}this.pxPerBp=Math.min(this.getWidth()/(r-i),this.maxPxPerBp),this.curZoom=n.findNearest(this.zoomLevels,this.pxPerBp),Math.abs(this.pxPerBp-this.zoomLevels[this.zoomLevels.length-1])<.2&&(this.pxPerBp=this.zoomLevels[this.zoomLevels.length-1]),this.stripeWidth=this.stripeWidthForZoom(this.curZoom)/this.zoomLevels[this.curZoom]*this.pxPerBp,this.instantZoomUpdate(),this.centerAtBase((i+r)/2,!0)},stripeWidthForZoom:function(e){return this.zoomLevels.length-1==e?this.regularStripe/10*this.maxPxPerBp:0==e?this.minZoomStripe:this.regularStripe},instantZoomUpdate:function(){this.scrollContainer.style.width=this.stripeCount*this.stripeWidth+"px",this.zoomContainer.style.width=this.stripeCount*this.stripeWidth+"px",this.maxOffset=this.bpToPx(this.ref.end)-this.stripeCount*this.stripeWidth,this.maxLeft=this.bpToPx(this.ref.end+1)-this.getWidth(),this.minLeft=this.bpToPx(this.ref.start)},centerAtBase:function(e,t){if(e=Math.min(Math.max(e,this.ref.start),this.ref.end),t){var i=this.bpToPx(e),n=this.stripeCount*this.stripeWidth,r=Math.floor((i-n/2)/this.stripeWidth);this.offset=r*this.stripeWidth,this.setX(i-this.offset-this.getWidth()/2),this.trackIterate(function(e){e.clear()}),this.showVisibleBlocks(!0),this.showCoarse()}else{var o=this.pxToBp(this.x+this.offset),a=this.getWidth()/this.pxPerBp/2,s=o+a;if(e>=o-a&&e<=o+a+a+a){this.animation&&this.animation.stop();var l=(s-e)*this.pxPerBp;this.trimVertical(),new p(this,this.afterSlide,Math.abs(l)*this.slideTimeMultiple+200,l)}else this.centerAtBase(e,!0)}},minVisible:function(){var e=this.pxToBp(this.x+this.offset);return e<this.pxToBp(1)?0:Math.round(e)},maxVisible:function(){var e=this.pxToBp(this.x+this.offset+this.getWidth()),t=Math.round(this.pxToBp(this.verticalScrollBarVisibleWidth()));return e>this.ref.end-this.pxToBp(1)?this.ref.end-t:Math.round(e)-t},showFine:function(){this.onFineMove(this.minVisible(),this.maxVisible())},showCoarse:function(){this.onCoarseMove(this.minVisible(),this.maxVisible())},onFineMove:function(e,t){this.updateLocationThumb()},onCoarseMove:function(e,t){this.updateLocationThumb()},onResize:function(){this.sizeInit(),this.showVisibleBlocks(),this.showFine(),this.showCoarse()},overviewClicked:function(e){this.centerAtBase(this.overview_absXtoBp(e.clientX))},scaleMouseOver:function(e){this.rubberbanding||this.drawVerticalPositionLine(this.scaleTrackDiv,e)},scaleMouseMove:function(e){this.rubberbanding||this.drawVerticalPositionLine(this.scaleTrackDiv,e)},scaleMouseOut:function(e){this.clearVerticalPositionLine(),this.clearBasePairLabels()},maybeDrawVerticalPositionLine:function(e){this.rubberbanding||this.drawVerticalPositionLine(this.scaleTrackDiv,e)},drawVerticalPositionLine:function(e,t){var i=t.pageX+2;this.verticalPositionLine||(this.verticalPositionLine=dojo.create("div",{className:"trackVerticalPositionIndicatorMain"},this.staticTrack.div));var n=this.verticalPositionLine;n.style.display="block",n.style.left=i+"px";var r=dojo.position(this.scaleTrackDiv);n.style.top=r.y+"px",this.drawBasePairLabel({name:"single",offset:0,x:i,parent:e,scaleDiv:e})},drawBasePairLabel:function(e){var t=e.name||0,i=e.offset||0,r=e.x;if(this.basePairLabels=this.basePairLabels||{},!this.basePairLabels[t]){var a=dojo.position(e.scaleDiv||this.scaleTrackDiv);this.basePairLabels[t]=dojo.create("div",{className:"basePairLabel"+(e.className?" "+e.className:""),style:{top:a.y+a.h-3+"px"}},this.browser.container)}var s=this.basePairLabels[t];"object"==(void 0===r?"undefined":o(r))&&(r=r.clientX),s.style.display="block";var l=e.xToBp||dojo.hitch(this,"absXtoBp");s.innerHTML=n.addCommas(Math.floor(l(r))+1),window.innerWidth-r>8+s.offsetWidth?s.style.left=r+i+"px":s.style.left=r+1-i-s.offsetWidth+"px"},clearVerticalPositionLine:function(){this.verticalPositionLine&&(this.verticalPositionLine.style.display="none")},clearBasePairLabels:function(){for(var e in this.basePairLabels){var t=this.basePairLabels[e];t.parentNode&&t.parentNode.removeChild(t)}this.basePairLabels={}},overview_absXtoBp:function(e){var t=dojo.position(this.overview);return(e-t.x)/t.w*(this.ref.end-this.ref.start)+this.ref.start},scaleClicked:function(e){var t=this.absXtoBp(e.clientX);this.scaleClickedTimeout=window.setTimeout(dojo.hitch(this,function(){this.centerAtBase(t)},100))},thumbMoved:function(e){var t=parseInt(this.locationThumb.style.left)+parseInt(this.locationThumb.style.width)/2;this.centerAtBase(t/this.overviewBox.w*(this.ref.end-this.ref.start)+this.ref.start)},updateLocationThumb:function(){var e=this.minVisible(),t=this.maxVisible(),i=this.ref.end-this.ref.start,n=Math.round((e-this.ref.start)/i*this.overviewBox.w+this.overviewBox.l),r=Math.round((t-this.ref.start)/i*this.overviewBox.w+this.overviewBox.l);this.locationThumb.style.cssText="height: "+(this.overviewBox.h-4)+"px; left: "+n+"px; width: "+(r-n)+"px;z-index: 20"},checkY:function(e){return Math.min(e<0?0:e,this.containerHeight-this.getHeight())},updateStaticElements:function(e){this.trackIterate(function(t){t.updateStaticElements(e)},this),this._updateVerticalScrollBar(e)},showWait:function(){for(var e=[],t=0;t<this.waitElems.length;t++)e[t]=this.waitElems[t].style.cursor,this.waitElems[t].style.cursor="wait";this.prevCursors.push(e)},showDone:function(){for(var e=this.prevCursors.pop(),t=0;t<this.waitElems.length;t++)this.waitElems[t].style.cursor=e[t]},pxToBp:function(e){return e/this.pxPerBp},absXtoBp:function(e){return this.pxToBp(this.getPosition().x+this.offset-dojo.position(this.elem,!0).x+e)-1},bpToPx:function(e){return e*this.pxPerBp},sizeInit:function(){this.overviewBox=dojo.marginBox(this.overview),this.elemBox={h:this.elem.offsetHeight,w:this.elem.offsetWidth};var e=[2e-6,5e-6,1e-5,2e-5,5e-5,1e-4,2e-4,5e-4,.001,.002,.005,.01,.02,.05,.1,.2,.5,1,2,5,10,20];this.zoomLevels=[];for(var t=0;t<e.length;t++){var i=e[t];if(!(i<this.maxPxPerBp))break;this.zoomLevels.push(i)}for(this.zoomLevels.push(this.maxPxPerBp);(this.ref.end-this.ref.start)*this.zoomLevels[0]<this.getWidth();)this.zoomLevels.shift();for(this.zoomLevels.unshift(this.getWidth()/(this.ref.end-this.ref.start)),this.minZoomStripe=this.regularStripe*(this.zoomLevels[0]/this.zoomLevels[1]),this.curZoom=0;this.pxPerBp>this.zoomLevels[this.curZoom];)this.curZoom++;this.maxLeft=this.bpToPx(this.ref.end+1)-this.getWidth(),delete this.stripePercent;var r=[20,10,5,4,2,1];for(t=0;t<r.length;t++)if(100/r[t]*(.7*this.regularStripe)>3*this.getWidth()+this.regularStripe){this.stripePercent=r[t];break}this.stripePercent||(console.warn("stripeWidth too small: "+this.stripeWidth+", "+this.getWidth()),this.stripePercent=1);var o,a=this.stripeCount;if(a&&this.getX(),this.stripeCount=Math.round(100/this.stripePercent),this.scrollContainer.style.width=this.stripeCount*this.stripeWidth+"px",this.zoomContainer.style.width=this.stripeCount*this.stripeWidth+"px",a&&a!=this.stripeCount){var s=(o=Math.floor((a-this.stripeCount)/2))*this.stripeWidth,l=this.getX()-s;this.offset+=s,this.updateStaticElements({x:l}),this.rawSetX(l)}this.trackIterate(function(e,t){e.sizeInit(t.stripeCount,t.stripePercent,o)});var c=this.trackHeights&&this.trackHeights.length?Math.max(m.reduce(this.trackHeights,"+")+this.config.trackPadding*this.trackHeights.length,this.getHeight()):this.getHeight();this.scrollContainer.style.height=c+"px",this.containerHeight=c;var h=this.ref.end-this.ref.start;if(h<0)throw new Error("reference sequence "+this.ref.name+" has an invalid start coordinate, it is greater than its end coordinate.");var u=document.createElement("div");u.className="overview-pos",u.appendChild(document.createTextNode(n.addCommas(this.ref.end))),u.style.visibility="hidden",this.overview.appendChild(u);var d=1.2*u.clientWidth;this.overviewPosHeight=1.2*u.clientHeight,this.overview.removeChild(u);for(var f=1;f<30&&(this.overviewStripeBases=(Math.pow(f%3,2)+1)*Math.pow(10,Math.floor(f/3)),this.overviewStripes=Math.ceil(h/this.overviewStripeBases),!(this.overviewBox.w/this.overviewStripes>d))&&!(this.overviewStripes<2);f++);var g=100/(h/this.overviewStripeBases);this.overviewTrackIterate(function(e,t){e.clear(),e.sizeInit(t.overviewStripes,g),e.showRange(0,t.overviewStripes-1,t.ref.start-1,t.overviewStripeBases,t.overviewBox.w/(t.ref.end-t.ref.start))}),this.updateOverviewHeight(),this.updateScroll()},updateScroll:function(){var e={height:this.getHeight()};this.getY()>0&&this.containerHeight-this.getY()<e.height&&(e.y=this.setY(Math.max(0,this.containerHeight-e.height))),this.updateStaticElements(e)},overviewTrackIterate:function(e){var t=this.overview.firstChild;do{t&&t.track&&e.call(this,t.track,this)}while(t&&(t=t.nextSibling))},updateOverviewHeight:function(e,t){var i=0;this.overviewTrackIterate(function(e,t){i+=e.height,e.div.style.height=e.height+"px"}),this.overview.style.height=i+"px",this.overviewBox=dojo.marginBox(this.overview)},addOverviewTrack:function(e){var t=100/((this.ref.end-this.ref.start)/this.overviewStripeBases),i=document.createElement("div");i.className="track",i.style.height=this.overviewBox.h+"px",i.id="overviewtrack_"+e.name,i.track=e;var n=this;return e.setViewInfo(this,function(e){n.updateOverviewHeight()},this.overviewStripes,i,t,this.overviewStripeBases,this.pxPerBp,this.config.trackPadding),this.overview.appendChild(i),this.updateOverviewHeight(),i},trimVertical:function(e){var t;void 0===e&&(e=this.getY());for(var i=this.topSpace,n=e+this.getHeight(),r=0;r<this.tracks.length;r++)this.tracks[r].shown&&((t=i+this.trackHeights[r])>e&&i<n||this.tracks[r].hideAll(),i=t+this.config.trackPadding)},redrawTracks:function(){this.trackIterate(function(e){e.hideAll()}),this.showVisibleBlocks(!1)},hideRegion:function(e){this.overviewTrackIterate(function(t){t.hideRegion(e)}),this.trackIterate(function(t){t.hideRegion(e)})},redrawRegion:function(e){this.hideRegion(e),this.showVisibleBlocks(!1)},zoomIn:function(e,t,i){if(!this.animation&&(this._unsetPosBeforeZoom(),void 0===t&&(t=.5),void 0===i&&(i=1),0!=(i=Math.min(i,this.zoomLevels.length-1-this.curZoom))||this.pxPerBp!=this.zoomLevels[this.curZoom])){this.showWait();var n=this.getPosition();this.trimVertical(n.y);var r=this.zoomLevels[this.curZoom+i]/this.pxPerBp,o=this.pxToBp(n.x+this.offset+t*this.getWidth());this.curZoom+=i,this.pxPerBp=this.zoomLevels[this.curZoom],this.maxLeft=this.bpToPx(this.ref.end+1)-this.getWidth();for(var a=0;a<this.tracks.length;a++)this.tracks[a].startZoom(this.pxPerBp,o-t*this.getWidth()/this.pxPerBp,o+(1-t)*this.getWidth()/this.pxPerBp);new g(r,this,function(){this.zoomUpdate(t,o)},700,t)}},zoomToBaseLevel:function(e,t){if(!this.animation){var i=this.zoomLevels.length-1;if(this.curZoom!==i){this._setPosBeforeZoom(this.minVisible(),this.maxVisible(),this.curZoom),this.showWait(),this.trimVertical();var n=this.zoomLevels[i]/this.pxPerBp,r=t;this.curZoom=i,this.pxPerBp=this.zoomLevels[i],this.maxLeft=this.pxPerBp*this.ref.end-this.getWidth();for(var o=0;o<this.tracks.length;o++)this.tracks[o].startZoom(this.pxPerBp,r-.5*this.getWidth()/this.pxPerBp,r+.5*this.getWidth()/this.pxPerBp);new g(n,this,function(){this.zoomUpdate(.5,r)},700,.5)}else console.log("already zoomed to base level")}},zoomOut:function(e,t,i){if(!this.animation&&(this._unsetPosBeforeZoom(),void 0===i&&(i=1),0!=(i=Math.min(i,this.curZoom)))){this.showWait();var n=this.getPosition();this.trimVertical(n.y),void 0===t&&(t=.5);var r=this.zoomLevels[this.curZoom-i]/this.pxPerBp,o=this.bpToPx(this.ref.end)-(this.offset+n.x+this.getWidth());t=Math.max(t,1-o*r/(1-r)/this.getWidth()),o=n.x+this.offset-this.bpToPx(this.ref.start),t=Math.min(t,o*r/(1-r)/this.getWidth());var a=this.pxToBp(n.x+this.offset+t*this.getWidth());this.curZoom-=i,this.pxPerBp=this.zoomLevels[this.curZoom];for(var s=0;s<this.tracks.length;s++)this.tracks[s].startZoom(this.pxPerBp,a-t*this.getWidth()/this.pxPerBp,a+(1-t)*this.getWidth()/this.pxPerBp);this.minLeft=this.pxPerBp*this.ref.start,new g(r,this,function(){this.zoomUpdate(t,a)},700,t)}},zoomBackOut:function(e){if(!this.animation&&this.isZoomedToBase()){var t=this.posBeforeZoom.min,i=this.posBeforeZoom.max,n=this.posBeforeZoom.zoomIndex;this.posBeforeZoom=void 0,this.showWait();var r=this.zoomLevels[n]/this.pxPerBp,o=(t+i)/2;this.curZoom=n,this.pxPerBp=this.zoomLevels[n];for(var a=0;a<this.tracks.length;a++)this.tracks[a].startZoom(this.pxPerBp,o-.5*this.getWidth()/this.pxPerBp,o+.5*this.getWidth()/this.pxPerBp);this.minLeft=this.pxPerBp*this.ref.start;var s=this;new g(r,this,function(){s.setLocation(s.ref,t,i),s.zoomUpdate(.5,o)},700,.5)}},isZoomedToBase:function(){return void 0!==this.posBeforeZoom},_setPosBeforeZoom:function(e,t,i){this.posBeforeZoom={min:e,max:t,zoomIndex:i}},_unsetPosBeforeZoom:function(){this.posBeforeZoom=void 0},zoomUpdate:function(e,t){var i=this.elem.clientWidth,n=this.bpToPx(t)-e*i+i/2;this.stripeWidth=this.stripeWidthForZoom(this.curZoom),this.scrollContainer.style.width=this.stripeCount*this.stripeWidth+"px",this.zoomContainer.style.width=this.stripeCount*this.stripeWidth+"px";var r=Math.round(n/this.stripeWidth)-this.stripeCount/2|0;this.offset=r*this.stripeWidth,this.maxOffset=this.bpToPx(this.ref.end+1)-this.stripeCount*this.stripeWidth,this.maxLeft=this.bpToPx(this.ref.end+1)-this.getWidth(),this.minLeft=this.bpToPx(this.ref.start),this.zoomContainer.style.left="0px",this.setX(n-this.offset-i/2),dojo.forEach(this.uiTracks,function(e){e.clear()}),this.trackIterate(function(e){e.endZoom(this.pxPerBp,Math.round(this.stripeWidth/this.pxPerBp))}),this.showVisibleBlocks(!0),this.showDone(),this.showCoarse()},scrollUpdate:function(){var e=this.getX(),t=(this.stripeCount*this.stripeWidth/2-(this.getWidth()/2+e))/this.stripeWidth|0;if(0!=t){Math.abs(t);var i=this.offset-t*this.stripeWidth;if(this.offset!=i){this.offset=i,this.trackIterate(function(e){e.moveBlocks(t)});var n=e+t*this.stripeWidth;this.updateStaticElements({x:n}),this.rawSetX(n),this.stripeWidth}}},trackHeightUpdate:function(e,t){var i=this.getY();if(e in this.trackIndices){var n=this.trackIndices[e];Math.abs(t-this.trackHeights[n])<1||(this.trackTops[n]+this.trackHeights[n]-i<this.getHeight()/2&&i>0&&this.setY(i+(t-this.trackHeights[n])),this.trackHeights[n]=t,this.tracks[n].div.style.height=t+this.config.trackPadding+"px",this.layoutTracks(),this.setY(this.getY()),this.updateStaticElements({height:this.getHeight()}))}},showVisibleBlocks:function(e,t,i,n,r){var o=this;void 0===t&&(t=this.getPosition()),void 0===i&&(i=t.x-this.drawMargin*this.getWidth()),void 0===n&&(n=t.x+(1+this.drawMargin)*this.getWidth());var a=Math.max(0,i/this.stripeWidth|0),s=Math.min(this.stripeCount-1,n/this.stripeWidth|0),l=Math.round(this.stripeWidth/this.pxPerBp),c=Math.round(this.pxToBp(a*this.stripeWidth+this.offset));c-=1;var h=Math.round(this.pxToBp(this.offset)),u=Math.round(this.pxToBp(this.offset+this.stripeCount*this.stripeWidth));if(this.maxVisible()){var d=[];this.overviewTrackIterate(function(e,t){d.push(new Promise(function(i,n){e.showRange(0,t.overviewStripes-1,t.ref.start-1,t.overviewStripeBases,t.overviewBox.w/(t.ref.end-t.ref.start),void 0,void 0,i)}))}),this.trackIterate(function(e,t){d.push(new Promise(function(i,n){e.showRange(a,s,c,l,t.pxPerBp,h,u,i)}))}),this.updateStaticElements({height:this.getHeight(),width:this.getWidth(),x:this.getX(),y:this.getY()}),this.browser.publish("/jbrowse/v1/n/tracks/redraw");var f=function(){r&&r(),o.browser.publish("/jbrowse/v1/n/tracks/redrawFinished")};Promise.all(d).then(f,f)}},showTracks:function(e){var i=dojo.filter(e,function(e){return 0==this._getTracks([e.label]).length&&!this.desiredTracks[e.label]},this);if(i.length){t.forEach(e,function(e){this.desiredTracks[e.label]=!0},this),this.trackDndWidget.insertNodes(!1,i),this.updateTrackList();var n=this;window.setTimeout(function(){n.setY(1/0)},300)}},replaceTracks:function(e){t.forEach(e,function(e){var i,n,r=this.trackDndWidget.parent;t.forEach(r.children,function(t){if(!n){var r=t.track;r&&r.config.label==e.label?(n=1,this.trackDndWidget.delItem(t.id),t&&t.parentNode&&t.parentNode.removeChild(t)):i=t}},this),this.updateTrackList(),this.trackDndWidget.insertNodes(!1,[e],!1,i)},this),e.length&&this.updateTrackList()},hideTracks:function(e){var i=dojo.filter(e,function(e){return 0!=this._getTracks([e.label]).length},this);i.length&&(t.forEach(e,function(e){delete this.desiredTracks[e.label]},this),dojo.forEach(i,function(e){this.trackDndWidget.forInItems(function(t,i,n){if(e.label===t.data.label){this.trackDndWidget.delItem(i);var r=dojo.byId(i);r&&r.parentNode&&r.parentNode.removeChild(r)}},this)},this),this.updateTrackList())},pinTracks:function(e){var i=this._getTracks(e);return t.forEach(i,function(e){e.setPinned(!0)}),this.updateTrackList(),t.map(i,function(e){return e.name})},unpinTracks:function(e){var i=this._getTracks(e);return t.forEach(i,function(e){e.setPinned(!1)}),this.updateTrackList(),t.map(i,function(e){return e.name})},_getTracks:function(e){var t=[],i={count:e.length};return dojo.forEach(e,function(e){i[e]=1}),dojo.some(this.tracks,function(e){return i[e.name]&&(t.push(e),i.count--),!i.count},this),t},renderTrack:function(e){var t,i=this;if(!e)return null;if(dojo.some(this.tracks,function(i){return i.name==e.label&&(t=i,!0)}))return t.div;var n,r,o=function(e){return e.replace(/[^A-Za-z_0-9]/g,"_").toLowerCase()},a=e.label,s=dojo.create("div",{className:["track",o("track_"+e.type),o("track_"+a)].join(" "),id:"track_"+a});s.trackName=a;var l=dojo.hitch(this,function(){var t;try{t=this.browser.trackMetaDataStore.getItem(e.label).key}catch(e){}var o=new n({key:e.key||t,refSeq:this.ref,config:e,changeCallback:dojo.hitch(this,"showVisibleBlocks",!0),trackPadding:this.config.trackPadding,store:r,browser:this.browser});"function"==typeof r.setTrack&&r.setTrack(o),s.track=o,dojo.connect(s,"onclick",function(e){i.setTrackFocus(o,1)});var l=dojo.hitch(this,"trackHeightUpdate",a);o.setViewInfo(this,l,this.stripeCount,s,this.stripePercent,this.stripeWidth,this.pxPerBp,this.config.trackPadding),o.updateStaticElements({x:this.getX(),y:this.getY(),height:this.getHeight(),width:this.getWidth()}),this.updateTrackList()});return e.store||console.warn("configuration for track "+e.label+" has no store set",e),this.browser.getStore(e.store,function(t){r=t;var o=e.type||i.browser.getTrackTypes().trackTypeDefaults[r.config.type];dojo.global.require([o],function(t){"string"!=typeof t?(n=t,l()):console.error("Failed to load module: "+e.type)})}),s},setTrackFocus:function(e,t){if(1===t){if(null!==this.focusTrack){if(this.focusTrack==e)return;this.browser.publish("/jbrowse/v1/n/tracks/unfocus",this.focusTrack),this.focusTrack=null}this.focusTrack=e,this.browser.publish("/jbrowse/v1/n/tracks/focus",e)}if(0===t){if(null===this.focusTrack)return void console.log("no track in focus");this.browser.publish("/jbrowse/v1/n/tracks/unfocus",this.focusTrack),this.focusTrack=null}},trackIterate:function(e){var t;for(t=0;t<this.uiTracks.length;t++)e.call(this,this.uiTracks[t],this);for(t=0;t<this.tracks.length;t++)e.call(this,this.tracks[t],this)},updateTrackList:function(){var e=[],r=dojo.toJson(this.trackIndices||{}),o=this.trackContainer.firstChild;do{o.track&&e.push(o.track)}while(o=o.nextSibling);if(e=(e=t.map(e,function(e,t){return[e,t]})).sort(function(e,t){var i=e[0].isPinned()?1:0;return(t[0].isPinned()?1:0)-i||e[1]-t[1]}),(e=t.map(e,function(e){return e[0]}))[0]&&e[0].isPinned()){if(this.pinUnderlay||(this.pinUnderlay=i.create("div",{className:"pin_underlay",style:"top: "+this.topSpace},this.trackContainer)),!this.pinGridlinesTrack){var a=i.create("div",{className:"track",style:"top: 0px; height: 100%"},this.pinUnderlay);this.pinGridlinesTrack=new d({browser:this.browser,refSeq:this.ref}),this.pinGridlinesTrack.setViewInfo(this,function(){},this.stripeCount,a,this.stripePercent,this.stripeWidth,this.pxPerBp,this.config.trackPadding),this.uiTracks.push(this.pinGridlinesTrack)}}else this.pinUnderlay&&(i.destroy(this.pinUnderlay),delete this.pinUnderlay,this.uiTracks=t.filter(this.uiTracks,function(e){return e!==this.pinGridlinesTrack},this),delete this.pinGridlinesTrack);var s=this.tracks;this.tracks=e;for(var l={},c=new Array(this.tracks.length),h=0;h<e.length;h++)l[e[h].name]=h,e[h].name in this.trackIndices?c[h]=this.trackHeights[this.trackIndices[e[h].name]]:c[h]=0,c[h],this.trackIndices[e[h].name]=h;this.trackIndices=l,this.trackHeights=c,t.forEach(s||[],function(e){e.name in l||(n.removeAttribute(e.div,"track"),e.destroy())},this),this.layoutTracks(),this.updateScroll(),r!=dojo.toJson(this.trackIndices||{})&&(this.browser.publish("/jbrowse/v1/n/tracks/visibleChanged",[this.visibleTrackNames()]),this.showVisibleBlocks())},layoutTracks:function(){var e=this.topSpace,i=0,n=0,r=!1;t.forEach(this.tracks,function(t,o){this.trackTops[o]=e,i=e,t.isPinned()?(t.div.style.top=e+"px",r=!0):(t.div.style.top=e-this.y+(r?15:0)+"px",r=!1),t.shown&&(e+=this.trackHeights[o]+this.config.trackPadding,t.isPinned()&&(n=e))},this),n&&this.pinUnderlay&&(this.pinUnderlay.style.height=n+"px"),this.containerHeight=Math.max(e||0,Math.min(this.getY(),i)+this.getHeight()),this.scrollContainer.style.height=this.containerHeight+"px"}})}.apply(null,n))||(e.exports=r)},418:function(e,t,i){var n,r;n=[i(575),i(579),i(348),i(334)],void 0===(r=function(e,t,i,n){return e(i,{constructor:function(e){this.loaded=!0,this.labelClass=e.labelClass,this.posHeight=e.posHeight,this.height=Math.round(1.2*e.posHeight)},makeTrackLabel:function(){},makeTrackMenu:function(){},fillBlock:function(e){var t=e.blockIndex,i=e.block,r=e.leftBase,o=e.scale,a=this.chooseLabel(e),s=(r+1-a)*o/10,l=document.createElement("div"),c=n.addCommas(a);l.className=this.labelClass,l.style.left="-"+Number(c.length)/1.7+s+"ex",l.appendChild(document.createTextNode(c)),i.domNode.appendChild(l);var h=this.browser.getHighlight();h&&h.ref==this.refSeq.name&&this.renderRegionHighlight(e,h);var u=this.browser.getBookmarks();u&&this.renderRegionBookmark(e,u,this.refSeq.name,!0),this.heightUpdate(Math.round(1.2*this.posHeight),t),e.finishCallback()},chooseLabel:function(e){for(var t=e.leftBase+1,i=(e.rightBase,e.scale),n=1e6;n>0;n/=10)if(t%n*i<=3)return t-t%n;return t}})}.apply(null,n))||(e.exports=r)},419:function(e,t,i){var n,r;n=[i(575),i(606),i(346),i(580),i(596)],void 0===(r=function(e,t,i,n,r){return e(i,{autofocus:!1,constructor:function(e){this.message=e.message||"Do you really want to do this?",this.confirmLabel=e.confirmLabel||"Yes",this.denyLabel=e.denyLabel||"No"},_fillActionBar:function(e){var t=this;new r({className:"yes",label:this.confirmLabel,onClick:function(){t.callback(!0),t.hide()}}).placeAt(e),new r({className:"no",label:this.denyLabel,onClick:function(){t.callback(!1),t.hide()}}).placeAt(e)},show:function(e){this.callback=e||function(){},this.set("content",this.message),this.inherited(arguments),t.focus(this.closeButtonNode)}})}.apply(null,n))||(e.exports=r)},420:function(e,t,i){var n,r;n=[i(575),i(760),i(334)],void 0===(r=function(e,t,i){return e(t,{constructor:function(e){dojo.mixin(this,e);var t=this.node||{};delete this.node,this.domNode=dojo.create("div",t),this.domNode.block=this},containsBp:function(e){return this.startBase<=e&&this.endBase>=e},bpToX:function(e){return(e-this.startBase)*this.scale},toString:function(){return this.startBase+".."+this.endBase},destroy:function(){this.domNode&&i.removeAttribute(this.domNode,"block"),this.inherited(arguments)}})}.apply(null,n))||(e.exports=r)},421:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(576),i(577),i(590),i(579),i(585),i(934),i(936),i(938),i(334)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h){var u=e([l,c]);return e(null,{renderDetailField:function(e,i,a,s,l){var c,u=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},d=arguments.length>6&&void 0!==arguments[6]&&arguments[6];if(null==a)return"";if(c=this["fmtDetail"+h.ucFirst(i)+"Field"])return c.apply(this,arguments);l=l||i.replace(/\W/g,"_").toLowerCase();var f,g=i;if((c=this.config["fmtDetailField_"+i])&&s){if(!(g=c(i,s)))return""}else if((c=this.config["fmtMetaField_"+i])&&!s&&!(g=c(i)))return"";"object"==(void 0===a?"undefined":o(a))&&!Array.isArray(a)&&"values"in a?(f=(a.meta||{}).description||(a.meta||{}).Description,t.isArray(f)&&(f=f.join(", ")),a=a.values):f=u.description,(c=this.config["fmtDetailDescription_"+i])&&s?f=c(f):(c=this.config["fmtMetaDescription_"+i])&&!s&&(f=c(f));var p=f?' title="'+f+'"':"",b=r.create("div",{className:"field_container",innerHTML:'<h2 class="field '+l+'"'+p+">"+g+"</h2>"},e),m=r.create("div",{className:"value_container "+l},b),v=this.renderDetailValue(m,i,a,s,l,d);return"number"==typeof v&&v>4&&(n("h2",b)[0].innerHTML=g+" ("+v+")"),b},renderDetailValue:function(e,n,s,l,c){var u,d=this,f=arguments.length>5&&void 0!==arguments[5]&&arguments[5],g=this;if(!t.isArray(s)&&s&&s.values&&(s=s.values),u=this["fmtDetail"+h.ucFirst(n)+"Value"])return u.apply(this,arguments);(u=this.config["fmtDetailValue_"+n])&&l?(f=!0,(s=u(s,l))||(s=""),1==s.length&&(s=s[0])):(u=this.config["fmtMetaValue_"+n])&&!l&&(f=!0,1==(s=u(s)).length&&(s=s[0]));var p=void 0===s?"undefined":o(s);if("object"==p&&null===s&&(s=""),"function"==typeof s.toHTML&&(s=s.toHTML()),"boolean"==p)s=s?"yes":"no";else{if("undefined"==p||null===s)return 0;var b;if(t.isArray(s))return s.length>0&&t.isObject(s[0])?(e.style.width="90%",b=s.map(function(t){var i=r.create("div",{className:"value_container "+c,style:{width:"100%"}},e);return d.renderDetailValue(i,n,t,l,c,f),i})):b=i.map(s,function(t){return this.renderDetailValue(e,n,t,l,c,f)},this),b.length>1&&a.add(e,"multi_value"),b.length>10&&a.add(e,"big"),b.length;if("object"==p){var m=h.dojof.keys(s).sort(),v=m.length;return v>5?(this.renderDetailValueGrid(e,n,l,function(){if(!m.length)return null;var e=m.shift(),t=s[e],i={id:e};if("object"==(void 0===t?"undefined":o(t)))for(var n in t)i[n]=g._valToString(t[n]);else i.value=t;return i},{descriptions:function(){if(!m.length)return{};var e=s[m[0]],t={};for(var i in e)t[i]=e[i].meta&&e[i].meta.description||null;return t}()}),v):(i.forEach(m,function(t){return this.renderDetailField(e,t,s[t],l,c,{},f)},this),m.length)}}return r.create("div",{className:"value "+(s.length>70&&-1==s.indexOf(" ")?"long ":"")+c,innerHTML:f||this.config.unsafePopup?s:h.escapeHTML(s)},e),1},renderDetailValueGrid:function(e,t,i,n,r){for(var o,a=this,l=[],c=r.descriptions||{},d=r.renderCell||{};o=n();)l.push(o);if(!l.length)return document.createElement("span");function f(e,t,n,r){a.renderDetailValue(n,"",t,i,"")}var g=[];for(var p in l[0])!function(e){var t={label:{id:"Name"}[e]||h.ucFirst(e),field:e,renderCell:d[e]||f,renderHeaderCell:function(i){c[e]&&(i.title=c[e]),i.appendChild(document.createTextNode(t.label||t.field))}};g.push(t)}(p);return e.style.overflow="hidden",e.style.width="90%",new u({columns:g,collection:new s({data:l})},e),e},_valToString:function(e){return e?t.isArray(e)?i.map(e,t.hitch(this,"_valToString")).join(" "):"object"==(void 0===e?"undefined":o(e))?"values"in e?this._valToString(e.values):JSON.stringify(e):""+e:""}})}.apply(null,n))||(e.exports=r)},422:function(e,t,i){var n,r;n=[i(575),i(579),i(348)],void 0===(r=function(e,t,i){return dojo.declare(i,{constructor:function(e){this.loaded=!0,this.name="gridlines"},makeTrackLabel:function(){},makeTrackMenu:function(){},fillBlock:function(e){this.renderGridlines(e.block,e.leftBase,e.rightBase);var t=this.browser.getHighlight();t&&t.ref==this.refSeq.name&&this.renderRegionHighlight(e,t);var i=this.browser.getBookmarks();i&&this.renderRegionBookmark(e,i),e.finishCallback(),this.heightUpdate(100,e.blockIndex)},renderGridlines:function(e,t,i){for(var n=i-t,r=n%20?n%10?n%5?n%2?5:2:5:10:20,o=function(e,t){var i=document.createElement("div");return i.style.cssText="left: "+t+"%; width: 0px",i.className="gridline "+e,i},a=0;a<r;a++){var s=100/r*a,l=0==s||20==r&&10==a?"gridline_major":"gridline_minor";e.domNode.appendChild(o(l,s))}}})}.apply(null,n))||(e.exports=r)},423:function(e,t,i){var n;void 0===(n=function(){function e(e){this.context=e.context,this.behaviors=e.behaviors}return e.prototype.initialize=function(){for(var e in this.removeAll(),this.behaviors)this.behaviors[e].apply_on_init&&this.applyBehaviors(e)},e.prototype.applyBehaviors=function(){dojo.forEach(arguments,function(e){var t=this._get(e);t.applied||(t.handles=t.handles||[],t.handles=t.apply.call(this.context||this,this,t.handles),t.applied=!0)},this)},e.prototype._get=function(e){var t=this.behaviors[e];if(!t)throw"no behavior registed with name ''name";return t},e.prototype.swapBehaviors=function(e,t){this.removeBehaviors(e),this.applyBehaviors(t)},e.prototype.removeBehaviors=function(){dojo.forEach(arguments,function(e){var t=this._get(e);t.applied&&((t.remove||function(e,t){dojo.forEach(t,dojo.disconnect,dojo)}).call(this.context||this,this,t.handles),t.applied=!1)},this)},e.prototype.removeAll=function(){for(var e in this.behaviors)this.removeBehaviors(e)},e}.apply(null,[]))||(e.exports=n)},424:function(e,t,i){var n,r;n=[i(381)],void 0===(r=function(e){function t(t,i,n,r,o){e.call(this,i,n,r),this.toZoom=i.zoomContainer;var a=this.toZoom.clientWidth;this.initialWidth=a,this.width0=a*Math.min(1,t);var s=a*Math.max(1,t);this.distance=s-this.width0,this.zoomingIn=t>1,this.center=(i.getX()+i.elem.clientWidth*o)/i.scrollContainer.clientWidth,this.initialX=this.subject.getX(),this.initialLeft=parseInt(this.toZoom.style.left)}return t.prototype=new e,t.prototype.step=function(e){var t=this.zoomingIn?e:1-e,i=t*t*this.distance+this.width0,n=this.center*this.initialWidth-this.center*i;this.toZoom.style.width=i+"px",this.toZoom.style.left=this.initialLeft+n+"px",this.toZoom.offsetTop,this.subject.updateStaticElements&&this.subject.updateStaticElements({x:this.initialX-n})},t}.apply(null,n))||(e.exports=r)},425:function(e,t,i){var n,r;n=[i(381)],void 0===(r=function(e){function t(t,i,n,r){e.call(this,t,i,n),this.slideStart=t.getX(),this.slideDistance=r}return t.prototype=new e,t.prototype.step=function(e){var t=this.slideStart-this.slideDistance*(-.5*Math.cos(e*Math.PI)+.5)|0;t=Math.max(Math.min(this.subject.maxLeft-this.subject.offset,t),this.subject.minLeft-this.subject.offset),this.subject.setX(t)},t}.apply(null,n))||(e.exports=r)},426:function(e,t,i){var n;void 0===(n=function(){var e,t,i;return i={CompareObjPos:function(e,t){for(var n=0,r=0,o=t.pageY,a=0;a<e.length&&(n=r++,!(i.findPos(e[a]).top>o));a++);return n},checkAvatarPosition:function(e){var t=document.getElementById("tracksAvail"),i=document.getElementById("container");return t&&e.pageX<t.offsetLeft+t.offsetWidth?t:i},removeTouchEvents:function(){e=null},touchSimulated:function(n){if(n.touches.length<=1){var r=n.changedTouches[0],o="",a=document.getElementsByClassName("dojoDndAvatar"),s={},l=i.checkAvatarPosition(r),c=l.getElementsByClassName("dojoDndItem"),h=document.createEvent("MouseEvent"),u=document.createEvent("MouseEvent");switch(n.type){case"touchstart":e=r.pageX,o="mousedown";break;case"touchmove":n.preventDefault(),o="mousemove";break;default:return}switch(h.initMouseEvent(o,!0,!0,window,1,r.pageX,r.pageY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),u.initMouseEvent("mouseover",!0,!0,window,1,r.pageX,r.pageY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.type){case"touchstart":r.target.dispatchEvent(h),r.target.dispatchEvent(u),t=l;break;case"touchmove":if(a.length>0){c.length>0&&(s=c[i.CompareObjPos(c,r)]);try{if(t!=l){var d=document.createEvent("MouseEvent");d.initMouseEvent("mouseout",!0,!0,window,1,r.pageX,r.pageY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(d)}s.dispatchEvent(u),s.dispatchEvent(h)}catch(e){l.dispatchEvent(u),l.dispatchEvent(h)}}break;default:return}}else i.removeTouchEvents()},touchEnd:function(t){var n=t.changedTouches[0],r=document.getElementsByClassName("dojoDndAvatar"),o={},a=i.checkAvatarPosition(n),s=a.getElementsByClassName("dojoDndItem"),l=document.createEvent("MouseEvent"),c=document.createEvent("MouseEvent");if(e!==n.pageX&&t.preventDefault(),i.findPos(n.target),l.initMouseEvent("mouseup",!0,!0,window,1,n.pageX,n.pageY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),c.initMouseEvent("mouseover",!0,!0,window,1,n.pageX,n.pageY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),r.length>0){s.length>0&&(o=s[i.CompareObjPos(s,n)]);try{o.dispatchEvent(c),o.dispatchEvent(l)}catch(e){n.target.dispatchEvent(c),a.dispatchEvent(c)}}else n.target.dispatchEvent(l),n.target.dispatchEvent(c);i.removeTouchEvents()},touchHandle:function(t){if(dojo.query(".dojoDndItemAnchor").connect("touchstart",i.touchSimulated),dojo.query(".dojoDndItemAnchor").connect("touchmove",i.touchSimulated),dojo.query(".dojoDndItemAnchor").connect("touchend",i.touchEnd),dojo.query(".dojoDndItemAnchor").connect("click",function(){}),t.touches.length<=1){var n=t.changedTouches[0],r="";switch(t.type){case"touchstart":e=n.pageX,r="mousedown";break;case"touchmove":t.preventDefault(),r="mousemove";break;case"touchend":e!==n.pageX&&t.preventDefault(),r="mouseup";break;default:return}var o=document.createEvent("MouseEvent");o.initMouseEvent(r,!0,!0,window,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}else i.removeTouchEvents()},touchinit:function(){dojo.query(".dojoDndItem").connect("touchstart",i.touchSimulated),dojo.query(".dojoDndItem").connect("touchmove",i.touchSimulated),dojo.query(".dojoDndItem").connect("touchend",i.touchEnd),dojo.query(".locationThumb").connect("touchstart",i.touchHandle),dojo.query(".locationThumb").connect("touchmove",i.touchHandle),dojo.query(".locationThumb").connect("touchend",i.touchHandle),dojo.query(".dojoDndItem").connect("click",function(){}),dojo.query(".dojoDndTarget").connect("touchstart",i.touchHandle),dojo.query(".dojoDndTarget").connect("touchmove",i.touchHandle),dojo.query(".dojoDndTarget").connect("touchend",i.touchHandle),dojo.query(".dijitSplitter").connect("touchstart",i.touchHandle),dojo.query(".dijitSplitter").connect("touchmove",i.touchHandle),dojo.query(".dijitSplitter").connect("touchend",i.touchHandle)},loadTouch:function(){i.touchinit(),document.documentElement.style.webkitTouchCallout="none"},findPos:function(e){var t=0,i={};if(e.offsetParent)do{t+=e.offsetTop}while(e=e.offsetParent);return i.top=t,i}}}.apply(null,[]))||(e.exports=n)},427:function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};__WEBPACK_AMD_DEFINE_ARRAY__=[__webpack_require__(820),__webpack_require__(821)],__WEBPACK_AMD_DEFINE_RESULT__=function(){var AdaptorUtil;return AdaptorUtil={evalHooks:function(e){for(var t in e)if("object"==_typeof(e[t]))e[t]=this.evalHooks(e[t]);else if("string"==typeof e[t]){var i=e[t];/^\s*function\s*\(/.test(i)&&(e[t]=this.evalHook(i))}return e},evalHook:function evalHook(){if("string"!=typeof arguments[0])return arguments[0];try{eval("arguments[0]="+arguments[0]+";")}catch(e){console.error(e+" parsing config callback '"+arguments[0]+"'")}return arguments[0]}},AdaptorUtil}.apply(null,__WEBPACK_AMD_DEFINE_ARRAY__),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},428:function(e,t,i){var n,r;n=[i(575),i(368)],void 0===(r=function(e,t){return e(t,{name:"BAM",storeType:"JBrowse/Store/SeqFeature/BAM",fileExtension:"bam",fileConfKey:"bam",fileUrlConfKey:"urlTemplate",indexTypes:[{indexExtension:"bam.bai",indexConfKey:"bai",indexUrlConfKey:"baiUrlTemplate"},{indexExtension:"bam.csi",indexConfKey:"csi",indexUrlConfKey:"csiUrlTemplate"}]})}.apply(null,n))||(e.exports=r)},429:function(e,t,i){var n,r;n=[i(575),i(358)],void 0===(r=function(e,t){return e(t,{name:"CRAM",storeType:"JBrowse/Store/SeqFeature/CRAM",fileExtension:"cram",fileConfKey:"cram",fileUrlConfKey:"urlTemplate",indexExtension:"cram.crai",indexConfKey:"crai",indexUrlConfKey:"craiUrlTemplate"})}.apply(null,n))||(e.exports=r)},430:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/BigWig",tryResource:function(e,i){if("bigwig"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".bw",".bigwig"]);if(!n)return!1;var o="BigWig_"+n+"_"+r++;return e[o]={fileBasename:n,type:this.storeType,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},431:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/GFF3",tryResource:function(e,i){if("gff3"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".gff3",".gff"]);if(!n)return!1;var o="GFF3_"+n+"_"+r++;return e[o]={type:this.storeType,fileBasename:n,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},432:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/GTF",tryResource:function(e,i){if("gtf"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"");if(!n)return!1;var o="GTF_"+n+"_"+r++;return e[o]={type:this.storeType,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},433:function(e,t,i){var n,r;n=[i(575),i(368)],void 0===(r=function(e,t){return e(t,{name:"VCF+Tabix",storeType:"JBrowse/Store/SeqFeature/VCFTabix",fileExtension:"vcf.gz",fileConfKey:"file",fileUrlConfKey:"urlTemplate",indexTypes:[{indexExtension:"vcf.gz.tbi",indexConfKey:"tbi",indexUrlConfKey:"tbiUrlTemplate"},{indexExtension:"vcf.gz.csi",indexConfKey:"csi",indexUrlConfKey:"csiUrlTemplate"}]})}.apply(null,n))||(e.exports=r)},434:function(e,t,i){var n,r;n=[i(575),i(358)],void 0===(r=function(e,t){return e(t,{name:"VCF+IDX",storeType:"JBrowse/Store/SeqFeature/VCFTribble",fileExtension:"vcf",fileConfKey:"file",fileUrlConfKey:"urlTemplate",indexExtension:"idx",indexConfKey:"idx",indexUrlConfKey:"idxUrlTemplate"})}.apply(null,n))||(e.exports=r)},435:function(e,t,i){var n,r;n=[i(575),i(358)],void 0===(r=function(e,t){return e(t,{name:"BED+Tabix",storeType:"JBrowse/Store/SeqFeature/BEDTabix",fileExtension:"bed.gz",fileConfKey:"file",fileUrlConfKey:"urlTemplate",indexExtension:"bed.gz.tbi",indexConfKey:"tbi",indexUrlConfKey:"tbiUrlTemplate"})}.apply(null,n))||(e.exports=r)},436:function(e,t,i){var n,r;n=[i(575),i(368)],void 0===(r=function(e,t){return e(t,{name:"GFF3+Tabix",storeType:"JBrowse/Store/SeqFeature/GFF3Tabix",fileExtension:"gff3.gz",fileExtensionMap:[".gff3.gz",".gff.gz"],fileConfKey:"file",fileUrlConfKey:"urlTemplate",indexTypes:[{indexExtension:"gff3.gz.tbi",indexExtensionMap:[".gff3.gz.tbi",".gff.gz.tbi"],indexConfKey:"tbi",indexUrlConfKey:"tbiUrlTemplate"},{indexExtension:"gff3.gz.csi",indexExtensionMap:[".gff3.gz.csi",".gff.gz.csi"],indexConfKey:"csi",indexUrlConfKey:"csiUrlTemplate"}]})}.apply(null,n))||(e.exports=r)},437:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/BED",tryResource:function(e,i){if("bed"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".bed"]);if(!n)return!1;var o="BED_"+n+"_"+r++;return e[o]={type:this.storeType,fileBasename:n,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},438:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/BigBed",tryResource:function(e,i){if("bb"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".bb"]);if(!n)return!1;var o="BigBed_"+n+"_"+r++;return e[o]={type:this.storeType,fileBasename:n,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},439:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(709)],void 0===(r=function(e,t,i,n){return e(null,{constructor:function(e){this.dialog=e.dialog,this.domNode=i.create("div",{className:"resourceList"}),this._updateView()},clearLocalFiles:function(){this._resources=t.filter(this._resources||[],function(e){return!e.file}),this._notifyChange()},_notifyChange:function(){this.onChange(t.map(this._resources||[],function(e){var t={};return e.file&&(t.file=e.file),e.url&&(t.url=e.url),t.type=e.type.get("value"),t}))},_addResources:function(e){var i={},n=(this._resources||[]).concat(e);this._resources=t.filter(n.reverse(),function(e){var t=e.file&&e.file.name||e.url;return!i[t]&&(i[t]=!0,!0)}).reverse(),this._updateView(),this._notifyChange()},addLocalFiles:function(e){this._addResources(t.map(e,function(e){return{file:e}}))},clearURLs:function(){this._resources=t.filter(this._resources||[],function(e){return!e.url}),this._notifyChange()},addURLs:function(e){this._addResources(t.map(e,function(e){return{url:e}}))},onChange:function(){},_updateView:function(){var e=this.domNode;if(i.empty(e),i.create("h3",{innerHTML:"Files and URLs"},e),(this._resources||[]).length){var r=i.create("table",{},e);t.forEach(this._resources,function(e,t){var o=this,a=i.create("tr",{},r),s=e.url||e.file.name,l=new n({options:[{label:'<span class="ghosted">file type?</span>',value:null},{label:"GFF3",value:"gff3"},{label:"GTF",value:"gtf"},{label:"BigWig",value:"bigwig"},{label:"BAM",value:"bam"},{label:"BAM index",value:"bam.bai"},{label:"FASTA",value:"fasta"},{label:"FASTA index",value:"fai"},{label:"BGZIP FASTA",value:"fasta.gz"},{label:"BGZIP FASTA index (.gz.fai)",value:"fasta.gz.fai"},{label:"BGZIP index (.gz.gzi)",value:"gzi"},{label:"2bit",value:"2bit"},{label:"BigBed",value:"bb"},{label:"VCF+bgzip",value:"vcf.gz"},{label:"VCF",value:"vcf"},{label:"IGV/GATK Index",value:"idx"},{label:"BED+bgzip",value:"bed.gz"},{label:"BED",value:"bed"},{label:"GFF3+bgzip",value:"gff3.gz"},{label:"VCF+Tabix index",value:"vcf.gz.tbi"},{label:"GFF3+Tabix index",value:"gff3.gz.tbi"},{label:"BED+Tabix index",value:"bed.gz.tbi"},{label:"BED+CSI index",value:"bed.gz.csi"},{label:"VCF+CSI index",value:"vcf.gz.csi"},{label:"GFF3+CSI index",value:"gff3.gz.csi"},{label:"BAM+CSI index",value:"bam.csi"},{label:"CRAM",value:"cram"},{label:"CRAM index",value:"cram.crai"},{label:"Chrom sizes",value:"chrom.sizes"}],value:this.guessType(s),onChange:function(){o._rememberedTypes=o._rememberedTypes||{},o._rememberedTypes[s]=this.get("value"),o._notifyChange()}});l.placeAt(dojo.create("td",{width:"4%"},a)),e.type=l,dojo.create("td",{width:"1%",innerHTML:'<div class="'+(e.file?"dijitIconFile":"jbrowseIconLink")+'"></div>'},a),dojo.create("td",{innerHTML:s},a),dojo.create("td",{width:"1%",innerHTML:'<div class="dijitIconDelete"></div>',onclick:function(t){t.preventDefault&&t.preventDefault(),o.deleteResource(e)}},a)},this)}else i.create("div",{className:"emptyMessage",innerHTML:"Add files and URLs using the controls above."},e);i.create("div",{className:"connector",innerHTML:"&nbsp;"},e)},deleteResource:function(e){this._resources=t.filter(this._resources||[],function(t){return t!==e}),this._updateView(),this._notifyChange()},guessType:function(e){return(this._rememberedTypes||{})[e]||(/\.bam$/i.test(e)?"bam":/\.bai$/i.test(e)?"bam.bai":/\.gff3?$/i.test(e)?"gff3":/\.gtf?$/i.test(e)?"gtf":/\.(bw|bigwig)$/i.test(e)?"bigwig":/\.(fa|fasta|fna|mfa)$/i.test(e)?"fasta":/\.(fa|fasta|fna|mfa)\.gz$/i.test(e)?"fasta.gz":/\.(fa|fasta|fna|mfa)\.gz\.fai$/i.test(e)?"fasta.gz.fai":/\.2bit$/i.test(e)?"2bit":/\.fai$/i.test(e)?"fai":/\.idx$/i.test(e)?"idx":/\.vcf$/i.test(e)?"vcf":/\.vcf\.gz$/i.test(e)?"vcf.gz":/\.bed\.gz$/i.test(e)?"bed.gz":/\.gzi$/i.test(e)?"gzi":/\.gff3?\.gz$/i.test(e)?"gff3.gz":/\.bed$/i.test(e)?"bed":/\.(bb|bigbed)$/i.test(e)?"bb":/\.gff3?\.gz.tbi$/i.test(e)?"gff3.gz.tbi":/\.vcf.gz.tbi$/i.test(e)?"vcf.gz.tbi":/\.bed.gz.tbi$/i.test(e)?"bed.gz.tbi":/\.bed.gz.csi/i.test(e)?"bed.gz.csi":/\.gff3?\.gz.csi$/i.test(e)?"gff3.gz.csi":/\.vcf.gz.csi$/i.test(e)?"vcf.gz.csi":/\.bam.csi$/i.test(e)?"bam.csi":/\.cram$/i.test(e)?"cram":/\.crai$/i.test(e)?"cram.crai":/\.sizes$/i.test(e)?"chrom.sizes":null)}})}.apply(null,n))||(e.exports=r)},440:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};n=[i(575),i(577),i(579),i(334),i(651),i(709),i(596),i(367)],void 0===(r=function(e,t,i,n,r,a,s,l){return e(null,{constructor:function(e){this.browser=e.browser,this.fileDialog=e.fileDialog,this.domNode=i.create("div",{className:"trackList",innerHTML:"track list!"}),this._updateDisplay()},getTrackConfigurations:function(){return n.dojof.values(this.trackConfs||{})},update:function(e){this.storeConfs={},this.trackConfs={},this._makeStoreConfs(e),this._makeTrackConfs(),this._updateDisplay()},_makeStoreConfs:function(e){this.storeConfs=this.storeConfs||{};for(var i=this.fileDialog.getFileTypeDrivers(),n=0;e.length&&e.length!=n;)n=(e=t.filter(e,function(e){return!t.some(i,function(t){return t.tryResource(this.storeConfs,e)},this)},this)).length;t.forEach(i,function(e){e.finalizeConfiguration(this.storeConfs)},this),e.length&&console.warn("Not all resources could be assigned to tracks. Unused resources:",e)},_makeTrackConfs:function(){var e=this.browser.getTrackTypes().trackTypeDefaults,t={};for(var i in this.storeConfs)if(this.storeConfs[i].fileBasename){var n=this.storeConfs[i].fileBasename.replace(/\.(coverage|density|histograms?)$/,"");n!=this.storeConfs[i].fileBasename&&(t[n]={store:this.storeConfs[i],name:i,used:!1})}for(var i in this.storeConfs){var r=this.storeConfs[i],o=e[r.type]||"JBrowse/View/Track/CanvasFeatures";this.trackConfs=this.trackConfs||{},this.trackConfs[i]={store:this.storeConfs[i],label:i,key:i.replace(/_\d+$/,"").replace(/_/g," "),type:o,category:"Local tracks",autoscale:"local"};var a=t[r.fileBasename];a&&(this.trackConfs[i].histograms={store:a.store,description:a.store.fileBasename},a.used=!0)}for(var i in t)t[i].used&&delete this.trackConfs[t[i].name]},_delete:function(e){delete(this.trackConfs||{})[e],this._updateDisplay()},_updateDisplay:function(){var e=this;if(i.empty(this.domNode),i.create("h3",{innerHTML:"New Tracks"},this.domNode),n.dojof.keys(this.trackConfs||{}).length){var c=i.create("table",{innerHTML:'<tr class="head"><th>Name</th><th>Display</th><th></th></tr>'},this.domNode),h=this.browser.getTrackTypes();Object.entries(this.trackConfs).forEach(function(n){var u=o(n,2),d=u[0],f=u[1],g=i.create("tr",{},c);new r({value:f.key,onChange:function(){f.key=this.get("value")}}).placeAt(i.create("td",{className:"name"},g)),new a({options:t.map(h.knownTrackTypes,function(e){return{label:h.trackTypeLabels[e]||e.replace("JBrowse/View/Track/","").replace(/\//g," "),value:e}}),value:f.type,onChange:function(){f.type=this.get("value")}}).placeAt(i.create("td",{className:"type"},g)),new s({className:"edit",title:"edit configuration",innerHTML:"Edit Configuration",onClick:function(){new l(f).show(function(t){dojo.mixin(f,t.conf),e._updateDisplay()})}}).placeAt(i.create("td",{className:"edit"},g)),dojo.create("td",{width:"1%",innerHTML:'<div class="dijitIconDelete"></div>',onclick:function(t){t.preventDefault&&t.preventDefault(),e._delete(d)}},g),i.create("td",{className:"type"},g)})}else i.create("div",{className:"emptyMessage",innerHTML:"None"},this.domNode)}})}.apply(null,n))||(e.exports=r)},441:function(e,t,i){var n,r;n=[i(575),i(596),i(711),i(579),i(383),i(442),i(443),i(445),i(446)],void 0===(r=function(e,t,i,n,r,o,a,s,l){return e(r,{constructor:function(e){return this.inherited(arguments),this._fileTypeDrivers=[new o,new a,new s,new l],this},show:function(e){e.introMsg="Select a FASTA file (.fa), indexed FASTA (.fa and .fai), bgzip indexed FASTA (.fa, .fai, and .gzi), twobit (.2bit) file, or a chrom.sizes file (tab separated refseq name and length)",this.inherited(arguments),this.dialog.set("title","Open sequence file")},_makeActionBar:function(e,r){var o=this,a=n.create("div",{className:"dijitDialogPaneActionBar"}),s=this.refSeqOrderChoice=[new i({id:"sortAlpha",value:"sortAlpha",checked:!0}),new i({id:"sortLength",value:"sortLength"}),new i({id:"noSort",value:"noSort"})],l=n.create("div",{className:"aux"},a);return s[0].placeAt(l),n.create("label",{for:"sortAlpha",innerHTML:"Sort refseqs by name"},l),s[1].placeAt(l),n.create("label",{for:"sortLength",innerHTML:"Sort refseqs by length"},l),s[2].placeAt(l),n.create("label",{for:"noSort",innerHTML:"Use order from file"},l),new t({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(this,function(){r&&r(),this.dialog.hide()})}).placeAt(a),new t({iconClass:"dijitIconFolderOpen",label:"Open",onClick:function(){e&&e({trackConfs:o.trackList.getTrackConfigurations(),refSeqOrder:o.refSeqOrderChoice[0].checked?"alphabetic descending":o.refSeqOrderChoice[1].checked?"length descending":void 0}).then(function(){return o.dialog.hide()},function(e){console.error(e)})}}).placeAt(a),{domNode:a}}})}.apply(null,n))||(e.exports=r)},442:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{name:"BGZFASTA",storeType:"JBrowse/Store/SeqFeature/BgzipIndexedFasta",fileExtension:"fasta.gz",fileExtensionMap:[".fasta.gz",".fa.gz",".fna.gz",".mfa.gz"],fileConfKey:"bgzfa",fileUrlConfKey:"urlTemplate",indexExtension:"fasta.gz.fai",indexExtensionMap:[".fasta.gz.fai",".fa.gz.fai",".fna.gz.fai",".mfa.gz.fai"],indexConfKey:"fai",indexUrlConfKey:"faiUrlTemplate",doubleIndexExtension:"gzi",doubleIndexExtensionMap:[".fasta.gz.gzi",".fa.gz.gzi",".fna.gz.gzi",".mfa.gz.gzi"],doubleIndexConfKey:"gzi",doubleIndexUrlConfKey:"gziUrlTemplate",tryResource:function(e,i){if(i.type==this.fileExtension){if(!(a=t.basename(i.file?i.file.name:i.url?i.url:"",this.fileExtensionMap)))return!1;for(var n in e){var o=e[n];if(t.basename(o[this.indexConfKey]?o[this.indexConfKey].url||o[this.indexConfKey].blob.name:o[this.indexUrlConfKey],this.indexExtensionMap)==a||t.basename(o[this.doubleIndexConfKey]?o[this.doubleIndexConfKey].url||o[this.doubleIndexConfKey].blob.name:o[this.doubleIndexUrlConfKey],this.doubleIndexExtensionMap)==a)return o[this.fileConfKey]=this._makeBlob(i),!0}return e[s=this.name+"_"+a+"_"+r++]={type:this.storeType,name:s,fileBasename:a},e[s][this.fileConfKey]=this._makeBlob(i),!0}if(i.type==this.indexExtension){if(!(a=t.basename(i.file?i.file.name:i.url?i.url:"",this.indexExtensionMap)))return!1;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileConfKey],this.fileExtensionMap)==a||t.basename(o[this.doubleIndexConfKey]?o[this.doubleIndexConfKey].url||o[this.doubleIndexConfKey].blob.name:o[this.doubleIndexUrlConfKey],this.doubleIndexExtensionMap)==a)return o[this.indexConfKey]=this._makeBlob(i),!0;return e[s=this.name+"_"+t.basename(a,"."+this.fileExtension)+"_"+r++]={name:s,type:this.storeType},e[s][this.indexConfKey]=this._makeBlob(i),!0}if(i.type==this.doubleIndexExtension){var a,s;if(!(a=t.basename(i.file?i.file.name:i.url?i.url:"",this.doubleIndexExtensionMap)))return!1;for(var n in e)if(o=e[n],t.basename(o[this.fileConfKey]?o[this.fileConfKey].url||o[this.fileConfKey].blob.name:o[this.fileConfKey],this.fileExtensionMap)==a||t.basename(o[this.indexConfKey]?o[this.indexConfKey].url||o[this.indexConfKey].blob.name:o[this.indexUrlConfKey],this.indexExtensionMap)==a)return o[this.doubleIndexConfKey]=this._makeBlob(i),!0;return e[s=this.name+"_"+t.basename(a,"."+this.fileExtension)+"_"+r++]={name:s,type:this.storeType},e[s][this.doubleIndexConfKey]=this._makeBlob(i),!0}return!1},finalizeConfiguration:function(e){for(var t in e){var i=e[t];if(i.type===this.storeType){var n=i[this.indexConfKey]||i[this.indexUrlConfKey],r=i[this.fileConfKey]||i[this.fileUrlConfKey],o=i[this.doubleIndexConfKey]||i[this.doubleIndexUrlConfKey];n&&r&&o||delete e[t]}}},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return(e[this.fileConfKey]||e[this.fileUrlConfKey])&&(e[this.indexConfKey]||e[this.indexUrlConfKey])&&(e[this.doubleIndexConfKey]||e[this.doubleIndexUrlConfKey])}})}.apply(null,n))||(e.exports=r)},443:function(e,t,i){var n,r;n=[i(575),i(444)],void 0===(r=function(e,t){return e(t,{name:"FASTA",storeType:"JBrowse/Store/SeqFeature/IndexedFasta",unindexedStoreType:"JBrowse/Store/SeqFeature/UnindexedFasta",fileExtension:"fasta",fileConfKey:"fasta",fileUrlConfKey:"urlTemplate",indexExtension:"fai",indexConfKey:"fai",indexUrlConfKey:"faiUrlTemplate"})}.apply(null,n))||(e.exports=r)},444:function(e,t,i){var n,r;n=[i(575),i(334),i(358)],void 0===(r=function(e,t,i){return e(i,{finalizeConfiguration:function(e){var t={},i=0,n={},r=0;for(var o in e){var a=e[o];a.type===this.storeType&&(!a[this.indexConfKey]&&!a[this.indexUrlConfKey]||a[this.fileConfKey]||a[this.fileUrlConfKey]?!a[this.fileConfKey]&&!a[this.fileUrlConfKey]||a[this.indexConfKey]||a[this.indexUrlConfKey]||(r++,n[o]=a):(i++,t[o]=a))}if(1==r&&1==i)for(var s in t)for(var l in n)t[s][this.indexUrlConfKey]&&(n[l][this.indexUrlConfKey]=t[s][this.indexUrlConfKey]),t[s][this.indexConfKey]&&(n[l][this.indexConfKey]=t[s][this.indexConfKey]),delete e[s];for(var s in t)delete e[s];for(var l in n)e[l].type=this.unindexedStoreType},confIsValid:function(e){return e[this.fileConfKey]||e[this.fileUrlConfKey]}})}.apply(null,n))||(e.exports=r)},445:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/TwoBit",tryResource:function(e,i){if("2bit"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".2bit"]);if(!n)return!1;var o="TwoBit_"+n+"_"+r++;return e[o]={fileBasename:n,type:this.storeType,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},446:function(e,t,i){var n,r;n=[i(575),i(334),i(343),i(337)],void 0===(r=function(e,t,i,n){var r=0;return e(null,{storeType:"JBrowse/Store/SeqFeature/ChromSizes",tryResource:function(e,i){if("chrom.sizes"==i.type){var n=t.basename(i.file?i.file.name:i.url?i.url:"",[".sizes"]);if(!n)return!1;var o="REF_"+n+"_"+r++;return e[o]={type:this.storeType,fileBasename:n,blob:this._makeBlob(i),name:o},!0}return!1},finalizeConfiguration:function(e){},_makeBlob:function(e){var t=e.file?new i(e.file):e.url?new n(e.url):null;if(!t)throw"unknown resource type";return t},confIsValid:function(e){return e.blob||e.urlTemplate}})}.apply(null,n))||(e.exports=r)},447:function(e,t,i){var n,r;n=[i(575),i(579),i(595),i(647),i(596),i(606),i(385)],void 0===(r=function(e,t,i,n,r,o,a){return e(null,{constructor:function(e){this.browser=e.browser,this.config=dojo.clone(e.config||{}),this.locationChoices=e.locationChoices||[],this.title=e.title||"Choose location",this.prompt=e.prompt,this.goCallback=e.goCallback,this.showCallback=e.showCallback},show:function(){var e=this.dialog=new n({title:this.title,className:"locationChoiceDialog",style:{width:"70%"}}),s=t.create("div",{});this.prompt&&t.create("div",{className:"prompt",innerHTML:this.prompt},s);var l=this.browser;this.locationListView=new a({browser:l,locations:this.locationChoices,buttons:[{className:"show",innerHTML:"Show",onClick:this.showCallback||function(e){l.showRegionAfterSearch(e)}},{className:"go",innerHTML:"Go",onClick:this.goCallback||function(t){e.hide(),l.showRegionAfterSearch(t)}}]},t.create("div",{className:"locationList",style:{maxHeight:.5*this.browser.container.offsetHeight+"px"}},s)),this.actionBar=dojo.create("div",{className:"infoDialogActionBar dijitDialogPaneActionBar"}),new r({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(e,"hide")}).placeAt(this.actionBar),e.set("content",[s,this.actionBar]),e.show(),i.after(e,"hide",dojo.hitch(this,function(){o.curNode&&o.curNode.blur(),setTimeout(function(){e.destroyRecursive()},500)}))}})}.apply(null,n))||(e.exports=r)},448:function(e,t,i){var n,r;n=[i(575),i(579),i(606),i(651),i(346),i(580),i(596),i(345)],void 0===(r=function(e,t,i,n,r,o,a,s){return e(r,{autofocus:!1,title:"Set highlight",constructor:function(e){this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){}},_fillActionBar:function(e){var t=this;new a({iconClass:"dijitIconDelete",label:"Cancel",onClick:function(){t.cancelCallback&&t.cancelCallback(),t.hide()}}).placeAt(e),new a({iconClass:"dijitIconFilter",label:"Highlight",onClick:function(){t.setCallback&&t.setCallback(t.getLocation()),t.hide()}}).placeAt(e)},show:function(e){dojo.addClass(this.domNode,"setHighlightDialog");var i=this.browser.view.visibleRegionLocString();i&&(i+=" (current view)"),this.highlightInput=new n({id:"newhighlight_locstring",value:(this.browser.getHighlight()||"").toString()||i||"",placeHolder:i||"ctgA:1234..5678"}),this.set("content",[t.create("label",{for:"newhighlight_locstring",innerHTML:"Location"}),this.highlightInput.domNode]),this.inherited(arguments)},getLocation:function(){return new s(this.highlightInput.get("value"))},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},449:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(606),i(651),i(346),i(580),i(596),i(345),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c){return e(o,{autofocus:!1,title:"Open plugin",constructor:function(e){this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){},this.plugins=[]},_fillActionBar:function(e){var t=this;new s({iconClass:"dijitIconDelete",label:"Cancel",onClick:function(){t.cancelCallback&&t.cancelCallback(),t.hide()}}).placeAt(e),new s({iconClass:"dijitIconFolderOpen",label:"Open",onClick:function(){t.setCallback&&t.setCallback(t.plugins),t.hide()}}).placeAt(e)},show:function(e){dojo.addClass(this.domNode,"jbrowse fileDialog");var n,r=i.create("div",{className:"localFilesControl",style:{width:"100%"}}),o=i.create("div",{className:"dragArea"},r);c.isElectron()?n=i.create("input",{type:"button",value:"Select files...",id:"openFile"},o):((n=new dojox.form.Uploader({multiple:!0})).placeAt(o),this.browserSupports.dnd&&(n.addDropTarget(this.domNode),i.create("div",{className:"dragMessage",innerHTML:"Select or drag files here."},o)));var s=this;a(n,"click",function(){var e=electronRequire("electron").remote.dialog.showOpenDialog({properties:["openDirectory"]});if(e){var i=t.map(e,function(e){return c.replacePath(e)});s.plugins.push(i[0]),dojo.byId("plugins_list").innerHTML+=i+"<br/>"}});var l=[i.create("div",{className:"intro",innerHTML:"Select plugin directories to load. Note: The name of the directory will also be used as the name of the plugin, which is sometimes important for the plugin loader"}),function(e,n){var r=i.create("div",{className:"resourceControls",style:{width:"100%"}});return t.forEach(n,dojo.hitch(r,"appendChild")),r}(0,[r]),i.create("div",{className:"files",id:"plugins_list",innerHTML:"Plugins:<br/>"})];this.set("content",l),this.inherited(arguments)},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},450:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(606),i(651),i(346),i(580),i(596),i(345),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c){return e(o,{autofocus:!1,title:"Open directory",constructor:function(e){this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){},this.datadir=""},_fillActionBar:function(e){var t=this;new s({iconClass:"dijitIconDelete",label:"Cancel",onClick:function(){t.cancelCallback&&t.cancelCallback(),t.hide()}}).placeAt(e),new s({iconClass:"dijitIconFolderOpen",label:"Open",onClick:function(){t.setCallback&&t.setCallback(t.datadir),t.hide()}}).placeAt(e)},show:function(e){dojo.addClass(this.domNode,"fileDialog");var n=this._makeRemoteURLsControl(),r=this._makeLocalFileControl(),o=[i.create("div",{className:"intro",innerHTML:'Select a data directory to load, either from a "track hub" on the web, or from a local folder on your filesystem'}),function(e,n){var r=i.create("div",{className:"resourceControls"});return t.forEach(n,dojo.hitch(r,"appendChild")),r}(0,[r.domNode,n.domNode]),i.create("div",{className:"files",id:"data_dir",innerHTML:'<b>Result</b>:<br/><div id="data_dir_list"></div>'})];this.set("content",o),this.inherited(arguments)},_makeRemoteURLsControl:function(){var e=i.create("div",{className:"remoteURLsControl"}),t=this;i.create("h3",{innerHTML:"Remote URLs - <smaller>one per line</smaller>"},e);var n={domNode:e,onChange:function(e){}};return n.input=i.create("textarea",{className:"urlInput",placeHolder:"http://jbrowse.org/data_hub",cols:25,rows:5,spellcheck:!1},e),a(n.input,"change",function(e){console.log(n.input.value),dojo.byId("data_dir_list").innerHTML=n.input.value,t.datadir=n.input.value}),window.setTimeout(function e(){n.input.value==t.datadir||t.localopened||(dojo.byId("data_dir_list").innerHTML=n.input.value,t.datadir=n.input.value),window.setTimeout(e,900)},900),n},_makeLocalFileControl:function(){var e,n=i.create("div",{className:"localFilesControl",style:{width:"50%"}}),r=(i.create("h3",{innerHTML:"Local data directories"},n),i.create("div",{className:"dragArea"},n));c.isElectron()?e=i.create("input",{type:"button",value:"Select directory...",id:"openFile"},r):((e=new dojox.form.Uploader({multiple:!0})).placeAt(r),this.browserSupports.dnd&&(e.addDropTarget(this.domNode),i.create("div",{className:"dragMessage",innerHTML:"Select or drag files here."},r)));var o=this;return a(e,"click",function(){var e=electronRequire("electron").remote.dialog.showOpenDialog({properties:["openDirectory"]});if(e){var i=t.map(e,function(e){return c.replacePath(e)});o.datadir=i[0],o.localopened=!0,dojo.byId("data_dir_list").innerHTML=i[0]}}),{domNode:n}},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},451:function(e,t,i){var n,r;n=[i(575),i(357)],void 0===(r=function(e,t){return e(t,{title:"JBrowse Help",constructor:function(e){this.browser=e.browser,this.defaultContent=this._makeDefaultContent(),e.content||e.href||(this.content=this.defaultContent)},_makeDefaultContent:function(){return'<div class="jbrowse help_dialog"><div class="main" style="float: left; width: 49%;"><dl><dt>Moving</dt><dd><ul> <li>Move the view by clicking and dragging in the track area, or by clicking <img class="icon nav" id="moveLeftSmall" src="'+this.browser.resolveUrl("img/Empty.png")+'"> or <img class="icon nav" id="moveRightSmall" src="'+this.browser.resolveUrl("img/Empty.png")+'"> in the navigation bar, or by pressing the left and right arrow keys.</li> <li>Center the view at a point by clicking on either the track scale bar or overview bar, or by shift-clicking in the track area.</li></ul></dd><dt>Zooming</dt><dd><ul> <li>Zoom in and out by clicking <img class="icon nav" id="zoomInSmall" src="'+this.browser.resolveUrl("img/Empty.png")+'"> or <img class="icon nav" id="zoomOutSmall" src="'+this.browser.resolveUrl("img/Empty.png")+'"> in the navigation bar, or by pressing the up and down arrow keys while holding down "shift".</li> <li>Select a region and zoom to it ("rubber-band" zoom) by clicking and dragging in the overview or track scale bar, or shift-clicking and dragging in the track area.</li> </ul></dd><dt>Showing Tracks</dt><dd><ul><li>Turn a track on by dragging its track label from the "Available Tracks" area into the genome area, or double-clicking it.</li> <li>Turn a track off by dragging its track label from the genome area back into the "Available Tracks" area.</li> </ul></dd></dl></div><div class="main" style="float: right; width: 49%;"><dl><dt>Searching</dt><dd><ul> <li>Jump to a feature or reference sequence by typing its name in the location box and pressing Enter.</li> <li>Jump to a specific region by typing the region into the location box as: <span class="example">ref:start..end</span>.</li> </ul></dd><dt>Example Searches</dt><dd> <dl class="searchexample"> <dt>uc0031k.2</dt><dd>searches for the feature named <span class="example">uc0031k.2</span>.</dd> <dt>chr4</dt><dd>jumps to chromosome 4</dd> <dt>chr4:79,500,000..80,000,000</dt><dd>jumps the region on chromosome 4 between 79.5Mb and 80Mb.</dd> <dt>5678</dt><dd>centers the display at base 5,678 on the current sequence</dd> </dl></dd><dt>JBrowse Documentation</dt><dd><ul><li><a target="_blank" href="docs/tutorial/">Quick-start tutorial</a></li> <li><a target="_blank" href="http://gmod.org/wiki/JBrowse">JBrowse Configuration Guide</a></li> </ul></dd></dl></div></div>'}})}.apply(null,n))||(e.exports=r)},452:function(e,t,i){var n,r;n=[i(575),i(645)],void 0===(r=function(e,t){return e(t,{baseClass:"jbrowseStandaloneDatasetSelector",buildRendering:function(){this.inherited(arguments);var e=this.domNode;e.appendChild(document.createElement("h2")).innerHTML="Available Datasets",this.containerNode=e.appendChild(document.createElement("ul"));var t=this.get("datasets"),i=e.appendChild(document.createElement("ul"));for(var n in t)if(!/^_/.test(n)){var r=t[n],o=document.createElement("li"),a=document.createElement("a");a.setAttribute("href",r.url),a.innerHTML=r.name,o.appendChild(a),i.appendChild(o)}}})}.apply(null,n))||(e.exports=r)},453:function(e,t,i){var n,r,o=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,o=e}finally{try{!n&&s.return&&s.return()}finally{if(r)throw o}}return i}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},a=i(347);n=[i(575),i(576),i(587),i(336),i(337),i(339)],void 0===(r=function(e,t,i,n,r,s){return e([n,s],{constructor:function(e){var t=this,i=void 0;e.blob?i=new a(e.blob):e.urlTemplate&&(i=new a(new r(this.resolveUrl(e.urlTemplate)))),this.source=i.toString(),this.data=i,this.refSeqs={},this.init({success:function(){return t._deferred.features.resolve({success:!0})},failure:this._failAllDeferred.bind(this)})},hasRefSeq:function(e,t,i){this.getSequenceSize(e).then(function(e){t(void 0!==e)},i)},getRefSeqs:function(e,t){var i=this;this.getSequenceSizes().then(function(e){return Object.entries(i.refSeqs).map(function(e){var t=o(e,2),i=t[0],n=t[1];return{name:i,length:n,end:n,start:0}})}).then(e,t)},getSequenceSize:function(e){var t=this;return this._deferred.features.then(function(){return t.refSeqs[e]})},getSequenceSizes:function(){var e=this;return this._deferred.features.then(function(){return e.refSeqs})},init:function(e){var t=this,i=(this.data,e.success||function(){}),n=e.failure||function(e){console.error(e,e.stack)};this.data.readFile().then(function(e){e.length||n("Could not read file "+t.source),e.toString("utf8").split("\n").forEach(function(e){if(e.length){var i=e.split("\t"),n=o(i,2),r=n[0],a=n[1];t.refSeqs[r]=a}}),i()},n)},saveStore:function(){return{urlTemplate:(this.config.file||this.config.blob).url}}})}.apply(null,n))||(e.exports=r)},454:function(e,t,i){var n,r;n=[i(575),i(576),i(336),i(337),i(339),i(455)],void 0===(r=function(e,t,i,n,r,o){return e([i,r],{constructor:function(e){var i=e.fasta||e.blob||new n(this.resolveUrl(e.urlTemplate||"data.fasta"));this.index={},this.fasta=new o({store:this,data:i}),this.fasta.init({success:t.hitch(this,function(){this._deferred.features.resolve({success:!0})}),failure:t.hitch(this,"_failAllDeferred")})},_getFeatures:function(e,t,i,n){this.fasta.fetch(this.refSeq.name,e.start,e.end,t,i,n)},getRefSeqs:function(e,t){var i=this;this._deferred.features.then(function(){e(i.fasta.refseqs)},t)},saveStore:function(){return{urlTemplate:(this.config.file||this.config.blob).url}}})}.apply(null,n))||(e.exports=r)},455:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(341),i(334),i(342),i(338)],void 0===(r=function(e,t,i,n,r,o,a){return e(null,{constructor:function(e){this.store=e.store,this.data=e.data,this.features={},this.refseqs=[]},init:function(e){var i=this.data,n=this,r=e.success||function(){},o=e.failure||function(e){console.error(e,e.stack)};this.parseFile(i,function(e){t.forEach(e,function(e){n.features[e.name]={seq_id:e.name,name:e.name,start:0,end:e.seq.length,seq:e.seq},n.refseqs.push({name:e.name,start:0,end:e.seq.length,length:e.seq.length})}),r()},o)},fetch:function(e,t,i,n,r,o){o=o||function(e){console.error(e)};var s=e;this.store.browser.compareReferenceNames(e,s)||(s=e),n(new a({data:{start:this.features[s].start,end:this.features[s].end,residues:this.features[s].seq,seq_id:s,name:s}})),r()},parseFile:function(e,t,i){this.data.fetch(dojo.hitch(this,function(n){for(var r="",o=new Uint8Array(n),a=o.length,s=0;s<a;s++)r+=String.fromCharCode(o[s]);if(r&&r.length){var l=this.parseString(r);l.length?t(l):i("File contained no (FASTA) sequences")}else i("Could not read file: "+e.name)}),i)},parseString:function(e){for(var t=[],i=function(e){"name"in e&&e.seq.length&&t.push(e)},n={seq:""},r=e.match(/^.*((\r\n|\n|\r)|$)/gm),o=0;o<r.length;o++){var a;(a=/^>(\S*)/.exec(r[o]))?(i(n),n={seq:""},a[1].length&&(n.name=a[1])):(a=/^\s*(\S+)\s*$/.exec(r[o]))&&(n.seq+=a[1])}return i(n),t}})}.apply(null,n))||(e.exports=r)},456:function(e,t,i){var n,r,o=i(652),a=i(947).BgzipIndexedFasta,s=(i(594).Buffer,new o({maxSize:5})),l=i(347);n=[i(575),i(576),i(337),i(370)],void 0===(r=function(e,t,i,n){return e(n,{constructor:function(e){var t=this,n=void 0;n=e.bgzfa?new l(e.bgzfa):e.urlTemplate?new l(new i(this.resolveUrl(e.urlTemplate),{expectRanges:!0})):new l(new i("data.fa",{expectRanges:!0}));var r=void 0;if(e.fai)r=new l(e.fai);else if(e.faiUrlTemplate)r=new l(new i(this.resolveUrl(e.faiUrlTemplate)));else{if(!e.urlTemplate)throw new Error("no index provided, must provide a FASTA index");r=new l(new i(this.resolveUrl(e.urlTemplate+".fai")))}var o=void 0;if(e.gzi)o=new l(e.gzi);else if(e.gziUrlTemplate)o=new l(new i(this.resolveUrl(e.gziUrlTemplate)));else{if(!e.urlTemplate)throw new Error("no gzi index provided, must provide a GZI index");o=new l(new i(this.resolveUrl(e.urlTemplate+".gzi")))}this.source=n.toString();var c="data: "+n+", index: "+r+", gzi: "+o;this.fasta=s.get(c),this.fasta||(this.fasta=new a({fasta:n,fai:r,gzi:o,chunkSizeLimit:e.chunkSizeLimit||1e6}),s.set(c,this.fasta)),this.fasta.getSequenceList().then(function(){return t._deferred.features.resolve({success:!0})},function(){return t._failAllDeferred()})},saveStore:function(){return{urlTemplate:(this.config.file||this.config.blob).url,faiUrlTemplate:this.config.fai.url,gziUrlTemplate:this.config.gzi.url}}})}.apply(null,n))||(e.exports=r)},457:function(e,t,i){var n,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(o,a){"use strict";function s(e,t){var i,n;if("function"==typeof t)void 0!==(n=t(e))&&(e=n);else if(Array.isArray(t))for(i=0;i<t.length;i++)void 0!==(n=t[i](e))&&(e=n);return e}function l(e,t){return"-"===e[0]&&Array.isArray(t)&&/^-\d+$/.test(e)?t.length+parseInt(e,10):e}function c(e){return"[object Object]"===Object.prototype.toString.call(e)}function h(e){return Object(e)===e}function u(e){return 0===Object.keys(e).length}function d(e,t){return e.indexOf("[")>=0&&(e=e.replace(/\[/g,".").replace(/]/g,"")),e.split(t)}function f(e,t,i){if(!(this instanceof f))return new f(e,t,i);void 0===t&&(t=!1),void 0===i&&(i=!0),this.seperator=e||".",this.override=t,this.useArray=i,this.keepArray=!1,this.cleanup=[]}var g=new f(".",!1,!0);function p(e){return function(){return g[e].apply(g,arguments)}}f.prototype._fill=function(e,t,i,n){var o=e.shift();if(e.length>0){if(t[o]=t[o]||(this.useArray&&function(e){return/^\d+/.test(e)}(e[0])?[]:{}),!h(t[o])){if(!this.override){if(!h(i)||!u(i))throw new Error("Trying to redefine `"+o+"` which is a "+r(t[o]));return}t[o]={}}this._fill(e,t[o],i,n)}else{if(!this.override&&h(t[o])&&!u(t[o])){if(!h(i)||!u(i))throw new Error("Trying to redefine non-empty obj['"+o+"']");return}t[o]=s(i,n)}},f.prototype.object=function(e,t){var i=this;return Object.keys(e).forEach(function(n){var r=void 0===t?null:t[n],o=d(n,i.seperator).join(i.seperator);-1!==o.indexOf(i.seperator)?(i._fill(o.split(i.seperator),e,e[n],r),delete e[n]):i.override&&(e[n]=s(e[n],r))}),e},f.prototype.str=function(e,t,i,n){return-1!==e.indexOf(this.seperator)?this._fill(e.split(this.seperator),i,t,n):i.hasOwnProperty(e)&&!this.override||(i[e]=s(t,n)),i},f.prototype.pick=function(e,t,i){var n,o,a,s,c;for(o=d(e,this.seperator),n=0;n<o.length;n++){if(s=l(o[n],t),!(t&&"object"===(void 0===t?"undefined":r(t))&&s in t))return;if(n===o.length-1)return i?(a=t[s],delete t[s],Array.isArray(t)&&(c=o.slice(0,-1).join("."),-1===this.cleanup.indexOf(c)&&this.cleanup.push(c)),a):t[s];t=t[s]}return i&&Array.isArray(t)&&(t=t.filter(function(e){return void 0!==e})),t},f.prototype.remove=function(e,t){var i;if(this.cleanup=[],Array.isArray(e)){for(i=0;i<e.length;i++)this.pick(e[i],t,!0);return this._cleanup(t),t}return this.pick(e,t,!0)},f.prototype._cleanup=function(e){var t,i,n,r;if(this.cleanup.length){for(i=0;i<this.cleanup.length;i++)t=(t=(r=(n=this.cleanup[i].split(".")).splice(0,-1).join("."))?this.pick(r,e):e)[n[0]].filter(function(e){return void 0!==e}),this.set(this.cleanup[i],t,e);this.cleanup=[]}},f.prototype.del=f.prototype.remove,f.prototype.move=function(e,t,i,n,r){return"function"==typeof n||Array.isArray(n)?this.set(t,s(this.pick(e,i,!0),n),i,r):(r=n,this.set(t,this.pick(e,i,!0),i,r)),i},f.prototype.transfer=function(e,t,i,n,r,o){return"function"==typeof r||Array.isArray(r)?this.set(t,s(this.pick(e,i,!0),r),n,o):(o=r,this.set(t,this.pick(e,i,!0),n,o)),n},f.prototype.copy=function(e,t,i,n,r,o){return"function"==typeof r||Array.isArray(r)?this.set(t,s(JSON.parse(JSON.stringify(this.pick(e,i,!1))),r),n,o):(o=r,this.set(t,this.pick(e,i,!1),n,o)),n},f.prototype.set=function(e,t,i,n){var r,o,a,s;if(void 0===t)return i;for(a=d(e,this.seperator),r=0;r<a.length;r++){if(s=a[r],r===a.length-1)if(n&&c(t)&&c(i[s]))for(o in t)t.hasOwnProperty(o)&&(i[s][o]=t[o]);else if(n&&Array.isArray(i[s])&&Array.isArray(t))for(var l=0;l<t.length;l++)i[a[r]].push(t[l]);else i[s]=t;else i.hasOwnProperty(s)&&(c(i[s])||Array.isArray(i[s]))||(/^\d+$/.test(a[r+1])?i[s]=[]:i[s]={});i=i[s]}return i},f.prototype.transform=function(e,t,i){return t=t||{},i=i||{},Object.keys(e).forEach(function(n){this.set(e[n],this.pick(n,t),i)}.bind(this)),i},f.prototype.dot=function(e,t,i){return t=t||{},i=i||[],Object.keys(e).forEach(function(n){if(h(e[n])&&(c(e[n])&&!u(e[n])||Array.isArray(e[n])&&!this.keepArray&&0!==e[n].length))return this.dot(e[n],t,i.concat(n));t[i.concat(n).join(this.seperator)]=e[n]}.bind(this)),t},f.pick=p("pick"),f.move=p("move"),f.transfer=p("transfer"),f.transform=p("transform"),f.copy=p("copy"),f.object=p("object"),f.str=p("str"),f.set=p("set"),f.del=f.remove=p("remove"),f.dot=p("dot"),["override","overwrite"].forEach(function(e){Object.defineProperty(f,e,{get:function(){return g.override},set:function(e){g.override=!!e}})}),["useArray","keepArray"].forEach(function(e){Object.defineProperty(f,e,{get:function(){return g[e]},set:function(t){g[e]=t}})}),f._process=s,void 0===(n=function(){return f}.call(null,i,t,e))||(e.exports=n)}()},458:function(e,t,i){var n,r;n=[i(575)],void 0===(r=function(e){return e(null,{setTracksActive:function(){},setTracksInactive:function(){},show:function(){},hide:function(){},toggle:function(){}})}.apply(null,n))||(e.exports=r)},459:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(587),i(634),i(1035),i(689),i(334),i(869),i(1491)],void 0===(r=function(e,t,i,n,r,o,a,s,l){var c=s.dojof;return e("JBrowse.View.TrackList.Faceted",null,{constructor:function(e){this.browser=e.browser,this.tracksActive={},this.config=e,this.storeReady=new n,this.gridReady=new n,this.ready=r([this.storeReady,this.gridReady]),this._isSelectableFacet=this._coerceFilter(e.selectableFacetFilter||function(e,i){return i.getFacetStats(e).avgBucketSize>1&&!t.some(i.getLabelAttributes().concat(i.getIdentityAttributes()),function(t){return t==e})}),this.displayColumns=e.displayColumns,this._isDisplayableColumn=this._coerceFilter(e.displayColumnFilter||function(e){return"label"!=e.toLowerCase()}),this.trackDataStore=e.trackMetaData,this.browser.subscribe("/jbrowse/v1/c/tracks/show",i.hitch(this,"setTracksActive")),this.browser.subscribe("/jbrowse/v1/c/tracks/hide",i.hitch(this,"setTracksInactive")),this.browser.subscribe("/jbrowse/v1/c/tracks/delete",i.hitch(this,"setTracksInactive")),this.renderInitial(),this.trackDataStore.onReady(this,function(){var e=this;this.renderSelectors(),dojo.connect(this.dataGrid.selection,"onSelected",this,function(e){this._ifNotSuppressed("selectionEvents",function(){this._suppress("gridUpdate",function(){this.browser.publish("/jbrowse/v1/v/tracks/show",[this.dataGrid.getItem(e).conf])})})}),dojo.connect(this.dataGrid.selection,"onDeselected",this,function(e){this._ifNotSuppressed("selectionEvents",function(){this._suppress("gridUpdate",function(){this.browser.publish("/jbrowse/v1/v/tracks/hide",[this.dataGrid.getItem(e).conf])})})}),this._updateFacetCounts(),this._updateMatchCount(),this.storeReady.resolve(),dojo.connect(this.trackDataStore,"onFetchSuccess",this,function(){e._updateGridSelections(),e._updateMatchCount()})})},_coerceFilter:function(e){return"string"==typeof e&&(e=[e]),dojo.isArray(e)&&(e=function(i,n){return t.some(e,function(e){return n==e})}),e},_ifNotSuppressed:function(e,i){if("string"==typeof e&&(e=[e]),this.suppress||(this.suppress={}),!t.some(e,function(e){return this.suppress[e]},this))return i.call(this)},_suppress:function(e,t){"string"==typeof e&&(e=[e]),this.suppress||(this.suppress={}),dojo.forEach(e,function(e){this.suppress[e]=!0},this);var i=t.call(this);return dojo.forEach(e,function(e){this.suppress[e]=!1},this),i},_suppressAsync:function(e,t){var i=this;return"string"==typeof e&&(e=[e]),this.suppress||(this.suppress={}),dojo.forEach(e,function(e){this.suppress[e]=!0},this),t.call(this).then(function(t){return e.forEach(function(e){return i.suppress[e]=!1}),t},function(t){e.forEach(function(e){return i.suppress[e]=!1}),console.error(t)})},_suppressRecursion:function(e){var t=["method_"+e],i=this[e];return this._ifNotSuppressed(t,function(){this._suppress(t,i)})},renderInitial:function(){this.containerElem=dojo.create("div",{id:"faceted_tracksel",className:"jbrowse",style:{left:"-95%",width:"95%",zIndex:500}},document.body),dojo.create("div",{className:"faceted_tracksel_on_off tab",innerHTML:'<img src="'+this.browser.resolveUrl("img/left_arrow.png")+'"><div>Select<br>tracks</div>'},this.containerElem),this.mainContainer=new dijit.layout.BorderContainer({design:"headline",gutters:!1},dojo.create("div",{className:"mainContainer"},this.containerElem)),this.topPane=new dijit.layout.ContentPane({region:"top",id:"faceted_tracksel_top",content:'<div class="title">Select Tracks</div> <div class="topLink" style="cursor: help"><a title="Track selector help">Help</a></div>'}),dojo.query('div.topLink a[title="Track selector help"]',this.topPane.domNode).forEach(function(e){var t=new dijit.Dialog({class:"jbrowse help_dialog",refocus:!1,draggable:!1,title:"Track Selection",content:'<div class="main"><p>The JBrowse Faceted Track Selector makes it easy to search through large numbers of available tracks to find exactly the ones you want. You can incrementally filter the track display to narrow it down to those your are interested in. There are two types of filtering available, which can be used together: <b>filtering with data fields</b>, and free-form <b>filtering with text</b>.</p> <dl><dt>Filtering with Data Fields</dt> <dd>The left column of the display contains the available <b>data fields</b>. Click on the data field name to expand it, and then select one or more values for that field. This narrows the search to display only tracks that have one of those values for that field. You can do this for any number of fields.<dd> <dt>Filtering with Text</dt> <dd>Type text in the "Contains text" box to filter for tracks whose data contains that text. If you type multiple words, tracks are filtered such that they must contain all of those words, in any order. Placing "quotation marks" around the text filters for tracks that contain that phrase exactly. All text matching is case insensitive.</dd> <dt>Activating Tracks</dt> <dd>To activate and deactivate a track, click its check-box in the left-most column. When the box contains a check mark, the track is activated. You can also turn whole groups of tracks on and off using the check-box in the table heading.</dd> </dl></div>'});dojo.connect(e,"onclick",this,function(e){return t.show(),!1})},this),this.mainContainer.addChild(this.topPane),dojo.query(".faceted_tracksel_on_off").onclick(i.hitch(this,"toggle")),this.centerPane=new dijit.layout.BorderContainer({region:"center",class:"gridPane",gutters:!1}),this.mainContainer.addChild(this.centerPane);var e=this.renderTextFilter();this.busyIndicator=dojo.create("div",{innerHTML:'<img src="'+this.browser.resolveUrl("img/spinner.gif")+'">',className:"busy_indicator"},this.containerElem),this.centerPane.addChild(new dijit.layout.ContentPane({region:"top",class:"gridControls",content:[dojo.create("button",{className:"faceted_tracksel_on_off",innerHTML:'<img src="'+this.browser.resolveUrl("img/left_arrow.png")+'"> <div>Back to browser</div>',onclick:i.hitch(this,"hide")}),dojo.create("button",{className:"clear_filters",innerHTML:'<img src="'+this.browser.resolveUrl("img/red_x.png")+'"><div>Clear All Filters</div>',onclick:i.hitch(this,function(e){this._clearTextFilterControl(),this._clearAllFacetControls(),this._async(function(){this.updateQuery(),this._updateFacetCounts()},this).call()})}),this.busyIndicator,e,dojo.create("div",{className:"matching_record_count"})]}))},renderSelectors:function(){var e=this.renderFacetSelectors();e.set("region","left"),this.mainContainer.addChild(e),this.dataGrid=this.renderGrid(),this.dataGrid.set("region","center"),this.dataGrid.domNode.style.width="500px",this.centerPane.addChild(this.dataGrid),this.mainContainer.startup(),this.gridReady.resolve()},_async:function(e,t){var i=this;return function(){var n=arguments,r=this;i._busy(!0),window.setTimeout(function(){e.apply(t||r,n),i._busy(!1)},50)}},_busy:function(e){this.busyCount=Math.max(0,(this.busyCount||0)+(e?1:-1)),this.busyCount>0?dojo.addClass(this.containerElem,"busy"):dojo.removeClass(this.containerElem,"busy")},renderGrid:function(){var e=this.displayColumns||dojo.filter(this.trackDataStore.getFacetNames(),i.hitch(this,"_isDisplayableColumn")),n=90/e.length,r=new l({id:"trackSelectGrid",store:this.trackDataStore,selectable:!0,escapeHTMLInData:"escapeHTMLInData"in this.config&&this.config.escapeHTMLInData,noDataMessage:"No tracks match the filtering criteria.",structure:[dojo.map(e,function(e){return e={name:"key"}[e.toLowerCase()]||e,{name:this._facetDisplayName(e),field:e.toLowerCase(),width:n+"%"}},this)],plugins:{indirectSelection:{headerSelector:!0}}}),o=this.config.initialSortColumn||0;return"string"==typeof o&&(o=t.indexOf(e,o)),r.setSortIndex(o+1),this._monkeyPatchGrid(r),r},_facetDisplayName:function(e){return this.renameFacets=this.renameFacets||function(){var e=this.config.renameFacets,t={};for(var i in e)t[i.toLowerCase()]=e[i];return t.key=t.key||"Name",t}.call(this),this.renameFacets[e.toLowerCase()]||s.ucFirst(e.replace("_"," "))},_monkeyPatchGrid:function(e){e.onRowClick=function(){};var t=e.selection.selectRange;e.selection.selectRange=function(e,i){if(!(i-e>30))return t.apply(this,arguments);alert("Too many tracks selected, please select fewer than 30 tracks. Note: you can use shift+click to select a range of tracks")}},renderTextFilter:function(e){return this.textFilterLabel=dojo.create("label",{className:"textFilterControl",innerHTML:"Contains text ",id:"tracklist_textfilter",style:{position:"relative"}},e),this.textFilterInput=dojo.create("input",{type:"text",size:40,disabled:!0,onkeypress:i.hitch(this,function(e){e.keyCode!=dojo.keys.SHIFT&&e.keyCode!=dojo.keys.CTRL&&e.keyCode!=dojo.keys.ALT&&(this.textFilterTimeout&&window.clearTimeout(this.textFilterTimeout),this.textFilterTimeout=window.setTimeout(i.hitch(this,function(){this._updateTextFilterControl(),this._async(function(){this.updateQuery(),this._updateFacetCounts(),this.textFilterInput.focus()},this).call(),this.textFilterInput.focus()}),500),this._updateTextFilterControl(),e.stopPropagation())})},this.textFilterLabel),this.textFilterClearButton=dojo.create("img",{src:this.browser.resolveUrl("img/red_x.png"),className:"text_filter_clear",onclick:i.hitch(this,function(){this._clearTextFilterControl(),this._async(function(){this.updateQuery(),this._updateFacetCounts()},this).call()}),style:{position:"absolute",right:"4px",top:"20%"}},this.textFilterLabel),this.textFilterLabel},_clearTextFilterControl:function(){this.textFilterInput.value="",this._updateTextFilterControl()},_updateTextFilterControl:function(){this.textFilterInput.value.length?dojo.addClass(this.textFilterLabel,"selected"):dojo.removeClass(this.textFilterLabel,"selected")},renderFacetSelectors:function(){var e=new a({style:"width: 200px"}),t=this.trackDataStore;this.facetSelectors={};var i=this._renderFacetSelector("My Tracks",["Currently Active","Recently Used"]);i.set("class","myTracks"),e.addChild(i);var n=dojo.filter(this.config.selectableFacets||t.getFacetNames(),function(e){return this._isSelectableFacet(e,this.trackDataStore)},this);return dojo.forEach(n,function(i){var n=t.getFacetValues(i).sort();if(n&&n.length){var r=this._renderFacetSelector(i,n);e.addChild(r)}},this),e},_renderFacetSelector:function(e,t){var i=new o({title:'<span id="facet_title_'+e+'" class="facetTitle">'+this._facetDisplayName(e)+' <a class="clearFacet"><img src="'+this.browser.resolveUrl("img/red_x.png")+'" /></a></span>'}),n=dojo.create("table",{className:"facetSelect"},i.containerNode);return this.facetSelectors[e]=dojo.map(t,function(t){var i=this,r=dojo.create("tr",{className:"facetValue",innerHTML:'<td class="count"></td><td class="value">'+t+"</td>",onclick:function(t){dojo.toggleClass(this,"selected"),i._updateFacetControl(e),i._async(function(){i.updateQuery(),i._updateFacetCounts(e)}).call()}},n);return r.facetValue=t,r},this),i},_clearAllFacetControls:function(){dojo.forEach(c.keys(this.facetSelectors),function(e){this._clearFacetControl(e)},this)},_clearFacetControl:function(e){dojo.forEach(this.facetSelectors[e]||[],function(e){dojo.removeClass(e,"selected")},this),this._updateFacetControl(e)},_updateFacetCounts:function(e){dojo.forEach(c.keys(this.facetSelectors),function(e){if("My Tracks"!=e){var t=this.trackDataStore.getFacetCounts(e);dojo.forEach(this.facetSelectors[e]||[],function(e){dojo.query(".count",e).forEach(function(i){var n=t&&t[e.facetValue]||0;i.innerHTML=s.addCommas(n),n?dojo.removeClass(e,"disabled"):dojo.addClass(e,"disabled")},this)},this),this._updateFacetControl(e)}},this)},_updateFacetControl:function(e){var n=dojo.byId("facet_title_"+e);if(t.every(this.facetSelectors[e]||[],function(e){return dojo.hasClass(e,"disabled")},this)&&dojo.addClass(n,"disabled"),t.some(this.facetSelectors[e]||[],function(e){return dojo.hasClass(e,"selected")},this)){var r=i.hitch(this,function(t){this._clearFacetControl(e),this._async(function(){this.updateQuery(),this._updateFacetCounts(e)},this).call(),t.stopPropagation()});dojo.addClass(n.parentNode.parentNode,"activeFacet"),dojo.query("> a",n).forEach(function(e){e.onclick=r},this).attr("title","clear selections")}else dojo.removeClass(n.parentNode.parentNode,"activeFacet"),dojo.query("> a",n).onclick(function(){return!1}).removeAttr("title")},updateQuery:function(){this._suppressRecursion("_updateQuery")},_updateQuery:function(){var e={},i=function(e){return dojo.hasClass(e,"selected")};(function(){var n=this.facetSelectors["My Tracks"],r={};if(dojo.forEach(n,function(e){r[e.facetValue]=e}),i(r["Currently Active"])){var o=c.keys(this.tracksActive||{});e.label=s.uniq((e.label||[]).concat(o))}if(i(r["Recently Used"])){var a=dojo.map(this.browser.getRecentlyUsedTracks(),function(e){return e.label});e.label=s.uniq((e.label||[]).concat(a))}e.label&&e.label.length||!t.some(n,i)||(e.label=["FAKE LABEL THAT IS HIGHLY UNLIKELY TO EVER MATCH ANYTHING"])}).call(this),this.textFilterInput.value.length&&(e.text=this.textFilterInput.value),dojo.forEach(this.trackDataStore.getFacetNames(),function(t){var n=this.facetSelectors[t];if(n){var r=dojo.map(dojo.filter(n,i),function(e){return e.facetValue});r.length&&(e[t]=r)}},this),this.query=e,this.dataGrid.setQuery(this.query),this._updateMatchCount()},_updateMatchCount:function(){var e=this.dataGrid.store.getCount();dojo.query(".matching_record_count",this.containerElem).forEach(function(t){t.innerHTML=s.addCommas(e)+" "+(c.keys(this.query||{}).length?"matching ":"")+"track"+(1==e?"":"s")},this)},_updateGridSelections:function(){var e=this;this.ready.then(function(){e._ifNotSuppressed(["gridUpdate","selectionEvents"],function(){this._suppress("selectionEvents",function(){this.dataGrid.selection.deselectAll();for(var e=0;e<Math.min(this.dataGrid.get("rowCount"),this.dataGrid.get("rowsPerPage"));e++){var t=this.dataGrid.getItem(e);if(t){var i=this.dataGrid.store.getIdentity(t);this.tracksActive[i]&&this.dataGrid.rowSelectCell.toggleRow(e,!0)}}})})})},setTracksActive:function(e){dojo.forEach(e,function(e){this.tracksActive[e.label]=!0},this),this._updateGridSelections()},setTracksInactive:function(e){dojo.forEach(e,function(e){delete this.tracksActive[e.label]},this),this._updateGridSelections()},show:function(){window.setTimeout(i.hitch(this,function(){this.textFilterInput.disabled=!1,this.textFilterInput.focus()}),300),dojo.addClass(this.containerElem,"active"),dojo.animateProperty({node:this.containerElem,properties:{left:{start:-95,end:0,units:"%"}}}).play(),this.shown=!0},hide:function(){dojo.removeClass(this.containerElem,"active"),dojo.animateProperty({node:this.containerElem,properties:{left:{start:0,end:-95,units:"%"}}}).play(),this.textFilterInput.blur(),this.textFilterInput.disabled=!0,this.shown=!1},toggle:function(){this.shown?this.hide():this.show()}})}.apply(null,n))||(e.exports=r)},460:function(e,t,i){var n,r;n=[i(590),i(1496),i(1509),i(1513),i(710),i(829)],void 0===(r=function(e,t){function i(e){dojo.mixin(this,e)}return i.prototype.render_to=function(i){"string"==typeof i&&(i=dojo.byId(i));var n=dojo.position(i),r=(Math.floor(Math.log(this.max+1)/Math.log(10)),dojo.create("div",{style:{position:"absolute",left:"-9px",bottom:"-9px",width:"10px",height:n.h+18+"px"}},i));try{var o=new t(r,{fill:"transparent"});o.addAxis("y",{vertical:!0,fill:"transparent",min:this.min,max:this.max,fixLower:this.fixBounds?"string"==typeof this.fixBounds?this.fixBounds:"major":"none",fixUpper:this.fixBounds?"string"==typeof this.fixBounds?this.fixBounds:"major":"none",leftBottom:this.leftBottom}),o.addPlot("default",{type:"Bubble",fill:"transparent"}),o.render(),e("svg rect",o.domNode).orphan(),this.scaler=o.axes.y.scaler}catch(e){console.error(e+""),console.error("Failed to draw Ruler with SVG, your browser may not support the necessary technology."),i.removeChild(r)}},i}.apply(null,n))||(e.exports=r)},461:function(e,t,i){var n,r;n=[i(575),i(577),i(624),i(371),i(334)],void 0===(r=function(e,t,i,n,r){return e(n,{_defaultConfig:function(){return r.deepUpdate(dojo.clone(this.inherited(arguments)),{maxExportSpan:5e5,style:{height:31,pos_color:"#00f",neg_color:"#f00",bg_color:"rgba(230,230,230,0.6)",clip_marker_color:"black"}})},_drawFeatures:function(e,t,n,r,o,a,s){var l=this,c=o.getContext("2d"),h=o.height,u=(s.normalize,"function"==typeof this.config.style.color?this.config.style.color:function(){var e=l.config.disable_clip_markers,t=s.normalize(s.origin);return function(n,r){var o=n.feat;return e||r<=1&&r>=0?i.blendColors(new i(l.getConfForFeature("style.bg_color",o)),new i(l.getConfForFeature(r>=t?"style.pos_color":"style.neg_color",o)),Math.abs(r-t)).toString():r>1?l.getConfForFeature("style.pos_color",o):l.getConfForFeature("style.neg_color",o)}}());dojo.forEach(a,function(e,t){if(e){var i=e.score,n=e.feat,r=s.normalize(i);c.fillStyle=""+u(e,r),l._fillRectMod(c,t,0,1,h),r>1?(c.fillStyle=l.getConfForFeature("style.clip_marker_color",n)||"red",l._fillRectMod(c,t,0,1,3)):r<0&&(c.fillStyle=l.getConfForFeature("style.clip_marker_color",n)||"red",l._fillRectMod(c,t,h-3,1,3))}})},_maskBySpans:function(e,t,i,n,r,o,a,s){var l=r.getContext("2d"),c=r.height;for(var h in l.fillStyle=this.config.style.mask_color||"rgba(128,128,128,0.6)",this.config.style.mask_color=l.fillStyle,s)if(s.hasOwnProperty(h)){var u=Math.ceil((s[h].end-s[h].start)*e),d=Math.round((s[h].start-t)*e);l.fillRect(d,0,u,c),l.clearRect(d,0,u,c/3),l.clearRect(d,2/3*c,u,c/3)}dojo.forEach(o,function(e,t){e||l.clearRect(t,0,1,c)})},_postDraw:function(){}})}.apply(null,n))||(e.exports=r)},462:function(e,t,i){var n,r;n=[i(575),i(577),i(334),i(336),i(391),i(375),i(374)],void 0===(r=function(e,t,i,n,r,o,a){return e([n,a],{constructor:function(e){this.store=e.store,this.filter=e.filter||function(){return!0}},getGlobalStats:function(e,t){e({})},_defaultConfig:function(){return i.deepUpdate(dojo.clone(this.inherited(arguments)),{mismatchScale:.1})},getFeatures:function(e,t,i,n){var a=this,s=e.start,l=e.end,c=e.scale||e.basesPerSpan&&1/e.basesPerSpan||10,h=function(){var e=1/c;return e<=1/a.config.mismatchScale?1:Math.ceil(e)}();function u(e){return Math.floor((e-s)/h)}for(var d=Math.ceil((l-s)/h),f=new Array(d),g=0;g<d;g++)f[g]=new r,1==h&&(f[g].snpsCounted=!0);function p(e,t,i){var n=(e-s)/h,r=(t-1-s)/h,o=Math.floor(n),a=Math.floor(r);if(!(o>=d||a<0))if(o<0&&(n=o=0),a>=d&&(a=d-1,r=d),o==a)i(o,r-n);else{i(o,o+1-n);for(var l=o+1;l<a;l++)i(l,1);i(a,r-a)}}a.store.getFeatures(e,function(e){if(a.filter(e)){var t={"-1":"-",1:"+"}[""+e.get("strand")]||"unstranded";if(p(e.get("start"),e.get("end"),function(e,i){f[e].getNested("reference").increment(t,i)}),1==h)for(var i=a._getMismatches(e),n=0;n<i.length;n++){var r=i[n];p(e.get("start")+r.start,e.get("start")+r.start+r.length,function(e,i){var n=f[e];n.getNested("reference").decrement(t,i);var o=r.base;"insertion"==r.type?o="ins "+o:"skip"==r.type&&(o="skip"),n.getNested(o).increment(t,i)})}}},function(n){var r,c=function(){for(var e=0;e<f.length;e++){var r=s+h*e;t(new o({start:r,end:r+h,score:f[e]}))}i(n)};1==h?a.browser.getStore("refseqs",function(t){t?t.getFeatures(e,function(e){r=e.get("seq")},function(){if(r)for(var e=s;e<=l;e++){var t=u(e);f[t]&&(f[t].refBase=r[t])}c()},c):c()}):c()},n)},saveStore:function(){return{urlTemplate:this.config.bam.url,baiUrlTemplate:this.config.bai.url}}})}.apply(null,n))||(e.exports=r)},463:function(e,t,i){var n,r;n=[i(575),i(579),i(1049),i(596),i(334),i(341)],void 0===(r=function(e,t,i,n,r,o){return e(null,{constructor:function(e){void 0!==e?(this.width=e.width||78,this.htmlMaxRows=e.htmlMaxRows||15,this.track=e.track,this.canSaveFiles=e.track&&e.track._canSaveFiles&&e.track._canSaveFiles(),"function"==typeof this.initData&&this.initData(e)):this.width=78},renderHTML:function(e,a,s){var l=this,c=this.renderText(e,a),h=c.match(/\n/g).length+1,u=t.create("div",{className:"fastaView"},s);if(this.canSaveFiles){var d=(new i).placeAt(u);"function"==typeof(l=this).addButtons&&l.addButtons(e,a,d),d.addChild(new n({iconClass:"dijitIconSave",label:"FASTA",title:"save as FASTA",disabled:!o("save-generated-files"),onClick:function(){l.track._fileDownload({format:"FASTA",filename:r.assembleLocString(e)+".fasta",data:c})}}))}var f=0;return t.create("textarea",{className:"fasta",cols:this.width,rows:Math.min(h,this.htmlMaxRows),readonly:!0},u).innerHTML=c.replace(/\n/g,function(){return f++?"":"\n"}),u},renderText:function(e,t){return">"+e.ref+" "+r.assembleLocString(e)+(e.type?" class="+e.type:"")+" length="+(e.end-e.start)+"\n"+this._wrap(t,this.width)},_wrap:function(e,t){return t=t||this.width,e.replace(new RegExp("(.{"+t+"})","g"),"$1\n")}})}.apply(null,n))||(e.exports=r)},464:function(e,t,i){var n,r;n=[i(575),i(341),i(348)],void 0===(r=function(e,t,i){return e(i,{constructor:function(e){this.trackPadding=e.trackPadding||0},handleImageError:function(e){(e.currentTarget||e.srcElement).style.display="none",dojo.stopEvent(e)},makeImageLoadHandler:function(e,i,n,r){var o=dojo.hitch(this,function(){return this.imageHeight=e.height,e.style.height=e.height+"px",e.style.width=e.baseWidth/n*100+"%",this.heightUpdate(e.height,i),r&&r(),!0});return t("ie")?function(){window.setTimeout(o,250)}:o},fillBlock:function(e){var t=e.blockIndex,i=e.block,n=e.leftBase,r=e.rightBase,o=e.scale,a=e.finishCallback||function(){},s=r-n;this.store.getImages({scale:o,start:n,end:r},dojo.hitch(this,function(e){dojo.forEach(e,function(e){if(e.className="image-track",!e.parentNode||!e.parentNode.parentNode){switch(e.style.position="absolute",e.style.left=(e.startBase-n)/s*100+"%",this.config.align){case"top":e.style.top="0px";break;case"bottom":default:e.style.bottom=this.trackPadding+"px"}i.domNode.appendChild(e)}var r=this.makeImageLoadHandler(e,t,s);e.complete?r():e.onload=r},this),a()}),dojo.hitch(this,function(e){404==e.status?a():this.fillBlockError(t,i,e),a()}))},startZoom:function(e,t,i){this.empty},endZoom:function(e,t){this.clear()},clear:function(){this.inherited(arguments)},transfer:function(e,t,i,n,r){if(e&&t)for(var o,a=e.domNode.childNodes,s=t.startBase,l=t.endBase,c=0;c<a.length;c++)"startBase"in(o=a[c])&&o.startBase<l&&o.startBase+o.baseWidth>s&&(o.style.left=(o.startBase-s)/(l-s)*100+"%",t.domNode.appendChild(o))}})}.apply(null,n))||(e.exports=r)},465:function(e,t,i){var n,r;n=[i(575),i(336),i(334),i(375)],void 0===(r=function(e,t,i,n){return e(t,{constructor:function(e){this.store=e.store},getGlobalStats:function(e,t){e({})},getFeatures:function(e,t,i,r){var o=e.start,a=e.end,s=e.scale||("basesPerSpan"in e?1/e.basesPerSpan:10),l=a-o,c=Math.ceil(1/s),h=new Array(Math.ceil(l/c)),u=function(e,t){var i=(e-o-1)/c,n=Math.floor(i);return{bin:n,overlap:t?1-(i-n):i-n}};this.store.getFeatures(e,function(e){var t=u(e.get("start"),!1),i=u(e.get("end"),!0);t.bin==i.bin?h[t.bin]=(h[t.bin]||0)+i.overlap+t.overlap-1:(h[t.bin]=(h[t.bin]||0)+t.overlap,h[i.bin]=(h[i.bin]||0)+i.overlap);for(var n=t.bin+1;n<=i.bin-1;n++)h[n]=(h[n]||0)+1},function(){for(var e=0;e<h.length;e++){var r=h[e]||0,a=o+c*e;t(new n({start:a,end:a+c,score:r}))}i()},r)}})}.apply(null,n))||(e.exports=r)},466:function(e,t,i){var n,r;n=[i(575),i(647),i(711),i(596),i(579),i(361)],void 0===(r=function(e,t,i,n,r,o){return e(null,{constructor:function(e){this.newTrackKey=e.trackConfig?e.trackConfig.key:e.key,this.track=e.track,this.newStore=e.store,this.opTree=this.track.opTree,this.currType=this.track.currType,this.oldType=this.track.oldType,this.supportedBy=this.track.supportedBy,this.displayType=this.track.displayType,this.storeToKey=this.track.config.storeToKey,this.newDisplayType=this.displayType,this.inWords=this.track.inWords,this.trackClasses=this.track.trackClasses,this.dialog=new t({title:"Combine with "+this.newTrackKey,style:"width: 475px;",className:"combinationDialog"});var i=this._dialogContent(this.newStore);this.dialog.set("content",i)},_dialogContent:function(e){var t=[],i=this._allAllowedOperations(e);if(!i.length){t.push(r.create("div",{innerHTML:"No operations are possible for this track."}));var n=this._createActionBar(!1);return t.push(n),t}t.push(r.create("div",{className:"intro",innerHTML:"Adding "+this.currType+" track "+this.newTrackKey+" to the combination."}));var o=r.create("div",{id:this.track.name+"_maskOpList"}),a=this,s=this._makeUnique(i.map(function(e){return e.substring(0,4)}));for(var l in t.push(o),this.changingOpPanel=r.create("div",{id:this.track.name+"_suffixLists"}),t.push(this.changingOpPanel),t.push(r.create("h2",{innerHTML:"Combination formula"})),this.formulaPreview=r.create("div",{innerHTML:"(nothing currently selected)",className:"formulaPreview"}),t.push(this.formulaPreview),this.maskOpButtons=[],s){var c=this._renderRadioButton(o,s[l],this.inWords[s[l]]);this.maskOpButtons.push(c),c.on("change",function(t){if(t){delete this.whichArg,delete this.opValue,a.maskOpValue=this.value;var n="1111"==a.maskOpValue?3:1;a.opListDivs=[],a.whichArgDivs=[],a.opValue=[],a.whichArg=[],a.changingOpPanel.innerHTML="";for(var o=0;o<n;o++){var s=r.create("div",{id:a.track.name+"_suffix"+o,style:{display:"inline-block","padding-left":"15px","vertical-align":"top"}},a.changingOpPanel);3==n&&r.create("h2",{innerHTML:["Main","Mask","Display"][o]},s);var l=r.create("h3",{innerHTML:"Combining operation",style:{display:"none"}},s);a.opListDivs[o]=r.create("div",{id:a.track.name+"_OpList"+o},s);var c=r.create("h3",{innerHTML:"Left or right?",style:{display:"none"}},s);a.whichArgDivs[o]=r.create("div",{id:a.track.name+"_whichArg"+o},s);var h=a._generateSuffixRadioButtons(this.value,i,e,a.opListDivs[o],o),u=a._maybeRenderWhichArgDiv(this.value,e,a.whichArgDivs[o],o);u.length&&!a.whichOpArg&&u[0].set("checked","checked"),h.length&&h[0].set("checked","checked"),l.style.display=h.length?"":"none",c.style.display=u.length?"":"none"}}})}return s[0]&&this.maskOpButtons[0].set("checked","checked"),s.length<=1&&(s.length&&"0000"!=s[0]||(o.style.display="none"),this.maskOpButtons[0].set("disabled","disabled")),n=this._createActionBar(),t.push(n),t},_createActionBar:function(e){void 0===e&&(e=!0);var t=r.create("div",{className:"dijitDialogPaneActionBar"});new n({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(this,function(){this.shouldCombine=!1,this.dialog.hide()})}).placeAt(t);var i=new n({label:"Combine tracks",onClick:dojo.hitch(this,function(){this.shouldCombine=!0,this.dialog.hide()})});return i.placeAt(t),e||i.set("disabled","disabled"),t},_generateSuffixRadioButtons:function(e,t,i,n,o){for(o=o||0;n.firstChild;)dijit.byId(n.firstChild.id)&&dijit.byId(n.firstChild.id).destroy(),r.destroy(n.firstChild);var a=[],s=this,l=this._generateSuffixList(e,t,o);for(var c in l){var h=this._renderRadioButton(n,l[c],this.inWords[l[c]]);a.push(h),h.on("change",function(e){if(e){s.opValue[o]=this.value;var t=s._getOperation();s.previewTree=s._createPreviewTree(t,i),s.formulaPreview.innerHTML=s._generateTreeFormula(s.previewTree)}})}return a},_getOperation:function(){for(var e=this.maskOpValue,t=0;t<this.opListDivs.length;t++)e=e+this.opValue[t]+this.whichArg[t];return e},_generateSuffixList:function(e,t,i){return void 0===i&&(i=0),this._makeUnique(t.filter(function(t){return-1!=t.indexOf(e)}).map(function(t){return t.substring(e.length+i,e.length+i+1)}))},_maybeRenderWhichArgDiv:function(e,t,i,n){for(n=n||0;i.firstChild;)dijit.byId(i.firstChild.id)&&dijit.byId(i.firstChild.id).destroy(),r.destroy(i.firstChild);var o=[],a=this,s=function(e,i){if(e){a.whichArg[n]=void 0===i?this.value:i;var r=a._getOperation();a.previewTree=a._createPreviewTree(r,t),a.formulaPreview.innerHTML=a._generateTreeFormula(a.previewTree)}};if("0020"==e)s(!0,"L");else if("0002"==e)s(!0,"R");else if("1111"==e&&0==n)s(!0,"?");else{var l=this._renderRadioButton(i,"L","left"),c=this._renderRadioButton(i,"R","right");o.push(l),o.push(c),l.on("change",s),c.on("change",s)}return o},_makeUnique:function(e){var t={};return e.filter(function(e){return!t[e]&&(t[e]=!0,!0)})},_createPreviewTree:function(e,t){var i=t.opTree?t.opTree.clone():new o({Value:t});i&&i.recursivelyCall(function(e){e.highlighted=!0});var n=new o(this.opTree),r=i;return"01"==e.substring(0,2)&&(n=i,r=this.opTree),this._applyTreeTransform(e.substring(2),n,r)},_applyTreeTransform:function(e,t,i){var n,r=t,a=t,s=i;switch(e.substring(0,2)){case"10":a=t.leftChild,n="leftChild",s=i;break;case"01":a=t.rightChild,n="rightChild",s=i;break;case"11":(r=new o({Value:e.substring(2,3)})).leftChild=this._transformTree(e.substring(4),t.leftChild,i.leftChild),e=e.substring(4),n="rightChild",a=t.rightChild,s=i.rightChild;break;case"20":this.newDisplayType=this.oldType;break;case"02":this.newDisplayType=this.currType}var l=this._transformTree(e.substring(2),a,s);return null==n?l:(r[n]=l,r)},_transformTree:function(e,t,i){var n=e.substring(0,1),r=new o({Value:n});return"L"==e.substring(1,2)?(r.add(i),r.add(t)):(r.add(t),r.add(i)),r},_allAllowedOperations:function(e){var t=[],i="";if(i+="mask"==this.oldType?"1":"0","00"==(i+="mask"==this.currType?"1":"0")){if(this.oldType==this.currType){var n=i+"00";for(var r in a=this.trackClasses[this.currType].allowedOps)t.push(n+a[r])}if(a=this.trackClasses.mask.allowedOps,"set"==this.currType)for(var r in n=i+"20",a)t.push(n+a[r]);if("set"==this.oldType)for(var r in n=i+"02",a)t.push(n+a[r])}else if("10"==i){if("set"==this.currType)for(var r in n=i+"10",a=this.trackClasses[this.currType].allowedOps)t.push(n+a[r]);if(this.currType==this.displayType)for(var r in n=i+"01",a=this.trackClasses[this.currType].allowedOps)t.push(n+a[r])}else if("01"==i){if("set"==this.oldType)for(var r in n=i+"10",a=this.trackClasses[this.oldType].allowedOps)t.push(n+a[r]);var o=this.supportedBy[e.stores.display.config.type];if(this.oldType==o){i+="01";var a=this.trackClasses[o].allowedOps;for(var r in a)t.push(i+a[r])}}else if("11"==i)for(var r in i+="11",a=this.trackClasses.set.allowedOps)if((o=this.supportedBy[e.stores.display.config.type])==this.displayType){var s=this.trackClasses[o].allowedOps;for(var l in s){var c=this.trackClasses.mask.allowedOps;for(var h in c)t.push(i+c[h]+a[r]+s[l])}}return t},_renderRadioButton:function(e,t,n){var o=e.id+"_rb_"+t;dijit.byId(o)&&(r.destroy(dijit.byId(o).domNode),dijit.byId(o).destroy()),n=n||t;var a=new i({name:e.id+"_rb",id:o,value:t});return e.appendChild(a.domNode),r.create("label",{for:a.id,innerHTML:n},e),e.appendChild(r.create("br")),a},run:function(e,t,i){this.dialog.show();var n=this;this.dialog.on("Hide",function(){n.previewTree&&n.previewTree.recursivelyCall(function(e){e.highlighted&&delete e.highlighted}),n.shouldCombine?e(n.previewTree,n.newStore,n.newDisplayType):t()})},_generateTreeFormula:function(e){return e&&void 0!==e?e.isLeaf()?'<span class="leaf'+(e.highlighted?" highlighted":"")+'">'+(e.get().name?this.storeToKey[e.get().name]?this.storeToKey[e.get().name]:e.get().name:e.get())+"</span>":'<span class="tree">('+this._generateTreeFormula(e.left())+' <span class="op" title="'+this.inWords[e.get()]+'">'+e.get()+"</span> "+this._generateTreeFormula(e.right())+")</span>":'<span class="null">NULL</span>'},destroyRecursive:function(){this.dialog.destroyRecursive()}})}.apply(null,n))||(e.exports=r)},467:function(e,t,i){var n,r;n=[i(575),i(576)],void 0===(r=function(e,t){return e(null,{_refreshContextMenu:function(e){e.contextMenu||(e.contextMenu=this._makeFeatureContextMenu(e,this.getConfForFeature("menuTemplate",e.f))),e.contextMenuTimeout&&window.clearTimeout(e.contextMenuTimeout),e.contextMenuTimeout=window.setTimeout(function(){e.contextMenu&&(e.contextMenu.destroyRecursive(),delete e.contextMenu),delete e.contextMenuTimeout},3e4)},_makeFeatureContextMenu:function(e,i){var n=t.mixin({track:this,feature:e.f,callbackArgs:[this,e.f,e]},e);i=this._processMenuSpec(dojo.clone(i),n);var r=this._renderContextMenu(i,n);return r.startup(),r}})}.apply(null,n))||(e.exports=r)},468:function(e,t,i){var n;void 0===(n=function(){var e=function(){this.callbacks=[]};return e.prototype.then=function(e){"value"in this?e(this.value):this.callbacks.push(e)},e.prototype.resolve=function(e){this.value=e;var t=this.callbacks;delete this.callbacks;for(var i=0;i<t.length;i++)t[i](this.value)},e}.apply(null,[]))||(e.exports=n)},469:function(e,t,i){var n,r;n=[i(575),i(577),i(595),i(350)],void 0===(r=function(e,t,i,n){return e(n,{constructor:function(e){this.track=e.track,this.booleanAlpha=.17,i.before(this,"renderFeature",function(e,t){if(t.m){var i=Math.floor(t.l),n=Math.ceil(t.w+t.l)-i;if(t.m.sort(function(e,t){return e.l-t.l}),(a=t.m[0]).l<=i){var r=t.m[0].l;for(var o in t.m){var a;if((a=t.m[o]).l>r)break;r=a.l+a.w}r>=i+n&&(e.globalAlpha=this.booleanAlpha,t.noMask=!0)}}},!0),i.after(this,"renderFeature",function(e,t){t.m&&!t.noMask?this.maskBySpans(e,t):t.noMask&&(delete t.noMask,e.globalAlpha=1)},!0)},getStyle:function(e,t){return this.getConfForFeature("style."+t,e)},getConfForFeature:function(e,t){return this.getConf(e,[t,e,this,this.track])},mouseoverFeature:function(e,t){this.renderFeature(e,t),e.fillStyle=this.getStyle(t.f,"mouseovercolor"),e.fillRect(t.rect.l,t.t,t.rect.w,t.rect.h)},_getFeatureRectangle:function(e,t){var i=e.block,n={l:i.bpToX(t.get("start")),h:this._getFeatureHeight(e,t),viewInfo:e,f:t,glyph:this};n.w=i.bpToX(t.get("end"))-n.l,this._addMasksToRect(e,t,n)},_addMasksToRect:function(e,i,n){var r=e.block;return i.masks&&(n.m=[],t.forEach(i.masks,function(e){var t={l:r.bpToX(e.start)};t.w=r.bpToX(e.end)-t.l,n.m.push(t)})),n},layoutFeature:function(e,t,i){var n=this._getFeatureRectangle(e,i),r=e.scale,o=e.leftBase,a=n.l/r+o,s=(n.l+n.w)/r+o;return n.t=t.addRect(i.id(),a,s,n.h,i),null===n.t?null:(n.f=i,n)},renderFeature:function(e,t){},maskBySpans:function(e,i){var n=e.canvas.height,r=this,o=dojo.create("canvas",{height:n,width:e.canvas.width}),a=o.getContext("2d"),s=Math.floor(i.l),l=Math.ceil(i.w+i.l)-s;t.forEach(i.m,function(t){try{t.l<s&&(t.w+=t.l-s,t.l=s),t.w>l&&(t.w=l),t.l<0&&(t.w+=t.l,t.l=0),t.l+t.w>s+l&&(t.w=l+s-t.l),t.l+t.w>e.canvas.width&&(t.w=e.canvas.width-t.l),a.drawImage(e.canvas,t.l,i.t,t.w,i.h,t.l,i.t,t.w,i.h),e.globalAlpha=r.booleanAlpha,e.clearRect(t.l,i.t,t.w,i.h),e.drawImage(o,t.l,i.t,t.w,i.h,t.l,i.t,t.w,i.h),e.globalAlpha=1}catch(e){}})},_getFeatureHeight:function(e,t){return this.getStyle(t,"height")},updateStaticElements:function(e,t,i){}})}.apply(null,n))||(e.exports=r)},470:function(e,t,i){var n,r;n=[i(575),i(576),i(393)],void 0===(r=function(e,t,i){var n={};return e(i,{makeFeatureLabel:function(e,t){var i=this.getFeatureLabel(e);if(!i)return null;i=""+i;var n=this.getStyle(e,"textFont"),r=t?this.makeBottomOrTopLabel(i,n,t):this.makePopupLabel(i,n);return r.fill=this.getStyle(e,"textColor"),r},makeFeatureDescriptionLabel:function(e,t){var i=this.getFeatureDescription(e);if(!i)return null;i=""+i;var n=this.getStyle(e,"text2Font"),r=t?this.makeBottomOrTopLabel(i,n,t):this.makePopupLabel(i,n);return r.fill=this.getStyle(e,"text2Color"),r},makeSideLabel:function(e,t,i){if(!e)return null;var n=this.measureFont(t),r=Math.round((e.length*n.w-this.track.getConf("maxFeatureGlyphExpansion"))/n.w);return r>0&&(e=e.slice(0,e.length-r-1)+"…"),{text:e,font:t,baseline:"middle",w:n.w*e.length,h:n.h}},makeBottomOrTopLabel:function(e,t,i){if(!e)return null;var n=this.measureFont(t),r=Math.round((e.length*n.w-i.w-this.track.getConf("maxFeatureGlyphExpansion"))/n.w);return r>0&&(e=e.slice(0,e.length-r-1)+"…"),{text:e,font:t,baseline:"bottom",w:n.w*e.length,h:n.h}},makePopupLabel:function(e,t){if(!e)return null;var i=this.measureFont(t);return{text:e,font:t,w:i.w*e.length,h:i.h}},measureFont:function(e){return n[e]||(n[e]=function(){var t=document.createElement("canvas").getContext("2d");t.font=e;var i="MMMMMMMMMMMMXXXXXXXXXX1234567890-.CGCC12345",n=t.measureText(i);return{h:n.height||parseInt(e.match(/(\d+)px/)[1]),w:n.width/i.length}}.call(this))}})}.apply(null,n))||(e.exports=r)},471:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(398),i(377),i(334)],void 0===(r=function(e,t,i,n,r,o){return e(n,{clearFeat:function(e,t){"collapsed"!=this.track.displayMode&&e.clearRect(Math.floor(t.l),t.t,Math.ceil(t.w),t.h)},renderFeature:function(e,t){var i=t.f;if(this.clearFeat(e,t),i.pairedFeature()){this.renderConnector(e,t),this.renderSegments(e,t),t.w>2&&(t.viewInfo.scale>.2?(this._drawMismatches(e,t,this._getMismatches(i.read1),i.read1),this._drawMismatches(e,t,this._getMismatches(i.read2),i.read2)):(this._drawMismatches(e,t,this._getSkipsAndDeletions(i.read1),i.read1),this._drawMismatches(e,t,this._getSkipsAndDeletions(i.read2),i.read2)));var n=i.read1.get("start"),r=i.read1.get("end"),a=i.read2.get("start"),s=i.read2.get("end");if(o.intersect(n,r,a,s)){var l=r>s?n:a,c=n>a?s:r,h=t.viewInfo.block,u=h.bpToX(l),d=h.bpToX(c);if(d-u>2){e.fillStyle=this.getStyle(i,"overlapColor"),e.fillRect(u,t.rect.t,d-u,t.rect.h);var f=this.getStyle(i,"overlapStroke");if(f&&(e.strokeStyle=f,e.strokeRect(u,t.rect.t,d-u,t.rect.h)),t.viewInfo.scale>.2){var g=this._getMismatches(i.read1),p=this._getMismatches(i.read2);if(!g&&!p)return;for(var b=[],m=0;m<g.length;m++){for(var v=!1,w=0;w<p.length;w++)n+g[m].start==a+p[w].start&&l<=n+g[m].start&&c>=n+g[m].start&&(v=!0,b.push({start:g[m].start,base1:g[m].base,base2:p[w].base,type:"mismatch",length:1}));"mismatch"==g[m].type&&l<=n+g[m].start&&c>=n+g[m].start&&!v&&b.push({start:g[m].start,base1:g[m].base,base2:"-",type:"mismatch",length:1})}for(0!==b.length&&this._drawOverlappingMismatches(e,t,b,n),b=[],m=0;m<p.length;m++){var y=!1;for(w=0;w<g.length;w++)n+g[w].start==a+p[m].start&&l<=a+p[m].start&&c>=a+p[m].start&&(y=!0);"mismatch"==p[m].type&&l<=a+p[m].start&&c>=a+p[m].start&&!y&&b.push({start:p[m].start,base1:p[m].base,base2:"-",type:"mismatch",length:1})}0!==b.length&&this._drawOverlappingMismatches(e,t,b,a)}}}}else this.inherited(arguments)},renderSegments:function(e,t){this.renderBox(e,t.viewInfo,t.f.read1,t.t,t.rect.h,t.f),this.renderBox(e,t.viewInfo,t.f.read2,t.t,t.rect.h,t.f)},renderConnector:function(e,t){var i=this.getStyle(t.f,"connectorColor");if(i){e.fillStyle=i;var n=this.getStyle(t.f,"connectorThickness");e.fillRect(t.rect.l,Math.round(t.rect.t+(t.rect.h-n)/2),t.rect.w,n)}},_drawOverlappingMismatches:function(e,i,n,r){var o=i.viewInfo.block,a=o.scale,s=this.getCharacterMeasurements(e);e.textBaseline="middle",t.forEach(n,function(t){var n=r+t.start,l=r+t.start+t.length,c={h:(i.rect||{}).h||i.h,l:o.bpToX(n),t:i.rect.t};c.w=Math.max(o.bpToX(l)-c.l,1),"mismatch"==t.type&&(t.base1==t.base2?e.fillStyle=this.track.colorForBase("deletion"==t.type?"deletion":t.base1):e.fillStyle="black",e.fillRect(c.l,c.t,c.w,c.h),c.w>=s.w&&c.h>=s.h-3&&(e.font=this.config.style.mismatchFont,t.base1==t.base2?(e.fillStyle="black",e.fillText(t.base1,c.l+(c.w-s.w)/2+1,c.t+c.h/2)):a>=10&&(e.fillStyle="white",e.fillText(t.base1+"/"+t.base2,c.l+(c.w-2*s.w)/2+1,c.t+c.h/2))))},this),e.textBaseline="alphabetic"},_defaultConfig:function(){return this._mergeConfigs(dojo.clone(this.inherited(arguments)),{style:{connectorColor:r.connectorColor,connectorThickness:1,overlapColor:"lightgrey",overlapStroke:"grey"}})}})}.apply(null,n))||(e.exports=r)},472:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(355),i(396),i(397)],void 0===(r=function(e,t,i,n,r,o){return e(n,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{transcriptType:"mRNA",noncodingType:["ncRNA","lnc_RNA","lncRNA","miRNA"],style:{transcriptLabelFont:"normal 10px Univers,Helvetica,Arial,sans-serif",transcriptLabelColor:"black",textFont:"bold 12px Univers,Helvetica,Arial,sans-serif"},labelTranscripts:!0,marginBottom:0})},_boxGlyph:function(){return this.__boxGlyph||(this.__boxGlyph=new n({track:this.track,browser:this.browser,config:this.config}))},_ntGlyph:function(){return this.__ntGlyph||(this.__ntGlyph=new r({track:this.track,browser:this.browser,config:this.config}))},_ptGlyph:function(){return this.__ptGlyph||(this.__ptGlyph=new o({track:this.track,browser:this.browser,config:this.config}))},_getFeatureRectangle:function(e,i){var n=t.mixin({},e);n.showDescriptions=n.showLabels=!1;var r=i.children();if(!r||!r.length)return this.inherited(arguments);var o=1,a={l:0,h:0,r:0,w:0,subRects:[],viewInfo:e,f:i,glyph:this};if(r&&r.length){r.sort(function(e,t){return(e.get("name")||e.get("id")||"").localeCompare(t.get("name")||t.get("id")||"")}),a.l=1/0,a.r=-1/0;for(var s=this.getConfForFeature("transcriptType",i),l=this.getConfForFeature("noncodingType",i),c=0;c<r.length;c++){var h=(r[c].get("type")==s?this._ptGlyph():l.includes(r[c].get("type"))?this._ntGlyph():this._boxGlyph())._getFeatureRectangle(n,r[c]);if(o=c==r.length-1?0:1,h.t=h.rect.t=a.h&&"collapsed"!=e.displayMode?a.h+o:0,e.showLabels&&this.getConfForFeature("labelTranscripts",r[c])){var u=this.makeSideLabel(this.getFeatureLabel(r[c]),this.getStyle(r[c],"transcriptLabelFont"),h);u&&(u.fill=this.getStyle(r[c],"transcriptLabelColor"),h.label=u,h.l-=u.w,h.w+=u.w,u.h>h.h&&(h.h=u.h),u.yOffset=Math.floor(h.h/2),u.xOffset=0)}a.subRects.push(h),a.r=Math.max(a.r,h.l+h.w-1),a.l=Math.min(a.l,h.l),a.h=h.t+h.h+o}}return a.w=Math.max(a.r-a.l+1,2),delete a.r,a.rect={l:a.l,h:a.h,w:a.w},"compact"!=e.displayMode&&(a.h+=this.getStyle(i,"marginBottom")||0),"collapsed"==e.displayMode?a:(this._expandRectangleWithLabels(e,i,a),this._addMasksToRect(e,i,a),a)},layoutFeature:function(e,t,n){var r=this.inherited(arguments);return r&&i.forEach(r.subRects,function(e){e.t+=r.t,e.rect.t+=r.t}),r},renderFeature:function(e,t){var i=t.subRects;if(!i||0===i.length)return this.inherited(arguments);"collapsed"!=t.viewInfo.displayMode&&e.clearRect(Math.floor(t.l),t.t,Math.ceil(t.w-Math.floor(t.l)+t.l),t.h);for(var n=0;n<i.length;n++)i[n].glyph.renderFeature(e,i[n]);this.renderLabel(e,t),this.renderDescription(e,t)},updateStaticElements:function(e,t,i){this.inherited(arguments);for(var n=t.subRects||[],r=0;r<n.length;r++)n[r].glyph.updateStaticElements(e,n[r],i)}})}.apply(null,n))||(e.exports=r)},473:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(356)],void 0===(r=function(e,t,i){return e(i,{constructor:function(e){this._printHeader()},_printHeader:function(){if(this.print("track"),this.track){this.track.name&&this.print(' name="'+this.track.name+'"');var e=this.track.getMetadata();e.key&&this.print(' description="'+e.key+'"')}this.print(" useScore=0"),this.print("\n")},bed_field_names:["seq_id","start","end","name","score","strand","thickStart","thickEnd","itemRgb","blockCount","blockSizes","blockStarts"],formatFeature:function(e){var i=t.map([e.get("seq_id")||this.refSeq.name].concat(dojo.map(this.bed_field_names.slice(1,11),function(t){return e.get(t)},this)),function(e){var t=void 0===e?"undefined":o(e);return"string"==t||"number"==t?e:""},this);return i[5]={1:"+","-1":"-",0:"+"}[i[5]]||i[5],i.join("\t")+"\n"}})}.apply(null,n))||(e.exports=r)},474:function(e,t,i){var n;void 0===(n=function(){var e=function(){this.callbacks=[],this.errbacks=[]};return e.prototype.then=function(e,t){"value"in this?e(this.value):"error"in this?t(this.error):(this.callbacks.push(e),this.errbacks.push(t))},e.prototype.resolve=function(e){this.value=e,delete this.errbacks;var t=this.callbacks;delete this.callbacks;for(var i=0;i<t.length;i++)t[i](this.value)},e.prototype.reject=function(e){this.error=e,delete this.callbacks;var t=this.errbacks;delete this.errbacks;for(var i=0;i<t.length;i++)t[i](e)},e}.apply(null,[]))||(e.exports=n)},475:function(e,t,i){var n,r;n=[i(577)],void 0===(r=function(e){var t="seq_id source type start end score strand phase attributes".split(" ");return{parse_feature:function(i){var n=e.map(i.split("\t"),function(e){return"."==e?null:e});n[0]=this.unescape(n[0]),n[1]=this.unescape(n[1]),n[8]=this.parse_attributes(n[8]);for(var r={},o=0;o<t.length;o++)r[t[o]]="."==n[o]?null:n[o];return null!==r.start&&(r.start=parseInt(r.start,10)),null!==r.end&&(r.end=parseInt(r.end,10)),null!==r.score&&(r.score=parseFloat(r.score,10)),null!==r.strand&&(r.strand={"+":1,"-":-1}[r.strand]||0),r},parse_directive:function(e){var t=/^\s*\#\#\s*(\S+)\s*(.*)/.exec(e);if(!t)return null;var i=t[1],n=t[2],r={directive:i};if(n.length&&(n=n.replace(/\r?\n$/,""),r.value=n),"sequence-region"==i){var o=n.split(/\s+/,3);r.seq_id=o[0],r.start=o[1].replace(/\D/g,""),r.end=o[2].replace(/\D/g,"")}else"genome-build"==i&&(o=n.split(/\s+/,2),r.source=o[0],r.buildname=o[1]);return r},unescape:function(e){return null===e?null:e.replace(/%([0-9A-Fa-f]{2})/g,function(e,t){return String.fromCharCode(parseInt(t,16))})},escape:function(e){return e.replace(/[\n\r\t;=%&,\x00-\x1f\x7f-\xff]/g,function(e){var t=e.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t="0"+t),"%"+t})},parse_attributes:function(t){if(!t||!t.length||"."==t)return{};t=t.replace(/\r?\n$/,"");var i={},n=/^\s*(.+)\s+"(.+)"/;return e.forEach(t.split(";"),function(t){var r,o=(r=n.exec(t))?r.slice(1):[];if(o[1]&&o[1].length){var a=i[o[0]];a||(a=i[o[0]]=[]),a.push.apply(a,e.map(o[1].split(","),this.unescape))}},this),i},format_feature:function(e){for(var i=null===e.attributes||void 0===e.attributes?".":this.format_attributes(e.attributes),n=["-",".","+"],r=[],o=0;o<8;o++){var a=e[t[o]];r[o]=6==o?null==a?".":n[a+1]:null==a?".":this.escape(""+a)}return r[8]=i,r.join("\t")+"\n"},format_attributes:function(t){var i=[];for(var n in t){var r=t[n],o=r.hasOwnProperty("toString")?this.escape(r.toString()):r.values?function(t){return t instanceof Array?e.map(t,this.escape).join(","):this.escape(t)}.call(this,r.values):r instanceof Array?e.map(r,this.escape).join(","):this.escape(r);i.push(this.escape(n)+"="+o)}return i.length?i.join(";"):"."}}}.apply(null,n))||(e.exports=r)},476:function(e,t,i){var n,r;n=[i(575),i(660),i(386),i(340),i(334)],void 0===(r=function(e,t,i,n,r){return e([i,n],{constructor:function(e){this.tileToImage={},this.zoomCache={},this.baseUrl=e.baseUrl,this.url=this.resolveUrl(e.urlTemplate),this._deferred.images=new t,dojo.xhrGet({url:this.url,handleAs:"json",failOk:!0,load:dojo.hitch(this,function(e){this.loadSuccess(e)}),error:dojo.hitch(this,"_failAllDeferred")})},loadSuccess:function(e){this.globalStats=e.stats||{},"scoreMin"in this.globalStats||(this.globalStats.scoreMin=this.globalStats.global_min),"scoreMax"in this.globalStats||(this.globalStats.scoreMax=this.globalStats.global_max),this.tileWidth=e.tileWidth,this.align=e.align,this.zoomLevels=e.zoomLevels,this._deferred.stats.resolve({success:!0}),this._deferred.images.resolve({success:!0})},_getZoom:function(e){var t=this.zoomCache[e];if(t)return t;t=this.zoomLevels[0];for(var i=this.tileWidth/e,n=1;n<this.zoomLevels.length;n++)Math.abs(this.zoomLevels[n].basesPerTile-i)<Math.abs(t.basesPerTile-i)&&(t=this.zoomLevels[n]);return this.zoomCache[e]=t,t},getImages:function(e,t,i){var n=this;this._deferred.images.then(function(r){r.success?n._getImages(e,t,i):(n.error=r.error,i(r.error||r))},i)},_getImages:function(e,t,i){for(var n,r=e.scale||1,o=e.start,a=e.end,s=this._getZoom(r),l=0|Math.max(o/s.basesPerTile,0),c=a/s.basesPerTile|0,h=[],u=l;u<=c;u++)n=document.createElement("img"),dojo.connect(n,"onerror",this.handleImageError),n.src=this._imageSource(s,u),n.startBase=u*s.basesPerTile,n.baseWidth=s.basesPerTile,n.tileNum=u,h.push(n);t(h)},_imageSource:function(e,t){return r.resolveUrl(this.url,e.urlPrefix+t+".png")}})}.apply(null,n))||(e.exports=r)},477:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(677),i(634),i(587),i(336),i(352),i(334),i(338),i(351)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){return e(a,{constructor:function(e){if(this.compress=e.compress,this.urlTemplate=this.getConf("urlTemplate",[]),!this.urlTemplate)throw"no urlTemplate provided, cannot open sequence store";this.baseUrl=e.baseUrl,this.seqChunkSize=e.seqChunkSize},getFeatures:function(e,t,n,r){r=r||function(e){console.error(e)};var o=e.ref;this.browser.compareReferenceNames(this.refSeq.name,o)||(o=this.refSeq.name);for(var a,l=o==this.refSeq.name&&this.refSeq.seqChunkSize||this.seqChunkSize||(this.compress?8e4:2e4),c=0,h=this.chunkCache=this.chunkCache||new s({name:"SequenceCache",fillCallback:dojo.hitch(this,"_readChunkItems"),sizeFunction:function(e){return e.length},maxSize:100}),u=Math.floor(Math.max(0,e.start)/l),d=Math.floor((e.end-1)/l),f=[],g=u;g<=d;g++)f.push({refname:o,chunkNum:g,chunkSize:l});i.forEach(f,function(e){h.get(e,function(e,i){i&&!a&&r(i),(a=a||i)||(t(e),++c==f.length&&n())})})},_readChunkItems:function(e,i){var n=this,r=new o,a=this.resolveUrl(this.urlTemplate,{refseq:e.refname,refseq_dirpath:function(){for(var t=h.crc32(e.refname).toString(16).toLowerCase().replace("-","n");t.length<8;)t="0"+t;for(var i=[],n=0;n<t.length;n+=3)i.push(t.substring(n,n+3));return i.join("/")}});this._fetchChunk(a,e.chunkNum).then(t.hitch(r,"resolve"),function(e){404==e.response.status?r.resolve(""):r.reject(e)}),r.then(function(t){i(n._makeFeature(e.refname,e.chunkNum,e.chunkSize,t))},function(e){i(null,e)})},_fetchChunk:function(e,t){return n.get(e+t+".txt"+(this.compress?"z":""),{handleAs:"text",headers:{"X-Requested-With":null}})},_makeFeature:function(e,t,i,n){return new c({data:{start:t*i,end:t*i+n.length,residues:n,seq_id:e,name:e}})}})}.apply(null,n))||(e.exports=r)},478:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(725),i(336),i(339),i(340),i(334),i(479),i(480),i(400)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){var u=function(){return this._uniqueID},d=function(){return this._parent},f=function(){return this.get("subfeatures")};return e(r,{constructor:function(e){this.args=e,this.baseUrl=e.baseUrl,this.urlTemplates={root:e.urlTemplate},this._deferred={}},makeNCList:function(){return new c},loadNCList:function(e,t,i){e.nclist.importExisting(t.intervals.nclist,e.attrs,i,t.intervals.urlTemplate,t.intervals.lazyClass)},getDataRoot:function(e){if(!this._deferred.root||this.curRefName!=e){this._deferred.root=new i,this.curRefName=e;var t={nclist:this.makeNCList()},r=this.resolveUrl(this._evalConf(this.urlTemplates.root),{refseq:e}),o=this;n.get(r,{handleAs:"json",failOk:!0,headers:{"X-Requested-With":null}}).then(function(e,i){o._handleTrackInfo(t,e,r)},function(e){s.isElectron()||404==e.response.status?o._handleTrackInfo(t,{},r):200!=e.response.status?o._failAllDeferred("Server returned an HTTP "+e.response.status+" error"):o._failAllDeferred(e)})}return this._deferred.root},_handleTrackInfo:function(e,t,i){e.stats={featureCount:t.featureCount||0,featureDensity:(t.featureCount||0)/this.refSeq.length},this.empty=!t.featureCount,t.intervals&&(e.attrs=new l(t.intervals.classes),this.loadNCList(e,t,i));var n=t.histograms;if(n&&n.meta){for(var r=0;r<n.meta.length;r++)n.meta[r].lazyArray=new h(n.meta[r].arrayParams,i);e._histograms=n}this._deferred.root.resolve(e)},getGlobalStats:function(e,t){return(this._deferred.root||this.getDataRoot(this.browser.refSeq.name)).then(function(t){e(t.stats)},t)},getRegionStats:function(e,t,i){this.getDataRoot(e.ref).then(function(e){t(e.stats)},i)},getRegionFeatureDensities:function(e,t,i){this.getDataRoot(e.ref).then(function(i){var n,r;if(e.numBins)n=e.numBins,r=(e.end-e.start)/n;else{if(!e.basesPerBin)throw new Error("numBins or basesPerBin arg required for getRegionFeatureDensities");r=e.basesPerBin,n=Math.ceil((e.end-e.start)/r)}for(var o=function(e,t){for(var i=0;i<t.length;i++)if(t[i].basesPerBin>=e)return t[i]}(r,i._histograms.stats||[]),a=i._histograms.meta[0],s=0;s<i._histograms.meta.length;s++)r>=i._histograms.meta[s].basesPerBin&&(a=i._histograms.meta[s]);var l=r/a.basesPerBin;if(l>.9&&Math.abs(l-Math.round(l))<1e-4){var c=Math.floor(e.start/a.basesPerBin);l=Math.round(l);for(var h=[],u=0;u<n;u++)h[u]=0;a.lazyArray.range(c,c+l*n,function(e,t){h[Math.floor((e-c)/l)]+=t},function(){t({bins:h,stats:o})})}else i.nclist.histogram.call(i.nclist,e.start,e.end,n,function(e){t({bins:e,stats:o})})}).catch(i)},getFeatures:function(e,t,i,n){if(this.empty)i();else{var r=this;this.getDataRoot(e.ref).then(function(o){r._getFeatures(o,e,t,i,n)},n)}},_getFeatures:function(e,t,i,n,r){var o=this,a=t.start,s=t.end,l=e.attrs.accessors();e.nclist.iterate.call(e.nclist,a,s,function(e,t){if(!e.decorated){var n=t.join(",");o._decorate_feature(l,e,n)}return i(e)},n,r)},_decorate_feature:function(e,t,i,n){t.get=e.get,t.tags=e.tags,t._uniqueID=i,t.id=u,t._parent=n,t.parent=d,t.children=f,dojo.forEach(t.get("subfeatures"),function(n,r){this._decorate_feature(e,n,i+"-"+r,t)},this),t.decorated=!0}})}.apply(null,n))||(e.exports=r)},479:function(e,t,i){var n;void 0===(n=function(){function e(e){this.classes=e,this.fields=[];for(var t=0;t<e.length;t++){this.fields[t]={};for(var i=0;i<e[t].attributes.length;i++)this.fields[t][e[t].attributes[i]]=i+1;void 0===e[t].proto&&(e[t].proto={}),void 0===e[t].isArrayAttr&&(e[t].isArrayAttr={})}}return e.prototype.attrIndices=function(e){return this.classes.map(function(t){return t.attributes.indexOf(e)+1||t.attributes.indexOf(e.toLowerCase())+1||void 0})},e.prototype.get=function(e,t){if(t in this.fields[e[0]])return e[this.fields[e[0]][t]];var i=t.toLowerCase();if(i in this.fields[e[0]])return e[this.fields[e[0]][i]];var n=this.classes[e[0]].attributes.length+1;return n>=e.length||!(t in e[n])?t in this.classes[e[0]].proto?this.classes[e[0]].proto[t]:void 0:e[n][t]},e.prototype.set=function(e,t,i){if(t in this.fields[e[0]])e[this.fields[e[0]][t]]=i;else{var n=t.toLowerCase();if(n in this.fields[e[0]])e[this.fields[e[0]][n]]=i;else{var r=this.classes[e[0]].attributes.length+1;r>=e.length&&(e[r]={}),e[r][t]=i}}},e.prototype.makeSetter=function(e){var t=this;return function(i,n){t.set(i,e,n)}},e.prototype.makeGetter=function(e){var t=this;return function(i){return t.get(i,e)}},e.prototype.makeFastSetter=function(e){var t=this.attrIndices(e);return function(e,i){void 0!==t[e[0]]&&(e[t[e[0]]]=i)}},e.prototype.makeFastGetter=function(e){var t=this.attrIndices(e);return function(e){return void 0!==t[e[0]]?e[t[e[0]]]:void 0}},e.prototype.construct=function(e,t,i){var n=new Array(e.classes[i].length);for(var r in t)this.set(n,r,t[r]);return n},e.prototype.accessors=function(){return this._accessors=this._accessors||this._makeAccessors()},e.prototype._makeAccessors=function(){var e,t={},i={get:function(e){var t=this.get.field_accessors[e.toLowerCase()];return t?t.call(this):void 0},set:function(e,t){var i=this.set.field_accessors[e];return i?i.call(this,t):void 0},tags:function(){return e[this[0]]||[]}};for(var n in i.get.field_accessors={},i.set.field_accessors={},dojo.forEach(this.classes,function(e,i){dojo.forEach(e.attributes||[],function(e,n){t[e]=t[e]||[],t[e][i]=n+1,e=e.toLowerCase(),t[e]=t[e]||[],t[e][i]=n+1})}),e=dojo.map(this.classes,function(e){return e.attributes}),t)t.hasOwnProperty(n)&&(i.get.field_accessors[n]=function(){var e=t[n];return e?function(){return this[e[this[0]]]}:function(){}}(),i.set.field_accessors[n]=function(){var e=t[n];return e?function(t){return this[e[this[0]]]=t}:function(){}}());return i},e}.apply(null,[]))||(e.exports=n)},480:function(e,t,i){var n,r;n=[i(677),i(634),i(587),i(334),i(352)],void 0===(r=function(e,t,i,n,r){function o(){this.topList=[]}return o.prototype.importExisting=function(e,t,i,n,r){this.topList=e,this.attrs=t,this.start=t.makeFastGetter("Start"),this.end=t.makeFastGetter("End"),this.lazyClass=r,this.baseURL=i,this.lazyUrlTemplate=n,this.lazyChunks={}},o.prototype.fill=function(e,t){if(0!=e.length){this.attrs=t,this.start=t.makeFastGetter("Start"),this.end=t.makeFastGetter("End");var i=t.makeSetter("Sublist"),n=this.start,r=this.end,o=e;o.sort(function(e,t){return n(e)!=n(t)?n(e)-n(t):r(t)-r(e)});var a=[],s=[];if(this.topList=s,s.push(o[0]),1!=o.length)for(var l,c,h=1,u=o.length;h<u;h++)if(l=o[h],r(l)<r(o[h-1]))a.push(s),s=new Array(l),i(o[h-1],s);else for(;;){if(0==a.length){s.push(l);break}if(c=a[a.length-1],r(c[c.length-1])>r(l)){s.push(l);break}s=a.pop()}}else this.topList=[]},o.prototype.binarySearch=function(e,t,i){for(var n,r=-1,o=e.length;o-r>1;)i(e[n=r+o>>>1])>=t?o=n:r=n;return i===this.end?o:r},o.prototype._readChunkItems=function(t,i){e.get(n.resolveUrl(this.baseURL,this.lazyUrlTemplate.replace(/\{Chunk\}/gi,t.chunkNum)),{handleAs:"json",headers:{"X-Requested-With":null}}).then(function(e){i(e)},function(e){404!=e.response.status?i(null,e):i()})},o.prototype.iterHelper=function(e,n,o,a,s,l,c,h){for(var u=e.length,d=this.binarySearch(e,n,l),f=this.attrs.makeGetter("Chunk"),g=this.attrs.makeGetter("Sublist"),p=[],b=this.chunkCache=this.chunkCache||new r({name:"NCListCache",fillCallback:dojo.hitch(this,"_readChunkItems"),sizeFunction:function(e){return e.length},maxSize:5e3});d<u&&d>=0&&s*c(e[d])<s*o;){e[d][0]==this.lazyClass?function(){var t=this,r=f(e[d]);r in this.lazyChunks||(this.lazyChunks[r]={});var h=new i;p.push(h.promise),b.get({chunkNum:r},function(e,i){if(i)h.reject(i);else{if(e)return t.iterHelper(e,n,o,a,s,l,c,[r]).then(function(){h.resolve()});h.resolve()}})}.call(this):a(e[d],h.concat(d));var m=g(e[d]);m&&p.push(this.iterHelper(m,n,o,a,s,l,c,h.concat(d))),d+=s}return t(p)},o.prototype.iterate=function(e,t,i,n){var r=e>t?-1:1,o=e>t?this.start:this.end,a=e>t?this.end:this.start;this.topList.length>0&&this.iterHelper(this.topList,e,t,i,r,o,a,[0]).then(n)},o.prototype.histogram=function(e,t,i,n){for(var r=new Array(i),o=(t-e)/i,a=this.start,s=this.end,l=0;l<i;l++)r[l]=0;this.iterate(e,t,function(t){for(var n=Math.max(0,(a(t)-e)/o|0),l=Math.min(i,(s(t)-e)/o|0),c=n;c<=l;c++)r[c]++},function(){n(r)})},o}.apply(null,n))||(e.exports=r)},481:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(401),i(334)],void 0===(r=function(e,t){function i(){}return i.prototype.importExisting=function(e,t,i,n,r){this.topList=e,this.sublistIndex=t,this.lazyIndex=i,this.baseURL=n,this.lazyUrlTemplate=r},i.prototype.fill=function(e,t){this.sublistIndex=t;var i=e;i.sort(function(e,t){return e[0]!=t[0]?e[0]-t[0]:t[1]-e[1]});var n,r,o=[],a=[];this.topList=a,a.push(i[0]);for(var s=1,l=i.length;s<l;s++)if((n=i[s])[1]<i[s-1][1])o.push(a),a=new Array(n),i[s-1][t]=a;else for(;;){if(0==o.length){a.push(n);break}if((r=o[o.length-1])[r.length-1][1]>n[1]){a.push(n);break}a=o.pop()}},i.prototype.binarySearch=function(e,t,i){for(var n,r=-1,o=e.length;o-r>1;)e[n=r+o>>>1][i]>t?o=n:r=n;return 1==i?o:r},i.prototype.iterHelper=function(e,i,n,r,a,s,l,c,h){for(var u=e.length,d=this.binarySearch(e,i,l);d<u&&d>=0&&s*e[d][c]<s*n;){if("object"==o(e[d][this.lazyIndex])){var f=this;e[d][this.lazyIndex].state?"loading"==e[d][this.lazyIndex].state?(a.inc(),e[d][this.lazyIndex].callbacks.push(function(e){return function(t){f.iterHelper(t,i,n,r,a,s,l,c,h.concat(e)),a.dec()}}(d))):"loaded"==e[d][this.lazyIndex].state||console.log("unknown lazy type: "+e[d]):(e[d][this.lazyIndex].state="loading",e[d][this.lazyIndex].callbacks=[],a.inc(),dojo.xhrGet({url:t.resolveUrl(this.baseURL,this.lazyUrlTemplate.replace(/\{chunk\}/g,e[d][this.lazyIndex].chunk)),headers:{"X-Requested-With":null},handleAs:"json",load:function(e,t,o,u){return function(d){t.state="loaded",e[o]=d,f.iterHelper(d,i,n,r,a,s,l,c,h.concat(u));for(var g=0;g<t.callbacks.length;g++)t.callbacks[g](d);a.dec()}}(e[d],e[d][this.lazyIndex],this.sublistIndex,d),error:function(){a.dec()}}))}else r(e[d],h.concat(d));e[d][this.sublistIndex]&&this.iterHelper(e[d][this.sublistIndex],i,n,r,a,s,l,c,h.concat(d)),d+=s}},i.prototype.iterate=function(t,i,n,r){var o=t>i?-1:1,a=t>i?0:1,s=t>i?1:0,l=new e(r);this.iterHelper(this.topList,t,i,n,l,o,a,s,[]),l.finish()},i.prototype.histogram=function(e,t,i,n){for(var r=new Array(i),o=(t-e)/i,a=0;a<i;a++)r[a]=0;this.iterate(e,t,function(t){for(var n=Math.max(0,(t[0]-e)/o|0),a=Math.min(i,(t[1]-e)/o|0),s=n;s<=a;s++)r[s]++},function(){n(r)})},i}.apply(null,n))||(e.exports=r)},482:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(573),i(475)],void 0===(r=function(e,t,i,n,r){return e(null,{constructor:function(e){i.mixin(this,{featureCallback:e.featureCallback||function(){},endCallback:e.endCallback||function(){},commentCallback:e.commentCallback||function(){},errorCallback:e.errorCallback||function(e){console.error(e)},directiveCallback:e.directiveCallback||function(){},under_construction_top_level:[],under_construction_by_id:{},completed_references:{},under_construction_orphans:{},eof:!1})},addLine:function(e){var t;if(this.eof);else if(/^\s*[^#\s>]/.test(e)){var i=r.parse_feature(e);this._buffer_feature(i)}else if(t=/^\s*(\#+)(.*)/.exec(e)){var n=t[1],o=t[2];if(3==n.length)this._return_all_under_construction_features();else if(2==n.length){var a=r.parse_directive(e);"FASTA"==a.directive?(this._return_all_under_construction_features(),this.eof=!0):this._return_item(a)}else o=o.replace(/\s*/,""),this._return_item({comment:o})}else if(/^\s*$/.test(e));else{if(!/^\s*>/.test(e))throw"GTF parse error. Cannot parse '"+(e=e.replace(/\r?\n?$/g,""))+"'.";this._return_all_under_construction_features(),this.eof=!0}},_return_item:function(e){e[0]?this.featureCallback(e):e.directive?this.directiveCallback(e):e.comment&&this.commentCallback(e)},finish:function(){this._return_all_under_construction_features(),this.endCallback()},_return_all_under_construction_features:function(){for(var e in t.forEach(this.under_construction_top_level,this._return_item,this),this.under_construction_top_level=[],this.under_construction_by_id={},this.completed_references={},this.under_construction_orphans)for(var i in e)throw"parse error: orphans "+n.stringify(this.under_construction_orphans)},container_attributes:{Parent:"child_features",Derives_from:"derived_features"},line_number:0,_buffer_feature:function(e){e.child_features=[],e.derived_features=[],this.line_number=this.line_number+1;var i,n=this.line_number,r="transcript"==e.type,o=r?e.attributes.transcript_id||[]:[n],a=r?[]:e.attributes.transcript_id||[],s=e.attributes.Derives_from||[];o.length||a.length||s.length?(t.forEach(a,function(t){this.under_construction_by_id[t]||this._buffer_feature(this._create_transcript(e))},this),t.forEach(o,function(t){var n;(n=this.under_construction_by_id[t])?(n.push(e),i=n):(i=[e],a.length||s.length||this.under_construction_top_level.push(i),this.under_construction_by_id[t]=i,this._resolve_references_to(i,t))},this),this._resolve_references_from(i||[e],{Parent:a,Derives_from:s},o)):this._return_item([e])},_create_transcript:function(e){var t=n.parse(n.stringify(e));return t.type="transcript",t},_expand_feature:function(e,t){e[0].start=Math.min(e[0].start,t[0].start),e[0].end=Math.max(e[0].end,t[0].end)},_resolve_references_to:function(e,i){var n=this.under_construction_orphans[i];if(n)for(var r in n){var o=this.container_attributes[r]||r.toLowerCase();t.forEach(e,function(e){e[o].push(n[r]),delete n[r]})}},_resolve_references_from:function(e,i,n){var r;for(var o in i)t.forEach(i[o],function(i){var a;(a=this.under_construction_by_id[i])?(this._expand_feature(a,e),r||(r=this.container_attributes[o]||o.toLowerCase()),t.some(n,function(e){return this.completed_references[e+","+o+","+i]++},this)||t.forEach(a,function(t){t[r].push(e)})):(this.under_construction_orphans[i][o]=this.under_construction_orphans[i][o]||[]).push(e)},this)}})}.apply(null,n))||(e.exports=r)},483:function(e,t,i){var n,r,o=i(1814);n=[i(575),i(576),i(577),i(334),i(474),i(634),i(484),i(338),i(1119),i(908)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h){var u=function(){console.log.apply(console,arguments)},d={name:"BigBED file",description:"this file has no associated autoSQL",fields:[{type:"string",name:"chrom",description:"Name of chromosome "},{type:"uint",name:"chromStart",description:"Start position (first base is 0)."},{type:"uint",name:"chromEnd",description:"End position plus one (chromEnd – chromStart = size)."},{type:"string",name:"name",description:"Name of feature."},{type:"float",name:"score",description:"A number between 0 and 1000 that controls shading of item (0 if unused)."},{type:"string",name:"strand",description:"+ or – (or . for unknown)."},{type:"uint",name:"thickStart",description:"Start position where feature is drawn as thicker line; used for CDS start for genes."},{type:"uint",name:"thickEnd",description:"Position where thicker part of feature ends."},{type:"string",name:"itemRgb",description:"Comma-separated list of red, green, blue values from 0-255 (0 if unused)."},{type:"uint",name:"blockCount",description:"For multipart items, the number of blocks; corresponds to exons for genes."},{type:"string",name:"blockSizes",description:"Comma-separated list of block sizes."},{type:"string",name:"chromStarts",description:"Comma-separated list of block starts relative to chromStart."}]};return e(null,{BIG_WIG_TYPE_GRAPH:1,BIG_WIG_TYPE_VSTEP:2,BIG_WIG_TYPE_FSTEP:3,constructor:function(e,t,i,n,r,o){this.window=e,this.source=e.bwg.name||void 0,this.blocksToFetch=[],this.outstanding=0,this.chr=t,this.min=i,this.max=n,this.callback=r,this.errorCallback=o||function(e){console.error(e,e.stack,arguments.caller)}},cirFobRecur:function(e,t){this.outstanding+=e.length;for(var i,n=4+32*this.window.cirBlockSize,r=0;r<e.length;++r){var o=new s(e[r],e[r]+n);i=i?i.union(o):o}for(var a=i.ranges(),l=0;l<a.length;++l){var c=a[l];this.cirFobStartFetch(e,c,t)}},cirFobStartFetch:function(e,i,n,r){var o=i.max()-i.min();this.window.bwg._read(i.min(),o,t.hitch(this,function(t){for(var r=0;r<e.length;++r)i.contains(e[r])&&(this.cirFobRecur2(t,e[r]-i.min(),n),--this.outstanding,0==this.outstanding&&this.cirCompleted())}),this.errorCallback)},cirFobRecur2:function(e,t,i){var n=this.window.bwg.newDataView(e,t),r=n.getUint8(),o=n.getUint16(2);if(0!=r)for(var a=0;a<o;++a){var s=n.getUint32(),l=n.getUint32(),c=n.getUint32(),h=n.getUint32(),u=n.getUint64(),d=n.getUint64();(s<this.chr||s==this.chr&&l<=this.max)&&(c>this.chr||c==this.chr&&h>=this.min)&&this.blocksToFetch.push({offset:u,size:d})}else{var f=[];for(a=0;a<o;++a)s=n.getUint32(),l=n.getUint32(),c=n.getUint32(),h=n.getUint32(),u=n.getUint64(),(s<this.chr||s==this.chr&&l<=this.max)&&(c>this.chr||c==this.chr&&h>=this.min)&&f.push(u);f.length>0&&this.cirFobRecur(f,i+1)}},cirCompleted:function(){this.blockGroupsToFetch=this.groupBlocks(this.blocksToFetch),0==this.blockGroupsToFetch.length?this.callback([]):(this.features=[],this.readFeatures())},groupBlocks:function(e){e.sort(function(e,t){return(0|e.offset)-(0|t.offset)});for(var t,i,n=[],r=0;r<e.length;r++)t&&e[r].offset-i<=2e3?(t.size+=e[r].size-i+e[r].offset,t.blocks.push(e[r])):n.push(t={blocks:[e[r]],size:e[r].size,offset:e[r].offset}),i=t.offset+t.size;return n},createFeature:function(e,t,i){var n={start:e,end:t};for(var r in i)n[r]=i[r];var o=n.id;delete n.id;var a=new l({data:n,id:o||n.start+"_"+n.end+"_"+n.score});this.features.push(a)},maybeCreateFeature:function(e,t,i){e<=this.max&&t>=this.min&&this.createFeature(e,t,i)},parseSummaryBlock:function(e,t){for(var i=this.window.bwg.newDataView(e,t),n=e.byteLength/32,r=0;r<n;++r){var o=i.getInt32(),a=i.getInt32(),s=i.getInt32(),l=i.getInt32()||1,c=i.getFloat32(),h=i.getFloat32(),u=i.getFloat32();if(i.getFloat32(),o==this.chr){var d={score:u/l,maxScore:h,minScore:c};"bigbed"==this.window.bwg.type&&(d.type="density"),this.maybeCreateFeature(a,s,d)}}},parseBigWigBlock:function(e,t){var i=this.window.bwg.newDataView(e,t),n=i.getUint32(16),r=i.getUint8(20),o=i.getUint16(22);if(r==this.BIG_WIG_TYPE_FSTEP)for(var a=i.getInt32(4),s=i.getUint32(12),l=0;l<o;++l){var c=i.getFloat32(4*l+24);this.maybeCreateFeature(a+l*s,a+l*s+n,{score:c})}else if(r==this.BIG_WIG_TYPE_VSTEP)for(l=0;l<o;++l){var h=i.getInt32(8*l+24);c=i.getFloat32(),this.maybeCreateFeature(h,h+n,{score:c})}else if(r==this.BIG_WIG_TYPE_GRAPH)for(l=0;l<o;++l){h=i.getInt32(12*l+24);var d=i.getInt32();c=i.getFloat32(),h>d&&(h=d),this.maybeCreateFeature(h,d,{score:c})}else u("Currently not handling bwgType="+r)},parseBigBedBlock:function(e,t){for(var i=this.window.bwg.newDataView(e,t),n=0;n<e.byteLength;){var r=i.getUint32(n),o=i.getInt32(n+4),a=i.getInt32(n+8);if(n+=12,r!==this.chr)return void console.warn("BigBed block is out of current range");for(var s="";n<e.byteLength;){var l=i.getUint8(n++);if(0===l)break;s+=String.fromCharCode(l)}var c=this.parseBedText(o,a,s);c.id="bb-"+(t+n),this.maybeCreateFeature(o,a,c)}},parseBedText:function(e,t,i){for(var n={start:e,end:t},r=i.split("\t"),a=this.window.autoSql||d,s=["uint","int","float","long"],l=3;l<a.fields.length;l++)if("."!==r[l-3]&&""!==r[l-3]){var c=a.fields[l],h=r[l-3];if(!c._requestWorkerCache){var u=/^(\w+)\[/.exec(c.type);c._requestWorkerCache={isNumeric:s.includes(c.type),isArray:!!u,arrayIsNumeric:u&&s.includes(u[1])}}if(c._requestWorkerCache.isNumeric){var f=Number(h);h=isNaN(f)?h:f}else c._requestWorkerCache.isArray&&(""===(h=h.split(","))[h.length-1]&&h.pop(),c._requestWorkerCache.arrayIsNumeric&&(h=h.map(function(e){return Number(e)})));n[o(c.name)]=h}return n.strand&&(n.strand={"-":-1,"+":1}[n.strand]),n},readFeatures:function(){var e=this,n=i.map(e.blockGroupsToFetch,function(i){var n=new r;return e.window.bwg._read(i.offset,i.size,function(e){i.data=e,n.resolve(i)},t.hitch(n,"reject")),n},e);a(n).then(function(t){i.forEach(t,function(t){i.forEach(t.blocks,function(i){var n,r=i.offset-t.offset;e.window.bwg.uncompressBufSize>0?(n=c(t.data,r+2,i.size-2),r=0):n=t.data,e.window.isSummary?e.parseSummaryBlock(n,r):"bigwig"==e.window.bwg.type?e.parseBigWigBlock(n,r):"bigbed"==e.window.bwg.type?e.parseBigBedBlock(n,r):u("Don't know what to do with "+e.window.bwg.type)})}),e.callback(e.features)},e.errorCallback)}})}.apply(null,n))||(e.exports=r)},484:function(e,t,i){var n,r;n=[i(575)],void 0===(r=function(e){var t=e(null,{constructor:function(){this._ranges=2==arguments.length?[{min:arguments[0],max:arguments[1]}]:0 in arguments[0]?dojo.clone(arguments[0]):[arguments[0]]},min:function(){return this._ranges[0].min},max:function(){return this._ranges[this._ranges.length-1].max},contains:function(e){for(var t=0;t<this._ranges.length;++t){var i=this._ranges[t];if(i.min<=e&&i.max>=e)return!0}return!1},isContiguous:function(){return this._ranges.length>1},ranges:function(){return this._ranges.map(function(e){return new t(e.min,e.max)})},toString:function(){return this._ranges.map(function(e){return"["+e.min+"-"+e.max+"]"}).join(",")},union:function(e){for(var i=this.ranges().concat(e.ranges()).sort(this.rangeOrder),n=[],r=i[0],o=1;o<i.length;++o){var a=i[o];a.min()>r.max()+1?(n.push(r),r=a):a.max()>r.max()&&(r=new t(r.min(),a.max()))}return n.push(r),1==n.length?n[0]:new t(n)},intersection:function(e){for(var i=(c=this).ranges(),n=e.ranges(),r=i.length,o=n.length,a=0,s=0,l=[];a<r&&s<o;){var c=i[a],h=(e=n[s],Math.max(c.min(),e.min())),u=Math.min(c.max(),e.max());u>=h&&l.push(new t(h,u)),c.max()>e.max()?++s:++a}return 0==l.length?null:1==l.length?l[0]:new t(l)},coverage:function(){for(var e=0,t=this.ranges(),i=0;i<t.length;++i){var n=t[i];e+=n.max()-n.min()+1}return e},rangeOrder:function(e,t){return arguments.length<2&&(t=e,e=this),e.min()<t.min()?-1:e.min()>t.min()?1:e.max()<t.max()?-1:t.max()>e.max()?1:0}});return t}.apply(null,n))||(e.exports=r)},485:function(e,t,i){var n,r;n=[i(575),i(577),i(660),i(341),i(380),i(334),i(408)],void 0===(r=function(e,t,i,n,r,o,a){var s=o.fastDeclare({constructor:function(e,t,i){this.minv=e,this.maxv=t,this.bin=i},toUniqueString:function(){return this.minv+".."+this.maxv+" (bin "+this.bin+")"},toString:function(){return this.toUniqueString()},compareTo:function(e){return this.minv.compareTo(e.minv)||this.maxv.compareTo(e.maxv)||this.bin-e.bin},compare:function(e){return this.compareTo(e)},fetchedSize:function(){return this.maxv.block+65536-this.minv.block+1}});return e(null,{constructor:function(e){this.browser=e.browser,this.blob=e.blob,this.load()},load:function(){var e=this;return this._loaded=this._loaded||function(){var t=new i;return n("typed-arrays")?this.blob.fetch(function(i){e._parseIndex(i,t)},dojo.hitch(t,"reject")):t.reject("This web browser lacks support for JavaScript typed arrays."),t}.call(this)},_parseIndex:function(e,t){this._littleEndian=!0;var i=new r(e,0,void 0,this._littleEndian);if(21578324!=i.getInt32()&&(this._littleEndian=!1,21578324!=(i=new r(e,0,void 0,this._littleEndian)).getInt32()))return console.error("Not a TBI file"),void t.reject("Not a TBI file");var n=i.getInt32();this.presetType=i.getInt32(),this.columnNumbers={ref:i.getInt32(),start:i.getInt32(),end:i.getInt32()},this.metaValue=i.getInt32(),this.metaChar=this.metaValue?String.fromCharCode(this.metaValue):null,this.skipLines=i.getInt32(),this._refIDToName=new Array(n),this._refNameToID={};var o=i.getInt32();this._parseNameBytes(i.getBytes(o,void 0,!1)),this._indices=new Array(n);for(var l=0;l<n;++l){for(var c=i.getInt32(),h=this._indices[l]={binIndex:{}},u=0;u<c;++u){for(var d=i.getInt32(),f=i.getInt32(),g=new Array(f),p=0;p<f;++p){var b=new a(i.getBytes(8)),m=new a(i.getBytes(8));this._findFirstData(b),g[p]=new s(b,m,d)}h.binIndex[d]=g}var v=i.getInt32(),w=h.linearIndex=new Array(v);for(p=0;p<v;++p)w[p]=new a(i.getBytes(8)),this._findFirstData(w[p])}t.resolve({success:!0})},_findFirstData:function(e){var t=this.firstDataLine;this.firstDataLine=t?t.compareTo(e)>0?e:t:e},_parseNameBytes:function(e){var t=0;function i(){var i=e[t++];return i?String.fromCharCode(i):null}function n(){for(var e,t="";e=i();)t+=e;return t.length?t:null}for(var r,o=0;r=n();o++)this._refIDToName[o]=r,this._refNameToID[this.browser.regularizeReferenceName(r)]=o},hasRefSeq:function(e,t,i){var n=this;e=n.browser.regularizeReferenceName(e),n.load().then(function(){e in n._refNameToID?t(!0):t(!1)})},getRefId:function(e){return e=this.browser.regularizeReferenceName(e),this._refNameToID[e]},TAD_LIDX_SHIFT:14,featureCount:function(e){var t=this.getRefId(e),i=this._indices[t];if(!i)return-1;var n=i.binIndex[this._bin_limit()+1];return n?n[n.length-1].minv.offset:-1},blocksForRange:function(e,t,i){t<0&&(t=0);var n=this.getRefId(e),r=this._indices[n];if(!r)return[];var o,l,c=r.linearIndex,h=r.binIndex,u=this._reg2bins(t,i),d=c.length?c[t>>this.TAD_LIDX_SHIFT>=c.length?c.length-1:t>>this.TAD_LIDX_SHIFT]:new a(0,0),f=0;for(o=0;o<u.length;++o)f+=(h[u[o]]||[]).length;if(0==f)return[];var g,p=[];for(o=f=0;o<u.length;++o)if(g=h[u[o]])for(var b=0;b<g.length;++b)d.compareTo(g[b].maxv)<0&&(p[f++]=new s(g[b].minv,g[b].maxv,g[b].bin));if(!p.length)return[];for(p=p.sort(function(e,t){return e.compareTo(t)}),o=1,l=0;o<f;++o)p[l].maxv.compareTo(p[o].maxv)<0&&(p[++l].minv=p[o].minv,p[l].maxv=p[o].maxv);for(f=l+1,o=1;o<f;++o)p[o-1].maxv.compareTo(p[o].minv)>=0&&(p[o-1].maxv=p[o].minv);for(o=1,l=0;o<f;++o)p[l].maxv.block==p[o].minv.block?p[l].maxv=p[o].maxv:(p[++l].minv=p[o].minv,p[l].maxv=p[o].maxv);return f=l+1,p.slice(0,f)},_reg2bin:function(e,t){return e>>14==--t>>14?4681+(e>>14):e>>17==t>>17?585+(e>>17):e>>20==t>>20?73+(e>>20):e>>23==t>>23?9+(e>>23):e>>26==t>>26?1+(e>>26):0},_reg2bins:function(e,t){var i,n=[];for(--t,n.push(0),i=1+(e>>26);i<=1+(t>>26);++i)n.push(i);for(i=9+(e>>23);i<=9+(t>>23);++i)n.push(i);for(i=73+(e>>20);i<=73+(t>>20);++i)n.push(i);for(i=585+(e>>17);i<=585+(t>>17);++i)n.push(i);for(i=4681+(e>>14);i<=4681+(t>>14);++i)n.push(i);return n},_bin_limit:function(e){return((1<<3*((arguments.length>1&&void 0!==arguments[1]?arguments[1]:5)+1))-1)/7}})}.apply(null,n))||(e.exports=r)},486:function(e,t,i){var n,r;n=[i(575),i(579),i(595),i(606),i(596),i(711),i(825),i(651),i(346)],void 0===(r=function(e,t,i,n,r,o,a,s,l){return e(l,{constructor:function(){var e=this;i.after(this,"hide",function(){n.curNode&&n.curNode.blur(),setTimeout(function(){e.destroyRecursive()},500)})},_dialogContent:function(){var e=this.content={},i=t.create("div",{className:"search-dialog"}),n=(t.create("div",{className:"search-dialog intro",innerHTML:"This tool creates tracks showing regions of the reference sequence (or its translations) that match a given DNA or amino acid sequence."},i),t.create("div",{className:"section"},i));t.create("span",{className:"header",innerHTML:"Search for"},n);var r=t.create("div",{className:"translateContainer"},n);function l(e,i){var n=t.create("label",{},i),r=new o(e).placeAt(n);return t.create("span",{innerHTML:e.label},n),r}l({name:"translate",value:"no",label:"DNA",checked:!0},r),e.translate=l({name:"translate",value:"yes",label:"AA"},r),e.searchBox=new s({}).placeAt(n);var c=t.create("div",{className:"section"},i),h=t.create("div",{className:"checkboxdiv"},c);e.caseIgnore=new a({label:"Ignore case",id:"search_ignore_case",checked:!0}),h.appendChild(e.caseIgnore.domNode),t.create("label",{for:"search_ignore_case",innerHTML:"Ignore Case"},h);var u=t.create("div",{className:"checkboxdiv"},c);e.regex=new a({label:"Treat as regular expression",id:"search_as_regex"}).placeAt(u),t.create("label",{for:"search_as_regex",innerHTML:"Treat as regular expression"},u);var d=t.create("div",{className:"section"},i);t.create("span",{className:"header",innerHTML:"Search strands"},d);var f=t.create("div",{className:"checkboxdiv"});e.fwdStrand=new a({id:"search_fwdstrand",checked:!0});var g=t.create("div",{className:"checkboxdiv"});return e.revStrand=new a({id:"search_revstrand",checked:!0}),f.appendChild(e.fwdStrand.domNode),t.create("label",{for:"search_fwdstrand",innerHTML:"Forward"},f),g.appendChild(e.revStrand.domNode),t.create("label",{for:"search_revstrand",innerHTML:"Reverse"},g),d.appendChild(f),d.appendChild(g),i},_getSearchParams:function(){var e=this.content;return{expr:e.searchBox.get("value"),regex:e.regex.checked,caseIgnore:e.caseIgnore.checked,translate:e.translate.checked,fwdStrand:e.fwdStrand.checked,revStrand:e.revStrand.checked,maxLen:100}},_fillActionBar:function(e){var t=this;new r({label:"Search",iconClass:"dijitIconBookmark",onClick:function(){var e=t._getSearchParams();t.callback(e),t.hide()}}).placeAt(e),new r({label:"Cancel",iconClass:"dijitIconDelete",onClick:function(){t.callback(!1),t.hide()}}).placeAt(e)},show:function(e){this.callback=e||function(){},this.set("title","Add sequence search track"),this.set("content",this._dialogContent()),this.inherited(arguments),n.focus(this.closeButtonNode)}})}.apply(null,n))||(e.exports=r)},487:function(e,t,i){var n,r;n=[i(575),i(577),i(873),i(396),i(410)],void 0===(r=function(e,t,i,n,r){return e([r,n])}.apply(null,n))||(e.exports=r)},488:function(e,t,i){var n,r;n=[i(575),i(577),i(873),i(397),i(410)],void 0===(r=function(e,t,i,n,r){return e([n,r])}.apply(null,n))||(e.exports=r)},489:function(e,t,i){var n,r;n=[i(575),i(579),i(580),i(606),i(776),i(596),i(346)],void 0===(r=function(e,t,i,n,r,o,a){return e(a,{title:"Set max score",constructor:function(e){this.maxScore=e.maxScore||0,this.browser=e.browser,this.setCallback=e.setCallback||function(){},this.cancelCallback=e.cancelCallback||function(){}},_fillActionBar:function(e){new o({label:"OK",onClick:dojo.hitch(this,function(){var e=+this.maxScoreSpinner.getValue();isNaN(e)||(this.setCallback&&this.setCallback(e),this.hide())})}).placeAt(e),new o({label:"Cancel",onClick:dojo.hitch(this,function(){this.cancelCallback&&this.cancelCallback(),this.hide()})}).placeAt(e)},show:function(){dojo.addClass(this.domNode,"maxScoreDialog"),this.maxScoreSpinner=new r({value:this.maxScore,smallDelta:2}),this.set("content",[t.create("label",{for:"read_depth",innerHTML:""}),this.maxScoreSpinner.domNode,t.create("span",{innerHTML:" max score"})]),this.inherited(arguments)},hide:function(){this.inherited(arguments),window.setTimeout(dojo.hitch(this,"destroyRecursive"),500)}})}.apply(null,n))||(e.exports=r)},490:function(e,t,i){var n,r;n=[i(576),i(575),i(577),i(579),i(595),i(647),i(606),i(596),i(651),i(709),i(346),i(341)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){return t(h,{constructor:function(){var e=this;r.after(this,"hide",function(){a.curNode&&a.curNode.blur(),setTimeout(function(){e.destroyRecursive()},500)})},_dialogContent:function(){var t=this.browser,r=this.content={};this.dataRoot,r.selectedRows=[];var o=n.create("div",{className:"search-dialog"}),a=(n.create("div",{className:"mark-dialog intro",innerHTML:"Save a bookmark of your current view. Double click on bookmark to load view in current window."},o),n.create("div",{className:"markDescrpit"},o)),c=n.create("div",{innerHTML:"No bookmarks have been created.",className:"header"},o);r.matchMessageDiv=c;var h=n.create("div",{className:"header"},o);r.headerDiv=h,n.create("span",{innerHTML:"Genome",className:"header-field matches-generic-field"},h),n.create("span",{innerHTML:"Location",className:"header-field matches-generic-field"},h),n.create("span",{innerHTML:"Start",className:"header-field matches-generic-field"},h),n.create("span",{innerHTML:"End",className:"header-field matches-generic-field"},h),n.create("span",{innerHTML:"Description",className:"header-field matches-generic-field"},h),r.markBox=new l({id:"markBox",value:"",placeHolder:"(optional) Description of bookmark"}).placeAt(a);var u=function(){var n=JSON.parse(localStorage.getItem("JBrowseMarks"));if(null===n)dojo.style(c,{display:"block"}),dojo.style(h,{display:"none"});else{dojo.style(c,{display:"none"}),dojo.style(h,{display:"block"});var o=dojo.query(".match-div-header");o.length>0&&o.forEach(dojo.destroy);var a=dojo.create("div",{className:"match-div-header"},r.headerDiv);r.markDiv=a;for(var s=function(e){return function(){if(null===r.selectedRows)r.selectedRows=[],r.selectedRows.push(e);else{var t=r.selectedRows.indexOf(e);-1!=t?(r.selectedRows.splice(t,1),dojo.query(".match-header"+e).style("color","black")):(r.selectedRows.push(e),dojo.query(".match-header"+e).style("color","#D24D57"))}}},l=function(n,r,o,a,s){return function(){var l=/([^\/]*)(.*\/)?(.*)?$/.exec(window.JBrowse.config.dataRoot);if((l=l.filter(function(e){return null!=e}))[l.length-1]===r){var c=new RegExp("(.*tracks=)([^&]*)(.*)"),h=c.exec(window.location.href),u=h[2].split("%2C"),d=(h=c.exec(n))[2].split("%2C");!function(n){var r=[];i.forEach(n,e.hitch(this,function(e){-1!=i.indexOf(t.view.visibleTrackNames(),e)&&r.push(t.trackConfigsByName[e])})),t.publish("/jbrowse/v1/c/tracks/hide",r)}(u),function(n){var r=[];i.forEach(n,e.hitch(this,function(e){-1==i.indexOf(t.view.visibleTrackNames(),e)&&r.push(t.trackConfigsByName[e])})),t.publish("/jbrowse/v1/c/tracks/show",r),t.publish("/jbrowse/v1/n/tracks/visibleChanged")}(d);var f=o+":"+a+".."+s;window.JBrowse.navigateTo(f)}else window.open(n,"_self")}},u=0,d=n.length;u<d;u++){var f=new RegExp(".*&loc=([^:%]*)[:%3A]*([0-9]*)\\.\\.([0-9]*).*").exec(n[u].Link),g=/([^\/]*)(.*\/)?(.*)?$/.exec(n[u].Genome);console.log(g);var p=(g=g.filter(function(e){return null!=e}))[g.length-1],b=f[1],m=f[2],v=f[3],w=n[u].Desc,y=n[u].Id,k=f[0],_=dojo.create("div",{id:"match-header"+y,className:"match-header"+y},a);dojo.create("span",{className:"matches-generic-match",innerHTML:p},_),dojo.create("span",{className:"matches-generic-match",innerHTML:b},_),dojo.create("span",{className:"matches-generic-match",innerHTML:m},_),dojo.create("span",{className:"matches-generic-match",innerHTML:v},_),dojo.create("span",{className:"matches-generic-match",innerHTML:w},_),dojo.connect(_,"onclick",s(y)),dojo.connect(_,"ondblclick",l(k,p,b,m,v))}}};u(),new s({iconClass:"dijitIconBookmark",showLabel:!0,label:"Add Bookmark",onClick:function(){var e=r.markBox.get("value"),t=window.JBrowse.config.dataRoot,i=window.location.href;console.log("jbrowse loc:"+i);var n=JSON.parse(localStorage.getItem("JBrowseMarks")),o=String.fromCharCode(65+Math.floor(26*Math.random()))+Date.now();if(parent!==window){var a=document.referrer,s=new RegExp("(.*)\\?data=.*"),l=new RegExp(".*(\\?data=.*)"),c=s.exec(a),h=l.exec(i);console.log("Parent:"+c+"\nframe:"+h),i=c[1]+h[1]}var d=new function(e,t,i,n){this.Id=e,this.Genome=t,this.Link=i,this.Desc=n}(o,t,i,e),f=[];n&&(f=n),f.push(d),localStorage.setItem("JBrowseMarks",JSON.stringify(f)),u(),r.markBox.reset()}}).placeAt(a);var d=n.create("div",{className:"control-div"},o);return new s({showLabel:!0,label:"Clear Selections",onClick:function(){var e=JSON.parse(localStorage.getItem("JBrowseMarks")),t=r.selectedRows;for(var i in t)for(var n in e)dojo.query(".match-header"+e[n].Id).style("color","black");r.selectedRows=[]}}).placeAt(d),new s({iconClass:"dijitIconDelete",showLabel:!0,label:"Remove Selected Bookmarks",onClick:function(){var e=JSON.parse(localStorage.getItem("JBrowseMarks")),t=r.selectedRows;for(var i in t)for(var n in e)if(console.log(e[n].Id+"::"+t[i]),e[n].Id==t[i]){e.splice(n,1);break}r.selectedRows=[],localStorage.removeItem("JBrowseMarks"),localStorage.setItem("JBrowseMarks",JSON.stringify(e)),dojo.style(h,{display:"none"});var o=dojo.query(".match-div-header");o.length>0&&o.forEach(dojo.destroy),u()}}).placeAt(d),new s({iconClass:"dijitIconFolderOpen",showLabel:!0,label:"Open Selected Bookmarks",onClick:function(){var e=JSON.parse(localStorage.getItem("JBrowseMarks")),t=r.selectedRows;for(var i in t)for(var n in e)e[n].Id==t[i]&&window.open(e[n].Link,"_blank"),console.log(e[n].Id+":::"+t[i])}}).placeAt(d),new s({iconClass:"dijitIconDelete",showLabel:!0,label:"Remove All Bookmarks",onClick:function(){dojo.style(h,{display:"none"}),dojo.style(c,{display:"block"});var e=dojo.query(".match-div-header");e.length>0&&e.forEach(dojo.destroy),localStorage.removeItem("JBrowseMarks"),r.selectedRows=[]}}).placeAt(d),console.log(this),o},_fillActionBar:function(e){var t=this;new s({label:"Close",onClick:function(){t.callback(!1),t.hide()}}).placeAt(e)},show:function(e,t){console.log("log:"+window.location.pathname),this.browser=e,this.callback=t||function(){},this.set("title","Quick Bookmarks"),this.set("content",this._dialogContent()),this.inherited(arguments),a.focus(this.closeButtonNode)}})}.apply(null,n))||(e.exports=r)},491:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(360)],void 0===(r=function(e,t,i,n){return e(n,{blastFeatureDetail:function(e,t,i,n){return n=n||dojo.create("div",{className:"detail feature-detail feature-detail-"+e.name.replace(/\s+/g,"_").toLowerCase(),innerHTML:""}),this._renderCoreDetails(e,t,i,n),this._renderAlignmentDetail(e,t,i,n),this._renderAdditionalTagsDetail(e,t,i,n),n},_renderAdditionalTagsDetail:function(e,n,r,o){var a=t.filter(n.tags(),function(e){return!this._isReservedTag(e)},this);a.length&&(i.create("div",{className:"additional",innerHTML:'<h2 class="sectiontitle">Attributes</h2>'},o),t.forEach(a.sort(),function(e){"Blast_sseq"!=e&&"Blast_mseq"!==e&&"Blast_qseq"!==e&&this.renderDetailField(o,e,n.get(e),n)},this))},_renderAlignmentDetail:function(e,n,r,o){if(t.filter(n.tags(),function(e){return!this._isReservedTag(e)},this).length){var a=i.create("div",{className:"additional",innerHTML:'<h2 class="sectiontitle">Alignment</h2>'},o);i.create("div",{className:"alignment_container",innerHTML:"<pre>Query: "+n.get("Blast_qseq")+"\nMatch: "+n.get("Blast_mseq")+"\nSbjct: "+n.get("Blast_sseq")+"</pre>"},a)}}})}.apply(null,n))||(e.exports=r)},492:function(e,t,i){var n=i(1324);"string"==typeof n&&(n=[[e.i,n,""]]);i(1440)(n,{hmr:!0,transform:void 0,insertInto:void 0}),n.locals&&(e.exports=n.locals)},493:function(e,t,i){var n,r;n=[i(575),i(577),i(630),i(593),i(580),i(579),i(585),i(689),i(772),i(1442),i(651),i(388)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u){return e("JBrowse.View.TrackList.Simple",u,{constructor:function(e){this.browser=e.browser,this.createTrackList(e.browser.container),this.inactiveTrackNodes={},this.trackListWidget.insertNodes(!1,e.trackConfigs),this.browser.subscribe("/dnd/drop",dojo.hitch(this,function(e,t,i,n){if(n===this.trackListWidget){var r=dojo.filter(dojo.map(t,function(e){return e.track&&e.track.config}),function(e){return e});r.length&&(this.dndDrop=!0,this.browser.publish("/jbrowse/v1/v/tracks/hide",r),this.dndDrop=!1)}})),this.browser.subscribe("/jbrowse/v1/c/tracks/show",dojo.hitch(this,"setTracksActive")),this.browser.subscribe("/jbrowse/v1/c/tracks/hide",dojo.hitch(this,"setTracksInactive")),this.browser.subscribe("/jbrowse/v1/c/tracks/new",dojo.hitch(this,"addTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/replace",dojo.hitch(this,"replaceTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/delete",dojo.hitch(this,"deleteTracks"))},addTracks:function(e){this.trackListWidget.insertNodes(!1,e),this._blinkTracks(e)},replaceTracks:function(e){t.forEach(e,function(e){var t=this.inactiveTrackNodes[e.label];t&&(delete this.inactiveTrackNodes[e.label],this.trackListWidget.delItem(t.id),t.parentNode&&t.parentNode.removeChild(t),this.trackListWidget.insertNodes(!1,[e],!1,t.previousSibling))},this)},createTrackList:function(e){var t=dojo.create("div",{id:"trackPane",className:"jbrowseSimpleTrackSelector",style:{width:"12em"}},e),i=(new s({region:"left",splitter:!0},t),this.div=this.containerNode=dojo.create("div",{id:"tracksAvail",className:"container handles",style:{width:"100%",height:"100%",overflowX:"hidden",overflowY:"auto"},innerHTML:"<h2>Available Tracks</h2>"},t));return this._makeTextFilterNodes(i),this._updateTextFilterControl(),this.trackListWidget=new l(i,{accept:["track"],withHandles:!1,creator:dojo.hitch(this,function(e,t){var i=e.key||e.name||e.label,n=dojo.create("div",{className:"tracklist-label",title:i+" (drag or double-click to activate)",innerHTML:i});if("avatar"!=t){r(n,"dblclick",dojo.hitch(this,function(){this.browser.publish("/jbrowse/v1/v/tracks/show",[e])}));var o=dojo.create("div",{className:"tracklist-container"});o.appendChild(n),(n=o).id=dojo.dnd.getUniqueId(),this.inactiveTrackNodes[e.label]=n}return{node:n,data:e,type:["track"]}})}),this.trackListWidget.onMouseDown=dojo.hitch(this,"onMouseDown"),this.trackListWidget.onMouseUp=dojo.hitch(this,"onMouseUp"),r(document,"keydown",dojo.hitch(this,"onKeyDown")),i},onKeyDown:function(e){switch(e.keyCode){case n.ESCAPE:this.trackListWidget.selectNone()}},onMouseDown:function(e){var t=this.trackListWidget;!t.mouseDown&&t._legalMouseDown(e)&&(t.mouseDown=!0,t._lastX=e.pageX,t._lastY=e.pageY,this._onMouseDown(t.current,e))},_onMouseDown:function(e,t){if(e){var n=this.trackListWidget;if(t.ctrlKey||t.shiftKey||(n.simpleSelection=!0,this._isSelected(e)||(n.selectNone(),n.simpleSelection=!1)),t.shiftKey&&this.anchor){var r=0,o=n.getAllNodes();if(this._select(e),e!=this.anchor){for(;r<o.length&&o[r]!=this.anchor&&o[r]!=e;r++);for(r++;r<o.length&&o[r]!=this.anchor&&o[r]!=e;r++)this._select(o[r])}}else t.ctrlKey?this._toggle(e):this._select(e),this.anchor=e;i.stop(t)}},onMouseUp:function(e){var t=this.trackListWidget;t.mouseDown&&(t.mouseDown=!1,this._onMouseUp(e))},_onMouseUp:function(e){var t=this.trackListWidget;t.simpleSelection&&t.current&&(t.selectNone(),this._select(t.current))},_isSelected:function(e){return this.trackListWidget.selection[e.id]},_select:function(e){this.trackListWidget.selection[e.id]=1,this.trackListWidget._addItemClass(e,"Selected")},_deselect:function(e){delete this.trackListWidget.selection[e.id],this.trackListWidget._removeItemClass(e,"Selected")},_toggle:function(e){this.trackListWidget.selection[e.id]?this._deselect(e):this._select(e)},setTracksActive:function(e){this.deleteTracks(e)},deleteTracks:function(e){t.forEach(e||[],function(e){var t=this.inactiveTrackNodes[e.label];t&&(delete this.inactiveTrackNodes[e.label],t.parentNode&&t.parentNode.removeChild(t),this.trackListWidget.delItem(t.id))},this)},setTracksInactive:function(e){this.dndDrop||(this.trackListWidget.insertNodes(!1,e),this._blinkTracks(e))},_blinkTracks:function(e){this.trackListWidget.node.scrollTop=this.trackListWidget.node.scrollHeight,t.forEach(e,function(e){var t=this.inactiveTrackNodes[e.label].firstChild;t&&dojo.animateProperty({node:t,duration:400,properties:{backgroundColor:{start:"#DEDEDE",end:"#FFDE2B"}},easing:c.sine,repeat:2,onEnd:function(){t.style.backgroundColor=null}}).play()},this)},show:function(){},hide:function(){},toggle:function(){}})}.apply(null,n))||(e.exports=r)},494:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(579),i(590),i(580),i(573),i(1035),i(689),i(334),i(388)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){return e("JBrowse.View.TrackList.Hierarchical",[l,h],{region:"left",splitter:!0,style:"width: 25%",id:"hierarchicalTrackPane",baseClass:"jbrowseHierarchicalTrackSelector",categoryFacet:"category",constructor:function(e){this.categories={},this.config=i.mixin({sortHierarchical:!0},e),this._loadState()},postCreate:function(){this.placeAt(this.browser.container),this.browser.subscribe("/jbrowse/v1/c/tracks/show",i.hitch(this,"setTracksActive")),this.browser.subscribe("/jbrowse/v1/c/tracks/hide",i.hitch(this,"setTracksInactive")),this.browser.subscribe("/jbrowse/v1/c/tracks/new",i.hitch(this,"addTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/replace",i.hitch(this,"replaceTracks")),this.browser.subscribe("/jbrowse/v1/c/tracks/delete",i.hitch(this,"deleteTracks"))},buildRendering:function(){this.inherited("buildRendering",arguments);var e=n.create("div",{className:"header"},this.containerNode);n.create("h2",{className:"title",innerHTML:"Available Tracks"},e),this._makeTextFilterNodes(n.create("div",{className:"textfilterContainer"},e)),this._updateTextFilterControl()},induceCategoryOrder:function(e,t){var i=t.split(",").map(function(e){return e.trim()}).map(function(e){return e.split("/").map(function(e){return e.trim()}).join("/")});e.forEach(function(e){e.category&&(e.cat=e.category.trim().split("/").map(function(e){return e.trim()}).join("/"))});var n=e.filter(function(e){return-1===i.indexOf(e.cat)}),r=e.filter(function(e){return-1!==i.indexOf(e.cat)});return r.sort(function(e,t){return i.indexOf(e.cat)-i.indexOf(t.cat)}),e.forEach(function(e){return delete e.cat}),r.concat(n)},startup:function(){var e=this;this.inherited("startup",arguments);var t,n=[],r=this.get("categoryFacet");this.config.sortHierarchical&&(t=[{attribute:r.toLowerCase()},{attribute:"key"},{attribute:"label"}]);for(var o=(this.get("collapsedCategories")||"").split(",").map(function(e){return e.trim()}).map(function(e){return e.split("/").map(function(e){return e.trim()}).join("/")}),a=0;a<o.length;a++)i.setObject("collapsed."+o[a],!0,this.state);this._saveState(),this.get("trackMetaData").fetch({onItem:function(e){e.conf&&n.push(e)},onComplete:function(){e.categories.Uncategorized={pane:new l({className:"uncategorized"}).placeAt(e.containerNode),tracks:{},categories:{}},e.config.categoryOrder&&(n=e.induceCategoryOrder(n,e.config.categoryOrder)),e.addTracks(n,!0),e.categories.Uncategorized.pane.containerNode.children.length||(e.categories.Uncategorized.pane.domNode.style.display="none")},sort:t})},addTracks:function(e,r){this.pane=this;var a=this;t.forEach(e,function(e){var t=e.conf||e,l=this.get("categoryFacet"),h=function e(t,n,o){var l=n.shift(),c=(o=o.concat(l)).join("/"),h=t.categories[l]||(t.categories[l]=function(){var e=i.getObject("collapsed."+c,!1,a.state),n=new s({title:'<span class="categoryName">'+l+'</span> <span class="trackCount">0</span>',open:!e});return n.watch("open",function(e,t,n){i.setObject("collapsed."+c,!n,a.state),a._saveState()}),t.pane.addChild(n,r?void 0:1),{parent:t,pane:n,categories:{},tracks:{}}}.call(a));return n.length?e(h,n,o):h}(this,(t.metadata&&t.metadata[l]||t[l]||e[l]||"Uncategorized").split(/\s*\/\s*/),[]);h.pane.domNode.style.display="block";var u=n.create("label",{className:"tracklist-label shown",title:c.escapeHTML(t.shortDescription||e.shortDescription||(1===t.description?void 0:t.description)||e.description||t.Description||e.Description||t.metadata&&(t.metadata.shortDescription||t.metadata.description||t.metadata.Description)||e.key||t.key||t.label)},h.pane.containerNode),d={type:"checkbox",className:"check"};"function"==typeof a.extendCheckbox&&(d=a.extendCheckbox(d,t));var f,g=n.create("input",d,u),p=t.label;this.own(f=o(g,"click",function(){a.itemClick(this,t)})),n.create("span",{className:"key",innerHTML:t.key||t.label},u),h.tracks[p]={checkbox:g,checkListener:f,labelNode:u}},this),this._updateAllTitles()},itemClick:function(e,t){this.browser.publish("/jbrowse/v1/v/tracks/"+(e.checked?"show":"hide"),[t])},_loadState:function(){this.state={};try{this.state=a.parse(localStorage.getItem("JBrowse-Hierarchical-Track-Selector")||"{}")}catch(e){}return this.state},_saveState:function(e){try{localStorage.setItem("JBrowse-Hierarchical-Track-Selector",a.stringify(this.state))}catch(e){}},_updateAllTitles:function(e){var t=e||this;for(var i in t.categories)this._updateTitle(t.categories[i]),this._updateAllTitles(t.categories[i])},_updateTitle:function(e){e.pane.set("title",e.pane.get("title").replace(/>\s*\d+\s*</,">"+r("label.shown",e.pane.containerNode).length+"<"))},_updateTitles:function(e){this._updateTitle(e),e.parent&&this._updateTitles(e.parent)},_findTrack:function(e,t,i){var n=i||this;for(var r in n.categories){var o=n.categories[r];if(o.tracks[e])return t(o.tracks[e],o),!0;if(this._findTrack(e,t,o))return!0}return!1},replaceTracks:function(e){},setTracksActive:function(e){t.forEach(e,function(e){this._findTrack(e.label,function(e,t){e.checkbox.checked=!0})},this)},deleteTracks:function(e){t.forEach(e,function(e){this._findTrack(e.label,function(t,i){t.labelNode.parentNode.removeChild(t.labelNode),t.checkListener.remove(),delete i.tracks[e.label]})},this)},setTracksInactive:function(e){t.forEach(e,function(e){this._findTrack(e.label,function(e,t){e.checkbox.checked=!1})},this)},_textFilter:function(){this.inherited(arguments),this._updateAllTitles()},show:function(){},hide:function(){},toggle:function(){}})}.apply(null,n))||(e.exports=r)},495:function(e,t,i){var n,r;n=[i(359)],void 0===(r=function(e){return e}.apply(null,n))||(e.exports=r)},496:function(e,t,i){var n,r;n=[i(575),i(577),i(359),i(334),i(373),i(462)],void 0===(r=function(e,t,i,n,r,o){return n.dojof,e([i,r],{constructor:function(){delete this.config.bicolor_pivot,delete this.config.scale,delete this.config.align;var e=this;this.store=new o({store:this.store,config:{mismatchScale:this.config.mismatchScale,indicatorProp:this.config.indicatorProp,indicatorDepth:this.config.indicatorDepth},browser:this.browser,filter:function(t){return e.filterFeature(t)}})},_defaultConfig:function(){return n.deepUpdate(dojo.clone(this.inherited(arguments)),{autoscale:"local",min_score:0,mismatchScale:.1,indicatorProp:.5,indicatorDepth:1,hideDuplicateReads:!0,logScaleOption:!1,hideQCFailingReads:!0,hideSecondary:!0,hideSupplementary:!0,hideMissingMatepairs:!1,hideImproperPairs:!1,hideUnmapped:!0})},_drawFeatures:function(e,t,i,r,o,a,s,l){var c=this,h=o.getContext("2d"),u=o.height,d=n.getResolution(h,this.browser.config.highResolutionMode),f=dojo.hitch(this,function(e){return u*(1-l.normalize(e))/d}),g=f(l.origin),p=dojo.create("canvas",{height:20,width:o.width,style:{cursor:"default",width:"100%",height:"20px"},innerHTML:"Your web browser cannot display this type of track.",className:"SNP-indicator-track"},r.domNode),b=p.getContext("2d");if(d=n.getResolution(b,this.browser.config.highResolutionMode),"disabled"!=this.browser.config.highResolutionMode&&1!=d){var m=p.width,v=p.height;p.width=m*d,p.height=v*d,p.style.height=v+"px",b.scale(d,d)}var w=this.config.style.neg_color,y=this.config.style.clip_marker_color,k=this.config.style.bg_color,_=this.config.disable_clip_markers,x=function(e,t,i,n){t<=u&&(h.fillStyle=c.colorForBase(e),t<=g?(c._fillRectMod(h,n.l,t,n.w,i),!_&&t<0&&(h.fillStyle=y||w,c._fillRectMod(h,n.l,0,n.w,2))):(c._fillRectMod(h,n.l,g,n.w,i),!_&&t>=u&&(h.fillStyle=y||c.colorForBase(e),c._fillRectMod(h,n.l,u-3,n.w,2))))};dojo.forEach(a,function(e,t){var i=s[t],n=e.get("score");k&&(h.fillStyle=k,c._fillRectMod(h,i.l,0,i.w,u)),x("reference",f(n.total()),g-f(n.get("reference"))+1,i)});var S=this.config.indicatorProp,j=this.config.indicatorDepth;dojo.forEach(a,function(e,t){var i=s[t],n=e.get("score"),r=n.total();n.forEach(function(e,t){!{reference:!0,skip:!0,deletion:!0}[t]&&e>=S*r&&e>=j&&(b.save(),"disabled"!=c.browser.config.highResolutionMode&&b.scale(d,1),b.beginPath(),b.arc(i.l+.5*i.w,.4*p.height/d,.2*p.height/d,1.75*Math.PI,1.25*Math.PI,!1),b.lineTo(i.l+.5*i.w,0),b.closePath(),b.fillStyle=c.colorForBase(t),b.fill(),b.lineWidth=1,b.strokeStyle="black",b.stroke(),"disabled"!=c.browser.config.highResolutionMode&&b.restore())}),r-=n.get("reference"),n.forEach(function(e,t){"reference"!=t&&(x(t,f(r),g-f(e)+1,i),r-=e)})},this)},_draw:function(e,t,i,n,r,o,a,s,l,c){this._preDraw(e,t,i,n,r,o,a,s),this._drawFeatures(e,t,i,n,r,o,a,s),c&&this._maskBySpans(e,t,r,c),this._postDraw(e,t,i,n,r,o,a,s)},_maskBySpans:function(e,t,i,n){var r=i.getContext("2d"),o=i.height,a=this.config.style.masked_transparancy||.17;this.config.style.masked_transparancy=a;var s=dojo.create("canvas",{height:o,width:i.width}),l=s.getContext("2d");for(var c in n)if(n.hasOwnProperty(c)){var h=Math.round((n[c].end-n[c].start)*e),u=Math.round((n[c].start-t)*e);if(u+h>=i.width&&(h=i.width-u),0==h)continue;l.drawImage(i,u,0,h,o,u,0,h,o),r.globalAlpha=a,r.clearRect(u,0,h,o),r.drawImage(s,u,0,h,o,u,0,h,o),r.globalAlpha=1}},_showPixelValue:function(e,t){if(!t||!t.score)return!1;function i(e){return parseFloat(e).toPrecision(6).replace(/0+$/,"").replace(/\.$/,"")}if((t=t.score).snpsCounted){var n=t.total(),r="<table>";return t.forEach(function(e,t){var o="";e.forEach&&(o=[],e.forEach(function(e,t){o.push(i(e)+" "+t)}),(o=o.join(", "))&&(o="("+o+")")),r+="<tr><td>"+(t={"*":"del",reference:"Ref",skip:"Skip/intron"}[t]||t)+'</td><td class="count">'+i(e)+'</td><td class="pct">'+function(e){return"number"!=typeof(e=Math.round(e/n*100))||isNaN(e)?"":e+"%"}(e)+'</td><td class="subdist">'+o+"</td></tr>"}),r+='<tr class="total"><td>Total</td><td class="count">'+i(n)+'</td><td class="pct">&nbsp;</td><td class="subdist">&nbsp;</td></tr>',e.innerHTML=r+"</table>",!0}return e.innerHTML='<table><tr><td>Total</td><td class="count">'+i(t)+"</td></tr></table>",!0},_trackMenuOptions:function(){var e=this,t=[];return t.push({label:"View alignments",onClick:function(t){e.config.type="JBrowse/View/Track/Alignments2",e.config._oldSnpCoverageHeight=e.config.style.height,e.config.style.height=e.config._oldAlignmentsHeight,e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),Promise.all([this.inherited(arguments),this._alignmentsFilterTrackMenuOptions(),t]).then(function(e){var t=e.shift();return e.unshift({type:"dijit/MenuSeparator"}),t.concat.apply(t,e)})}})}.apply(null,n))||(e.exports=r)},497:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(579),i(585),i(590),i(348),i(353),i(392),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c){return e([a,s,l],{constructor:function(e){this._charMeasurements={},this._codonTable=this.generateCodonTable(i.mixin(this.defaultCodonTable,this.config.codonTable)),this._codonStarts=this.config.codonStarts||this.defaultStarts,this._codonStops=this.config.codonStops||this.defaultStops},_defaultConfig:function(){return{maxExportSpan:5e5,showForwardStrand:!0,showReverseStrand:!0,showTranslation:!0,showColor:!0,seqType:"dna",proteinColorScheme:"taylor"}},_exportFormats:function(){return[{name:"FASTA",label:"FASTA",fileExt:"fasta"}]},endZoom:function(e,t){this.clear()},setViewInfo:function(e,t,i,n,r,o,a){this.inherited(arguments),this.show()},nbsp:String.fromCharCode(160),fillBlock:function(e){var t=e.blockIndex,i=e.block,r=e.leftBase,o=e.rightBase,a=e.scale,s=r-2,l=o+2,c=this,h=dojo.create("div",{className:"sequence_blur",innerHTML:'<span class="loading">Loading</span>'},i.domNode);this.heightUpdate(h.offsetHeight+2*h.offsetTop,t),a>=1.3?this.store.getReferenceSequence({ref:this.refSeq.name,start:s,end:l},function(r){""==r.trim()?h.innerHTML='<span class="zoom">No sequence available</span>':(n.empty(i.domNode),c._fillSequenceBlock(i,t,a,r)),e.finishCallback()},function(t){e.errorCallback?e.errorCallback(t):(console.error(t),e.finishCallback())}):(h.innerHTML='<span class="zoom">Zoom in to see sequence</span>',e.finishCallback())},_fillSequenceBlock:function(e,i,o,a){a=a.replace(/\s/g,this.nbsp);var s=e.startBase,l=e.endBase,h=a.substring(2,a.length-2),u=h.length,d=(a.length-2)%3,f=a.substring(0,a.length-2),g=a.substring(2);if(this.config.showForwardStrand&&this.config.showTranslation){for(var p=[],b=0;b<3;b++){var m=((s+b)%3+3)%3,v=this._renderTranslation(g,b,s,l,u,o);p[m]=v,r.add(v,"frame"+m)}for(b=2;b>=0;b--)e.domNode.appendChild(p[b])}var w,y=o>this.getCharacterMeasurements("sequence").w+4;if((this.config.showReverseStrand||this.config.showForwardStrand)&&(w=n.create("table",{className:"sequence"+(y?" big":"")+(this.config.showColor?"":" nocolor"),style:{width:"100%"}},e.domNode)),this.config.showForwardStrand&&w.appendChild(this._renderSeqTr(s,l,h,o)),this.config.showReverseStrand){var k=this._renderSeqTr(s,l,c.complement(h),o);if(k.className="revcom",w.appendChild(k),this.config.showTranslation){for(p=[],b=0;b<3;b++)m=((s+1-b)%3+3+d)%3,v=this._renderTranslation(f,b,s,l,u,o,!0),p[m]=v,r.add(v,"frame"+m);for(b=0;b<3;b++)e.domNode.appendChild(p[b])}}var _=0;t.forEach(e.domNode.childNodes,function(e){_+=e.clientHeight||e.offsetHeight}),this.heightUpdate(_,i)},_renderTranslation:function(e,t,i,r,o,a,s){for(var l=((e=s?c.revcom(e):e).length-t)%3,h=e.slice(t,e.length-l),u="",d=0;d<h.length;d+=3){var f=h.slice(d,d+3);u+=this._codonTable[f]||this.nbsp}u=s?u.split("").reverse().join(""):u;var g=s?h.split("").reverse().join(""):h,p=this.getCharacterMeasurements("aminoAcid"),b=a>p.w+4,m=100/(o/3),v=n.create("div",{className:"translatedSequence"}),w=n.create("table",{className:"translatedSequence offset"+t+(b?" big":""),style:{width:m*u.length+"%"}},v),y=n.create("tr",{},w);w.style.left=(s?100-m*(u.length+t/3):m*t/3)+"%",m=100/u.length+"%";var k=a>=p.w;for(k&&(w.className+=" big"),d=0;d<u.length;d++){var _=document.createElement("td"),x=g.slice(3*d,3*d+3);x=s?x.split("").reverse().join(""):x,_.className="aminoAcid aminoAcid_"+u.charAt(d).toLowerCase(),-1!=this._codonStarts.indexOf(x.toUpperCase())&&(_.className="aminoAcid aminoAcid_start"),-1!=this._codonStops.indexOf(x.toUpperCase())&&(_.className="aminoAcid aminoAcid_stop"),_.style.width=m,k&&(_.innerHTML=u.charAt(d)),y.appendChild(_)}return v},_renderSeqTr:function(e,t,i,n){var r=this.getCharacterMeasurements("sequence"),o=document.createElement("tr"),a=100/(t-e)+"%",s=n>=r.w,l="base";"protein"===this.config.seqType&&(l+=" aaScheme_"+this.config.proteinColorScheme);for(var c=0;c<i.length;c++){var h=document.createElement("td");h.className=l+" base_"+i.charAt(c).toLowerCase(),h.style.width=a,s&&(h.innerHTML=i.charAt(c)),o.appendChild(h)}return o},startZoom:function(){o(".base",this.div).empty()},getCharacterMeasurements:function(e){return this._charMeasurements[e]||(this._charMeasurements[e]=this._measureSequenceCharacterSize(this.div,e))},_measureSequenceCharacterSize:function(e,t){var i=document.createElement("td");i.className=t,i.style.visibility="hidden";var n="12345678901234567890123456789012345678901234567890";i.appendChild(document.createTextNode(n)),e.appendChild(i);var r={w:i.clientWidth/n.length+1,h:i.clientHeight};return e.removeChild(i),r},_trackMenuOptions:function(){var e=this,t=this.inherited(arguments);return t.push({type:"dijit/MenuSeparator"}),t.push.apply(t,[{label:"Show forward strand",type:"dijit/CheckedMenuItem",checked:!!this.config.showForwardStrand,onClick:function(t){e.config.showForwardStrand=this.checked,e.changed()}},{label:"Show reverse strand",type:"dijit/CheckedMenuItem",checked:!!this.config.showReverseStrand,onClick:function(t){e.config.showReverseStrand=this.checked,e.changed()}},{label:"Show translation",type:"dijit/CheckedMenuItem",checked:!!this.config.showTranslation,onClick:function(t){e.config.showTranslation=this.checked,e.changed()}},{label:"Show color",type:"dijit/CheckedMenuItem",checked:!!this.config.showColor,onClick:function(t){e.config.showColor=this.checked,e.changed()}}]),t}})}.apply(null,n))||(e.exports=r)},498:function(e,t,i){var n,r;n=[i(575),i(634),i(376),i(395)],void 0===(r=function(e,t,i,n){return e([i,n],{_trackMenuOptions:function(){return t([this.inherited(arguments),this._variantsFilterTrackMenuOptions()]).then(function(e){var t=e.shift();return e.unshift({type:"dijit/MenuSeparator"}),t.concat.apply(t,e)})}})}.apply(null,n))||(e.exports=r)},499:function(e,t,i){var n,r;n=[i(575),i(464),i(354)],void 0===(r=function(e,t,i){return e([t,i],{constructor:function(){},updateStaticElements:function(e){this.inherited(arguments),this.updateYScaleFromViewDimensions(e)},makeImageLoadHandler:function(e,t,i,n){return this.inherited(arguments,[e,t,i,dojo.hitch(this,function(){this.makeWiggleYScale(),n&&n()})])},makeWiggleYScale:function(){var e=this;this.store.getGlobalStats(function(t){e.yscale||e.makeYScale({min:t.scoreMin,max:t.scoreMax})})}})}.apply(null,n))||(e.exports=r)},500:function(e,t,i){var n,r;n=[i(575),i(577),i(359),i(334),i(465)],void 0===(r=function(e,t,i,n,r){return e(i,{constructor:function(e){this.store=new r({store:this.store,browser:this.browser})},_defaultConfig:function(){return n.deepUpdate(dojo.clone(this.inherited(arguments)),{autoscale:"local"})}})}.apply(null,n))||(e.exports=r)},501:function(e,t,i){var n,r;n=[i(575),i(576),i(580),i(579),i(585),i(587),i(634),i(619),i(466),i(647),i(348),i(361),i(822),i(772),i(823),i(334),i(367),i(353)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f,g,p,b,m){return e([h,m],{constructor:function(e){this.trackClasses={set:{resultsTypes:[{name:"HTMLFeatures",path:"JBrowse/View/Track/HTMLFeatures"}],store:"JBrowse/Store/SeqFeature/Combination",allowedOps:["&","U","X","S"],defaultOp:"&"},quantitative:{resultsTypes:[{name:"XYPlot",path:"JBrowse/View/Track/Wiggle/XYPlot"},{name:"Density",path:"JBrowse/View/Track/Wiggle/Density"}],store:"JBrowse/Store/SeqFeature/QuantitativeCombination",allowedOps:["+","-","*","/"],defaultOp:"+"},mask:{resultsTypes:[{name:"XYPlot",path:"JBrowse/View/Track/Wiggle/XYPlot"},{name:"Density",path:"JBrowse/View/Track/Wiggle/Density"}],store:"JBrowse/Store/SeqFeature/Mask",allowedOps:["M","N"],defaultOp:"M"},BAM:{resultsTypes:[{name:"Detail",path:"JBrowse/View/Track/Alignments2"},{name:"Summary",path:"JBrowse/View/Track/SNPCoverage"}],store:"JBrowse/Store/SeqFeature/BAMCombination",allowedOps:["U"],defaultOp:"U"}},this.errorCallback=dojo.hitch(this,function(e){this._handleError(e,{})}),this.inWords={"+":"addition","-":"subtraction","*":"multiplication","/":"division","&":"intersection",U:"union",X:"XOR",S:"set subtraction",M:"regular mask",N:"inverse mask","0000":"combine without masking","0020":"use new track as mask","0002":"use old track as mask",1111:"merge tracks",1001:"add new track to old track's displayed data",1010:"add new track to old track's mask","0101":"add old track to new track's displayed data","0110":"add old track to new track's mask"},this.config.storeToKey||(this.config.storeToKey={}),this.supportedBy={"JBrowse/View/Track/HTMLFeatures":"set","JBrowse/View/Track/HTMLVariants":"set","JBrowse/View/Track/CanvasFeatures":"set","JBrowse/View/Track/CanvasVariants":"set",CanvasFeatures:"set",HTMLFeatures:"set",HTMLVariants:"set",CanvasVariants:"set","NeatCanvasFeatures/View/Track/NeatFeatures":"set","NeatHTMLFeatures/View/Track/NeatFeatures":"set","JBrowse/View/Track/Alignments2":"BAM","JBrowse/View/Track/SNPCoverage":"BAM","JBrowse/Store/BigWig":"quantitative","JBrowse/Store/SeqFeature/BigWig":"quantitative","JBrowse/Store/SeqFeature/BAM":"BAM","JBrowse/Store/SeqFeature/BAMCombination":"BAM","JBrowse/Store/SeqFeature/Combination":"set","JBrowse/Store/SeqFeature/QuantitativeCombination":"quantitative","JBrowse/Store/SeqFeature/Mask":"mask"},this.loaded=!0,this.divClass=e.divClass||"combination",this.reinitialize(),this.currentDndSource=void 0,this.sourceWasCopyOnly=void 0,this.onlyRefreshOuter=!1,this.heightResults=0,this.height=e.height||0,this.lastDialogDone=[!0]},setViewInfo:function(e,t,i,n,o,a,s){this.inherited(arguments),r.add(this.div,"combination_track empty"),this.scale=s,this.dnd=new f(this.div,{accept:["track"],isSource:!1,withHandles:!0,creator:dojo.hitch(this,function(e,t){var i=e;return e.resultsTrack&&((i=e.resultsTrack).storeToKey=e.storeToKey),{data:i,type:["track"],node:this.addTrack(i)}})}),this._attachDndEvents(),this.config.resultsTrack&&(this.reloadStoreNames=!0,this.dnd.insertNodes(!1,[this.config.resultsTrack]))},_attachDndEvents:function(){var e=this;i(e.dnd,"DndStart",function(t,i,n){e.currentDndSource=t,e.sourceWasCopyOnly=t.copyOnly}),i(e.dnd,"DraggingOver",function(){e.currentDndSource&&(e.currentDndSource.copyOnly=!0),this.currentlyOver=!0});var t=["DraggingOut","DndDrop","DndCancel"];for(var n in t)i(e.dnd,t[n],function(){e.currentDndSource&&(e.currentDndSource.copyOnly=e.sourceWasCopyOnly),this.currentlyOver=!1});dojo.subscribe("/dnd/drop/before",function(t,i,n,r){r==e.dnd&&i[0]&&(e.dnd.current=null)}),i(e.dnd,"OutEvent",function(){g.manager().overSource(e.genomeView.trackDndWidget)}),i(e.dnd,"DndSourceOver",function(e){e!=this&&this.currentlyOver&&g.manager().overSource(this)});var r=this.dnd.checkAcceptance;this.dnd.checkAcceptance=function(t,i){for(var n=r.call(e.dnd,t,i),o=0;n&&i[o];o++){var a=t.getItem(i[o].id).data;n=n&&(a.resultsTrack||e.supportedBy[a.storeClass]||e.supportedBy[a.type])}return n}},reinitialize:function(){this.dnd&&this.dnd.selectAll().deleteSelectedNodes(),this.config.noExport=!0,this.exportFormats=[],this.resultsDiv=void 0,this.resultsTrack=void 0,this.storeType=void 0,this.oldType=void 0,this.classIndex={},this.storeToShow=0,this.displayStore=void 0,this.maskStore=void 0,this.store=void 0,this.opTree=void 0},addTrack:function(e){return e&&e.key&&e.store&&(this.config.storeToKey[e.store]=e.key),e&&e.storeToKey&&t.mixin(this.config.storeToKey,e.storeToKey),this.resultsDiv||(this.resultsDiv=n.create("div"),this.resultsDiv.className="track",this.resultsDiv.id=this.name+"_resultsDiv",r.remove(this.div,"empty")),this._addTrackStore(e),this.resultsDiv},_addTrackStore:function(e){var t=e.store,i=this;(function(){var e=new o;return i.browser.getStore(t,function(i){i?e.resolve(i,!0):e.reject("store "+t+" not found",!0)}),e.promise})().then(function(t){i.runDialog(e,t)})},runDialog:function(e,t){if(void 0===this.storeType){if(this.currType=this.supportedBy[e.storeClass]||this.supportedBy[e.type],this.storeType=this.currType,this.storeClass=this.trackClasses[this.currType].store,t.isCombinationStore&&!t.opTree&&this.config.opTree)return void this.loadTree(this.config.opTree).then(dojo.hitch(this,function(i){this.opTree=i,this.displayType=this.config.displayType,null==this.getClassIndex(this.displayType||this.storeType)&&this.setTrackClass(e.type,this.displayType||this.storeType),this._adjustStores(t,this.oldType,this.currType,this.config.store,this.config.maskStore,this.config.displayStore)}));var i=t.isCombinationStore?t.opTree.clone():new u({Value:t,leaf:!0});return this.displayType="mask"==this.currType?this.supportedBy[t.stores.display.config.type]:void 0,null==this.getClassIndex(this.displayType||this.storeType)&&this.setTrackClass(e.type,this.displayType||this.storeType),this.opTree=i,this.reloadStoreNames?(this.reloadStoreNames=!1,void this._adjustStores(t,this.oldType,this.currType,this.config.store,this.config.maskStore,this.config.displayStore)):void this._adjustStores(t,this.oldType,this.currType)}var n=new o;this.lastDialogDone.push(n),s(this.lastDialogDone.shift(),dojo.hitch(this,function(){this.preferencesDialog&&this.preferencesDialog.destroyRecursive(),this.currType=this.supportedBy[e.storeClass]||this.supportedBy[e.type],this.oldType=this.storeType,this.storeClass=this.trackClasses[this.currType].store,this.preferencesDialog=new l({trackConfig:e,store:t,track:this}),this.preferencesDialog.run(dojo.hitch(this,function(t,i,r){this.opTree=t,this.displayType=r,this.storeType="mask"==this.oldType||"M"==this.opTree.get()||"N"==this.opTree.get()?"mask":this.currType,null==this.getClassIndex(this.displayType||this.storeType)&&this.setTrackClass(e.type,this.displayType||this.storeType),this._adjustStores(i,this.oldType,this.currType),n.resolve(!0)}),dojo.hitch(this,function(){n.resolve(!0)}))}))},_adjustStores:function(e,t,i,n,r,s){var l=new o;if("mask"==t)this.maskStore.reload(this.opTree.leftChild),this.displayStore.reload(this.opTree.rightChild),this.store.reload(this.opTree,this.maskStore,this.displayStore),l.resolve(!0);else if("mask"==i||"M"==this.opTree.get()||"N"==this.opTree.get()){var c=this._createStore("set",r);c.then(dojo.hitch(this,function(e){this.maskStore=e,this.maskStore.reload(this.opTree.leftChild)}));var h=this._createStore(this.displayType,s);h.then(dojo.hitch(this,function(e){this.displayStore=e,this.displayStore.reload(this.opTree.rightChild)})),this.store=void 0,l=a([c,h])}else l.resolve(!0);l.then(dojo.hitch(this,function(){this.createStore(n)}))},createStore:function(e){var t=new o,i=this;this.store?t.resolve(this.store,!0):t=this._createStore(void 0,e),t.then(function(e){i.store=e,i.store.reload(i.opTree,i.maskStore,i.displayStore),i.renderResultsTrack()})},_createStore:function(e,t){var i=new o;if(!t){var n=this._storeConfig(e);t=this.browser.addStoreConfig(void 0,n),n.name=t}return this.browser.getStore(t,function(e){i.resolve(e,!0)}),i.promise},_storeConfig:function(e){e||(e=this.storeType);var t=this.trackClasses[e].store;this.config.storeClass=t;var i=this.trackClasses[e].defaultOp;return{browser:this.browser,refSeq:this.browser.refSeq.name,type:t,op:i}},_visible:function(){var e=[this.displayType||this.storeType,"set",this.displayType],t=[{store:this.store,tree:this.opTree},{store:this.maskStore,tree:this.opTree?this.opTree.leftChild:void 0},{store:this.displayStore,tree:this.opTree?this.opTree.rightChild:void 0}];for(var i in e)if(t[i].which=e[i],e[i]){var n=0==i&&"mask"==this.storeType?"mask":e[i];t[i].allowedOps=this.trackClasses[n].allowedOps,t[i].trackType=this.trackClasses[e[i]].resultsTypes[this.getClassIndex(e[i])||0].path}return"mask"!=this.storeType?t[0]:t[this.storeToShow]},renderResultsTrack:function(){if(this.resultsTrack)for(this.resultsTrack.clear(),this.resultsTrack.destroy();this.resultsDiv.firstChild;)this.resultsDiv.removeChild(this.resultsDiv.firstChild);if(this._visible().store){var e,t=this._visible().trackType,i=this,n=this._resultsTrackConfig(t);t=n.type,dojo.global.require([t],function(t){(e=t)&&(i.resultsTrack=new e({config:n,browser:i.browser,changeCallback:i._changedCallback,refSeq:i.refSeq,store:i._visible().store,trackPadding:0}),i.resultsTrackMenuOptions=i.resultsTrack._trackMenuOptions,i.resultsTrack._trackMenuOptions=function(){return[]},i.resultsTrack.setViewInfo(i.genomeView,function(e){i.resultsDiv.style.height=e+"px",i.heightResults=e,i.height=e,i.onlyRefreshOuter=!0,i.refresh(),i.onlyRefreshOuter=!1,i.heightUpdate(i.height),i.div.style.height=i.height+"px"},i.numBlocks,i.resultsDiv,i.widthPct,i.widthPx,i.scale),i.config.opTree=i.flatten(i.opTree),i.config.store=i.store.name,i.config.maskStore=i.maskStore?i.maskStore.name:void 0,i.config.displayStore=i.displayStore?i.displayStore.name:void 0,i._visible().store==i.store&&(i.config.resultsTrack=i.resultsTrack.config,i.config.displayType=i.displayType,i.browser.replaceTracks([i.config]),"function"==typeof i.resultsTrack._exportFormats?(i.config.noExport=!1,i.exportFormats=i.resultsTrack._exportFormats()):i.config.noExport=!0),i.refresh())})}},_resultsTrackConfig:function(e){var t={store:this.store.name,storeClass:this.store.config.type,feature:["match"],key:"Results",label:this.name+"_results",metadata:{description:"This track was created from a combination track."},type:e,autoscale:"local"};if(this.config.resultsTrack){if((this.config.resultsTrack.storeClass==t.storeClass||this.supportedBy[this.config.resultsTrack.storeClass]==this.displayType)&&this._visible().store!=this.maskStore)return(t=this.config.resultsTrack).store=this.store.name,t.storeClass=this.store.config.type,t;t.key=this.config.resultsTrack.key,t.label=this.config.resultsTrack.label,t.metadata=this.config.resultsTrack.metadata}return t},refresh:function(e){e||(e=this),this._visible().store&&!this.onlyRefreshOuter?this._visible().store.reload(this._visible().tree,this.maskStore,this.displayStore):this.onlyRefreshOuter||(delete this.config.resultsTrack,delete this.config.opTree),this.range&&(e.clear(),e.showRange(this.range.f,this.range.l,this.range.st,this.range.b,this.range.sc,this.range.cs,this.range.ce)),this.makeTrackMenu()},clear:function(){this.inherited(arguments),this.resultsTrack&&!this.onlyRefreshOuter&&this.resultsTrack.clear()},hideAll:function(){this.inherited(arguments),this.resultsTrack&&!this.onlyRefreshOuter&&this.resultsTrack.hideAll()},hideRegion:function(e){this.inherited(arguments),this.resultsTrack&&!this.onlyRefreshOuter&&this.resultsTrack.hideRegion(e)},sizeInit:function(e,t,i){this.inherited(arguments),this.resultsTrack&&!this.onlyRefreshOuter&&this.resultsTrack.sizeInit(e,t,i)},showRange:function(e,t,i,n,r,o,l,c){if(this.range={f:e,l:t,st:i,b:n,sc:r,cs:o,ce:l},this.resultsTrack&&!this.onlyRefreshOuter){var h=!this.resultsDiv.parentNode;h&&this.div.appendChild(this.resultsDiv);var u=[],d=[this.store,this.maskStore,this.displayStore];for(var f in d)if(d[f]&&"function"==typeof d[f].loadRegion){var g=i,p=i+(t+1-e)*n,b=d[f].loadRegion({ref:this.refSeq.name,start:g,end:p});u.push(b),b.then(function(){},this.errorCallback)}s(a(u),dojo.hitch(this,function(a){a.length&&-1!=a.indexOf(this._visible().store)&&this.resultsTrack.clear(),this.resultsTrack.showRange(e,t,i,n,r,o,l,c)}),this.errorCallback),h&&this.div.removeChild(this.resultsDiv)}this.inherited(arguments),this.heightUpdate(this.height),this.div.style.height=this.height+"px"},moveBlocks:function(e){this.inherited(arguments),this.resultsTrack&&this.resultsTrack.moveBlocks(e)},fillBlock:function(e){var t=e.blockIndex,i=e.block;e.leftBase,this.resultsTrack?this.heightUpdate(this.heightResults,t):this.fillMessage(t,i,"Drag tracks here to combine them."),e.finishCallback()},endZoom:function(e,t){this.clear(),this.resultsTrack&&this.resultsTrack.endZoom()},updateStaticElements:function(e){this.inherited(arguments),this.resultsTrack&&this.resultsTrack.updateStaticElements(e)},setClassIndex:function(e,t){t||(t=this._visible().which),"mask"==t&&this.displayStore&&(t=this.supportedBy[this.displayStore.config.type]),this.classIndex[t]=e},setTrackClass:function(e,t){var i=this.trackClasses[t].resultsTypes.map(function(e){return e.path}).indexOf(e);i>=0&&this.setClassIndex(i,t)},getClassIndex:function(e){return"mask"==e&&this.displayStore&&(e=this.supportedBy[this.displayStore.config.type]),this.classIndex[e]},_trackMenuOptions:function(){var e=(this.resultsTrackMenuOptions||function(){}).call(this.resultsTrack);e=e||[];for(var t=this.inherited(arguments),i=t.map(function(e){return e.label}),r=0;r<e.length;r++)e[r].label&&-1!=i.indexOf(e[r].label)&&e.splice(r--,1);var o=t.concat(e),a=this;if(!this.storeType)return o;if("mask"==this.storeType){var s=["masked data","mask","data only"],l=Object.keys(s).map(function(e){return{type:"dijit/CheckedMenuItem",checked:a.storeToShow==e,label:s[e],title:"View "+s[e],action:function(){a.storeToShow=e,a.renderResultsTrack()}}});o.push.apply(o,[{type:"dijit/MenuSeparator"},{children:l,label:"View",title:"switch between the mask, display data and masked data for this masking track"}])}var h=this.trackClasses[this._visible().which].resultsTypes,u=Object.keys(h).map(function(e){return{type:"dijit/CheckedMenuItem",label:h[e].name,checked:a.classIndex[a._visible().which]==e,title:"Display as "+h[e].name+" track",action:function(){a.setClassIndex(e),delete a.config.resultsTrack,a.renderResultsTrack()}}});if(o.push.apply(o,[{type:"dijit/MenuSeparator"},{children:u,label:"Track display",title:"Change what type of track is being displayed"}]),this.opTree&&o.push.apply(o,[{label:"View formula",title:"View the formula specifying this combination track",action:function(){var e=new c({title:"View Formula"}),t=[],i=n.create("div",{innerHTML:"No operation formula defined",className:"formulaPreview"});t.push(i),a.opTree&&(i.innerHTML=a._generateTreeFormula(a.opTree)),e.set("content",t),e.show()}}]),this._visible().tree&&this._visible().tree.getLeaves().length>1){var d=this._visible().allowedOps.map(function(e){return{type:"dijit/CheckedMenuItem",checked:a._visible().tree.get()==e,label:a.inWords[e],title:"change operation of last track to "+a.inWords[e],action:function(){a.opTree&&(a._visible().tree.set(e),a.refresh())}}});o.push.apply(o,[{children:d,label:"Change last operation",title:"change the operation applied to the last track added"}])}return o},_generateTreeFormula:function(e){return e&&void 0!==e?e.isLeaf()?'<span class="leaf'+(e.highlighted?" highlighted":"")+'">'+(e.get().name?this.config.storeToKey[e.get().name]?this.config.storeToKey[e.get().name]:e.get().name:e.get())+"</span>":'<span class="tree">('+this._generateTreeFormula(e.left())+' <span class="op" title="'+this.inWords[e.get()]+'">'+e.get()+"</span> "+this._generateTreeFormula(e.right())+")</span>":'<span class="null">NULL</span>'},_exportFormats:function(){return this.exportFormats||[]},flatten:function(e){var t={leaf:e.leaf};return e.leftChild&&(t.leftChild=this.flatten(e.leftChild)),e.rightChild&&(t.rightChild=this.flatten(e.rightChild)),e.get().name?t.store=e.get().name:t.op=e.get(),t},loadTree:function(e){var t,i,n=new o,r=this;return e?(e.leftChild&&(t=this.loadTree(e.leftChild)),e.rightChild&&(i=this.loadTree(e.rightChild)),s(a([t,i]),function(t){var i=new u({leftChild:t[0],rightChild:t[1],leaf:e.leaf});e.store?(r.browser.getStore(e.store,function(e){i.set(e)}),n.resolve(i,!0)):(i.set(e.op),n.resolve(i,!0))}),n.promise):(n.resolve(void 0,!0),n.promise)}})}.apply(null,n))||(e.exports=r)},502:function(e,t,i){var n,r;n=[i(575),i(634),i(334),i(362),i(395)],void 0===(r=function(e,t,i,n,r){return e([n,r],{_defaultConfig:function(){return i.deepUpdate(dojo.clone(this.inherited(arguments)),{style:{color:"green"}})},_trackMenuOptions:function(){return t([this.inherited(arguments),this._variantsFilterTrackMenuOptions()]).then(function(e){var t=e.shift();return e.unshift({type:"dijit/MenuSeparator"}),t.concat.apply(t,e)})}})}.apply(null,n))||(e.exports=r)},503:function(e,t,i){var n,r;n=[i(575),i(577),i(680),i(369),i(334),i(362),i(373)],void 0===(r=function(e,t,i,n,r,o,a){return e([o,a],{_defaultConfig:function(){var e=r.deepUpdate(dojo.clone(this.inherited(arguments)),{glyph:"JBrowse/View/FeatureGlyph/Alignment",maxFeatureGlyphExpansion:0,maxFeatureScreenDensity:15,orientationType:"fr",hideDuplicateReads:!0,hideQCFailingReads:!0,hideSecondary:!0,hideSupplementary:!0,hideUnmapped:!0,hideUnsplicedReads:!1,hideMissingMatepairs:!1,hideImproperPairs:!1,hideForwardStrand:!1,hideReverseStrand:!1,useXS:!1,useTS:!1,useReverseTemplate:!1,useReverseTemplateOption:!0,viewAsPairs:!1,viewAsSpans:!1,maxInsertSize:5e4,readCloudLogScale:!0,showInterchromosomalArcs:!0,showLargeArcs:!0,histograms:{description:"coverage depth",binsPerBlock:200},style:{showLabels:!1}});return e.menuTemplate.push({iconClass:"dijitIconUndo",url:function(e,t){return e.browser.makeCurrentViewURL({loc:e._nextSegmentViewLoc(t,.8),highlight:t.get("next_segment_position"),tracklist:0})},action:"iframeDialog",title:"Open {next_segment_position} in a popup",disabled:function(e,t){return!t.get("next_segment_position")||t.get("paired_feature")},label:"Quick-view mate/next location"},{iconClass:"dijitIconUndo",url:function(e,t){return e.browser.makeCurrentViewURL({loc:e._nextSegmentViewLoc(t),highlight:t.get("next_segment_position")})},action:"newWindow",title:"Open {next_segment_position} in a new tab",disabled:function(e,t){return!t.get("next_segment_position")||t.get("paired_feature")},label:"Open mate/next location in new tab"}),e},_trackType:function(){},_nextSegmentViewLoc:function(e,t){var i=e.get("next_segment_position");if(i){var n=i.split(":"),o=n[0],a=parseInt(n[1]),s=this.browser.view.visibleRegion(),l=Math.round((s.end-s.start+1)*(t||1));return r.assembleLocString({start:Math.round(a-l/2),end:Math.round(a+l/2),ref:o})}},_trackMenuOptions:function(){var e=this,t=[],i={type:"dijit/Menu",label:"Track visualization types",children:[]},r={type:"dijit/Menu",label:"Coloring options",children:[]};return t.push(i),t.push(r),i.children.push({label:"View as unpaired",type:"dijit/RadioMenuItem",checked:"JBrowse/View/FeatureGlyph/Alignment"==this.config.glyph,onClick:function(t){e.config.glyph="JBrowse/View/FeatureGlyph/Alignment",e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),i.children.push({label:"View as pairs",type:"dijit/RadioMenuItem",checked:"JBrowse/View/FeatureGlyph/PairedAlignment"==this.config.glyph,onClick:function(t){e.config.glyph="JBrowse/View/FeatureGlyph/PairedAlignment",e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),i.children.push({label:"View as arcs",type:"dijit/RadioMenuItem",checked:"JBrowse/View/FeatureGlyph/PairedArc"==this.config.glyph,onClick:function(t){e.config.glyph="JBrowse/View/FeatureGlyph/PairedArc",e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),i.children.push({label:"View as read cloud",type:"dijit/RadioMenuItem",checked:"JBrowse/View/FeatureGlyph/PairedReadCloud"==this.config.glyph,onClick:function(t){e.config.glyph="JBrowse/View/FeatureGlyph/PairedReadCloud",e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),i.children.push({label:"View coverage",type:"dijit/RadioMenuItem",checked:!1,onClick:function(t){e.config.type="JBrowse/View/Track/SNPCoverage",e.config._oldAlignmentsHeight=e.config.style.height,e.config.style.height=e.config._oldSnpCoverageHeight,e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by default",type:"dijit/RadioMenuItem",checked:!!this.config.defaultColor,onClick:function(t){e.clearColorConfig(),e.config.defaultColor=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by XS tag (RNA-seq orientation)",type:"dijit/RadioMenuItem",checked:!!this.config.useXS,onClick:function(t){e.clearColorConfig(),e.config.useXS=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by TS tag (RNA-seq orientation)",type:"dijit/RadioMenuItem",checked:!!this.config.useTS,onClick:function(t){e.clearColorConfig(),e.config.useTS=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color mate pair as flipped (RNA-seq orientation)",type:"dijit/RadioMenuItem",checked:!!this.config.useReverseTemplate,onClick:function(t){e.clearColorConfig(),e.config.useReverseTemplate=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by mapping quality",type:"dijit/RadioMenuItem",checked:!!this.config.colorByMAPQ,onClick:function(t){e.clearColorConfig(),e.config.colorByMAPQ=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by orientation",type:"dijit/RadioMenuItem",checked:!!this.config.colorByOrientation,onClick:function(t){e.clearColorConfig(),e.config.colorByOrientation=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by insert size",type:"dijit/RadioMenuItem",checked:!!this.config.colorBySize,onClick:function(t){e.clearColorConfig(),e.config.colorBySize=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),r.children.push({label:"Color by orientation and insert size",type:"dijit/RadioMenuItem",checked:!!this.config.colorByOrientationAndSize,onClick:function(t){e.clearColorConfig(),e.config.colorByOrientationAndSize=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}),"JBrowse/View/FeatureGlyph/PairedReadCloud"==this.config.glyph&&t.push({type:"dijit/Menu",label:"Read cloud options",children:[{label:"View log scale",type:"dijit/CheckedMenuItem",checked:!!this.config.readCloudLogScale,onClick:function(t){e.config.readCloudLogScale=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}},{label:"Set Y-scale size",onClick:function(t){new n({title:"Set read cloud Y-scale in terms of the maximum expected insert size",msg:" expected max insert size",maxHeight:1/0,height:e.config.readCloudYScaleMax||5e4,setCallback:function(t){e.config.readCloudYScaleMax=t,e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}).show()}}]}),"JBrowse/View/FeatureGlyph/PairedArc"==this.config.glyph&&t.push({type:"dijit/Menu",label:"Paired arc options",children:[{label:"Show interchromosomal",type:"dijit/CheckedMenuItem",checked:!!this.config.showInterchromosomalArcs,onClick:function(t){e.config.showInterchromosomalArcs=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}},{label:"Show large arcs",type:"dijit/CheckedMenuItem",checked:!!this.config.showLargeArcs,onClick:function(t){e.config.showLargeArcs=this.get("checked"),e.browser.publish("/jbrowse/v1/v/tracks/replace",[e.config])}}]}),t.push({type:"dijit/MenuItem",label:"Re-estimate insert size stats",onClick:function(t){e.insertSizeStats=null,e.store.cleanStatsCache(),e.redraw()}}),Promise.all([this.inherited(arguments),this._alignmentsFilterTrackMenuOptions(),t]).then(function(e){var t=e.shift();return e.unshift({type:"dijit/MenuSeparator"}),t.concat.apply(t,e)})},clearColorConfig:function(){Object.assign(this.config,{defaultColor:!1,useTS:!1,useXS:!1,useReverseTemplate:!1,colorByMAPQ:!1,colorByOrientation:!1,colorBySize:!1,colorByOrientationAndSize:!1})},_getLayout:function(){var t=this.inherited(arguments);return"JBrowse/View/FeatureGlyph/PairedReadCloud"!=this.config.glyph&&"JBrowse/View/FeatureGlyph/PairedArc"!=this.config.glyph||(t=e.safeMixin(t,{addRect:function(){return this.pTotalHeight=this.maxHeight,0}})),t},fillFeatures:function(e){var t=this,i=e.finishCallback;if(this.config.viewAsPairs||this.config.viewAsSpans||this.config.colorByOrientationAndSize||this.config.colorBySize&&!this.insertSizeStats){var n=this.getInherited(arguments),r=e.rightBase-e.leftBase,o=void 0,a=void 0;"JBrowse/View/FeatureGlyph/PairedArc"==this.config.glyph?(o=Math.max(0,e.leftBase-Math.min(Math.max(6*r,this.config.maxInsertSize),1e5)),a=e.rightBase+Math.min(Math.max(6*r,this.config.maxInsertSize),1e5)):(o=Math.max(0,e.leftBase-this.config.maxInsertSize),a=e.rightBase+this.config.maxInsertSize),new Promise(function(e,i){t.store.getFeatures({ref:t.refSeq.name,start:o,end:a,viewAsPairs:t.config.viewAsPairs,viewAsSpans:t.config.viewAsSpans,maxInsertSize:t.config.maxInsertSize},function(){},function(){t.insertSizeStats=t.insertSizeStats||t.store.getInsertSizeStats(),e()},i)}).then(function(){e.finishCallback=function(){i(),t.store.cleanFeatureCache({ref:t.refSeq.name,start:o,end:a})},n.call(t,e)},function(n){console.error(n),t._handleError(n,e),i(n)})}else this.inherited(arguments)},constructor:function(){var e=this;"JBrowse/View/FeatureGlyph/PairedArc"==this.config.glyph?(this.config.viewAsSpans=!0,this.config.viewAsPairs=!1):"JBrowse/View/FeatureGlyph/PairedAlignment"==this.config.glyph||"JBrowse/View/FeatureGlyph/PairedReadCloud"==this.config.glyph?(this.config.viewAsPairs=!0,this.config.viewAsSpans=!1):(this.config.viewAsPairs=!1,this.config.viewAsSpans=!1),this.insertSizeStats=this.config.insertSizeStats,["defaultColor","useXS","useTS","useReverseTemplate","colorByOrientation","colorBySize","colorByOrientationAndSize","colorByMAPQ"].some(function(t){return 1==e.config[t]})||(this.config.defaultColor=!0)},renderClickMap:function(){"JBrowse/View/FeatureGlyph/PairedArc"!=this.config.glyph&&"JBrowse/View/FeatureGlyph/PairedReadCloud"!=this.config.glyph&&this.inherited(arguments)}})}.apply(null,n))||(e.exports=r)},504:function(e,t,i){var n,r;n=[i(575),i(577),i(634),i(334),i(376),i(373)],void 0===(r=function(e,t,i,n,r,o){return e([r,o],{_defaultConfig:function(){return n.deepUpdate(dojo.clone(this.inherited(arguments)),{maxFeatureScreenDensity:1.5,layoutPitchY:4,hideDuplicateReads:!0,hideQCFailingReads:!0,hideSecondary:!0,hideSupplementary:!0,hideMissingMatepairs:!1,hideImproperPairs:!1,hideUnmapped:!0,hideUnsplicedReads:!1,hideForwardStrand:!1,hideReverseStrand:!1,style:{_defaultLabelScale:50,className:"alignment",arrowheadClass:"arrowhead",centerChildrenVertically:!0,showMismatches:!0,showSubfeatures:!1,showLabels:!1}})},renderFeature:function(e,t,i,n,r,o,a,s){var l=this.inherited(arguments);if(!l)return null;var c=Math.max(e.get("start"),a),h=Math.min(e.get("end"),s);return this.config.style.showMismatches&&this._drawMismatches(e,l,n,c,h),e.get("multi_segment_template")&&!e.get("multi_segment_all_aligned")&&(l.className+=" missing_mate"),l},handleSubFeatures:function(e,t,i,n,r){this.config.style.showSubfeatures&&this.inherited(arguments)},_drawMismatches:function(e,i,n,r,o){var a=o-r;if(a*n>1){var s=this._getMismatches(e),l=this.getCharacterMeasurements(),c=n>=l.w;t.forEach(s,function(t){var s=e.get("start")+t.start,l=s+t.length;if(!(l<=r||s>=o)){var h=t.base,u=Math.max(s,r),d=Math.min(l,o),f=d-u,g=dojo.create("span",{className:t.type+" base_"+h.toLowerCase(),style:{position:"absolute",left:100*(u-r)/a+"%",width:n*f>1?100*f/a+"%":"1px"}},i);if(c||(g.title=h),c&&t.length<=20)for(var p=0;p<t.length;p++){var b=s+p;b>=u&&b<=d&&dojo.create("span",{className:"base base_"+h.toLowerCase(),style:{position:"absolute",width:n+"px",left:(b-u)/f*100+"%"},innerHTML:h},g)}}},this)}},getCharacterMeasurements:function(){return this._measurements||(this._measurements=this._measureSequenceCharacterSize(this.div)),this._measurements},_measureSequenceCharacterSize:function(e){var t=dojo.create("div",{innerHTML:'<span class="base mismatch">A</span><span class="base mismatch">C</span><span class="base mismatch">T</span><span class="base mismatch">G</span><span class="base mismatch">N</span>',style:{visibility:"hidden",position:"absolute",left:"0px"}},e),i={w:t.clientWidth/5,h:t.clientHeight};return e.removeChild(t),i},_trackMenuOptions:function(){return i([this.inherited(arguments),this._alignmentsFilterTrackMenuOptions()]).then(function(e){var t=e.shift();return e.unshift({type:"dijit/MenuSeparator"}),t.concat.apply(t,e)})}})}.apply(null,n))||(e.exports=r)},505:function(e,t,i){var n,r;function o(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}return Array.from(e)}n=[i(575),i(363)],void 0===(r=function(e,t){return e(t,{_defaultConfig:function(){return this._mergeConfigs(this.inherited(arguments),{style:{connectorColor:"#333",connectorThickness:1,borderColor:"rgba( 0, 0, 0, 0.3 )"},itemRgb:!0,height:11,thinHeight:5,subParts:function(){return!1},subSubParts:function(){return!1}})},parseItemRgb:function(e){var t=/(\d+),(\d+),(\d+)/.exec(e),i=function(e){return e.toString(16).padStart(2,"0")};if(t){var n=Number(t[1]),r=Number(t[2]),o=Number(t[3]);if(!isNaN(n)&&!isNaN(r)&&!isNaN(o)&&(n||r||o))return"#"+i(n)+i(r)+i(o)}else{var a=Number(e);if(a)return"#"+a.toString(16).padStart(6,"0")}},renderSegments:function(e,t){var i=this,n=function(e,n){if("height"===n)return i._getFeatureHeight(t.viewInfo,e);if("color"===n&&i.getConf("itemRgb",[e,i])){var r=i.parseItemRgb(e.get("itemRgb")||e.get("reserved"));if(r)return r}return i.getStyle(e,n)},r=Number(t.f.get("thick_start")),o=Number(t.f.get("thick_end")),a=Number(t.f.get("block_count"));if(a&&t.f.get("end")-t.f.get("start")>5){var s=t.f.get("block_sizes");Array.isArray(s)||(s=s.split(",").map(function(e){return Number(e)}));var l=t.f.get("chrom_starts");Array.isArray(l)||(l=l.split(",").map(function(e){return Number(e)}));for(var c=t.f.get("start"),h=0;h<a;h+=1){var u=(0|l[h])+c,d=u+(0|s[h]);this.renderSegment(e,t.viewInfo,u,d,r,o,t.t,t.rect.h,t.f,n)}}else this.renderSegment(e,t.viewInfo,t.f.get("start"),t.f.get("end"),r,o,t.t,t.rect.h,t.f,n)},renderSegment:function(e,t,i,n,r,a,s,l,c,h){var u=t.block.bpToX(i),d=t.block.bpToX(n)-u,f=u+d,g=this._getFeatureHeight(t,c);if(g){g!==l&&(s+=Math.round((l-g)/2));var p=s+g,b=t.block.bpToX(r),m=t.block.bpToX(a),v=Math.max(1,d),w=this.getConf("thinHeight",[c,this]),y=(g-w)/2,k=h(c,"color"),_=h(c,"borderColor"),x=h(c,"borderWidth"),S=x/2;if(d>3){var j=void 0,C=void 0;if(r<=i&&a>=n?(j=[u,s,d,g],C=[u+S,s+S,d-x,g-x]):r>=n||a<=i?(j=[u,s+y,d,w],C=[u+S,s+S+y,d-x,w-x]):r<=i&&a<n?(j=[[u,s],[m,s],[m,s+y],[f,s+y],[f,p-y],[m,p-y],[m,p],[u,p]],C=[[u+S,s+S],[m-S,s+S],[m-S,s+y+S],[f-S,s+y+S],[f-S,p-y-S],[m-S,p-y-S],[m-S,p-S],[u+S,p-S]]):r>i&&a>=n?(j=[[u,s+y],[b,s+y],[b,s],[f,s],[f,p],[b,p],[b,p-y],[u,p-y]],C=[[u+S,s+y+S],[b+S,s+y+S],[b+S,s+S],[f-S,s+S],[f-S,p-S],[b+S,p-S],[b+S,p-y-S],[u+S,p-y-S]]):r>i&&a<n&&(j=[[u,s+y],[b,s+y],[b,s],[m,s],[m,s+y],[f,s+y],[f,p-y],[m,p-y],[m,p],[b,p],[b,p-y],[u,p-y]],C=[[u+S,s+y+S],[b+S,s+y+S],[b+S,s+S],[m-S,s+S],[m-S,s+y+S],[f-S,s+y+S],[f-S,p-y-S],[m-S,p-y-S],[m-S,p-S],[b+S,p-S],[b+S,p-y-S],[u+S,p-y-S]]),k)if(e.fillStyle=k,j[0].length){e.beginPath(),e.moveTo.apply(e,o(j[0]));for(var A=1;A<j.length;A+=1)e.lineTo.apply(e,o(j[A]));e.fill()}else e.fillRect.apply(e,o(j));if(_&&x)if(e.lineWidth=x,e.strokeStyle=_,C[0].length){e.beginPath(),e.moveTo.apply(e,o(C[0]));for(var T=1;T<C.length;T+=1)e.lineTo.apply(e,o(C[T]));e.stroke()}else e.strokeRect.apply(e,o(C))}else e.globalAlpha=1,e.fillStyle=k,r<=i&&a>=n?(e.fillRect(u,s,v,g),e.globalAlpha=2*x/d,e.fillStyle=_,e.fillRect(u,s,v,g),e.globalAlpha=1):(e.fillRect(u,s+y,v,w),e.globalAlpha=2*x/d,e.fillStyle=_,e.fillRect(u,s+y,v,w),e.globalAlpha=1)}}})}.apply(null,n))||(e.exports=r)},506:function(e,t,i){var n,r;n=[i(575),i(471)],void 0===(r=function(e,t){return e(t,{clearFeat:function(e,t){},layoutFeature:function(e,t,i){var n=this.inherited(arguments);if(!n)return n;if(i.pairedFeature()){var r=Math.abs(i.read1.get("template_length")),o=void 0;this.track.config.readCloudLogScale?(o=Math.log(r+1)/Math.log(this.track.config.readCloudYScaleMax||this.track.insertSizeStats.max+1),o/=2):(o=r/(this.track.config.readCloudYScaleMax||this.track.insertSizeStats.upper),o/=3),o*=this.track.config.maxHeight,"compact"===this.track.config.displayMode&&(o/=4),n.rect.t=o,n.t=o}else n.t=0,n.rect.t=0;return n}})}.apply(null,n))||(e.exports=r)},507:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(398),i(377)],void 0===(r=function(e,t,i,n,r){return e(n,{_defaultConfig:function(){return this._mergeConfigs(i.clone(this.inherited(arguments)),{style:{color:r.colorArcs,mouseovercolor:"rgba(0,0,0,0)",strandArrow:!1,orientationType:"fr"}})},renderFeature:function(e,t){var i=this.getRadius(t.f,t.viewInfo.block);if(i.r&&!(Math.abs(i.r)<1)){var n=t.f;n.get("is_paired")&&(n.get("seq_id")!==n.get("next_seq_id")?this.track.config.showInterchromosomalArcs&&(e.beginPath(),e.strokeStyle=this.getConf("style.color",[n,i.span,this,this.track]),e.moveTo(i.drawFrom,0),e.lineTo(i.drawFrom,1e3),e.stroke()):this.track.config.showLargeArcs&&Math.abs(i.drawTo+i.r)>1e5?(e.beginPath(),e.strokeStyle=this.getConf("style.color",[n,i.span,this,this.track]),e.moveTo(i.drawTo,0),e.lineTo(i.drawTo,1e3),e.stroke()):(Math.abs(i.span)<this.track.config.maxInsertSize||this.track.config.showLargeArcs)&&(e.beginPath(),e.strokeStyle=this.getConf("style.color",[n,i.span,this,this.track]),e.arc(i.drawTo+i.r,0,Math.abs(i.r),0,Math.PI),e.stroke()))}},getRadius:function(e,t){var i=e.get("end")-e.get("start");if(e.get("seq_id"),!i)return{};var n=e.get("start"),r=e.get("end"),o=t.bpToX(r),a=t.bpToX(n);return{r:(a-o)/2,drawTo:o,drawFrom:a,span:Math.abs(n-r)}}})}.apply(null,n))||(e.exports=r)},508:function(e,t,i){var n,r;n=[i(575),i(576),i(355)],void 0===(r=function(e,t,i){return e(i,{renderBox:function(e,i,n,r,o,a,s){var l=i.block.bpToX(n.get("start")),c=i.block.bpToX(n.get("end"))-l;s=s||t.hitch(this,"getStyle");var h=this._getFeatureHeight(i,n);if(h){h!=o&&(r+=Math.round((o-h)/2));var u,d,f=s(n,"color");f?(e.fillStyle=f,e.beginPath(),e.moveTo(l,r+h/2),e.lineTo(l+Math.max(1,c)/2,r),e.lineTo(l+Math.max(1,c),r+h/2),e.lineTo(l+Math.max(1,c)/2,r+h),e.closePath(),e.fill()):e.clearRect(l,r,Math.max(1,c),h),(u=s(n,"borderColor"))&&(d=s(n,"borderWidth"))&&(c>3?(e.lineWidth=d,e.strokeStyle=u,e.beginPath(),e.moveTo(l,r+h/2),e.lineTo(l+Math.max(1,c)/2,r),e.lineTo(l+Math.max(1,c),r+h/2),e.lineTo(l+Math.max(1,c)/2,r+h),e.closePath(),e.stroke()):(e.globalAlpha=2*d/c,e.fillStyle=u,e.beginPath(),e.moveTo(l,r+h/2),e.lineTo(l+Math.max(1,c)/2,r),e.lineTo(l+Math.max(1,c),r+h/2),e.lineTo(l+Math.max(1,c)/2,r+h),e.closePath(),e.fill(),e.globalAlpha=1))}}})}.apply(null,n))||(e.exports=r)},509:function(e,t,i){var n,r;n=[i(575),i(577),i(356)],void 0===(r=function(e,t,i){return e(i,{constructor:function(e){if(this.print("track type=wiggle_0"),this.track){this.track.name&&this.print(' name="'+this.track.name+'"');var t=this.track.getMetadata();t.key&&this.print(' description="'+t.key+'"')}this.print("\n")},_printStep:function(e,t){this.print("variableStep"+(t?" chrom="+t:"")+" span="+e+"\n")},exportRegion:function(e,t){var i,n;this.store.getFeatures(e,dojo.hitch(this,function(e){var t=e.get("end")-e.get("start"),r=e.get("seq_id")||this.refSeq.name;i==t&&r==n||(this._printStep(t,r==n?null:r),n=r,i=t),this.print(e.get("start")+1+"\t"+e.get("score")+"\n")}),dojo.hitch(this,function(){t(this.output)}))}})}.apply(null,n))||(e.exports=r)},510:function(e,t,i){var n,r;n=[i(575),i(577),i(356)],void 0===(r=function(e,t,i){return e(i,{_printHeader:function(e){return this.print(">Feature "+(e.get("seq_id")||this.refSeq.name)+"\n"),!0},formatFeature:function(e){var i=this,n=this;this.headerPrinted||(this.headerPrinted=this._printHeader(e));var r=[e.get("start")+1,e.get("end"),e.get("type")||"region"];if(-1==e.get("strand")){var o=r[0];r[0]=r[1],r[1]=o}var a=t.map(t.filter(e.tags(),function(e){return!{start:1,end:1,type:1,strand:1,seq_id:1,subfeatures:1}[e.toLowerCase()]}),function(t){return[t.toLowerCase(),n.stringifyAttributeValue(e.get(t))]}).filter(function(e){return!!e[1]});return r.join("\t")+"\n"+t.map(a,function(e){return"\t\t\t"+e.join("\t")+"\n"}).join("")+t.map(e.children(),function(e){return i.formatFeature(e)}).join("")},stringifyAttributeValue:function(e){return null==e?null:e.hasOwnProperty("toString")?e.toString():e instanceof Array?e.join(","):e.values instanceof Array?e.join(","):e}})}.apply(null,n))||(e.exports=r)},511:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(e){return e&&e.__esModule?e:{default:e}}(i(874));n=[i(575),i(576),i(577),i(356)],void 0===(r=function(e,t,i,n){return e(n,{constructor:function(e){this._idCounter=0,this.lastSync=0},gff3_field_names:["seq_id","source","type","start","end","score","strand","phase","attributes"],gff3_reserved_attributes:["ID","Name","Alias","Parent","Target","Gap","Derives_from","Note","Dbxref","Ontology_term","Is_circular"],_is_not_gff3_tab_field:function(e){if(!this._gff3_fields_by_name){var t={};dojo.forEach(this.gff3_field_names,function(e){t[e]=!0}),this._gff3_fields_by_name=t}return!this._gff3_fields_by_name[e.toLowerCase()]},_gff3_reserved_attribute:function(e){if(!this._gff3_reserved_attributes_by_lcname){var t={};dojo.forEach(this.gff3_reserved_attributes,function(e){t[e.toLowerCase()]=e}),this._gff3_reserved_attributes_by_lcname=t}return this._gff3_reserved_attributes_by_lcname[e.toLowerCase()]},exportRegion:function(e,t){this.print("##gff-version 3\n"),this.print("##sequence-region "+e.ref+" "+(e.start+1)+" "+e.end+"\n"),this.inherited(arguments)},formatFeature:function(e,t){var n=dojo.map([e.get("seq_id")||this.refSeq.name].concat(dojo.map(this.gff3_field_names.slice(1,8),function(t){return e.get(t)},this)),function(e){var t=void 0===e?"undefined":o(e);return a.default.util.escapeColumn("string"==t||"number"==t?e:".")},this);"number"==typeof parseInt(n[3])&&n[3]++,n[6]={1:"+","-1":"-",0:"."}[n[6]]||n[6];var r=this._gff3_attributes(e);t?r.Parent=t:delete r.Parent;var s=i.map(e.get("subfeatures")||[],function(e){return r.ID||(r.ID=++this._idCounter),this.formatFeature(e,r.ID)},this);n[8]=this._gff3_format_attributes(r);var l=n.join("\t")+"\n";return s.unshift(l),s.join("")},writeFeature:function(e){var t=this.formatFeature(e);this.print(t),this.lastSync>=9?(this.lastSync=0,this.print("###\n")):this.lastSync+=t.length||1},_gff3_attributes:function(e){var t=i.filter(e.tags(),dojo.hitch(this,function(e){return e=e.toLowerCase(),this._is_not_gff3_tab_field(e)&&"subfeatures"!=e})),n={};return i.forEach(t,function(t){var i=e.get(t),r=void 0===i?"undefined":o(i);if("boolean"==r)i=i?1:0;else if("undefined"==r)return;t=this._gff3_reserved_attribute(t)||this._ensure_non_reserved(t),n[t]=i},this),n},_ensure_non_reserved:function(e){return e.replace(/^[A-Z]/,function(){return"_"+e[0]})},_gff3_format_attributes:function(e){var t=[];for(var n in e){var r=e[n];if(r){var o=r.hasOwnProperty("toString")?a.default.util.escape(r.toString()):r instanceof Array?i.map(r,function(e){return a.default.util.escape(e)}).join(","):r instanceof Object?a.default.util.escape(JSON.stringify(r)):r.values&&r instanceof Array?i.map(r,function(e){return a.default.util.escape(e)}).join(","):a.default.util.escape(r);t.push(a.default.util.escape(n)+"="+o)}}return t.join(";")||"."}})}.apply(null,n))||(e.exports=r)},512:function(e,t,i){var n,r;n=[i(575),i(577),i(356),i(334)],void 0===(r=function(e,t,i,n){return e(i,{constructor:function(e){},exportRegion:function(e,t){this.store.getReferenceSequence(e,dojo.hitch(this,function(i){t(this._formatFASTA(e,i))}))},_formatFASTA:function(e,t){return">"+this.refSeq.name+" "+n.assembleLocString(e)+"\n"+this._wrap(t,78)},_wrap:function(e,t){return t=t||78,e.replace(new RegExp("(.{"+t+"})","g"),"$1\n")}})}.apply(null,n))||(e.exports=r)},513:function(e,t,i){var n,r;n=[i(575),i(577),i(473)],void 0===(r=function(e,t,i){return e(i,{constructor:function(e){},_printHeader:function(){if(this.print("track type=bedGraph"),this.track){this.track.name&&this.print(' name="'+this.track.name+'"');var e=this.track.getMetadata();e.key&&this.print(' description="'+e.key+'"')}this.print("\n")},formatFeature:function(e){return[e.get("seq_id")||this.refSeq.name,e.get("start"),e.get("end"),e.get("score")].join("\t")+"\n"}})}.apply(null,n))||(e.exports=r)},514:function(e,t,i){var n,r;n=[i(575),i(577),i(579),i(580),i(595),i(647),i(596),i(651),i(606),i(385),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h){return e(null,{constructor:function(e){this.browser=e.browser,this.config=dojo.clone(e.config||{}),this.locationChoices=[{label:"Search results...",description:" ",start:0,end:100,ref:"chr"}],this.title=e.title||"Choose location",this.prompt=e.prompt||"Search for features",this.goCallback=e.goCallback,this.showCallback=e.showCallback},show:function(){var e=this.dialog=new o({title:this.title,className:"locationChoiceDialog",style:{width:"70%"}}),t=i.create("div",{});if(this.prompt){i.create("div",{className:"prompt",innerHTML:this.prompt},t);var h=dojo.create("div",{style:{padding:"20px"}},t);dojo.create("img",{width:"16px",src:"img/search.png",style:{"padding-right":"5px"}},h),this.searchBox=new s({intermediateChanges:!0}).placeAt(h),dojo.create("label",{style:{marginLeft:"20px"},for:"exact_match",innerHTML:"Exact?"},h),this.exactCheckbox=dojo.create("input",{type:"checkbox",id:"exact_match"},h),n(this.searchBox,"change",dojo.hitch(this,"searchBoxProcess")),n(this.exactCheckbox,"change",dojo.hitch(this,"searchBoxProcess"))}var u=this.browser;this.locationListView=new c({browser:u,locations:this.locationChoices,buttons:[{className:"show",innerHTML:"Show",onClick:this.showCallback||function(e){u.showRegionAfterSearch(e)}},{className:"go",innerHTML:"Go",onClick:this.goCallback||function(t){e.hide(),u.showRegionAfterSearch(t)}}]},i.create("div",{className:"locationList",style:{maxHeight:.5*this.browser.container.offsetHeight+"px"}},t)),this.actionBar=dojo.create("div",{className:"infoDialogActionBar dijitDialogPaneActionBar"}),new a({iconClass:"dijitIconDelete",label:"Cancel",onClick:dojo.hitch(e,"hide")}).placeAt(this.actionBar),this.numResults=dojo.create("div",{id:"numResults",style:{margin:"10px"}},t),this.errResults=dojo.create("div",{id:"errResults",style:{margin:"10px",color:"red"}},t),e.set("content",[t,this.actionBar]);var d=this.locationListView.grid;(d.store||d.collection).setData([]),d.refresh(),e.show(),r.after(e,"hide",dojo.hitch(this,function(){l.curNode&&l.curNode.blur(),setTimeout(function(){e.destroyRecursive()},500)}))},searchBoxProcess:function(){var e=this,t=this.searchBox.get("value");function i(e){console.error(e);var t=this.locationListView.grid;(t.store||t.collection).setData([]),t.refresh(),this.errResults.innerHTML="Error: failed to load results",this.numResults.innerHTML=""}this.numResults.innerHTML="",this.exactCheckbox.checked||(t+="*"),this.browser.nameStore.query({name:t}).then(function(t){var n=t.map(function(t){return e.browser.nameStore.query({name:t.name})});Promise.all(n).then(function(t){for(var i=[],n=0;n<t.length;n++){var r=t[n];if(r.length)if((r=r[0]).multipleLocations)for(var o=0;o<r.multipleLocations.length;o++){var a=r.multipleLocations[o].tracks.length?r.multipleLocations[o].tracks[0]:{};i.push({locstring:h.assembleLocString(r.multipleLocations[o]),location:r.multipleLocations[o],label:r.name,description:a.key||a.label||"Unknown track",tracks:a})}else a=(r.location.tracks||[]).length?r.location.tracks[0]:{},i.push({locstring:h.assembleLocString(r.location),location:r.location,label:r.location.objectName,description:a.key||a.label||"Unknown track",tracks:a})}e.numResults.innerHTML="Num. results: "+i.length;var s=e.locationListView.grid;(s.store||s.collection).setData(i),s.refresh(),e.errResults.innerHTML=""},dojo.hitch(e,i))},dojo.hitch(this,i))}})}.apply(null,n))||(e.exports=r)},515:function(e,t,i){var n;void 0===(n=function(){return{plusStrand:function(e){var t=e.get("strand");return 1==t||"+"==t},minusStrand:function(e){var t=e.get("strand");return-1==t||"-"==t},all:function(e){return!0},none:function(e){return!1}}}.apply(null,[]))||(e.exports=n)},516:function(e,t,i){var n,r;n=[i(575),i(350)],void 0===(r=function(e,t){return e(t,{configSchema:{slots:[{name:"maxFeatureSizeForUnderlyingRefSeq",type:"integer",defaultValue:25e4},{name:"pinned",type:"boolean",defaultValue:!1},{name:"metadata",type:"object",defaultValue:{}},{name:"style.trackLabelCss",type:"string"},{name:"label",type:"string"},{name:"query",type:"object",defaultValue:{},shortDesc:"track-specific query variables to pass to the store"},{name:"store",type:"string|object",shortDesc:"the name of the store to use with this track"},{name:"type",type:"string",shortDesc:"the JavaScript type of this track"}]}})}.apply(null,n))||(e.exports=r)},517:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(784),i(334),i(351)],void 0===(r=function(e,t,i,n,r){var a=n.dojof,s=e(null,{_noDataValue:"(no data)",constructor:function(e){var t=["conf"];this._filterFacet=function(){var i=e.indexFacets||function(){return!0};if("string"==typeof i&&(i=[i]),dojo.isArray(i)){var n=i;i=function(e){return dojo.some(n,function(t){return e==t.toLowerCase()})}}var r=this.getIdentityAttributes();return function(e){return dojo.some(r,function(t){return t==e})||i(e)&&!dojo.some(t,function(t){return t==e})}}.call(this),dojo.isArray(e.onReady)?this.onReadyFuncs=dojo.clone(e.onReady):this.onReadyFuncs=e.onReady?[e.onReady]:[],this._indexItems({store:this,items:dojo.map(e.trackConfigs,dojo.hitch(this,"_trackConfigToItem"))});var i=0;if(e.metadataStores=dojo.filter(e.metadataStores,function(e){return e}),e.metadataStores&&e.metadataStores.length){var n=dojo.hitch(this,function(){++i==e.metadataStores.length&&this._finishLoad()});dojo.forEach(e.metadataStores,function(e){e.fetch({scope:this,onComplete:dojo.hitch(this,function(t){this._indexItems({store:e,items:t,supplementalOnly:!0}),n()}),onError:function(e){console.error(e,e.stack),n()}})},this)}else this._finishLoad();e.browser.subscribe("/jbrowse/v1/c/tracks/new",dojo.hitch(this,"addTracks")),e.browser.subscribe("/jbrowse/v1/c/tracks/replace",dojo.hitch(this,function(e){this.deleteTracks(e,"no events"),this.addTracks(e,"no events")})),e.browser.subscribe("/jbrowse/v1/c/tracks/delete",dojo.hitch(this,"deleteTracks"))},_trackConfigToItem:function(e){var t=dojo.clone(e.metadata||{});return t.label=e.label,t.key=e.key,t.conf=e,t["track type"]=e.type,e.category&&(t.category=e.category),t},comparatorMap:{category:function(e,t){for(var i,n,r,o=(e||"Uncategorized").split(/\s*\/\s*/),a=(t||"Uncategorized").split(/\s*\/\s*/);(i=o.shift())&&(n=a.shift());)if(r=i.localeCompare(n))return r;return 0}},addTracks:function(e,i){e.length&&(delete this.previousQueryFingerprint,delete this.previousResults),t.forEach(e,function(e){this._indexItems({store:this,items:[this._trackConfigToItem(e)]});var t=e.label,n=this.fetchItemByIdentity(t);n?i||this.onNew(n):console.error("failed to add "+t+" track to track metadata store",e)},this)},deleteTracks:function(e,i){e.length&&(delete this.previousQueryFingerprint,delete this.previousResults),t.forEach(e,function(e){var t=e.label,n=this.fetchItemByIdentity(t);n&&(n.DELETED=!0,i||this.onDelete(n))},this)},_finishLoad:function(){this.facets.sort(),dojo.forEach(a.values(this.facetIndexes.byName),function(e){e.avgBucketSize=e.itemCount/e.bucketCount}),this.facetIndexes.facetRank=dojo.clone(this.facets).sort(dojo.hitch(this,function(e,t){return this.facetIndexes.byName[e].avgBucketSize-this.facetIndexes.byName[t].avgBucketSize}));var e=dojo.hitch(this,"_itemSortFunc");dojo.forEach(a.values(this.facetIndexes.byName),function(i){dojo.forEach(a.values(i.byValue),function(i){var n=[],r={};t.forEach(i.items,function(e){var t=this.getIdentity(e);r[t]||(r[t]=!0,n.push(e))},this),i.items=n.sort(e)},this)},this),this.ready=!0,this._onReady()},_itemSortFunc:function(e,t){var i=this.getIdentity(e),n=this.getIdentity(t);return i==n?0:i>n?1:i<n?-1:0},_indexItems:function(e){var i=e.store,n=e.items,r={};n=dojo.map(n,function(e){var t=i.getAttributes(e),n={};return dojo.forEach(t,function(t){if(t){var o=t.toLowerCase();r[o]=!0,n[o]=i.getValue(e,t)}}),n},this),this.identIndex=this.identIndex||{},n=function(){var t={};return dojo.map(n,function(i){var n=this.getIdentity(i),r=this.identIndex[n];return r&&r.DELETED&&delete r.DELETED,t[n]||e.supplementalOnly&&!r?null:(t[n]=!0,this.identIndex[n]=dojo.mixin(r||{},i))},this)}.call(this),n=dojo.filter(n,function(e){return e}),a.keys(r);var o=this._addFacets(a.keys(r)),s=t.filter(this.facets,function(e){return e in r});if(this.facetIndexes=this.facetIndexes||{itemCount:0,bucketCount:0,byName:{}},dojo.forEach(o,function(e){this.facetIndexes.byName[e]||(this.facetIndexes.bucketCount++,this.facetIndexes.byName[e]={itemCount:0,bucketCount:0,byValue:{}})},this),s.length){var l={};dojo.forEach(s,function(e){l[e]={}}),dojo.forEach(n,function(e){this.facetIndexes.itemCount++,dojo.forEach(s,function(t){var i=this.getValue(e,t,void 0);void 0!==i&&(l[t][this.getIdentity(e)]=1,this._indexItem(t,i,e))},this)},this),dojo.forEach(s,function(e){dojo.forEach(a.values(this.identIndex),function(t){l[e][this.getIdentity(t)]||this._indexItem(e,this._noDataValue,t)},this)},this)}},_indexItem:function(e,t,i){var n=this.facetIndexes.byName[e],r=n.byValue[t];r||(r=n.byValue[t]={itemCount:0,items:[]},n.bucketCount++),r.itemCount++,n.itemCount++,r.items.push(i)},_addFacets:function(e){var t=this.facets||[],i={};return this.facets=dojo.filter(t.concat(e),function(e){var t=this._filterFacet(e)&&!i[e];return i[e]=!0,t},this),this.facets.slice(t.length)},getCount:function(){return this._fetchCount},getFacetCounts:function(e){var t=this._fetchFacetCounts[e]||this._fetchFacetCounts.__other__;return t?t[e]:void 0},getFacetNames:function(e){return this.facets},getFacetValues:function(e){var t=this.facetIndexes.byName[e];return t?a.keys(t.byValue):[]},getFacetStats:function(e){var t=this.facetIndexes.byName[e];if(!t)return{};var i={};return dojo.forEach(["itemCount","bucketCount","avgBucketSize"],function(e){i[e]=t[e]}),i},getValue:function(e,t,i){var n=e[t];return void 0===n?i:n},getValues:function(e,t){var i=[e[t]];return void 0===i[0]?[]:i},getAttributes:function(e){return a.keys(e)},hasAttribute:function(e,t){return e.hasOwnProperty(t)},containsValue:function(e,t,i){return e[t]==i},isItem:function(e){return"object"==(void 0===e?"undefined":o(e))&&"string"==typeof e.label},isItemLoaded:function(){return this.ready},loadItem:function(e){},getItem:function(e){return this.ready?this.identIndex[e]:null},_fetchItems:function(e,t,i){if(this.ready){var n,o=dojo.clone(e.query||{});dojo.forEach(a.keys(o),function(e){dojo.isArray(o[e])||(o[e]=[o[e]])},this);var s=r.objectFingerprint(o);s==this.previousQueryFingerprint?n=this.previousResults:(this.previousQueryFingerprint=s,this.previousResults=n=this._doQuery(o)),t(n,e),this.onFetchSuccess()}else this.onReady(dojo.hitch(this,"_fetchItems",e,t,i))},_doQuery:function(e){var i=this._compileTextFilter(e.text);delete e.text;var n=[],r=[];i&&(r.push(this._filterDeleted(t.filter(a.values(this.identIndex),i)).sort(dojo.hitch(this,"_itemSortFunc"))),r[0].facetName="Contains text"),r.push.apply(r,dojo.map(a.keys(e),function(t){var i=e[t],n=[];if(!this.facetIndexes.byName[t])throw console.error("No facet defined with name '"+t+"'."),"No facet defined with name '"+t+"', faceted search failed.";return dojo.forEach(i,function(e){var i=this.facetIndexes.byName[t].byValue[e]||{};n.push.apply(n,this._filterDeleted(i.items||[]))},this),n.facetName=t,n.sort(dojo.hitch(this,"_itemSortFunc")),n},this)),dojo.forEach(r,function(e){e.myOffset=0,e.topItem=function(){return this[this.myOffset]},e.shift=function(){this.myOffset++}});var o={};if(r.length){var s=0;for(dojo.forEach(r,function(e){s+=e.length});s;){var l,c,h,u={},d=[];if(dojo.forEach(r,function(e,t){c=e.topItem(),l=c?this.getIdentity(c):"(at end of set)",u[l]?u[l].push(e):(u[l]=[e],d.push(l))},this),1==d.length)n.push(c);else if(d.sort(),"(at end of set)"==d[0]?(l=d[1],h=0):(l=d[0],h=1),l="(at end of set)"==d[0]?d[1]:d[0],2==d.length&&u[l].length==r.length-1){var f=u[d[h]][0];this._countItem(o,u[l][0].topItem(),f.facetName)}dojo.forEach(u[l],function(e){e.shift(),s--})}}else n=this._filterDeleted(a.values(this.identIndex));return dojo.forEach(a.keys(o).concat(["__other__"]),function(e){dojo.forEach(n,function(t){this._countItem(o,t,e)},this)},this),1==r.length&&dojo.forEach(a.values(this.identIndex),function(e){this._countItem(o,e,r[0].facetName)},this),this._fetchFacetCounts=o,this._fetchCount=n.length,n},_countItem:function(e,t,i){var n=e[i];n||(n=e[i]={});var r="__other__"==i?this.facets:[i];dojo.forEach(r,function(e){var i=this.getValue(t,e,this._noDataValue),r=n[e];r||((r=n[e]={})[i]=0),r[i]=(r[i]||0)+1},this)},onReady:function(e,t){e=e||dojo.global,t=dojo.hitch(e,t),this.ready?t():this.onReadyFuncs.push(t)},_onReady:function(){dojo.forEach(this.onReadyFuncs||[],function(e){e.call()})},onFetchSuccess:function(){},onNew:function(e){},onDelete:function(e){},onSet:function(e,t,i,n){},_filterDeleted:function(e){return t.filter(e,function(e){return!e.DELETED})},_compileTextFilter:function(e){if(void 0===e)return null;for(var i,n=/\s*["']([^"']+)["']\s*/g,r=/(\S+)/g,o=function(){var t=n.exec(e)||r.exec(e);if(t){t=t[1];var i=Math.max(n.lastIndex,r.lastIndex);r.lastIndex=n.lastIndex=i}return t},a=[];i=o();)i=dojo.regexp.escapeString(i,"*?").replace(/\*/g,".+").replace(/ /g,"\\s+").replace(/\?/g,"."),a.push(new RegExp(i,"i"));return dojo.hitch(this,function(e){return dojo.some(this.facets,function(i){var n=this.getValue(e,i);return t.every(a,function(e){return e.test(n)})},this)})},getFeatures:function(){return{"dojo.data.api.Read":!0,"dojo.data.api.Identity":!0,"dojo.data.api.Notification":!0}},close:function(){},getLabel:function(e){return this.getValue(e,"key",void 0)},getLabelAttributes:function(e){return["key"]},getIdentityAttributes:function(){return["label"]},getIdentity:function(e){return this.getValue(e,"label",void 0)},fetchItemByIdentity:function(e){return this.identIndex[e]}});return dojo.extend(s,i),s}.apply(null,n))||(e.exports=r)},518:function(e,t,i){var n,r;n=[i(575),i(476),i(334)],void 0===(r=function(e,t,i){return e(t,{_imageSource:function(e,t){return i.resolveUrl(this.url,"../../"+e.urlPrefix+t+".png")}})}.apply(null,n))||(e.exports=r)},519:function(e,t,i){var n,r;n=[i(387)],void 0===(r=function(e){return e}.apply(null,n))||(e.exports=r)},520:function(e,t,i){var n,r;n=[i(477)],void 0===(r=function(e){return e}.apply(null,n))||(e.exports=r)},521:function(e,t,i){var n,r;n=[i(370)],void 0===(r=function(e){return e}.apply(null,n))||(e.exports=r)},522:function(e,t,i){var n,r,o=i(1543).TribbleIndexedFile,a=i(1068);n=[i(575),i(342),i(576),i(336),i(340),i(339),i(349),i(337),i(347),i(399)],void 0===(r=function(e,t,i,n,r,s,l,c,h,u){return e([n,r,s,l],{constructor:function(e){var t=this,n=this,r=e.idx||new h(new c(this.resolveUrl(this.getConf("idxUrlTemplate",[])||this.getConf("urlTemplate",[])+".idx"))),a=e.file||new h(new c(this.resolveUrl(this.getConf("urlTemplate",[])),{expectRanges:!0}));this.indexedData=new o({filehandle:a,tribbleFilehandle:r,oneBasedClosed:!0,chunkSizeLimit:e.chunkSizeLimit||2e6,renameRefSeqs:function(e){return t.browser.regularizeReferenceName(e)}}),this.getParser().then(function(e){n._deferred.features.resolve({success:!0}),n._estimateGlobalStats().then(function(e){n.globalStats=e,n._deferred.stats.resolve(e)},i.hitch(n,"_failAllDeferred"))},i.hitch(n,"_failAllDeferred"))},getParser:function(){return this._parser||(this._parser=this.indexedData.getHeader().then(function(e){return new a({header:e})})),this._parser},_getFeatures:function(e,i,n,r){var o=this,a=this;a.getParser().then(function(s){var l=o.browser.regularizeReferenceName(e.ref);a.indexedData.getLines(l,e.start,e.end,function(e){var t=s.parseLine(e),n=new u({variant:t,parser:s,id:t.ID.length?t.ID[0]:"chr"+t.CHROM+"_pos"+t.POS+"_ref"+t.REF+"_alt"+t.ALT});i(n)}).then(n,function(e){r?(e.message&&e.message.indexOf("Too much data")>=0&&(e=new t.DataOverflow(e.message)),r(e)):console.error(e)})}).catch(r)},hasRefSeq:function(e,t,i){return this.indexedData.index.hasRefSeq(e,t,i)},saveStore:function(){return{urlTemplate:this.config.file.url,idxUrlTemplate:this.config.idx.url}}})}.apply(null,n))||(e.exports=r)},523:function(e,t,i){var n,r,o=i(881).TabixIndexedFile,a=i(1068);n=[i(575),i(342),i(576),i(336),i(340),i(339),i(364),i(337),i(347),i(399)],void 0===(r=function(e,t,i,n,r,s,l,c,h,u){return e([n,r,s,l],{constructor:function(e){var t,n,r=this,a=this;e.csi||this.config.csiUrlTemplate?t=new h(e.csi||new c(this.resolveUrl(this.getConf("csiUrlTemplate",[])))):n=new h(e.tbi||new c(this.resolveUrl(this.getConf("tbiUrlTemplate",[])||this.getConf("urlTemplate",[])+".tbi")));var s=new h(e.file||new c(this.resolveUrl(this.getConf("urlTemplate",[])),{expectRanges:!0}));this.fileBlob=s,this.indexedData=new o({tbiFilehandle:n,csiFilehandle:t,filehandle:s,chunkSizeLimit:e.chunkSizeLimit||1e6,renameRefSeqs:function(e){return r.browser.regularizeReferenceName(e)}}),this.getParser().then(function(e){a._deferred.features.resolve({success:!0}),a._estimateGlobalStats().then(function(e){a.globalStats=e,a._deferred.stats.resolve(e)},i.hitch(a,"_failAllDeferred"))},i.hitch(a,"_failAllDeferred"))},getParser:function(){return this._parser||(this._parser=this.indexedData.getHeader().then(function(e){return new a({header:e})})),this._parser},_getFeatures:function(e,i,n,r){var o=this,a=this;a.getParser().then(function(s){var l=o.browser.regularizeReferenceName(e.ref);a.indexedData.getLines(l,e.start,e.end,function(e){var t=s.parseLine(e),n=new u({variant:t,parser:s,id:t.ID?t.ID[0]:"chr"+t.CHROM+"_pos"+t.POS+"_ref"+t.REF+"_alt"+t.ALT});i(n)}).then(n,function(e){r?(e.message&&e.message.indexOf("Too much data")>=0&&(e=new t.DataOverflow(e.message)),r(e)):console.error(e)})}).catch(r)},hasRefSeq:function(e,t,i){return this.indexedData.index.hasRefSeq(e,t,i)},saveStore:function(){return{urlTemplate:this.config.file.url,tbiUrlTemplate:(this.config.tbi||{}).url,csiUrlTemplate:(this.config.csi||{}).url}}})}.apply(null,n))||(e.exports=r)},524:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(725),i(336),i(340),i(349),i(334),i(338),i(574)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c){return e([r,o,a],{constructor:function(e){this.url=this.urlTemplate,this.refSeq=e.refSeq,this.baseUrl=e.baseUrl,this.density=0,this.url=s.resolveUrl(this.baseUrl,s.fillTemplate(e.urlTemplate,{refseq:this.refSeq.name})),this.queryTemplate=e.queryTemplate,this.queryTemplate||console.error("No queryTemplate set for SPARQL backend, no data will be displayed");var i=this;this._estimateGlobalStats().then(function(e){i.globalStats=e,i._deferred.stats.resolve(e)},t.hitch(this,"_failAllDeferred"))},_makeQuery:function(e){return this.config.variables&&(e=dojo.mixin(dojo.mixin({},this.config.variables),e)),s.fillTemplate(this.queryTemplate,e)},_getFeatures:function(){this.getFeatures.apply(this,arguments)},getFeatures:function(e,i,r,o){if(this.queryTemplate){var a=this,s={Accept:"application/json"};this.config.disablePreflight&&(s["X-Requested-With"]=null),n.get(this.url+"?"+c.objectToQuery({query:this._makeQuery(e)}),{headers:s,handleAs:"json",failOk:!0}).then(function(e){a._resultsToFeatures(e,i),r()},t.hitch(this,"_failAllDeferred"))}else r()},_resultsToFeatures:function(e,t){var n=((e||{}).results||{}).bindings||[];if(n.length){for(var r=e.head.vars,o=["start","end","strand","uniqueID"],a=0;a<o.length;a++)if(-1==r.indexOf(o[a]))return void console.error("Required field "+o[a]+" missing from feature data");var s={};for(var c in i.forEach(n,function(e){var t={data:{subfeatures:[]}},n=t.data;i.forEach(r,function(t){t in e&&(n[t]=e[t].value)}),n.start=parseInt(n.start),n.end=parseInt(n.end),n.strand=parseInt(n.strand);var o=n.uniqueID;delete n.uniqueID,t.id=o,s[o]=t},this),s){var h=s[c],u=h.data.parentUniqueID;if(delete h.data.parentUniqueID,u){var d=s[u];d&&(d.data.subfeatures.push(h.data),delete s[c])}}for(var c in s)t(new l(s[c]))}}})}.apply(null,n))||(e.exports=r)},525:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(574),i(677),i(587),i(352),i(336),i(339),i(340),i(334),i(338)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u){return e(s,{constructor:function(e){this.region_cache_hits=0,this.baseUrl=e.baseUrl||this.config.baseUrl,"/"!=this.baseUrl.charAt(this.baseUrl.length-1)&&(this.baseUrl=this.baseUrl+"/"),this.config.region_feature_densities&&!this.getRegionFeatureDensities&&(this.getRegionFeatureDensities=this._getRegionFeatureDensities)},_defaultConfig:function(){return{noCache:!1}},getGlobalStats:function(e,t){var i=this._makeURL("stats/global");this._get({url:i,type:"globalStats"},e,t)},getRegionStats:function(e,t,i){if(this.config.region_stats){e=this._assembleQuery(e);var n=this._makeURL("stats/region",e);this._get({url:n,query:e,type:"regionStats"},t,i)}else this._getRegionStats.apply(this,arguments)},getFeatures:function(e,t,i,n){e=this._assembleQuery(e);var r,o=this._makeURL("features",e);this.config.feature_range_cache&&!this.config.noCache&&(r=this._getCachedFeatureRegions(e))?(this.region_cache_hits++,this._makeFeaturesFromCachedRegions(r,e,t,i,n)):this._get({url:o,query:e,type:"features"},dojo.hitch(this,"_makeFeatures",t,i,n),n)},_getCachedFeatureRegions:function(e){var t=this._getCache(),i=[];return t.some(function(n){var r=n.value.request,o=n.value.response;return!("features"!=r.type||!o||!function(e,t){for(var i in h.dojof.keys(e).concat(h.dojof.keys(t)),e)if("start"!=i&&"end"!=i&&e[i]!=t[i])return!1;for(var i in t)if("start"!=i&&"end"!=i&&e[i]!=t[i])return!1;return!0}(r.query,e)||r.query.end<e.start||r.query.start>e.end||(i.push({features:o.features,start:r.query.start,end:r.query.end,cacheRecord:n}),!function(e,i,n){e.sort(function(e,t){return e.start-t.start});var r,o,a,s=e[0].start;for(o=0;!a&&o<e.length;o++)(void 0===r||e[o].start<=r&&e[o].end>r)&&(r=e[o].end,a=s<=i&&r>=n);if(a){for(o--;o>=0;o--)t.touchRecord(e[o].cacheRecord);return!0}return!1}(i,e.start,e.end)))},this)?i:null},_makeFeaturesFromCachedRegions:function(e,t,n,r,o){var a={},s=[];i.forEach(e,function(e){e&&e.features&&i.forEach(e.features,function(e){a[e.uniqueID]||(a[e.uniqueID]=!0,e.start>t.end||e.end<t.start||s.push(e))})}),this._makeFeatures(n,r,o,{features:s})},_getRegionFeatureDensities:function(e,t,i){var n=this._makeURL("stats/regionFeatureDensities",this._assembleQuery(e));this._get({url:n},t,i)},getVCFHeader:function(e,t,i){return new o(function(){})},clearCache:function(){delete this._cache},_get:function(e,t,i){var n=this;this.config.noCache?r(e.url,{method:"GET",handleAs:"json"}).then(t,this._errorHandler(i)):this._getCache().get(e,function(e,r){r?n._errorHandler(i)(r):t(e.response)})},_getCache:function(){var e=this;return this._cache||(this._cache=new a({name:"REST data cache "+this.name,maxSize:25e3,sizeFunction:function(e){return e.length||1},fillCallback:function(i,n){var o=r(i.url,{method:"GET",handleAs:"json"},!0);o.then(function(e){var t=/no-cache/.test(o.response.getHeader("Cache-Control"))||/no-cache/.test(o.response.getHeader("Pragma"));n({response:e,request:i},null,{nocache:t})},e._errorHandler(t.partial(n,null)))}}))},_errorHandler:function(e){return e=e||function(e){throw console.error(e,e.stack),e},dojo.hitch(this,function(t){var i=((t||{}).response||{}).status;e(i>=400?"HTTP "+i+" fetching "+t.response.url+" : "+t.response.text:t)})},_assembleQuery:function(e){return t.mixin({ref:(this.refSeq||{}).name},this.config.query||{},e||{})},_makeURL:function(e,i){var r=this.baseUrl+e;return i&&(i.ref&&(r+="/"+i.ref,delete(i=t.mixin({},i)).ref),(i=n.objectToQuery(i))&&(r+="?"+i)),r},_makeFeatures:function(e,t,i,n){var r=void 0;if(n&&(r=n.features))for(var o=0;o<r.length;o++){var a=this._makeFeature(r[o]);this.applyFeatureTransforms([a]).forEach(e)}t()},supportsFeatureTransforms:!0,_parseInt:function(e){if(i.forEach(["start","end","strand"],function(t){t in e&&(e[t]=parseInt(e[t]))}),"score"in e&&(e.score=parseFloat(e.score)),"subfeatures"in e)for(var t=0;t<e.subfeatures.length;t++)this._parseInt(e.subfeatures[t])},_makeFeature:function(e,t){return this._parseInt(e),new u({data:e,parent:t})}})}.apply(null,n))||(e.exports=r)},526:function(e,t,i){var n,r;n=[i(575),i(577),i(378)],void 0===(r=function(e,t,i){var n=e(e(null,{get:function(e){return this[{start:"start",end:"end",seq_id:"segment"}[e]||e]},tags:function(){return["start","end","seq_id","score","type","source"]}}),{});return e([i],{applyOp:function(e,t,i){var n;switch(i){case"+":n=e+t;break;case"-":n=e-t;break;case"*":n=e*t;break;case"/":n=0==t?void 0:e/t;break;default:return void console.error("invalid operation "+i)}return n},createFeatures:function(e){var t=[];for(var i in e){var r=new n;r.start=e[i].start,r.end=e[i].end,r.score=e[i].score,e[i].segment&&(r.segment=e[i].segment),e[i].type&&(r.type=e[i].type),r.source=this.name,t.push(r)}return t},opSpan:function(e,i,n,r){var o=[],a=0,s=0;if(!i.length&&!n.length)return o;for(var l,c,h=i[a]?n[s]?Math.min(i[a].start,n[s].start):i[a].start:n[s].start;a<i.length&&s<n.length;){h==i[a].start&&(l=!0),h==n[s].start&&(c=!0);var u,d=l||c;d&&(u={start:h,score:this.applyOp(l?i[a].score:0,c?n[s].score:0,e)},l==c&&i[a].segment!=n[s].segment||(u.segment=l?i[a].segment:n[s].segment),l==c&&i[a].type!=n[s].type||(u.type=l?i[a].type:n[s].type)),void 0===u.score&&(d=!1);var f=[i[a].start,i[a].end,n[s].start,n[s].end];if(f=t.filter(f,function(e){return e>h}).sort(function(e,t){return e-t}),!(h=f[0]))break;h==i[a].end&&(l=!1,a++),h==n[s].end&&(c=!1,s++),d&&(u.end=h,o.push(u))}for(;a<i.length;a++)o.push({start:Math.max(h,i[a].start),end:i[a].end,score:this.applyOp(i[a].score,0,e),segment:i[a].segment,type:i[a].type});for(;s<n.length;s++)o.push({start:Math.max(h,n[s].start),end:n[s].end,score:this.applyOp(0,n[s].score,e),segment:n[s].segment,type:n[s].type});return o},toSpan:function(e,t){var i=[];for(var n in e){var r={start:e[n].get("start"),end:e[n].get("end"),score:e[n].get("score"),segment:e[n].get("segment"),type:e[n].get("type")};i.push(r)}return i}})}.apply(null,n))||(e.exports=r)},527:function(e,t,i){var n,r;n=[i(575),i(587),i(478),i(481),i(400)],void 0===(r=function(e,t,i,n,r){return e(i,{constructor:function(e){this.fields={},this.track=new t,e.track&&this.track.resolve(e.track)},setTrack:function(e){this.track.isFulfilled()||this.track.resolve(e)},_del:function(e,t){var i=e[t];return delete e[t],i},_handleTrackInfo:function(e,t,i){if(t){dojo.forEach(t.histogramMeta,function(e){e.arrayParams.urlTemplate=e.arrayParams.urlTemplate.replace(/\{chunk\}/,"{Chunk}")}),t.histograms={meta:this._del(t,"histogramMeta"),stats:this._del(t,"histStats")},dojo.forEach(t.histograms.stats,function(e){e.basesPerBin=this._del(e,"bases")},this);var n={urlTemplate:"linkTemplate"};for(this.track.then(function(e){dojo.forEach(["className","arrowheadClass","subfeatureClasses","urlTemplate","clientConfig"],function(i){e.config.style||(e.config.style={});var r=n[i]||i;i in t&&(e.config.style[r]=t[i])},this),e.config.style.clientConfig&&(e.config.style=dojo.mixin(e.config.style,e.config.style.clientConfig),delete e.config.style.clientConfig)}),e.fields={},e.fieldOrder=[],a=0;a<t.headers.length;a++)e.fieldOrder.push(t.headers[a]),e.fields[t.headers[a]]=a;if(e.subFields={},e.subFieldOrder=[],t.subfeatureHeaders)for(a=0;a<t.subfeatureHeaders.length;a++)e.subFieldOrder.push(t.subfeatureHeaders[a]),e.subFields[t.subfeatureHeaders[a]]=a;e.stats={featureCount:t.featureCount,featureDensity:t.featureCount/this.refSeq.length},this.loadNCList(e,t,i);var o=t.histograms;if(o&&o.meta){for(var a=0;a<o.meta.length;a++)o.meta[a].lazyArray=new r(o.meta[a].arrayParams,i);e._histograms=o}this._deferred.root.resolve(e)}},makeNCList:function(){return new n},loadNCList:function(e,t,i){e.nclist.importExisting(t.featureNCList,t.sublistIndex,t.lazyIndex,i,t.lazyfeatureUrlTemplate)},_getFeatures:function(e,t,i,n,r){var o=this,a=t.start,s=t.end,l=e.fields,c=e.fieldOrder,h=(e.subFields,e.subfieldOrder,function(e){var t=l[e];return t>=0?this[t]:void 0}),u=function(){return c};return e.nclist.iterate.call(e.nclist,a,s,function(e,t){return o._decorate_feature({get:h,tags:u},e,t.join(",")),i(e,t)},n)}})}.apply(null,n))||(e.exports=r)},528:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(619),i(634),i(336),i(338),i(361),i(334)],void 0===(r=function(e,t,i,n,r,o,a,s,l){return e([o],{constructor:function(e){this.isCombinationStore=!0,this.inverse=e.inverse||!1,this.stores={},e.mask&&e.display&&this.reload(e.mask,e.display)},reload:function(e,t,n){if(this.gotAllStores=new i,e)this.opTree=e,this.inverse="N"==e.get(),this.stores.mask=e.leftChild&&!t?e.leftChild.get():t,this.stores.display=e.rightChild&&!n?e.rightChild.get():n,this.gotAllStores.resolve(!0);else{this.opTree=new s({Value:this.inverse?"N":"M"}),this.stores.mask=t,this.stores.display=n;var o=this,a=function(e){var t=new i;return"string"==typeof e?o.browser.getStore(e,function(i){i?t.resolve(i,!0):t.reject("store "+e+" not found")}):t.resolve(e,!0),t.promise},l=a(this.stores.mask).then(function(e){o.stores.mask=e}),c=a(this.stores.display).then(function(e){o.stores.display=e});this.gotAllStores=r([l,c]),this.gotAllStores.then(function(){o.opTree.leftChild=o.stores.mask.isCombinationStore?o.stores.mask.opTree:new s({Value:o.stores.mask}),o.opTree.rightChild=o.stores.display.isCombinationStore?o.stores.display.opTree:new s({Value:o.stores.display})})}},getGlobalStats:function(e,t){this.stores.display.getGlobalStats(e,t)},getRegionStats:function(e,t,i){this.stores.display.getRegionStats(e,t,i)},getFeatures:function(e,t,o,a){var s=this;this.gotAllStores.then(function(){var l={},c=function(t){var n=new i;return l[t]=[],s.stores[t].getFeatures(e,function(e){l[t].push(e)},function(){n.resolve(!0)},function(){n.reject("failed to load features for "+t+" store")}),n.promise};n(r([c("mask"),c("display")]),function(){var i=s.toSpans(l.mask,e);i=s.inverse?s.notSpan(i,e):i;var n=l.display;s.maskFeatures(n,i,t,o)},a)},a)},inSpan:function(e,t){return e&&t||console.error("invalid arguments to inSpan function"),e.get?!(e.get("start")>=t.end||e.get("end")<=t.start):!(e.start>=t.end||e.end<=t.start)},maskFeatures:function(e,t,i,n){for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];for(var a in delete o.masks,t)t.hasOwnProperty(a)&&this.inSpan(o,t[a])&&(o.masks=o.masks?o.masks.concat([t[a]]):[t[a]]);i(e[r])}n({maskingSpans:t})},notSpan:function(e,t){var i=[];i[0]={start:t.start};var n=0;for(var r in e)e.hasOwnProperty(r)&&(r=e[r],i[n].end=r.start,i[++n]={start:r.end});return i[n].end=t.end,i[n].end<=i[n].start&&i.splice(n,1),i[0].end<=i[0].start&&i.splice(0,1),i},toSpans:function(e,t){var i=[];for(var n in e)e.hasOwnProperty(n)&&i.push({start:e[n].get("start"),end:e[n].get("end")});if(!i.length)return[];i.sort(function(e,t){return e.start-t.start});for(var r=[],o=0;o<i.length;){for(var a=i[o].start,s=i[o].end;o<i.length&&i[o].start<=s;)s=Math.max(s,i[o].end),o++;r.push({start:a,end:s})}return r}})}.apply(null,n))||(e.exports=r)},529:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(587),i(334),i(338),i(336),i(339),i(340),i(349),i(337),i(482)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u){return e([a,s,l,c],{constructor:function(e){this.data=e.blob||new h(this.resolveUrl(e.urlTemplate)),this.features=[],this._loadFeatures()},_loadFeatures:function(){var e=this,n=this.bareFeatures=[],r=!0,o=this.refSeqs={},a=new u({featureCallback:function(t){i.forEach(t,function(t){var i=n[n.length-1],a=e.browser.regularizeReferenceName(t.seq_id);a in o&&i&&i.seq_id!=t.seq_id&&(r=!1),i&&i.seq_id==t.seq_id&&t.start<i.start&&(r=!1),a in o||(o[a]=n.length),n.push(t)})},endCallback:function(){r||(n.sort(e._compareFeatureData),e._rebuildRefSeqs(n)),e._estimateGlobalStats().then(function(t){e.globalStats=t,e._deferred.stats.resolve()}),e._deferred.features.resolve(n)}}),s=t.hitch(this,"_failAllDeferred");this.data.fetchLines(function(e){try{a.addLine(e)}catch(e){throw s("Error parsing GTF."),e}},t.hitch(a,"finish"),s)},_rebuildRefSeqs:function(e){for(var t={},i=0;i<e.length;i++){var n=this.browser.regularizeReferenceName(e[i].seq_id);n in t||(t[n]=i)}this.refSeqs=t},_compareFeatureData:function(e,t){return e.seq_id<t.seq_id?-1:e.seq_id>t.seq_id?1:e.start-t.start},_getFeatures:function(e,t,i,n){var r=this;r._deferred.features.then(function(){r._search(e,t,i,n)})},_search:function(e,t,i,n){var r=this.bareFeatures,o=this.features,a=this.browser.regularizeReferenceName(e.ref),s=this.refSeqs[a];if(s>=0){for(var l=("start"in e?function(t){return t.get("end")>=e.start}:function(){return!0});s<r.length;s++){var c=o[s]||(o[s]=function(e,t){return r[t]=!1,this._formatFeature(e)}.call(this,r[s],s));if(c._reg_seq_id!=a||c.get("start")>e.end)break;l(c)&&this.applyFeatureTransforms([c]).forEach(t)}i()}else i()},supportsFeatureTransforms:!0,_formatFeature:function(e){var t=new o({data:this._featureData(e),id:(e.attributes.ID||[])[0]});return t._reg_seq_id=this.browser.regularizeReferenceName(e.seq_id),t},_featureData:function(e){var n=t.mixin({},e);for(var o in delete n.child_features,delete n.derived_features,delete n.attributes,n.start-=1,e.attributes)n[o.toLowerCase()]=e.attributes[o].join(",");var a=i.map(r.flattenOneLevel(e.child_features),this._featureData,this);return a.length&&(n.subfeatures=a),n},hasRefSeq:function(e,t,i){var n=this;this._deferred.features.then(function(){t(n.browser.regularizeReferenceName(e)in n.refSeqs)})},saveStore:function(){return{urlTemplate:this.config.blob.url}}})}.apply(null,n))||(e.exports=r)},530:function(e,t,i){var n,r,o=i(874).default,a=i(881).TabixIndexedFile;n=[i(575),i(334),i(342),i(338),i(336),i(340),i(339),i(364),i(365),i(347),i(337)],void 0===(r=function(e,t,i,n,r,s,l,c,h,u,d){return e([r,s,l,c,h],{supportsFeatureTransforms:!0,constructor:function(e){var t,i,n=this;this.dontRedispatch=(e.dontRedispatch||"chromosome,region").split(/\s*,\s*/),e.csi||this.config.csiUrlTemplate?t=e.csi||new d(this.resolveUrl(this.getConf("csiUrlTemplate",[]))):i=e.tbi||new d(this.resolveUrl(this.getConf("tbiUrlTemplate",[])||this.getConf("urlTemplate",[])+".tbi"));var r=e.file||new d(this.resolveUrl(this.getConf("urlTemplate",[])),{expectRanges:!0});this.indexedData=new a({filehandle:new u(r),tbiFilehandle:i&&new u(i),csiFilehandle:t&&new u(t),chunkSizeLimit:e.chunkSizeLimit||1e6,renameRefSeqs:function(e){return n.browser.regularizeReferenceName(e)}}),this.indexedData.lineCount("nonexistent").then(function(){n._deferred.features.resolve({success:!0}),n._estimateGlobalStats().then(function(e){n.globalStats=e,n._deferred.stats.resolve(e)},function(e){return n._failAllDeferred(e)})},function(e){return n._failAllDeferred(e)})},_parseLine:function(e,t,i){var n=t.split("\t");return{start:parseInt(n[e.start-1]),end:parseInt(n[e.end-1]),lineHash:i,fields:n}},_getFeatures:function(e,t,n,r){var a=this,s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];this.indexedData.getMetadata().then(function(l){var c=a.browser.regularizeReferenceName(e.ref),h=[];a.indexedData.getLines(c||a.refSeq.name,e.start,e.end,function(e,t){h.push(a._parseLine(l.columnNumbers,e,t))}).then(function(){if(s&&h.length){var i=1/0,l=-1/0;if(h.forEach(function(e){var t=e.fields[2];if(!a.dontRedispatch.includes(t)&&a._isTopLevelFeatureType(t)){var n=e.start-1;n<i&&(i=n),e.end>l&&(l=e.end)}}),l>e.end||i<e.start){var c=Object.assign({},e,{start:i,end:l});return void a._getFeatures(c,function(i){i.get("start")<e.end&&i.get("end")>e.start&&t(i)},n,r,!1)}}var u=h.map(function(e){return e.fields[8]&&"."!==e.fields[8]?e.fields[8].includes("_lineHash")||(e.fields[8]+=";_lineHash="+e.lineHash):e.fields[8]="_lineHash="+e.lineHash,e.fields.join("\t")}).join("\n");o.parseStringSync(u,{parseFeatures:!0,parseComments:!1,parseDirectives:!1,parseSequences:!1}).forEach(function(e){return a.applyFeatureTransforms(a._formatFeatures(e)).forEach(t)}),n()},function(e){r?(e.message&&e.message.indexOf("Too much data")>=0&&(e=new i.DataOverflow(e.message)),r(e)):console.error(e)}).catch(r)},r)},_featureData:function(e){var i=this,n=Object.assign({},e);delete n.child_features,delete n.data,delete n.derived_features,n.start-=1,n.strand={"+":1,"-":-1,".":0,"?":void 0}[n.strand];var r=["start","end","seq_id","score","type","source","phase","strand"];for(var o in e.attributes){var a=o.toLowerCase();r.includes(a)&&(a+="2"),n[a]=e.attributes[o],1==n[a].length&&(n[a]=n[a][0])}return n.uniqueID="offset-"+n._linehash,delete n._linehash,delete n.attributes,e.child_features&&e.child_features.length&&(n.subfeatures=t.flattenOneLevel(e.child_features.map(function(e){return e.map(function(e){return i._featureData(e)})}))),n},_formatFeatures:function(e){var t=this,i=[];return e.forEach(function(e,r){(e.attributes.ID||["offset-"+e.attributes._lineHash[0]]).forEach(function(r,o){var a=new n({data:t._featureData(e),id:0===o?r:r+"-"+(o+1)});a._reg_seq_id=t.browser.regularizeReferenceName(e.seq_id),i.push(a)})}),i},hasRefSeq:function(e,t,i){return this.indexedData.hasRefSeq(e,t,i)},saveStore:function(){return{urlTemplate:this.config.file.url,tbiUrlTemplate:(this.config.tbi||{}).url,csiUrlTemplate:(this.config.csi||{}).url}}})}.apply(null,n))||(e.exports=r)},531:function(e,t,i){var n,r,o=function(e){return e&&e.__esModule?e:{default:e}}(i(874));n=[i(575),i(576),i(577),i(587),i(334),i(338),i(336),i(339),i(340),i(349),i(365),i(337)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h,u,d){return e([s,l,c,h,u],{constructor:function(e){this.data=e.blob||new d(this.resolveUrl(this._evalConf(e.urlTemplate))),this.features=[],this._loadFeatures()},_loadFeatures:function(){var e=this,t=this.bareFeatures=[],i=!0,n=this.refSeqs={},r=this._failAllDeferred.bind(this),a=o.default.parseStream({parseFeatures:!0,parseSequences:!1}).on("data",function(r){r.forEach(function(r){var o=t[t.length-1],a=e.browser.regularizeReferenceName(r.seq_id);a in n&&o&&o.seq_id!=r.seq_id&&(i=!1),o&&o.seq_id==r.seq_id&&r.start<o.start&&(i=!1),a in n||(n[a]=t.length),t.push(r)})}).on("end",function(){i||(t.sort(e._compareFeatureData),e._rebuildRefSeqs(t)),e._estimateGlobalStats().then(function(t){e.globalStats=t,e._deferred.stats.resolve()}),e._deferred.features.resolve(t)}).on("error",r);this.data.fetchLines(function(e){return a.write(e)},function(){return a.end()},r)},_rebuildRefSeqs:function(e){for(var t={},i=0;i<e.length;i++){var n=this.browser.regularizeReferenceName(e[i].seq_id);n in t||(t[n]=i)}this.refSeqs=t},_compareFeatureData:function(e,t){return e.seq_id<t.seq_id?-1:e.seq_id>t.seq_id?1:e.start-t.start},_getFeatures:function(e,t,i,n){var r=this;r._deferred.features.then(function(){r._search(e,t,i,n)})},_search:function(e,t,i,n){var r=this.bareFeatures,o=this.features,a=this.browser.regularizeReferenceName(e.ref),s=this.refSeqs[a];if(s>=0){for(var l=("start"in e?function(t){return t.get("end")>=e.start}:function(){return!0});s<r.length;s++){var c=o[s]||(o[s]=function(e,t){return r[t]=!1,this._formatFeature(e)}.call(this,r[s],s));if(c._reg_seq_id!=a||c.get("start")>e.end)break;l(c)&&this.applyFeatureTransforms([c]).forEach(t)}i()}else i()},supportsFeatureTransforms:!0,_formatFeature:function(e){var t=new a({data:this._featureData(e),id:(e.attributes.ID||[])[0]});return t._reg_seq_id=this.browser.regularizeReferenceName(e.seq_id),t},_featureData:function(e){var n=t.mixin({},e);delete n.child_features,delete n.derived_features,delete n.attributes,n.start-=1,n.strand={"+":1,"-":-1,".":0,"?":void 0}[e.strand];var o=["start","end","seq_id","score","type","source","phase","strand"];for(var a in e.attributes){var s=a.toLowerCase();o.includes(s)&&(s+="2"),n[s]=e.attributes[a],1==n[s].length&&(n[s]=n[s][0])}var l=i.map(r.flattenOneLevel(e.child_features),this._featureData,this);return l.length&&(n.subfeatures=l),n},hasRefSeq:function(e,t,i){var n=this;this._deferred.features.then(function(){t(n.browser.regularizeReferenceName(e)in n.refSeqs)})},saveStore:function(){return{urlTemplate:this.config.blob.url}}})}.apply(null,n))||(e.exports=r)},532:function(e,t,i){var n,r;n=[i(575),i(577),i(336),i(338)],void 0===(r=function(e,t,i,n){return e(i,{constructor:function(e){this.features=this._makeFeatures(this.config.features||[])},_makeFeatures:function(e){for(var t={},i=0;i<e.length;i++)if(e[i]){var n=this._makeFeature(e[i]),r=this.browser.regularizeReferenceName(n.get("seq_id"));(t[r]||function(){return t[r]=[]}.call()).push(n)}return t},_parseInt:function(e){if(t.forEach(["start","end","strand"],function(t){t in e&&(e[t]=parseInt(e[t]))}),"score"in e&&(e.score=parseFloat(e.score)),"subfeatures"in e)for(var i=0;i<e.subfeatures.length;i++)this._parseInt(e.subfeatures[i])},_makeFeature:function(e,t){return this._parseInt(e),new n({data:e,parent:t})},getGlobalStats:function(e,t){this.getRegionStats({ref:this.refSeq.name,start:this.refSeq.start,end:this.refSeq.end},e,t)},getFeatures:function(e,t,i,n){var r=e.start,o=e.end,a=this.features[this.browser.regularizeReferenceName(e.ref)]||{};for(var s in a){var l=a[s];l.get("end")<r||l.get("start")>o||t(l)}i()}})}.apply(null,n))||(e.exports=r)},533:function(e,t,i){var n,r,o=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),a=i(652),s=i(1567),l=s.IndexedCramFile,c=s.CraiIndex,h=i(1813).CramSizeLimitError,u=new a({maxSize:5}),d=i(347),f=function(){function e(t,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.record=t,this._store=i}return o(e,[{key:"_get_id",value:function(){return this.id()}},{key:"_get_name",value:function(){return this.record.readName}},{key:"_get_start",value:function(){return this.record.alignmentStart-1}},{key:"_get_end",value:function(){return this.record.alignmentStart+this.record.lengthOnRef-1}},{key:"_get_cram_read_features",value:function(){return this.record.readFeatures}},{key:"_get_type",value:function(){return"match"}},{key:"_get_score",value:function(){return this.record.mappingQuality}},{key:"_get_mapping_quality",value:function(){return this.record.mappingQuality}},{key:"_get_flags",value:function(){return"0x"+this.record.flags.toString(16)}},{key:"_get_cramFlags",value:function(){return"0x"+this.record.cramFlags.toString(16)}},{key:"_get_strand",value:function(){return this.record.isReverseComplemented()?-1:1}},{key:"_get_read_group_id",value:function(){return this.record.readGroupId}},{key:"_get_qual",value:function(){return(this.record.qualityScores||[]).map(function(e){return e+33}).join(" ")}},{key:"_get_seq_id",value:function(){return this._store._refIdToName(this.record.sequenceId)}},{key:"_get_qc_failed",value:function(){return this.record.isFailedQc()}},{key:"_get_secondary_alignment",value:function(){return this.record.isSecondary()}},{key:"_get_duplicate",value:function(){return this.record.isDuplicate()}},{key:"_get_supplementary_alignment",value:function(){return this.record.isSupplementary()}},{key:"_get_pair_orientation",value:function(){return this.record.getPairOrientation()}},{key:"_get_multi_segment_template",value:function(){return this.record.isPaired()}},{key:"_get_multi_segment_all_correctly_aligned",value:function(){return this.record.isProperlyPaired()}},{key:"_get_multi_segment_all_aligned",value:function(){return this.record.isProperlyPaired()}},{key:"_get_multi_segment_next_segment_unmapped",value:function(){return this.record.isMateUnmapped()}},{key:"_get_multi_segment_first",value:function(){return this.record.isRead1()}},{key:"_get_multi_segment_last",value:function(){return this.record.isRead2()}},{key:"_get_multi_segment_next_segment_reversed",value:function(){return this.record.isMateReverseComplemented()}},{key:"_get_is_paired",value:function(){return!!this.record.mate}},{key:"_get_unmapped",value:function(){return this.record.isSegmentUnmapped()}},{key:"_get_template_length",value:function(){return this.record.templateLength||this.record.templateSize}},{key:"_get_next_seq_id",value:function(){return this.record.mate?this._store._refIdToName(this.record.mate.sequenceId):void 0}},{key:"_get_next_pos",value:function(){return this.record.mate?this.record.mate.alignmentStart:void 0}},{key:"_get_next_segment_position",value:function(){return this.record.mate?this._store._refIdToName(this.record.mate.sequenceId)+":"+this.record.mate.alignmentStart:void 0}},{key:"_get_tags",value:function(){return this.record.tags}},{key:"_get_seq",value:function(){return this.record.getReadBases()}}]),o(e,[{key:"tags",value:function(){return Object.getOwnPropertyNames(e.prototype).filter(function(e){return/^_get_/.test(e)}).map(function(e){return e.replace("_get_","")})}},{key:"id",value:function(){return this.record.uniqueId+1}},{key:"_get",value:function(e){var t="_get_"+e;if(this[t])return this[t]()}},{key:"get",value:function(e){var t="_get_"+e.toLowerCase();if(this[t])return this[t]()}},{key:"parent",value:function(){}},{key:"children",value:function(){}},{key:"pairedFeature",value:function(){return!1}}]),e}();n=[i(575),i(334),i(342),i(336),i(340),i(339),i(349),i(402),i(403),i(404),i(337),i(338)],void 0===(r=function(e,t,i,n,r,o,a,s,g,p,b,m){return e([n,r,o,a],{constructor:function(e){var t=this,i=void 0;if(e.cram)i=new d(e.cram);else{if(!e.urlTemplate)throw new Error("must provide either `cram` or `urlTemplate`");i=new d(new b(this.resolveUrl(e.urlTemplate||"data.cram"),{expectRanges:!0}))}var n=void 0;if(e.crai)n=new d(e.crai);else if(e.craiUrlTemplate)n=new d(new b(this.resolveUrl(e.craiUrlTemplate)));else{if(!e.urlTemplate)throw new Error("no index provided, must provide a CRAM index");n=new d(new b(this.resolveUrl(e.urlTemplate+".crai")))}this.source=i.toString();var r="data: "+i+", index: "+n;this.cram=u.get(r),this.cram||(this.cram=new l({cramFilehandle:i,index:new c({filehandle:n}),seqFetch:this._seqFetch.bind(this),checkSequenceMD5:!1,fetchSizeLimit:e.fetchSizeLimit||6e7}),u.set(r,this.cram)),this.cram.hasDataForReferenceSequence(0).then(function(){return t.cram.cram.getSamHeader()}).then(function(e){t._setSamHeader(e)}).then(function(){t._deferred.features.resolve({success:!0})}).then(function(){return t._estimateGlobalStats()}).then(function(e){t.globalStats=e,t._deferred.stats.resolve({success:!0})}).catch(function(e){t._deferred.features.reject(e),t._deferred.stats.reject(e)}),this.insertSizeCache=new p(e),this.pairCache=new s(e),this.spanCache=new g(e)},_setSamHeader:function(e){var t=this;this._samHeader={};var i=[],n={};e.filter(function(e){return"SQ"===e.tag}).forEach(function(e,r){e.data.forEach(function(e){if("SN"===e.tag){var o=t.browser.regularizeReferenceName(e.value);n[o]=r,i[r]=o}})}),i.length&&(this._samHeader.refSeqIdToName=i,this._samHeader.refSeqNameToId=n)},_refNameToId:function(e){return this._samHeader.refSeqNameToId?this._samHeader.refSeqNameToId[e]:this.browser.getRefSeqNumber(e)},_refIdToName:function(e){if(this._samHeader.refSeqIdToName)return this._samHeader.refSeqIdToName[e];var t=this.browser.getRefSeqById(e);return t?t.name:void 0},_getRefSeqStore:function(){var e=this;return new Promise(function(t,i){e.browser.getStore("refseqs",t,i)})},_seqFetch:function(e,t,i){var n=this;return function(e){return function(){var t=e.apply(this,arguments);return new Promise(function(e,i){return function n(r,o){try{var a=t[r](o),s=a.value}catch(e){return void i(e)}if(!a.done)return Promise.resolve(s).then(function(e){n("next",e)},function(e){n("throw",e)});e(s)}("next")})}}(regeneratorRuntime.mark(function r(){var o,a,s,l,c;return regeneratorRuntime.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return t-=1,r.next=3,n._getRefSeqStore();case 3:if(o=r.sent){r.next=6;break}return r.abrupt("return",void 0);case 6:if(a=n._refIdToName(e)){r.next=9;break}return r.abrupt("return",void 0);case 9:return r.next=11,new Promise(function(e,n){var r=[];o.getFeatures({ref:a,start:t-1,end:i},function(e){return r.push(e)},function(){return e(r)},n)});case 11:if(s=r.sent,l=[],s.sort(function(e,t){return e.get("start")-t.get("start")}).forEach(function(e,n){var r=e.get("start"),o=e.get("end"),a=Math.max(t-r,0),s=Math.min(i-r,o-r)-a,c=e.get("seq")||e.get("residues");l.push(c.substr(a,s))}),(c=l.join("")).length===i-t){r.next=17;break}throw new Error("sequence fetch failed: fetching "+(t-1).toLocaleString()+"-"+i.toLocaleString()+" only returned "+c.length.toLocaleString()+" bases, but should have returned "+(i-t).toLocaleString());case 17:return r.abrupt("return",c);case 18:case"end":return r.stop()}},r,n)}))()},hasRefSeq:function(e,t,i){var n=this;e=this.browser.regularizeReferenceName(e);var r=this._refNameToId(e);void 0===r&&t(!1),this._deferred.stats.then(function(){return n.cram.hasDataForReferenceSequence(r)}).then(t,i)},_getFeatures:function(e,t,n,r){var o=this,a=e.ref||this.refSeq.name,s=this._refNameToId(this.browser.regularizeReferenceName(a));e.maxInsertSize=e.maxInsertSize||5e4,void 0!==s?this.cram.getRecordsForRange(s,e.start+1,e.end,{viewAsPairs:e.viewAsPairs,viewAsSpans:e.viewAsSpans,maxInsertSize:e.maxInsertSize}).then(function(i){if(e.viewAsPairs){var a=i.map(function(e){return o._cramRecordToFeature(e)});a.forEach(function(e){return o.insertSizeCache.insertFeat(e)}),o.pairCache.pairFeatures(e,a,t,n,r)}else if(e.viewAsSpans){var s=i.map(function(e){return o._cramRecordToFeature(e)});s.forEach(function(e){return o.insertSizeCache.insertFeat(e)}),o.spanCache.pairFeatures(e,s,t,n,r)}else for(var l=0;l<i.length;l++){var c=o._cramRecordToFeature(i[l]);o.insertSizeCache.insertFeat(c),t(c)}n()}).catch(function(e){e instanceof h&&(e=new i.DataOverflow(e)),r(e)}):n()},getInsertSizeStats:function(){return this.insertSizeCache.getInsertSizeStats()},cleanFeatureCache:function(e){this.pairCache.cleanFeatureCache(e),this.spanCache.cleanFeatureCache(e)},cleanStatsCache:function(){this.insertSizeCache.cleanStatsCache()},_cramRecordToFeature:function(e){return new f(e,this)},saveStore:function(){return{urlTemplate:this.config.cram.url,craiUrlTemplate:this.config.crai.url}}})}.apply(null,n))||(e.exports=r)},534:function(e,t,i){var n,r;n=[i(575),i(577),i(587),i(338),i(378)],void 0===(r=function(e,t,i,n,r){return e([r],{createFeatures:function(e){var t=[];for(var i in e){var r="comfeat_"+e[i].start+"."+e[i].end+"."+e[i].strand;t.push(new n({data:{start:e[i].start,end:e[i].end,strand:e[i].strand},id:r}))}return t},opSpan:function(e,t,i,n){switch(e){case"&":return this.andSpan(t,i);case"U":return this.orSpan(t,i);case"X":return this.andSpan(this.orSpan(t,i),this.notSpan(this.andSpan(t,i),n));case"S":return this.andSpan(t,this.notSpan(i,n));default:console.error("Invalid boolean operation: "+e)}},toSpan:function(e,t){var i=this._rawToSpan(e,t);return this._removeOverlap(this._strandFilter(i,1)).concat(this._removeOverlap(this._strandFilter(i,-1)))},_rawToSpan:function(e,t){var i=[];for(var n in e)e.hasOwnProperty(n)&&i.push({start:e[n].get("start"),end:e[n].get("end"),strand:e[n].get("strand")});return i},_strandFilter:function(e,i){return t.filter(e,function(e){return e.strand==i||!e.strand}).map(function(e){return e.strand?e:{start:e.start,end:e.end,strand:i}})},_removeOverlap:function(e){return e.length?(e.sort(function(e,t){return e.start-t.start}),this._removeOverlapSorted(e)):[]},_removeOverlapSorted:function(e){for(var t=[],i=0,n=e[0].strand;i<e.length;){for(var r=e[i].start,o=e[i].end;i<e.length&&e[i].start<=o;)o=Math.max(o,e[i].end),i++;t.push({start:r,end:o,strand:n})}return t},orSpan:function(e,t){return this._computeUnion(this._strandFilter(e,1),this._strandFilter(t,1)).concat(this._computeUnion(this._strandFilter(e,-1),this._strandFilter(t,-1)))},andSpan:function(e,t){return this._computeIntersection(this._strandFilter(e,1),this._strandFilter(t,1)).concat(this._computeIntersection(this._strandFilter(e,-1),this._strandFilter(t,-1)))},_sortedArrayMerge:function(e,t){for(var i=[],n=0,r=0;n<e.length&&r<t.length;)e[n].start<=t[r].start?(i.push(e[n]),n++):(i.push(t[r]),r++);return n<e.length?i=i.concat(e.slice(n,e.length)):r<t.length&&(i=i.concat(t.slice(r,t.length))),i},_computeUnion:function(e,t){return e.length||t.length?this._removeOverlapSorted(this._sortedArrayMerge(e,t)):[]},_computeIntersection:function(e,t){if(!e.length||!t.length)return[];for(var i=this._sortedArrayMerge(e,t),n=[],r=i[0].end,o=e[0].strand,a=1;a<i.length;){var s=i[a].start,l=Math.min(i[a].end,r);s<l&&n.push({start:s,end:l,strand:o}),r=Math.max(i[a].end,r),a++}return n},notSpan:function(e,t){return this._rawNotSpan(this._strandFilter(e,1),t,1).concat(this._rawNotSpan(this._strandFilter(e,-1),t,-1))},_rawNotSpan:function(e,t,i){var n=[];n[0]={start:t.start};var r=0;for(var o in e)e.hasOwnProperty(o)&&(o=e[o],n[r].strand=i,n[r].end=o.start,n[++r]={start:o.end});return n[r].strand=i,n[r].end=t.end,n[r].end<=n[r].start&&n.splice(r,1),n[0].end<=n[0].start&&n.splice(0,1),n},loadRegion:function(e){var t=new i;if(1==this.stores.length)return t.resolve(this,!0),t.promise;var n=this,r=e;return r.spans=[],delete this.regionLoaded,this._getFeatures(e,function(){},function(e){e&&e.spans&&(r.spans=e.spans,n.regionLoaded=r),t.resolve(n,!0)},function(){t.reject("cannot load region")}),t.promise}})}.apply(null,n))||(e.exports=r)},535:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(379),i(405),i(338)],void 0===(r=function(e,t,i,n,r,o){var a={};return e(n,{constructor:function(e){},_getFeatures:function(e,t,i,n){var r=this,o=this.browser.regularizeReferenceName(e.ref),a=this.getUnzoomedView();a?a.readWigData(o,e.start,e.end,function(e){r.applyFeatureTransforms(e||[]).forEach(t),i()},n):i()},supportsFeatureTransforms:!0,getView:function(){return this.getUnzoomedView()},getPredefinedFeatureTransform:function e(t){return a[t]||this.inherited(e,arguments)}})}.apply(null,n))||(e.exports=r)},536:function(e,t,i){var n,r,o=i(881).TabixIndexedFile;n=[i(575),i(576),i(342),i(336),i(340),i(339),i(364),i(365),i(347),i(337),i(338),i(406)],void 0===(r=function(e,t,i,n,r,a,s,l,c,h,u,d){return e([n,r,a,s,l],{constructor:function(e){var i,n,r=this,a=this;e.csi||this.config.csiUrlTemplate?i=e.csi||new h(this.resolveUrl(this.getConf("csiUrlTemplate",[]))):n=e.tbi||new h(this.resolveUrl(this.getConf("tbiUrlTemplate",[])||this.getConf("urlTemplate",[])+".tbi"));var s=e.file||new h(this.resolveUrl(this.getConf("urlTemplate",[])),{expectRanges:!0});this.indexedData=new o({filehandle:new c(s),tbiFilehandle:n&&new c(n),csiFilehandle:i&&new c(i),chunkSizeLimit:e.chunkSizeLimit||1e6,renameRefSeqs:function(e){return r.browser.regularizeReferenceName(e)}}),this.parser=new d({commentCallback:this.config.commentCallback||function(e){},store:this}),this.getHeader().then(function(e){a._deferred.features.resolve({success:!0}),a._estimateGlobalStats().then(function(e){a.globalStats=e,a._deferred.stats.resolve(e)},t.hitch(a,"_failAllDeferred"))},t.hitch(a,"_failAllDeferred"))},getHeader:function(){var e=this;return this._parsedHeader||(this._parsedHeader=this.indexedData.lineCount("nonexistent").then(function(){return e.indexedData.getHeader()}).then(function(t){return e.parser.parseHeader(t)})),this._parsedHeader},_getFeatures:function(e,t,n,r){var o=this;this.getHeader().then(function(){o.indexedData.getMetadata().then(function(i){var n=o.browser.regularizeReferenceName(e.ref);return o.indexedData.getLines(n||o.refSeq.name,e.start,e.end,function(e){o.applyFeatureTransforms([o.lineToFeature(i.columnNumbers,e)]).forEach(function(e){o.config.featureCallback&&(e=o.config.featureCallback(e)),t(e)})})}).then(n,function(e){r?(e.message&&e.message.indexOf("Too much data")>=0&&(e=new i.DataOverflow(e.message)),r(e)):console.error(e)})},r)},supportsFeatureTransforms:!0,_featureData:function(e){var i=t.mixin({},e);for(var n in e.matrix)i[n.toLowerCase()]=e.attributes[n].join(",");return i},_formatFeature:function(e){var t=new u({data:this._featureData(e),id:e.seq_id+"_"+e.start+"_"+e.end+"_"+e.name});return t._reg_seq_id=this.browser.regularizeReferenceName(e.seq_id),t},lineToFeature:function(e,t){for(var i=t.split("\t"),n=0;n<i.length;n++)"."==i[n]&&(i[n]=null);var r={start:parseInt(i[e.start-1]),end:parseInt(i[e.end-1]),seq_id:i[e.ref-1],name:i[3],score:i[4]||null,strand:{"+":1,"-":-1}[i[5]]||0,thick_start:i[6],thick_end:i[7],itemrgb:i[8],block_count:i[9],block_sizes:i[10],chrom_starts:i[11]};return new u({id:i.slice(0,5).join("/"),data:r,fields:i})},hasRefSeq:function(e,t,i){return this.indexedData.index.hasRefSeq(e,t,i)},saveStore:function(){return{urlTemplate:this.config.file.url,tbiUrlTemplate:(this.config.tbi||{}).url,csiUrlTemplate:(this.config.csi||{}).url}}})}.apply(null,n))||(e.exports=r)},537:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(587),i(338),i(336),i(339),i(340),i(349),i(365),i(337),i(406)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u){return e([o,a,s,l,c],{constructor:function(e){this.data=e.blob||new h(this.resolveUrl(this._evalConf(e.urlTemplate))),this.features=[],this._loadFeatures()},_loadFeatures:function(){var e=this,n=this.bareFeatures=[],r=!0,o=this.refSeqs={},a=new u({featureCallback:function(t){i.forEach(t,function(t){var i=n[n.length-1],a=e.browser.regularizeReferenceName(t.seq_id);a in o&&i&&i.seq_id!=t.seq_id&&(r=!1),i&&i.seq_id==t.seq_id&&t.start<i.start&&(r=!1),a in o||(o[a]=n.length),e.config.featureCallback?n.push(e.config.featureCallback(t,e)):n.push(t)})},endCallback:function(){r||(n.sort(e._compareFeatureData),e._rebuildRefSeqs(n)),e._estimateGlobalStats().then(function(t){e.globalStats=t,e._deferred.stats.resolve()}),e._deferred.features.resolve(n)},commentCallback:this.config.commentCallback||function(e){},store:this}),s=t.hitch(this,"_failAllDeferred");this.data.fetchLines(function(e){try{a.addLine(e)}catch(e){throw s("Error parsing BED."),e}},t.hitch(a,"finish"),s)},_rebuildRefSeqs:function(e){for(var t={},i=0;i<e.length;i++){var n=this.browser.regularizeReferenceName(e[i].seq_id);n in t||(t[n]=i)}this.refSeqs=t},_compareFeatureData:function(e,t){return e.seq_id<t.seq_id?-1:e.seq_id>t.seq_id?1:e.start-t.start},_getFeatures:function(e,t,i,n){var r=this;r._deferred.features.then(function(){r._search(e,t,i,n)})},_search:function(e,t,i,n){var r=this.bareFeatures,o=this.features,a=this.browser.regularizeReferenceName(e.ref),s=this.refSeqs[a];if(s>=0){for(var l=("start"in e?function(t){return t.get("end")>=e.start}:function(){return!0});s<r.length;s++){var c=o[s]||(o[s]=function(e,t){return r[t]=!1,this._formatFeature(e,t)}.call(this,r[s],s));if(c._reg_seq_id!=a||c.get("start")>e.end)break;l(c)&&this.applyFeatureTransforms([c]).forEach(t)}i()}else i()},supportsFeatureTransforms:!0,_formatFeature:function(e,t){var i=new r({data:e,id:e.seq_id+"_"+e.start+"_"+e.end+"_"+e.name+"_"+t});return i._reg_seq_id=this.browser.regularizeReferenceName(e.seq_id),i},saveStore:function(){return{urlTemplate:this.config.blob.url}}})}.apply(null,n))||(e.exports=r)},538:function(e,t,i){var n,r;n=[i(575),i(577),i(378)],void 0===(r=function(e,t,i){return e([i],{createFeatures:function(e){return e},toSpan:function(e,t){return e.map(function(e){return Object.assign(Object.create(e),e)})},opSpan:function(e,t,i,n){if("U"==e)return this._appendStringToID(t,"L"),this._appendStringToID(i,"R"),t.concat(i);console.error("invalid operation")},_appendStringToID:function(e,i){return t.forEach(e,function(e){var t=e.id;e.id="function"==typeof t?function(){return t.call(e)+i}:t+i}),e}})}.apply(null,n))||(e.exports=r)},539:function(e,t,i){var n,r,o=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}(),a=i(652),s=i(1821).BamFile,l=new a({maxSize:5}),c=i(347),h=function(){function e(t,i){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.record=t,this._store=i}return o(e,[{key:"_get_id",value:function(){this.record.id()}},{key:"_get_type",value:function(){return"match"}},{key:"_get_score",value:function(){return this.record._get("mq")}},{key:"_get_mapping_quality",value:function(){return this.record.mappingQuality}},{key:"_get_flags",value:function(){return"0x"+this.record.flags.toString(16)}},{key:"_get_strand",value:function(){return this.record.isReverseComplemented()?-1:1}},{key:"_get_read_group_id",value:function(){return this.record.readGroupId}},{key:"_get_seq_id",value:function(){return this._store._refIdToName(this.record._refID)}},{key:"_get_qc_failed",value:function(){return this.record.isFailedQc()}},{key:"_get_duplicate",value:function(){return this.record.isDuplicate()}},{key:"_get_secondary_alignment",value:function(){return this.record.isSecondary()}},{key:"_get_supplementary_alignment",value:function(){return this.record.isSupplementary()}},{key:"_get_multi_segment_template",value:function(){return this.record.isPaired()}},{key:"_get_multi_segment_all_correctly_aligned",value:function(){return this.record.isProperlyPaired()}},{key:"_get_multi_segment_all_aligned",value:function(){return this.record.isProperlyPaired()}},{key:"_get_multi_segment_next_segment_unmapped",value:function(){return this.record.isMateUnmapped()}},{key:"_get_multi_segment_first",value:function(){return this.record.isRead1()}},{key:"_get_multi_segment_last",value:function(){return this.record.isRead2()}},{key:"_get_multi_segment_next_segment_reversed",value:function(){return this.record.isMateReverseComplemented()}},{key:"_get_pair_orientation",value:function(){return this.record.getPairOrientation()}},{key:"_get_unmapped",value:function(){return this.record.isSegmentUnmapped()}},{key:"_get_next_seq_id",value:function(){return this.record.isPaired()?this._store._refIdToName(this.record._next_refid()):void 0}},{key:"_get_is_paired",value:function(){return this.record.isPaired()}},{key:"_get_next_pos",value:function(){return this.record.isPaired()?this.record._next_pos():void 0}},{key:"_get_next_segment_position",value:function(){return this.record.isPaired()?this._store._refIdToName(this.record._next_refid())+":"+(this.record._next_pos()+1):void 0}},{key:"_get_tags",value:function(){return this.record._tags()}},{key:"_get_seq",value:function(){return this.record.getReadBases()}}]),o(e,[{key:"tags",value:function(){return this._get_tags()}},{key:"id",value:function(){return this.record.id()}},{key:"_get",value:function(e){var t="_get_"+e;return this[t]?this[t]():this.record._get(e)}},{key:"get",value:function(e){var t="_get_"+e.toLowerCase();return this[t]?this[t]():this.record.get(e)}},{key:"parent",value:function(){}},{key:"children",value:function(){}},{key:"pairedFeature",value:function(){return!1}}]),e}();n=[i(575),i(334),i(342),i(336),i(340),i(339),i(364),i(402),i(403),i(404),i(337),i(338)],void 0===(r=function(e,t,i,n,r,o,a,u,d,f,g,p){return e([n,r,o,a],{constructor:function(e){var t=this,i=void 0;if(e.bam)i=new c(e.bam);else{if(!e.urlTemplate)throw new Error("must provide either `bam` or `urlTemplate`");i=new c(new g(this.resolveUrl(e.urlTemplate||"data.bam"),{expectRanges:!0}))}var n=void 0,r=void 0;if(e.bai)n=new c(e.bai);else if(e.csi)r=new c(e.csi);else if(e.baiUrlTemplate)n=new c(new g(this.resolveUrl(e.baiUrlTemplate)));else if(e.csiUrlTemplate)r=new c(new g(this.resolveUrl(e.csiUrlTemplate)));else{if(!e.urlTemplate)throw new Error("no index provided, must provide a BAI or CSI index");n=new c(new g(this.resolveUrl(e.urlTemplate+".bai")))}this.source=i.toString();var o="data: "+i+", index: "+(r||n);this.bam=l.get(o),this.bam||(this.bam=new s({bamFilehandle:i,baiFilehandle:n,csiFilehandle:r,renameRefSeqs:function(e){return t.browser.regularizeReferenceName(e)},fetchSizeLimit:e.fetchSizeLimit||1e8,chunkSizeLimit:e.chunkSizeLimit||2e7}),l.set(o,this.bam)),this.bam.hasRefSeq(0).then(function(){return t.bam.getHeader()}).then(function(e){return t._setSamHeader(e)}).then(function(e){t._deferred.features.resolve({success:!0})}).then(function(){return t._estimateGlobalStats()}).then(function(e){t.globalStats=e,t._deferred.stats.resolve({success:!0})}).catch(function(e){t._deferred.features.reject(e),t._deferred.stats.reject(e)}),this.insertSizeCache=new f(e),this.pairCache=new u(e),this.spanCache=new d(e)},_setSamHeader:function(e){this._samHeader={};var t=[],i={};e.filter(function(e){return"SQ"===e.tag}).forEach(function(e,n){e.data.forEach(function(e){if("SN"===e.tag){var r=e.value;i[r]=n,t[n]=r}})}),t.length&&(this._samHeader.refSeqIdToName=t,this._samHeader.refSeqNameToId=i)},_refNameToId:function(e){return this._samHeader.refSeqNameToId?this._samHeader.refSeqNameToId[e]:this.browser.getRefSeqNumber(e)},_refIdToName:function(e){if(this._samHeader.refSeqIdToName)return this._samHeader.refSeqIdToName[e];var t=this.browser.getRefSeqById(e);return t?t.name:void 0},hasRefSeq:function(e,t,i){var n=this;e=this.browser.regularizeReferenceName(e),this._deferred.stats.then(function(){return n.bam.hasRefSeq(n._refNameToId(e))}).then(t,i)},_getFeatures:function(e,t,i,n){var r=this,o=e.ref||this.refSeq.name;o=this.browser.regularizeReferenceName(o),e.maxInsertSize=e.maxInsertSize||5e4,this.bam.getRecordsForRange(o,e.start,e.end,{viewAsPairs:e.viewAsPairs,viewAsSpans:e.viewAsSpans,maxInsertSize:e.maxInsertSize}).then(function(o){if(e.viewAsPairs){var a=o.map(function(e){return r._bamRecordToFeature(e)});a.forEach(function(e){return r.insertSizeCache.insertFeat(e)}),r.pairCache.pairFeatures(e,a,t,i,n)}else if(e.viewAsSpans){var s=o.map(function(e){return r._bamRecordToFeature(e)});s.forEach(function(e){return r.insertSizeCache.insertFeat(e)}),r.spanCache.pairFeatures(e,s,t,i,n)}else for(var l=0;l<o.length;l++)r.insertSizeCache.insertFeat(o[l]),t(r._bamRecordToFeature(o[l]));i()}).catch(n)},getInsertSizeStats:function(){return this.insertSizeCache.getInsertSizeStats()},cleanFeatureCache:function(e){this.pairCache.cleanFeatureCache(e),this.spanCache.cleanFeatureCache(e)},cleanStatsCache:function(){this.insertSizeCache.cleanStatsCache()},_bamRecordToFeature:function(e){return new h(e,this)},saveStore:function(){return{urlTemplate:this.config.bam.url,baiUrlTemplate:(this.config.bai||{}).url,csiUrlTemplate:(this.config.csi||{}).url}}})}.apply(null,n))||(e.exports=r)},540:function(e,t,i){var n,r;n=[i(575),i(577),i(679),i(725),i(574),i(407)],void 0===(r=function(e,t,i,n,r,o){return e(null,{constructor:function(e){this.url=e.url},query:function(e,t){var o="equals",a=""+e.name;/\*$/.test(a)&&(a=a.replace(/\*$/,""),o="startswith");var s={};return s[o]=a,n(this.url+"?"+r.objectToQuery(s),{handleAs:"json"}).then(function(e){for(var t=0;t<e.length;t++){var n=e[t];n.label=n.name+(n.location?'<span class="locString">'+n.location.ref+":"+n.location.start+".."+n.location.end+" ("+n.name+")</span>":"")}return i(e)},function(e){return i([])})},get:function(e){return this.query(e,void 0)},getIdentity:function(e){return e.id}})}.apply(null,n))||(e.exports=r)},541:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(577),i(679),i(334),i(407),i(345)],void 0===(r=function(e,t,i,n,r,a){return e(r,{constructor:function(e){this.tooManyMatchesMessage=e.tooManyMatchesMessage||"(too many matches to display)";var t=this.stopPrefixes={};if(e.stopPrefixes){var i="string"==typeof e.stopPrefixes?[e.stopPrefixes]:e.stopPrefixes;dojo.forEach(i,function(e){for(;e.length;)t[e]=!0,e=e.substr(0,e.length-1)})}},_nameRecordToItem:function(e){if(e.hitLimit)return{name:this.tooManyMatchesMessage,hitLimit:!0};var t={};if("object"==(void 0===e?"undefined":o(e))){t.name=e[0];var i=this._findTrackConfig(((this.meta||{}).track_names||{})[e[1]]);t.location=new a({ref:e[3],start:parseInt(e[4]),end:parseInt(e[5]),tracks:i?[i]:null,objectName:e[0]})}else t.name=e;return t},_findTrackConfig:function(e){if(!e)return null;var i=null;return t.some(this.browser.config.tracks,function(t){return t.label==e&&(i=t,!0)}),i},_makeResults:function(e){var n,r,o=t.map(e,dojo.hitch(this,"_nameRecordToItem")).sort(function(e,t){return e.name.localeCompare(t.name)||e.location.localeCompare(t.location)});return o=t.filter(o,function(e){return e.hitLimit?((r=e).label||(r.label=r.name||"too many matches"),!1):n&&n.name==e.name?(n.label=n.name+' <span class="multipleLocations">multiple locations</span>',n.multipleLocations?n.multipleLocations.push(e.location):(n.multipleLocations=[n.location,e.location],delete n.location),!1):((n=e).label=n.name+(n.location?' <span class="locString">'+n.location+"</span>":""),!0)}),r&&o.push(r),i(o)},query:function(e,t){var i=this,n=(e.name||"").toString();this.meta.lowercase_keys&&(n=n.toLowerCase());var r=/\*$/;return r.test(n)?(n=n.replace(r,""),this._getEntry(n).then(function(e){return e=e||{},i._makeResults((e.exact||[]).concat(e.prefix||[]))})):this._getEntry(n).then(function(e){return i._makeResults((e||{}).exact||[])})},get:function(e){return this.meta.lowercase_keys&&(e=e.toLowerCase()),this._getEntry(e).then(function(e){var t=(e.exact||[])[0];return t?this._nameRecordToItem(t):null})},_getEntry:function(e){return this._getBucket(e).then(function(t){return t[e]})}})}.apply(null,n))||(e.exports=r)},542:function(e,t,i){var n,r;n=[i(379)],void 0===(r=function(e){return e}.apply(null,n))||(e.exports=r)},543:function(e,t,i){var n,r,o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n=[i(575),i(784),i(334)],void 0===(r=function(e,t,i){var n=i.dojof,r=e(null,{constructor:function(e){this.url=e.url},getValue:function(e,t,i){var n=e[t];return void 0===n?i:n},getValues:function(e,t){var i=[e[t]];return void 0===i[0]?[]:i},getAttributes:function(e){return n.keys(e)},hasAttribute:function(e,t){return e.hasOwnProperty(t)},containsValue:function(e,t,i){return e[t]==i},isItem:function(e){return"object"==(void 0===e?"undefined":o(e))&&"string"==typeof e.label},isItemLoaded:function(){return!0},loadItem:function(e){},_fetchItems:function(e,t,i){dojo.xhrGet({url:this.url,handleAs:"json",load:dojo.hitch(this,function(i){var n=[];dojo.forEach(i.items||[],function(e){dojo.isArray(e.Tracks)&&dojo.forEach(e.Tracks,function(t){var i=dojo.clone(e);i.key=i.label,i.label=t,delete i.Tracks,n.push(i)},this)},this),t(n,e)}),error:function(t){i(t,e)}})},getFeatures:function(){return{"dojo.data.api.Read":!0,"dojo.data.api.Identity":!0}},close:function(){},getLabel:function(e){return this.getValue(e,"key",void 0)},getLabelAttributes:function(e){return["key"]},getIdentityAttributes:function(){return["label"]},getIdentity:function(e){return this.getValue(e,"label",void 0)},fetchItemByIdentity:function(e){return this.identIndex[e]}});return dojo.extend(r,t),r}.apply(null,n))||(e.exports=r)},544:function(e,t,i){var n,r;n=[i(575),i(334),i(380),i(485),i(408)],void 0===(r=function(e,t,i,n,r){function o(e,t){return e*Math.pow(2,t)}function a(e,t){return Math.floor(e/Math.pow(2,t))}var s=t.fastDeclare({constructor:function(e,t,i){this.minv=e,this.maxv=t,this.bin=i},toUniqueString:function(){return this.minv+".."+this.maxv+" (bin "+this.bin+")"},toString:function(){return this.toUniqueString()},compareTo:function(e){return this.minv.compareTo(e.minv)||this.maxv.compareTo(e.maxv)||this.bin-e.bin},compare:function(e){return this.compareTo(e)},fetchedSize:function(){return this.maxv.block+o(1,16)-this.minv.block+1}});return e(n,{_parseIndex:function(e,t){this._littleEndian=!0;var n=new i(e,0,void 0,this._littleEndian);if(21582659!=n.getInt32()&&(this._littleEndian=!1,21582659!=(n=new i(e,0,void 0,this._littleEndian)).getInt32()))return console.error("Not a CSI file"),void t.reject("Not a CSI file");this.minShift=n.getInt32(),this.depth=n.getInt32();var o=n.getInt32(),a=n.getBytes(o,void 0,!1),l=n.getInt32();this._refIDToName=new Array(l),this._refNameToID={},o&&this._parseAux(a),this._indices=new Array(l);for(var c=0;c<l;++c)for(var h=n.getInt32(),u=this._indices[c]={binIndex:{}},d=0;d<h;++d){for(var f=n.getInt32(),g=(new r(n.getBytes(8)),n.getInt32()),p=new Array(g),b=0;b<g;++b){var m=new r(n.getBytes(8)),v=new r(n.getBytes(8));this._findFirstData(m),p[b]=new s(m,v,f)}u.binIndex[f]=p}this.minAlignmentVO=this.firstDataLine,t.resolve({success:!0})},_parseAux:function(e){var t=new i(new Uint8Array(e).buffer,0,void 0,!0);t.getInt32(),this.columnNumbers={ref:t.getInt32(),start:t.getInt32(),end:t.getInt32()},this.metaValue=t.getInt32(),this.metaChar=this.metaValue?String.fromCharCode(this.metaValue):null,this.skipLines=t.getInt32();var n=t.getInt32();this._parseNameBytes(t.getBytes(n,void 0,!1))},TAD_LIDX_SHIFT:14,featureCount:function(e,t){var i;i=t?e:this.getRefId(e);var n=this._indices[i];if(!n)return-1;var r=this._bin_limit(this.minShift,this.depth),o=n.binIndex[r+1];return o?o[o.length-1].minv.offset:-1},blocksForRange:function(e,t,i,n){var o;t<0&&(t=0),o=n?e:this.getRefId(e);var a=this._indices[o];if(!a)return[];a.linearIndex;var l,c,h=a.binIndex,u=this._reg2bins(t,i,this.minShift,this.depth),d=(new r(0,0),0);for(l=0;l<u.length;++l)d+=(h[u[l]]||[]).length;if(0==d)return[];var f,g=[];for(l=d=0;l<u.length;++l)if(f=h[u[l]])for(var p=0;p<f.length;++p)g[d++]=new s(f[p].minv,f[p].maxv,f[p].bin);if(!g.length)return[];for(g=g.sort(function(e,t){return e.compareTo(t)}),l=1,c=0;l<d;++l)g[c].maxv.compareTo(g[l].maxv)<0&&(g[++c].minv=g[l].minv,g[c].maxv=g[l].maxv);return d=c+1,g.slice(0,d)},_reg2bin:function(e,t,i,n){var r=void 0,o=i,a=((1<<3*n)-1)/7;for(--t,r=n;r>0;o+=3,a-=1<<3*--r)if(e>>o==t>>o)return a+(e>>o);return 0},_reg2bins:function(e,t,i,n){var r=void 0,s=void 0,l=i+3*n,c=void 0,h=[];for(--t,r=c=s=0;r<=n;l-=3,s+=o(1,3*r),++r)for(var u=s+a(e,l),d=s+a(t,l),f=u;f<=d;++f)h[c++]=f;return h},_bin_limit:function(e){return((1<<3*((arguments.length>1&&void 0!==arguments[1]?arguments[1]:5)+1))-1)/7}})}.apply(null,n))||(e.exports=r)},545:function(e,t,i){var n,r;n=[i(575),i(1119),i(908)],void 0===(r=function(e,t,i){var n=e(null,{constructor:function(e){this.blob=e},blockSize:65536,slice:function(e,t){return new n(this.blob.slice(e,t))},fetch:function(e,t){this.blob.fetch(this._wrap(e),t)},read:function(e,t,i,n){this.blob.read(e,t+this.blockSize,this._wrap(i,t),n)},_wrap:function(e,t){var i=this;return function(n){e(i.unbgzf(n,t))}},readInt:function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},readShort:function(e,t){return e[t+1]<<8|e[t]},readFloat:function(e,t){for(var i=new Uint8Array(4),n=0;n<4;n++)i[n]=e[t+n];return new Float32Array(i.buffer)[0]},unbgzf:function(e,n){n=Math.min(n||1/0,e.byteLength-27);for(var r=[],o=0,a=[0];a[0]<n;a[0]+=8){var s=new Uint8Array(e,a[0],18);if(31!=s[0]||139!=s[1]){console.error("invalid BGZF block header, skipping",s);break}var l,c=this.readShort(s,10),h=a[0]+12+c;try{l=t(e,h,e.byteLength-h,a)}catch(e){if(/^Z_BUF_ERROR/.test(e.statusString)&&r.length)break;throw e}l.byteLength&&(o+=l.byteLength,r.push(l))}if(1==r.length)return r[0];for(var u=new Uint8Array(o),d=0,f=0;f<r.length;++f){var g=new Uint8Array(r[f]);i(g,0,u,d,g.length),d+=g.length}return u.buffer}});return n}.apply(null,n))||(e.exports=r)},546:function(e,t,i){var n,r;n=[i(575),i(409)],void 0===(r=function(e,t){return e("JBrowse.ConfigAdaptor.JB_json_v0",t,{constructor:function(){},regularize_conf:function(e,t){return e={tracks:e},dojo.forEach(e.tracks,function(e){"url"in e&&(e.urlTemplate=e.url,delete e.url,e.backendVersion=0)}),this.inherited(arguments,[e,t])},parse_conf:function(e){return e.replace(/^[^\{]+/,""),this.inherited(arguments,[e])}})}.apply(null,n))||(e.exports=r)},547:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(573),i(409)],void 0===(r=function(e,t,i,n,r){return e([r],{_isAlwaysArray:function(e){return{include:!0}[e]},parse_conf:function(e,r){var o,a,s,l,c=[],h={};function u(){if(void 0!==s)try{var e;(e=s.match(/^json:(.+)/i))?s=n.parse(e[1]):/^[\+\-]?[\d\.,]+([eE][\-\+]?\d+)?$/.test(s)&&(s=parseFloat(s.replace(/,/g,"")));var i=c.concat(o).join(".");if("+="==a){var u=t.getObject(i,!1,h);u?t.isArray(u)||(u=[u]):u=[],u.push(s),s=u}"true"==s&&(s=!0),"false"==s&&(s=!1),t.setObject(i,s,h)}catch(e){throw new Error("syntax error"+((r.config||{}).url?" in "+r.config.url:"")+(l?" at line "+(l-1):""))}}return i.forEach(e.split("\n"),function(e,t){var i;l=t+1,(i=(e=e.replace(/^\s*#.+/,"")).match(/^\s*\[([^\]]+)/))?(u(),o=s=void 0,1==(c=i[1].trim().split(/\s*\.\s*/)).length&&"general"==c[0].toLowerCase()&&(c=[])):(i=e.match(null==s?/^([^\+=]+)(\+?=)(.*)/:/^(\S[^\+=]+)(\+?=)(.*)/))?(u(),o=i[1].trim().split(/\s*\.\s*/),a=i[2],this._isAlwaysArray(c.concat(o).join("."))&&(a="+="),s=i[3].trim()):void 0!==o&&(i=e.match(/^\s{0,4}\+\s*(.+)/))?(u(),a="+=",s=i[1].trim()):void 0!==s&&(i=e.match(/^\s+(\S.*)/))?s+=s.length?" "+i[1].trim():i[1].trim():(u(),o=s=void 0)},this),u(),h}})}.apply(null,n))||(e.exports=r)},548:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(336),i(338),i(342),i(334),i(392)],void 0===(r=function(e,t,i,n,r,o,a,s){return e(n,{constructor:function(e){this.searchParams=e.searchParams},_defaultConfig:function(){return a.deepUpdate(dojo.clone(this.inherited(arguments)),{regionSizeLimit:2e5})},getFeatures:function(e,t,n,r){var a=i.mixin({orig:{start:e.start,end:e.end}},this.searchParams,e.searchParams);if(e.end-e.start>this.config.regionSizeLimit)throw new o.DataOverflow("Region too large to search");var s=this;this.browser.getStore("refseqs",function(i){i?i.getReferenceSequence(e,function(i){s.doSearch(e,i,a,t),n()},r):n()})},doSearch:function(e,i,n,r){var o=new RegExp(n.regex?n.expr:this.escapeString(n.expr),n.caseIgnore?"gi":"g"),s=[];n.fwdStrand&&s.push([i,1]),n.revStrand&&s.push([a.revcom(i),-1]),t.forEach(s,function(t){if(n.translate)for(var i=0;i<3;i++)this._searchSequence(e,t[0],o,t[1],r,!0,i);else this._searchSequence(e,t[0],o,t[1],r)},this)},_searchSequence:function(e,t,i,n,o,a,s){a&&(t=this.translateSequence(t,s)),s=s||0;for(var l,c=a?3:1,h=e.start,u=e.end;null!==(l=i.exec(t))&&l.length;){i.lastIndex=l.index+1;var d=l[0],f=n>0?h+s+c*l.index:u-s-c*(l.index+d.length),g=n>0?h+s+c*(l.index+d.length):u-s-c*l.index;o(new r({data:{type:"SEARCH",start:f,end:g,searchMatch:d,strand:n},id:[f,g,d].join(",")}))}},translateSequence:function(e,t){var i=e.slice(t);i=i.slice(0,3*Math.floor(i.length/3));for(var n="",r=new s,o=r.generateCodonTable(r.defaultCodonTable),a=0;a<i.length;a+=3)n+=o[i.slice(a,a+3)];return n},escapeString:function(e){return(e+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},saveStore:function(){return{searchParams:this.config.searchParams,regionSizeLimit:this.config.regionSizeLimit}}})}.apply(null,n))||(e.exports=r)},549:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(680),i(344),i(486)],void 0===(r=function(e,t,i,n,r,o){return e(r,{constructor:function(e){this._searchTrackCount=0,this.browser.afterMilestone("initView",function(){this.browser.addGlobalMenuItem("file",new n({label:"Add sequence search track",iconClass:"dijitIconSearch",onClick:t.hitch(this,"createSearchTrack")}))},this)},createSearchTrack:function(){var e=this;(new o).show(function(t){if(t){var i={browser:e.browser,refSeq:e.browser.refSeq,type:"RegexSequenceSearch/Store/SeqFeature/RegexSearch",searchParams:t},n=e.browser.addStoreConfig(void 0,i);i.name=n;var r={type:"JBrowse/View/Track/CanvasFeatures",label:"search_track_"+e._searchTrackCount++,key:"Search reference sequence for '"+t.expr+"'",metadata:{category:"Local tracks",Description:"Contains all matches of the text string/regular expression '"+i.searchExpr+"'"},store:n};e.browser.publish("/jbrowse/v1/v/tracks/new",[r]),e.browser.publish("/jbrowse/v1/v/tracks/show",[r])}})}})}.apply(null,n))||(e.exports=r)},550:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(579),i(590),i(376)],void 0===(r=function(e,t,i,n,r,o){return e(o,{renderFeature:function(e,t,i,n,r,o,a,s){var l=this.inherited(arguments);return l&&(this.insertIntrons(l),this.paintNeatFeatures(l)),l},insertIntrons:function(e){if(!dojo.hasClass(e,"has-neat-introns")){for(var t=r("> .subfeature",e),i=[],o=0;o<t.length;o++){var a=dojo.attr(t[o],"class");-1===a.indexOf("splice-site")&&-1===a.indexOf("stop_codon_read_through")&&-1===a.indexOf("intron")&&i.push(t[o])}if(i.length<2){var s=r("div.feature-render",e);if(s&&1==s.length&&s[0].className.indexOf("annot-apollo")<0&&s[0].className.indexOf("annot-render")<0){var l="";l+="<svg class='jb-intron' viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' ",l+="style='position:absolute;z-index: 15;",l+="left: "+(h=e.style.left)+";width: "+(u=e.style.width)+";height: "+(d="100%")+"'>",l+="<polyline points='0,50 100,50' style='fill:none;stroke:black;stroke-width:5' shape-rendering='optimizeQuality' />",l+="</svg>",n.place(l,e)}}else if(i.length>=2){var c=1;for(dojo.attr(e,"class").indexOf("minus")>-1&&(c=-1),o=0;o<i.length;o++)i[o].left=dojo.getStyle(i[o],"left"),i[o].width=dojo.getStyle(i[o],"width");for(i.length>=2&&i.sort(function(e,t){return e.left-t.left}),o=0;o<i.length-1;++o)if(i[o+1].left-(i[o].left+i[o].width)>.02){var h=i[o].left+i[o].width,u=i[o+1].left-(i[o].left+i[o].width),d="100%",f="50,5";-1==c&&(f="50,95"),l="",l+="<svg class='jb-intron' viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' ",l+="style='position:absolute;z-index: 15;",l+="left: "+h+"%;width: "+u+"%;height: "+d+"'>",l+="<polyline class='neat-intron' points='0,50 "+f+" 100,50' shape-rendering='optimizeQuality' />",l+="</svg>",n.place(l,e)}}}},paintNeatFeatures:function(e){for(var t=r("> .subfeature",e),i=[],n=0;n<t.length;n++)-1===dojo.attr(t[n],"class").indexOf("splice-site")&&i.push(t[n]);if(i.length)for(dojo.setStyle(e,{background:"none","background-color":"transparent","border-width":"0px"}),n=0;n<i.length;n++)if(i[n].childElementCount)for(var o=r("> .subfeature",i[n]),a=0;a<o.length;a++)this.paintSubNode(o[a]);else this.paintSubNode(i[n]);else if(!dojo.hasClass(e,"neat-feature")){dojo.attr(e,"class");var s=dojo.getStyle(e,"background-color");1==this.config.gradient&&dojo.setStyle(e,{background:"linear-gradient(to bottom, "+s+" 0%,#e5e5e5 50%,"+s+" 100%)"}),dojo.addClass(e,"neat-feature")}},paintSubNode:function(e){var t=dojo.attr(e,"class"),i=dojo.getStyle(e,"background-color");dojo.hasClass(e,"neat-subfeature")||(t.indexOf("UTR")>-1?(dojo.setStyle(e,{top:"0px",border:"1px solid "+i}),dojo.addClass(e,"neat-UTR")):1==this.config.gradient&&dojo.setStyle(e,{top:"0px",background:"linear-gradient(to bottom, "+i+" 0%,#e5e5e5 50%,"+i+" 100%)"}),dojo.addClass(e,"neat-subfeature"))}})}.apply(null,n))||(e.exports=r)},551:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(579),i(590),i(344)],void 0===(r=function(e,t,i,n,r,o){return e(o,{constructor:function(e){console.log("plugin: NeatHTMLFeatures"),this.browser}})}.apply(null,n))||(e.exports=r)},552:function(e,t,i){var n,r;n=[i(575),i(576),i(334),i(362)],void 0===(r=function(e,t,i,n){return e(n,{_defaultConfig:function(){return i.deepUpdate(t.clone(this.inherited(arguments)),{glyph:t.hitch(this,"guessGlyphType")})},guessGlyphType:function(e){var t={gene:"Gene",pseudogene:"Gene",mRNA:"ProcessedTranscript",transcript:"ProcessedTranscript",ncRNA:"UnprocessedTranscript",lncRNA:"UnprocessedTranscript",lnc_RNA:"UnprocessedTranscript",miRNA:"UnprocessedTranscript"}[e.get("type")];if(!t){var i=e.children();t=i&&i.length?"Segments":"Box"}return"NeatCanvasFeatures/View/FeatureGlyph/"+t}})}.apply(null,n))||(e.exports=r)},553:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(472),i(411),i(488),i(487)],void 0===(r=function(e,t,i,n,r,o,a){return e([n,r],{_boxGlyph:function(){return this.__boxGlyph||(this.__boxGlyph=new r({track:this.track,browser:this.browser,config:this.config}))},_ptGlyph:function(){return this.__ptGlyph||(this.__ptGlyph=new o({track:this.track,browser:this.browser,config:this.config}))},_ntGlyph:function(){return this.__ntGlyph||(this.__ntGlyph=new a({track:this.track,browser:this.browser,config:this.config}))}})}.apply(null,n))||(e.exports=r)},554:function(e,t,i){var n,r;n=[i(575),i(344)],void 0===(r=function(e,t){return e(t,{constructor:function(e){console.log("NeatCanvasFeatures initialized")}})}.apply(null,n))||(e.exports=r)},555:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(624),i(580),i(412),i(354),i(334),i(372)],void 0===(r=function(e,t,i,n,r,o,a,s,l){return e([o,a],{_defaultConfig:function(){return s.deepUpdate(i.clone(this.inherited(arguments)),{autoscale:"local",style:{pos_color:"blue",neg_color:"red",origin_color:"#888",variance_band_color:"rgba(0,0,0,0.3)"}})},_getScaling:function(e,t,i){this.config.normalizeEach?this.store.getIndividualStats(function(e){Object.keys(e).forEach(function(t){e[t].normalize=function(i){return(i-e[t].scoreMin)/(e[t].scoreMax-e[t].scoreMin)}}),e.compare=function(){return!0},t(e)},i):this._getScalingStats(e,dojo.hitch(this,function(e){if(!this.lastScaling||!this.lastScaling.sameStats(e)||this.trackHeightChanged){var i=new l(this.config,e);Math.abs(i.min/i.max)<.005&&(i.min=0),this.makeYScale({fixBounds:!0,min:i.min,max:i.max}),i.min=this.ruler.scaler.bounds.lower,i.max=this.ruler.scaler.bounds.upper,i.range=i.max-i.min,this.lastScaling=i,this.trackHeightChanged=!1}t(this.lastScaling)}),i)},updateStaticElements:function(e){this.inherited(arguments),this.updateYScaleFromViewDimensions(e)},_drawFeatures:function(e,n,r,o,a,l,c){var h,u,d=this,f=a.getContext("2d"),g=a.height,p=s.getResolution(f,this.browser.config.highResolutionMode);this.config.normalizeEach?(h=i.hitch(this,function(e,t){return g*(1-c[t].normalize(e))/p}),u=1):(h=i.hitch(this,function(e,t){return g*(1-c.normalize(e))/p}),u=h(c.origin));var b={};t.forEach(l[0],function(e){if(e){var t=e.feat.get("source"),i=h(e.score,t);b[t]=i}}),t.forEach(l,function(e,i){t.forEach(e,function(e){if(e){var t=e.feat,n=t.get("source"),r=h(e.score,n),o=this.labels.find(function(e){return e.name===t.get("source")}),a=o.color,s=o.nonCont;if(r<=g||r>u)if(r<=u)if(s){f.fillStyle=a;var l=1;o.fill&&(l=u-r+1),d._fillRectMod(f,i,r,1,l)}else f.strokeStyle=a,f.beginPath(),f.moveTo(i,b[n]),f.lineTo(i+1,r),f.stroke(),b[n]=r;else if(s){f.fillStyle=a;var c=r-1,p=1;o.fill&&(c=u,p=r-u),d._fillRectMod(f,i,c,1,p)}else f.strokeStyle=a,f.beginPath(),f.moveTo(i,b[n]),f.lineTo(i+1,r),f.stroke(),b[n]=r}},this)},this)}})}.apply(null,n))||(e.exports=r)},556:function(e,t,i){var n,r;n=[i(575),i(577),i(624),i(580),i(412),i(334),i(816)],void 0===(r=function(e,t,i,n,r,o,a){return e(r,{_defaultConfig:function(){return o.deepUpdate(dojo.clone(this.inherited(arguments)),{maxExportSpan:5e5,autoscale:"local",style:{pos_color:"#00f",neg_color:"#f00",bg_color:"rgba(230,230,230,0.6)",clip_marker_color:"black",height:100}})},_drawFeatures:function(e,n,r,a,s,l,c){var h=this,u=s.getContext("2d"),d=s.height,f="function"==typeof this.config.style.color?this.config.style.color:function(){var e=h.config.disable_clip_markers,t=c.normalize(c.origin);return function(n,r){var o=n.feat;return e||r<=1&&r>=0?i.blendColors(new i(h.getConfForFeature("style.bg_color",o)),new i(h.getConfForFeature(r>=t?"style.pos_color":"style.neg_color",o)),Math.abs(r-t)).toString():r>1?h.getConfForFeature("style.pos_color",o):h.getConfForFeature("style.neg_color",o)}}(),g=o.getResolution(u,this.browser.config.highResolutionMode),p=d/(this.labels.length*g);t.forEach(l,function(e,i){e&&t.forEach(e,function(e,t){if(e){var n=e.score,r=c.normalize(n);u.fillStyle=""+f(e,r),h._fillRectMod(u,i,t*p,1,p)}})})},makeTrackLabel:function(){var e=this.config.style.height/this.labels.length,i=this,r=this.config;this.inherited(arguments),(this.config.showLabels||this.config.showTooltips)&&(this.sublabels=t.map(this.labels,function(t){var o=i.config.labelWidth?i.config.labelWidth+"px":null,s=dojo.create("div",{className:"track-sublabel",id:i.config.label+"_"+t.name,style:{position:"absolute",height:e-1+"px",width:i.config.showLabels?o:"10px",font:i.config.labelFont,backgroundColor:t.color},innerHTML:i.config.showLabels?t.name:""},i.div);return n(s,r.clickTooltips?"click":"mouseover",function(){a.show(t.name+"<br />"+(t.description||""),s)}),n(s,"mouseleave",function(){a.hide(s)}),s}))},updateStaticElements:function(e){this.inherited(arguments);var i=this.config.style.height-2;if(this.sublabels&&"x"in e){var n=this.sublabels.length;t.forEach(this.sublabels,function(t,r){t.style.left=e.x+"px",t.style.top=r*i/n+"px"},this)}}})}.apply(null,n))||(e.exports=r)},557:function(e,t,i){var n,r;n=[i(575),i(576),i(577),i(634),i(336),i(340),i(339),i(379)],void 0===(r=function(e,t,i,n,r,o,a,s){return e([r,o,a],{constructor:function(e){var r=this;this.stores=i.map(e.urlTemplates,function(i){return t.isObject(i)?new s(dojo.mixin(e,{urlTemplate:i.url,name:i.name})):new s(dojo.mixin(e,{urlTemplate:i,name:i.substr(i.lastIndexOf("/")+1)}))}),n(i.map(this.stores,function(e){return e._deferred.features})).then(function(){r._deferred.features.resolve({success:!0}),r._deferred.stats.resolve({success:!0})},t.hitch(this,"_failAllDeferred"))},_getFeatures:function(e,t,n,r){var o=this,a=0,s=function(){o.stores.length===++a&&n()};i.forEach(this.stores,function(i){var n=function(e){return function(i){i.data.source=e,t(i)}}(i.name);i._getFeatures(e,n,s,r)})},getIndividualStats:function(e,t){var n=this,r=0,o={};i.forEach(this.stores,function(i){i._getGlobalStats(function(t){return function(i){o[t]=i,n.stores.length===++r&&e(o)}}(i.name),t)})},_getGlobalStats:function(e,t){var n=this,r=0,o={scoreMin:1e8,scoreMax:-1e7},a=function(t){t.scoreMin<o.scoreMin&&(o.scoreMin=t.scoreMin),t.scoreMax>o.scoreMax&&(o.scoreMax=t.scoreMax),n.stores.length===++r&&e(o)};i.forEach(this.stores,function(e){e._getGlobalStats(a,t)})},getRegionStats:function(e,t,n){var r=this,o=0,a={scoreMin:1e8,scoreMax:-1e7},s=function(e){e.scoreMin<a.scoreMin&&(a.scoreMin=e.scoreMin),e.scoreMax>a.scoreMax&&(a.scoreMax=e.scoreMax),r.stores.length===++o&&t(a)};i.forEach(this.stores,function(t){t.getRegionStats(e,s,n)})},saveStore:function(){return{urlTemplates:this.config.urlTemplates}}})}.apply(null,n))||(e.exports=r)},558:function(e,t,i){var n,r;n=[i(575),i(344)],void 0===(r=function(e,t){return e(t,{constructor:function(){Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(e){if(null==this)throw new TypeError('"this" is null or not defined');var t=Object(this),i=t.length>>>0;if("function"!=typeof e)throw new TypeError("predicate must be a function");for(var n=arguments[1],r=0;r<i;){var o=t[r];if(e.call(n,o,r,t))return o;r++}}}),console.log("MultiBigWig plugin starting")}})}.apply(null,n))||(e.exports=r)},559:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(579),i(596),i(1036),i(582),i(588),i(580),i(590),i(589),i(344)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u){return e(u,{constructor:function(e){console.log("plugin HideTracksButton constructor"),this._defaultConfig().baseUrl;var t=this,i=dojo.queryToObject(window.location.search.slice(1));this.browser.afterMilestone("initView",function(){var e=dojo.byId("navbox");t.browser.hideTitlesButton=new r({title:"Hide/Show Track Titles",id:"hidetitles-btn",width:"24px",onClick:dojo.hitch(t,function(e){t.showTrackLabels("toggle"),dojo.stopEvent(e)})},dojo.create("button",{},e)),0!=i.tracklabels&&0!=t.browser.config.show_tracklabels||(c(".track-label").style("visibility","hidden"),dojo.attr(t.browser.hideTitlesButton.domNode,"hidden-titles",""))}),0==t.browser.config.show_tracklabels&&dojo.subscribe("/jbrowse/v1/n/tracks/redraw",function(e){t.showTrackLabels("hide")}),dojo.subscribe("/jbrowse/v1/n/tracks/redraw",function(e){t.showTrackLabels("hide-if")})},showTrackLabels:function(e){var t=1,i=a.byId("hidetitles-btn");if("show"==e&&(i&&dojo.removeAttr(i,"hidden-titles"),t=1),"hide"==e&&(i&&dojo.attr(i,"hidden-titles",""),t=-1),"hide-if"==e){if(!i||!dojo.hasAttr(i,"hidden-titles"))return;t=-1}"toggle"==e&&i&&(dojo.hasAttr(i,"hidden-titles")?(dojo.removeAttr(i,"hidden-titles"),t=1):(dojo.attr(i,"hidden-titles",""),t=-1)),i&&dojo.attr(i,"disabled",""),setTimeout(function(){i&&dojo.removeAttr(i,"disabled")},200),-1==t?setTimeout(function(){c(".track-label").style("visibility","hidden")},200):c(".track-label").style("visibility","visible"),c(".track-label").forEach(function(e,i,n){var r=h.getMarginBox(e).w;o.slideTo({node:e,duration:200,top:h.getMarginBox(e).t.toString(),left:(h.getMarginBox(e).l+r*t).toString(),unit:"px"}).play()})}})}.apply(null,n))||(e.exports=r)},560:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(413),i(414),i(359),i(334)],void 0===(r=function(e,t,i,n,r,o,a){return e(o,{constructor:function(){this.store=new n({store:this.store,browser:this.browser,windowSize:this.config.windowSize,windowDelta:this.config.windowDelta,gcMode:this.config.gcMode})},_defaultConfig:function(){return a.deepUpdate(i.clone(this.inherited(arguments)),{min_score:0,max_score:1,maxZoom:.001,windowSize:100,windowDelta:10,gcMode:"content",bicolor_pivot:.5,scoreType:"avgScore",logScaleOption:!1})},_trackMenuOptions:function(){var e=this,t=this.inherited(arguments);return t.push({label:"GC Track Options",onClick:function(){new r({setCallback:function(t,i,n){e.config.windowSize=t,e.config.windowDelta=i,e.config.gcMode=n,"skew"===n?(e.config.min_score=-1,e.config.bicolor_pivot=0):(e.config.min_score=0,e.config.bicolor_pivot=.5),e.browser.publish("/jbrowse/v1/c/tracks/replace",[e.config])},windowSize:e.config.windowSize,windowDelta:e.config.windowDelta,gcMode:e.config.gcMode}).show()}}),t},fillBlock:function(e){var t=e.block,i=e.blockIndex,n=e.scale,r=dojo.create("div",{className:"sequence_blur",innerHTML:'<span class="loading">Loading</span>'},t.domNode);this.heightUpdate(r.offsetHeight+2*r.offsetTop,i),n>=this.config.maxZoom?this.inherited(arguments):(r.innerHTML='<span class="zoom">Zoom in to see GC content</span>',e.finishCallback())}})}.apply(null,n))||(e.exports=r)},561:function(e,t,i){var n,r;n=[i(575),i(577),i(576),i(413),i(414),i(461),i(334)],void 0===(r=function(e,t,i,n,r,o,a){return e(o,{constructor:function(){this.store=new n({store:this.store,browser:this.browser,windowSize:this.config.windowSize,windowDelta:this.config.windowDelta,gcMode:this.config.gcMode})},_defaultConfig:function(){return a.deepUpdate(i.clone(this.inherited(arguments)),{min_score:0,max_score:1,maxZoom:.001,windowSize:100,windowDelta:10,gcMode:"content",bicolor_pivot:.5,scoreType:"avgScore",logScaleOption:!1})},_trackMenuOptions:function(){var e=this,t=this.inherited(arguments);return t.push({label:"GC Track Options",onClick:function(){new r({setCallback:function(t,i,n){e.config.windowSize=t,e.config.windowDelta=i,e.config.gcMode=n,"skew"===n?(e.config.min_score=-1,e.config.bicolor_pivot=0):(e.config.min_score=0,e.config.bicolor_pivot=.5),e.browser.publish("/jbrowse/v1/c/tracks/replace",[e.config])},windowSize:e.config.windowSize,windowDelta:e.config.windowDelta,gcMode:e.config.gcMode}).show()}}),t},fillBlock:function(e){var t=e.block,i=e.blockIndex,n=e.scale,r=dojo.create("div",{className:"sequence_blur",innerHTML:'<span class="loading">Loading</span>'},t.domNode);this.heightUpdate(r.offsetHeight+2*r.offsetTop,i),n>=this.config.maxZoom?this.inherited(arguments):(r.innerHTML='<span class="zoom">Zoom in to see GC content</span>',e.finishCallback())}})}.apply(null,n))||(e.exports=r)},562:function(e,t,i){var n,r;n=[i(575),i(344)],void 0===(r=function(e,t){return e(t,{constructor:function(e){var t=e.browser;console.log("GCContent plugin starting"),t.registerTrackType({label:"GCContentXY",type:"GCContent/View/Track/GCContentXY"}),t.registerTrackType({label:"GCContentDensity",type:"GCContent/View/Track/GCContent"})}})}.apply(null,n))||(e.exports=r)},563:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(344)],void 0===(r=function(e,t,i,n){return e(n,{constructor:function(e){console.log("plugin DebugEvents constructor"),this.browser.afterMilestone("completely initialized",function(){console.log("Milestone: completely initialized")}),this.browser.afterMilestone("initPlugins",function(){console.log("Milestone: initPlugins")}),this.browser.afterMilestone("initView",function(){console.log("Milestone: initView")}),this.browser.afterMilestone("loadRefSeqs",function(){console.log("Milestone: loadRefSeqs")}),this.browser.afterMilestone("loadUserCSS",function(){console.log("Milestone: loadUserCSS")}),this.browser.afterMilestone("loadNames",function(){console.log("Milestone: loadNames")}),this.browser.afterMilestone("loadConfig",function(){console.log("Milestone: loadConfig")}),this.browser.afterMilestone("initTrackMetadata",function(){console.log("Milestone: initTrackMetadata")}),this.browser.afterMilestone("createTrack",function(){console.log("Milestone: createTrack")}),dojo.subscribe("/jbrowse/v1/v/tracks/new",function(e){console.log("Event: /jbrowse/v1/v/tracks/new",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/show",function(e){console.log("Event: /jbrowse/v1/v/tracks/show",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/show",function(e){console.log("Event: /jbrowse/v1/c/tracks/show",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/hide",function(e){console.log("Event: /jbrowse/v1/v/tracks/hide",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/hide",function(e){console.log("Event: /jbrowse/v1/c/tracks/hide",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/hide",function(e){console.log("Event: /jbrowse/v1/v/tracks/hide",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/new",function(e){console.log("Event: /jbrowse/v1/c/tracks/new",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/new",function(e){console.log("Event: /jbrowse/v1/n/tracks/new",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/replace",function(e){console.log("Event: /jbrowse/v1/v/tracks/replace",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/replace",function(e){console.log("Event: /jbrowse/v1/c/tracks/replace",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/replace",function(e){console.log("Event: /jbrowse/v1/n/tracks/replace",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/delete",function(e){console.log("Event: /jbrowse/v1/v/tracks/delete",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/delete",function(e){console.log("Event: /jbrowse/v1/c/tracks/delete",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/delete",function(e){console.log("Event: /jbrowse/v1/n/tracks/delete",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/pin",function(e){console.log("Event: /jbrowse/v1/v/tracks/pin",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/pin",function(e){console.log("Event: /jbrowse/v1/c/tracks/pin",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/pin",function(e){console.log("Event: /jbrowse/v1/n/tracks/pin",e)}),dojo.subscribe("/jbrowse/v1/v/tracks/unpin",function(e){console.log("Event: /jbrowse/v1/v/tracks/unpin",e)}),dojo.subscribe("/jbrowse/v1/c/tracks/unpin",function(e){console.log("Event: /jbrowse/v1/c/tracks/unpin",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/unpin",function(e){console.log("Event: /jbrowse/v1/n/tracks/unpin",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/visibleChanged",function(e){console.log("Event: /jbrowse/v1/n/tracks/visibleChanged",e)}),dojo.subscribe("/jbrowse/v1/n/navigate",function(e){console.log("Event: /jbrowse/v1/n/navigate",e)}),dojo.subscribe("/jbrowse/v1/n/globalHighlightChanged",function(e){console.log("Event: /jbrowse/v1/n/globalHighlightChanged",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/redraw",function(e){console.log("Event: /jbrowse/v1/n/tracks/redraw",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/redrawFinished",function(e){console.log("Event: /jbrowse/v1/n/tracks/redrawFinished",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/focus",function(e){console.log("Event: /jbrowse/v1/n/tracks/focus",e)}),dojo.subscribe("/jbrowse/v1/n/tracks/unfocus",function(e){console.log("Event: /jbrowse/v1/n/tracks/unfocus",e)})}})}.apply(null,n))||(e.exports=r)},564:function(e,t,i){var n,r;n=[i(575),i(458)],void 0===(r=function(e,t){return e([t],{})}.apply(null,n))||(e.exports=r)},565:function(e,t,i){var n,r;n=[i(575),i(576),i(689),i(334),i(459)],void 0===(r=function(e,t,i,n){return n.dojof,e("ComboTrackSelector.View.TrackList.Faceted",JBrowse.View.TrackList.Faceted,{renderInitial:function(){dojo.query("#hierarchicalTrackPane .header").style("margin-bottom","5em"),this.containerElem=dojo.create("div",{id:"faceted_tracksel",className:"jbrowse",style:{left:"-95%",width:"95%",zIndex:500}},document.body),dojo.create("div",{className:"faceted_track_header",innerHTML:"<div>Tracks Available in Faceted List</div>"},this.containerElem);var e=this.config.title.join("<br>"),i="<div></div>";void 0!==this.config.icon?i='</div><img width="20px" src="'+this.config.icon+'"><div>':void 0!==this.browser.config.combotracksel_icon&&(i='</div><img width="20px" src="'+this.browser.config.combotracksel_icon+'"><div>'),dojo.create("div",{className:"faceted_tracksel_on_off tab",innerHTML:i+e+'</div><img src="'+this.browser.resolveUrl("img/right_arrow.png")+'">'},this.containerElem),this.mainContainer=new dijit.layout.BorderContainer({design:"headline",gutters:!1},dojo.create("div",{className:"mainContainer"},this.containerElem)),this.topPane=new dijit.layout.ContentPane({region:"top",id:"faceted_tracksel_top",content:'<div class="title">Select Tracks</div> <div class="topLink" style="cursor: help"><a title="Track selector help">Help</a></div>'}),dojo.query('div.topLink a[title="Track selector help"]',this.topPane.domNode).forEach(function(e){var t=new dijit.Dialog({class:"jbrowse help_dialog",refocus:!1,draggable:!1,title:"Track Selection",content:'<div class="main"><p>The JBrowse Faceted Track Selector makes it easy to search through large numbers of available tracks to find exactly the ones you want. You can incrementally filter the track display to narrow it down to those your are interested in. There are two types of filtering available, which can be used together: <b>filtering with data fields</b>, and free-form <b>filtering with text</b>.</p> <dl><dt>Filtering with Data Fields</dt> <dd>The left column of the display contains the available <b>data fields</b>. Click on the data field name to expand it, and then select one or more values for that field. This narrows the search to display only tracks that have one of those values for that field. You can do this for any number of fields.<dd> <dt>Filtering with Text</dt> <dd>Type text in the "Contains text" box to filter for tracks whose data contains that text. If you type multiple words, tracks are filtered such that they must contain all of those words, in any order. Placing "quotation marks" around the text filters for tracks that contain that phrase exactly. All text matching is case insensitive.</dd> <dt>Activating Tracks</dt> <dd>To activate and deactivate a track, click its check-box in the left-most column. When the box contains a check mark, the track is activated. You can also turn whole groups of tracks on and off using the check-box in the table heading.</dd> </dl></div>'});dojo.connect(e,"onclick",this,function(e){return t.show(),!1})},this),this.mainContainer.addChild(this.topPane),dojo.query(".faceted_tracksel_on_off").onclick(t.hitch(this,"toggle")),this.centerPane=new dijit.layout.BorderContainer({region:"center",class:"gridPane",gutters:!1}),this.mainContainer.addChild(this.centerPane);var n=this.renderTextFilter();this.busyIndicator=dojo.create("div",{innerHTML:'<img src="'+this.browser.resolveUrl("img/spinner.gif")+'">',className:"busy_indicator"},this.containerElem),this.centerPane.addChild(new dijit.layout.ContentPane({region:"top",class:"gridControls",content:[dojo.create("button",{className:"faceted_tracksel_on_off",innerHTML:'<img src="'+this.browser.resolveUrl("img/left_arrow.png")+'"> <div>Back to browser</div>',onclick:t.hitch(this,"hide")}),dojo.create("button",{className:"clear_filters",innerHTML:'<img src="'+this.browser.resolveUrl("img/red_x.png")+'"><div>Clear All Filters</div>',onclick:t.hitch(this,function(e){this._clearTextFilterControl(),this._clearAllFacetControls(),this._async(function(){this.updateQuery(),this._updateFacetCounts()},this).call()})}),this.busyIndicator,n,dojo.create("div",{className:"matching_record_count"})]}))}})}.apply(null,n))||(e.exports=r)},566:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(577),i(574),i(344),i(382),i(341)],void 0===(r=function(e,t,n,r,o,a,s){return e(a,{constructor:function(e){console.log("Loaded ComboTrackSelector plugin");var i=this;new s({bootConfig:i.config2,defaults:i._configDefaults(),browser:i}).getFinalConfig().then(dojo.hitch(i,function(e){i.config2=e})),this.browser.afterMilestone("loadRefSeqs",dojo.hitch(this,function(){i.createNewTrackList(i.config2).then(t.hitch(this,function(){i.initTrackMetadata(i.config2),i._addTrackConfigs(i.config2),this.browser.config.stores=dojo.mixin(this.browser.config.stores,i.config2.stores),this.browser.config.tracks=dojo.mixin(this.browser.config.tracks,i.config2.tracks),this.browser.trackConfigsByName=dojo.mixin(this.browser.trackConfigsByName,i.trackConfigsByName),void 0!==e.icon&&(this.browser.config.combotracksel_icon=e.icon),this.browser.containerWidget.startup(),this.browser.onResize()}))}))},createNewTrackList:function(e){return e=t.clone(e),this.browser._milestoneFunction("createTrack",function(n){var r=this.config.show_tracklist?"Faceted":"Null";/\//.test(r)||(r="ComboTrackSelector/View/TrackList/"+r),Promise.resolve().then(function(){var i=[require(r,null,!1)];t.hitch(this,function(i){this.trackListView=new i(t.mixin(t.clone(e.trackSelector)||{},{trackConfigs:e.tracks,browser:this,trackMetaData:this.trackMetaDataStore})),this.subscribe("/jbrowse/v1/n/tracks/visibleChanged",dojo.hitch(this,function(){this.cookie("tracks",this.view.visibleTrackNames().join(","),{expires:60})})),n.resolve({success:!0})}).apply(null,i)}.bind(this)).catch(i.oe)})},_configDefaults:function(){return{tracks:[],containerID:"GenomeBrowser",dataRoot:o.queryToObject(window.location.search.slice(1)).data||"data",show_tracklist:!0,show_nav:!0,show_overview:!0,refSeqs:"{dataRoot}/seq/refSeqs.json",include:["{dataRoot}/trackList2.json"],nameUrl:"{dataRoot}/names/root.json",datasets:{_DEFAULT_EXAMPLES:!0,volvox:{url:"?data=sample_data/json/volvox",name:"Volvox Example"},modencode:{url:"?data=sample_data/json/modencode",name:"MODEncode Example"},yeast:{url:"?data=sample_data/json/yeast",name:"Yeast Example"}},highlightSearchedRegions:!1,highResolutionMode:"disabled"}},_addTrackConfigs:function(e){var i=(e=t.clone(e)).tracks||[];return e.tracks||(e.tracks=[]),this.trackConfigsByName||(this.trackConfigsByName={}),r.forEach(i,function(t){this.trackConfigsByName[t.label]=t,e.tracks.push(t)},this),i},initTrackMetadata:function(e){return e=t.clone(e),this.browser._milestoneFunction("initTrackMetadata",function(t){var i=dojo.map((e.trackMetadata||{}).sources||[],function(e){var t=e.url||"trackMeta.csv",i=e.type||(/\.csv$/i.test(t)?"csv":/\.js(on)?$/i.test(t)?"json":"csv"),n=e.class||{csv:"dojox/data/CsvStore",json:"dojox/data/JsonRestStore"}[i];return n?{class_:n,url:t}:(console.error("No store class found for type '"+i+"', cannot load track metadata from URL "+t),null)});require(Array.prototype.concat.apply(["JBrowse/Store/TrackMetaData"],dojo.map(i,function(e){return e.class_})),dojo.hitch(this,function(n){for(var r=[],o=1;o<arguments.length;o++)r.push(new arguments[o]({url:i[o-1].url}));this.trackMetaDataStore=new n(dojo.mixin(dojo.clone(e.trackMetadata||{}),{trackConfigs:e.tracks,browser:this,metadataStores:r})),t.resolve({success:!0})}))})}})}.apply(null,n))||(e.exports=r)},567:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(344),i(334)],void 0===(r=function(e,t,i,n,r){return e(n,{constructor:function(e){console.log("plugin: CategoryUrl");var t=this;this.browser.oldShowTracks=this.browser.showTracks,this.browser.showTracks=function(e){var i=0,n=t.browser.config.tracks,o=t.getUrlParam("cat");if(null!=o){for(var a=o.split("/"),s=0;s<a.length;s++)a[s]=a[s].replace(/^[ ]+|[ ]+$/g,"");i=a.length}if(i){for(s=0;s<n.length;s++){var l=[],c=0;if(void 0!==n[s].metadata&&void 0!==n[s].metadata.category&&(c=(l=n[s].metadata.category.split("/")).length),void 0!==n[s].category&&(c=(l=n[s].category.split("/")).length),i<=c){for(var h=0;h<l.length;h++)l[h]=l[h].replace(/^[ ]+|[ ]+$/g,"");var u=!0;for(h=0;h<i;h++)a[h]!=l[h]&&(u=!1);1==u&&e.push(n[s].label)}}e=r.uniq(e)}t.browser.oldShowTracks(e)}},getUrlParam:function(e,t){t||(t=window.location.href),e=e.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var i=new RegExp("[\\?&]"+e+"=([^&#]*)").exec(t);return null==i?null:decodeURIComponent(i[1])}})}.apply(null,n))||(e.exports=r)},568:function(e,t,i){var n,r;n=[i(575),i(576),i(587),i(582),i(579),i(771),i(729),i(819),i(770),i(596),i(604),i(680),i(344),i(490)],void 0===(r=function(e,t,i,n,r,o,a,s,l,c,h,u,d,f){return e(d,{constructor:function(e){this._searchTrackCount=0;var i=this,n=this.browser;console.log("Bookmark plugin starting"),n.afterMilestone("initView",function(){var e=new u({label:"Quick Bookmarks",iconClass:"dijitIconBookmark",onClick:t.hitch(i,"createQuickMark")});n.addGlobalMenuItem("tools",e),null==h.byId("dropdownmenu_tools")&&n.renderGlobalMenu("tools",{text:"Tools"},n.menuBar),console.log("Bookmark plugin added")})},createQuickMark:function(){var e=new f,t=this.browser;e.show(t,function(e){e&&console.log(e)})}})}.apply(null,n))||(e.exports=r)},569:function(e,t,i){var n,r;n=[i(575),i(630),i(334),i(491),i(362)],void 0===(r=function(e,t,i,n,r){return e([r,n],{_defaultConfig:function(){return i.deepUpdate(dojo.clone(this.inherited(arguments)),{maxFeatureScreenDensity:.5,glyph:dojo.hitch(this,"guessGlyphType"),maxFeatureGlyphExpansion:500,maxHeight:600,histograms:{description:"feature density",min:0,height:100,color:"gray",clip_marker_color:"red"},onClick:{action:"contentDialog",title:"{type} {name}",content:dojo.hitch(this,"blastFeatureDetail")},style:{_defaultHistScale:4,_defaultLabelScale:30,_defaultDescriptionScale:120,showLabels:!0,showTooltips:!0,label:"name,id",description:"note, description",color:function(e,t,i,n){var r=function e(t,i){return void 0!==t.get(i)?t.get(i):void 0===t.parent()?void 0:e(t.parent(),i)},o=function e(t,i){if(void 0!==t.get(i))return t.get(i);if(void 0!==t.children()){var n=t.children();for(var r in n){var o=e(n[r],i);if(void 0!==o)return o}}},a=r(e,"color")||o(e,"color")||this.config.style.alignmentColor||"#000000",s=r(e,"score")||o(e,"score"),l=0;0==s||isNaN(s)?l=1:(l=(20-Math.log10(s))/180)==1/0&&(l=1);var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a),h=parseInt(c[1],16),u=parseInt(c[2],16),d=parseInt(c[3],16);return(isNaN(l)||l<0)&&(l=0),"rgba("+h+","+u+","+d+","+l+")"}},displayMode:"normal",events:{contextmenu:function(e,i,n,r,o){o=t.fix(o),i&&i.contextMenu&&i.contextMenu._openMyself({target:n.featureCanvas,coords:{x:o.pageX,y:o.pageY}}),t.stop(o)}},menuTemplate:[{label:"View details",title:"{type} {name}",action:"contentDialog",iconClass:"dijitIconTask",content:dojo.hitch(this,"blastFeatureDetail")}]})}})}.apply(null,n))||(e.exports=r)},570:function(e,t,i){var n,r;n=[i(575),i(344)],void 0===(r=function(e,t){return e(t,{constructor:function(e){e.browser,console.log("BlastView plugin starting")}})}.apply(null,n))||(e.exports=r)},867:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAQCAYAAABnaabpAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gMSByc6QNZPaQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAQXElEQVR42u2bfXRU1bXAf+fOR2aSyRcZSEhIRFFA/CiZASTxqVD79GlqkC4w1SjG91CxLVqwPlptVaT0tT4RWb7nBzUiKFQiPkqePAGpVoUgkAQUJE0U1IAQIB9kksnMZO7c8/7InfQ6DGQmyyIie6271s3Z5+x79809v9ln73MFZ+WsnEZSucAt21sPc9v8A8LYvmugwxI4qj4uUYvsmGZeTGA9QJ0coVwo6jWAbVjvUpBzNJT7xhF4I95rz533cLJiMpkm+VdkZ6aLj50XXoS0DYLELMzjHhHf9LNxu92tgM3Q5K+pqRnwddk/3f3/R4g5WmNhYXEmMBf4IZAJtABvA49VVVX+7WQGp0yZcjNwD/Am8PtVq1bJCL0AfglcBzy3atWqFX3cYwaQCzQAXYb2RGA4sF+/v1ilEJgKPKmPDUsuMBt4DaiK8zkOBI72Q3ciyQYO9kMXVard7tFjamp2xqs7kUgpRwshdsariwV+RbO2wr5FwEJphGD70cATJkw3gAkvpgVbhM1eIP1/FkgJUCWs94YkM8EsVOSTVQnCUxiQ78V67bJ/vXVQTk5OvT8QSNvbdikjL1I0bAMVmZiFUBJOi8laU1MzwO123wM8JaUsrq2tXf912f42+P+PECUK/LKAbcDdQI4OyUzgZqC6sLD4spMZHDBgwE+HDh2alJGRcTMwXweeEX7zMzIybh46dGiS0+m8J4Z7zAVMOuwSI+Bn0vXxyFR9/GzD2DD8EnV9PDIK+BFwTRTdNbpuVBz2xgI/BUqi6Ep03dg44FcG7Kh2u5dE0S3RdWVxwK8M2CGlXBJFt0TXlcUKvMoFbrn1f++TLz80RF5/90uwbxF7qj84rq8DXlXR0BChACGrKsX8LaakgpGiQb5LSklIyns1TMKP1FTkJyJw7oex+vRvd5blTZx49bbRo/PTxrjd0nf+ZN7YN0QJJGSjWJKQvpbTYrK63e6pQogSICCEmO9yucbHa2PXQIelGtvC7ZgbdpNw7d/9n9jrv+XzdGpv2agc3d55Wvl/SgAI/A7I089f7Hn3CIMqCXj6ZAYLCgo+N5lMMi0trdvpdBaFIRiGn9PpLEpLS+s2mUxy3LhxjTHcYwMQMkAwwwC/kK6PR57UI8kwBAsN8OvS9TFLTk7ORUC9/pyuiYCfA6jX+8QWSg4cWAh8oUO5JAJ+ucAXep/Y/sF2+y/DP/JGCOrnZRF9+hRVVWeH7RkhqJ+XRfTpM9ormnQLm9cu4eZfvYlo2sCe6g9466/rj1sCjya4RSPhgW7oDqLKIKrVF+pevEM4yjR8C4IoWhApQoQ+UdMSZhawrz0Wfx5+9MG8CRMmbB05csQ5gUBA2u12cfXE75M07J95c3c33e0HkYdqT4vJKoTottlskwEJ/IuU0hGvjfajgSeCMEnFZPZiWvBmzjl39vg/8pxAICDN/1MpMt96B2l20PCH9bS+v/W08f9UAbDYcP5oVVWlF3jZ0HbJyQzeeuutrwwfPnw/QGpqajAMwTD8UlNTgwDDhw/ff9ttt70Swz12RUBwaAT8uuL0eX8EBG+PgN/+eIzV1dWlT5482QG0GiAYhl/r5MmTHXV1demx2quvrw8UFBRYAI8BgmH4eQoKCiz19fWBmMPTFSuetwwc2GSEoBF+loEDm0atWPF8zEulsrJSv99fZ4SgEX5+v7+urKystC/4haO9RU/M5d4nNn8FfrOf80TNN11Fx+sK4pEQpgQVRQ5Asw4SnY+lYPIGkdYgoU8TEh0/+f4xz77/e3pqTDkrRbGl+APBLEA6HEkiO3sICdYExo0ZRyjtYjbsbENr+fy0mKzV1dVrzGazT18ON+/YsWNjvDYiI2n74ZY5Yk9DFghp3bRVqK++jsSEsNkIDMlli9d22vh/SgBYVVXprKqqFPqxv7CwOAFYaOhy0qWF2WxeP23atKWREIyE37Rp05aazeZ1Md5nVxQw7e8H/IxjX4toey1e+AEkJycvW7p0aXYEBHvht3Tp0uzk5ORlsdpLT09/ae3ataEICPbCb+3ataH09PSXYrWXkJv77IjFix83QtAIvxGLFz+ekJv7bKz2li9f/vH06dNLjBA0wm/69Okly5cv/7gv+ImmDVTX9SwAjPA7/4ILTnr9q/CtUjGV2RHmZCzWoGZXU9BsCYgP2xMTbynsavsM4PqZr8lY/PnReQ+3OLzP1Bw+clRkD87FYraghTQ8nnYKxo+lKeUK3vaM7mtp2grgcrnG5+fn/6Cva44ZM2aSy+W6VB/beSonfGQkrWl+06DnF/k6VqwS/gWLCClmVE2Dc3IY9syTHMqc2Kf/Z1oEaMwHOoCNwJ16kw+4t48wXZrN5jWREIwCvzVCCBnjfSZGyfXlGnKC8UpulFzf1H7kExFC+MMQzMvLM+sQbM3LyzOH4SeE8MdjLwxBp9Op6BD0OJ1OJQy/eO2FIahYrb3jFKvVH4ZfPPYALQxBTdM8vY2a5jHAT4s2MJznE00bWLtmBZfdsEjMfs4jFj0xl7f+up57n9hMe+vhqBdN2aOKZRW/EQDjnL7AkLTAsWNooVY02SU0/8hBAXtBdnsqwLveZCUWR95fgtOjWu+5arzqtnY9K+vr94CEjg4PwVCQtrY2XJeM4JOkq/oyZXO5XNcKIf5LUZQ+C0ChUGi7EGLp2LFjr+xrDv4jpDeSFopdTVRSBidq9mGvPIPNYqU72I3MyyZ93m/odDjIv3h4LP5/a8Xch/4PwD/p516guKqqclsMk05WVFRUHj58eFIkVA4dOnRs9erVlTfddFM88DPm/Pbz1cJIvMvg3Iic32t8tTAS9zJYCOFPSkr6wuv19vrU2NgoBw8e/IXX6/X3B6p2u73d5/Olhtuam5vJyclp9/l8/bJXc9ll+VJVe7dQaN3dto+nTs13b93q78d7oy1btux+RVFS/r6UVFKWLVt2//Lly8tOBL9wnu/tddsovr+md4l6/gUXEAbjicQzyiynAU1Z/FAozE2yy25V1bq8XTI5Iy3UbraSqgR4sWMQ9ycnddT05cDmZabMoD+05Lz8y6/LHDFJ5pue472td9DS+hT5+d+jq6MLj6edzs4OcjIzYnnGlUAA2Ot2u2P6t2iatlF/p0/9xF/W/X6wSh5Mqky+LIVEsHSS2HmQYxe4yHtmEV4h4/L/jIwAgSmG8x9XVVW+HYvRKVOmiIqKit82Nja6InUHDhxwVVRU/NZYHe5DIgseLRxfGIlHIgseVRxfGIlXrvF6vUlAaPLkyQ59ORzS267ph70Sn8+XA2gFBQUWfTms6W0lceeO3O4lUlVvCy97w8thqaq3RasO9yVSyiWKotweXvaGl8OKotwerTrcO+P1yK/p0OaoS+IVSxYeV/wwypEMis0av9ZUIEBieqK6L9kampWg4BBBLLILhz/EfzTlMubk8LPYgv5QxYWXF103KNssu727hWLPEO6R+3C0z2DjXzbh9/tob2+ns9NLSmpaLI/l50KIWrvdPjQ5OTnzZIemaedLKXdJKe+mp6BxyiRljyreXTbAHvSHKi6ZOP6yIXmSdhHgmAIhRzfnWqvZ9pe3df/b4vH/zIoACwuLBTDI0PRmrPAjSsEDoKGhIVdvK2pubmbKlCkPRe4TPEG+LnIfYLgwMrwfebtwxGeM9MKFkdlRcoN9wi8y56e3H1y9enUrMEDvsyFW+EXm/ACKioosW7ZsMRZGVsYKv8icH0D9XXf9e/Do0Sx6CiOMqam5I1b4Reb8AF544YWVNpvtQnoKIwghvmIva/DlrF2zAuM+v9QBmcQKvzYH49Ugv5cB1JAAAYe74b7zfDQecWKWnczFgiZVskSQpz12SlJ8RN1loAaCVyYNyBztSO6UIc0hTLbxaKFqQhIGDzhIQue9bNv+W7Iy07FaE2hpae7rsfhramqedbvdzX6//8rq6uo1J+vscrmmAPNqa2vXud3up0/lhPeMMkv+yBUZB1LHWP70EaZUM6Ggg47DR0jNCmEhRMHqB9jS8gss+aNj9f/MiwCrqiqloRgiqqoqYw3V50QreEQrjAC/isFeC7AzyjK3S2+Pd5NSFTCL6EWVWcS5CXratGlJRBQ8Igsjep+YpKioKJWIgkdkYUTvE5PYhg7NM8IvITf32cjCSLhPTBPI47FHFjwiCyPhPkZpOrSZyH1+scIPoDvAVLyY8JNg9tJi6uCB7A6+EAKZ2cIqLcB/iw5MWgCL0kVSQOMr1ZTmXaS27CZNSswIJmcOuz4JGRRgx9v2Pt7mnagBZMAvcKaayBXzQ61tnaGWlhY+++wzz8nuLfw1Rk1NzWt9wQ+gtrb2ldra2nX6GMepmOhG/9OrmDXoHYtdUyWyQ8MxVJL4Ez+WAOAHixfGrF8otd27tFj8P2OlsLBYho9Yx/zsZz/bNGfOnOo5c+ZUl5eXrw4GgzdKKYWUUgSDwRvLy8tXh/UzZ87c9G1/RlLKG9etWzfd4/HcJaW0GdptHo/nrnXr1k2XUt4Yj73y8vIHWltbZ0Taa21tnVFeXv5AvPY+nzdvnb+xcVakPX9j46zP581bF489IKuurm5+aWnpJRE/oEppaekldXV184Es44AnZ6RItXOXDH26QO56dao0/v3yQ0NiereOMsFyANNTBzBvbrIqlwLI20vFg5JecDZjufNLrJ81YbshCgBk8y5k2x5kdQWys2mR7PryZtnx5WPa3nfQ/rYxRdZtyJMfVQ6Qm5Zam1f/J4vnPVi8+NHHHtlDz9c34YDB+k2+bxMmTLC53e72fgCwx/+VyIMjkM2uwfKIO1UeveY8uW8l2t82JstPH3PKg8MV2TgCdX82LQ25SYcXzpr5icH/M05EXwA0RIQx5ezWrFnz3M6dOy8eNmzYwZKSkhXGaq+UUqiqOmnlypWle/fuHTx69OjdkyZNmnEGQHA8sDOymqoDZ7QQ4oMzyR6QDrRzfLVXAVKBNiP8Ivf5DczorZ30GfkZ5T0lN8WpHTONoqMtqp/cZHqdDVn5fO/QMN7VIgDgAZJNZtj7EYya+LQMdvsJ+TaLjub9qKFUPK1HQocad3+45SP+OG+x8hZoCtBJzwcAe/X5Ir6pwoXL5bpVSrleUZRPNU270GQyjY0l4jT6LxdCcD1YkwYinMkwJ4/OQR29/msv7j7o3IBFdOMVktAehV9fG2QH8Ol3KgfYXykuLi4vLi6+AtgDrDdudRFCSCnlmtLSUh9wEbDpTHiIJwKIDpwPzjR7RsBFiBZNd/wm5/6tqK7U9ntO/mteEQK+hHej+IqQEhVAKJjrNi0Sanc7iiJUv9/c4At82VS7+8iqTTuUhjfe074UQrNLiabDr5ueYoX8hl+1ZiHEnwGhKMpaTdNuj/0d6PHf9HNBaxNmy94ujt2oEgp0qv4Gc0NX94GmHbuPrtrUqjTM7lIKz0XM2ArzfxwK7tD9/+5FgGflrHwd8uSMFAmc8AuPU5QDOyhEz/uuhUDT9PdfIAFbcwu/uOhq/kTPzgIj7DT9CJwOz9Llct0hhHheUZQfbN++/b3++B88JoQMSqGkIaP57yZduZ7uQcvRmvbhU08n/88C8Kycle+o6F+NKPq8lYB2qoooZ6r8P2vrSvrY/SdIAAAAAElFTkSuQmCC"},868:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFQAAAAHCAYAAACWcWqYAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90DHg8PDWdn2GIAAACnSURBVEjH7ZVLDgAhCEPFU3sEb82sSAzDr+rshh2tLnw20BpWXNSu1BiDK9qtYmauaFH1Q5inHgTz1ENh7niUPJgMKBQAS73owXPO1xnRLGAVL4JBRK8zolnAKl43IEQwkRSz5WkIEUwkxfqe9BpCBBNJsb4nfXeSRUHqGpjoFOrae8B3PsGDuvYe8J1PMGdwkj4G9OM56S2lr+akt5TQxfRv+Ytb/gF3t7Kg6oHn4AAAAABJRU5ErkJggg=="},933:function(e,t,i){var n,r;n=[i(590),i(650),i(659)],void 0===(r=function(e,t){return t(e,"css2",i.dj.c(),!1)}.apply(null,n))||(e.exports=r)}}]);
2