react-msaview 6.5.0 → 7.0.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/README.md +6 -5
- package/bundle/index.js +100 -101
- package/bundle/index.js.map +4 -4
- package/dist/components/Loading.js +2 -2
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/MSAViewer.d.ts +10 -2
- package/dist/components/MSAViewer.js +90 -2
- package/dist/components/MSAViewer.js.map +1 -1
- package/dist/components/ResizeHandles.d.ts +3 -3
- package/dist/components/ResizeHandles.js +28 -21
- package/dist/components/ResizeHandles.js.map +1 -1
- package/dist/components/dialogs/{InterProScanDialog.d.ts → AnnotationFileDialog.d.ts} +2 -2
- package/dist/components/dialogs/AnnotationFileDialog.js +92 -0
- package/dist/components/dialogs/AnnotationFileDialog.js.map +1 -0
- package/dist/components/dialogs/FeatureDialog.js +13 -9
- package/dist/components/dialogs/FeatureDialog.js.map +1 -1
- package/dist/components/header/Header.js +4 -0
- package/dist/components/header/Header.js.map +1 -1
- package/dist/components/header/HeaderStatusArea.js +0 -2
- package/dist/components/header/HeaderStatusArea.js.map +1 -1
- package/dist/components/header/LoadWarnings.d.ts +6 -0
- package/dist/components/header/LoadWarnings.js +36 -0
- package/dist/components/header/LoadWarnings.js.map +1 -0
- package/dist/components/header/MultiAlignmentSelector.js +0 -0
- package/dist/components/header/MultiAlignmentSelector.js.map +1 -1
- package/dist/components/header/TreeSettingsMenu.js +9 -1
- package/dist/components/header/TreeSettingsMenu.js.map +1 -1
- package/dist/components/header/UnshareableDataWarning.d.ts +6 -0
- package/dist/components/header/UnshareableDataWarning.js +42 -0
- package/dist/components/header/UnshareableDataWarning.js.map +1 -0
- package/dist/components/header/getAnnotationsMenu.js +14 -14
- package/dist/components/header/getAnnotationsMenu.js.map +1 -1
- package/dist/components/import/ImportForm.js +1 -1
- package/dist/components/import/ImportForm.js.map +1 -1
- package/dist/components/import/ImportFormExamples.js +2 -6
- package/dist/components/import/ImportFormExamples.js.map +1 -1
- package/dist/components/import/util.js +3 -0
- package/dist/components/import/util.js.map +1 -1
- package/dist/components/msa/MSACanvasBlock.js +4 -5
- package/dist/components/msa/MSACanvasBlock.js.map +1 -1
- package/dist/components/msa/msaRaster.d.ts +13 -3
- package/dist/components/msa/msaRaster.js +173 -61
- package/dist/components/msa/msaRaster.js.map +1 -1
- package/dist/components/msa/renderHighlights.d.ts +39 -1
- package/dist/components/msa/renderHighlights.js +71 -6
- package/dist/components/msa/renderHighlights.js.map +1 -1
- package/dist/components/msa/renderMSABlock.d.ts +1 -2
- package/dist/components/msa/renderMSABlock.js +24 -28
- package/dist/components/msa/renderMSABlock.js.map +1 -1
- package/dist/components/msa/renderMSAMouseover.js +9 -30
- package/dist/components/msa/renderMSAMouseover.js.map +1 -1
- package/dist/components/renderCtx.d.ts +1 -1
- package/dist/components/tracks/TrackBlocks.js +10 -11
- package/dist/components/tracks/TrackBlocks.js.map +1 -1
- package/dist/components/tracks/drawTracks.d.ts +26 -8
- package/dist/components/tracks/drawTracks.js +123 -13
- package/dist/components/tracks/drawTracks.js.map +1 -1
- package/dist/components/tree/TreeCanvas.js +2 -3
- package/dist/components/tree/TreeCanvas.js.map +1 -1
- package/dist/components/tree/TreeCanvasBlock.js +4 -2
- package/dist/components/tree/TreeCanvasBlock.js.map +1 -1
- package/dist/components/tree/TreeRuler.js +13 -3
- package/dist/components/tree/TreeRuler.js.map +1 -1
- package/dist/components/tree/renderTreeCanvas.d.ts +0 -1
- package/dist/components/tree/renderTreeCanvas.js +70 -30
- package/dist/components/tree/renderTreeCanvas.js.map +1 -1
- package/dist/components/tree/scaleBar.d.ts +10 -0
- package/dist/components/tree/scaleBar.js +24 -0
- package/dist/components/tree/scaleBar.js.map +1 -0
- package/dist/constants.d.ts +3 -1
- package/dist/constants.js +18 -1
- package/dist/constants.js.map +1 -1
- package/dist/fetchUtils.d.ts +7 -7
- package/dist/fetchUtils.js +4 -32
- package/dist/fetchUtils.js.map +1 -1
- package/dist/hierarchy.d.ts +2 -1
- package/dist/hierarchy.js +16 -10
- package/dist/hierarchy.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/model/DataModel.js +5 -2
- package/dist/model/DataModel.js.map +1 -1
- package/dist/model.d.ts +454 -177
- package/dist/model.js +1180 -511
- package/dist/model.js.map +1 -1
- package/dist/renderToStaticMarkup.d.ts +11 -0
- package/dist/renderToStaticMarkup.js +30 -7
- package/dist/renderToStaticMarkup.js.map +1 -1
- package/dist/renderToSvg.js +25 -19
- package/dist/renderToSvg.js.map +1 -1
- package/dist/rowCoordinateCalculations.d.ts +25 -25
- package/dist/rowCoordinateCalculations.js +12 -36
- package/dist/rowCoordinateCalculations.js.map +1 -1
- package/dist/seqPosToGlobalCol.js +3 -1
- package/dist/seqPosToGlobalCol.js.map +1 -1
- package/dist/svgTestUtil.d.ts +144 -82
- package/dist/types.d.ts +97 -3
- package/dist/util.d.ts +11 -4
- package/dist/util.js +30 -10
- package/dist/util.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/wuss.d.ts +14 -0
- package/dist/wuss.js +55 -0
- package/dist/wuss.js.map +1 -0
- package/package.json +10 -8
- package/src/components/Loading.tsx +12 -2
- package/src/components/MSAViewer.tsx +106 -2
- package/src/components/ResizeHandles.tsx +31 -31
- package/src/components/dialogs/AnnotationFileDialog.tsx +162 -0
- package/src/components/dialogs/FeatureDialog.tsx +13 -9
- package/src/components/header/Header.tsx +4 -0
- package/src/components/header/HeaderStatusArea.tsx +0 -5
- package/src/components/header/LoadWarnings.tsx +49 -0
- package/src/components/header/MultiAlignmentSelector.tsx +0 -0
- package/src/components/header/TreeSettingsMenu.tsx +9 -1
- package/src/components/header/UnshareableDataWarning.tsx +58 -0
- package/src/components/header/getAnnotationsMenu.ts +16 -17
- package/src/components/import/ImportForm.tsx +2 -2
- package/src/components/import/ImportFormExamples.tsx +2 -6
- package/src/components/import/util.ts +3 -0
- package/src/components/msa/MSACanvasBlock.tsx +4 -5
- package/src/components/msa/msaRaster.ts +216 -59
- package/src/components/msa/renderHighlights.ts +103 -5
- package/src/components/msa/renderMSABlock.ts +25 -36
- package/src/components/msa/renderMSAMouseover.ts +9 -39
- package/src/components/renderCtx.ts +1 -0
- package/src/components/tracks/TrackBlocks.tsx +10 -13
- package/src/components/tracks/drawTracks.ts +165 -17
- package/src/components/tree/TreeCanvas.tsx +2 -3
- package/src/components/tree/TreeCanvasBlock.tsx +4 -2
- package/src/components/tree/TreeRuler.tsx +38 -3
- package/src/components/tree/renderTreeCanvas.ts +79 -35
- package/src/components/tree/scaleBar.ts +23 -0
- package/src/constants.ts +20 -1
- package/src/fetchUtils.ts +7 -40
- package/src/hierarchy.ts +20 -11
- package/src/index.ts +18 -2
- package/src/model/DataModel.ts +6 -2
- package/src/model.ts +1352 -616
- package/src/rawImports.d.ts +9 -0
- package/src/renderToStaticMarkup.ts +34 -7
- package/src/renderToSvg.tsx +33 -27
- package/src/rowCoordinateCalculations.ts +15 -59
- package/src/seqPosToGlobalCol.ts +3 -1
- package/src/types.ts +131 -4
- package/src/util.ts +31 -14
- package/src/version.ts +1 -1
- package/src/wuss.ts +62 -0
- package/dist/components/dialogs/InterProScanDialog.js +0 -137
- package/dist/components/dialogs/InterProScanDialog.js.map +0 -1
- package/dist/components/dialogs/InterProScanFileDialog.d.ts +0 -7
- package/dist/components/dialogs/InterProScanFileDialog.js +0 -64
- package/dist/components/dialogs/InterProScanFileDialog.js.map +0 -1
- package/dist/launchInterProScan.d.ts +0 -13
- package/dist/launchInterProScan.js +0 -110
- package/dist/launchInterProScan.js.map +0 -1
- package/dist/useColorContrast.d.ts +0 -10
- package/dist/useColorContrast.js +0 -13
- package/dist/useColorContrast.js.map +0 -1
- package/src/clustalX.test.ts +0 -74
- package/src/colSpace.test.ts +0 -67
- package/src/collapseLogic.test.ts +0 -115
- package/src/colorSchemes.docs.test.ts +0 -57
- package/src/columnCounts.test.ts +0 -73
- package/src/columnStats.test.ts +0 -94
- package/src/columnTracks.test.ts +0 -97
- package/src/components/dialogs/InterProScanDialog.tsx +0 -214
- package/src/components/dialogs/InterProScanFileDialog.tsx +0 -138
- package/src/components/minimap/minimapLayout.test.ts +0 -71
- package/src/components/msa/msaRaster.test.ts +0 -145
- package/src/components/msa/renderBoxFeatureCanvasBlock.test.ts +0 -51
- package/src/components/tree/renderTreeCanvas.test.ts +0 -296
- package/src/dataInitialized.test.ts +0 -42
- package/src/domainBands.test.ts +0 -122
- package/src/domainLetterColor.test.ts +0 -80
- package/src/exportFileName.test.ts +0 -40
- package/src/fetchUtils.test.ts +0 -83
- package/src/flatToTree.test.ts +0 -51
- package/src/hierarchy.test.ts +0 -228
- package/src/highlights.test.ts +0 -70
- package/src/impgRender.test.tsx +0 -68
- package/src/largeTree.test.ts +0 -67
- package/src/launchInterProScan.ts +0 -167
- package/src/loadErrorDisplay.test.tsx +0 -102
- package/src/modelFilehandleLoaders.test.ts +0 -137
- package/src/modelReset.test.ts +0 -120
- package/src/neighborJoining.test.ts +0 -164
- package/src/parseAsn1.test.ts +0 -36
- package/src/propertyConservation.test.ts +0 -36
- package/src/renderColumnTracksSvg.test.tsx +0 -108
- package/src/renderDomainsSvg.test.tsx +0 -118
- package/src/renderHighlightsSvg.test.tsx +0 -85
- package/src/renderMinimapSvg.test.tsx +0 -62
- package/src/renderRasterSvg.test.tsx +0 -144
- package/src/renderSequenceLogoSvg.test.tsx +0 -165
- package/src/renderToSvg.test.tsx +0 -65
- package/src/reset.test.ts +0 -61
- package/src/rowCoordinateCalculations.test.ts +0 -211
- package/src/rowSpace.test.ts +0 -46
- package/src/segmentOverlay.test.ts +0 -70
- package/src/seqPosToGlobalCol.test.ts +0 -59
- package/src/sequenceLogo.test.ts +0 -88
- package/src/setFontSize.test.ts +0 -33
- package/src/stripDefault.test.ts +0 -48
- package/src/stripDefaultSnapshot.test.ts +0 -87
- package/src/treeMetadata.test.ts +0 -39
- package/src/useCanvasAutorun.test.tsx +0 -98
- package/src/useColorContrast.ts +0 -18
- package/src/viewChrome.test.tsx +0 -134
- package/src/wheelZoom.test.ts +0 -46
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A round branch-length step and its width in pixels: the largest 1/2/5 x 10^n
|
|
3
|
+
* substitutions-per-site that fits in `maxPx`, aiming at about half of it.
|
|
4
|
+
* Returns undefined in cladogram mode, where the x-positions carry no length.
|
|
5
|
+
*/
|
|
6
|
+
export function scaleBarLength(pxPerUnit, maxPx) {
|
|
7
|
+
if (pxPerUnit <= 0 || maxPx < 20) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const target = maxPx / 2 / pxPerUnit;
|
|
11
|
+
const magnitude = 10 ** Math.floor(Math.log10(target));
|
|
12
|
+
const mantissa = target / magnitude;
|
|
13
|
+
const step = (mantissa >= 5 ? 5 : mantissa >= 2 ? 2 : 1) * magnitude;
|
|
14
|
+
const px = step * pxPerUnit;
|
|
15
|
+
return px > maxPx
|
|
16
|
+
? undefined
|
|
17
|
+
: {
|
|
18
|
+
step,
|
|
19
|
+
px,
|
|
20
|
+
// a length of 0.02 reads as 0.02, not 0.020000000000000004
|
|
21
|
+
label: `${Number(step.toPrecision(2))}`,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=scaleBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaleBar.js","sourceRoot":"","sources":["../../../src/components/tree/scaleBar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,KAAa;IAC7D,IAAI,SAAS,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;QACjC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,GAAG,SAAS,CAAA;IACpC,MAAM,SAAS,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IACtD,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IACpE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3B,OAAO,EAAE,GAAG,KAAK;QACf,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,IAAI;YACJ,EAAE;YACF,2DAA2D;YAC3D,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;SACxC,CAAA;AACP,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const defaultHeight = 550;
|
|
|
4
4
|
export declare const defaultScrollX = 0;
|
|
5
5
|
export declare const defaultScrollY = 0;
|
|
6
6
|
export declare const defaultCurrentAlignment = 0;
|
|
7
|
-
export declare const defaultShowDomains =
|
|
7
|
+
export declare const defaultShowDomains = true;
|
|
8
8
|
export declare const defaultShowDomainLegend = true;
|
|
9
9
|
export declare const defaultHideGaps = true;
|
|
10
10
|
export declare const defaultAllowedGappyness = 100;
|
|
@@ -30,3 +30,5 @@ export declare const defaultTreeWidth = 300;
|
|
|
30
30
|
export declare const defaultShowBranchLen = true;
|
|
31
31
|
export declare const defaultDrawTree = true;
|
|
32
32
|
export declare const defaultDrawNodeBubbles = true;
|
|
33
|
+
export declare const maxNeighborJoiningRows = 500;
|
|
34
|
+
export declare const maxInlineSnapshotBytes = 50000;
|
package/dist/constants.js
CHANGED
|
@@ -5,7 +5,11 @@ export const defaultHeight = 550;
|
|
|
5
5
|
export const defaultScrollX = 0;
|
|
6
6
|
export const defaultScrollY = 0;
|
|
7
7
|
export const defaultCurrentAlignment = 0;
|
|
8
|
-
|
|
8
|
+
// Annotations are loaded on purpose -- a gff filehandle, a file picked in the
|
|
9
|
+
// dialog -- so they are drawn unless the reader has said otherwise. Since only
|
|
10
|
+
// the "no" is stored, a shared link with the overlay hidden reopens hidden, and
|
|
11
|
+
// one that never mentions it opens showing whatever annotations it carries.
|
|
12
|
+
export const defaultShowDomains = true;
|
|
9
13
|
export const defaultShowDomainLegend = true;
|
|
10
14
|
export const defaultHideGaps = true;
|
|
11
15
|
export const defaultAllowedGappyness = 100;
|
|
@@ -54,4 +58,17 @@ export const defaultTreeWidth = 300;
|
|
|
54
58
|
export const defaultShowBranchLen = true;
|
|
55
59
|
export const defaultDrawTree = true;
|
|
56
60
|
export const defaultDrawNodeBubbles = true;
|
|
61
|
+
// Neighbor joining refuses above this many rows. The distance matrix is O(n^2*L)
|
|
62
|
+
// and the join loop O(n^3), both on the main thread with no progress and no
|
|
63
|
+
// cancel: 400 rows measured 1.5s, 800 rows 10s, and 1600 would be about seventy.
|
|
64
|
+
// See agent-docs/ideas/neighbor-joining-scaling.md for why the RapidNJ fix is a
|
|
65
|
+
// real algorithm change rather than a port, and why capping is the honest answer
|
|
66
|
+
// -- NJ on thousands of sequences is the wrong tool however fast it runs.
|
|
67
|
+
export const maxNeighborJoiningRows = 500;
|
|
68
|
+
// The largest inline document the snapshot carries. Past this a pasted or
|
|
69
|
+
// locally-opened file stays in the live model and leaves the snapshot, since a
|
|
70
|
+
// session or a shared URL holding megabytes of sequence is not a link anyone
|
|
71
|
+
// can send. `unshareableData` reads the same number, so what the viewer warns
|
|
72
|
+
// about and what the snapshot drops cannot drift apart.
|
|
73
|
+
export const maxInlineSnapshotBytes = 50_000;
|
|
57
74
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACxC,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAA;AAC1C,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAEpC,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,sEAAsE;AACtE,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,MAAM;IACN,KAAK;IACL,gBAAgB;IAChB,iBAAiB;IACjB,KAAK;IACL,QAAQ;CACT,CAAC,CAAA;AAEF,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;AACnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAA;AACzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAEtC,8EAA8E;AAC9E,+EAA+E;AAC/E,iDAAiD;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC,4EAA4E;AAC5E,uDAAuD;AACvD,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAA;AAExC,+EAA+E;AAC/E,iFAAiF;AACjF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAA;AAE7B,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAA;AAClC,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAA;AAChD,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAA;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAA;AACrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAA;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAA;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAA;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAA;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AACnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAA;AAE1C,iFAAiF;AACjF,4EAA4E;AAC5E,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAEzC,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAA"}
|
package/dist/fetchUtils.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { fetchAndMaybeUnzipText } from '@jbrowse/core/util';
|
|
|
2
2
|
import type { RpcStatus } from '@jbrowse/core/util';
|
|
3
3
|
export interface FetchStatus {
|
|
4
4
|
msg: string;
|
|
5
|
-
url?: string;
|
|
6
5
|
onCancel?: () => void;
|
|
7
6
|
}
|
|
8
7
|
type Filehandle = Parameters<typeof fetchAndMaybeUnzipText>[0];
|
|
@@ -14,12 +13,13 @@ type ProgressFetcher = (loc: Filehandle, opts: {
|
|
|
14
13
|
* Fetch text from a filehandle while reporting download/unzip progress through
|
|
15
14
|
* setStatus, and wiring a Cancel handler that aborts the underlying request.
|
|
16
15
|
* The status is always cleared once the fetch settles. The fetcher is injectable
|
|
17
|
-
* for testing
|
|
16
|
+
* for testing, and so is the AbortController: a caller that can supersede its
|
|
17
|
+
* own request -- the model's loaders, when the filehandle changes under them --
|
|
18
|
+
* holds one and aborts the download it no longer wants.
|
|
18
19
|
*/
|
|
19
|
-
export declare function fetchTextWithProgress(loc: Filehandle, setStatus: (status?: FetchStatus) => void, fetcher?:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export declare function timeout(time: number, signal?: AbortSignal): Promise<void>;
|
|
20
|
+
export declare function fetchTextWithProgress(loc: Filehandle, setStatus: (status?: FetchStatus) => void, { fetcher, controller, }?: {
|
|
21
|
+
fetcher?: ProgressFetcher;
|
|
22
|
+
controller?: AbortController;
|
|
23
|
+
}): Promise<string>;
|
|
24
24
|
export declare function isAbortError(e: unknown): boolean;
|
|
25
25
|
export {};
|
package/dist/fetchUtils.js
CHANGED
|
@@ -17,10 +17,11 @@ function statusMessageText(status) {
|
|
|
17
17
|
* Fetch text from a filehandle while reporting download/unzip progress through
|
|
18
18
|
* setStatus, and wiring a Cancel handler that aborts the underlying request.
|
|
19
19
|
* The status is always cleared once the fetch settles. The fetcher is injectable
|
|
20
|
-
* for testing
|
|
20
|
+
* for testing, and so is the AbortController: a caller that can supersede its
|
|
21
|
+
* own request -- the model's loaders, when the filehandle changes under them --
|
|
22
|
+
* holds one and aborts the download it no longer wants.
|
|
21
23
|
*/
|
|
22
|
-
export async function fetchTextWithProgress(loc, setStatus, fetcher = fetchAndMaybeUnzipText) {
|
|
23
|
-
const controller = new AbortController();
|
|
24
|
+
export async function fetchTextWithProgress(loc, setStatus, { fetcher = fetchAndMaybeUnzipText, controller = new AbortController(), } = {}) {
|
|
24
25
|
try {
|
|
25
26
|
return await fetcher(loc, {
|
|
26
27
|
signal: controller.signal,
|
|
@@ -41,35 +42,6 @@ export async function fetchTextWithProgress(loc, setStatus, fetcher = fetchAndMa
|
|
|
41
42
|
setStatus(undefined);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
export async function myfetch(url, args) {
|
|
45
|
-
const response = await fetch(url, args);
|
|
46
|
-
if (!response.ok) {
|
|
47
|
-
throw new Error(`HTTP ${response.status} fetching ${url} ${await response.text()}`);
|
|
48
|
-
}
|
|
49
|
-
return response;
|
|
50
|
-
}
|
|
51
|
-
export async function textfetch(url, args) {
|
|
52
|
-
const response = await myfetch(url, args);
|
|
53
|
-
return response.text();
|
|
54
|
-
}
|
|
55
|
-
export async function jsonfetch(url, args) {
|
|
56
|
-
const response = await myfetch(url, args);
|
|
57
|
-
return response.json();
|
|
58
|
-
}
|
|
59
|
-
export function timeout(time, signal) {
|
|
60
|
-
return new Promise((resolve, reject) => {
|
|
61
|
-
if (signal?.aborted) {
|
|
62
|
-
reject(new DOMException('Aborted', 'AbortError'));
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
const id = setTimeout(resolve, time);
|
|
66
|
-
signal?.addEventListener('abort', () => {
|
|
67
|
-
clearTimeout(id);
|
|
68
|
-
reject(new DOMException('Aborted', 'AbortError'));
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
45
|
export function isAbortError(e) {
|
|
74
46
|
return e instanceof DOMException && e.name === 'AbortError';
|
|
75
47
|
}
|
package/dist/fetchUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUtils.js","sourceRoot":"","sources":["../src/fetchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAI3D;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,MAA6B;IACtD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAA;AAC9D,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchUtils.js","sourceRoot":"","sources":["../src/fetchUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAI3D;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,MAA6B;IACtD,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAA;AAC9D,CAAC;AAcD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAe,EACf,SAAyC,EACzC,EACE,OAAO,GAAG,sBAAsB,EAChC,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAgE,EAAE;IAEnE,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE;YACxB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,cAAc,EAAE,MAAM,CAAC,EAAE;gBACvB,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBACrC,SAAS,CACP,GAAG;oBACD,CAAC,CAAC;wBACE,GAAG;wBACH,QAAQ,EAAE,GAAG,EAAE;4BACb,UAAU,CAAC,KAAK,EAAE,CAAA;wBACpB,CAAC;qBACF;oBACH,CAAC,CAAC,SAAS,CACd,CAAA;YACH,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,OAAO,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAA;AAC7D,CAAC"}
|
package/dist/hierarchy.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export interface HierarchyNode<T = NodeWithIds> extends CoreHierarchyNode<T> {
|
|
|
13
13
|
parent: HierarchyNode<T> | null;
|
|
14
14
|
x?: number;
|
|
15
15
|
y?: number;
|
|
16
|
+
xMin?: number;
|
|
17
|
+
xMax?: number;
|
|
16
18
|
len?: number;
|
|
17
19
|
depthToLeaf?: number;
|
|
18
20
|
_children?: HierarchyNode<T>[] | null;
|
|
@@ -27,6 +29,5 @@ export declare function collapsedSubtreeMaxLength<T extends {
|
|
|
27
29
|
length?: number;
|
|
28
30
|
}>(node: HierarchyNode<T>): number;
|
|
29
31
|
export declare function calcDepthToLeaf<T>(node: HierarchyNode<T>): number;
|
|
30
|
-
export declare function findMaxBranchLen(node: HierarchyNode): number;
|
|
31
32
|
export declare function maxLength(d: HierarchyNode): number;
|
|
32
33
|
export declare function setBrLength(d: HierarchyNode, y0: number, k: number): void;
|
package/dist/hierarchy.js
CHANGED
|
@@ -20,16 +20,27 @@ export function clusterLayout(root, sizeX, sizeY) {
|
|
|
20
20
|
leafNodes[i].x = (i + 0.5) * step;
|
|
21
21
|
}
|
|
22
22
|
// x of an internal node is the mean of its children's x, so process in
|
|
23
|
-
// post-order (children before parents)
|
|
23
|
+
// post-order (children before parents). The subtree span comes from the same
|
|
24
|
+
// pass, for the block culls in the tree renderer.
|
|
24
25
|
const nodes = descendants(root);
|
|
25
26
|
for (let i = nodes.length - 1; i >= 0; i--) {
|
|
26
27
|
const node = nodes[i];
|
|
27
28
|
if (node.children) {
|
|
28
29
|
let sum = 0;
|
|
30
|
+
let min = Infinity;
|
|
31
|
+
let max = -Infinity;
|
|
29
32
|
for (const child of node.children) {
|
|
30
33
|
sum += child.x;
|
|
34
|
+
min = Math.min(min, child.xMin);
|
|
35
|
+
max = Math.max(max, child.xMax);
|
|
31
36
|
}
|
|
32
37
|
node.x = sum / node.children.length;
|
|
38
|
+
node.xMin = min;
|
|
39
|
+
node.xMax = max;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
node.xMin = node.x;
|
|
43
|
+
node.xMax = node.x;
|
|
33
44
|
}
|
|
34
45
|
}
|
|
35
46
|
const rootHeight = root.height;
|
|
@@ -111,14 +122,9 @@ export function calcDepthToLeaf(node) {
|
|
|
111
122
|
}
|
|
112
123
|
return node.depthToLeaf;
|
|
113
124
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
maxLen = Math.max(maxLen, n.len || 0);
|
|
118
|
-
}
|
|
119
|
-
return maxLen;
|
|
120
|
-
}
|
|
121
|
-
// Max root-to-leaf sum of branch lengths within the subtree at d
|
|
125
|
+
// Max root-to-leaf sum of branch lengths within the subtree at d. Negative
|
|
126
|
+
// lengths are floored at zero, the same as setBrLength does when it lays the
|
|
127
|
+
// tree out, so the extent this reports is the one that gets drawn
|
|
122
128
|
export function maxLength(d) {
|
|
123
129
|
const nodes = descendants(d);
|
|
124
130
|
const pathLen = new Map();
|
|
@@ -130,7 +136,7 @@ export function maxLength(d) {
|
|
|
130
136
|
childMax = Math.max(childMax, pathLen.get(child));
|
|
131
137
|
}
|
|
132
138
|
}
|
|
133
|
-
pathLen.set(n, (n.data.length || 0) + childMax);
|
|
139
|
+
pathLen.set(n, Math.max(n.data.length || 0, 0) + childMax);
|
|
134
140
|
}
|
|
135
141
|
return pathLen.get(d);
|
|
136
142
|
}
|
package/dist/hierarchy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACX,SAAS,IAAI,aAAa,EAC1B,MAAM,EACN,KAAK,EACL,IAAI,EACJ,GAAG,GACJ,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"hierarchy.js","sourceRoot":"","sources":["../src/hierarchy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { renderToSvg } from './renderToSvg.tsx';
|
|
2
2
|
export type { ExportSvgOptions } from './renderToSvg.tsx';
|
|
3
3
|
export { CHAR_WIDTH_RATIO, installHeadlessRenderEnv, } from './headlessRenderEnv.ts';
|
|
4
|
+
export { maxNeighborJoiningRows } from './constants.ts';
|
|
4
5
|
export { default as MSAView } from './components/Loading.tsx';
|
|
5
6
|
export { default as MSAViewer } from './components/MSAViewer.tsx';
|
|
6
7
|
export { type MsaViewModel, default as MSAModelF } from './model.ts';
|
|
@@ -8,4 +9,4 @@ export type { MSAFormat, MSAParserType } from 'msa-parsers';
|
|
|
8
9
|
export type { HierarchyNode } from './hierarchy.ts';
|
|
9
10
|
export type { InterProScanResults } from 'msa-parsers';
|
|
10
11
|
export type { ColumnCounts } from './columnCounts.ts';
|
|
11
|
-
export type { Accession, Annotation, BasicTrack, BasicTrackModel, ColumnTrackSpec, DomainBand, Highlight, Node, NodeWithIds, NodeWithIdsAndLength, ResolvedHighlight, TextTrackModel, TidyDomainAnnotation, } from './types.ts';
|
|
12
|
+
export type { Accession, Annotation, Arc, ArcSpec, ArcTrackModel, BasicTrack, BasicTrackModel, ColumnTrackSpec, DomainBand, Highlight, Node, MappedStructure, NodeWithIds, NodeWithIdsAndLength, ResidueMapping, ResidueMappingProblem, ResidueSegment, ResolvedHighlight, RowResidue, StructureResidue, TextTrackModel, TidyDomainAnnotation, UnshareableData, } from './types.ts';
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
// PUBLIC API — consumed by external JBrowse 2 plugins. Changing or removing any
|
|
2
2
|
// export here is a breaking change for downstream repos:
|
|
3
|
-
// - jbrowse-plugin-msaview
|
|
4
|
-
// - jbrowse-plugin-
|
|
3
|
+
// - jbrowse-plugin-msaview (wraps MSAModelF + MSAView into a JBrowse view)
|
|
4
|
+
// - jbrowse-plugin-tview (the same, for a tree-first view)
|
|
5
5
|
// Those plugins also reach into the MsaViewModel instance at runtime; the model
|
|
6
6
|
// members they rely on (e.g. mouseCol/setMousePos, setHighlightedColumns,
|
|
7
7
|
// seqPosToVisibleCol/visibleColToSeqPos) are flagged inline in model.ts.
|
|
8
|
+
// jbrowse-plugin-protein3d no longer depends on this package at all: it reads
|
|
9
|
+
// the msaview plugin's model through a structural type of its own.
|
|
8
10
|
export { renderToSvg } from './renderToSvg.js';
|
|
9
11
|
// renderToSvg outside a browser needs DOM bits jsdom omits; react-msaview-cli
|
|
10
12
|
// and the README figure generator both drive it that way
|
|
11
13
|
export { CHAR_WIDTH_RATIO, installHeadlessRenderEnv, } from './headlessRenderEnv.js';
|
|
14
|
+
// the row count past which calculateNeighborJoiningTreeFromMSA refuses, so a
|
|
15
|
+
// host can gate its own menu item on the same number instead of offering a
|
|
16
|
+
// button that throws
|
|
17
|
+
export { maxNeighborJoiningRows } from './constants.js';
|
|
12
18
|
export { default as MSAView } from './components/Loading.js';
|
|
13
19
|
export { default as MSAViewer } from './components/MSAViewer.js';
|
|
14
20
|
export { default as MSAModelF } from './model.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yDAAyD;AACzD,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,yDAAyD;AACzD,6EAA6E;AAC7E,+DAA+D;AAC/D,gFAAgF;AAChF,0EAA0E;AAC1E,yEAAyE;AACzE,8EAA8E;AAC9E,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAA;AAE/C,8EAA8E;AAC9E,yDAAyD;AACzD,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA;AAC/B,6EAA6E;AAC7E,2EAA2E;AAC3E,qBAAqB;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,yBAA0B,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA4B,CAAA;AACjE,OAAO,EAAqB,OAAO,IAAI,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/model/DataModel.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { types } from '@jbrowse/mobx-state-tree';
|
|
2
|
+
import { maxInlineSnapshotBytes } from '../constants.js';
|
|
2
3
|
/**
|
|
3
4
|
* #stateModel DataModel
|
|
4
5
|
* the data stored for the model. this is sometimes temporary in the case that
|
|
@@ -55,10 +56,12 @@ export function DataModelF() {
|
|
|
55
56
|
.postProcessSnapshot(snap =>
|
|
56
57
|
// a large document is dropped from the snapshot rather than inlined
|
|
57
58
|
// into a session or a shared URL, and every field here holds one, so
|
|
58
|
-
// the rule is the same for all of them
|
|
59
|
+
// the rule is the same for all of them. The parent model's
|
|
60
|
+
// `unshareableData` reports what this drops, since dropping it silently
|
|
61
|
+
// is how a copied link comes to open an empty viewer
|
|
59
62
|
Object.fromEntries(Object.entries(snap).map(([key, text]) => [
|
|
60
63
|
key,
|
|
61
|
-
text && text.length >
|
|
64
|
+
text && text.length > maxInlineSnapshotBytes ? undefined : text,
|
|
62
65
|
])));
|
|
63
66
|
}
|
|
64
67
|
//# sourceMappingURL=DataModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataModel.js","sourceRoot":"","sources":["../../src/model/DataModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK;SACT,KAAK,CAAC;QACL;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B;;WAEG;QACH,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;KAC/B,CAAC;SACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB;;WAEG;QACH,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD;;WAEG;QACH,MAAM,CAAC,GAAY;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,CAAC;QACD;;WAEG;QACH,eAAe,CAAC,YAAqB;YACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QACD;;WAEG;QACH,MAAM,CAAC,GAAY;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,CAAC;KACF,CAAC,CAAC;SACF,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAC1B,oEAAoE;IACpE,qEAAqE;IACrE,
|
|
1
|
+
{"version":3,"file":"DataModel.js","sourceRoot":"","sources":["../../src/model/DataModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,KAAK;SACT,KAAK,CAAC;QACL;;WAEG;QACH,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC/B;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B;;WAEG;QACH,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC;;WAEG;QACH,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;KAC/B,CAAC;SACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB;;WAEG;QACH,OAAO,CAAC,IAAa;YACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAClB,CAAC;QACD;;WAEG;QACH,MAAM,CAAC,GAAY;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,CAAC;QACD;;WAEG;QACH,eAAe,CAAC,YAAqB;YACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QACD;;WAEG;QACH,MAAM,CAAC,GAAY;YACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,CAAC;KACF,CAAC,CAAC;SACF,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAC1B,oEAAoE;IACpE,qEAAqE;IACrE,2DAA2D;IAC3D,wEAAwE;IACxE,qDAAqD;IACrD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG;QACH,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;KAChE,CAAC,CACH,CACF,CAAA;AACL,CAAC"}
|