@genome-spy/core 0.53.1 → 0.55.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/bundle/{_commonjsHelpers-BIiJCwQW.js → _commonjsHelpers-DSebQMb9.js} +2 -4
- package/dist/bundle/{index-B5cesONJ.js → index-B6haPltu.js} +33 -65
- package/dist/bundle/{index-uO0O4Uv-.js → index-BhtH2nrr.js} +3 -5
- package/dist/bundle/{index-_tI-fMQF.js → index-BpoXW6_f.js} +5 -6
- package/dist/bundle/{index-BywMLhhd.js → index-COovE1Oo.js} +75 -105
- package/dist/bundle/{index-BJLu48Hz.js → index-CjesiOz_.js} +2 -2
- package/dist/bundle/{index-oqw_s02W.js → index-HGQZ77IK.js} +2 -2
- package/dist/bundle/{index-DAJ8JQLE.js → index-WACuLhO6.js} +64 -119
- package/dist/bundle/{index-e0oKgZbZ.js → index-_ftu0t0z.js} +2 -3
- package/dist/bundle/{index-CSayoXbw.js → index-nCZhu2o-.js} +3 -3
- package/dist/bundle/index.es.js +4363 -4313
- package/dist/bundle/index.js +105 -99
- package/dist/bundle/{long-D4tVjLLz.js → long-BXK3UEks.js} +9 -16
- package/dist/bundle/{remoteFile-BkTxwFub.js → remoteFile-DuIsnepi.js} +1 -1
- package/dist/schema.json +36 -2
- package/dist/src/data/collector.d.ts.map +1 -1
- package/dist/src/data/collector.js +4 -0
- package/dist/src/data/flowNode.d.ts +14 -5
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +30 -7
- package/dist/src/data/sources/dataSource.d.ts +1 -2
- package/dist/src/data/sources/dataSource.d.ts.map +1 -1
- package/dist/src/data/sources/dataSource.js +0 -1
- package/dist/src/data/sources/inlineSource.d.ts +4 -0
- package/dist/src/data/sources/inlineSource.d.ts.map +1 -1
- package/dist/src/data/sources/inlineSource.js +18 -0
- package/dist/src/data/sources/lazy/axisGenomeSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisGenomeSource.js +4 -0
- package/dist/src/data/sources/lazy/axisTickSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/axisTickSource.js +4 -0
- package/dist/src/data/sources/lazy/bamSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bamSource.js +4 -0
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigBedSource.js +4 -0
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigWigSource.js +4 -0
- package/dist/src/data/sources/lazy/gff3Source.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/gff3Source.js +4 -0
- package/dist/src/data/sources/lazy/indexedFastaSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/indexedFastaSource.js +4 -0
- package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts +2 -0
- package/dist/src/data/sources/lazy/singleAxisLazySource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/singleAxisLazySource.js +2 -0
- package/dist/src/data/sources/namedSource.d.ts.map +1 -1
- package/dist/src/data/sources/namedSource.js +4 -0
- package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
- package/dist/src/data/sources/sequenceSource.js +4 -0
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +4 -0
- package/dist/src/data/transforms/aggregate.d.ts +12 -9
- package/dist/src/data/transforms/aggregate.d.ts.map +1 -1
- package/dist/src/data/transforms/aggregate.js +67 -24
- package/dist/src/data/transforms/aggregate.test.d.ts +2 -0
- package/dist/src/data/transforms/aggregate.test.d.ts.map +1 -0
- package/dist/src/data/transforms/aggregate.test.js +134 -0
- package/dist/src/data/transforms/aggregateOps.d.ts +6 -0
- package/dist/src/data/transforms/aggregateOps.d.ts.map +1 -0
- package/dist/src/data/transforms/aggregateOps.js +17 -0
- package/dist/src/data/transforms/clone.d.ts +2 -2
- package/dist/src/data/transforms/clone.d.ts.map +1 -1
- package/dist/src/data/transforms/clone.js +4 -3
- package/dist/src/data/transforms/coverage.d.ts +2 -2
- package/dist/src/data/transforms/coverage.d.ts.map +1 -1
- package/dist/src/data/transforms/coverage.js +4 -3
- package/dist/src/data/transforms/filter.d.ts +2 -2
- package/dist/src/data/transforms/filter.d.ts.map +1 -1
- package/dist/src/data/transforms/filter.js +3 -3
- package/dist/src/data/transforms/filterScoredLabels.d.ts +2 -2
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +4 -3
- package/dist/src/data/transforms/flatten.d.ts +3 -2
- package/dist/src/data/transforms/flatten.d.ts.map +1 -1
- package/dist/src/data/transforms/flatten.js +6 -3
- package/dist/src/data/transforms/flattenCompressedExons.d.ts +2 -2
- package/dist/src/data/transforms/flattenCompressedExons.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenCompressedExons.js +4 -3
- package/dist/src/data/transforms/flattenDelimited.d.ts +2 -2
- package/dist/src/data/transforms/flattenDelimited.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenDelimited.js +4 -3
- package/dist/src/data/transforms/flattenSequence.d.ts +3 -2
- package/dist/src/data/transforms/flattenSequence.d.ts.map +1 -1
- package/dist/src/data/transforms/flattenSequence.js +6 -3
- package/dist/src/data/transforms/formula.d.ts +2 -2
- package/dist/src/data/transforms/formula.d.ts.map +1 -1
- package/dist/src/data/transforms/formula.js +4 -3
- package/dist/src/data/transforms/identifier.d.ts +2 -2
- package/dist/src/data/transforms/identifier.d.ts.map +1 -1
- package/dist/src/data/transforms/identifier.js +4 -3
- package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts +3 -2
- package/dist/src/data/transforms/linearizeGenomicCoordinate.d.ts.map +1 -1
- package/dist/src/data/transforms/linearizeGenomicCoordinate.js +11 -4
- package/dist/src/data/transforms/measureText.d.ts +5 -4
- package/dist/src/data/transforms/measureText.d.ts.map +1 -1
- package/dist/src/data/transforms/measureText.js +11 -8
- package/dist/src/data/transforms/pileup.d.ts +2 -2
- package/dist/src/data/transforms/pileup.d.ts.map +1 -1
- package/dist/src/data/transforms/pileup.js +4 -3
- package/dist/src/data/transforms/project.d.ts +3 -2
- package/dist/src/data/transforms/project.d.ts.map +1 -1
- package/dist/src/data/transforms/project.js +6 -3
- package/dist/src/data/transforms/regexExtract.d.ts +3 -2
- package/dist/src/data/transforms/regexExtract.d.ts.map +1 -1
- package/dist/src/data/transforms/regexExtract.js +6 -3
- package/dist/src/data/transforms/regexFold.d.ts +3 -2
- package/dist/src/data/transforms/regexFold.d.ts.map +1 -1
- package/dist/src/data/transforms/regexFold.js +6 -3
- package/dist/src/data/transforms/sample.d.ts +3 -2
- package/dist/src/data/transforms/sample.d.ts.map +1 -1
- package/dist/src/data/transforms/sample.js +5 -3
- package/dist/src/data/transforms/stack.d.ts +2 -2
- package/dist/src/data/transforms/stack.d.ts.map +1 -1
- package/dist/src/data/transforms/stack.js +4 -3
- package/dist/src/data/transforms/transform.d.ts +10 -0
- package/dist/src/data/transforms/transform.d.ts.map +1 -0
- package/dist/src/data/transforms/transform.js +22 -0
- package/dist/src/spec/title.d.ts +1 -1
- package/dist/src/spec/transform.d.ts +32 -2
- package/dist/src/view/axisView.js +2 -2
- package/dist/src/view/gridView.d.ts.map +1 -1
- package/dist/src/view/gridView.js +7 -3
- package/package.json +2 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { field } from "../../utils/field.js";
|
|
2
|
-
import
|
|
2
|
+
import { BEHAVIOR_CLONES } from "../flowNode.js";
|
|
3
|
+
import Transform from "./transform.js";
|
|
3
4
|
|
|
4
|
-
export default class FlattenSequenceTransform extends
|
|
5
|
+
export default class FlattenSequenceTransform extends Transform {
|
|
5
6
|
get behavior() {
|
|
6
7
|
return BEHAVIOR_CLONES;
|
|
7
8
|
}
|
|
@@ -11,7 +12,9 @@ export default class FlattenSequenceTransform extends FlowNode {
|
|
|
11
12
|
* @param {import("../../spec/transform.js").FlattenSequenceParams} params
|
|
12
13
|
*/
|
|
13
14
|
constructor(params) {
|
|
14
|
-
super();
|
|
15
|
+
super(params);
|
|
16
|
+
|
|
17
|
+
this.params = params;
|
|
15
18
|
|
|
16
19
|
const accessor = field(params.field ?? "sequence");
|
|
17
20
|
const [asPos, asSequence] = params.as ?? ["pos", "sequence"];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default class FormulaTransform extends
|
|
1
|
+
export default class FormulaTransform extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {import("../../spec/transform.js").FormulaParams} params
|
|
@@ -10,5 +10,5 @@ export default class FormulaTransform extends FlowNode {
|
|
|
10
10
|
/** @type {import("../../view/paramMediator.js").ExprRefFunction} */
|
|
11
11
|
fn: import("../../view/paramMediator.js").ExprRefFunction;
|
|
12
12
|
}
|
|
13
|
-
import
|
|
13
|
+
import Transform from "./transform.js";
|
|
14
14
|
//# sourceMappingURL=formula.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/formula.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/formula.js"],"names":[],"mappings":"AAGA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,aAAa,yBAC/C,OAAO,gBAAgB,EAAE,qBAAqB,EAWxD;IANG,wDAAoB;IAEpB,WAAmB;IAEnB,oEAAoE;IACpE,IADW,OAAO,6BAA6B,EAAE,eAAe,CAC7C;CAgB1B;sBApCqB,gBAAgB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
2
|
+
import Transform from "./transform.js";
|
|
2
3
|
|
|
3
|
-
export default class FormulaTransform extends
|
|
4
|
+
export default class FormulaTransform extends Transform {
|
|
4
5
|
get behavior() {
|
|
5
6
|
return BEHAVIOR_MODIFIES;
|
|
6
7
|
}
|
|
@@ -11,7 +12,7 @@ export default class FormulaTransform extends FlowNode {
|
|
|
11
12
|
* @param {import("../flowNode.js").ParamMediatorProvider} paramMediatorProvider
|
|
12
13
|
*/
|
|
13
14
|
constructor(params, paramMediatorProvider) {
|
|
14
|
-
super(paramMediatorProvider);
|
|
15
|
+
super(params, paramMediatorProvider);
|
|
15
16
|
|
|
16
17
|
this.params = params;
|
|
17
18
|
|
|
@@ -8,7 +8,7 @@ export const BLOCK_SIZE: 10000;
|
|
|
8
8
|
* This is mainly used for creating ids that can be used for picking, i.e.,
|
|
9
9
|
* selecting rendered data items by hovering or clicking.
|
|
10
10
|
*/
|
|
11
|
-
export default class IdentifierTransform extends
|
|
11
|
+
export default class IdentifierTransform extends Transform {
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* @param {import("../../spec/transform.js").IdentifierParams} params
|
|
@@ -36,5 +36,5 @@ export default class IdentifierTransform extends FlowNode {
|
|
|
36
36
|
_getBlock(): number;
|
|
37
37
|
_reserveBlock(): number;
|
|
38
38
|
}
|
|
39
|
-
import
|
|
39
|
+
import Transform from "./transform.js";
|
|
40
40
|
//# sourceMappingURL=identifier.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/identifier.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/identifier.js"],"names":[],"mappings":"AAGA,wCAAyC;AAEzC,+BAAgC;AAehC;;;;;;;GAOG;AACH;IAKI;;;OAGG;IACH,oBAFW,OAAO,yBAAyB,EAAE,gBAAgB,EAuB5D;IAnBG,2DAAoB;IAEpB,WAAoC;IAEpC;;;OAGG;IACH,SAFU,MAAM,EAAE,CAED;IAEjB;;OAEG;IACH,oBAAoB;IAEpB;;OAEG;IACH,YAAa;IAuBjB;;OAEG;IACH,WAFa,MAAM,CAOlB;IAED,oBAMC;IAED,wBAOC;CACJ;sBAzGqB,gBAAgB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
2
|
+
import Transform from "./transform.js";
|
|
2
3
|
|
|
3
4
|
export const UNIQUE_ID_KEY = "_uniqueId";
|
|
4
5
|
|
|
@@ -25,7 +26,7 @@ const reservationMap = [null];
|
|
|
25
26
|
* This is mainly used for creating ids that can be used for picking, i.e.,
|
|
26
27
|
* selecting rendered data items by hovering or clicking.
|
|
27
28
|
*/
|
|
28
|
-
export default class IdentifierTransform extends
|
|
29
|
+
export default class IdentifierTransform extends Transform {
|
|
29
30
|
get behavior() {
|
|
30
31
|
return BEHAVIOR_MODIFIES;
|
|
31
32
|
}
|
|
@@ -35,7 +36,7 @@ export default class IdentifierTransform extends FlowNode {
|
|
|
35
36
|
* @param {import("../../spec/transform.js").IdentifierParams} params
|
|
36
37
|
*/
|
|
37
38
|
constructor(params) {
|
|
38
|
-
super();
|
|
39
|
+
super(params);
|
|
39
40
|
this.params = params;
|
|
40
41
|
|
|
41
42
|
this.as = params.as ?? UNIQUE_ID_KEY;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export default class LinearizeGenomicCoordinate extends
|
|
1
|
+
export default class LinearizeGenomicCoordinate extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {import("../../spec/transform.js").LinearizeGenomicCoordinateParams} params
|
|
5
5
|
* @param {import("../../view/view.js").default} view
|
|
6
6
|
*/
|
|
7
7
|
constructor(params: import("../../spec/transform.js").LinearizeGenomicCoordinateParams, view: import("../../view/view.js").default);
|
|
8
|
+
params: import("../../spec/transform.js").LinearizeGenomicCoordinateParams;
|
|
8
9
|
}
|
|
9
|
-
import
|
|
10
|
+
import Transform from "./transform.js";
|
|
10
11
|
//# sourceMappingURL=linearizeGenomicCoordinate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linearizeGenomicCoordinate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/linearizeGenomicCoordinate.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linearizeGenomicCoordinate.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/linearizeGenomicCoordinate.js"],"names":[],"mappings":"AAKA;IAKI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,gCAAgC,QAClE,OAAO,oBAAoB,EAAE,OAAO,EAyF9C;IAhFG,2EAAoB;CAiF3B;sBApGqB,gBAAgB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { asArray } from "../../utils/arrayUtils.js";
|
|
2
2
|
import { field } from "../../utils/field.js";
|
|
3
|
-
import
|
|
3
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
4
|
+
import Transform from "./transform.js";
|
|
4
5
|
|
|
5
|
-
export default class LinearizeGenomicCoordinate extends
|
|
6
|
+
export default class LinearizeGenomicCoordinate extends Transform {
|
|
6
7
|
get behavior() {
|
|
7
8
|
return BEHAVIOR_MODIFIES;
|
|
8
9
|
}
|
|
@@ -13,9 +14,15 @@ export default class LinearizeGenomicCoordinate extends FlowNode {
|
|
|
13
14
|
* @param {import("../../view/view.js").default} view
|
|
14
15
|
*/
|
|
15
16
|
constructor(params, view) {
|
|
16
|
-
|
|
17
|
+
params = {
|
|
18
|
+
channel: "x",
|
|
19
|
+
...params,
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
super(params);
|
|
23
|
+
this.params = params;
|
|
17
24
|
|
|
18
|
-
const channel = params.channel
|
|
25
|
+
const channel = params.channel;
|
|
19
26
|
|
|
20
27
|
if (!["x", "y"].includes(channel)) {
|
|
21
28
|
throw new Error("Invalid channel: " + channel);
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
* Measures text length. This is mainly intended for reading-direction arrows
|
|
3
3
|
* in gene annotations.
|
|
4
4
|
*/
|
|
5
|
-
export default class MeasureTextTransform extends
|
|
5
|
+
export default class MeasureTextTransform extends Transform {
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
|
-
* @param {import("../../spec/transform.js").MeasureTextParams}
|
|
8
|
+
* @param {import("../../spec/transform.js").MeasureTextParams} params
|
|
9
9
|
*/
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(params: import("../../spec/transform.js").MeasureTextParams);
|
|
11
|
+
params: import("../../spec/transform.js").MeasureTextParams;
|
|
11
12
|
/**
|
|
12
13
|
*
|
|
13
14
|
* @param {any} datum
|
|
14
15
|
*/
|
|
15
16
|
handle: (datum: any) => void;
|
|
16
17
|
}
|
|
17
|
-
import
|
|
18
|
+
import Transform from "./transform.js";
|
|
18
19
|
//# sourceMappingURL=measureText.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureText.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/measureText.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"measureText.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/measureText.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH;IAKI;;;OAGG;IACH,oBAFW,OAAO,yBAAyB,EAAE,iBAAiB,EA0B7D;IArBG,4DAAoB;IAQpB;;;OAGG;IACH,gBAFW,GAAG,UAUb;CAER;sBAxCqB,gBAAgB"}
|
|
@@ -1,29 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
2
2
|
import fontMetadata from "../../fonts/Lato-Regular.json";
|
|
3
3
|
import getMetrics from "../../fonts/bmFontMetrics.js";
|
|
4
4
|
import { field } from "../../utils/field.js";
|
|
5
|
+
import Transform from "./transform.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Measures text length. This is mainly intended for reading-direction arrows
|
|
8
9
|
* in gene annotations.
|
|
9
10
|
*/
|
|
10
|
-
export default class MeasureTextTransform extends
|
|
11
|
+
export default class MeasureTextTransform extends Transform {
|
|
11
12
|
get behavior() {
|
|
12
13
|
return BEHAVIOR_MODIFIES;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
*
|
|
17
|
-
* @param {import("../../spec/transform.js").MeasureTextParams}
|
|
18
|
+
* @param {import("../../spec/transform.js").MeasureTextParams} params
|
|
18
19
|
*/
|
|
19
|
-
constructor(
|
|
20
|
-
super();
|
|
20
|
+
constructor(params) {
|
|
21
|
+
super(params);
|
|
22
|
+
|
|
23
|
+
this.params = params;
|
|
21
24
|
|
|
22
25
|
const metrics = getMetrics(fontMetadata);
|
|
23
|
-
const accessor = field(
|
|
24
|
-
const as =
|
|
26
|
+
const accessor = field(params.field);
|
|
27
|
+
const as = params.as;
|
|
25
28
|
// TODO: Support custom fonts.
|
|
26
|
-
const size =
|
|
29
|
+
const size = params.fontSize;
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
32
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default class PileupTransform extends
|
|
1
|
+
export default class PileupTransform extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {import("../../spec/transform.js").PileupParams} params
|
|
@@ -6,5 +6,5 @@ export default class PileupTransform extends FlowNode {
|
|
|
6
6
|
constructor(params: import("../../spec/transform.js").PileupParams);
|
|
7
7
|
params: import("../../spec/transform.js").PileupParams;
|
|
8
8
|
}
|
|
9
|
-
import
|
|
9
|
+
import Transform from "./transform.js";
|
|
10
10
|
//# sourceMappingURL=pileup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pileup.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/pileup.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pileup.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/pileup.js"],"names":[],"mappings":"AASA;IAKI;;;OAGG;IACH,oBAFW,OAAO,yBAAyB,EAAE,YAAY,EAMxD;IADG,uDAAoB;CAyG3B;sBAzHqB,gBAAgB"}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
import FlatQueue from "flatqueue";
|
|
3
3
|
import { isNumber } from "vega-util";
|
|
4
4
|
import { field } from "../../utils/field.js";
|
|
5
|
-
import
|
|
5
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
6
|
+
import Transform from "./transform.js";
|
|
6
7
|
|
|
7
8
|
const maxDepth = 65536;
|
|
8
9
|
|
|
9
|
-
export default class PileupTransform extends
|
|
10
|
+
export default class PileupTransform extends Transform {
|
|
10
11
|
get behavior() {
|
|
11
12
|
return BEHAVIOR_MODIFIES;
|
|
12
13
|
}
|
|
@@ -16,7 +17,7 @@ export default class PileupTransform extends FlowNode {
|
|
|
16
17
|
* @param {import("../../spec/transform.js").PileupParams} params
|
|
17
18
|
*/
|
|
18
19
|
constructor(params) {
|
|
19
|
-
super();
|
|
20
|
+
super(params);
|
|
20
21
|
|
|
21
22
|
this.params = params;
|
|
22
23
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
export default class ProjectTransform extends
|
|
1
|
+
export default class ProjectTransform extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
*
|
|
4
4
|
* @param {import("../../spec/transform.js").ProjectParams} params
|
|
5
5
|
*/
|
|
6
6
|
constructor(params: import("../../spec/transform.js").ProjectParams);
|
|
7
|
+
params: import("../../spec/transform.js").ProjectParams;
|
|
7
8
|
/**
|
|
8
9
|
* @param {any} datum
|
|
9
10
|
*/
|
|
10
11
|
handle: (datum: any) => void;
|
|
11
12
|
}
|
|
12
|
-
import
|
|
13
|
+
import Transform from "./transform.js";
|
|
13
14
|
//# sourceMappingURL=project.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/project.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/project.js"],"names":[],"mappings":"AAKA;IAKI;;;OAGG;IACH,oBAFW,OAAO,yBAAyB,EAAE,aAAa,EA2BzD;IAtBG,wDAAoB;IAWpB;;OAEG;IACH,gBAFW,GAAG,UASb;CAER;sBArCqB,gBAAgB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { accessorName } from "vega-util";
|
|
2
2
|
import { field } from "../../utils/field.js";
|
|
3
|
-
import
|
|
3
|
+
import { BEHAVIOR_CLONES } from "../flowNode.js";
|
|
4
|
+
import Transform from "./transform.js";
|
|
4
5
|
|
|
5
|
-
export default class ProjectTransform extends
|
|
6
|
+
export default class ProjectTransform extends Transform {
|
|
6
7
|
get behavior() {
|
|
7
8
|
return BEHAVIOR_CLONES;
|
|
8
9
|
}
|
|
@@ -12,7 +13,9 @@ export default class ProjectTransform extends FlowNode {
|
|
|
12
13
|
* @param {import("../../spec/transform.js").ProjectParams} params
|
|
13
14
|
*/
|
|
14
15
|
constructor(params) {
|
|
15
|
-
super();
|
|
16
|
+
super(params);
|
|
17
|
+
|
|
18
|
+
this.params = params;
|
|
16
19
|
|
|
17
20
|
if (params.as && params.as.length != params.fields.length) {
|
|
18
21
|
throw new Error(`"fields" and "as" have unequal lengths!`);
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
export default class RegexExtractTransform extends
|
|
1
|
+
export default class RegexExtractTransform extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
* @param {import("../../spec/transform.js").RegexExtractParams} params
|
|
4
4
|
*/
|
|
5
5
|
constructor(params: import("../../spec/transform.js").RegexExtractParams);
|
|
6
|
+
params: import("../../spec/transform.js").RegexExtractParams;
|
|
6
7
|
/**
|
|
7
8
|
*
|
|
8
9
|
* @param {any} datum
|
|
9
10
|
*/
|
|
10
11
|
handle: (datum: any) => void;
|
|
11
12
|
}
|
|
12
|
-
import
|
|
13
|
+
import Transform from "./transform.js";
|
|
13
14
|
//# sourceMappingURL=regexExtract.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexExtract.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/regexExtract.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"regexExtract.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/regexExtract.js"],"names":[],"mappings":"AAKA;IAKI;;OAEG;IACH,oBAFW,OAAO,yBAAyB,EAAE,kBAAkB,EA+C9D;IA1CG,6DAAoB;IAMpB;;;OAGG;IACH,gBAFW,GAAG,UAiCb;CAER;sBAxDqB,gBAAgB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { isString } from "vega-util";
|
|
2
2
|
import { field } from "../../utils/field.js";
|
|
3
|
-
import
|
|
3
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
4
|
+
import Transform from "./transform.js";
|
|
4
5
|
|
|
5
|
-
export default class RegexExtractTransform extends
|
|
6
|
+
export default class RegexExtractTransform extends Transform {
|
|
6
7
|
get behavior() {
|
|
7
8
|
return BEHAVIOR_MODIFIES;
|
|
8
9
|
}
|
|
@@ -11,7 +12,9 @@ export default class RegexExtractTransform extends FlowNode {
|
|
|
11
12
|
* @param {import("../../spec/transform.js").RegexExtractParams} params
|
|
12
13
|
*/
|
|
13
14
|
constructor(params) {
|
|
14
|
-
super();
|
|
15
|
+
super(params);
|
|
16
|
+
|
|
17
|
+
this.params = params;
|
|
15
18
|
|
|
16
19
|
const re = new RegExp(params.regex);
|
|
17
20
|
const as = typeof params.as == "string" ? [params.as] : params.as;
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* See: https://vega.github.io/vega/docs/transforms/fold/
|
|
5
5
|
*/
|
|
6
|
-
export default class RegexFoldTransform extends
|
|
6
|
+
export default class RegexFoldTransform extends Transform {
|
|
7
7
|
/**
|
|
8
8
|
* @param {import("../../spec/transform.js").RegexFoldParams} params
|
|
9
9
|
*/
|
|
10
10
|
constructor(params: import("../../spec/transform.js").RegexFoldParams);
|
|
11
|
+
params: import("../../spec/transform.js").RegexFoldParams;
|
|
11
12
|
handle: (datum: any) => void;
|
|
12
13
|
}
|
|
13
|
-
import
|
|
14
|
+
import Transform from "./transform.js";
|
|
14
15
|
//# sourceMappingURL=regexFold.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexFold.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/regexFold.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"regexFold.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/regexFold.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IAKI;;OAEG;IACH,oBAFW,OAAO,yBAAyB,EAAE,eAAe,EAmI3D;IA9HG,0DAAoB;IA+GhB,gBALO,GAAG,UAKe;CAgBpC;sBAjJqB,gBAAgB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { asArray } from "../../utils/arrayUtils.js";
|
|
2
|
-
import
|
|
2
|
+
import { BEHAVIOR_CLONES, isFileBatch } from "../flowNode.js";
|
|
3
|
+
import Transform from "./transform.js";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Folds fields using a regex
|
|
6
7
|
*
|
|
7
8
|
* See: https://vega.github.io/vega/docs/transforms/fold/
|
|
8
9
|
*/
|
|
9
|
-
export default class RegexFoldTransform extends
|
|
10
|
+
export default class RegexFoldTransform extends Transform {
|
|
10
11
|
get behavior() {
|
|
11
12
|
return BEHAVIOR_CLONES;
|
|
12
13
|
}
|
|
@@ -15,7 +16,9 @@ export default class RegexFoldTransform extends FlowNode {
|
|
|
15
16
|
* @param {import("../../spec/transform.js").RegexFoldParams} params
|
|
16
17
|
*/
|
|
17
18
|
constructor(params) {
|
|
18
|
-
super();
|
|
19
|
+
super(params);
|
|
20
|
+
|
|
21
|
+
this.params = params;
|
|
19
22
|
|
|
20
23
|
const columnRegex = asArray(params.columnRegex).map(
|
|
21
24
|
(re) => new RegExp(re)
|
|
@@ -12,12 +12,13 @@ export function sampleIterable<T, R>(n: number, iterable: Iterable<T>, accessor:
|
|
|
12
12
|
/**
|
|
13
13
|
* A reservoir sampler, based on: https://www.wikiwand.com/en/Reservoir_sampling
|
|
14
14
|
*/
|
|
15
|
-
export default class SampleTransform extends
|
|
15
|
+
export default class SampleTransform extends Transform {
|
|
16
16
|
/**
|
|
17
17
|
*
|
|
18
18
|
* @param {import("../../spec/transform.js").SampleParams} params
|
|
19
19
|
*/
|
|
20
20
|
constructor(params: import("../../spec/transform.js").SampleParams);
|
|
21
|
+
params: import("../../spec/transform.js").SampleParams;
|
|
21
22
|
k: number;
|
|
22
23
|
/** @type {any[]} */
|
|
23
24
|
reservoir: any[];
|
|
@@ -38,5 +39,5 @@ export default class SampleTransform extends FlowNode {
|
|
|
38
39
|
_finalIngester(item: any): void;
|
|
39
40
|
_setNextStop(): void;
|
|
40
41
|
}
|
|
41
|
-
import
|
|
42
|
+
import Transform from "./transform.js";
|
|
42
43
|
//# sourceMappingURL=sample.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/sample.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sample.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/sample.js"],"names":[],"mappings":"AA+EA;;;;;;;;;GASG;AACH,wCAPW,MAAM,wDAkBhB;AAlGD;;GAEG;AACH;IACI;;;OAGG;IACH,oBAFW,OAAO,yBAAyB,EAAE,YAAY,EASxD;IAJG,uDAAoB;IAEpB,UAA2B;IAO3B,oBAAoB;IACpB,WADW,GAAG,EAAE,CACG;IACnB,qBAAqB;IACrB,GADW,MAAM,CACC;IAClB,kBAKO,GAAG,qBAgBH,GAAG,WArB2B;IAGzC;;;OAGG;IACH,uBAFW,GAAG,QAYb;IALO,UAAe;IACf,aAAkB;IAM1B;;;OAGG;IACH,qBAFW,GAAG,QAQb;IAED,qBAGC;CAiBJ;sBA7EqB,gBAAgB"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Transform from "./transform.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* A reservoir sampler, based on: https://www.wikiwand.com/en/Reservoir_sampling
|
|
5
5
|
*/
|
|
6
|
-
export default class SampleTransform extends
|
|
6
|
+
export default class SampleTransform extends Transform {
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
9
|
* @param {import("../../spec/transform.js").SampleParams} params
|
|
10
10
|
*/
|
|
11
11
|
constructor(params) {
|
|
12
|
-
super();
|
|
12
|
+
super(params);
|
|
13
|
+
|
|
14
|
+
this.params = params;
|
|
13
15
|
|
|
14
16
|
this.k = params.size || 500;
|
|
15
17
|
this.reset();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default class StackTransform extends
|
|
1
|
+
export default class StackTransform extends Transform {
|
|
2
2
|
/**
|
|
3
3
|
* @param {import("../../spec/transform.js").StackParams} params
|
|
4
4
|
*/
|
|
@@ -7,5 +7,5 @@ export default class StackTransform extends FlowNode {
|
|
|
7
7
|
/** @type {any[]} */
|
|
8
8
|
buffer: any[];
|
|
9
9
|
}
|
|
10
|
-
import
|
|
10
|
+
import Transform from "./transform.js";
|
|
11
11
|
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/stack.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/stack.js"],"names":[],"mappings":"AAMA;IAKI;;OAEG;IACH,oBAFW,OAAO,yBAAyB,EAAE,WAAW,EAQvD;IAJG,sDAAoB;IAEpB,oBAAoB;IACpB,QADW,GAAG,EAAE,CACA;CAmHvB;sBAlIqB,gBAAgB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { compare } from "vega-util";
|
|
2
2
|
import { groups as d3groups, sum as d3sum } from "d3-array";
|
|
3
|
-
import
|
|
3
|
+
import { BEHAVIOR_MODIFIES } from "../flowNode.js";
|
|
4
4
|
import { field } from "../../utils/field.js";
|
|
5
|
+
import Transform from "./transform.js";
|
|
5
6
|
|
|
6
|
-
export default class StackTransform extends
|
|
7
|
+
export default class StackTransform extends Transform {
|
|
7
8
|
get behavior() {
|
|
8
9
|
return BEHAVIOR_MODIFIES;
|
|
9
10
|
}
|
|
@@ -12,7 +13,7 @@ export default class StackTransform extends FlowNode {
|
|
|
12
13
|
* @param {import("../../spec/transform.js").StackParams} params
|
|
13
14
|
*/
|
|
14
15
|
constructor(params) {
|
|
15
|
-
super();
|
|
16
|
+
super(params);
|
|
16
17
|
this.params = params;
|
|
17
18
|
|
|
18
19
|
/** @type {any[]} */
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default class Transform extends FlowNode {
|
|
2
|
+
/**
|
|
3
|
+
* @param {import("../../spec/transform.js").TransformParamsBase} params
|
|
4
|
+
* @param {import("../flowNode.js").ParamMediatorProvider} [paramMediatorProvider]
|
|
5
|
+
*/
|
|
6
|
+
constructor(params: import("../../spec/transform.js").TransformParamsBase, paramMediatorProvider?: import("../flowNode.js").ParamMediatorProvider);
|
|
7
|
+
#private;
|
|
8
|
+
}
|
|
9
|
+
import FlowNode from "../flowNode.js";
|
|
10
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/transform.js"],"names":[],"mappings":"AAEA;IAII;;;OAGG;IACH,oBAHW,OAAO,yBAAyB,EAAE,mBAAmB,0BACrD,OAAO,gBAAgB,EAAE,qBAAqB,EAKxD;;CAQJ;qBArBoB,gBAAgB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import FlowNode from "../flowNode.js";
|
|
2
|
+
|
|
3
|
+
export default class Transform extends FlowNode {
|
|
4
|
+
/** @type {string} */
|
|
5
|
+
#label;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {import("../../spec/transform.js").TransformParamsBase} params
|
|
9
|
+
* @param {import("../flowNode.js").ParamMediatorProvider} [paramMediatorProvider]
|
|
10
|
+
*/
|
|
11
|
+
constructor(params, paramMediatorProvider) {
|
|
12
|
+
super(paramMediatorProvider);
|
|
13
|
+
this.#label = params.type;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @returns {string}
|
|
18
|
+
*/
|
|
19
|
+
get label() {
|
|
20
|
+
return this.#label;
|
|
21
|
+
}
|
|
22
|
+
}
|
package/dist/src/spec/title.d.ts
CHANGED
|
@@ -188,14 +188,44 @@ export interface StackParams extends TransformParamsBase {
|
|
|
188
188
|
baseField?: Field;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
+
export type AggregateOp =
|
|
192
|
+
| "count"
|
|
193
|
+
| "valid"
|
|
194
|
+
| "sum"
|
|
195
|
+
| "min"
|
|
196
|
+
| "max"
|
|
197
|
+
| "mean"
|
|
198
|
+
| "median"
|
|
199
|
+
| "variance";
|
|
200
|
+
|
|
191
201
|
export interface AggregateParams extends TransformParamsBase {
|
|
192
202
|
type: "aggregate";
|
|
193
203
|
|
|
194
204
|
/**
|
|
195
|
-
*
|
|
196
|
-
*
|
|
205
|
+
* The fields by which to group the data. If these are not defined, all data
|
|
206
|
+
* objects will be grouped into a single category.
|
|
197
207
|
*/
|
|
198
208
|
groupby?: Field[];
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* The data fields to apply aggregate functions to. This array should
|
|
212
|
+
* correspond with the `ops` and `as` arrays. If no fields or operations
|
|
213
|
+
* are specified, a count aggregation will be applied by default.
|
|
214
|
+
*/
|
|
215
|
+
fields?: Field[];
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* The aggregation operations to be performed on the fields, such as `"sum"`,
|
|
219
|
+
* `"average"`, or `"count"`.
|
|
220
|
+
*/
|
|
221
|
+
ops?: AggregateOp[];
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* The names for the output fields corresponding to each aggregated field.
|
|
225
|
+
* If not provided, names will be automatically created using the operation
|
|
226
|
+
* and field names (e.g., `sum_field`, `average_field`).
|
|
227
|
+
*/
|
|
228
|
+
as?: string[];
|
|
199
229
|
}
|
|
200
230
|
|
|
201
231
|
export interface FlattenParams extends TransformParamsBase {
|
|
@@ -271,7 +271,7 @@ function createAxis(axisProps, type) {
|
|
|
271
271
|
*/
|
|
272
272
|
const createDomain = () => ({
|
|
273
273
|
name: "domain",
|
|
274
|
-
data: { values: [
|
|
274
|
+
data: { values: [{}] },
|
|
275
275
|
mark: {
|
|
276
276
|
type: "rule",
|
|
277
277
|
clip: false,
|
|
@@ -334,7 +334,7 @@ function createAxis(axisProps, type) {
|
|
|
334
334
|
*/
|
|
335
335
|
const createTitle = () => ({
|
|
336
336
|
name: "title",
|
|
337
|
-
data: { values: [
|
|
337
|
+
data: { values: [{}] },
|
|
338
338
|
mark: {
|
|
339
339
|
type: "text",
|
|
340
340
|
clip: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridView.d.ts","sourceRoot":"","sources":["../../../src/view/gridView.js"],"names":[],"mappings":"AAswBA;;;GAGG;AACH,iDAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,QAAQ,CAwB9C;AAED;;;GAGG;AACH,uDAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,QAAQ,CA6C9C;AA2BD;;GAEG;AACH,8EAUC;AAED;;;;;GAKG;AACH,4CAJW,OAAO,uBAAuB,EAAE,OAAO,UACvC,OAAO,iBAAiB,EAAE,UAAU,YACpC,QAAQ,aAmBlB;AA53BD;;;;;;;;;;;;;;;GAeG;AACH;IA6BI;;;;;;;;;OASG;IACH,kBARW,OAAO,iBAAiB,EAAE,aAAa,WACvC,OAAO,yBAAyB,EAAE,OAAO,gBACzC,aAAa,iDAEb,MAAM,WACN,MAAM,YACN,OAAO,WAAW,EAAE,WAAW,EAoBzC;IARG,8CAAgB;IAOhB,uBAA0B;IAG9B;;OAEG;IACH,qDAIC;IAeD;;OAEG;IACH,wDAKC;IAqBD;;OAEG;IACH,8CAEC;IAED,yBAEC;IAED;;OAEG;IACH,wCAmCC;;CA+jBJ;AAgJD;IACI;;;;OAIG;IACH,6DAHW,aAAa,UACb,MAAM,EAoFhB;IAjFG,4BAAgC;IAChC,kCAAgB;IAChB,eAAoB;IAEpB,uBAAuB;IACvB,YADW,QAAQ,CACQ;IAE3B,uBAAuB;IACvB,kBADW,QAAQ,CACc;IAEjC,mFAAmF;IACnF,MADW,QAAQ,OAAO,OAAO,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAC5D;IAEd,4FAA4F;IAC5F,WADW,QAAQ,OAAO,OAAO,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAC3D;IAEnB,0DAA0D;IAC1D,kEAAoB;IAEpB,uBAAuB;IACvB,OADW,QAAQ,CACG;IAEtB,wBAAwB;IACxB,QADW,SAAS,CACQ;IA4DhC,uEAcC;IAED;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"gridView.d.ts","sourceRoot":"","sources":["../../../src/view/gridView.js"],"names":[],"mappings":"AAswBA;;;GAGG;AACH,iDAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,QAAQ,CAwB9C;AAED;;;GAGG;AACH,uDAHW,OAAO,iBAAiB,EAAE,cAAc,GACtC,OAAO,iBAAiB,EAAE,QAAQ,CA6C9C;AA2BD;;GAEG;AACH,8EAUC;AAED;;;;;GAKG;AACH,4CAJW,OAAO,uBAAuB,EAAE,OAAO,UACvC,OAAO,iBAAiB,EAAE,UAAU,YACpC,QAAQ,aAmBlB;AA53BD;;;;;;;;;;;;;;;GAeG;AACH;IA6BI;;;;;;;;;OASG;IACH,kBARW,OAAO,iBAAiB,EAAE,aAAa,WACvC,OAAO,yBAAyB,EAAE,OAAO,gBACzC,aAAa,iDAEb,MAAM,WACN,MAAM,YACN,OAAO,WAAW,EAAE,WAAW,EAoBzC;IARG,8CAAgB;IAOhB,uBAA0B;IAG9B;;OAEG;IACH,qDAIC;IAeD;;OAEG;IACH,wDAKC;IAqBD;;OAEG;IACH,8CAEC;IAED,yBAEC;IAED;;OAEG;IACH,wCAmCC;;CA+jBJ;AAgJD;IACI;;;;OAIG;IACH,6DAHW,aAAa,UACb,MAAM,EAoFhB;IAjFG,4BAAgC;IAChC,kCAAgB;IAChB,eAAoB;IAEpB,uBAAuB;IACvB,YADW,QAAQ,CACQ;IAE3B,uBAAuB;IACvB,kBADW,QAAQ,CACc;IAEjC,mFAAmF;IACnF,MADW,QAAQ,OAAO,OAAO,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAC5D;IAEd,4FAA4F;IAC5F,WADW,QAAQ,OAAO,OAAO,iBAAiB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAC3D;IAEnB,0DAA0D;IAC1D,kEAAoB;IAEpB,uBAAuB;IACvB,OADW,QAAQ,CACG;IAEtB,wBAAwB;IACxB,QADW,SAAS,CACQ;IA4DhC,uEAcC;IAED;;OAEG;IACH,4BAsKC;IAED,uBAqBC;IAED,iCAEC;CACJ;qBAtrC0D,eAAe;sBAFpD,uBAAuB;0BAGnB,oBAAoB;qBAGzB,eAAe;yBALX,mBAAmB;AAyrC5C;IAeI;;;OAGG;IACH,uBAHW,SAAS,8CA6FnB;IAhGD,uBAAmB;IAsCf;;;MAAoB;IAIpB;;;;MAQC;IAgDL,2BAKC;IAWD;;;;OAIG;IACH,gCAHW,SAAS,UACT,SAAS,QA8CnB;;CACJ;oBA52CmB,qBAAqB"}
|