@sjcrh/proteinpaint-client 2.172.0 → 2.174.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{2dmaf-XQ6GVICJ.js → 2dmaf-64NPOYZM.js} +4 -4
- package/dist/{AIProjectAdmin-XTDPXBBF.js → AIProjectAdmin-ICSCBVVP.js} +5 -5
- package/dist/{AppHeader-ZHL24RTE.js → AppHeader-MLNU46N4.js} +12 -12
- package/dist/{BoxPlot-GRY2GOVY.js → BoxPlot-GVYESXN3.js} +22 -13
- package/dist/BoxPlot-GVYESXN3.js.map +7 -0
- package/dist/{CorrelationVolcano-I5G5GPOX.js → CorrelationVolcano-REQRYH2M.js} +4 -4
- package/dist/{DifferentialAnalysis-NXTJPOCM.js → DifferentialAnalysis-KGQROTZI.js} +6 -6
- package/dist/{Disco-MJ752FL2.js → Disco-OX7SZIWS.js} +6 -6
- package/dist/{Disco.UI-5TXOVQI5.js → Disco.UI-NLKF3CLE.js} +7 -7
- package/dist/{GB-UCD5AARN.js → GB-MZKRHE66.js} +6 -6
- package/dist/{HicApp-TGI7FCZB.js → HicApp-V7AAKLW5.js} +6 -6
- package/dist/{NumBinaryEditor-4Q2RJQK4.js → NumBinaryEditor-IAYCIO6B.js} +4 -4
- package/dist/{NumBinaryEditor.unit.spec-CCR6FKVR.js → NumBinaryEditor.unit.spec-V5DMJLRR.js} +5 -5
- package/dist/{NumContEditor-SZPGPRVT.js → NumContEditor-L26I7T3U.js} +4 -4
- package/dist/{NumContEditor.unit.spec-ABD2D7HG.js → NumContEditor.unit.spec-NW72HVHJ.js} +5 -5
- package/dist/{NumCustomBinEditor-KDNOTB5J.js → NumCustomBinEditor-Y5OEMGU7.js} +5 -5
- package/dist/{NumCustomBinEditor.unit.spec-RJDFT5CZ.js → NumCustomBinEditor.unit.spec-MJ7ZYL5P.js} +5 -5
- package/dist/{NumDiscreteEditor-XSKAKUTP.js → NumDiscreteEditor-7M3RLBCR.js} +6 -6
- package/dist/{NumDiscreteEditor.unit.spec-64RHX2FF.js → NumDiscreteEditor.unit.spec-AKG3Z26F.js} +5 -5
- package/dist/{NumRegularBinEditor-MYRHTUGV.js → NumRegularBinEditor-2QNODYH6.js} +5 -5
- package/dist/{NumRegularBinEditor.unit.spec-D75RC2MK.js → NumRegularBinEditor.unit.spec-TMDB2SDW.js} +5 -5
- package/dist/{NumSplineEditor-KZDQSRSZ.js → NumSplineEditor-XVAIBA75.js} +4 -4
- package/dist/{NumSplineEditor.unit.spec-PQYTNKPJ.js → NumSplineEditor.unit.spec-AJLMQVAR.js} +5 -5
- package/dist/{NumericDensity-YD4TIZFV.js → NumericDensity-PIXRP2WP.js} +4 -4
- package/dist/{NumericDensity.unit.spec-EVKNSEJI.js → NumericDensity.unit.spec-ABNOJHSD.js} +4 -4
- package/dist/{NumericHandler-LILUAATE.js → NumericHandler-XT67VNSS.js} +5 -5
- package/dist/{NumericHandler.unit.spec-YYPNADNQ.js → NumericHandler.unit.spec-XUZAO3TW.js} +5 -5
- package/dist/RunChart2-43YVU5S2.js +684 -0
- package/dist/RunChart2-43YVU5S2.js.map +7 -0
- package/dist/{SC-SQ6OFSQ3.js → SC-PBO5HIAC.js} +4 -4
- package/dist/{Volcano-MCAHT7QT.js → Volcano-DTTBXPAN.js} +5 -5
- package/dist/{WSIViewer-3NQDHH4O.js → WSIViewer-UQLVGPQZ.js} +4 -4
- package/dist/{WsiSamplesPlot-BJPTNHKK.js → WsiSamplesPlot-N7V3QOZL.js} +5 -5
- package/dist/{adSandbox-EDC46T4H.js → adSandbox-NAH7CHU6.js} +5 -5
- package/dist/{alphaGenome-AVKMYMG4.js → alphaGenome-56XKTRPW.js} +4 -4
- package/dist/{app-ADHAWWYT.js → app-3FROETVO.js} +4 -4
- package/dist/{app-VROJ4PHL.js → app-YI525JTT.js} +14 -14
- package/dist/app.js +10 -10
- package/dist/{bam-MSCNWVOG.js → bam-WL2KFT6T.js} +6 -6
- package/dist/{barchart-CWUHAJKJ.js → barchart-GXHNHCIB.js} +4 -4
- package/dist/{barchart.data-P6PY52XP.js → barchart.data-QNWJJNEH.js} +4 -4
- package/dist/{barchart.events-RZXV7YFR.js → barchart.events-7TX4Y25K.js} +4 -4
- package/dist/{barchart.integration.spec-HPXUF64A.js → barchart.integration.spec-P7AAHXKU.js} +12 -12
- package/dist/{block-ELGRFRYZ.js → block-EEETZJSA.js} +25 -25
- package/dist/{block.init-PLDXJDKU.js → block.init-DIAKC2UR.js} +5 -5
- package/dist/{block.mds.expressionrank-U3JAU6VV.js → block.mds.expressionrank-ZYFAE4RZ.js} +6 -6
- package/dist/{block.mds.geneboxplot-BWTK7OMD.js → block.mds.geneboxplot-L4R62UBP.js} +5 -5
- package/dist/{block.mds.junction-OK33XZXV.js → block.mds.junction-XQJN4YR7.js} +11 -11
- package/dist/{block.mds.svcnv-GARELTFX.js → block.mds.svcnv-W7CHALUK.js} +18 -18
- package/dist/{block.svg-ETZ3CPS4.js → block.svg-65DO7WYG.js} +4 -4
- package/dist/{block.tk.aicheck-OO4ZJIBA.js → block.tk.aicheck-FKBQCLIG.js} +4 -4
- package/dist/{block.tk.ase-YMW43JNW.js → block.tk.ase-3I22YUHD.js} +6 -6
- package/dist/{block.tk.bam-WWM4HLQA.js → block.tk.bam-DV5J6JPB.js} +4 -4
- package/dist/{block.tk.bedgraphdot-ZJRR3246.js → block.tk.bedgraphdot-77RCGR54.js} +4 -4
- package/dist/{block.tk.bigwig.ui-Y4EUFHAA.js → block.tk.bigwig.ui-6BSNWNXL.js} +4 -4
- package/dist/{block.tk.hicstraw-2EGD747I.js → block.tk.hicstraw-MCP2HZML.js} +5 -5
- package/dist/{block.tk.junction-ZAXEQFJH.js → block.tk.junction-WWVRFJZU.js} +8 -8
- package/dist/{block.tk.junction.textmatrixui-ZNNDJ6PW.js → block.tk.junction.textmatrixui-PGSAO5HS.js} +5 -5
- package/dist/{block.tk.ld-MSAH5PQB.js → block.tk.ld-I36OTFTS.js} +7 -7
- package/dist/{block.tk.menu-AAUS4QLK.js → block.tk.menu-W3B2WX2T.js} +4 -4
- package/dist/{block.tk.pgv-Y6H4SG36.js → block.tk.pgv-ASPQTARJ.js} +7 -7
- package/dist/{brainImaging-4MB742HE.js → brainImaging-I7UX2XUL.js} +4 -4
- package/dist/{chat-D6CJIKFM.js → chat-AWEJVLKY.js} +5 -5
- package/dist/{chunk-TR6EV3FG.js → chunk-3HPIIGQW.js} +23 -2
- package/dist/chunk-3HPIIGQW.js.map +7 -0
- package/dist/{chunk-EOAWPFLW.js → chunk-3JBRSSUK.js} +5 -5
- package/dist/{chunk-D2QSQ6B7.js → chunk-4BZQP7FW.js} +13 -8
- package/dist/chunk-4BZQP7FW.js.map +7 -0
- package/dist/{chunk-Q7X3EDVP.js → chunk-4HDFFA54.js} +6 -6
- package/dist/{chunk-TMPVUNMO.js → chunk-4IPA3XE5.js} +7 -7
- package/dist/chunk-4IPA3XE5.js.map +7 -0
- package/dist/{chunk-I2YZRKU5.js → chunk-55DT3CQW.js} +4 -4
- package/dist/{chunk-JTGW7ANC.js → chunk-5WK3YO6E.js} +2 -2
- package/dist/{chunk-QEHDMXH3.js → chunk-662BKGG2.js} +3 -3
- package/dist/{chunk-63XYHG3J.js → chunk-67LQ4ALT.js} +3 -3
- package/dist/{chunk-CO36S47G.js → chunk-6JVU2EGB.js} +9 -9
- package/dist/{chunk-5MWPGNWA.js → chunk-7P4VS5ZR.js} +5 -5
- package/dist/{chunk-PVDRFB43.js → chunk-7YT777HR.js} +3 -3
- package/dist/{chunk-X2NFETXN.js → chunk-7Z2LYFA2.js} +11 -11
- package/dist/{chunk-KJAUSWXP.js → chunk-ATQQRTRM.js} +2 -2
- package/dist/{chunk-IHUXJ6MU.js → chunk-AV4HFJJX.js} +2 -2
- package/dist/{chunk-EOTMV5QH.js → chunk-BS4GTZID.js} +3 -3
- package/dist/{chunk-JINNBHDF.js → chunk-BW4CWXO6.js} +2 -2
- package/dist/{chunk-LUOMXE6T.js → chunk-C5XPSUSS.js} +2 -2
- package/dist/{chunk-TKNO4Y2X.js → chunk-DNF2UA2R.js} +2 -2
- package/dist/{chunk-YRVHC6DW.js → chunk-DRCTJ3V4.js} +2 -2
- package/dist/{chunk-X4FT77I7.js → chunk-ECOTO4QL.js} +2 -2
- package/dist/{chunk-GTVCTQP5.js → chunk-FXLQ2UIZ.js} +10 -9
- package/dist/chunk-FXLQ2UIZ.js.map +7 -0
- package/dist/{chunk-Q6254DFK.js → chunk-GHBKYILC.js} +2 -2
- package/dist/{chunk-W2Z3ZZI3.js → chunk-H4DC5OGY.js} +12 -12
- package/dist/{chunk-4JDI7ALX.js → chunk-HVNP7GNR.js} +4 -4
- package/dist/{chunk-PLPYDZS7.js → chunk-HWHENWT6.js} +5 -24
- package/dist/{chunk-PLPYDZS7.js.map → chunk-HWHENWT6.js.map} +2 -2
- package/dist/{chunk-TZ25DRRM.js → chunk-HX3G53PC.js} +44 -13
- package/dist/chunk-HX3G53PC.js.map +7 -0
- package/dist/{chunk-STWXR2RU.js → chunk-IEFSDWWM.js} +9 -5
- package/dist/chunk-IEFSDWWM.js.map +7 -0
- package/dist/{chunk-J4WQB4VB.js → chunk-IFLJ4O7L.js} +31 -31
- package/dist/{chunk-YB4P5RCZ.js → chunk-IJXG753L.js} +14 -4
- package/dist/{chunk-YB4P5RCZ.js.map → chunk-IJXG753L.js.map} +2 -2
- package/dist/{chunk-RJLYMUZ5.js → chunk-JH362HTW.js} +6 -6
- package/dist/{chunk-3JXOK3W5.js → chunk-L3LHKAN2.js} +17 -8
- package/dist/{chunk-3JXOK3W5.js.map → chunk-L3LHKAN2.js.map} +2 -2
- package/dist/{chunk-KOEMDGCA.js → chunk-LH7EQQRN.js} +4 -4
- package/dist/{chunk-VPOVUHJH.js → chunk-LKU7RJLB.js} +48 -40
- package/dist/chunk-LKU7RJLB.js.map +7 -0
- package/dist/{chunk-EFXJAZAC.js → chunk-LTPBYD4P.js} +8 -8
- package/dist/{chunk-RDMXKGKH.js → chunk-MAVYGIVC.js} +2 -2
- package/dist/{chunk-J3O67RGL.js → chunk-MSBAIT5U.js} +2 -2
- package/dist/{chunk-JUODSDRW.js → chunk-NGWMLA7L.js} +3 -3
- package/dist/{chunk-ZZPYB24S.js → chunk-OEWCFZ5K.js} +833 -750
- package/dist/chunk-OEWCFZ5K.js.map +7 -0
- package/dist/{chunk-HBWD45C4.js → chunk-QKEFS6LM.js} +2 -2
- package/dist/{chunk-OT2KGUOJ.js → chunk-RMXWHKBP.js} +5 -5
- package/dist/{chunk-LDVU36TM.js → chunk-SEEJP4BJ.js} +3 -3
- package/dist/{chunk-FGP3N2TB.js → chunk-SF5SEE3D.js} +3 -3
- package/dist/{chunk-KQLVWPW2.js → chunk-SQZSDM7V.js} +2 -2
- package/dist/{chunk-BPCMPZFS.js → chunk-THU7RQMK.js} +8 -8
- package/dist/{chunk-GB76RKBG.js → chunk-TPEG3F7N.js} +4 -4
- package/dist/{chunk-QYIBJJKL.js → chunk-UGPR7AUC.js} +3 -3
- package/dist/{chunk-UVLNSOJV.js → chunk-WFRQCWN3.js} +3 -3
- package/dist/{chunk-VEGMCJKQ.js → chunk-WOVWZWSL.js} +103 -103
- package/dist/{chunk-C5XNGMJD.js → chunk-WW4ZAATF.js} +3 -3
- package/dist/{chunk-O34KTQTH.js → chunk-X4DVXWSS.js} +2 -2
- package/dist/{chunk-XEOM5XN4.js → chunk-XBKD7CA7.js} +2 -2
- package/dist/{chunk-2L2J6PNK.js → chunk-XJ5XAK2I.js} +11 -9
- package/dist/chunk-XJ5XAK2I.js.map +7 -0
- package/dist/{chunk-3AJTDJYW.js → chunk-XVRPUSH2.js} +3 -3
- package/dist/{chunk-27K3WZYL.js → chunk-ZOV2YTNM.js} +5 -5
- package/dist/{chunk-IAMFJMMC.js → chunk-ZTBG2CWD.js} +2 -2
- package/dist/{condition-ED334RLZ.js → condition-C7C52WPM.js} +4 -4
- package/dist/{controls-PBRW64JP.js → controls-FYPUHSYO.js} +4 -4
- package/dist/{controls.config-6SWD7YL5.js → controls.config-LO6EJACW.js} +4 -4
- package/dist/{correlation-MJWPESWZ.js → correlation-L4DYE7KP.js} +14 -14
- package/dist/{cuminc-ANII2Y4W.js → cuminc-KTCJW6Z7.js} +4 -4
- package/dist/{cuminc.integration.spec-WQLZUYX5.js → cuminc.integration.spec-DAHAULED.js} +12 -12
- package/dist/{customdata.inputui-OFMYYXOV.js → customdata.inputui-V2V3GWC4.js} +4 -4
- package/dist/{dataDownload-SQ2A2JTM.js → dataDownload-75PLPUHZ.js} +4 -4
- package/dist/{dataDownload.integration.spec-KGEBRAXY.js → dataDownload.integration.spec-RZP5O6FO.js} +12 -12
- package/dist/{databrowser.ui-YWJORDCG.js → databrowser.ui-PVKQ7FHL.js} +14 -14
- package/dist/{dictionary-ZZU5KVKN.js → dictionary-ETFS2SS3.js} +4 -4
- package/dist/{e2pca-64GUJMCG.js → e2pca-MKROZ7L3.js} +4 -4
- package/dist/{ep-BAHI7SGR.js → ep-Z6OF2IFC.js} +4 -4
- package/dist/{expclust.gdc.spec-AF5M4UVD.js → expclust.gdc.spec-BIGJJ2FM.js} +12 -12
- package/dist/{facet-RWE7WNX2.js → facet-TN3C4VDL.js} +149 -65
- package/dist/facet-TN3C4VDL.js.map +7 -0
- package/dist/{frequencyChart-QMRHYRIG.js → frequencyChart-GM3YVBPN.js} +9 -9
- package/dist/{frequencyChart.integration.spec-7FX4T2ZZ.js → frequencyChart.integration.spec-GM5DLYXJ.js} +12 -12
- package/dist/{geneExpClustering-6RW4D6HU.js → geneExpClustering-4NUTRU6P.js} +6 -6
- package/dist/{geneExpression-3RE5NMZL.js → geneExpression-33Q5A2HG.js} +2 -2
- package/dist/{geneExpression-2U6VIFAF.js → geneExpression-BLL65ALG.js} +4 -4
- package/dist/{geneORA-KOQAD5I6.js → geneORA-OZ6ETAUS.js} +4 -4
- package/dist/{geneVariant-LBD46TMN.js → geneVariant-M6TYATBX.js} +4 -4
- package/dist/{geneVariant-VTBTY2SW.js → geneVariant-N2GJAOQF.js} +4 -4
- package/dist/{genefusion.ui-C7VLX2UG.js → genefusion.ui-SN6UFM5S.js} +4 -4
- package/dist/{geneset-GQG3OJ7J.js → geneset-CAV5QSWL.js} +4 -4
- package/dist/{genomeBrowser.spec-4UTS2YXF.js → genomeBrowser.spec-2WGSY3PJ.js} +12 -12
- package/dist/{grin2-VE5XNJKZ.js → grin2-BDKB7MVB.js} +4 -4
- package/dist/{grin2-F6XOD4YU.js → grin2-ZHRQYEMI.js} +13 -76
- package/dist/{grin2-F6XOD4YU.js.map → grin2-ZHRQYEMI.js.map} +2 -2
- package/dist/{gsea-JDWX3DMM.js → gsea-CC5UCLXX.js} +6 -6
- package/dist/{hierCluster-F7WDQYVT.js → hierCluster-3VFGOPOW.js} +15 -15
- package/dist/{hierCluster-EPOPKIVT.js → hierCluster-4SJGMAEA.js} +16 -16
- package/dist/{hierCluster.config-YTBDTCSP.js → hierCluster.config-3EOEXXNS.js} +6 -6
- package/dist/{hierCluster.integration.spec-HXIDPLHQ.js → hierCluster.integration.spec-6F3YWXPT.js} +14 -14
- package/dist/{hierCluster.interactivity-7ZR33WGJ.js → hierCluster.interactivity-7YDXDCXX.js} +5 -5
- package/dist/{imagePlot-3F4PT7WO.js → imagePlot-ULTKZ6LW.js} +5 -5
- package/dist/importPlot-FBIOJ5AY.js +8 -0
- package/dist/{launch.adhoc-QPTXFGDW.js → launch.adhoc-IRTFE7XR.js} +7 -7
- package/dist/{leftlabel.sample-V7QWO5ZV.js → leftlabel.sample-4GRPMO46.js} +8 -8
- package/dist/{lollipop-RWKHU54D.js → lollipop-FVKJDPNG.js} +6 -6
- package/dist/{maf-PBGETTRX.js → maf-TN4LVPBR.js} +4 -4
- package/dist/{maftimeline-XRD522S6.js → maftimeline-QMB62FQG.js} +4 -4
- package/dist/{matrix-5G4LXK6H.js → matrix-C42Y2EY5.js} +13 -13
- package/dist/{matrix-VOAN43KX.js → matrix-SUI2HBQ3.js} +13 -13
- package/dist/{matrix.cells-YWNMLSFC.js → matrix.cells-TO67OASJ.js} +4 -6
- package/dist/{matrix.config-JEOHJ5UQ.js → matrix.config-GFS52UPE.js} +5 -5
- package/dist/{matrix.controls-5RLX6FVC.js → matrix.controls-U556OA46.js} +5 -5
- package/dist/{matrix.data-B2WREJ2K.js → matrix.data-4OGS6J7U.js} +5 -5
- package/dist/{matrix.integration.spec-3O52Y7DT.js → matrix.integration.spec-P3G4KADI.js} +127 -95
- package/dist/matrix.integration.spec-P3G4KADI.js.map +7 -0
- package/dist/{matrix.interactivity-IISHAZAT.js → matrix.interactivity-2K3LOMB2.js} +5 -5
- package/dist/{matrix.layout-HKVWGU6N.js → matrix.layout-HRA2R7YQ.js} +5 -5
- package/dist/{matrix.renderers-HQCUEOLC.js → matrix.renderers-TBRFHV5R.js} +5 -5
- package/dist/{matrix.serieses-NKLZCLCX.js → matrix.serieses-CLH35H7K.js} +3 -3
- package/dist/{matrix.sort.unit.spec-OFL4LM7Y.js → matrix.sort.unit.spec-MO4ZMIBH.js} +5 -5
- package/dist/{matrix.sorterUi.unit.spec-67F5WBEJ.js → matrix.sorterUi.unit.spec-NNWI6JKR.js} +5 -5
- package/dist/{mavb-OXZK6Y7T.js → mavb-OP2JLLTK.js} +5 -5
- package/dist/{mds.fimo-CAHE6A67.js → mds.fimo-BBECX573.js} +4 -4
- package/dist/{mds.samplescatterplot-M6XSGYAY.js → mds.samplescatterplot-5NF72Z6O.js} +6 -6
- package/dist/{mds.survivalplot-ETYZTUOF.js → mds.survivalplot-52NYU2DV.js} +4 -4
- package/dist/{oncomatrix-75O7BWSN.js → oncomatrix-2BCVBTRK.js} +6 -6
- package/dist/{oncomatrix.spec-CMLYDHLL.js → oncomatrix.spec-OPCXNN6X.js} +12 -12
- package/dist/{plot.2dvaf-5Z7QTXLO.js → plot.2dvaf-NZTCCVTW.js} +4 -4
- package/dist/{plot.app-HJBBGR6T.js → plot.app-3QW5AYRP.js} +6 -6
- package/dist/{plot.barplot-SN6OO6LK.js → plot.barplot-47R3YM4X.js} +4 -4
- package/dist/{plot.boxplot-TWOJKUIP.js → plot.boxplot-WSIDIOKR.js} +4 -4
- package/dist/{plot.brainImaging-H4YONCWE.js → plot.brainImaging-5OR2YHOH.js} +2 -2
- package/dist/{plot.disco-UPLXFVUW.js → plot.disco-EGJRBYZD.js} +3 -3
- package/dist/{plot.dzi-H66DYAHZ.js → plot.dzi-BDC7EUSH.js} +2 -2
- package/dist/{plot.ssgq-B7YGPUU6.js → plot.ssgq-U3UMLHFK.js} +5 -5
- package/dist/{plot.vaf2cov-XHAOR3EG.js → plot.vaf2cov-QJDF3TJG.js} +4 -4
- package/dist/{plot.wsi-JJVGRFRG.js → plot.wsi-FH6MUUI2.js} +2 -2
- package/dist/{polar-UNE2M3JH.js → polar-TGZFEH5A.js} +5 -5
- package/dist/{profile.spec-Z3LGCQI7.js → profile.spec-PZOBMDRZ.js} +12 -12
- package/dist/{profileBarchart-ZFXYZEOB.js → profileBarchart-XPPYAJNP.js} +5 -5
- package/dist/{profileForms-5KYIKPDI.js → profileForms-TVKUH5GO.js} +5 -5
- package/dist/{profilePlot-OF5RHPTZ.js → profilePlot-HBFH6OQQ.js} +5 -5
- package/dist/{profileRadar-LIRKEWSH.js → profileRadar-CO2JFSHF.js} +5 -5
- package/dist/{profileRadarFacility-XEBLUK3P.js → profileRadarFacility-B6EEDI6A.js} +5 -5
- package/dist/{qualitative-CEA3ZDMT.js → qualitative-NLUONFDP.js} +4 -4
- package/dist/{regression-4ZM6SXTW.js → regression-S5Y7L2LX.js} +12 -12
- package/dist/{regression.inputs-ZYPZQHKT.js → regression.inputs-BTFOI2LV.js} +12 -12
- package/dist/{regression.inputs.term-HEB3B3JW.js → regression.inputs.term-265UCCPD.js} +12 -12
- package/dist/{regression.inputs.values.table-PHBHSATI.js → regression.inputs.values.table-IL4L3MA4.js} +10 -10
- package/dist/{regression.integration.spec-RRCA2UR4.js → regression.integration.spec-TP46REX4.js} +12 -12
- package/dist/{regression.results-DDYHXLVY.js → regression.results-ZSY24SUK.js} +5 -5
- package/dist/{regression.spec-2FN7L5HE.js → regression.spec-6FII2PPJ.js} +12 -12
- package/dist/{report-PHJ2DDJ4.js → report-HKM2WITY.js} +4 -4
- package/dist/{runChart-NW5PAAJM.js → runChart-SQIWVSYD.js} +9 -9
- package/dist/{runchart.integration.spec-CQPZJY5B.js → runchart.integration.spec-SMYLUCTG.js} +12 -12
- package/dist/{sampleScatter.spec-MP5YDNMZ.js → sampleScatter.spec-U5OUCPE4.js} +12 -12
- package/dist/{sampleView-MHA366F7.js → sampleView-VUFGSFY6.js} +5 -5
- package/dist/{samplelst-LB34NUJ4.js → samplelst-3GBE4IV3.js} +4 -4
- package/dist/{samplematrix-PXPLDCIB.js → samplematrix-HFYCDDPU.js} +6 -6
- package/dist/{scatter-5Z424GOU.js → scatter-STZ47Q6E.js} +8 -8
- package/dist/{scatter.integration.spec-KC6KSNRR.js → scatter.integration.spec-OGA6ICFT.js} +12 -12
- package/dist/{selectGenomeWithTklst-YNC6UY2Q.js → selectGenomeWithTklst-YZXLRXVS.js} +5 -5
- package/dist/{singleCellPlot-DIVE5CHL.js → singleCellPlot-NVOKUUJV.js} +6 -6
- package/dist/{singlecell-JR2NV7E6.js → singlecell-EZSPKN5X.js} +6 -6
- package/dist/{singlecell-YHVSWFEQ.js → singlecell-QEUMWZIX.js} +7 -7
- package/dist/{snp-KG6PQIXX.js → snp-BHFWRR3Z.js} +4 -4
- package/dist/{snplocus-WB2C5HWD.js → snplocus-JMXWHZKL.js} +4 -4
- package/dist/{spliceevent.a53ss.diagram-MGSA7HZL.js → spliceevent.a53ss.diagram-GVLWHHYE.js} +4 -4
- package/dist/{spliceevent.exonskip.diagram-G7RKJHC7.js → spliceevent.exonskip.diagram-MZ7L2YBF.js} +5 -5
- package/dist/{spliceevent.noeventdiagram-5NDVFJDF.js → spliceevent.noeventdiagram-TIT6WWIR.js} +4 -4
- package/dist/{ssGSEA-6OZBZJ6K.js → ssGSEA-NVVC2OGU.js} +4 -4
- package/dist/{summarizeCnvGeneexp-SKTFB6OA.js → summarizeCnvGeneexp-ENRWQ657.js} +5 -5
- package/dist/{summarizeGeneexpSurvival-JJKN7GEA.js → summarizeGeneexpSurvival-6KXZKIFQ.js} +5 -5
- package/dist/{summarizeMutationCnv-YENTHAEH.js → summarizeMutationCnv-5PPLYJXL.js} +5 -5
- package/dist/{summarizeMutationDiagnosis-YW5AYATA.js → summarizeMutationDiagnosis-XYZVYRKL.js} +5 -5
- package/dist/{summarizeMutationSurvival-THJZ4HMQ.js → summarizeMutationSurvival-MARFIHYK.js} +5 -5
- package/dist/{summary-I2JZJHO6.js → summary-Q4NAK35O.js} +12 -12
- package/dist/{summary.integration.spec-A2OXTPTQ.js → summary.integration.spec-JHO6F4FM.js} +12 -12
- package/dist/{summaryInput-ZVCPA3VG.js → summaryInput-E74QELGD.js} +5 -5
- package/dist/{sunburst-AXMNTP3P.js → sunburst-QK5K7SHO.js} +4 -4
- package/dist/{survival-QJBWROWT.js → survival-2NUABXFX.js} +5 -5
- package/dist/{survival-53FJMMTL.js → survival-OYYEZZSD.js} +4 -4
- package/dist/{survival.integration.spec-6JLZAFCX.js → survival.integration.spec-FZOTOUYE.js} +12 -12
- package/dist/{svgraph-Y75ERQ6I.js → svgraph-2BRH2IAX.js} +4 -4
- package/dist/{svmr-6RSHNSAT.js → svmr-SFEWM66Z.js} +7 -7
- package/dist/{table-2I4IWC4F.js → table-H3BLOHSC.js} +4 -4
- package/dist/{termCollection-DBXYDCRR.js → termCollection-H5ZTEIAN.js} +4 -4
- package/dist/{termCollection-NBXM5IBN.js → termCollection-PNEWJDJO.js} +4 -4
- package/dist/{tk-ZCAX2TTW.js → tk-XT3DVFOV.js} +8 -8
- package/dist/{tp.ui-PRTPX4UU.js → tp.ui-BD2AQP5Q.js} +13 -13
- package/dist/{tvs.dt-MAPIBPBU.js → tvs.dt-RLFUELKF.js} +4 -4
- package/dist/{tvs.dtcnv.categorical-TLOYLOIJ.js → tvs.dtcnv.categorical-7O3ZUP66.js} +4 -4
- package/dist/{tvs.dtcnv.continuous-GH35LKIQ.js → tvs.dtcnv.continuous-757Q4FA4.js} +4 -4
- package/dist/{tvs.dtfusion-WZ7UGGN6.js → tvs.dtfusion-HJEDS622.js} +4 -4
- package/dist/{tvs.dtsnvindel-HHQLS44K.js → tvs.dtsnvindel-7FXQTCSC.js} +4 -4
- package/dist/{tvs.dtsv-D3E5CYSK.js → tvs.dtsv-RW3T75HT.js} +4 -4
- package/dist/{tvs.samplelst-WJYLDBRB.js → tvs.samplelst-UVOSIBHQ.js} +4 -4
- package/dist/{tvs.termCollection-UZL2KSZ4.js → tvs.termCollection-KRSI34KO.js} +4 -4
- package/dist/{violin-OXR6OD2P.js → violin-3GNK3Z6D.js} +7 -7
- package/dist/{violin.integration.spec-YB3QLU2I.js → violin.integration.spec-ZCIJQASD.js} +12 -12
- package/dist/{violin.interactivity-JQ2P3JBT.js → violin.interactivity-TK4MA4NF.js} +5 -5
- package/dist/{violin.renderer-AOY3GTUC.js → violin.renderer-STW64ACT.js} +5 -5
- package/dist/{vocabulary-4S6IBHEC.js → vocabulary-MASFFPOH.js} +4 -4
- package/package.json +3 -3
- package/dist/BoxPlot-GRY2GOVY.js.map +0 -7
- package/dist/RunChart2-PR4P465J.js +0 -94
- package/dist/RunChart2-PR4P465J.js.map +0 -7
- package/dist/chunk-2L2J6PNK.js.map +0 -7
- package/dist/chunk-D2QSQ6B7.js.map +0 -7
- package/dist/chunk-GTVCTQP5.js.map +0 -7
- package/dist/chunk-STWXR2RU.js.map +0 -7
- package/dist/chunk-TMPVUNMO.js.map +0 -7
- package/dist/chunk-TR6EV3FG.js.map +0 -7
- package/dist/chunk-TZ25DRRM.js.map +0 -7
- package/dist/chunk-VPOVUHJH.js.map +0 -7
- package/dist/chunk-ZZPYB24S.js.map +0 -7
- package/dist/facet-RWE7WNX2.js.map +0 -7
- package/dist/importPlot-KMHAVHVY.js +0 -8
- package/dist/matrix.integration.spec-3O52Y7DT.js.map +0 -7
- /package/dist/{2dmaf-XQ6GVICJ.js.map → 2dmaf-64NPOYZM.js.map} +0 -0
- /package/dist/{AIProjectAdmin-XTDPXBBF.js.map → AIProjectAdmin-ICSCBVVP.js.map} +0 -0
- /package/dist/{AppHeader-ZHL24RTE.js.map → AppHeader-MLNU46N4.js.map} +0 -0
- /package/dist/{CorrelationVolcano-I5G5GPOX.js.map → CorrelationVolcano-REQRYH2M.js.map} +0 -0
- /package/dist/{DifferentialAnalysis-NXTJPOCM.js.map → DifferentialAnalysis-KGQROTZI.js.map} +0 -0
- /package/dist/{Disco-MJ752FL2.js.map → Disco-OX7SZIWS.js.map} +0 -0
- /package/dist/{Disco.UI-5TXOVQI5.js.map → Disco.UI-NLKF3CLE.js.map} +0 -0
- /package/dist/{GB-UCD5AARN.js.map → GB-MZKRHE66.js.map} +0 -0
- /package/dist/{HicApp-TGI7FCZB.js.map → HicApp-V7AAKLW5.js.map} +0 -0
- /package/dist/{NumBinaryEditor-4Q2RJQK4.js.map → NumBinaryEditor-IAYCIO6B.js.map} +0 -0
- /package/dist/{NumBinaryEditor.unit.spec-CCR6FKVR.js.map → NumBinaryEditor.unit.spec-V5DMJLRR.js.map} +0 -0
- /package/dist/{NumContEditor-SZPGPRVT.js.map → NumContEditor-L26I7T3U.js.map} +0 -0
- /package/dist/{NumContEditor.unit.spec-ABD2D7HG.js.map → NumContEditor.unit.spec-NW72HVHJ.js.map} +0 -0
- /package/dist/{NumCustomBinEditor-KDNOTB5J.js.map → NumCustomBinEditor-Y5OEMGU7.js.map} +0 -0
- /package/dist/{NumCustomBinEditor.unit.spec-RJDFT5CZ.js.map → NumCustomBinEditor.unit.spec-MJ7ZYL5P.js.map} +0 -0
- /package/dist/{NumDiscreteEditor-XSKAKUTP.js.map → NumDiscreteEditor-7M3RLBCR.js.map} +0 -0
- /package/dist/{NumDiscreteEditor.unit.spec-64RHX2FF.js.map → NumDiscreteEditor.unit.spec-AKG3Z26F.js.map} +0 -0
- /package/dist/{NumRegularBinEditor-MYRHTUGV.js.map → NumRegularBinEditor-2QNODYH6.js.map} +0 -0
- /package/dist/{NumRegularBinEditor.unit.spec-D75RC2MK.js.map → NumRegularBinEditor.unit.spec-TMDB2SDW.js.map} +0 -0
- /package/dist/{NumSplineEditor-KZDQSRSZ.js.map → NumSplineEditor-XVAIBA75.js.map} +0 -0
- /package/dist/{NumSplineEditor.unit.spec-PQYTNKPJ.js.map → NumSplineEditor.unit.spec-AJLMQVAR.js.map} +0 -0
- /package/dist/{NumericDensity-YD4TIZFV.js.map → NumericDensity-PIXRP2WP.js.map} +0 -0
- /package/dist/{NumericDensity.unit.spec-EVKNSEJI.js.map → NumericDensity.unit.spec-ABNOJHSD.js.map} +0 -0
- /package/dist/{NumericHandler-LILUAATE.js.map → NumericHandler-XT67VNSS.js.map} +0 -0
- /package/dist/{NumericHandler.unit.spec-YYPNADNQ.js.map → NumericHandler.unit.spec-XUZAO3TW.js.map} +0 -0
- /package/dist/{SC-SQ6OFSQ3.js.map → SC-PBO5HIAC.js.map} +0 -0
- /package/dist/{Volcano-MCAHT7QT.js.map → Volcano-DTTBXPAN.js.map} +0 -0
- /package/dist/{WSIViewer-3NQDHH4O.js.map → WSIViewer-UQLVGPQZ.js.map} +0 -0
- /package/dist/{WsiSamplesPlot-BJPTNHKK.js.map → WsiSamplesPlot-N7V3QOZL.js.map} +0 -0
- /package/dist/{adSandbox-EDC46T4H.js.map → adSandbox-NAH7CHU6.js.map} +0 -0
- /package/dist/{alphaGenome-AVKMYMG4.js.map → alphaGenome-56XKTRPW.js.map} +0 -0
- /package/dist/{app-ADHAWWYT.js.map → app-3FROETVO.js.map} +0 -0
- /package/dist/{app-VROJ4PHL.js.map → app-YI525JTT.js.map} +0 -0
- /package/dist/{bam-MSCNWVOG.js.map → bam-WL2KFT6T.js.map} +0 -0
- /package/dist/{barchart-CWUHAJKJ.js.map → barchart-GXHNHCIB.js.map} +0 -0
- /package/dist/{barchart.data-P6PY52XP.js.map → barchart.data-QNWJJNEH.js.map} +0 -0
- /package/dist/{barchart.events-RZXV7YFR.js.map → barchart.events-7TX4Y25K.js.map} +0 -0
- /package/dist/{barchart.integration.spec-HPXUF64A.js.map → barchart.integration.spec-P7AAHXKU.js.map} +0 -0
- /package/dist/{block-ELGRFRYZ.js.map → block-EEETZJSA.js.map} +0 -0
- /package/dist/{block.init-PLDXJDKU.js.map → block.init-DIAKC2UR.js.map} +0 -0
- /package/dist/{block.mds.expressionrank-U3JAU6VV.js.map → block.mds.expressionrank-ZYFAE4RZ.js.map} +0 -0
- /package/dist/{block.mds.geneboxplot-BWTK7OMD.js.map → block.mds.geneboxplot-L4R62UBP.js.map} +0 -0
- /package/dist/{block.mds.junction-OK33XZXV.js.map → block.mds.junction-XQJN4YR7.js.map} +0 -0
- /package/dist/{block.mds.svcnv-GARELTFX.js.map → block.mds.svcnv-W7CHALUK.js.map} +0 -0
- /package/dist/{block.svg-ETZ3CPS4.js.map → block.svg-65DO7WYG.js.map} +0 -0
- /package/dist/{block.tk.aicheck-OO4ZJIBA.js.map → block.tk.aicheck-FKBQCLIG.js.map} +0 -0
- /package/dist/{block.tk.ase-YMW43JNW.js.map → block.tk.ase-3I22YUHD.js.map} +0 -0
- /package/dist/{block.tk.bam-WWM4HLQA.js.map → block.tk.bam-DV5J6JPB.js.map} +0 -0
- /package/dist/{block.tk.bedgraphdot-ZJRR3246.js.map → block.tk.bedgraphdot-77RCGR54.js.map} +0 -0
- /package/dist/{block.tk.bigwig.ui-Y4EUFHAA.js.map → block.tk.bigwig.ui-6BSNWNXL.js.map} +0 -0
- /package/dist/{block.tk.hicstraw-2EGD747I.js.map → block.tk.hicstraw-MCP2HZML.js.map} +0 -0
- /package/dist/{block.tk.junction-ZAXEQFJH.js.map → block.tk.junction-WWVRFJZU.js.map} +0 -0
- /package/dist/{block.tk.junction.textmatrixui-ZNNDJ6PW.js.map → block.tk.junction.textmatrixui-PGSAO5HS.js.map} +0 -0
- /package/dist/{block.tk.ld-MSAH5PQB.js.map → block.tk.ld-I36OTFTS.js.map} +0 -0
- /package/dist/{block.tk.menu-AAUS4QLK.js.map → block.tk.menu-W3B2WX2T.js.map} +0 -0
- /package/dist/{block.tk.pgv-Y6H4SG36.js.map → block.tk.pgv-ASPQTARJ.js.map} +0 -0
- /package/dist/{brainImaging-4MB742HE.js.map → brainImaging-I7UX2XUL.js.map} +0 -0
- /package/dist/{chat-D6CJIKFM.js.map → chat-AWEJVLKY.js.map} +0 -0
- /package/dist/{chunk-EOAWPFLW.js.map → chunk-3JBRSSUK.js.map} +0 -0
- /package/dist/{chunk-Q7X3EDVP.js.map → chunk-4HDFFA54.js.map} +0 -0
- /package/dist/{chunk-I2YZRKU5.js.map → chunk-55DT3CQW.js.map} +0 -0
- /package/dist/{chunk-JTGW7ANC.js.map → chunk-5WK3YO6E.js.map} +0 -0
- /package/dist/{chunk-QEHDMXH3.js.map → chunk-662BKGG2.js.map} +0 -0
- /package/dist/{chunk-63XYHG3J.js.map → chunk-67LQ4ALT.js.map} +0 -0
- /package/dist/{chunk-CO36S47G.js.map → chunk-6JVU2EGB.js.map} +0 -0
- /package/dist/{chunk-5MWPGNWA.js.map → chunk-7P4VS5ZR.js.map} +0 -0
- /package/dist/{chunk-PVDRFB43.js.map → chunk-7YT777HR.js.map} +0 -0
- /package/dist/{chunk-X2NFETXN.js.map → chunk-7Z2LYFA2.js.map} +0 -0
- /package/dist/{chunk-KJAUSWXP.js.map → chunk-ATQQRTRM.js.map} +0 -0
- /package/dist/{chunk-IHUXJ6MU.js.map → chunk-AV4HFJJX.js.map} +0 -0
- /package/dist/{chunk-EOTMV5QH.js.map → chunk-BS4GTZID.js.map} +0 -0
- /package/dist/{chunk-JINNBHDF.js.map → chunk-BW4CWXO6.js.map} +0 -0
- /package/dist/{chunk-LUOMXE6T.js.map → chunk-C5XPSUSS.js.map} +0 -0
- /package/dist/{chunk-TKNO4Y2X.js.map → chunk-DNF2UA2R.js.map} +0 -0
- /package/dist/{chunk-YRVHC6DW.js.map → chunk-DRCTJ3V4.js.map} +0 -0
- /package/dist/{chunk-X4FT77I7.js.map → chunk-ECOTO4QL.js.map} +0 -0
- /package/dist/{chunk-Q6254DFK.js.map → chunk-GHBKYILC.js.map} +0 -0
- /package/dist/{chunk-W2Z3ZZI3.js.map → chunk-H4DC5OGY.js.map} +0 -0
- /package/dist/{chunk-4JDI7ALX.js.map → chunk-HVNP7GNR.js.map} +0 -0
- /package/dist/{chunk-J4WQB4VB.js.map → chunk-IFLJ4O7L.js.map} +0 -0
- /package/dist/{chunk-RJLYMUZ5.js.map → chunk-JH362HTW.js.map} +0 -0
- /package/dist/{chunk-KOEMDGCA.js.map → chunk-LH7EQQRN.js.map} +0 -0
- /package/dist/{chunk-EFXJAZAC.js.map → chunk-LTPBYD4P.js.map} +0 -0
- /package/dist/{chunk-RDMXKGKH.js.map → chunk-MAVYGIVC.js.map} +0 -0
- /package/dist/{chunk-J3O67RGL.js.map → chunk-MSBAIT5U.js.map} +0 -0
- /package/dist/{chunk-JUODSDRW.js.map → chunk-NGWMLA7L.js.map} +0 -0
- /package/dist/{chunk-HBWD45C4.js.map → chunk-QKEFS6LM.js.map} +0 -0
- /package/dist/{chunk-OT2KGUOJ.js.map → chunk-RMXWHKBP.js.map} +0 -0
- /package/dist/{chunk-LDVU36TM.js.map → chunk-SEEJP4BJ.js.map} +0 -0
- /package/dist/{chunk-FGP3N2TB.js.map → chunk-SF5SEE3D.js.map} +0 -0
- /package/dist/{chunk-KQLVWPW2.js.map → chunk-SQZSDM7V.js.map} +0 -0
- /package/dist/{chunk-BPCMPZFS.js.map → chunk-THU7RQMK.js.map} +0 -0
- /package/dist/{chunk-GB76RKBG.js.map → chunk-TPEG3F7N.js.map} +0 -0
- /package/dist/{chunk-QYIBJJKL.js.map → chunk-UGPR7AUC.js.map} +0 -0
- /package/dist/{chunk-UVLNSOJV.js.map → chunk-WFRQCWN3.js.map} +0 -0
- /package/dist/{chunk-VEGMCJKQ.js.map → chunk-WOVWZWSL.js.map} +0 -0
- /package/dist/{chunk-C5XNGMJD.js.map → chunk-WW4ZAATF.js.map} +0 -0
- /package/dist/{chunk-O34KTQTH.js.map → chunk-X4DVXWSS.js.map} +0 -0
- /package/dist/{chunk-XEOM5XN4.js.map → chunk-XBKD7CA7.js.map} +0 -0
- /package/dist/{chunk-3AJTDJYW.js.map → chunk-XVRPUSH2.js.map} +0 -0
- /package/dist/{chunk-27K3WZYL.js.map → chunk-ZOV2YTNM.js.map} +0 -0
- /package/dist/{chunk-IAMFJMMC.js.map → chunk-ZTBG2CWD.js.map} +0 -0
- /package/dist/{condition-ED334RLZ.js.map → condition-C7C52WPM.js.map} +0 -0
- /package/dist/{controls-PBRW64JP.js.map → controls-FYPUHSYO.js.map} +0 -0
- /package/dist/{controls.config-6SWD7YL5.js.map → controls.config-LO6EJACW.js.map} +0 -0
- /package/dist/{correlation-MJWPESWZ.js.map → correlation-L4DYE7KP.js.map} +0 -0
- /package/dist/{cuminc-ANII2Y4W.js.map → cuminc-KTCJW6Z7.js.map} +0 -0
- /package/dist/{cuminc.integration.spec-WQLZUYX5.js.map → cuminc.integration.spec-DAHAULED.js.map} +0 -0
- /package/dist/{customdata.inputui-OFMYYXOV.js.map → customdata.inputui-V2V3GWC4.js.map} +0 -0
- /package/dist/{dataDownload-SQ2A2JTM.js.map → dataDownload-75PLPUHZ.js.map} +0 -0
- /package/dist/{dataDownload.integration.spec-KGEBRAXY.js.map → dataDownload.integration.spec-RZP5O6FO.js.map} +0 -0
- /package/dist/{databrowser.ui-YWJORDCG.js.map → databrowser.ui-PVKQ7FHL.js.map} +0 -0
- /package/dist/{dictionary-ZZU5KVKN.js.map → dictionary-ETFS2SS3.js.map} +0 -0
- /package/dist/{e2pca-64GUJMCG.js.map → e2pca-MKROZ7L3.js.map} +0 -0
- /package/dist/{ep-BAHI7SGR.js.map → ep-Z6OF2IFC.js.map} +0 -0
- /package/dist/{expclust.gdc.spec-AF5M4UVD.js.map → expclust.gdc.spec-BIGJJ2FM.js.map} +0 -0
- /package/dist/{frequencyChart-QMRHYRIG.js.map → frequencyChart-GM3YVBPN.js.map} +0 -0
- /package/dist/{frequencyChart.integration.spec-7FX4T2ZZ.js.map → frequencyChart.integration.spec-GM5DLYXJ.js.map} +0 -0
- /package/dist/{geneExpClustering-6RW4D6HU.js.map → geneExpClustering-4NUTRU6P.js.map} +0 -0
- /package/dist/{geneExpression-3RE5NMZL.js.map → geneExpression-33Q5A2HG.js.map} +0 -0
- /package/dist/{geneExpression-2U6VIFAF.js.map → geneExpression-BLL65ALG.js.map} +0 -0
- /package/dist/{geneORA-KOQAD5I6.js.map → geneORA-OZ6ETAUS.js.map} +0 -0
- /package/dist/{geneVariant-LBD46TMN.js.map → geneVariant-M6TYATBX.js.map} +0 -0
- /package/dist/{geneVariant-VTBTY2SW.js.map → geneVariant-N2GJAOQF.js.map} +0 -0
- /package/dist/{genefusion.ui-C7VLX2UG.js.map → genefusion.ui-SN6UFM5S.js.map} +0 -0
- /package/dist/{geneset-GQG3OJ7J.js.map → geneset-CAV5QSWL.js.map} +0 -0
- /package/dist/{genomeBrowser.spec-4UTS2YXF.js.map → genomeBrowser.spec-2WGSY3PJ.js.map} +0 -0
- /package/dist/{grin2-VE5XNJKZ.js.map → grin2-BDKB7MVB.js.map} +0 -0
- /package/dist/{gsea-JDWX3DMM.js.map → gsea-CC5UCLXX.js.map} +0 -0
- /package/dist/{hierCluster-EPOPKIVT.js.map → hierCluster-3VFGOPOW.js.map} +0 -0
- /package/dist/{hierCluster-F7WDQYVT.js.map → hierCluster-4SJGMAEA.js.map} +0 -0
- /package/dist/{hierCluster.config-YTBDTCSP.js.map → hierCluster.config-3EOEXXNS.js.map} +0 -0
- /package/dist/{hierCluster.integration.spec-HXIDPLHQ.js.map → hierCluster.integration.spec-6F3YWXPT.js.map} +0 -0
- /package/dist/{hierCluster.interactivity-7ZR33WGJ.js.map → hierCluster.interactivity-7YDXDCXX.js.map} +0 -0
- /package/dist/{imagePlot-3F4PT7WO.js.map → imagePlot-ULTKZ6LW.js.map} +0 -0
- /package/dist/{importPlot-KMHAVHVY.js.map → importPlot-FBIOJ5AY.js.map} +0 -0
- /package/dist/{launch.adhoc-QPTXFGDW.js.map → launch.adhoc-IRTFE7XR.js.map} +0 -0
- /package/dist/{leftlabel.sample-V7QWO5ZV.js.map → leftlabel.sample-4GRPMO46.js.map} +0 -0
- /package/dist/{lollipop-RWKHU54D.js.map → lollipop-FVKJDPNG.js.map} +0 -0
- /package/dist/{maf-PBGETTRX.js.map → maf-TN4LVPBR.js.map} +0 -0
- /package/dist/{maftimeline-XRD522S6.js.map → maftimeline-QMB62FQG.js.map} +0 -0
- /package/dist/{matrix-5G4LXK6H.js.map → matrix-C42Y2EY5.js.map} +0 -0
- /package/dist/{matrix-VOAN43KX.js.map → matrix-SUI2HBQ3.js.map} +0 -0
- /package/dist/{matrix.cells-YWNMLSFC.js.map → matrix.cells-TO67OASJ.js.map} +0 -0
- /package/dist/{matrix.config-JEOHJ5UQ.js.map → matrix.config-GFS52UPE.js.map} +0 -0
- /package/dist/{matrix.controls-5RLX6FVC.js.map → matrix.controls-U556OA46.js.map} +0 -0
- /package/dist/{matrix.data-B2WREJ2K.js.map → matrix.data-4OGS6J7U.js.map} +0 -0
- /package/dist/{matrix.interactivity-IISHAZAT.js.map → matrix.interactivity-2K3LOMB2.js.map} +0 -0
- /package/dist/{matrix.layout-HKVWGU6N.js.map → matrix.layout-HRA2R7YQ.js.map} +0 -0
- /package/dist/{matrix.renderers-HQCUEOLC.js.map → matrix.renderers-TBRFHV5R.js.map} +0 -0
- /package/dist/{matrix.serieses-NKLZCLCX.js.map → matrix.serieses-CLH35H7K.js.map} +0 -0
- /package/dist/{matrix.sort.unit.spec-OFL4LM7Y.js.map → matrix.sort.unit.spec-MO4ZMIBH.js.map} +0 -0
- /package/dist/{matrix.sorterUi.unit.spec-67F5WBEJ.js.map → matrix.sorterUi.unit.spec-NNWI6JKR.js.map} +0 -0
- /package/dist/{mavb-OXZK6Y7T.js.map → mavb-OP2JLLTK.js.map} +0 -0
- /package/dist/{mds.fimo-CAHE6A67.js.map → mds.fimo-BBECX573.js.map} +0 -0
- /package/dist/{mds.samplescatterplot-M6XSGYAY.js.map → mds.samplescatterplot-5NF72Z6O.js.map} +0 -0
- /package/dist/{mds.survivalplot-ETYZTUOF.js.map → mds.survivalplot-52NYU2DV.js.map} +0 -0
- /package/dist/{oncomatrix-75O7BWSN.js.map → oncomatrix-2BCVBTRK.js.map} +0 -0
- /package/dist/{oncomatrix.spec-CMLYDHLL.js.map → oncomatrix.spec-OPCXNN6X.js.map} +0 -0
- /package/dist/{plot.2dvaf-5Z7QTXLO.js.map → plot.2dvaf-NZTCCVTW.js.map} +0 -0
- /package/dist/{plot.app-HJBBGR6T.js.map → plot.app-3QW5AYRP.js.map} +0 -0
- /package/dist/{plot.barplot-SN6OO6LK.js.map → plot.barplot-47R3YM4X.js.map} +0 -0
- /package/dist/{plot.boxplot-TWOJKUIP.js.map → plot.boxplot-WSIDIOKR.js.map} +0 -0
- /package/dist/{plot.brainImaging-H4YONCWE.js.map → plot.brainImaging-5OR2YHOH.js.map} +0 -0
- /package/dist/{plot.disco-UPLXFVUW.js.map → plot.disco-EGJRBYZD.js.map} +0 -0
- /package/dist/{plot.dzi-H66DYAHZ.js.map → plot.dzi-BDC7EUSH.js.map} +0 -0
- /package/dist/{plot.ssgq-B7YGPUU6.js.map → plot.ssgq-U3UMLHFK.js.map} +0 -0
- /package/dist/{plot.vaf2cov-XHAOR3EG.js.map → plot.vaf2cov-QJDF3TJG.js.map} +0 -0
- /package/dist/{plot.wsi-JJVGRFRG.js.map → plot.wsi-FH6MUUI2.js.map} +0 -0
- /package/dist/{polar-UNE2M3JH.js.map → polar-TGZFEH5A.js.map} +0 -0
- /package/dist/{profile.spec-Z3LGCQI7.js.map → profile.spec-PZOBMDRZ.js.map} +0 -0
- /package/dist/{profileBarchart-ZFXYZEOB.js.map → profileBarchart-XPPYAJNP.js.map} +0 -0
- /package/dist/{profileForms-5KYIKPDI.js.map → profileForms-TVKUH5GO.js.map} +0 -0
- /package/dist/{profilePlot-OF5RHPTZ.js.map → profilePlot-HBFH6OQQ.js.map} +0 -0
- /package/dist/{profileRadar-LIRKEWSH.js.map → profileRadar-CO2JFSHF.js.map} +0 -0
- /package/dist/{profileRadarFacility-XEBLUK3P.js.map → profileRadarFacility-B6EEDI6A.js.map} +0 -0
- /package/dist/{qualitative-CEA3ZDMT.js.map → qualitative-NLUONFDP.js.map} +0 -0
- /package/dist/{regression-4ZM6SXTW.js.map → regression-S5Y7L2LX.js.map} +0 -0
- /package/dist/{regression.inputs-ZYPZQHKT.js.map → regression.inputs-BTFOI2LV.js.map} +0 -0
- /package/dist/{regression.inputs.term-HEB3B3JW.js.map → regression.inputs.term-265UCCPD.js.map} +0 -0
- /package/dist/{regression.inputs.values.table-PHBHSATI.js.map → regression.inputs.values.table-IL4L3MA4.js.map} +0 -0
- /package/dist/{regression.integration.spec-RRCA2UR4.js.map → regression.integration.spec-TP46REX4.js.map} +0 -0
- /package/dist/{regression.results-DDYHXLVY.js.map → regression.results-ZSY24SUK.js.map} +0 -0
- /package/dist/{regression.spec-2FN7L5HE.js.map → regression.spec-6FII2PPJ.js.map} +0 -0
- /package/dist/{report-PHJ2DDJ4.js.map → report-HKM2WITY.js.map} +0 -0
- /package/dist/{runChart-NW5PAAJM.js.map → runChart-SQIWVSYD.js.map} +0 -0
- /package/dist/{runchart.integration.spec-CQPZJY5B.js.map → runchart.integration.spec-SMYLUCTG.js.map} +0 -0
- /package/dist/{sampleScatter.spec-MP5YDNMZ.js.map → sampleScatter.spec-U5OUCPE4.js.map} +0 -0
- /package/dist/{sampleView-MHA366F7.js.map → sampleView-VUFGSFY6.js.map} +0 -0
- /package/dist/{samplelst-LB34NUJ4.js.map → samplelst-3GBE4IV3.js.map} +0 -0
- /package/dist/{samplematrix-PXPLDCIB.js.map → samplematrix-HFYCDDPU.js.map} +0 -0
- /package/dist/{scatter-5Z424GOU.js.map → scatter-STZ47Q6E.js.map} +0 -0
- /package/dist/{scatter.integration.spec-KC6KSNRR.js.map → scatter.integration.spec-OGA6ICFT.js.map} +0 -0
- /package/dist/{selectGenomeWithTklst-YNC6UY2Q.js.map → selectGenomeWithTklst-YZXLRXVS.js.map} +0 -0
- /package/dist/{singleCellPlot-DIVE5CHL.js.map → singleCellPlot-NVOKUUJV.js.map} +0 -0
- /package/dist/{singlecell-JR2NV7E6.js.map → singlecell-EZSPKN5X.js.map} +0 -0
- /package/dist/{singlecell-YHVSWFEQ.js.map → singlecell-QEUMWZIX.js.map} +0 -0
- /package/dist/{snp-KG6PQIXX.js.map → snp-BHFWRR3Z.js.map} +0 -0
- /package/dist/{snplocus-WB2C5HWD.js.map → snplocus-JMXWHZKL.js.map} +0 -0
- /package/dist/{spliceevent.a53ss.diagram-MGSA7HZL.js.map → spliceevent.a53ss.diagram-GVLWHHYE.js.map} +0 -0
- /package/dist/{spliceevent.exonskip.diagram-G7RKJHC7.js.map → spliceevent.exonskip.diagram-MZ7L2YBF.js.map} +0 -0
- /package/dist/{spliceevent.noeventdiagram-5NDVFJDF.js.map → spliceevent.noeventdiagram-TIT6WWIR.js.map} +0 -0
- /package/dist/{ssGSEA-6OZBZJ6K.js.map → ssGSEA-NVVC2OGU.js.map} +0 -0
- /package/dist/{summarizeCnvGeneexp-SKTFB6OA.js.map → summarizeCnvGeneexp-ENRWQ657.js.map} +0 -0
- /package/dist/{summarizeGeneexpSurvival-JJKN7GEA.js.map → summarizeGeneexpSurvival-6KXZKIFQ.js.map} +0 -0
- /package/dist/{summarizeMutationCnv-YENTHAEH.js.map → summarizeMutationCnv-5PPLYJXL.js.map} +0 -0
- /package/dist/{summarizeMutationDiagnosis-YW5AYATA.js.map → summarizeMutationDiagnosis-XYZVYRKL.js.map} +0 -0
- /package/dist/{summarizeMutationSurvival-THJZ4HMQ.js.map → summarizeMutationSurvival-MARFIHYK.js.map} +0 -0
- /package/dist/{summary-I2JZJHO6.js.map → summary-Q4NAK35O.js.map} +0 -0
- /package/dist/{summary.integration.spec-A2OXTPTQ.js.map → summary.integration.spec-JHO6F4FM.js.map} +0 -0
- /package/dist/{summaryInput-ZVCPA3VG.js.map → summaryInput-E74QELGD.js.map} +0 -0
- /package/dist/{sunburst-AXMNTP3P.js.map → sunburst-QK5K7SHO.js.map} +0 -0
- /package/dist/{survival-QJBWROWT.js.map → survival-2NUABXFX.js.map} +0 -0
- /package/dist/{survival-53FJMMTL.js.map → survival-OYYEZZSD.js.map} +0 -0
- /package/dist/{survival.integration.spec-6JLZAFCX.js.map → survival.integration.spec-FZOTOUYE.js.map} +0 -0
- /package/dist/{svgraph-Y75ERQ6I.js.map → svgraph-2BRH2IAX.js.map} +0 -0
- /package/dist/{svmr-6RSHNSAT.js.map → svmr-SFEWM66Z.js.map} +0 -0
- /package/dist/{table-2I4IWC4F.js.map → table-H3BLOHSC.js.map} +0 -0
- /package/dist/{termCollection-DBXYDCRR.js.map → termCollection-H5ZTEIAN.js.map} +0 -0
- /package/dist/{termCollection-NBXM5IBN.js.map → termCollection-PNEWJDJO.js.map} +0 -0
- /package/dist/{tk-ZCAX2TTW.js.map → tk-XT3DVFOV.js.map} +0 -0
- /package/dist/{tp.ui-PRTPX4UU.js.map → tp.ui-BD2AQP5Q.js.map} +0 -0
- /package/dist/{tvs.dt-MAPIBPBU.js.map → tvs.dt-RLFUELKF.js.map} +0 -0
- /package/dist/{tvs.dtcnv.categorical-TLOYLOIJ.js.map → tvs.dtcnv.categorical-7O3ZUP66.js.map} +0 -0
- /package/dist/{tvs.dtcnv.continuous-GH35LKIQ.js.map → tvs.dtcnv.continuous-757Q4FA4.js.map} +0 -0
- /package/dist/{tvs.dtfusion-WZ7UGGN6.js.map → tvs.dtfusion-HJEDS622.js.map} +0 -0
- /package/dist/{tvs.dtsnvindel-HHQLS44K.js.map → tvs.dtsnvindel-7FXQTCSC.js.map} +0 -0
- /package/dist/{tvs.dtsv-D3E5CYSK.js.map → tvs.dtsv-RW3T75HT.js.map} +0 -0
- /package/dist/{tvs.samplelst-WJYLDBRB.js.map → tvs.samplelst-UVOSIBHQ.js.map} +0 -0
- /package/dist/{tvs.termCollection-UZL2KSZ4.js.map → tvs.termCollection-KRSI34KO.js.map} +0 -0
- /package/dist/{violin-OXR6OD2P.js.map → violin-3GNK3Z6D.js.map} +0 -0
- /package/dist/{violin.integration.spec-YB3QLU2I.js.map → violin.integration.spec-ZCIJQASD.js.map} +0 -0
- /package/dist/{violin.interactivity-JQ2P3JBT.js.map → violin.interactivity-TK4MA4NF.js.map} +0 -0
- /package/dist/{violin.renderer-AOY3GTUC.js.map → violin.renderer-STW64ACT.js.map} +0 -0
- /package/dist/{vocabulary-4S6IBHEC.js.map → vocabulary-MASFFPOH.js.map} +0 -0
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
renderSandboxFormDiv,
|
|
9
9
|
sayerror,
|
|
10
10
|
to_svg
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
12
12
|
import "./chunk-HJ6L54YS.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-WOVWZWSL.js";
|
|
14
14
|
import {
|
|
15
15
|
Menu
|
|
16
16
|
} from "./chunk-QSSTMH7C.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-3HPIIGQW.js";
|
|
18
18
|
import "./chunk-3JH6BKPD.js";
|
|
19
19
|
import {
|
|
20
20
|
mclass,
|
|
@@ -1365,4 +1365,4 @@ export {
|
|
|
1365
1365
|
d2mafparseinput,
|
|
1366
1366
|
d2mafui
|
|
1367
1367
|
};
|
|
1368
|
-
//# sourceMappingURL=2dmaf-
|
|
1368
|
+
//# sourceMappingURL=2dmaf-64NPOYZM.js.map
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
getNormalRoot,
|
|
8
8
|
renderTable,
|
|
9
9
|
sayerror
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
11
11
|
import "./chunk-HJ6L54YS.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-WOVWZWSL.js";
|
|
13
13
|
import "./chunk-QSSTMH7C.js";
|
|
14
14
|
import {
|
|
15
15
|
dofetch2,
|
|
16
16
|
dofetch3
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-3HPIIGQW.js";
|
|
18
18
|
import "./chunk-3JH6BKPD.js";
|
|
19
19
|
import {
|
|
20
20
|
getColors
|
|
@@ -330,7 +330,7 @@ var AIProjectAdminInteractions = class {
|
|
|
330
330
|
);
|
|
331
331
|
images = response.images;
|
|
332
332
|
}
|
|
333
|
-
const wsiViewer = await import("./plot.wsi-
|
|
333
|
+
const wsiViewer = await import("./plot.wsi-FH6MUUI2.js");
|
|
334
334
|
wsiViewer.default(this.dslabel, holder, { name: this.genome }, null, config.settings.project.id, images, true);
|
|
335
335
|
}
|
|
336
336
|
async appDispatchEdit(settings, config = {}) {
|
|
@@ -824,4 +824,4 @@ export {
|
|
|
824
824
|
componentInit,
|
|
825
825
|
getPlotConfig
|
|
826
826
|
};
|
|
827
|
-
//# sourceMappingURL=AIProjectAdmin-
|
|
827
|
+
//# sourceMappingURL=AIProjectAdmin-ICSCBVVP.js.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
makeButton,
|
|
3
3
|
openSandbox
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WFRQCWN3.js";
|
|
5
5
|
import {
|
|
6
6
|
get_tklst
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-IFLJ4O7L.js";
|
|
8
|
+
import "./chunk-THU7RQMK.js";
|
|
9
|
+
import "./chunk-X4DVXWSS.js";
|
|
10
10
|
import {
|
|
11
11
|
block_init_default
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3JBRSSUK.js";
|
|
13
13
|
import "./chunk-MKAF2BHB.js";
|
|
14
14
|
import {
|
|
15
15
|
urlmap_default
|
|
16
16
|
} from "./chunk-RS3G3HE7.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-MAVYGIVC.js";
|
|
18
18
|
import "./chunk-PRZWSBMA.js";
|
|
19
19
|
import {
|
|
20
20
|
InputSearch,
|
|
@@ -22,15 +22,15 @@ import {
|
|
|
22
22
|
newSandboxDiv,
|
|
23
23
|
sayerror,
|
|
24
24
|
throwMsgWithFilePathAndFnName
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
26
26
|
import {
|
|
27
27
|
string2pos
|
|
28
28
|
} from "./chunk-HJ6L54YS.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-WOVWZWSL.js";
|
|
30
30
|
import "./chunk-QSSTMH7C.js";
|
|
31
31
|
import {
|
|
32
32
|
dofetch3
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-3HPIIGQW.js";
|
|
34
34
|
import "./chunk-3JH6BKPD.js";
|
|
35
35
|
import {
|
|
36
36
|
defaultcolor
|
|
@@ -215,7 +215,7 @@ async function findgene2paint(str, app, genomename, jwt) {
|
|
|
215
215
|
debugmode: app.debugmode
|
|
216
216
|
};
|
|
217
217
|
first_genetrack_tolist(g, par2.tklst);
|
|
218
|
-
import("./block-
|
|
218
|
+
import("./block-EEETZJSA.js").then((b) => new b.Block(par2)).catch((err) => {
|
|
219
219
|
app.error0(err);
|
|
220
220
|
});
|
|
221
221
|
return;
|
|
@@ -801,7 +801,7 @@ var AppHeader = class _AppHeader {
|
|
|
801
801
|
debugmode: app.debugmode
|
|
802
802
|
};
|
|
803
803
|
first_genetrack_tolist(g, par.tklst);
|
|
804
|
-
import("./block-
|
|
804
|
+
import("./block-EEETZJSA.js").then((b) => new b.Block(par));
|
|
805
805
|
app.drawer.dispatch({ type: "is_apps_btn_active", value: false });
|
|
806
806
|
});
|
|
807
807
|
return g_browser_btn;
|
|
@@ -814,4 +814,4 @@ var AppHeader = class _AppHeader {
|
|
|
814
814
|
export {
|
|
815
815
|
AppHeader
|
|
816
816
|
};
|
|
817
|
-
//# sourceMappingURL=AppHeader-
|
|
817
|
+
//# sourceMappingURL=AppHeader-MLNU46N4.js.map
|
|
@@ -17,13 +17,13 @@ import {
|
|
|
17
17
|
renderTable,
|
|
18
18
|
renderTerm1Label,
|
|
19
19
|
term0_term2_defaultQ
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
21
21
|
import "./chunk-HJ6L54YS.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-WOVWZWSL.js";
|
|
23
23
|
import {
|
|
24
24
|
Menu
|
|
25
25
|
} from "./chunk-QSSTMH7C.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-3HPIIGQW.js";
|
|
27
27
|
import {
|
|
28
28
|
isNumericTerm
|
|
29
29
|
} from "./chunk-3JH6BKPD.js";
|
|
@@ -452,15 +452,23 @@ var BoxPlotInteractions = class {
|
|
|
452
452
|
const state = this.app.getState();
|
|
453
453
|
const plotConfig = this.getPlotConfig();
|
|
454
454
|
const config = structuredClone(plotConfig);
|
|
455
|
-
|
|
455
|
+
const bins = this.getResData().bins;
|
|
456
456
|
const start = this.getResData().absMin;
|
|
457
|
-
const
|
|
457
|
+
const end = this.getResData().absMax;
|
|
458
458
|
const contTerm = config.term.q.mode == "continuous" ? config.term : config.term2;
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
459
|
+
const term = config.term != contTerm ? contTerm : config.term;
|
|
460
|
+
const term2 = config.term != contTerm ? config.term : config.term2;
|
|
461
|
+
const sampleList = new ListSamples({
|
|
462
|
+
app: this.app,
|
|
463
|
+
termfilter: state.termfilter,
|
|
464
|
+
term,
|
|
465
|
+
term2,
|
|
466
|
+
term0: config.term0,
|
|
467
|
+
plot,
|
|
468
|
+
bins,
|
|
469
|
+
start,
|
|
470
|
+
end
|
|
471
|
+
});
|
|
464
472
|
return sampleList;
|
|
465
473
|
}
|
|
466
474
|
/** Option from box plot label to show the samples in a table within the tooltip. */
|
|
@@ -975,7 +983,7 @@ var TdbBoxplot = class _TdbBoxplot extends PlotBase {
|
|
|
975
983
|
const holder = opts.holder.classed("sjpp-boxplot-main", true);
|
|
976
984
|
const controls = opts.controls ? holder : holder.append("div");
|
|
977
985
|
const div = holder.append("div");
|
|
978
|
-
const errorDiv = div.append("div").attr("class", "sjpp-boxplot-error")
|
|
986
|
+
const errorDiv = div.append("div").attr("class", "sjpp-boxplot-error");
|
|
979
987
|
const loading = div.append("div").style("padding", "24px").text("Loading ...");
|
|
980
988
|
const chartsDiv = div.append("div").attr("class", "sjpp-boxplot-charts").style("display", "flex").style("flex-direction", "row").style("flex-wrap", "wrap").style("max-width", "100vw");
|
|
981
989
|
this.dom = {
|
|
@@ -999,7 +1007,7 @@ var TdbBoxplot = class _TdbBoxplot extends PlotBase {
|
|
|
999
1007
|
this.app,
|
|
1000
1008
|
this.opts,
|
|
1001
1009
|
() => {
|
|
1002
|
-
return this.data
|
|
1010
|
+
return this.data?.charts || [];
|
|
1003
1011
|
},
|
|
1004
1012
|
this.useDefaultSettings
|
|
1005
1013
|
);
|
|
@@ -1068,6 +1076,7 @@ var TdbBoxplot = class _TdbBoxplot extends PlotBase {
|
|
|
1068
1076
|
if (!data.charts || !Object.keys(data.charts).length) {
|
|
1069
1077
|
this.interactions.clearDom();
|
|
1070
1078
|
this.dom.error.style("padding", "20px 20px 20px 60px").text("No visible box plot data to render");
|
|
1079
|
+
this.toggleLoadingDiv("none");
|
|
1071
1080
|
return;
|
|
1072
1081
|
}
|
|
1073
1082
|
this.data = data;
|
|
@@ -1165,4 +1174,4 @@ export {
|
|
|
1165
1174
|
componentInit,
|
|
1166
1175
|
getPlotConfig
|
|
1167
1176
|
};
|
|
1168
|
-
//# sourceMappingURL=BoxPlot-
|
|
1177
|
+
//# sourceMappingURL=BoxPlot-GVYESXN3.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../plots/boxplot/model/Model.ts", "../plots/boxplot/viewModel/LegendDataMapper.ts", "../plots/boxplot/viewModel/ChartsDataMapper.ts", "../plots/boxplot/viewModel/ViewModel.ts", "../plots/boxplot/interactions/BoxPlotInteractions.ts", "../plots/boxplot/view/LegendRender.ts", "../plots/boxplot/view/BoxPlotToolTips.ts", "../plots/boxplot/view/BoxPlotLabelMenu.ts", "../plots/boxplot/view/AssociationTableRender.ts", "../plots/boxplot/view/ChartRender.ts", "../plots/boxplot/view/View.ts", "../plots/boxplot/BoxPlotControlInputs.ts", "../plots/boxplot/BoxPlot.ts"],
|
|
4
|
+
"sourcesContent": ["import type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { BoxPlotConfig } from '../BoxPlotTypes'\nimport type { TdbBoxplot } from '../BoxPlot.ts'\nimport type { BoxPlotResponse } from '#types'\nimport { isNumericTerm } from '#shared/terms.js'\nimport type { BoxPlotSettings } from '../Settings.ts'\n\n/**\n * Requests data for the boxplots.\n * Add more methods for formating the request opts and api requests.\n */\nexport class Model {\n\tboxplot: TdbBoxplot\n\tconfig: BoxPlotConfig\n\tstate: MassState\n\tapp: MassAppApi\n\tsettings: BoxPlotSettings\n\n\tconstructor(boxplot: TdbBoxplot, config: BoxPlotConfig) {\n\t\tthis.boxplot = boxplot\n\t\tthis.config = config\n\t\tthis.state = boxplot.state\n\t\tthis.app = boxplot.app\n\t\tthis.settings = config.settings.boxplot\n\t}\n\n\tasync getData() {\n\t\tconst boxPlotDataArgs = this.setRequestOpts()\n\t\tconst data: BoxPlotResponse = await this.app.vocabApi.getBoxPlotData(\n\t\t\tboxPlotDataArgs,\n\t\t\tthis.boxplot.api.getAbortSignal()\n\t\t)\n\t\treturn data\n\t}\n\n\tsetRequestOpts() {\n\t\tconst opts: { [index: string]: any } = {\n\t\t\ttw: this.getContinousTerm(),\n\t\t\tfilter: this.state.termfilter.filter,\n\t\t\tfilter0: this.state.termfilter.filter0,\n\t\t\torderByMedian: this.settings.orderByMedian,\n\t\t\tisLogScale: this.settings.isLogScale,\n\t\t\tremoveOutliers: this.settings.removeOutliers,\n\t\t\tshowAssocTests: this.settings.showAssocTests\n\t\t}\n\t\tif (this.config.term2)\n\t\t\topts.overlayTw = this.getContinousTerm() == this.config.term ? this.config.term2 : this.config.term\n\n\t\tif (this.config.term0) opts.divideTw = this.config.term0\n\n\t\treturn opts\n\t}\n\n\tgetContinousTerm() {\n\t\tif (!this.config?.term2) return this.config.term\n\t\treturn isNumericTerm(this.config.term.term) && this.config.term.q.mode == 'continuous'\n\t\t\t? this.config.term\n\t\t\t: this.config.term2\n\t}\n}\n", "import type { LegendData, LegendItemEntry, BoxPlotConfig } from '../BoxPlotTypes'\nimport type { BoxPlotChartEntry, DescrStats } from '#types'\n\n/** Combines the overall .descrStats{} response with 1) the\n * uncomputable and/or hidden term values; and 2) any\n * previously hidden plots. Formats the result for the\n * View -> LegendRender. */\nexport class LegendDataMapper {\n\tlegendData: LegendData = []\n\tconfig: BoxPlotConfig\n\n\tconstructor(config: BoxPlotConfig) {\n\t\tthis.config = config\n\n\t\tconst isTerm2 = config?.term2\n\t\tconst isTerm0 = config?.term0\n\n\t\tif (config.term.q?.descrStats) {\n\t\t\tthis.legendData.push({\n\t\t\t\tlabel: `Descriptive Statistics${isTerm2 ? `: ${config.term.term.name}` : ''}`,\n\t\t\t\titems: this.setDescrStatItems(config.term.q.descrStats)\n\t\t\t})\n\t\t}\n\t\tif (isTerm2 && isTerm2.q?.descrStats && !isTerm0) {\n\t\t\tthis.legendData.push({\n\t\t\t\tlabel: `Descriptive Statistics: ${config.term2.term.name}`,\n\t\t\t\titems: this.setDescrStatItems(isTerm2.q.descrStats)\n\t\t\t})\n\t\t}\n\t}\n\n\tmap(charts: { [index: string]: BoxPlotChartEntry }, uncomputableValues: { label: string; value: number }[]) {\n\t\tconst hiddenPlots = this.getHiddenPlots(charts)\n\n\t\tif (this.config.term.term?.values) {\n\t\t\tconst term1Label = this.config.term2 ? this.config.term.term.name : 'Other categories'\n\t\t\tconst term1Data = this.setHiddenCategoryItems(this.config.term, term1Label, hiddenPlots, uncomputableValues || [])\n\t\t\tif (term1Data) this.legendData.push(term1Data)\n\t\t}\n\n\t\tif (this.config.term2?.term?.values) {\n\t\t\tconst term2Data = this.setHiddenCategoryItems(\n\t\t\t\tthis.config.term2,\n\t\t\t\tthis.config.term2.term.name,\n\t\t\t\thiddenPlots,\n\t\t\t\tuncomputableValues || []\n\t\t\t)\n\t\t\tif (term2Data) this.legendData.push(term2Data)\n\t\t}\n\n\t\treturn this.legendData\n\t}\n\n\tgetHiddenPlots(charts: { [index: string]: BoxPlotChartEntry }) {\n\t\tconst hiddenPlots = Object.values(charts)\n\t\t\t.reduce((plotMap: Map<string, any>, chart: any) => {\n\t\t\t\tfor (const p of chart.plots ?? []) {\n\t\t\t\t\tif (!p.isHidden || plotMap.has(p.key)) continue\n\n\t\t\t\t\tplotMap.set(p.key, {\n\t\t\t\t\t\tkey: p.key,\n\t\t\t\t\t\ttext: p.key,\n\t\t\t\t\t\tisHidden: true,\n\t\t\t\t\t\tisPlot: true\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\treturn plotMap\n\t\t\t}, new Map<string, any>())\n\t\t\t.values()\n\t\treturn Array.from(hiddenPlots)\n\t}\n\n\tsetDescrStatItems(stats: DescrStats) {\n\t\treturn Object.values(stats).map(s => ({\n\t\t\tkey: s.key,\n\t\t\ttext: `${s.label}: ${s.value}`,\n\t\t\tisHidden: false,\n\t\t\tisPlot: false\n\t\t}))\n\t}\n\n\tsetHiddenCategoryItems(\n\t\ttw: any,\n\t\tlabel: string,\n\t\thiddenPlots: LegendItemEntry[],\n\t\tuncomputableValues?: { label: string; value: number }[]\n\t) {\n\t\tconst termData: { label: string; items: LegendItemEntry[] } = { label, items: [] }\n\n\t\tif (hiddenPlots.length) {\n\t\t\tfor (const key of Object.keys(tw.q.hiddenValues || {})) {\n\t\t\t\tconst plot = hiddenPlots.find(p => p.key === key)\n\t\t\t\tif (plot) termData.items.push(plot)\n\t\t\t}\n\t\t}\n\t\tif (uncomputableValues && uncomputableValues.length) {\n\t\t\tfor (const v of Object.values((tw.term.values || {}) as { label: string }[])) {\n\t\t\t\tconst uncomputableItem = uncomputableValues.find(u => u.label === v.label)\n\t\t\t\tif (uncomputableItem) {\n\t\t\t\t\ttermData.items.push({\n\t\t\t\t\t\tkey: uncomputableItem.label,\n\t\t\t\t\t\ttext: `${uncomputableItem.label}, n=${uncomputableItem.value}`,\n\t\t\t\t\t\tisHidden: true,\n\t\t\t\t\t\tisPlot: false\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn termData.items.length ? termData : null\n\t}\n}\n", "import { format } from 'd3-format'\nimport { decimalPlacesUntilFirstNonZero } from '#shared/roundValue.js'\nimport { rgb } from 'd3-color'\nimport type { BoxPlotChartEntry } from '#types'\nimport type { BoxPlotSettings } from '../Settings'\nimport type { BoxPlotConfig } from '../BoxPlotTypes'\n\n/** Formats the .charts{} response data for rendering\n * in the View -> ChartRender. */\nexport class ChartsDataMapper {\n\t/** Top padding for the svg */\n\t#topPad = 20\n\t/** Bottom padding for the svg */\n\t#bottomPad = 25\n\t/** Horizontal, or right and left padding */\n\t#horizPad = 120\n\t/** For outliers, set a radius rather than using the default. */\n\t#outRadius = 5\n\t/** Offset applied when divide by term is present\n\t * Creates space for the subtitle*/\n\t#divideByOffset = 20\n\n\t/** Max value from server response */\n\tabsMax: number\n\t/** Min value from server response */\n\tabsMin: number\n\t/** Array of charts from server response */\n\tcharts: BoxPlotChartEntry[]\n\t/** Range is 20 - 50 */\n\trowHeight: number\n\t/** Range is 10 - 20 */\n\trowSpace: number\n\t/** Settings from the user or default */\n\tsettings: any\n\t/** Total length of the labels. May reflect height or width depending on orientation */\n\ttotalLabelSize: number\n\t/** Total size (ie. thickness) of each box plot. May reflect height or width depending on orientation */\n\ttotalBoxSize: number\n\n\tconstructor(data: any, settings: any, maxLabelLgth: number, useDefaultSettings: boolean) {\n\t\tthis.validateInputData(data)\n\n\t\tthis.absMin = data.absMin\n\t\tthis.absMax = data.absMax\n\t\tthis.charts = Object.values(data.charts)\n\t\tthis.settings = settings\n\n\t\t/** As requested, adjust the size of each plot based\n\t\t * on the number of boxplots. Manages rendering very large svgs.\n\t\t * When the user sets the height or space, use those values\n\t\t * for all further rendering. */\n\t\tif (useDefaultSettings) {\n\t\t\tconst { rowHeight, rowSpace } = this.getRowSettings(this.charts)\n\t\t\tthis.rowHeight = rowHeight\n\t\t\tthis.rowSpace = rowSpace\n\t\t} else {\n\t\t\tthis.rowHeight = settings.rowHeight\n\t\t\tthis.rowSpace = settings.rowSpace\n\t\t}\n\n\t\tthis.totalLabelSize = maxLabelLgth + settings.labelPad\n\t\tthis.totalBoxSize = this.rowHeight + this.rowSpace\n\t}\n\n\t/** Same checks are in the server route */\n\tvalidateInputData(data: any) {\n\t\tif (!data) throw new Error('No data provided to ChartDataMapper')\n\t\tif (!data.charts) throw new Error('No charts data provided to ChartDataMapper')\n\t\tif (!Array.isArray(data.charts) && typeof data.charts !== 'object')\n\t\t\tthrow new Error('Invalid charts data provided to ChartDataMapper')\n\t\tif (data.absMin === undefined || data.absMax === undefined)\n\t\t\tthrow new Error('Missing absMin or absMax in data provided to ChartDataMapper')\n\t}\n\n\t/** Set the row settings based on all plots */\n\tgetRowSettings(charts: BoxPlotChartEntry[]) {\n\t\tlet totalNumPlots = 0\n\t\tfor (const chart of charts) {\n\t\t\ttotalNumPlots = totalNumPlots + chart.plots.filter(p => !p.isHidden).length\n\t\t}\n\t\tconst isLargePlotCount = totalNumPlots > 20\n\t\tconst rowHeight = totalNumPlots > 10 ? (isLargePlotCount ? 20 : 35) : 50\n\t\tconst rowSpace = totalNumPlots > 10 ? (isLargePlotCount ? 10 : 12) : 15\n\n\t\treturn { rowHeight, rowSpace }\n\t}\n\n\tmap(config: BoxPlotConfig) {\n\t\tconst chartData = {}\n\t\tfor (const chart of this.charts) {\n\t\t\t/** Increasing padding to space out the boxplots and determine position */\n\t\t\tlet incrPad = 40\n\n\t\t\tconst plotDim = this.setPlotDimensions(chart, config, this.settings, incrPad)\n\t\t\t//Include extra space for the subtitle\n\t\t\tif (config?.term0) incrPad += this.#divideByOffset\n\t\t\t//20 for the axis offset (above), 10 more for the first boxplot\n\t\t\tincrPad += 30\n\n\t\t\tchartData[chart.chartId] = {\n\t\t\t\tplotDim: plotDim,\n\t\t\t\tplots: this.setPlotData(chart, config, this.settings, incrPad),\n\t\t\t\twilcoxon: chart?.wilcoxon || null\n\t\t\t}\n\t\t}\n\t\treturn chartData\n\t}\n\n\tsetPlotDimensions(chart: BoxPlotChartEntry, config: any, settings: BoxPlotSettings, incrPad: number) {\n\t\tconst svg = this.setSvgDimensions(settings, chart, incrPad, config)\n\t\tconst plotCenter = this.totalLabelSize + settings.plotLength / 2\n\t\tconst plotDim = {\n\t\t\t//Add 1 to the max is big enough so the upper line to boxplot isn't cutoff\n\t\t\tdomain: [this.absMin, this.absMax <= 1 ? this.absMax : this.absMax + 1],\n\t\t\trange: [0, settings.plotLength],\n\t\t\tsvg,\n\t\t\tsubtitle: this.setSubtitleDimensions(\n\t\t\t\tconfig,\n\t\t\t\tsettings,\n\t\t\t\tsvg.height,\n\t\t\t\tchart.chartId,\n\t\t\t\tchart.sampleCount,\n\t\t\t\tplotCenter,\n\t\t\t\tincrPad\n\t\t\t),\n\t\t\ttitle: this.setTitleDimensions(config, settings, svg.height, plotCenter, incrPad),\n\t\t\taxis: {\n\t\t\t\tx: settings.isVertical ? this.#horizPad / 2 + incrPad + this.#topPad : this.totalLabelSize,\n\t\t\t\ty: this.#topPad + (settings.isVertical ? settings.labelPad : incrPad + 20),\n\t\t\t\tvalues: (ticks: number[]) => {\n\t\t\t\t\tif (settings.isLogScale) return this.filterTickValues(ticks)\n\t\t\t\t\treturn ticks\n\t\t\t\t},\n\t\t\t\tformat: (d: number) => {\n\t\t\t\t\tif (settings.isLogScale) {\n\t\t\t\t\t\tif (Number.isInteger(d)) return format('.0f')(d)\n\t\t\t\t\t\tconst dec = decimalPlacesUntilFirstNonZero(d)\n\t\t\t\t\t\tif (dec > 1) return format(`.${dec + 1}f`)(d)\n\t\t\t\t\t\treturn format('.2f')(d)\n\t\t\t\t\t}\n\t\t\t\t\treturn d.toString()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (config?.term0) {\n\t\t\tif (settings.isVertical) plotDim.axis.x += this.#divideByOffset\n\t\t\telse plotDim.axis.y += this.#divideByOffset\n\t\t}\n\n\t\treturn plotDim\n\t}\n\n\tsetSvgDimensions(\n\t\tsettings: BoxPlotSettings,\n\t\tchart: BoxPlotChartEntry,\n\t\tincrPad: number,\n\t\tconfig: any\n\t): { width: number; height: number } {\n\t\tlet plotsSpace =\n\t\t\tchart.plots.filter(p => !p.isHidden).length * this.totalBoxSize + this.#topPad + this.#bottomPad + incrPad\n\t\tif (config?.term0) plotsSpace += this.#divideByOffset + incrPad\n\n\t\tconst length = settings.plotLength + this.totalLabelSize + this.#horizPad / 2\n\t\treturn {\n\t\t\twidth: settings.isVertical ? plotsSpace + this.#horizPad : length,\n\t\t\theight: settings.isVertical ? length : plotsSpace\n\t\t}\n\t}\n\n\tsetSubtitleDimensions(\n\t\tconfig: any,\n\t\tsettings: BoxPlotSettings,\n\t\theight: number,\n\t\tchartId: string,\n\t\tsampleCount: number,\n\t\tplotCenter: number,\n\t\tincrPad: number\n\t): { x: number | null; y: number | null; text: string | null } {\n\t\tconst dim: { x: number | null; y: number | null; text: string | null } = {\n\t\t\tx: null,\n\t\t\ty: null,\n\t\t\ttext: null\n\t\t}\n\t\tif (config.term0) {\n\t\t\tdim.x = settings.isVertical ? this.#horizPad / 2 : plotCenter\n\t\t\tdim.y = settings.isVertical ? height - plotCenter - this.#horizPad / 2 : this.#topPad + incrPad / 2\n\t\t\tdim.text = `${getChartSubtitle(config, chartId)} (n=${sampleCount})`\n\t\t}\n\t\treturn dim\n\t}\n\n\tsetTitleDimensions(config: any, settings: BoxPlotSettings, height: number, plotCenter: number, incrPad: number) {\n\t\tconst dim = {\n\t\t\tx: settings.isVertical ? this.#horizPad / 2 : plotCenter,\n\t\t\ty: settings.isVertical ? height - plotCenter - this.#horizPad / 2 : this.#topPad + incrPad / 2,\n\t\t\ttext: config.term.q.mode == 'continuous' ? config.term.term.name : config.term2.term.name\n\t\t}\n\t\tif (config?.term0) {\n\t\t\tif (settings.isVertical) dim.x += this.#divideByOffset + 10\n\t\t\telse dim.y += this.#divideByOffset + 10\n\t\t}\n\t\treturn dim\n\t}\n\n\tfilterTickValues(ticks: number[]) {\n\t\tif (!ticks || ticks.length == 0) {\n\t\t\tthrow new Error('No ticks provided to filterTickValues')\n\t\t}\n\t\tconst significantLessThanOne = ticks.filter(t => t < 1).length / ticks.length\n\t\tconst range = ticks[ticks.length - 1] - ticks[0]\n\t\tconst spread = range > 1000 ? 4 : range > 100 ? 3 : 2\n\t\tconst formattedTicks = ticks.filter((t, i) => {\n\t\t\tif (t === 0 || (i == ticks.length - 1 && i % spread !== 0)) return t\n\t\t\telse if (t <= 1 && significantLessThanOne > 0.5) {\n\t\t\t\t/** Scales with a significant number of values under 1\n\t\t\t\t * require more space. Show every fifth value if under 1 */\n\t\t\t\tif (i % 5 === 0) return t\n\t\t\t} else if (i % spread === 0) return t\n\t\t})\n\t\treturn formattedTicks\n\t}\n\n\tsetPlotData(chart: any, config: any, settings: BoxPlotSettings, incrPad: number) {\n\t\tconst plots = structuredClone(chart.plots.filter(p => !p.isHidden))\n\t\tfor (const plot of plots) {\n\t\t\t/** Set rendering properties for the plot */\n\n\t\t\t//Set the color for all plots\n\t\t\tlet color\n\t\t\tconst term2 = config.term2\n\t\t\tif (term2) {\n\t\t\t\tif (term2.q.type == 'predefined-groupset' || term2.q.type == 'custom-groupset') {\n\t\t\t\t\tconst groupset =\n\t\t\t\t\t\tterm2.q.type == 'predefined-groupset'\n\t\t\t\t\t\t\t? term2.term.groupsetting.lst[term2.q.predefined_groupset_idx]\n\t\t\t\t\t\t\t: term2.q.customset\n\t\t\t\t\tif (!groupset) throw 'groupset is missing'\n\t\t\t\t\tconst group = groupset.groups.find(g => g.name == plot.seriesId)\n\t\t\t\t\tif (group?.color) color = group.color\n\t\t\t\t} else {\n\t\t\t\t\tcolor = term2.term.values?.[plot.seriesId]?.color\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!color) color = settings.color\n\n\t\t\tif (!plot.color) plot.color = color\n\t\t\t//Brighten the colors in dark mode for better visibility\n\t\t\tif (settings.displayMode == 'dark') plot.color = rgb(plot.color).brighter(0.75)\n\t\t\tif (plot.boxplot.out.length) {\n\t\t\t\tconst maxOut = plot.boxplot.out.reduce((a: { value: number }, b: { value: number }) =>\n\t\t\t\t\tMath.max(a.value, b.value)\n\t\t\t\t)\n\t\t\t\tif (maxOut && maxOut.value > chart.absMax) chart.absMax = maxOut.value\n\t\t\t\tplot.boxplot.radius = this.#outRadius\n\t\t\t}\n\t\t\tplot.boxplot.rectFill =\n\t\t\t\tsettings.displayMode == 'dark' ? 'black' : settings.displayMode == 'filled' ? color : 'white'\n\t\t\tplot.x = settings.isVertical ? this.#horizPad / 2 + incrPad : this.totalLabelSize\n\t\t\tplot.y = this.#topPad + (settings.isVertical ? settings.plotLength + settings.labelPad : incrPad)\n\t\t\tincrPad += this.totalBoxSize\n\n\t\t\t//Use for data requests in interactions\n\t\t\tplot.chartId = chart.chartId || ' '\n\t\t}\n\t\treturn plots\n\t}\n}\n\nexport function getChartSubtitle(config: any, chartId: string): string {\n\tif (!config.term0) return chartId\n\treturn config.term0.term.values && chartId in config.term0.term.values\n\t\t? config.term0.term.values[chartId].label\n\t\t: chartId\n}\n", "import type { BoxPlotSettings } from '../Settings'\nimport type { ViewData, BoxPlotConfig } from '../BoxPlotTypes'\nimport { LegendDataMapper } from './LegendDataMapper'\nimport { ChartsDataMapper } from './ChartsDataMapper'\n\nexport class ViewModel {\n\tviewData: ViewData\n\trowHeight: number\n\trowSpace: number\n\n\tconstructor(\n\t\tconfig: BoxPlotConfig,\n\t\tdata: any,\n\t\tsettings: BoxPlotSettings,\n\t\tmaxLabelLgth: number,\n\t\tuseDefaultSettings: boolean\n\t) {\n\t\tconst chartsMapper = new ChartsDataMapper(data, settings, maxLabelLgth, useDefaultSettings)\n\t\tconst legendMapper = new LegendDataMapper(config)\n\n\t\tconst charts = chartsMapper.map(config)\n\n\t\tthis.rowHeight = chartsMapper.rowHeight\n\t\tthis.rowSpace = chartsMapper.rowSpace\n\n\t\tthis.viewData = {\n\t\t\tbackgroundColor: settings.displayMode == 'dark' ? 'black' : 'white',\n\t\t\ttextColor: settings.displayMode == 'dark' ? 'white' : 'black',\n\t\t\tcharts,\n\t\t\tlegend: legendMapper.map(data.charts, data.uncomputableValues || [])\n\t\t}\n\t}\n}\n", "import type { BoxPlotDom, LegendItemEntry, BoxPlotConfig } from '../BoxPlotTypes'\nimport type { MassAppApi } from '#mass/types/mass'\nimport type { RenderedPlot } from '../view/RenderedPlot'\nimport { ListSamples } from '#dom/summary/ListSamples'\nimport { filterJoin, getFilterItemByTag } from '#filter'\n\nexport class BoxPlotInteractions {\n\tapp: MassAppApi\n\tdom: BoxPlotDom\n\tid: string\n\tgetResData: () => any\n\n\tconstructor(app: MassAppApi, dom: BoxPlotDom, id: string, getResData: () => any) {\n\t\tthis.app = app\n\t\tthis.dom = dom\n\t\tthis.id = id\n\t\tthis.getResData = getResData\n\t}\n\n\thelp() {\n\t\t//May add more options in the future\n\t\twindow.open('https://github.com/stjude/proteinpaint/wiki/Box-plot')\n\t}\n\n\t/** Option to add a global filter from the box plot label menu. */\n\taddFilter(plot: any) {\n\t\tconst state = this.app.getState()\n\t\tconst sampleList = this.initListSamples(plot)\n\t\tconst filterUiRoot = getFilterItemByTag(state.termfilter.filter, 'filterUiRoot')\n\t\tconst filter = filterJoin([filterUiRoot, sampleList.tvslst])\n\t\tfilter.tag = 'filterUiRoot'\n\t\tthis.app.dispatch({\n\t\t\ttype: 'filter_replace',\n\t\t\tfilter\n\t\t})\n\t}\n\n\t/** Option to hide a plot from the box plot label menu. */\n\thidePlot(plot: RenderedPlot) {\n\t\tconst plotConfig = this.getPlotConfig()\n\t\t//Don't try to modify a frozen object\n\t\tconst config = structuredClone(plotConfig)\n\t\tconst contTerm = config.term.q.mode == 'continuous' ? 'term2' : 'term'\n\t\tif (!config[contTerm].q.hiddenValues) config[contTerm].q.hiddenValues = {}\n\t\tconfig[contTerm].q.hiddenValues[plot.key] = 1\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig: config\n\t\t})\n\t}\n\n\t/** Trigger when clicking on a hidden plot in the legend */\n\tunhidePlot(item: LegendItemEntry) {\n\t\tconst plotConfig = this.getPlotConfig()\n\t\tconst config = structuredClone(plotConfig)\n\t\tconst contTerm = config.term.q.mode == 'continuous' ? 'term2' : 'term'\n\t\tdelete config[contTerm].q.hiddenValues[item.key]\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig\n\t\t})\n\t}\n\n\tinitListSamples(plot: any) {\n\t\tconst state = this.app.getState()\n\t\tconst plotConfig = this.getPlotConfig()\n\t\tconst config = structuredClone(plotConfig)\n\t\tconst bins = this.getResData().bins\n\t\t/** Some continuous terms require a range but no\n\t\t * bins are calculated for the response. Passing\n\t\t * the absolute min/max solves this issue. */\n\t\tconst start = this.getResData().absMin\n\t\tconst end = this.getResData().absMax\n\t\t//The continuous term is always used as the tw\n\t\t//Need to update here to match the server req and res\n\t\tconst contTerm = config.term.q.mode == 'continuous' ? config.term : config.term2\n\t\tconst term = config.term != contTerm ? contTerm : config.term\n\t\tconst term2 = config.term != contTerm ? config.term : config.term2\n\t\tconst sampleList = new ListSamples({\n\t\t\tapp: this.app,\n\t\t\ttermfilter: state.termfilter,\n\t\t\tterm,\n\t\t\tterm2,\n\t\t\tterm0: config.term0,\n\t\t\tplot,\n\t\t\tbins,\n\t\t\tstart,\n\t\t\tend\n\t\t})\n\t\treturn sampleList\n\t}\n\n\t/** Option from box plot label to show the samples in a table within the tooltip. */\n\tasync listSamples(plot: any) {\n\t\tconst sampleList = this.initListSamples(plot)\n\t\tconst data = await sampleList.getData()\n\t\tconst [rows, columns] = sampleList.setTableData(data)\n\t\treturn [rows, columns]\n\t}\n\n\t/** Callback for color picker in plot(s) label menu */\n\tupdatePlotColor(plot: RenderedPlot, color: string) {\n\t\tif (!plot.seriesId) return\n\t\tconst plotConfig = this.getPlotConfig()\n\t\tconst config = structuredClone(plotConfig)\n\t\tconfig.term2.term.values[plot.seriesId].color = color\n\t\tthis.app.dispatch({\n\t\t\ttype: 'plot_edit',\n\t\t\tid: this.id,\n\t\t\tconfig\n\t\t})\n\t}\n\n\tgetPlotConfig() {\n\t\treturn this.app.getState().plots.find((p: BoxPlotConfig) => p.id === this.id)\n\t}\n\n\tclearDom() {\n\t\tthis.dom.error.style('padding', '').text('')\n\t\tthis.dom.charts.selectAll('*').remove()\n\t\tthis.dom.legend.selectAll('*').remove()\n\t}\n}\n", "import type { LegendData, LegendItemEntry } from '../BoxPlotTypes'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport type { Div } from '../../../types/d3'\n\n/** Handles rendering legend items formatted\n * in the LegendDataMapper. */\nexport class LegendRenderer {\n\tinteractions: BoxPlotInteractions\n\ttextColor: string\n\tconstructor(legendDiv: Div, legendData: LegendData, interactions: BoxPlotInteractions, textColor: string) {\n\t\tthis.interactions = interactions\n\t\tthis.textColor = textColor\n\t\tthis.renderLegend(legendDiv, legendData)\n\t}\n\n\trenderLegend(legendDiv: Div, legendData: LegendData) {\n\t\tlegendDiv.attr('id', 'sjpp-boxplot-legend')\n\t\tfor (const section of legendData) {\n\t\t\t// increased opacity, previously 0.5, to address Section 508 contrast issue\n\t\t\tlegendDiv.append('div').style('opacity', '0.75').style('color', this.textColor).text(section.label)\n\t\t\tconst sectionDiv = legendDiv.append('div').style('padding-left', '10px')\n\t\t\tfor (const item of section.items) {\n\t\t\t\tthis.addItem(item, sectionDiv)\n\t\t\t}\n\t\t}\n\t}\n\n\taddItem(item: LegendItemEntry, sectionDiv: Div) {\n\t\tconst legendItem = sectionDiv.append('div')\n\t\tif (item.isPlot) {\n\t\t\tlegendItem\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t.style('margin-right', '3px')\n\t\t\t\t.style('position', 'relative')\n\t\t\t\t.style('vertical-align', 'middle')\n\t\t\t\t.html(`<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"${this.textColor}\" class=\"bi bi-arrow-counterclockwise\" viewBox=\"0 0 16 16\" style=\"vertical-align: middle; display: block; margin: auto;\">\n <path stroke=\"#000\" stroke-width=\"0.25\" fill-rule=\"evenodd\" d=\"M8 3a5 5 0 1 1-4.546 2.914.5.5 0 0 0-.908-.417A6 6 0 1 0 8 2v1z\"/>\n <path d=\"M8 4.466V.534a.25.25 0 0 0-.41-.192L5.23 2.308a.25.25 0 0 0 0 .384l2.36 1.966A.25.25 0 0 0 8 4.466z\"/>\n </svg>`)\n\t\t}\n\t\tlegendItem\n\t\t\t.append('div')\n\t\t\t.style('display', 'inline-block')\n\t\t\t.style('color', this.textColor)\n\t\t\t.style('text-decoration', item.isHidden ? 'line-through' : '')\n\t\t\t.text(item.text)\n\n\t\tif (item.isPlot) {\n\t\t\t//Do not apply to uncomputable values, only items with plot data\n\t\t\tlegendItem.attr('aria-label', `Click to unhide plot`).on('click', () => {\n\t\t\t\tthis.interactions.unhidePlot(item)\n\t\t\t})\n\t\t}\n\t}\n}\n", "import type { Menu, RenderedBoxPlot } from '#dom'\nimport type { SvgG } from 'types/d3'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { select } from 'd3-selection'\n\nexport class BoxPlotToolTips {\n\tboxplot: RenderedBoxPlot\n\tg: SvgG\n\tplot: RenderedPlot\n\tisVertical: boolean\n\ttip: Menu\n\treadonly tablePadding = '3px'\n\tconstructor(plot: any, g: SvgG, tip: Menu, isVertical: boolean) {\n\t\tthis.plot = plot\n\t\tthis.g = g\n\t\tthis.boxplot = plot.boxplot\n\t\tthis.isVertical = isVertical\n\t\tthis.tip = tip\n\n\t\tthis.addLabelTooltip()\n\t\t// this.addLineToolTips()\n\t\tthis.addOutliersTooltip()\n\t}\n\n\t//Add rendering preferences here to maintain styles\n\t//across all tooltip instances\n\taddText(text: string) {\n\t\tthis.tip.d.append('div').text(text)\n\t}\n\n\taddLabelTooltip() {\n\t\tif (Object.keys(this.plot.descrStats).length < 2) return\n\t\tthis.boxplot.labelG.on('mouseover', (event: MouseEvent) => {\n\t\t\tthis.tip.clear()\n\t\t\tif (this.isVertical) this.tip.show(event.clientX, event.clientY)\n\t\t\telse this.tip.showunder(this.boxplot.labelG.node())\n\t\t\tconst table = this.tip.d.append('table').attr('class', 'sja_simpletable')\n\t\t\ttable\n\t\t\t\t.append('tr')\n\t\t\t\t.style('text-align', 'center')\n\t\t\t\t.append('td')\n\t\t\t\t.attr('colspan', 2)\n\t\t\t\t.style('padding', this.tablePadding)\n\t\t\t\t.text(this.plot.key)\n\t\t\tfor (const stat of Object.values(this.plot.descrStats)) {\n\t\t\t\tconst row = table.append('tr')\n\t\t\t\trow.append('td').style('padding', this.tablePadding).style('opacity', 0.5).text(stat.label)\n\t\t\t\trow\n\t\t\t\t\t.append('td')\n\t\t\t\t\t.style('padding', this.tablePadding)\n\t\t\t\t\t.style('text-align', 'center')\n\t\t\t\t\t.style('opacity', stat.value === null || stat.value === undefined ? 0.5 : 1)\n\t\t\t\t\t.text(stat.value ?? 'N/A')\n\t\t\t}\n\t\t})\n\t\tthis.boxplot.labelG.on('mouseout', () => {\n\t\t\tthis.tip.hide()\n\t\t})\n\t}\n\n\t// addLineToolTips() {\n\t// \tconst addToolTips = (elem, text: string) => {\n\t// \t\tconst elemBBox = elem.node().getBBox()\n\t// \t\t//Add an expanded area for the tooltip\n\t// \t\t//Easier for user to hover over\n\t// \t\tthis.g\n\t// \t\t\t.append('rect')\n\t// \t\t\t.attr('x', elemBBox.x - 10)\n\t// \t\t\t.attr('y', elemBBox.y - 10)\n\t// \t\t\t.attr('width', elemBBox.width + 20)\n\t// \t\t\t.attr('height', elemBBox.height + 20)\n\t// \t\t\t.attr('fill', 'transparent')\n\t// \t\t\t.style('pointer-events', 'all')\n\t// \t\t\t.on('mouseover', () => {\n\t// \t\t\t\tthis.tip.clear().showunder(elem.node())\n\t// \t\t\t\tthis.addText(text)\n\t// \t\t\t})\n\t// \t\t\t.on('mouseout', () => {\n\t// \t\t\t\tthis.tip.hide()\n\t// \t\t\t})\n\t// \t}\n\n\t// \tif (this.boxplot.linep50) {\n\t// \t\tconst median = this.plot.descrStats.find((d: any) => d.id == 'median')\n\t// \t\tif (!median) throw `Missing median value for ${this.plot.key}`\n\t// \t\taddToolTips(this.boxplot.linep50, `Median: ${median.value}`)\n\t// \t}\n\t// \tif (this.boxplot.linew1) {\n\t// \t\taddToolTips(this.boxplot.linew1, `${this.boxplot.w1}`)\n\t// \t}\n\t// \tif (this.boxplot.linew2) {\n\t// \t\taddToolTips(this.boxplot.linew2, `${this.boxplot.w2}`)\n\t// \t}\n\t// }\n\n\taddOutliersTooltip() {\n\t\tthis.g\n\t\t\t.selectAll('circle')\n\t\t\t.data(this.boxplot.out)\n\t\t\t.each((d: any, i, nodes) => {\n\t\t\t\tconst circle = select(nodes[i])\n\t\t\t\tcircle.on('mouseover', () => {\n\t\t\t\t\tthis.tip.clear().showunder(circle.node())\n\t\t\t\t\tthis.addText(d.value)\n\t\t\t\t})\n\t\t\t\tcircle.on('mouseout', () => {\n\t\t\t\t\tthis.tip.hide()\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n", "import type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { renderTable, type Menu } from '#dom'\nimport { rgb } from 'd3-color'\n\n/** Menu is available when more than one boxplot is rendered. */\nexport class BoxPlotLabelMenu {\n\tconstructor(\n\t\tplot: RenderedPlot,\n\t\tapp: MassAppApi,\n\t\tinteractions: BoxPlotInteractions,\n\t\ttip: Menu,\n\t\tisVertical: boolean\n\t\t/*chart: any*/\n\t) {\n\t\tconst options = [\n\t\t\t{\n\t\t\t\ttext: `Add filter: ${plot.key}`,\n\t\t\t\tisVisible: () => true,\n\t\t\t\tcallback: () => interactions.addFilter(plot)\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `Hide ${plot.key}`,\n\t\t\t\tisVisible: () => true,\n\t\t\t\tcallback: () => interactions.hidePlot(plot)\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `List samples`,\n\t\t\t\tisVisible: (state: MassState) => state.termdbConfig.displaySampleIds && app.vocabApi.hasVerifiedToken(),\n\t\t\t\tcallback: async (event: MouseEvent) => {\n\t\t\t\t\tif (isVertical) tip.clear().show(event.clientX, event.clientY)\n\t\t\t\t\telse tip.clear().showunder(plot.boxplot.labelG.node())\n\t\t\t\t\tconst [rows, columns] = await interactions.listSamples(plot)\n\n\t\t\t\t\tconst tableDiv = tip.d.append('div')\n\t\t\t\t\trenderTable({\n\t\t\t\t\t\trows: rows as any,\n\t\t\t\t\t\tcolumns: columns as any,\n\t\t\t\t\t\tdiv: tableDiv,\n\t\t\t\t\t\tmaxHeight: '35vh',\n\t\t\t\t\t\tresize: true,\n\t\t\t\t\t\tshowLines: true,\n\t\t\t\t\t\tdataTestId: 'sjpp-listsampletable'\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t]\n\t\tplot.boxplot.labelG.on('click', (event: MouseEvent) => {\n\t\t\ttip.clear()\n\t\t\tif (isVertical) tip.show(event.clientX, event.clientY)\n\t\t\telse tip.showunder(plot.boxplot.labelG.node())\n\t\t\tconst state = app.getState()\n\t\t\tfor (const opt of options) {\n\t\t\t\t//Adds all the menu options before the color picker\n\t\t\t\tif (!opt.isVisible(state)) continue\n\t\t\t\ttip.d\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.classed('sja_menuoption', true)\n\t\t\t\t\t.text(opt.text)\n\t\t\t\t\t.on('click', (event: MouseEvent) => {\n\t\t\t\t\t\ttip.hide()\n\t\t\t\t\t\topt.callback(event)\n\t\t\t\t\t})\n\t\t\t}\n\t\t\tif (plot.color) {\n\t\t\t\ttip.d\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.style('padding', '5px 10px')\n\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t\t.text('Color:')\n\t\t\t\t\t.append('input')\n\t\t\t\t\t.attr('type', 'color')\n\t\t\t\t\t.property('value', rgb(plot.color).formatHex())\n\t\t\t\t\t.on('change', event => {\n\t\t\t\t\t\tinteractions.updatePlotColor(plot, event.target.value)\n\t\t\t\t\t\ttip.hide()\n\t\t\t\t\t})\n\t\t\t}\n\t\t})\n\t}\n}\n", "import { renderTable } from '#dom'\n\n/** If wilcoxon test results are available, render the association table */\nexport class AssociationTableRender {\n\tconstructor(div, data) {\n\t\tconst wrapper = div.style('vertical-align', 'top').style('margin-top', '30px')\n\n\t\t//Title div\n\t\twrapper\n\t\t\t.append('div')\n\t\t\t.text(\"Group comparisons (Wilcoxon's rank sum test)\")\n\t\t\t.style('font-weight', '600')\n\t\t\t.style('text-align', 'center')\n\n\t\tconst tableDiv = wrapper.append('div').style('margin-top', '5px')\n\t\trenderTable({\n\t\t\tdiv: tableDiv,\n\t\t\tcolumns: [{ label: 'Group 1' }, { label: 'Group 2' }, { label: 'P-Value' }],\n\t\t\trows: data\n\t\t})\n\t}\n}\n", "import { drawBoxplot, Menu } from '#dom'\nimport { scaleLinear, scaleLog, type ScaleLinear } from 'd3-scale'\nimport { axisstyle } from '#src/client'\nimport { axisTop, axisLeft } from 'd3-axis'\nimport type { PlotDimensions, FormattedBoxPlotChartsEntry } from '../BoxPlotTypes'\nimport type { BoxPlotSettings } from '../Settings'\nimport type { RenderedPlot } from './RenderedPlot'\nimport { BoxPlotToolTips } from './BoxPlotToolTips'\nimport { BoxPlotLabelMenu } from './BoxPlotLabelMenu'\nimport { AssociationTableRender } from './AssociationTableRender'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\n\n/** Handles the rendering for charts individually.\n * Data is formatted in ChartsDataMapper.*/\nexport class ChartRender {\n\tapp: any\n\tinteractions: BoxPlotInteractions\n\ttextColor: string\n\n\tconstructor(\n\t\tdom: any,\n\t\tsettings: BoxPlotSettings,\n\t\tapp: any,\n\t\tinteractions: BoxPlotInteractions,\n\t\tchart: FormattedBoxPlotChartsEntry,\n\t\tbackgroundColor: string,\n\t\ttextColor: string\n\t) {\n\t\tthis.app = app\n\t\tthis.interactions = interactions\n\t\tthis.textColor = textColor\n\n\t\tconst plotDim = chart.plotDim\n\n\t\tdom.svg\n\t\t\t.transition()\n\t\t\t.attr('width', plotDim.svg.width)\n\t\t\t.attr('height', plotDim.svg.height)\n\t\t\t//Fix for white background when downloading dark mode image.\n\t\t\t.style('fill', backgroundColor)\n\n\t\tconst setScaleFunc = settings.isLogScale ? scaleLog().base(10) : scaleLinear()\n\t\tconst scale = setScaleFunc.domain(plotDim.domain).range(plotDim.range)\n\n\t\tthis.renderTitles(plotDim, dom, settings)\n\t\tthis.renderBoxPlots(dom, chart, scale, settings)\n\t\tthis.renderAxis(plotDim, dom, scale, settings)\n\n\t\tif (chart.wilcoxon && dom.assocTableDiv) {\n\t\t\t//add text and background color to the association table div\n\t\t\t//for display mode\n\t\t\tnew AssociationTableRender(dom.assocTableDiv, chart.wilcoxon)\n\t\t}\n\t}\n\n\trenderTitles(plotDim: PlotDimensions, dom: any, settings: BoxPlotSettings) {\n\t\t//Title of the plot\n\t\tconst transformStr = `translate(${plotDim.title.x}, ${plotDim.title.y})${settings.isVertical ? `,rotate(-90)` : ''}`\n\t\tdom.title\n\t\t\t.attr('class', 'sjpp-boxplot-title')\n\t\t\t.style('font-weight', 600)\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('transform', transformStr)\n\t\t\t.attr('fill', this.textColor)\n\t\t\t.text(plotDim.title.text.length > 80 ? plotDim.title.text.slice(0, 80) + '...' : plotDim.title.text)\n\n\t\t/** If divide by term applied, show the value above\n\t\t * the chart with sample count */\n\t\tif (plotDim.subtitle.text) {\n\t\t\tconst subTransformStr = `translate(${plotDim.subtitle.x}, ${plotDim.subtitle.y})${\n\t\t\t\tsettings.isVertical ? `,rotate(-90)` : ''\n\t\t\t}`\n\t\t\tdom.subtitle\n\t\t\t\t.attr('class', 'sjpp-boxplot-subtitle')\n\t\t\t\t.style('font-size', '1.1em')\n\t\t\t\t.attr('text-anchor', 'middle')\n\t\t\t\t.attr('transform', subTransformStr)\n\t\t\t\t.attr('fill', this.textColor)\n\t\t\t\t.text(plotDim.subtitle.text.length > 80 ? plotDim.subtitle.text.slice(0, 80) + '...' : plotDim.subtitle.text)\n\t\t}\n\t}\n\n\trenderAxis(plotDim: PlotDimensions, dom: any, scale: ScaleLinear<number, number, never>, settings: BoxPlotSettings) {\n\t\t//Fix for the axis rendering min -> max when the plot is vertical\n\t\t/** draw_boxplot renders the boxplot from min-max but the scale\n\t\t * renders the axis from max - min. Render the box plots, then change\n\t\t * the scale vector to match. */\n\t\tif (settings.isVertical) scale.range([scale.range()[1], scale.range()[0]])\n\t\tconst ticks = scale.ticks()\n\t\tconst tickValues = plotDim.axis.values(ticks)\n\t\tdom.axis\n\t\t\t.attr('class', 'sjpp-boxplot-axis')\n\t\t\t.attr('transform', `translate(${plotDim.axis.x}, ${plotDim.axis.y})`)\n\t\t\t.transition()\n\t\t\t.call(\n\t\t\t\tsettings.isVertical\n\t\t\t\t\t? axisLeft(scale)\n\t\t\t\t\t\t\t.tickValues(tickValues)\n\t\t\t\t\t\t\t.tickFormat(d => plotDim.axis.format(d as number))\n\t\t\t\t\t\t\t.tickPadding(8)\n\t\t\t\t\t: axisTop(scale)\n\t\t\t\t\t\t\t.tickValues(tickValues)\n\t\t\t\t\t\t\t.tickFormat(d => plotDim.axis.format(d as number))\n\t\t\t)\n\n\t\taxisstyle({\n\t\t\taxis: dom.axis,\n\t\t\tshowline: true,\n\t\t\tfontsize: 12,\n\t\t\tcolor: this.textColor\n\t\t})\n\t}\n\n\trenderBoxPlots(\n\t\tdom: any,\n\t\tchart: FormattedBoxPlotChartsEntry,\n\t\tscale: ScaleLinear<number, number, never>,\n\t\tsettings: BoxPlotSettings\n\t) {\n\t\t/** Draw boxplots, incrementing by the total row height */\n\t\tfor (const plot of chart.plots) {\n\t\t\tconst g = dom.boxplots.append('g').attr('class', 'sjpp-boxplot-plot').attr('padding', '5px')\n\t\t\tdrawBoxplot({\n\t\t\t\tbp: plot.boxplot,\n\t\t\t\tg,\n\t\t\t\tcolor: settings.displayMode == 'filled' ? 'black' : plot.color,\n\t\t\t\tscale: scale,\n\t\t\t\trowheight: settings.rowHeight,\n\t\t\t\tlabpad: settings.labelPad,\n\t\t\t\tlabColor: this.textColor\n\t\t\t})\n\n\t\t\tconst transformStr = `translate(${plot.x}, ${plot.y})${settings.isVertical ? `, rotate(-90)` : ''}`\n\t\t\tg.attr('transform', transformStr)\n\n\t\t\tif (settings.isVertical) {\n\t\t\t\t//Rotate the text slightly in veritcal orientation\n\t\t\t\tg.select('text').attr('transform', 'rotate(45)')\n\t\t\t}\n\n\t\t\tnew BoxPlotToolTips(plot, g, dom.tip, settings.isVertical)\n\t\t\tif (chart.plots.length > 1) {\n\t\t\t\t//Do not try to use the same tip for the menu as the tooltips.\n\t\t\t\t//When the boxplots are rendered close together, the menu\n\t\t\t\t//disappears to show the tooltip for the next boxplot.\n\t\t\t\t//The user can't make a selection in time.\n\t\t\t\tconst labelMenuTip = new Menu({ padding: '' })\n\t\t\t\tnew BoxPlotLabelMenu(\n\t\t\t\t\tplot as unknown as RenderedPlot,\n\t\t\t\t\tthis.app,\n\t\t\t\t\tthis.interactions,\n\t\t\t\t\tlabelMenuTip,\n\t\t\t\t\tsettings.isVertical\n\t\t\t\t\t/*chart*/\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n}\n", "import type { BoxPlotSettings } from '../Settings'\nimport type { ViewData, FormattedBoxPlotChartsEntry } from '../BoxPlotTypes'\nimport type { MassAppApi } from '#mass/types/mass'\nimport type { BoxPlotInteractions } from '../interactions/BoxPlotInteractions'\nimport { LegendRenderer } from './LegendRender'\nimport { ChartRender } from './ChartRender'\n\n/** Handles rendering each chart and the legend */\nexport class View {\n\tapp: MassAppApi\n\tdom: any\n\tinteractions: BoxPlotInteractions\n\tsettings: BoxPlotSettings\n\tconstructor(\n\t\tviewData: ViewData,\n\t\tsettings: BoxPlotSettings,\n\t\tdom: any,\n\t\tapp: MassAppApi,\n\t\tinteractions: BoxPlotInteractions\n\t) {\n\t\tthis.app = app\n\t\tthis.dom = dom\n\t\tthis.interactions = interactions\n\t\tthis.settings = settings\n\t\tif (!viewData || !viewData.charts) return\n\n\t\tdom.div.style('background-color', viewData.backgroundColor)\n\n\t\tfor (const chart of Object.values(viewData.charts) as FormattedBoxPlotChartsEntry[]) {\n\t\t\tconst chartWrapper = dom.charts.append('div').attr('class', 'sjpp-boxplot-chart-wrapper')\n\n\t\t\tconst svg = chartWrapper.append('svg').attr('class', 'sjpp-boxplot-svg')\n\n\t\t\t/** Enables downloading the chart image for\n\t\t\t * DownloadMenu after rendering. */\n\t\t\tchart['svg'] = svg\n\n\t\t\tconst chartDom: any = {\n\t\t\t\tsvg,\n\t\t\t\ttip: dom.tip\n\t\t\t}\n\t\t\tif (chart.plotDim.subtitle.text) {\n\t\t\t\tchartDom.subtitle = svg.append('text')\n\t\t\t}\n\t\t\tchartDom.title = svg.append('text')\n\t\t\tchartDom.axis = svg.append('g')\n\t\t\tchartDom.boxplots = svg.append('g').attr('class', 'sjpp-boxplot-boxplots')\n\n\t\t\tif (chart.wilcoxon) {\n\t\t\t\tchartDom.assocTableDiv = chartWrapper\n\t\t\t\t\t.append('div')\n\t\t\t\t\t.attr('class', 'sjpp-boxplot-wilcoxon')\n\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t}\n\n\t\t\tnew ChartRender(\n\t\t\t\tchartDom,\n\t\t\t\tthis.settings,\n\t\t\t\tthis.app,\n\t\t\t\tthis.interactions,\n\t\t\t\tchart,\n\t\t\t\tviewData.backgroundColor,\n\t\t\t\tviewData.textColor\n\t\t\t)\n\t\t}\n\n\t\tnew LegendRenderer(dom.legend, viewData.legend, interactions, viewData.textColor)\n\t}\n}\n", "import { term0_term2_defaultQ, renderTerm1Label } from '../controls'\n\nexport function setBoxPlotControlInputs(state: any, app: any, opts: any, getCharts: any, useDefaultSettings: boolean) {\n\tconst controlLabels = state.config.controlLabels\n\tif (!controlLabels) throw new Error('controls labels not found')\n\n\tconst inputs: { [index: string]: any }[] = [\n\t\t{\n\t\t\ttype: 'term',\n\t\t\tconfigKey: 'term',\n\t\t\tchartType: 'boxplot',\n\t\t\tusecase: { target: 'boxplot', detail: 'term' },\n\t\t\tlabel: controlLabels.term1?.label || renderTerm1Label,\n\t\t\tvocabApi: app.vocabApi,\n\t\t\tmenuOptions: 'edit'\n\t\t},\n\t\t{\n\t\t\ttype: 'term',\n\t\t\tconfigKey: 'term2',\n\t\t\tchartType: 'boxplot',\n\t\t\tusecase: { target: 'boxplot', detail: 'term2' },\n\t\t\ttitle: controlLabels.term2.title || controlLabels.term2.label,\n\t\t\tlabel: controlLabels.term2.label,\n\t\t\tvocabApi: app.vocabApi,\n\t\t\tnumericEditMenuVersion: opts.numericEditMenuVersion || ['continuous', 'discrete'],\n\t\t\tdefaultQ4fillTW: term0_term2_defaultQ\n\t\t},\n\t\t{\n\t\t\ttype: 'term',\n\t\t\tconfigKey: 'term0',\n\t\t\tchartType: 'boxplot',\n\t\t\tusecase: { target: 'boxplot', detail: 'term0' },\n\t\t\ttitle: controlLabels.term0.title || controlLabels.term0.label,\n\t\t\tlabel: controlLabels.term0.label,\n\t\t\tvocabApi: app.vocabApi,\n\t\t\tnumericEditMenuVersion: opts.numericEditMenuVersion || ['continuous', 'discrete'],\n\t\t\tdefaultQ4fillTW: term0_term2_defaultQ\n\t\t},\n\t\t{\n\t\t\tlabel: 'Order by',\n\t\t\ttitle: 'Order box plots by parameters',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'orderByMedian',\n\t\t\toptions: [\n\t\t\t\t{ label: 'Default', value: false },\n\t\t\t\t{ label: 'Median values', value: true }\n\t\t\t],\n\t\t\tgetDisplayStyle: () => {\n\t\t\t\tconst charts = getCharts()\n\t\t\t\tlet style = 'none'\n\t\t\t\tfor (const k of Object.keys(charts)) {\n\t\t\t\t\tconst chart = charts[k]\n\t\t\t\t\tif (chart.plots.length > 1) style = ''\n\t\t\t\t}\n\t\t\t\treturn style\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'Scale',\n\t\t\ttitle: 'Change the axis scale',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'isLogScale',\n\t\t\toptions: [\n\t\t\t\t{ label: 'Linear', value: false },\n\t\t\t\t{ label: 'Log10', value: true }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tlabel: 'Orientation',\n\t\t\ttitle: 'Change the orientation of the box plots',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'isVertical',\n\t\t\toptions: [\n\t\t\t\t{ label: 'Horizontal', value: false },\n\t\t\t\t{ label: 'Vertical', value: true }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tlabel: 'Plot length',\n\t\t\ttitle: 'Set the plot length of the entire plot in pixels, >=200',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'plotLength',\n\t\t\tdebounceInterval: 500,\n\t\t\tmin: 200,\n\t\t\tstep: 10\n\t\t},\n\t\t{\n\t\t\tlabel: 'Box size',\n\t\t\ttitle: 'Set the box size or thickness in pixels of each box plot between 20 and 50',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'rowHeight',\n\t\t\tstep: 1,\n\t\t\tmax: 50,\n\t\t\tmin: 20,\n\t\t\tdebounceInterval: 500,\n\t\t\tprocessInput: (val: number) => {\n\t\t\t\t/**TODO: This is a hack. */\n\t\t\t\tif (useDefaultSettings == true) useDefaultSettings = false\n\t\t\t\treturn val\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'Plots padding',\n\t\t\ttitle: 'Set the space between each box plot. Number must be between 10 and 20',\n\t\t\ttype: 'number',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'rowSpace',\n\t\t\tstep: 1,\n\t\t\tmax: 20,\n\t\t\tmin: 10,\n\t\t\tdebounceInterval: 500,\n\t\t\tprocessInput: (val: number) => {\n\t\t\t\t/**TODO: This is a hack. */\n\t\t\t\tif (useDefaultSettings == true) useDefaultSettings = false\n\t\t\t\treturn val\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'Default color',\n\t\t\ttype: 'color',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'color',\n\t\t\tgetDisplayStyle: () => {\n\t\t\t\tconst charts = getCharts()\n\t\t\t\tlet style = ''\n\t\t\t\tfor (const k of Object.keys(charts)) {\n\t\t\t\t\tconst chart = charts[k]\n\t\t\t\t\tif (chart.plots.length > 1) style = 'none'\n\t\t\t\t}\n\t\t\t\treturn style\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tlabel: 'Display mode',\n\t\t\ttitle: 'Apply a dark theme to the plot',\n\t\t\ttype: 'radio',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'displayMode',\n\t\t\toptions: [\n\t\t\t\t{ label: 'Default', value: 'default' },\n\t\t\t\t{ label: 'Filled', value: 'filled' },\n\t\t\t\t{ label: 'Dark mode', value: 'dark' }\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tlabel: 'Show association tests',\n\t\t\tboxLabel: '',\n\t\t\ttype: 'checkbox',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'showAssocTests',\n\t\t\ttitle: `Show association tests next to the box plots.`,\n\t\t\tgetDisplayStyle: plot => {\n\t\t\t\treturn plot?.term2 ? '' : 'none'\n\t\t\t}\n\t\t}\n\t]\n\n\tif (state.termdbConfig?.boxplots?.removeOutliers) {\n\t\tinputs.push({\n\t\t\tlabel: 'Remove outliers',\n\t\t\tboxLabel: '',\n\t\t\ttype: 'checkbox',\n\t\t\tchartType: 'boxplot',\n\t\t\tsettingsKey: 'removeOutliers',\n\t\t\ttitle: `Option to remove outliers from the analysis`\n\t\t})\n\t}\n\n\treturn inputs\n}\n", "import { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { PlotBase, defaultUiLabels } from '#plots/PlotBase.ts'\nimport { fillTermWrapper } from '#termsetting'\nimport { getCombinedTermFilter } from '#filter'\nimport { controlsInit } from '#plots/controls.js'\nimport { Menu, getMaxLabelWidth, DownloadMenu } from '#dom'\nimport type { Elem } from '../../types/d3'\nimport type { MassAppApi, MassState } from '#mass/types/mass'\nimport type { TdbBoxPlotOpts, BoxPlotDom, BoxPlotConfigOpts } from './BoxPlotTypes'\nimport { Model } from './model/Model'\nimport { ViewModel } from './viewModel/ViewModel'\nimport { getChartSubtitle } from './viewModel/ChartsDataMapper'\nimport { BoxPlotInteractions } from './interactions/BoxPlotInteractions'\nimport { View } from './view/View'\nimport { getDefaultBoxplotSettings } from './defaults'\nimport { setBoxPlotControlInputs } from './BoxPlotControlInputs'\n\nexport class TdbBoxplot extends PlotBase implements RxComponent {\n\tstatic type = 'boxplot'\n\ttype: string\n\tcomponents: { controls: any }\n\tdom: BoxPlotDom\n\tdata: any\n\tinteractions?: BoxPlotInteractions\n\tprivate useDefaultSettings = true\n\tparentId?: string\n\tapi: any\n\tconfigTermKeys = ['term', 'term0', 'term2']\n\n\tconstructor(opts: TdbBoxPlotOpts, api: MassAppApi) {\n\t\tsuper(opts)\n\t\tthis.opts = opts\n\t\tthis.api = api\n\t\tthis.type = TdbBoxplot.type\n\t\tthis.components = {\n\t\t\tcontrols: {}\n\t\t}\n\n\t\tconst holder = opts.holder.classed('sjpp-boxplot-main', true)\n\t\tconst controls = opts.controls ? holder : holder.append('div')\n\t\tconst div = holder.append('div')\n\t\tconst errorDiv = div.append('div').attr('class', 'sjpp-boxplot-error') //.style('opacity', 0.75)\n\t\tconst loading = div.append('div').style('padding', '24px').text('Loading ...')\n\t\tconst chartsDiv = div\n\t\t\t.append('div')\n\t\t\t.attr('class', 'sjpp-boxplot-charts')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('flex-direction', 'row')\n\t\t\t.style('flex-wrap', 'wrap')\n\t\t\t.style('max-width', '100vw')\n\t\tthis.dom = {\n\t\t\tcontrols: controls as Elem,\n\t\t\tdiv,\n\t\t\terror: errorDiv,\n\t\t\tloading,\n\t\t\tcharts: chartsDiv,\n\t\t\tlegend: div.append('div').attr('class', 'sjpp-boxplot-legend').style('margin-top', '25px'),\n\t\t\ttip: new Menu()\n\t\t}\n\t\tif (opts.header) this.dom.header = opts.header.html('Box plot')\n\t}\n\n\tasync setControls() {\n\t\tconst state = this.getState(this.app.getState())\n\t\tconst inputs = setBoxPlotControlInputs(\n\t\t\tstate,\n\t\t\tthis.app,\n\t\t\tthis.opts,\n\t\t\t() => {\n\t\t\t\treturn this.data?.charts || []\n\t\t\t},\n\t\t\tthis.useDefaultSettings\n\t\t)\n\t\tthis.components.controls = await controlsInit({\n\t\t\tapp: this.app,\n\t\t\tid: this.id,\n\t\t\tholder: this.dom.controls.style('display', 'inline-block'),\n\t\t\tinputs\n\t\t})\n\n\t\tthis.components.controls.on('downloadClick.boxplot', event => {\n\t\t\tthis.download(event)\n\t\t})\n\t\tthis.components.controls.on('helpClick.boxplot', () => {\n\t\t\tthis.interactions!.help()\n\t\t})\n\n\t\tif (state.vocab.dslabel.toLowerCase() == 'gdc') {\n\t\t\t//Remove for now. May add gdc specific user guide\n\t\t\t//in interactions.help later.\n\t\t\tthis.dom.controls.select('div[aria-label=\"Documentation\"]').remove()\n\t\t}\n\t}\n\n\treactsTo(action) {\n\t\tif (action.type.startsWith('plot_')) {\n\t\t\treturn (\n\t\t\t\t(action.id === this.id || action.id == this.parentId) &&\n\t\t\t\t(!action.config?.childType || action.config?.childType == this.type)\n\t\t\t)\n\t\t}\n\t\treturn true\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config = appState.plots.find((p: any) => p.id === this.id)\n\t\tif (!config) {\n\t\t\tthrow new Error(\n\t\t\t\t`No plot with id='${this.id}' found. Did you set this.id before this.api = getComponentApi(this)?`\n\t\t\t)\n\t\t}\n\t\tconst parentConfig = appState.plots.find(p => p.id === this.parentId)\n\t\tconst termfilter = getCombinedTermFilter(appState, config.filter || parentConfig?.filter)\n\t\treturn {\n\t\t\ttermdbConfig: appState.termdbConfig,\n\t\t\ttermfilter,\n\t\t\tvocab: appState.vocab,\n\t\t\tconfig: Object.assign({}, config, {\n\t\t\t\tsettings: {\n\t\t\t\t\tboxplot: config.settings.boxplot\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tasync init() {\n\t\tthis.dom.div.style('display', 'inline-block').style('margin-left', '20px')\n\t\tthis.interactions = new BoxPlotInteractions(this.app, this.dom, this.id, () => {\n\t\t\treturn this.data\n\t\t})\n\t\tawait this.setControls()\n\t}\n\n\tasync main() {\n\t\tconst c = this.state.config\n\t\tif (c.childType != this.type && c.chartType != this.type) return\n\t\tif (!this.interactions) throw new Error('Interactions not initialized [box plot main()]')\n\n\t\tthis.toggleLoadingDiv()\n\t\tconst config = await this.getMutableConfig()\n\t\tconst settings = config.settings.boxplot\n\t\tconst model = new Model(this, config)\n\n\t\ttry {\n\t\t\tconst data = await model.getData()\n\t\t\tconfig.term.q.descrStats = data.descrStats\n\t\t\tconfig.bins = data.bins\n\n\t\t\tif (data.error) throw new Error(data.error)\n\t\t\tif (!data.charts || !Object.keys(data.charts).length) {\n\t\t\t\tthis.interactions.clearDom()\n\t\t\t\tthis.dom.error.style('padding', '20px 20px 20px 60px').text('No visible box plot data to render')\n\t\t\t\tthis.toggleLoadingDiv('none')\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.data = data\n\t\t} catch (e: any) {\n\t\t\tthis.toggleLoadingDiv('none')\n\t\t\tif (this.app.isAbortError(e)) return\n\t\t\tif (e.stack) console.log(e.stack)\n\t\t\tif (e instanceof Error) console.error(e.message || e)\n\t\t\tthrow new Error(e)\n\t\t}\n\n\t\tthis.interactions.clearDom()\n\n\t\t/** The space needed for the labels must be calculated\n\t\t * before calculating the plot dimensions in the view model. */\n\t\tconst labels: string[] = Object.values(this.data.charts).reduce((labels: string[], chart: any) => {\n\t\t\tconst chartLabels = chart.plots.filter(p => !p.isHidden).map(p => p.boxplot.label)\n\t\t\tlabels.push(...chartLabels)\n\t\t\treturn labels\n\t\t}, [])\n\t\tconst tempsvg = this.dom.charts.append('svg')\n\t\tconst maxLabelLgth = getMaxLabelWidth(tempsvg.append('g'), labels)\n\t\ttempsvg.remove()\n\n\t\tconst viewModel = new ViewModel(config, this.data, settings, maxLabelLgth, this.useDefaultSettings)\n\t\tif (!viewModel.viewData) throw new Error('No viewData from ViewModel')\n\n\t\tif (\n\t\t\t(viewModel.rowSpace !== settings.rowSpace || viewModel.rowHeight !== settings.rowHeight) &&\n\t\t\tthis.useDefaultSettings == true\n\t\t) {\n\t\t\t/** TODO: Get rid of this work around\n\t\t\t *\n\t\t\t * If the row height or space changed during data processing,\n\t\t\t * save the new settings without calling app.dispatch.\n\t\t\t * Will show updated value in the controls. */\n\t\t\tsettings.rowSpace = viewModel.rowSpace\n\t\t\tsettings.rowHeight = viewModel.rowHeight\n\n\t\t\tthis.app.save({\n\t\t\t\ttype: 'plot_edit',\n\t\t\t\tid: this.id,\n\t\t\t\tconfig: {\n\t\t\t\t\tsettings: {\n\t\t\t\t\t\tboxplot: {\n\t\t\t\t\t\t\trowSpace: viewModel.rowSpace,\n\t\t\t\t\t\t\trowHeight: viewModel.rowHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tthis.toggleLoadingDiv('none')\n\t\tnew View(viewModel.viewData, settings, this.dom, this.app, this.interactions)\n\t\t/** Enables downloading the chart images for DownloadMenu after rendering. */\n\t\tthis.data.charts = viewModel.viewData.charts\n\t}\n\n\tgetChartImages() {\n\t\tconst chartImages: any[] = []\n\t\tconst charts: any[] = this.data.charts\n\t\tfor (const [key, chart] of Object.entries(charts)) {\n\t\t\tconst svg: any = chart.svg\n\t\t\tconst title = getChartSubtitle(this.state.config, key)\n\t\t\tconst name = `${this.state.config.term.term.name} ${title}`\n\t\t\tchartImages.push({ name, svg })\n\t\t}\n\t\treturn chartImages\n\t}\n\n\tdownload(event) {\n\t\tif (!this.state) return\n\t\tconst name2svg = this.getChartImages()\n\t\tconst dm = new DownloadMenu(name2svg, this.state.config.term.term.name)\n\t\tdm.show(event.clientX, event.clientY, event.target)\n\t}\n\n\ttoggleLoadingDiv(display = '') {\n\t\tif (display != 'none') {\n\t\t\tthis.dom.loading.style('opacity', 0).style('display', display).transition().duration(3000).style('opacity', 1)\n\t\t} else {\n\t\t\tthis.dom.loading.style('display', display)\n\t\t}\n\t}\n}\n\nexport const boxplotInit = getCompInit(TdbBoxplot)\nexport const componentInit = boxplotInit\n\nexport async function getPlotConfig(opts: BoxPlotConfigOpts, app: MassAppApi) {\n\tif (!opts.term) throw new Error('opts.term{} missing')\n\ttry {\n\t\tawait fillTermWrapper(opts.term, app.vocabApi)\n\t\tif (opts.term2) await fillTermWrapper(opts.term2, app.vocabApi)\n\t\tif (opts.term0) await fillTermWrapper(opts.term0, app.vocabApi)\n\t} catch (e) {\n\t\tconsole.error(new Error(`${e} [boxplot getPlotConfig()]`))\n\t\tthrow new Error(`boxplot getPlotConfig() failed`)\n\t}\n\n\tconst config = {\n\t\tid: opts.term.term.id,\n\t\tcontrolLabels: Object.assign({}, defaultUiLabels, app.vocabApi.termdbConfig.uiLabels || {}),\n\t\tsettings: {\n\t\t\tcontrols: {\n\t\t\t\tterm2: null,\n\t\t\t\tterm0: null\n\t\t\t},\n\t\t\tboxplot: getDefaultBoxplotSettings(app, opts.overrides || {})\n\t\t}\n\t}\n\n\treturn copyMerge(config, opts)\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWO,IAAM,QAAN,MAAY;AAAA,EAOlB,YAAY,SAAqB,QAAuB;AACvD,SAAK,UAAU;AACf,SAAK,SAAS;AACd,SAAK,QAAQ,QAAQ;AACrB,SAAK,MAAM,QAAQ;AACnB,SAAK,WAAW,OAAO,SAAS;AAAA,EACjC;AAAA,EAEA,MAAM,UAAU;AACf,UAAM,kBAAkB,KAAK,eAAe;AAC5C,UAAM,OAAwB,MAAM,KAAK,IAAI,SAAS;AAAA,MACrD;AAAA,MACA,KAAK,QAAQ,IAAI,eAAe;AAAA,IACjC;AACA,WAAO;AAAA,EACR;AAAA,EAEA,iBAAiB;AAChB,UAAM,OAAiC;AAAA,MACtC,IAAI,KAAK,iBAAiB;AAAA,MAC1B,QAAQ,KAAK,MAAM,WAAW;AAAA,MAC9B,SAAS,KAAK,MAAM,WAAW;AAAA,MAC/B,eAAe,KAAK,SAAS;AAAA,MAC7B,YAAY,KAAK,SAAS;AAAA,MAC1B,gBAAgB,KAAK,SAAS;AAAA,MAC9B,gBAAgB,KAAK,SAAS;AAAA,IAC/B;AACA,QAAI,KAAK,OAAO;AACf,WAAK,YAAY,KAAK,iBAAiB,KAAK,KAAK,OAAO,OAAO,KAAK,OAAO,QAAQ,KAAK,OAAO;AAEhG,QAAI,KAAK,OAAO,MAAO,MAAK,WAAW,KAAK,OAAO;AAEnD,WAAO;AAAA,EACR;AAAA,EAEA,mBAAmB;AAClB,QAAI,CAAC,KAAK,QAAQ,MAAO,QAAO,KAAK,OAAO;AAC5C,WAAO,cAAc,KAAK,OAAO,KAAK,IAAI,KAAK,KAAK,OAAO,KAAK,EAAE,QAAQ,eACvE,KAAK,OAAO,OACZ,KAAK,OAAO;AAAA,EAChB;AACD;;;ACpDO,IAAM,mBAAN,MAAuB;AAAA,EAI7B,YAAY,QAAuB;AAHnC,sBAAyB,CAAC;AAIzB,SAAK,SAAS;AAEd,UAAM,UAAU,QAAQ;AACxB,UAAM,UAAU,QAAQ;AAExB,QAAI,OAAO,KAAK,GAAG,YAAY;AAC9B,WAAK,WAAW,KAAK;AAAA,QACpB,OAAO,yBAAyB,UAAU,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK,EAAE;AAAA,QAC3E,OAAO,KAAK,kBAAkB,OAAO,KAAK,EAAE,UAAU;AAAA,MACvD,CAAC;AAAA,IACF;AACA,QAAI,WAAW,QAAQ,GAAG,cAAc,CAAC,SAAS;AACjD,WAAK,WAAW,KAAK;AAAA,QACpB,OAAO,2BAA2B,OAAO,MAAM,KAAK,IAAI;AAAA,QACxD,OAAO,KAAK,kBAAkB,QAAQ,EAAE,UAAU;AAAA,MACnD,CAAC;AAAA,IACF;AAAA,EACD;AAAA,EAEA,IAAI,QAAgD,oBAAwD;AAC3G,UAAM,cAAc,KAAK,eAAe,MAAM;AAE9C,QAAI,KAAK,OAAO,KAAK,MAAM,QAAQ;AAClC,YAAM,aAAa,KAAK,OAAO,QAAQ,KAAK,OAAO,KAAK,KAAK,OAAO;AACpE,YAAM,YAAY,KAAK,uBAAuB,KAAK,OAAO,MAAM,YAAY,aAAa,sBAAsB,CAAC,CAAC;AACjH,UAAI,UAAW,MAAK,WAAW,KAAK,SAAS;AAAA,IAC9C;AAEA,QAAI,KAAK,OAAO,OAAO,MAAM,QAAQ;AACpC,YAAM,YAAY,KAAK;AAAA,QACtB,KAAK,OAAO;AAAA,QACZ,KAAK,OAAO,MAAM,KAAK;AAAA,QACvB;AAAA,QACA,sBAAsB,CAAC;AAAA,MACxB;AACA,UAAI,UAAW,MAAK,WAAW,KAAK,SAAS;AAAA,IAC9C;AAEA,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,eAAe,QAAgD;AAC9D,UAAM,cAAc,OAAO,OAAO,MAAM,EACtC,OAAO,CAAC,SAA2B,UAAe;AAClD,iBAAW,KAAK,MAAM,SAAS,CAAC,GAAG;AAClC,YAAI,CAAC,EAAE,YAAY,QAAQ,IAAI,EAAE,GAAG,EAAG;AAEvC,gBAAQ,IAAI,EAAE,KAAK;AAAA,UAClB,KAAK,EAAE;AAAA,UACP,MAAM,EAAE;AAAA,UACR,UAAU;AAAA,UACV,QAAQ;AAAA,QACT,CAAC;AAAA,MACF;AACA,aAAO;AAAA,IACR,GAAG,oBAAI,IAAiB,CAAC,EACxB,OAAO;AACT,WAAO,MAAM,KAAK,WAAW;AAAA,EAC9B;AAAA,EAEA,kBAAkB,OAAmB;AACpC,WAAO,OAAO,OAAO,KAAK,EAAE,IAAI,QAAM;AAAA,MACrC,KAAK,EAAE;AAAA,MACP,MAAM,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK;AAAA,MAC5B,UAAU;AAAA,MACV,QAAQ;AAAA,IACT,EAAE;AAAA,EACH;AAAA,EAEA,uBACC,IACA,OACA,aACA,oBACC;AACD,UAAM,WAAwD,EAAE,OAAO,OAAO,CAAC,EAAE;AAEjF,QAAI,YAAY,QAAQ;AACvB,iBAAW,OAAO,OAAO,KAAK,GAAG,EAAE,gBAAgB,CAAC,CAAC,GAAG;AACvD,cAAM,OAAO,YAAY,KAAK,OAAK,EAAE,QAAQ,GAAG;AAChD,YAAI,KAAM,UAAS,MAAM,KAAK,IAAI;AAAA,MACnC;AAAA,IACD;AACA,QAAI,sBAAsB,mBAAmB,QAAQ;AACpD,iBAAW,KAAK,OAAO,OAAQ,GAAG,KAAK,UAAU,CAAC,CAAyB,GAAG;AAC7E,cAAM,mBAAmB,mBAAmB,KAAK,OAAK,EAAE,UAAU,EAAE,KAAK;AACzE,YAAI,kBAAkB;AACrB,mBAAS,MAAM,KAAK;AAAA,YACnB,KAAK,iBAAiB;AAAA,YACtB,MAAM,GAAG,iBAAiB,KAAK,OAAO,iBAAiB,KAAK;AAAA,YAC5D,UAAU;AAAA,YACV,QAAQ;AAAA,UACT,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AACA,WAAO,SAAS,MAAM,SAAS,WAAW;AAAA,EAC3C;AACD;;;ACrGO,IAAM,mBAAN,MAAuB;AAAA;AAAA,EAE7B,UAAU;AAAA;AAAA,EAEV,aAAa;AAAA;AAAA,EAEb,YAAY;AAAA;AAAA,EAEZ,aAAa;AAAA;AAAA;AAAA,EAGb,kBAAkB;AAAA,EAmBlB,YAAY,MAAW,UAAe,cAAsB,oBAA6B;AACxF,SAAK,kBAAkB,IAAI;AAE3B,SAAK,SAAS,KAAK;AACnB,SAAK,SAAS,KAAK;AACnB,SAAK,SAAS,OAAO,OAAO,KAAK,MAAM;AACvC,SAAK,WAAW;AAMhB,QAAI,oBAAoB;AACvB,YAAM,EAAE,WAAW,SAAS,IAAI,KAAK,eAAe,KAAK,MAAM;AAC/D,WAAK,YAAY;AACjB,WAAK,WAAW;AAAA,IACjB,OAAO;AACN,WAAK,YAAY,SAAS;AAC1B,WAAK,WAAW,SAAS;AAAA,IAC1B;AAEA,SAAK,iBAAiB,eAAe,SAAS;AAC9C,SAAK,eAAe,KAAK,YAAY,KAAK;AAAA,EAC3C;AAAA;AAAA,EAGA,kBAAkB,MAAW;AAC5B,QAAI,CAAC,KAAM,OAAM,IAAI,MAAM,qCAAqC;AAChE,QAAI,CAAC,KAAK,OAAQ,OAAM,IAAI,MAAM,4CAA4C;AAC9E,QAAI,CAAC,MAAM,QAAQ,KAAK,MAAM,KAAK,OAAO,KAAK,WAAW;AACzD,YAAM,IAAI,MAAM,iDAAiD;AAClE,QAAI,KAAK,WAAW,UAAa,KAAK,WAAW;AAChD,YAAM,IAAI,MAAM,8DAA8D;AAAA,EAChF;AAAA;AAAA,EAGA,eAAe,QAA6B;AAC3C,QAAI,gBAAgB;AACpB,eAAW,SAAS,QAAQ;AAC3B,sBAAgB,gBAAgB,MAAM,MAAM,OAAO,OAAK,CAAC,EAAE,QAAQ,EAAE;AAAA,IACtE;AACA,UAAM,mBAAmB,gBAAgB;AACzC,UAAM,YAAY,gBAAgB,KAAM,mBAAmB,KAAK,KAAM;AACtE,UAAM,WAAW,gBAAgB,KAAM,mBAAmB,KAAK,KAAM;AAErE,WAAO,EAAE,WAAW,SAAS;AAAA,EAC9B;AAAA,EAEA,IAAI,QAAuB;AAC1B,UAAM,YAAY,CAAC;AACnB,eAAW,SAAS,KAAK,QAAQ;AAEhC,UAAI,UAAU;AAEd,YAAM,UAAU,KAAK,kBAAkB,OAAO,QAAQ,KAAK,UAAU,OAAO;AAE5E,UAAI,QAAQ,MAAO,YAAW,KAAK;AAEnC,iBAAW;AAEX,gBAAU,MAAM,OAAO,IAAI;AAAA,QAC1B;AAAA,QACA,OAAO,KAAK,YAAY,OAAO,QAAQ,KAAK,UAAU,OAAO;AAAA,QAC7D,UAAU,OAAO,YAAY;AAAA,MAC9B;AAAA,IACD;AACA,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,OAA0B,QAAa,UAA2B,SAAiB;AACpG,UAAM,MAAM,KAAK,iBAAiB,UAAU,OAAO,SAAS,MAAM;AAClE,UAAM,aAAa,KAAK,iBAAiB,SAAS,aAAa;AAC/D,UAAM,UAAU;AAAA;AAAA,MAEf,QAAQ,CAAC,KAAK,QAAQ,KAAK,UAAU,IAAI,KAAK,SAAS,KAAK,SAAS,CAAC;AAAA,MACtE,OAAO,CAAC,GAAG,SAAS,UAAU;AAAA,MAC9B;AAAA,MACA,UAAU,KAAK;AAAA,QACd;AAAA,QACA;AAAA,QACA,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACD;AAAA,MACA,OAAO,KAAK,mBAAmB,QAAQ,UAAU,IAAI,QAAQ,YAAY,OAAO;AAAA,MAChF,MAAM;AAAA,QACL,GAAG,SAAS,aAAa,KAAK,YAAY,IAAI,UAAU,KAAK,UAAU,KAAK;AAAA,QAC5E,GAAG,KAAK,WAAW,SAAS,aAAa,SAAS,WAAW,UAAU;AAAA,QACvE,QAAQ,CAAC,UAAoB;AAC5B,cAAI,SAAS,WAAY,QAAO,KAAK,iBAAiB,KAAK;AAC3D,iBAAO;AAAA,QACR;AAAA,QACA,QAAQ,CAAC,MAAc;AACtB,cAAI,SAAS,YAAY;AACxB,gBAAI,OAAO,UAAU,CAAC,EAAG,QAAO,OAAO,KAAK,EAAE,CAAC;AAC/C,kBAAM,MAAM,+BAA+B,CAAC;AAC5C,gBAAI,MAAM,EAAG,QAAO,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;AAC5C,mBAAO,OAAO,KAAK,EAAE,CAAC;AAAA,UACvB;AACA,iBAAO,EAAE,SAAS;AAAA,QACnB;AAAA,MACD;AAAA,IACD;AAEA,QAAI,QAAQ,OAAO;AAClB,UAAI,SAAS,WAAY,SAAQ,KAAK,KAAK,KAAK;AAAA,UAC3C,SAAQ,KAAK,KAAK,KAAK;AAAA,IAC7B;AAEA,WAAO;AAAA,EACR;AAAA,EAEA,iBACC,UACA,OACA,SACA,QACoC;AACpC,QAAI,aACH,MAAM,MAAM,OAAO,OAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,KAAK,eAAe,KAAK,UAAU,KAAK,aAAa;AACpG,QAAI,QAAQ,MAAO,eAAc,KAAK,kBAAkB;AAExD,UAAM,SAAS,SAAS,aAAa,KAAK,iBAAiB,KAAK,YAAY;AAC5E,WAAO;AAAA,MACN,OAAO,SAAS,aAAa,aAAa,KAAK,YAAY;AAAA,MAC3D,QAAQ,SAAS,aAAa,SAAS;AAAA,IACxC;AAAA,EACD;AAAA,EAEA,sBACC,QACA,UACA,QACA,SACA,aACA,YACA,SAC8D;AAC9D,UAAM,MAAmE;AAAA,MACxE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,MAAM;AAAA,IACP;AACA,QAAI,OAAO,OAAO;AACjB,UAAI,IAAI,SAAS,aAAa,KAAK,YAAY,IAAI;AACnD,UAAI,IAAI,SAAS,aAAa,SAAS,aAAa,KAAK,YAAY,IAAI,KAAK,UAAU,UAAU;AAClG,UAAI,OAAO,GAAG,iBAAiB,QAAQ,OAAO,CAAC,OAAO,WAAW;AAAA,IAClE;AACA,WAAO;AAAA,EACR;AAAA,EAEA,mBAAmB,QAAa,UAA2B,QAAgB,YAAoB,SAAiB;AAC/G,UAAM,MAAM;AAAA,MACX,GAAG,SAAS,aAAa,KAAK,YAAY,IAAI;AAAA,MAC9C,GAAG,SAAS,aAAa,SAAS,aAAa,KAAK,YAAY,IAAI,KAAK,UAAU,UAAU;AAAA,MAC7F,MAAM,OAAO,KAAK,EAAE,QAAQ,eAAe,OAAO,KAAK,KAAK,OAAO,OAAO,MAAM,KAAK;AAAA,IACtF;AACA,QAAI,QAAQ,OAAO;AAClB,UAAI,SAAS,WAAY,KAAI,KAAK,KAAK,kBAAkB;AAAA,UACpD,KAAI,KAAK,KAAK,kBAAkB;AAAA,IACtC;AACA,WAAO;AAAA,EACR;AAAA,EAEA,iBAAiB,OAAiB;AACjC,QAAI,CAAC,SAAS,MAAM,UAAU,GAAG;AAChC,YAAM,IAAI,MAAM,uCAAuC;AAAA,IACxD;AACA,UAAM,yBAAyB,MAAM,OAAO,OAAK,IAAI,CAAC,EAAE,SAAS,MAAM;AACvE,UAAM,QAAQ,MAAM,MAAM,SAAS,CAAC,IAAI,MAAM,CAAC;AAC/C,UAAM,SAAS,QAAQ,MAAO,IAAI,QAAQ,MAAM,IAAI;AACpD,UAAM,iBAAiB,MAAM,OAAO,CAAC,GAAG,MAAM;AAC7C,UAAI,MAAM,KAAM,KAAK,MAAM,SAAS,KAAK,IAAI,WAAW,EAAI,QAAO;AAAA,eAC1D,KAAK,KAAK,yBAAyB,KAAK;AAGhD,YAAI,IAAI,MAAM,EAAG,QAAO;AAAA,MACzB,WAAW,IAAI,WAAW,EAAG,QAAO;AAAA,IACrC,CAAC;AACD,WAAO;AAAA,EACR;AAAA,EAEA,YAAY,OAAY,QAAa,UAA2B,SAAiB;AAChF,UAAM,QAAQ,gBAAgB,MAAM,MAAM,OAAO,OAAK,CAAC,EAAE,QAAQ,CAAC;AAClE,eAAW,QAAQ,OAAO;AAIzB,UAAI;AACJ,YAAM,QAAQ,OAAO;AACrB,UAAI,OAAO;AACV,YAAI,MAAM,EAAE,QAAQ,yBAAyB,MAAM,EAAE,QAAQ,mBAAmB;AAC/E,gBAAM,WACL,MAAM,EAAE,QAAQ,wBACb,MAAM,KAAK,aAAa,IAAI,MAAM,EAAE,uBAAuB,IAC3D,MAAM,EAAE;AACZ,cAAI,CAAC,SAAU,OAAM;AACrB,gBAAM,QAAQ,SAAS,OAAO,KAAK,OAAK,EAAE,QAAQ,KAAK,QAAQ;AAC/D,cAAI,OAAO,MAAO,SAAQ,MAAM;AAAA,QACjC,OAAO;AACN,kBAAQ,MAAM,KAAK,SAAS,KAAK,QAAQ,GAAG;AAAA,QAC7C;AAAA,MACD;AACA,UAAI,CAAC,MAAO,SAAQ,SAAS;AAE7B,UAAI,CAAC,KAAK,MAAO,MAAK,QAAQ;AAE9B,UAAI,SAAS,eAAe,OAAQ,MAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,SAAS,IAAI;AAC9E,UAAI,KAAK,QAAQ,IAAI,QAAQ;AAC5B,cAAM,SAAS,KAAK,QAAQ,IAAI;AAAA,UAAO,CAAC,GAAsB,MAC7D,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK;AAAA,QAC1B;AACA,YAAI,UAAU,OAAO,QAAQ,MAAM,OAAQ,OAAM,SAAS,OAAO;AACjE,aAAK,QAAQ,SAAS,KAAK;AAAA,MAC5B;AACA,WAAK,QAAQ,WACZ,SAAS,eAAe,SAAS,UAAU,SAAS,eAAe,WAAW,QAAQ;AACvF,WAAK,IAAI,SAAS,aAAa,KAAK,YAAY,IAAI,UAAU,KAAK;AACnE,WAAK,IAAI,KAAK,WAAW,SAAS,aAAa,SAAS,aAAa,SAAS,WAAW;AACzF,iBAAW,KAAK;AAGhB,WAAK,UAAU,MAAM,WAAW;AAAA,IACjC;AACA,WAAO;AAAA,EACR;AACD;AAEO,SAAS,iBAAiB,QAAa,SAAyB;AACtE,MAAI,CAAC,OAAO,MAAO,QAAO;AAC1B,SAAO,OAAO,MAAM,KAAK,UAAU,WAAW,OAAO,MAAM,KAAK,SAC7D,OAAO,MAAM,KAAK,OAAO,OAAO,EAAE,QAClC;AACJ;;;AC7QO,IAAM,YAAN,MAAgB;AAAA,EAKtB,YACC,QACA,MACA,UACA,cACA,oBACC;AACD,UAAM,eAAe,IAAI,iBAAiB,MAAM,UAAU,cAAc,kBAAkB;AAC1F,UAAM,eAAe,IAAI,iBAAiB,MAAM;AAEhD,UAAM,SAAS,aAAa,IAAI,MAAM;AAEtC,SAAK,YAAY,aAAa;AAC9B,SAAK,WAAW,aAAa;AAE7B,SAAK,WAAW;AAAA,MACf,iBAAiB,SAAS,eAAe,SAAS,UAAU;AAAA,MAC5D,WAAW,SAAS,eAAe,SAAS,UAAU;AAAA,MACtD;AAAA,MACA,QAAQ,aAAa,IAAI,KAAK,QAAQ,KAAK,sBAAsB,CAAC,CAAC;AAAA,IACpE;AAAA,EACD;AACD;;;AC1BO,IAAM,sBAAN,MAA0B;AAAA,EAMhC,YAAY,KAAiB,KAAiB,IAAY,YAAuB;AAChF,SAAK,MAAM;AACX,SAAK,MAAM;AACX,SAAK,KAAK;AACV,SAAK,aAAa;AAAA,EACnB;AAAA,EAEA,OAAO;AAEN,WAAO,KAAK,sDAAsD;AAAA,EACnE;AAAA;AAAA,EAGA,UAAU,MAAW;AACpB,UAAM,QAAQ,KAAK,IAAI,SAAS;AAChC,UAAM,aAAa,KAAK,gBAAgB,IAAI;AAC5C,UAAM,eAAe,mBAAmB,MAAM,WAAW,QAAQ,cAAc;AAC/E,UAAM,SAAS,WAAW,CAAC,cAAc,WAAW,MAAM,CAAC;AAC3D,WAAO,MAAM;AACb,SAAK,IAAI,SAAS;AAAA,MACjB,MAAM;AAAA,MACN;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAAA,EAGA,SAAS,MAAoB;AAC5B,UAAM,aAAa,KAAK,cAAc;AAEtC,UAAM,SAAS,gBAAgB,UAAU;AACzC,UAAM,WAAW,OAAO,KAAK,EAAE,QAAQ,eAAe,UAAU;AAChE,QAAI,CAAC,OAAO,QAAQ,EAAE,EAAE,aAAc,QAAO,QAAQ,EAAE,EAAE,eAAe,CAAC;AACzE,WAAO,QAAQ,EAAE,EAAE,aAAa,KAAK,GAAG,IAAI;AAC5C,SAAK,IAAI,SAAS;AAAA,MACjB,MAAM;AAAA,MACN,IAAI,KAAK;AAAA,MACT;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAAA,EAGA,WAAW,MAAuB;AACjC,UAAM,aAAa,KAAK,cAAc;AACtC,UAAM,SAAS,gBAAgB,UAAU;AACzC,UAAM,WAAW,OAAO,KAAK,EAAE,QAAQ,eAAe,UAAU;AAChE,WAAO,OAAO,QAAQ,EAAE,EAAE,aAAa,KAAK,GAAG;AAC/C,SAAK,IAAI,SAAS;AAAA,MACjB,MAAM;AAAA,MACN,IAAI,KAAK;AAAA,MACT;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,gBAAgB,MAAW;AAC1B,UAAM,QAAQ,KAAK,IAAI,SAAS;AAChC,UAAM,aAAa,KAAK,cAAc;AACtC,UAAM,SAAS,gBAAgB,UAAU;AACzC,UAAM,OAAO,KAAK,WAAW,EAAE;AAI/B,UAAM,QAAQ,KAAK,WAAW,EAAE;AAChC,UAAM,MAAM,KAAK,WAAW,EAAE;AAG9B,UAAM,WAAW,OAAO,KAAK,EAAE,QAAQ,eAAe,OAAO,OAAO,OAAO;AAC3E,UAAM,OAAO,OAAO,QAAQ,WAAW,WAAW,OAAO;AACzD,UAAM,QAAQ,OAAO,QAAQ,WAAW,OAAO,OAAO,OAAO;AAC7D,UAAM,aAAa,IAAI,YAAY;AAAA,MAClC,KAAK,KAAK;AAAA,MACV,YAAY,MAAM;AAAA,MAClB;AAAA,MACA;AAAA,MACA,OAAO,OAAO;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AACD,WAAO;AAAA,EACR;AAAA;AAAA,EAGA,MAAM,YAAY,MAAW;AAC5B,UAAM,aAAa,KAAK,gBAAgB,IAAI;AAC5C,UAAM,OAAO,MAAM,WAAW,QAAQ;AACtC,UAAM,CAAC,MAAM,OAAO,IAAI,WAAW,aAAa,IAAI;AACpD,WAAO,CAAC,MAAM,OAAO;AAAA,EACtB;AAAA;AAAA,EAGA,gBAAgB,MAAoB,OAAe;AAClD,QAAI,CAAC,KAAK,SAAU;AACpB,UAAM,aAAa,KAAK,cAAc;AACtC,UAAM,SAAS,gBAAgB,UAAU;AACzC,WAAO,MAAM,KAAK,OAAO,KAAK,QAAQ,EAAE,QAAQ;AAChD,SAAK,IAAI,SAAS;AAAA,MACjB,MAAM;AAAA,MACN,IAAI,KAAK;AAAA,MACT;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAEA,gBAAgB;AACf,WAAO,KAAK,IAAI,SAAS,EAAE,MAAM,KAAK,CAAC,MAAqB,EAAE,OAAO,KAAK,EAAE;AAAA,EAC7E;AAAA,EAEA,WAAW;AACV,SAAK,IAAI,MAAM,MAAM,WAAW,EAAE,EAAE,KAAK,EAAE;AAC3C,SAAK,IAAI,OAAO,UAAU,GAAG,EAAE,OAAO;AACtC,SAAK,IAAI,OAAO,UAAU,GAAG,EAAE,OAAO;AAAA,EACvC;AACD;;;ACtHO,IAAM,iBAAN,MAAqB;AAAA,EAG3B,YAAY,WAAgB,YAAwB,cAAmC,WAAmB;AACzG,SAAK,eAAe;AACpB,SAAK,YAAY;AACjB,SAAK,aAAa,WAAW,UAAU;AAAA,EACxC;AAAA,EAEA,aAAa,WAAgB,YAAwB;AACpD,cAAU,KAAK,MAAM,qBAAqB;AAC1C,eAAW,WAAW,YAAY;AAEjC,gBAAU,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM,EAAE,MAAM,SAAS,KAAK,SAAS,EAAE,KAAK,QAAQ,KAAK;AAClG,YAAM,aAAa,UAAU,OAAO,KAAK,EAAE,MAAM,gBAAgB,MAAM;AACvE,iBAAW,QAAQ,QAAQ,OAAO;AACjC,aAAK,QAAQ,MAAM,UAAU;AAAA,MAC9B;AAAA,IACD;AAAA,EACD;AAAA,EAEA,QAAQ,MAAuB,YAAiB;AAC/C,UAAM,aAAa,WAAW,OAAO,KAAK;AAC1C,QAAI,KAAK,QAAQ;AAChB,iBACE,OAAO,KAAK,EACZ,MAAM,WAAW,cAAc,EAC/B,MAAM,gBAAgB,KAAK,EAC3B,MAAM,YAAY,UAAU,EAC5B,MAAM,kBAAkB,QAAQ,EAChC,KAAK,wEAAwE,KAAK,SAAS;AAAA;AAAA;AAAA,uBAGzE;AAAA,IACrB;AACA,eACE,OAAO,KAAK,EACZ,MAAM,WAAW,cAAc,EAC/B,MAAM,SAAS,KAAK,SAAS,EAC7B,MAAM,mBAAmB,KAAK,WAAW,iBAAiB,EAAE,EAC5D,KAAK,KAAK,IAAI;AAEhB,QAAI,KAAK,QAAQ;AAEhB,iBAAW,KAAK,cAAc,sBAAsB,EAAE,GAAG,SAAS,MAAM;AACvE,aAAK,aAAa,WAAW,IAAI;AAAA,MAClC,CAAC;AAAA,IACF;AAAA,EACD;AACD;;;AClDO,IAAM,kBAAN,MAAsB;AAAA,EAO5B,YAAY,MAAW,GAAS,KAAW,YAAqB;AADhE,SAAS,eAAe;AAEvB,SAAK,OAAO;AACZ,SAAK,IAAI;AACT,SAAK,UAAU,KAAK;AACpB,SAAK,aAAa;AAClB,SAAK,MAAM;AAEX,SAAK,gBAAgB;AAErB,SAAK,mBAAmB;AAAA,EACzB;AAAA;AAAA;AAAA,EAIA,QAAQ,MAAc;AACrB,SAAK,IAAI,EAAE,OAAO,KAAK,EAAE,KAAK,IAAI;AAAA,EACnC;AAAA,EAEA,kBAAkB;AACjB,QAAI,OAAO,KAAK,KAAK,KAAK,UAAU,EAAE,SAAS,EAAG;AAClD,SAAK,QAAQ,OAAO,GAAG,aAAa,CAAC,UAAsB;AAC1D,WAAK,IAAI,MAAM;AACf,UAAI,KAAK,WAAY,MAAK,IAAI,KAAK,MAAM,SAAS,MAAM,OAAO;AAAA,UAC1D,MAAK,IAAI,UAAU,KAAK,QAAQ,OAAO,KAAK,CAAC;AAClD,YAAM,QAAQ,KAAK,IAAI,EAAE,OAAO,OAAO,EAAE,KAAK,SAAS,iBAAiB;AACxE,YACE,OAAO,IAAI,EACX,MAAM,cAAc,QAAQ,EAC5B,OAAO,IAAI,EACX,KAAK,WAAW,CAAC,EACjB,MAAM,WAAW,KAAK,YAAY,EAClC,KAAK,KAAK,KAAK,GAAG;AACpB,iBAAW,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG;AACvD,cAAM,MAAM,MAAM,OAAO,IAAI;AAC7B,YAAI,OAAO,IAAI,EAAE,MAAM,WAAW,KAAK,YAAY,EAAE,MAAM,WAAW,GAAG,EAAE,KAAK,KAAK,KAAK;AAC1F,YACE,OAAO,IAAI,EACX,MAAM,WAAW,KAAK,YAAY,EAClC,MAAM,cAAc,QAAQ,EAC5B,MAAM,WAAW,KAAK,UAAU,QAAQ,KAAK,UAAU,SAAY,MAAM,CAAC,EAC1E,KAAK,KAAK,SAAS,KAAK;AAAA,MAC3B;AAAA,IACD,CAAC;AACD,SAAK,QAAQ,OAAO,GAAG,YAAY,MAAM;AACxC,WAAK,IAAI,KAAK;AAAA,IACf,CAAC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqCA,qBAAqB;AACpB,SAAK,EACH,UAAU,QAAQ,EAClB,KAAK,KAAK,QAAQ,GAAG,EACrB,KAAK,CAAC,GAAQ,GAAG,UAAU;AAC3B,YAAM,SAAS,eAAO,MAAM,CAAC,CAAC;AAC9B,aAAO,GAAG,aAAa,MAAM;AAC5B,aAAK,IAAI,MAAM,EAAE,UAAU,OAAO,KAAK,CAAC;AACxC,aAAK,QAAQ,EAAE,KAAK;AAAA,MACrB,CAAC;AACD,aAAO,GAAG,YAAY,MAAM;AAC3B,aAAK,IAAI,KAAK;AAAA,MACf,CAAC;AAAA,IACF,CAAC;AAAA,EACH;AACD;;;ACvGO,IAAM,mBAAN,MAAuB;AAAA,EAC7B,YACC,MACA,KACA,cACA,KACA,YAEC;AACD,UAAM,UAAU;AAAA,MACf;AAAA,QACC,MAAM,eAAe,KAAK,GAAG;AAAA,QAC7B,WAAW,MAAM;AAAA,QACjB,UAAU,MAAM,aAAa,UAAU,IAAI;AAAA,MAC5C;AAAA,MACA;AAAA,QACC,MAAM,QAAQ,KAAK,GAAG;AAAA,QACtB,WAAW,MAAM;AAAA,QACjB,UAAU,MAAM,aAAa,SAAS,IAAI;AAAA,MAC3C;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,WAAW,CAAC,UAAqB,MAAM,aAAa,oBAAoB,IAAI,SAAS,iBAAiB;AAAA,QACtG,UAAU,OAAO,UAAsB;AACtC,cAAI,WAAY,KAAI,MAAM,EAAE,KAAK,MAAM,SAAS,MAAM,OAAO;AAAA,cACxD,KAAI,MAAM,EAAE,UAAU,KAAK,QAAQ,OAAO,KAAK,CAAC;AACrD,gBAAM,CAAC,MAAM,OAAO,IAAI,MAAM,aAAa,YAAY,IAAI;AAE3D,gBAAM,WAAW,IAAI,EAAE,OAAO,KAAK;AACnC,sBAAY;AAAA,YACX;AAAA,YACA;AAAA,YACA,KAAK;AAAA,YACL,WAAW;AAAA,YACX,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,YAAY;AAAA,UACb,CAAC;AAAA,QACF;AAAA,MACD;AAAA,IACD;AACA,SAAK,QAAQ,OAAO,GAAG,SAAS,CAAC,UAAsB;AACtD,UAAI,MAAM;AACV,UAAI,WAAY,KAAI,KAAK,MAAM,SAAS,MAAM,OAAO;AAAA,UAChD,KAAI,UAAU,KAAK,QAAQ,OAAO,KAAK,CAAC;AAC7C,YAAM,QAAQ,IAAI,SAAS;AAC3B,iBAAW,OAAO,SAAS;AAE1B,YAAI,CAAC,IAAI,UAAU,KAAK,EAAG;AAC3B,YAAI,EACF,OAAO,KAAK,EACZ,QAAQ,kBAAkB,IAAI,EAC9B,KAAK,IAAI,IAAI,EACb,GAAG,SAAS,CAACA,WAAsB;AACnC,cAAI,KAAK;AACT,cAAI,SAASA,MAAK;AAAA,QACnB,CAAC;AAAA,MACH;AACA,UAAI,KAAK,OAAO;AACf,YAAI,EACF,OAAO,KAAK,EACZ,MAAM,WAAW,UAAU,EAC3B,MAAM,WAAW,cAAc,EAC/B,KAAK,QAAQ,EACb,OAAO,OAAO,EACd,KAAK,QAAQ,OAAO,EACpB,SAAS,SAAS,IAAI,KAAK,KAAK,EAAE,UAAU,CAAC,EAC7C,GAAG,UAAU,CAAAA,WAAS;AACtB,uBAAa,gBAAgB,MAAMA,OAAM,OAAO,KAAK;AACrD,cAAI,KAAK;AAAA,QACV,CAAC;AAAA,MACH;AAAA,IACD,CAAC;AAAA,EACF;AACD;;;AC9EO,IAAM,yBAAN,MAA6B;AAAA,EACnC,YAAY,KAAK,MAAM;AACtB,UAAM,UAAU,IAAI,MAAM,kBAAkB,KAAK,EAAE,MAAM,cAAc,MAAM;AAG7E,YACE,OAAO,KAAK,EACZ,KAAK,8CAA8C,EACnD,MAAM,eAAe,KAAK,EAC1B,MAAM,cAAc,QAAQ;AAE9B,UAAM,WAAW,QAAQ,OAAO,KAAK,EAAE,MAAM,cAAc,KAAK;AAChE,gBAAY;AAAA,MACX,KAAK;AAAA,MACL,SAAS,CAAC,EAAE,OAAO,UAAU,GAAG,EAAE,OAAO,UAAU,GAAG,EAAE,OAAO,UAAU,CAAC;AAAA,MAC1E,MAAM;AAAA,IACP,CAAC;AAAA,EACF;AACD;;;ACPO,IAAM,cAAN,MAAkB;AAAA,EAKxB,YACC,KACA,UACA,KACA,cACA,OACA,iBACA,WACC;AACD,SAAK,MAAM;AACX,SAAK,eAAe;AACpB,SAAK,YAAY;AAEjB,UAAM,UAAU,MAAM;AAEtB,QAAI,IACF,WAAW,EACX,KAAK,SAAS,QAAQ,IAAI,KAAK,EAC/B,KAAK,UAAU,QAAQ,IAAI,MAAM,EAEjC,MAAM,QAAQ,eAAe;AAE/B,UAAM,eAAe,SAAS,aAAa,IAAS,EAAE,KAAK,EAAE,IAAI,OAAY;AAC7E,UAAM,QAAQ,aAAa,OAAO,QAAQ,MAAM,EAAE,MAAM,QAAQ,KAAK;AAErE,SAAK,aAAa,SAAS,KAAK,QAAQ;AACxC,SAAK,eAAe,KAAK,OAAO,OAAO,QAAQ;AAC/C,SAAK,WAAW,SAAS,KAAK,OAAO,QAAQ;AAE7C,QAAI,MAAM,YAAY,IAAI,eAAe;AAGxC,UAAI,uBAAuB,IAAI,eAAe,MAAM,QAAQ;AAAA,IAC7D;AAAA,EACD;AAAA,EAEA,aAAa,SAAyB,KAAU,UAA2B;AAE1E,UAAM,eAAe,aAAa,QAAQ,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,IAAI,SAAS,aAAa,iBAAiB,EAAE;AAClH,QAAI,MACF,KAAK,SAAS,oBAAoB,EAClC,MAAM,eAAe,GAAG,EACxB,KAAK,eAAe,QAAQ,EAC5B,KAAK,aAAa,YAAY,EAC9B,KAAK,QAAQ,KAAK,SAAS,EAC3B,KAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,QAAQ,MAAM,KAAK,MAAM,GAAG,EAAE,IAAI,QAAQ,QAAQ,MAAM,IAAI;AAIpG,QAAI,QAAQ,SAAS,MAAM;AAC1B,YAAM,kBAAkB,aAAa,QAAQ,SAAS,CAAC,KAAK,QAAQ,SAAS,CAAC,IAC7E,SAAS,aAAa,iBAAiB,EACxC;AACA,UAAI,SACF,KAAK,SAAS,uBAAuB,EACrC,MAAM,aAAa,OAAO,EAC1B,KAAK,eAAe,QAAQ,EAC5B,KAAK,aAAa,eAAe,EACjC,KAAK,QAAQ,KAAK,SAAS,EAC3B,KAAK,QAAQ,SAAS,KAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,MAAM,GAAG,EAAE,IAAI,QAAQ,QAAQ,SAAS,IAAI;AAAA,IAC9G;AAAA,EACD;AAAA,EAEA,WAAW,SAAyB,KAAU,OAA2C,UAA2B;AAKnH,QAAI,SAAS,WAAY,OAAM,MAAM,CAAC,MAAM,MAAM,EAAE,CAAC,GAAG,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;AACzE,UAAM,QAAQ,MAAM,MAAM;AAC1B,UAAM,aAAa,QAAQ,KAAK,OAAO,KAAK;AAC5C,QAAI,KACF,KAAK,SAAS,mBAAmB,EACjC,KAAK,aAAa,aAAa,QAAQ,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,GAAG,EACnE,WAAW,EACX;AAAA,MACA,SAAS,aACN,SAAS,KAAK,EACb,WAAW,UAAU,EACrB,WAAW,OAAK,QAAQ,KAAK,OAAO,CAAW,CAAC,EAChD,YAAY,CAAC,IACd,QAAQ,KAAK,EACZ,WAAW,UAAU,EACrB,WAAW,OAAK,QAAQ,KAAK,OAAO,CAAW,CAAC;AAAA,IACrD;AAED,cAAU;AAAA,MACT,MAAM,IAAI;AAAA,MACV,UAAU;AAAA,MACV,UAAU;AAAA,MACV,OAAO,KAAK;AAAA,IACb,CAAC;AAAA,EACF;AAAA,EAEA,eACC,KACA,OACA,OACA,UACC;AAED,eAAW,QAAQ,MAAM,OAAO;AAC/B,YAAM,IAAI,IAAI,SAAS,OAAO,GAAG,EAAE,KAAK,SAAS,mBAAmB,EAAE,KAAK,WAAW,KAAK;AAC3F,kBAAY;AAAA,QACX,IAAI,KAAK;AAAA,QACT;AAAA,QACA,OAAO,SAAS,eAAe,WAAW,UAAU,KAAK;AAAA,QACzD;AAAA,QACA,WAAW,SAAS;AAAA,QACpB,QAAQ,SAAS;AAAA,QACjB,UAAU,KAAK;AAAA,MAChB,CAAC;AAED,YAAM,eAAe,aAAa,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,aAAa,kBAAkB,EAAE;AACjG,QAAE,KAAK,aAAa,YAAY;AAEhC,UAAI,SAAS,YAAY;AAExB,UAAE,OAAO,MAAM,EAAE,KAAK,aAAa,YAAY;AAAA,MAChD;AAEA,UAAI,gBAAgB,MAAM,GAAG,IAAI,KAAK,SAAS,UAAU;AACzD,UAAI,MAAM,MAAM,SAAS,GAAG;AAK3B,cAAM,eAAe,IAAI,KAAK,EAAE,SAAS,GAAG,CAAC;AAC7C,YAAI;AAAA,UACH;AAAA,UACA,KAAK;AAAA,UACL,KAAK;AAAA,UACL;AAAA,UACA,SAAS;AAAA;AAAA,QAEV;AAAA,MACD;AAAA,IACD;AAAA,EACD;AACD;;;ACtJO,IAAM,OAAN,MAAW;AAAA,EAKjB,YACC,UACA,UACA,KACA,KACA,cACC;AACD,SAAK,MAAM;AACX,SAAK,MAAM;AACX,SAAK,eAAe;AACpB,SAAK,WAAW;AAChB,QAAI,CAAC,YAAY,CAAC,SAAS,OAAQ;AAEnC,QAAI,IAAI,MAAM,oBAAoB,SAAS,eAAe;AAE1D,eAAW,SAAS,OAAO,OAAO,SAAS,MAAM,GAAoC;AACpF,YAAM,eAAe,IAAI,OAAO,OAAO,KAAK,EAAE,KAAK,SAAS,4BAA4B;AAExF,YAAM,MAAM,aAAa,OAAO,KAAK,EAAE,KAAK,SAAS,kBAAkB;AAIvE,YAAM,KAAK,IAAI;AAEf,YAAM,WAAgB;AAAA,QACrB;AAAA,QACA,KAAK,IAAI;AAAA,MACV;AACA,UAAI,MAAM,QAAQ,SAAS,MAAM;AAChC,iBAAS,WAAW,IAAI,OAAO,MAAM;AAAA,MACtC;AACA,eAAS,QAAQ,IAAI,OAAO,MAAM;AAClC,eAAS,OAAO,IAAI,OAAO,GAAG;AAC9B,eAAS,WAAW,IAAI,OAAO,GAAG,EAAE,KAAK,SAAS,uBAAuB;AAEzE,UAAI,MAAM,UAAU;AACnB,iBAAS,gBAAgB,aACvB,OAAO,KAAK,EACZ,KAAK,SAAS,uBAAuB,EACrC,MAAM,WAAW,cAAc;AAAA,MAClC;AAEA,UAAI;AAAA,QACH;AAAA,QACA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL;AAAA,QACA,SAAS;AAAA,QACT,SAAS;AAAA,MACV;AAAA,IACD;AAEA,QAAI,eAAe,IAAI,QAAQ,SAAS,QAAQ,cAAc,SAAS,SAAS;AAAA,EACjF;AACD;;;AClEO,SAAS,wBAAwB,OAAY,KAAU,MAAW,WAAgB,oBAA6B;AACrH,QAAM,gBAAgB,MAAM,OAAO;AACnC,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,2BAA2B;AAE/D,QAAM,SAAqC;AAAA,IAC1C;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS,EAAE,QAAQ,WAAW,QAAQ,OAAO;AAAA,MAC7C,OAAO,cAAc,OAAO,SAAS;AAAA,MACrC,UAAU,IAAI;AAAA,MACd,aAAa;AAAA,IACd;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS,EAAE,QAAQ,WAAW,QAAQ,QAAQ;AAAA,MAC9C,OAAO,cAAc,MAAM,SAAS,cAAc,MAAM;AAAA,MACxD,OAAO,cAAc,MAAM;AAAA,MAC3B,UAAU,IAAI;AAAA,MACd,wBAAwB,KAAK,0BAA0B,CAAC,cAAc,UAAU;AAAA,MAChF,iBAAiB;AAAA,IAClB;AAAA,IACA;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS,EAAE,QAAQ,WAAW,QAAQ,QAAQ;AAAA,MAC9C,OAAO,cAAc,MAAM,SAAS,cAAc,MAAM;AAAA,MACxD,OAAO,cAAc,MAAM;AAAA,MAC3B,UAAU,IAAI;AAAA,MACd,wBAAwB,KAAK,0BAA0B,CAAC,cAAc,UAAU;AAAA,MAChF,iBAAiB;AAAA,IAClB;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,QACR,EAAE,OAAO,WAAW,OAAO,MAAM;AAAA,QACjC,EAAE,OAAO,iBAAiB,OAAO,KAAK;AAAA,MACvC;AAAA,MACA,iBAAiB,MAAM;AACtB,cAAM,SAAS,UAAU;AACzB,YAAI,QAAQ;AACZ,mBAAW,KAAK,OAAO,KAAK,MAAM,GAAG;AACpC,gBAAM,QAAQ,OAAO,CAAC;AACtB,cAAI,MAAM,MAAM,SAAS,EAAG,SAAQ;AAAA,QACrC;AACA,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,QACR,EAAE,OAAO,UAAU,OAAO,MAAM;AAAA,QAChC,EAAE,OAAO,SAAS,OAAO,KAAK;AAAA,MAC/B;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,QACR,EAAE,OAAO,cAAc,OAAO,MAAM;AAAA,QACpC,EAAE,OAAO,YAAY,OAAO,KAAK;AAAA,MAClC;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,kBAAkB;AAAA,MAClB,KAAK;AAAA,MACL,MAAM;AAAA,IACP;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,cAAc,CAAC,QAAgB;AAE9B,YAAI,sBAAsB,KAAM,sBAAqB;AACrD,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,MAAM;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AAAA,MACL,kBAAkB;AAAA,MAClB,cAAc,CAAC,QAAgB;AAE9B,YAAI,sBAAsB,KAAM,sBAAqB;AACrD,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,iBAAiB,MAAM;AACtB,cAAM,SAAS,UAAU;AACzB,YAAI,QAAQ;AACZ,mBAAW,KAAK,OAAO,KAAK,MAAM,GAAG;AACpC,gBAAM,QAAQ,OAAO,CAAC;AACtB,cAAI,MAAM,MAAM,SAAS,EAAG,SAAQ;AAAA,QACrC;AACA,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,SAAS;AAAA,QACR,EAAE,OAAO,WAAW,OAAO,UAAU;AAAA,QACrC,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,QACnC,EAAE,OAAO,aAAa,OAAO,OAAO;AAAA,MACrC;AAAA,IACD;AAAA,IACA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,OAAO;AAAA,MACP,iBAAiB,UAAQ;AACxB,eAAO,MAAM,QAAQ,KAAK;AAAA,MAC3B;AAAA,IACD;AAAA,EACD;AAEA,MAAI,MAAM,cAAc,UAAU,gBAAgB;AACjD,WAAO,KAAK;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,MACb,OAAO;AAAA,IACR,CAAC;AAAA,EACF;AAEA,SAAO;AACR;;;AC7JO,IAAM,aAAN,MAAM,oBAAmB,SAAgC;AAAA,EAY/D,YAAY,MAAsB,KAAiB;AAClD,UAAM,IAAI;AANX,SAAQ,qBAAqB;AAG7B,0BAAiB,CAAC,QAAQ,SAAS,OAAO;AAIzC,SAAK,OAAO;AACZ,SAAK,MAAM;AACX,SAAK,OAAO,YAAW;AACvB,SAAK,aAAa;AAAA,MACjB,UAAU,CAAC;AAAA,IACZ;AAEA,UAAM,SAAS,KAAK,OAAO,QAAQ,qBAAqB,IAAI;AAC5D,UAAM,WAAW,KAAK,WAAW,SAAS,OAAO,OAAO,KAAK;AAC7D,UAAM,MAAM,OAAO,OAAO,KAAK;AAC/B,UAAM,WAAW,IAAI,OAAO,KAAK,EAAE,KAAK,SAAS,oBAAoB;AACrE,UAAM,UAAU,IAAI,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM,EAAE,KAAK,aAAa;AAC7E,UAAM,YAAY,IAChB,OAAO,KAAK,EACZ,KAAK,SAAS,qBAAqB,EACnC,MAAM,WAAW,MAAM,EACvB,MAAM,kBAAkB,KAAK,EAC7B,MAAM,aAAa,MAAM,EACzB,MAAM,aAAa,OAAO;AAC5B,SAAK,MAAM;AAAA,MACV;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,QAAQ;AAAA,MACR,QAAQ,IAAI,OAAO,KAAK,EAAE,KAAK,SAAS,qBAAqB,EAAE,MAAM,cAAc,MAAM;AAAA,MACzF,KAAK,IAAI,KAAK;AAAA,IACf;AACA,QAAI,KAAK,OAAQ,MAAK,IAAI,SAAS,KAAK,OAAO,KAAK,UAAU;AAAA,EAC/D;AAAA,EA1CA;AAAA,SAAO,OAAO;AAAA;AAAA,EA4Cd,MAAM,cAAc;AACnB,UAAM,QAAQ,KAAK,SAAS,KAAK,IAAI,SAAS,CAAC;AAC/C,UAAM,SAAS;AAAA,MACd;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AACL,eAAO,KAAK,MAAM,UAAU,CAAC;AAAA,MAC9B;AAAA,MACA,KAAK;AAAA,IACN;AACA,SAAK,WAAW,WAAW,MAAM,aAAa;AAAA,MAC7C,KAAK,KAAK;AAAA,MACV,IAAI,KAAK;AAAA,MACT,QAAQ,KAAK,IAAI,SAAS,MAAM,WAAW,cAAc;AAAA,MACzD;AAAA,IACD,CAAC;AAED,SAAK,WAAW,SAAS,GAAG,yBAAyB,WAAS;AAC7D,WAAK,SAAS,KAAK;AAAA,IACpB,CAAC;AACD,SAAK,WAAW,SAAS,GAAG,qBAAqB,MAAM;AACtD,WAAK,aAAc,KAAK;AAAA,IACzB,CAAC;AAED,QAAI,MAAM,MAAM,QAAQ,YAAY,KAAK,OAAO;AAG/C,WAAK,IAAI,SAAS,OAAO,iCAAiC,EAAE,OAAO;AAAA,IACpE;AAAA,EACD;AAAA,EAEA,SAAS,QAAQ;AAChB,QAAI,OAAO,KAAK,WAAW,OAAO,GAAG;AACpC,cACE,OAAO,OAAO,KAAK,MAAM,OAAO,MAAM,KAAK,cAC3C,CAAC,OAAO,QAAQ,aAAa,OAAO,QAAQ,aAAa,KAAK;AAAA,IAEjE;AACA,WAAO;AAAA,EACR;AAAA,EAEA,SAAS,UAAqB;AAC7B,UAAM,SAAS,SAAS,MAAM,KAAK,CAAC,MAAW,EAAE,OAAO,KAAK,EAAE;AAC/D,QAAI,CAAC,QAAQ;AACZ,YAAM,IAAI;AAAA,QACT,oBAAoB,KAAK,EAAE;AAAA,MAC5B;AAAA,IACD;AACA,UAAM,eAAe,SAAS,MAAM,KAAK,OAAK,EAAE,OAAO,KAAK,QAAQ;AACpE,UAAM,aAAa,sBAAsB,UAAU,OAAO,UAAU,cAAc,MAAM;AACxF,WAAO;AAAA,MACN,cAAc,SAAS;AAAA,MACvB;AAAA,MACA,OAAO,SAAS;AAAA,MAChB,QAAQ,OAAO,OAAO,CAAC,GAAG,QAAQ;AAAA,QACjC,UAAU;AAAA,UACT,SAAS,OAAO,SAAS;AAAA,QAC1B;AAAA,MACD,CAAC;AAAA,IACF;AAAA,EACD;AAAA,EAEA,MAAM,OAAO;AACZ,SAAK,IAAI,IAAI,MAAM,WAAW,cAAc,EAAE,MAAM,eAAe,MAAM;AACzE,SAAK,eAAe,IAAI,oBAAoB,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,MAAM;AAC9E,aAAO,KAAK;AAAA,IACb,CAAC;AACD,UAAM,KAAK,YAAY;AAAA,EACxB;AAAA,EAEA,MAAM,OAAO;AACZ,UAAM,IAAI,KAAK,MAAM;AACrB,QAAI,EAAE,aAAa,KAAK,QAAQ,EAAE,aAAa,KAAK,KAAM;AAC1D,QAAI,CAAC,KAAK,aAAc,OAAM,IAAI,MAAM,gDAAgD;AAExF,SAAK,iBAAiB;AACtB,UAAM,SAAS,MAAM,KAAK,iBAAiB;AAC3C,UAAM,WAAW,OAAO,SAAS;AACjC,UAAM,QAAQ,IAAI,MAAM,MAAM,MAAM;AAEpC,QAAI;AACH,YAAM,OAAO,MAAM,MAAM,QAAQ;AACjC,aAAO,KAAK,EAAE,aAAa,KAAK;AAChC,aAAO,OAAO,KAAK;AAEnB,UAAI,KAAK,MAAO,OAAM,IAAI,MAAM,KAAK,KAAK;AAC1C,UAAI,CAAC,KAAK,UAAU,CAAC,OAAO,KAAK,KAAK,MAAM,EAAE,QAAQ;AACrD,aAAK,aAAa,SAAS;AAC3B,aAAK,IAAI,MAAM,MAAM,WAAW,qBAAqB,EAAE,KAAK,oCAAoC;AAChG,aAAK,iBAAiB,MAAM;AAC5B;AAAA,MACD;AACA,WAAK,OAAO;AAAA,IACb,SAAS,GAAQ;AAChB,WAAK,iBAAiB,MAAM;AAC5B,UAAI,KAAK,IAAI,aAAa,CAAC,EAAG;AAC9B,UAAI,EAAE,MAAO,SAAQ,IAAI,EAAE,KAAK;AAChC,UAAI,aAAa,MAAO,SAAQ,MAAM,EAAE,WAAW,CAAC;AACpD,YAAM,IAAI,MAAM,CAAC;AAAA,IAClB;AAEA,SAAK,aAAa,SAAS;AAI3B,UAAM,SAAmB,OAAO,OAAO,KAAK,KAAK,MAAM,EAAE,OAAO,CAACC,SAAkB,UAAe;AACjG,YAAM,cAAc,MAAM,MAAM,OAAO,OAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,OAAK,EAAE,QAAQ,KAAK;AACjF,MAAAA,QAAO,KAAK,GAAG,WAAW;AAC1B,aAAOA;AAAA,IACR,GAAG,CAAC,CAAC;AACL,UAAM,UAAU,KAAK,IAAI,OAAO,OAAO,KAAK;AAC5C,UAAM,eAAe,iBAAiB,QAAQ,OAAO,GAAG,GAAG,MAAM;AACjE,YAAQ,OAAO;AAEf,UAAM,YAAY,IAAI,UAAU,QAAQ,KAAK,MAAM,UAAU,cAAc,KAAK,kBAAkB;AAClG,QAAI,CAAC,UAAU,SAAU,OAAM,IAAI,MAAM,4BAA4B;AAErE,SACE,UAAU,aAAa,SAAS,YAAY,UAAU,cAAc,SAAS,cAC9E,KAAK,sBAAsB,MAC1B;AAMD,eAAS,WAAW,UAAU;AAC9B,eAAS,YAAY,UAAU;AAE/B,WAAK,IAAI,KAAK;AAAA,QACb,MAAM;AAAA,QACN,IAAI,KAAK;AAAA,QACT,QAAQ;AAAA,UACP,UAAU;AAAA,YACT,SAAS;AAAA,cACR,UAAU,UAAU;AAAA,cACpB,WAAW,UAAU;AAAA,YACtB;AAAA,UACD;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF;AACA,SAAK,iBAAiB,MAAM;AAC5B,QAAI,KAAK,UAAU,UAAU,UAAU,KAAK,KAAK,KAAK,KAAK,KAAK,YAAY;AAE5E,SAAK,KAAK,SAAS,UAAU,SAAS;AAAA,EACvC;AAAA,EAEA,iBAAiB;AAChB,UAAM,cAAqB,CAAC;AAC5B,UAAM,SAAgB,KAAK,KAAK;AAChC,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,YAAM,MAAW,MAAM;AACvB,YAAM,QAAQ,iBAAiB,KAAK,MAAM,QAAQ,GAAG;AACrD,YAAM,OAAO,GAAG,KAAK,MAAM,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK;AAC1D,kBAAY,KAAK,EAAE,MAAM,IAAI,CAAC;AAAA,IAC/B;AACA,WAAO;AAAA,EACR;AAAA,EAEA,SAAS,OAAO;AACf,QAAI,CAAC,KAAK,MAAO;AACjB,UAAM,WAAW,KAAK,eAAe;AACrC,UAAM,KAAK,IAAI,aAAa,UAAU,KAAK,MAAM,OAAO,KAAK,KAAK,IAAI;AACtE,OAAG,KAAK,MAAM,SAAS,MAAM,SAAS,MAAM,MAAM;AAAA,EACnD;AAAA,EAEA,iBAAiB,UAAU,IAAI;AAC9B,QAAI,WAAW,QAAQ;AACtB,WAAK,IAAI,QAAQ,MAAM,WAAW,CAAC,EAAE,MAAM,WAAW,OAAO,EAAE,WAAW,EAAE,SAAS,GAAI,EAAE,MAAM,WAAW,CAAC;AAAA,IAC9G,OAAO;AACN,WAAK,IAAI,QAAQ,MAAM,WAAW,OAAO;AAAA,IAC1C;AAAA,EACD;AACD;AAEO,IAAM,cAAc,YAAY,UAAU;AAC1C,IAAM,gBAAgB;AAE7B,eAAsB,cAAc,MAAyB,KAAiB;AAC7E,MAAI,CAAC,KAAK,KAAM,OAAM,IAAI,MAAM,qBAAqB;AACrD,MAAI;AACH,UAAM,gBAAgB,KAAK,MAAM,IAAI,QAAQ;AAC7C,QAAI,KAAK,MAAO,OAAM,gBAAgB,KAAK,OAAO,IAAI,QAAQ;AAC9D,QAAI,KAAK,MAAO,OAAM,gBAAgB,KAAK,OAAO,IAAI,QAAQ;AAAA,EAC/D,SAAS,GAAG;AACX,YAAQ,MAAM,IAAI,MAAM,GAAG,CAAC,4BAA4B,CAAC;AACzD,UAAM,IAAI,MAAM,gCAAgC;AAAA,EACjD;AAEA,QAAM,SAAS;AAAA,IACd,IAAI,KAAK,KAAK,KAAK;AAAA,IACnB,eAAe,OAAO,OAAO,CAAC,GAAG,iBAAiB,IAAI,SAAS,aAAa,YAAY,CAAC,CAAC;AAAA,IAC1F,UAAU;AAAA,MACT,UAAU;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,MACR;AAAA,MACA,SAAS,0BAA0B,KAAK,KAAK,aAAa,CAAC,CAAC;AAAA,IAC7D;AAAA,EACD;AAEA,SAAO,UAAU,QAAQ,IAAI;AAC9B;",
|
|
6
|
+
"names": ["event", "labels"]
|
|
7
|
+
}
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
fillTwLst,
|
|
9
9
|
table2col,
|
|
10
10
|
to_svg
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
12
12
|
import "./chunk-HJ6L54YS.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-WOVWZWSL.js";
|
|
14
14
|
import {
|
|
15
15
|
Menu
|
|
16
16
|
} from "./chunk-QSSTMH7C.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-3HPIIGQW.js";
|
|
18
18
|
import {
|
|
19
19
|
termType2label
|
|
20
20
|
} from "./chunk-3JH6BKPD.js";
|
|
@@ -611,4 +611,4 @@ export {
|
|
|
611
611
|
getDefaultCorrVolcanoSettings,
|
|
612
612
|
getPlotConfig
|
|
613
613
|
};
|
|
614
|
-
//# sourceMappingURL=CorrelationVolcano-
|
|
614
|
+
//# sourceMappingURL=CorrelationVolcano-REQRYH2M.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getDefaultGseaSettings
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-TPEG3F7N.js";
|
|
4
|
+
import "./chunk-DNF2UA2R.js";
|
|
5
5
|
import {
|
|
6
6
|
PlotBase,
|
|
7
7
|
Tabs,
|
|
8
8
|
getDefaultVolcanoSettings,
|
|
9
9
|
validateVolcanoSettings
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
11
11
|
import "./chunk-HJ6L54YS.js";
|
|
12
12
|
import {
|
|
13
13
|
importPlot
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-WOVWZWSL.js";
|
|
15
15
|
import {
|
|
16
16
|
Menu
|
|
17
17
|
} from "./chunk-QSSTMH7C.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-3HPIIGQW.js";
|
|
19
19
|
import {
|
|
20
20
|
TermTypes,
|
|
21
21
|
termType2label
|
|
@@ -230,4 +230,4 @@ export {
|
|
|
230
230
|
componentInit,
|
|
231
231
|
getPlotConfig
|
|
232
232
|
};
|
|
233
|
-
//# sourceMappingURL=DifferentialAnalysis-
|
|
233
|
+
//# sourceMappingURL=DifferentialAnalysis-KGQROTZI.js.map
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
renderTable,
|
|
6
6
|
svgLegend,
|
|
7
7
|
table2col
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
9
9
|
import "./chunk-HJ6L54YS.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-WOVWZWSL.js";
|
|
11
11
|
import {
|
|
12
12
|
Menu
|
|
13
13
|
} from "./chunk-QSSTMH7C.js";
|
|
14
14
|
import {
|
|
15
15
|
dofetch3
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3HPIIGQW.js";
|
|
17
17
|
import "./chunk-3JH6BKPD.js";
|
|
18
18
|
import {
|
|
19
19
|
bplen,
|
|
@@ -179,7 +179,7 @@ async function makeSvgraph(fusion, div, genome) {
|
|
|
179
179
|
await getGm(svpair.a, genome.name, fusion.source.gene);
|
|
180
180
|
await getGm(svpair.b, genome.name, fusion.target.gene);
|
|
181
181
|
wait.remove();
|
|
182
|
-
const _ = await import("./svgraph-
|
|
182
|
+
const _ = await import("./svgraph-2BRH2IAX.js");
|
|
183
183
|
_.default({
|
|
184
184
|
pairlst: [svpair],
|
|
185
185
|
genome,
|
|
@@ -278,7 +278,7 @@ var DiscoInteractions = class {
|
|
|
278
278
|
}
|
|
279
279
|
]
|
|
280
280
|
};
|
|
281
|
-
const _ = await import("./block.init-
|
|
281
|
+
const _ = await import("./block.init-DIAKC2UR.js");
|
|
282
282
|
await _.default(arg);
|
|
283
283
|
};
|
|
284
284
|
this.colorScaleNumericInputsCallback = async (obj) => {
|
|
@@ -3124,4 +3124,4 @@ export {
|
|
|
3124
3124
|
discoInit,
|
|
3125
3125
|
getPlotConfig
|
|
3126
3126
|
};
|
|
3127
|
-
//# sourceMappingURL=Disco-
|
|
3127
|
+
//# sourceMappingURL=Disco-OX7SZIWS.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
launch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-662BKGG2.js";
|
|
4
4
|
import {
|
|
5
5
|
makeBtn,
|
|
6
6
|
makeFileUpload,
|
|
@@ -9,19 +9,19 @@ import {
|
|
|
9
9
|
makeResetBtn,
|
|
10
10
|
makeTextAreaInput
|
|
11
11
|
} from "./chunk-CUSG5PZE.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-HVNP7GNR.js";
|
|
13
|
+
import "./chunk-XVRPUSH2.js";
|
|
14
14
|
import "./chunk-SKMFMGCD.js";
|
|
15
15
|
import "./chunk-WWVHAWV4.js";
|
|
16
16
|
import {
|
|
17
17
|
Tabs,
|
|
18
18
|
appear,
|
|
19
19
|
sayerror
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
21
21
|
import "./chunk-HJ6L54YS.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-WOVWZWSL.js";
|
|
23
23
|
import "./chunk-QSSTMH7C.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-3HPIIGQW.js";
|
|
25
25
|
import "./chunk-3JH6BKPD.js";
|
|
26
26
|
import "./chunk-6RC5V24O.js";
|
|
27
27
|
import "./chunk-IQIXGTQV.js";
|
|
@@ -236,4 +236,4 @@ function backButton(holder, genomes) {
|
|
|
236
236
|
export {
|
|
237
237
|
init_discoplotUI
|
|
238
238
|
};
|
|
239
|
-
//# sourceMappingURL=Disco.UI-
|
|
239
|
+
//# sourceMappingURL=Disco.UI-NLKF3CLE.js.map
|
|
@@ -10,15 +10,15 @@ import {
|
|
|
10
10
|
make_one_checkbox,
|
|
11
11
|
renderTable,
|
|
12
12
|
sayerror
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
14
14
|
import "./chunk-HJ6L54YS.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-WOVWZWSL.js";
|
|
16
16
|
import {
|
|
17
17
|
Menu
|
|
18
18
|
} from "./chunk-QSSTMH7C.js";
|
|
19
19
|
import {
|
|
20
20
|
dofetch3
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-3HPIIGQW.js";
|
|
22
22
|
import "./chunk-3JH6BKPD.js";
|
|
23
23
|
import "./chunk-6RC5V24O.js";
|
|
24
24
|
import "./chunk-IQIXGTQV.js";
|
|
@@ -891,7 +891,7 @@ var View = class {
|
|
|
891
891
|
if (this.state.config.blockIsProteinMode) {
|
|
892
892
|
if (!this.state.config.geneSearchResult.geneSymbol) throw "blockIsProteinMode=true but geneSymbol missing";
|
|
893
893
|
arg.query = this.state.config.geneSearchResult.geneSymbol;
|
|
894
|
-
const _2 = await import("./block.init-
|
|
894
|
+
const _2 = await import("./block.init-DIAKC2UR.js");
|
|
895
895
|
await _2.default(arg);
|
|
896
896
|
this.blockInstance = arg.__blockInstance;
|
|
897
897
|
this.opts.header.text(arg.query);
|
|
@@ -902,7 +902,7 @@ var View = class {
|
|
|
902
902
|
arg.start = this.state.config.geneSearchResult.start;
|
|
903
903
|
arg.stop = this.state.config.geneSearchResult.stop;
|
|
904
904
|
first_genetrack_tolist(this.opts.genome, arg.tklst);
|
|
905
|
-
const _ = await import("./block-
|
|
905
|
+
const _ = await import("./block-EEETZJSA.js");
|
|
906
906
|
this.blockInstance = new _.Block(arg);
|
|
907
907
|
}
|
|
908
908
|
};
|
|
@@ -1098,4 +1098,4 @@ export {
|
|
|
1098
1098
|
getPlotConfig,
|
|
1099
1099
|
makeChartBtnMenu
|
|
1100
1100
|
};
|
|
1101
|
-
//# sourceMappingURL=GB-
|
|
1101
|
+
//# sourceMappingURL=GB-MZKRHE66.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
blocklazyload
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5WK3YO6E.js";
|
|
4
4
|
import {
|
|
5
5
|
hicParseFile
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZTBG2CWD.js";
|
|
7
7
|
import {
|
|
8
8
|
ColorScale,
|
|
9
9
|
axisstyle,
|
|
@@ -12,15 +12,15 @@ import {
|
|
|
12
12
|
newpane,
|
|
13
13
|
showErrorsWithCounter,
|
|
14
14
|
tkt
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-OEWCFZ5K.js";
|
|
16
16
|
import "./chunk-HJ6L54YS.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-WOVWZWSL.js";
|
|
18
18
|
import {
|
|
19
19
|
Menu
|
|
20
20
|
} from "./chunk-QSSTMH7C.js";
|
|
21
21
|
import {
|
|
22
22
|
dofetch3
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-3HPIIGQW.js";
|
|
24
24
|
import "./chunk-3JH6BKPD.js";
|
|
25
25
|
import {
|
|
26
26
|
bplen
|
|
@@ -2219,4 +2219,4 @@ var hicInit = getAppInit(HicApp);
|
|
|
2219
2219
|
export {
|
|
2220
2220
|
hicInit
|
|
2221
2221
|
};
|
|
2222
|
-
//# sourceMappingURL=HicApp-
|
|
2222
|
+
//# sourceMappingURL=HicApp-V7AAKLW5.js.map
|