@apollo-annotation/shared 0.3.9 → 0.3.10
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/Changes/AddFeatureChange.js +9 -2
- package/dist/Changes/AddFeatureChange.js.map +1 -1
- package/dist/Changes/FromFileBaseChange.d.ts +2 -0
- package/dist/Changes/FromFileBaseChange.js +20 -5
- package/dist/Changes/FromFileBaseChange.js.map +1 -1
- package/dist/GFF3/annotationFeatureToGFF3.test.js +19 -5
- package/dist/GFF3/annotationFeatureToGFF3.test.js.map +1 -1
- package/dist/GFF3/gff3ToAnnotationFeature.d.ts +1 -1
- package/dist/GFF3/gff3ToAnnotationFeature.js +8 -11
- package/dist/GFF3/gff3ToAnnotationFeature.js.map +1 -1
- package/dist/GFF3/gff3ToAnnotationFeature.test.d.ts +1 -2
- package/dist/GFF3/gff3ToAnnotationFeature.test.js +23 -96
- package/dist/GFF3/gff3ToAnnotationFeature.test.js.map +1 -1
- package/dist/GFF3/testUtil.d.ts +6 -0
- package/dist/GFF3/testUtil.js +24 -0
- package/dist/GFF3/testUtil.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/src/Changes/AddFeatureChange.ts +10 -2
- package/src/Changes/FromFileBaseChange.ts +22 -10
- package/src/GFF3/annotationFeatureToGFF3.test.ts +24 -2
- package/src/GFF3/gff3ToAnnotationFeature.test.ts +24 -95
- package/src/GFF3/gff3ToAnnotationFeature.ts +6 -15
- package/src/GFF3/testUtil.ts +25 -0
- package/test_data/gene_with_two_cds.gff3 +6 -0
- package/test_data/gene_with_two_cds.json +69 -0
- package/test_data/single_feature_no_children.gff3 +1 -0
- package/test_data/single_feature_no_children.json +14 -0
- package/test_data/single_feature_two_children.gff3 +3 -0
- package/test_data/single_feature_two_children.json +44 -0
- package/test_data/two_cds.gff3 +0 -9
- package/test_data/two_cds.json +0 -67
|
@@ -53,6 +53,11 @@ class AddFeatureChange extends common_1.FeatureChange {
|
|
|
53
53
|
}
|
|
54
54
|
let featureCnt = 0;
|
|
55
55
|
logger.debug?.(`changes: ${JSON.stringify(changes)}`);
|
|
56
|
+
const { INDEXED_IDS } = process.env;
|
|
57
|
+
let idsToIndex;
|
|
58
|
+
if (INDEXED_IDS) {
|
|
59
|
+
idsToIndex = INDEXED_IDS.split(',');
|
|
60
|
+
}
|
|
56
61
|
// Loop the changes
|
|
57
62
|
for (const change of changes) {
|
|
58
63
|
logger.debug?.(`change: ${JSON.stringify(change)}`);
|
|
@@ -67,8 +72,9 @@ class AddFeatureChange extends common_1.FeatureChange {
|
|
|
67
72
|
}
|
|
68
73
|
// CopyFeature is called from CopyFeature.tsx
|
|
69
74
|
if (copyFeature) {
|
|
75
|
+
const indexedIds = this.getIndexedIds(addedFeature, idsToIndex);
|
|
70
76
|
// Add into Mongo
|
|
71
|
-
const [newFeatureDoc] = await featureModel.create([{ ...addedFeature, allIds, status: -1, user }], { session });
|
|
77
|
+
const [newFeatureDoc] = await featureModel.create([{ ...addedFeature, allIds, indexedIds, status: -1, user }], { session });
|
|
72
78
|
logger.debug?.(`Copied feature, docId "${newFeatureDoc._id}" to assembly "${assembly}"`);
|
|
73
79
|
featureCnt++;
|
|
74
80
|
}
|
|
@@ -94,7 +100,8 @@ class AddFeatureChange extends common_1.FeatureChange {
|
|
|
94
100
|
else {
|
|
95
101
|
const childIds = this.getChildFeatureIds(addedFeature);
|
|
96
102
|
const allIdsV2 = [_id, ...childIds];
|
|
97
|
-
const
|
|
103
|
+
const indexedIds = this.getIndexedIds(addedFeature, idsToIndex);
|
|
104
|
+
const [newFeatureDoc] = await featureModel.create([{ allIds: allIdsV2, indexedIds, status: 0, ...addedFeature }], { session });
|
|
98
105
|
logger.verbose?.(`Added docId "${newFeatureDoc._id}"`);
|
|
99
106
|
}
|
|
100
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddFeatureChange.js","sourceRoot":"","sources":["../../src/Changes/AddFeatureChange.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"AddFeatureChange.js","sourceRoot":"","sources":["../../src/Changes/AddFeatureChange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AssemblySpecificChange, type ServerDataStore } from '@apollo-annotation/common';
|
|
2
|
+
import { type AnnotationFeatureSnapshot } from '@apollo-annotation/mst';
|
|
2
3
|
import { type FileDocument } from '@apollo-annotation/schemas';
|
|
3
4
|
import { type GFF3Feature } from '@gmod/gff';
|
|
4
5
|
export declare abstract class FromFileBaseChange extends AssemblySpecificChange {
|
|
@@ -6,4 +7,5 @@ export declare abstract class FromFileBaseChange extends AssemblySpecificChange
|
|
|
6
7
|
private refSeqCache;
|
|
7
8
|
removeExistingFeatures(backend: ServerDataStore): Promise<void>;
|
|
8
9
|
addFeatureIntoDb(gff3Feature: GFF3Feature, backend: ServerDataStore): Promise<void>;
|
|
10
|
+
getAllIds(feature: AnnotationFeatureSnapshot): string[];
|
|
9
11
|
}
|
|
@@ -155,8 +155,13 @@ class FromFileBaseChange extends common_1.AssemblySpecificChange {
|
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
async addFeatureIntoDb(gff3Feature, backend) {
|
|
158
|
-
const {
|
|
158
|
+
const { INDEXED_IDS } = process.env;
|
|
159
|
+
let idsToIndex;
|
|
160
|
+
if (INDEXED_IDS) {
|
|
161
|
+
idsToIndex = INDEXED_IDS.split(',');
|
|
162
|
+
}
|
|
159
163
|
const { assembly, refSeqCache } = this;
|
|
164
|
+
const { featureModel, refSeqModel, user } = backend;
|
|
160
165
|
const [{ seq_id: refName }] = gff3Feature;
|
|
161
166
|
if (!refName) {
|
|
162
167
|
throw new Error(`Valid seq_id not found in feature ${JSON.stringify(gff3Feature)}`);
|
|
@@ -173,15 +178,25 @@ class FromFileBaseChange extends common_1.AssemblySpecificChange {
|
|
|
173
178
|
if (!refSeqDoc) {
|
|
174
179
|
throw new Error(`RefSeq was not found by assembly "${assembly}" and seq_id "${refName}" not found`);
|
|
175
180
|
}
|
|
176
|
-
|
|
177
|
-
const
|
|
178
|
-
const
|
|
181
|
+
const newFeature = (0, GFF3_1.gff3ToAnnotationFeature)(gff3Feature, refSeqDoc._id);
|
|
182
|
+
const allIds = this.getAllIds(newFeature);
|
|
183
|
+
const indexedIds = this.getIndexedIds(newFeature, idsToIndex);
|
|
179
184
|
// Add into Mongo
|
|
180
185
|
// We cannot use Mongo 'session' / transaction here because Mongo has 16 MB limit for transaction
|
|
181
186
|
await featureModel.create([
|
|
182
|
-
{ allIds
|
|
187
|
+
{ allIds, indexedIds, ...newFeature, user, status: -1 },
|
|
183
188
|
]);
|
|
184
189
|
}
|
|
190
|
+
getAllIds(feature) {
|
|
191
|
+
const allIds = [feature._id];
|
|
192
|
+
if (feature.children) {
|
|
193
|
+
for (const child of Object.values(feature.children)) {
|
|
194
|
+
const childIds = this.getAllIds(child);
|
|
195
|
+
allIds.push(...childIds);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return allIds;
|
|
199
|
+
}
|
|
185
200
|
}
|
|
186
201
|
exports.FromFileBaseChange = FromFileBaseChange;
|
|
187
202
|
//# sourceMappingURL=FromFileBaseChange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromFileBaseChange.js","sourceRoot":"","sources":["../../src/Changes/FromFileBaseChange.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,0DAA0D;AAC1D,sDAGkC;
|
|
1
|
+
{"version":3,"file":"FromFileBaseChange.js","sourceRoot":"","sources":["../../src/Changes/FromFileBaseChange.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,27 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
/* eslint-disable prefer-destructuring */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
5
6
|
const node_test_1 = require("node:test");
|
|
7
|
+
const gff_1 = require("@gmod/gff");
|
|
6
8
|
const chai_1 = require("chai");
|
|
7
9
|
const annotationFeatureToGFF3_1 = require("./annotationFeatureToGFF3");
|
|
8
|
-
const
|
|
10
|
+
const testUtil_1 = require("./testUtil");
|
|
11
|
+
(0, node_test_1.describe)('Converts AnnotationFeatureSnapshot JSON to GFF3 when', () => {
|
|
12
|
+
for (const testCase of testUtil_1.testCases) {
|
|
13
|
+
const { filenameStem, description } = testCase;
|
|
14
|
+
(0, node_test_1.it)(description, () => {
|
|
15
|
+
const annotationFeatures = JSON.parse((0, node_fs_1.readFileSync)(`test_data/${filenameStem}.json`, 'utf8'));
|
|
16
|
+
const expectedGFF3 = (0, node_fs_1.readFileSync)(`test_data/${filenameStem}.gff3`, 'utf8');
|
|
17
|
+
const gffFeatures = annotationFeatures.map((annotationFeature) => (0, annotationFeatureToGFF3_1.annotationFeatureToGFF3)(annotationFeature));
|
|
18
|
+
const gff3 = (0, gff_1.formatSync)(gffFeatures);
|
|
19
|
+
(0, chai_1.expect)(gff3).to.equal(expectedGFF3);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
9
23
|
(0, node_test_1.describe)('annotationFeatureToGFF3', () => {
|
|
10
24
|
(0, node_test_1.it)('Test mandatory columns', () => {
|
|
11
|
-
const annotationFeature = (0,
|
|
25
|
+
const annotationFeature = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/gene.json');
|
|
12
26
|
const [gff3Feature] = (0, annotationFeatureToGFF3_1.annotationFeatureToGFF3)(annotationFeature);
|
|
13
27
|
chai_1.assert.deepEqual(gff3Feature.seq_id, 'chr1');
|
|
14
28
|
chai_1.assert.deepEqual(gff3Feature.type, 'gene');
|
|
@@ -88,7 +102,7 @@ const gff3ToAnnotationFeature_test_1 = require("./gff3ToAnnotationFeature.test")
|
|
|
88
102
|
chai_1.assert.deepEqual(gff3Feature.score, null);
|
|
89
103
|
});
|
|
90
104
|
(0, node_test_1.it)('Convert one gene test attributes', () => {
|
|
91
|
-
const annotationFeature = (0,
|
|
105
|
+
const annotationFeature = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/gene.json');
|
|
92
106
|
const [gff3Feature] = (0, annotationFeatureToGFF3_1.annotationFeatureToGFF3)(annotationFeature);
|
|
93
107
|
chai_1.assert.deepEqual(gff3Feature.attributes?.Name, ['EDEN']);
|
|
94
108
|
chai_1.assert.deepEqual(gff3Feature.attributes?.testid, ['t001', 't003']);
|
|
@@ -107,7 +121,7 @@ const gff3ToAnnotationFeature_test_1 = require("./gff3ToAnnotationFeature.test")
|
|
|
107
121
|
chai_1.assert.deepEqual(gff3Feature.attributes?.Is_circular, ['true']);
|
|
108
122
|
});
|
|
109
123
|
(0, node_test_1.it)('Convert one gene test children', () => {
|
|
110
|
-
const annotationFeature = (0,
|
|
124
|
+
const annotationFeature = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/gene.json');
|
|
111
125
|
const [gff3Feature] = (0, annotationFeatureToGFF3_1.annotationFeatureToGFF3)(annotationFeature);
|
|
112
126
|
const [children] = gff3Feature.child_features;
|
|
113
127
|
const [mrna] = children;
|
|
@@ -119,7 +133,7 @@ const gff3ToAnnotationFeature_test_1 = require("./gff3ToAnnotationFeature.test")
|
|
|
119
133
|
chai_1.assert.deepEqual(cds.attributes?.Parent, ['mRNA10001']);
|
|
120
134
|
});
|
|
121
135
|
(0, node_test_1.it)('Convert CDSs', () => {
|
|
122
|
-
const annotationFeature = (0,
|
|
136
|
+
const annotationFeature = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/gene.json');
|
|
123
137
|
const [gff3Feature] = (0, annotationFeatureToGFF3_1.annotationFeatureToGFF3)(annotationFeature);
|
|
124
138
|
const [children] = gff3Feature.child_features;
|
|
125
139
|
const [mrna] = children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotationFeatureToGFF3.test.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.test.ts"],"names":[],"mappings":";;AAAA,yCAAyC;AACzC,4DAA4D;AAC5D,yCAAwC;AAGxC,+
|
|
1
|
+
{"version":3,"file":"annotationFeatureToGFF3.test.js","sourceRoot":"","sources":["../../src/GFF3/annotationFeatureToGFF3.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type AnnotationFeatureSnapshot } from '@apollo-annotation/mst';
|
|
2
2
|
import { type GFF3Feature } from '@gmod/gff';
|
|
3
|
-
export declare function gff3ToAnnotationFeature(gff3Feature: GFF3Feature, refSeq?: string
|
|
3
|
+
export declare function gff3ToAnnotationFeature(gff3Feature: GFF3Feature, refSeq?: string): AnnotationFeatureSnapshot;
|
|
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const util_1 = require("@jbrowse/core/util");
|
|
6
6
|
const bson_objectid_1 = tslib_1.__importDefault(require("bson-objectid"));
|
|
7
7
|
const gffReservedKeys_1 = require("./gffReservedKeys");
|
|
8
|
-
function gff3ToAnnotationFeature(gff3Feature, refSeq
|
|
8
|
+
function gff3ToAnnotationFeature(gff3Feature, refSeq) {
|
|
9
9
|
const [firstFeature] = gff3Feature;
|
|
10
10
|
const { end, seq_id: refName, start, strand, type } = firstFeature;
|
|
11
11
|
if (!refName) {
|
|
@@ -21,7 +21,7 @@ function gff3ToAnnotationFeature(gff3Feature, refSeq, featureIds) {
|
|
|
21
21
|
throw new Error(`feature does not have end: ${JSON.stringify(firstFeature)}`);
|
|
22
22
|
}
|
|
23
23
|
const [min, max] = getFeatureMinMax(gff3Feature);
|
|
24
|
-
const convertedChildren = convertChildren(gff3Feature, refSeq
|
|
24
|
+
const convertedChildren = convertChildren(gff3Feature, refSeq);
|
|
25
25
|
const convertedAttributes = convertFeatureAttributes(gff3Feature);
|
|
26
26
|
const feature = {
|
|
27
27
|
_id: new bson_objectid_1.default().toHexString(),
|
|
@@ -47,9 +47,6 @@ function gff3ToAnnotationFeature(gff3Feature, refSeq, featureIds) {
|
|
|
47
47
|
if (convertedAttributes) {
|
|
48
48
|
feature.attributes = convertedAttributes;
|
|
49
49
|
}
|
|
50
|
-
if (featureIds) {
|
|
51
|
-
featureIds.push(feature._id);
|
|
52
|
-
}
|
|
53
50
|
return feature;
|
|
54
51
|
}
|
|
55
52
|
function getFeatureMinMax(gff3Feature) {
|
|
@@ -150,12 +147,12 @@ function convertChildren(gff3Feature, refSeq, featureIds) {
|
|
|
150
147
|
cdsFeatures.push(childFeature);
|
|
151
148
|
}
|
|
152
149
|
else {
|
|
153
|
-
const child = gff3ToAnnotationFeature(childFeature, refSeq
|
|
150
|
+
const child = gff3ToAnnotationFeature(childFeature, refSeq);
|
|
154
151
|
convertedChildren[child._id] = child;
|
|
155
152
|
}
|
|
156
153
|
}
|
|
157
154
|
if (cdsFeatures.length > 0) {
|
|
158
|
-
const processedCDS = processCDS(cdsFeatures, refSeq
|
|
155
|
+
const processedCDS = processCDS(cdsFeatures, refSeq);
|
|
159
156
|
for (const cds of processedCDS) {
|
|
160
157
|
convertedChildren[cds._id] = cds;
|
|
161
158
|
}
|
|
@@ -311,13 +308,13 @@ function mergeAnnotationFeatures(features) {
|
|
|
311
308
|
* should be represented in our internal structure
|
|
312
309
|
* @param cdsFeatures -
|
|
313
310
|
*/
|
|
314
|
-
function processCDS(cdsFeatures, refSeq
|
|
311
|
+
function processCDS(cdsFeatures, refSeq) {
|
|
315
312
|
const locationCounts = cdsFeatures.map((cds) => cds.length);
|
|
316
313
|
// If any CDS have multiple locations, assume it really is multiple CDS
|
|
317
314
|
// (e.g. the mRNA has multiple alternative translational start sites)
|
|
318
315
|
// and process normally.
|
|
319
316
|
if (locationCounts.some((count) => count > 1)) {
|
|
320
|
-
return cdsFeatures.map((cds) => gff3ToAnnotationFeature(cds, refSeq
|
|
317
|
+
return cdsFeatures.map((cds) => gff3ToAnnotationFeature(cds, refSeq));
|
|
321
318
|
}
|
|
322
319
|
// If all CDS have a single location, we guess that this GFF3 represented CDS
|
|
323
320
|
// as multiple features instead of a single feature with multiple locations.
|
|
@@ -338,7 +335,7 @@ function processCDS(cdsFeatures, refSeq, featureIds) {
|
|
|
338
335
|
});
|
|
339
336
|
// If no overlaps, assume it's a single CDS feature
|
|
340
337
|
if (!overlapping) {
|
|
341
|
-
return [gff3ToAnnotationFeature(sortedCDSLocations, refSeq
|
|
338
|
+
return [gff3ToAnnotationFeature(sortedCDSLocations, refSeq)];
|
|
342
339
|
}
|
|
343
340
|
// Some CDS locations overlap, the best we can do is use the original order to
|
|
344
341
|
// guess how to group the locations into features
|
|
@@ -360,6 +357,6 @@ function processCDS(cdsFeatures, refSeq, featureIds) {
|
|
|
360
357
|
lastGroup.push(location);
|
|
361
358
|
}
|
|
362
359
|
}
|
|
363
|
-
return groupedLocations.map((group) => gff3ToAnnotationFeature(group, refSeq
|
|
360
|
+
return groupedLocations.map((group) => gff3ToAnnotationFeature(group, refSeq));
|
|
364
361
|
}
|
|
365
362
|
//# sourceMappingURL=gff3ToAnnotationFeature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gff3ToAnnotationFeature.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.ts"],"names":[],"mappings":";;AAOA,0DA4DC;;AAjED,6CAAmD;AACnD,0EAAoC;AAEpC,uDAAyE;AAEzE,SAAgB,uBAAuB,CACrC,WAAwB,EACxB,MAAe,EACf,UAAqB;IAErB,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAA;IAClC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAA;IAClE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAChE,CAAA;IACH,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC9D,CAAA;IACH,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC/D,CAAA;IACH,CAAC;IACD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,8BAA8B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAC7D,CAAA;IACH,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAEhD,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IAE1E,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAA;IAEjE,MAAM,OAAO,GAA8B;QACzC,GAAG,EAAE,IAAI,uBAAQ,EAAE,CAAC,WAAW,EAAE;QACjC,MAAM,EAAE,MAAM,IAAI,OAAO;QACzB,IAAI;QACJ,GAAG;QACH,GAAG;KACJ,CAAA;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oBAAoB,MAAM,GAAG,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IACD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,QAAQ,GAAG,iBAAiB,CAAA;IACtC,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,OAAO,CAAC,UAAU,GAAG,mBAAmB,CAAA;IAC1C,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAwB;IAChD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACtE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAwB;IAExB,MAAM,mBAAmB,GACvB,EAAE,CAAA;IACJ,MAAM,MAAM,GAAG,WAAW;SACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;SACnB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,WAAW;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;IACtC,MAAM,qBAAqB,GAAG,WAAW;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SACxB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC,CAAA;IAC9C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QACpB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,WAAW,GAAG,YAAY,EACzD,CAAC,CACF,CAAA;YACD,gBAAgB;YAChB,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAA;QACnC,CAAC;QACD,mBAAmB,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAA;YAClC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QACD,mBAAmB,CAAC,UAAU,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,MAAM,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9D,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACrB,SAAQ;gBACV,CAAC;gBACD,MAAM,MAAM,GAAG,IAAA,wCAAsB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,+BAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;gBACrE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;gBAC/C,IAAI,WAAW,EAAE,CAAC;oBAChB,6DAA6D;oBAC7D,aAAa;oBACb,IAAI;oBACJ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;oBAChD,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;gBAC3C,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAA;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,mBAAmB,CAAA;IAC5B,CAAC;IACD,OAAM;AACR,CAAC;AAED,SAAS,eAAe,CACtB,WAAwB,EACxB,MAAe,EACf,UAAqB;IAErB,MAAM,iBAAiB,GAA8C,EAAE,CAAA;IACvE,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,CAC9C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAC/C,CAAA;IACD,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAM;IACR,CAAC;IACD,MAAM,CAAC,YAAY,CAAC,GAAG,qBAAqB,CAAA;IAC5C,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,YAAY,CAAA;IAEtD,MAAM,WAAW,GAAkB,EAAE,CAAA;IACrC,MAAM,YAAY,GAAkB,EAAE,CAAA;IACtC,MAAM,WAAW,GAAkB,EAAE,CAAA;IACrC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,CAAC,yBAAyB,CAAC,GAAG,YAAY,CAAA;QAChD,IAAI,yBAAyB,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACjC,CAAC;QACD,IACE,yBAAyB,CAAC,IAAI,KAAK,iBAAiB;YACpD,yBAAyB,CAAC,IAAI,KAAK,gBAAgB,EACnD,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAChC,CAAC;QACD,IACE,yBAAyB,CAAC,IAAI,KAAK,iBAAiB;YACpD,yBAAyB,CAAC,IAAI,KAAK,gBAAgB;YACnD,yBAAyB,CAAC,IAAI,KAAK,QAAQ;YAC3C,yBAAyB,CAAC,IAAI,KAAK,aAAa;YAChD,yBAAyB,CAAC,IAAI,KAAK,YAAY,EAC/C,CAAC;YACD,SAAQ;QACV,CAAC;QACD,IAAI,yBAAyB,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;YACvE,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACtC,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QAEhE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;QAClC,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,CACpC,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EACtB,UAAU,CACX,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACpC,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IACD,OAAM;AACR,CAAC;AAED,SAAS,iBAAiB,CACxB,WAA0B,EAC1B,aAA4B,EAC5B,WAA0B,EAC1B,MAAc,EACd,UAAqB;IAErB,oEAAoE;IACpE,MAAM,QAAQ,GAAgC,EAAE,CAAA;IAChD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CACb,yCAAyC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACxE,CAAA;YACH,CAAC;YACD,IAAI,MAAM,GAAuB,SAAS,CAAA;YAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,GAAG,CAAC,CAAA;YACZ,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC9B,MAAM,GAAG,CAAC,CAAC,CAAA;YACb,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,EAAE,IAAI,uBAAQ,EAAE,CAAC,WAAW,EAAE;gBACjC,MAAM;gBACN,IAAI,EAAE,MAAM;gBACZ,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;gBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtC,MAAM,YAAY,GAAgC,EAAE,CAAA;IACpD,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;YAC5C,CAAC;YACD,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YAC3B,uGAAuG;YACvG,IAAI,SAAS,GAAG,KAAK,CAAA;YACrB,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC9B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;gBAC/C,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChB,IACE,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,GAAG;oBACR,GAAG,CAAC,KAAK;oBACT,GAAG,CAAC,GAAG;oBACP,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK;oBACvB,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,EACnB,CAAC;oBACD,SAAS,GAAG,IAAI,CAAA;oBAChB,MAAK;gBACP,CAAC;YACH,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACtE,CAAA;gBACH,CAAC;gBACD,IAAI,MAAM,GAAuB,SAAS,CAAA;gBAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvB,MAAM,GAAG,CAAC,CAAA;gBACZ,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC9B,MAAM,GAAG,CAAC,CAAC,CAAA;gBACb,CAAC;gBACD,MAAM,OAAO,GAA8B;oBACzC,GAAG,EAAE,IAAI,uBAAQ,EAAE,CAAC,WAAW,EAAE;oBACjC,MAAM;oBACN,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC;oBAClB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,MAAM;iBACP,CAAA;gBACD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjB,wGAAwG;oBACxG,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;4BAC1B,MAAK;wBACP,CAAC;wBACD,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;4BAC5B,kEAAkE;4BAClE,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;wBACvB,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,wGAAwG;oBACxG,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;4BAC1B,SAAQ;wBACV,CAAC;wBACD,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;4BAC5B,iEAAiE;4BACjE,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;wBACvB,CAAC;6BAAM,CAAC;4BACN,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAA;IACzD,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAqC;IAErC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QAExB,yEAAyE;QACzE,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CACjB,WAA0B,EAC1B,MAAe,EACf,UAAqB;IAErB,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3D,uEAAuE;IACvE,qEAAqE;IACrE,wBAAwB;IACxB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9C,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC7B,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CACjD,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,+CAA+C;IAC/C,MAAM,kBAAkB,GAAG,WAAW;SACnC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACpB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;QACxD,oEAAoE;SACnE,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAM,GAAG,IAAI,CAAC,KAAM,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvD,MAAM,OAAO,GAAG,kBAAkB,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAA;QACd,CAAC;QACD,oEAAoE;QACpE,OAAO,IAAA,qBAAc,EAAC,GAAG,CAAC,KAAM,EAAE,GAAG,CAAC,GAAI,EAAE,OAAO,CAAC,KAAM,EAAE,OAAO,CAAC,GAAI,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IACF,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;IAC1E,CAAC;IACD,8EAA8E;IAC9E,iDAAiD;IACjD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,gBAAgB,GAAgC,EAAE,CAAA;IACxD,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;YACjC,SAAQ;QACV,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAC/C,IAAA,qBAAc;QACZ,6DAA6D;QAC7D,YAAY,CAAC,KAAM,EACnB,YAAY,CAAC,GAAI,EACjB,QAAQ,CAAC,KAAM,EACf,QAAQ,CAAC,GAAI,CAEd,CACF,CAAA;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CACnD,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"gff3ToAnnotationFeature.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function readAnnotationFeatureSnapshot(fn: string): AnnotationFeatureSnapshot;
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.readAnnotationFeatureSnapshot = readAnnotationFeatureSnapshot;
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
/* eslint-disable @typescript-eslint/no-floating-promises */
|
|
6
5
|
const node_fs_1 = require("node:fs");
|
|
@@ -9,74 +8,8 @@ const gff_1 = require("@gmod/gff");
|
|
|
9
8
|
const chai_1 = require("chai");
|
|
10
9
|
const chai_exclude_1 = tslib_1.__importDefault(require("chai-exclude"));
|
|
11
10
|
const gff3ToAnnotationFeature_1 = require("./gff3ToAnnotationFeature");
|
|
11
|
+
const testUtil_1 = require("./testUtil");
|
|
12
12
|
(0, chai_1.use)(chai_exclude_1.default);
|
|
13
|
-
const testCases = [
|
|
14
|
-
[
|
|
15
|
-
'a feature with no children',
|
|
16
|
-
'ctgA example remark 1000 2000 . . . Name=Remark:hga;Alias=hga\n',
|
|
17
|
-
{
|
|
18
|
-
_id: '66c51f3e002c683eaf98a223',
|
|
19
|
-
refSeq: 'ctgA',
|
|
20
|
-
type: 'remark',
|
|
21
|
-
min: 999,
|
|
22
|
-
max: 2000,
|
|
23
|
-
attributes: {
|
|
24
|
-
gff_source: ['example'],
|
|
25
|
-
gff_name: ['Remark:hga'],
|
|
26
|
-
gff_alias: ['hga'],
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
[
|
|
31
|
-
'a feature with two children',
|
|
32
|
-
`ctgA est EST_match 1050 3202 . + . ID=Match1;Name=agt830.5;Target=agt830.5 1 654
|
|
33
|
-
ctgA est match_part 1050 1500 . + . Parent=Match1;Name=agt830.5;Target=agt830.5 1 451
|
|
34
|
-
ctgA est match_part 3000 3202 . + . Parent=Match1;Name=agt830.5;Target=agt830.5 452 654
|
|
35
|
-
`,
|
|
36
|
-
{
|
|
37
|
-
_id: '66cf9fbb4e947fa2c27d3d6a',
|
|
38
|
-
refSeq: 'ctgA',
|
|
39
|
-
type: 'EST_match',
|
|
40
|
-
min: 1049,
|
|
41
|
-
max: 3202,
|
|
42
|
-
strand: 1,
|
|
43
|
-
children: {
|
|
44
|
-
'66cf9fbb4e947fa2c27d3d68': {
|
|
45
|
-
_id: '66cf9fbb4e947fa2c27d3d68',
|
|
46
|
-
refSeq: 'ctgA',
|
|
47
|
-
type: 'match_part',
|
|
48
|
-
min: 1049,
|
|
49
|
-
max: 1500,
|
|
50
|
-
strand: 1,
|
|
51
|
-
attributes: {
|
|
52
|
-
gff_source: ['est'],
|
|
53
|
-
gff_name: ['agt830.5'],
|
|
54
|
-
gff_target: ['agt830.5 1 451'],
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
'66cf9fbb4e947fa2c27d3d69': {
|
|
58
|
-
_id: '66cf9fbb4e947fa2c27d3d69',
|
|
59
|
-
refSeq: 'ctgA',
|
|
60
|
-
type: 'match_part',
|
|
61
|
-
min: 2999,
|
|
62
|
-
max: 3202,
|
|
63
|
-
strand: 1,
|
|
64
|
-
attributes: {
|
|
65
|
-
gff_source: ['est'],
|
|
66
|
-
gff_name: ['agt830.5'],
|
|
67
|
-
gff_target: ['agt830.5 452 654'],
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
attributes: {
|
|
72
|
-
gff_source: ['est'],
|
|
73
|
-
gff_id: ['Match1'],
|
|
74
|
-
gff_name: ['agt830.5'],
|
|
75
|
-
gff_target: ['agt830.5 1 654'],
|
|
76
|
-
},
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
];
|
|
80
13
|
function childrenToArray(feature) {
|
|
81
14
|
const { children } = feature;
|
|
82
15
|
if (!children) {
|
|
@@ -88,6 +21,21 @@ function childrenToArray(feature) {
|
|
|
88
21
|
function compareFeatures(feature1, feature2) {
|
|
89
22
|
chai_1.assert.deepEqualExcludingEvery(childrenToArray(feature1), childrenToArray(feature2), '_id');
|
|
90
23
|
}
|
|
24
|
+
(0, node_test_1.describe)('Converts GFF3 to AnnotationFeatureSnapshot JSON when', () => {
|
|
25
|
+
for (const testCase of testUtil_1.testCases) {
|
|
26
|
+
const { filenameStem, description } = testCase;
|
|
27
|
+
(0, node_test_1.it)(description, () => {
|
|
28
|
+
const fileText = (0, node_fs_1.readFileSync)(`test_data/${filenameStem}.gff3`, 'utf8');
|
|
29
|
+
const gffFeatures = (0, gff_1.parseStringSync)(fileText, { parseSequences: false });
|
|
30
|
+
const annotationFeatures = gffFeatures.map((gff3Feature) => (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gff3Feature));
|
|
31
|
+
const annotationFeaturesExpected = JSON.parse((0, node_fs_1.readFileSync)(`test_data/${filenameStem}.json`, 'utf8'));
|
|
32
|
+
for (const [i, annotationFeatureExpected,] of annotationFeaturesExpected.entries()) {
|
|
33
|
+
const annotationFeature = annotationFeatures[i];
|
|
34
|
+
compareFeatures(annotationFeature, annotationFeatureExpected);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
});
|
|
91
39
|
function readFeatureFile(fn) {
|
|
92
40
|
const lines = (0, node_fs_1.readFileSync)(fn).toString().split('\n');
|
|
93
41
|
const feature = [];
|
|
@@ -99,20 +47,11 @@ function readFeatureFile(fn) {
|
|
|
99
47
|
const inGff = (0, gff_1.parseStringSync)(feature.join('\n'));
|
|
100
48
|
return inGff;
|
|
101
49
|
}
|
|
102
|
-
function readAnnotationFeatureSnapshot(fn) {
|
|
103
|
-
const lines = (0, node_fs_1.readFileSync)(fn).toString();
|
|
104
|
-
return JSON.parse(lines);
|
|
105
|
-
}
|
|
106
50
|
const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representations.gff3');
|
|
107
51
|
(0, node_test_1.describe)('gff3ToAnnotationFeature examples', () => {
|
|
108
52
|
(0, node_test_1.it)('Convert one CDS', () => {
|
|
109
53
|
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(readFeatureFile('test_data/one_cds.gff3')[0]);
|
|
110
|
-
const expected = readAnnotationFeatureSnapshot('test_data/one_cds.json');
|
|
111
|
-
compareFeatures(actual, expected);
|
|
112
|
-
});
|
|
113
|
-
(0, node_test_1.it)('Convert two CDSs', () => {
|
|
114
|
-
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(readFeatureFile('test_data/two_cds.gff3')[0]);
|
|
115
|
-
const expected = readAnnotationFeatureSnapshot('test_data/two_cds.json');
|
|
54
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/one_cds.json');
|
|
116
55
|
compareFeatures(actual, expected);
|
|
117
56
|
});
|
|
118
57
|
(0, node_test_1.it)('Convert example 1', () => {
|
|
@@ -120,14 +59,14 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
|
|
|
120
59
|
const txt = JSON.stringify(actual, null, 2);
|
|
121
60
|
chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
|
|
122
61
|
chai_1.assert.equal(txt.match(/"type": "TF_binding_site"/g)?.length, 1);
|
|
123
|
-
const expected = readAnnotationFeatureSnapshot('test_data/example01.json');
|
|
62
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example01.json');
|
|
124
63
|
compareFeatures(actual, expected);
|
|
125
64
|
});
|
|
126
65
|
(0, node_test_1.it)('Convert example 2', () => {
|
|
127
66
|
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(ex2);
|
|
128
67
|
const txt = JSON.stringify(actual, null, 2);
|
|
129
68
|
chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
|
|
130
|
-
const expected = readAnnotationFeatureSnapshot('test_data/example02.json');
|
|
69
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example02.json');
|
|
131
70
|
compareFeatures(actual, expected);
|
|
132
71
|
});
|
|
133
72
|
(0, node_test_1.it)('Convert example 3', () => {
|
|
@@ -149,7 +88,7 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
|
|
|
149
88
|
const txt = JSON.stringify(actual, null, 2);
|
|
150
89
|
chai_1.assert.equal(txt.match(/"type": "CDS"/g)?.length, 4);
|
|
151
90
|
chai_1.assert.equal(txt.match(/prime_UTR/g), null);
|
|
152
|
-
const expected = readAnnotationFeatureSnapshot('test_data/example04.json');
|
|
91
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/example04.json');
|
|
153
92
|
compareFeatures(actual, expected);
|
|
154
93
|
});
|
|
155
94
|
(0, node_test_1.it)('Convert braker gff', () => {
|
|
@@ -164,34 +103,22 @@ const [ex1, , ex2, , ex3, , ex4] = readFeatureFile('test_data/gene_representatio
|
|
|
164
103
|
(0, node_test_1.it)('Convert mRNA with CDS but without exon', () => {
|
|
165
104
|
const [gffFeature] = readFeatureFile('test_data/cds_without_exon.gff');
|
|
166
105
|
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
|
|
167
|
-
const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon.json');
|
|
106
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/cds_without_exon.json');
|
|
168
107
|
compareFeatures(actual, expected);
|
|
169
108
|
});
|
|
170
109
|
(0, node_test_1.it)('Convert mRNA with CDS but without exon and spliced UTR', () => {
|
|
171
110
|
const [gffFeature] = readFeatureFile('test_data/cds_without_exon_spliced_utr.gff');
|
|
172
111
|
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
|
|
173
|
-
const expected = readAnnotationFeatureSnapshot('test_data/cds_without_exon_spliced_utr.json');
|
|
112
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/cds_without_exon_spliced_utr.json');
|
|
174
113
|
compareFeatures(actual, expected);
|
|
175
114
|
});
|
|
176
115
|
(0, node_test_1.it)('Convert mRNA with one CDS, without exons non-adjacent UTR', () => {
|
|
177
116
|
const [gffFeature] = readFeatureFile('test_data/onecds_without_exon_spliced_utr.gff');
|
|
178
117
|
const actual = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gffFeature);
|
|
179
|
-
const expected = readAnnotationFeatureSnapshot('test_data/onecds_without_exon_spliced_utr.json');
|
|
118
|
+
const expected = (0, testUtil_1.readAnnotationFeatureSnapshot)('test_data/onecds_without_exon_spliced_utr.json');
|
|
180
119
|
compareFeatures(actual, expected);
|
|
181
120
|
});
|
|
182
121
|
});
|
|
183
|
-
(0, node_test_1.describe)('gff3ToAnnotationFeature', () => {
|
|
184
|
-
for (const testCase of testCases) {
|
|
185
|
-
const [description, featureLine, convertedFeature] = testCase;
|
|
186
|
-
(0, node_test_1.it)(`converts ${description}`, () => {
|
|
187
|
-
const gff3Feature = (0, gff_1.parseStringSync)(featureLine, {
|
|
188
|
-
parseSequences: false,
|
|
189
|
-
});
|
|
190
|
-
const feature = (0, gff3ToAnnotationFeature_1.gff3ToAnnotationFeature)(gff3Feature[0]);
|
|
191
|
-
compareFeatures(convertedFeature, feature);
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
122
|
(0, node_test_1.describe)('Source and score', () => {
|
|
196
123
|
(0, node_test_1.it)('Convert score and source', () => {
|
|
197
124
|
const gffFeature = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gff3ToAnnotationFeature.test.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gff3ToAnnotationFeature.test.js","sourceRoot":"","sources":["../../src/GFF3/gff3ToAnnotationFeature.test.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,qCAAsC;AACtC,yCAAwC;AAGxC,mCAA6D;AAC7D,+BAAkC;AAClC,wEAAsC;AAEtC,uEAAmE;AACnE,yCAAqE;AAErE,IAAA,UAAG,EAAC,sBAAW,CAAC,CAAA;AAOhB,SAAS,eAAe,CACtB,OAAkC;IAElC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,OAAqD,CAAA;IAC9D,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1D,eAAe,CAAC,KAAK,CAAC,CACvB,CAAA;IACD,OAAO,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;AAChD,CAAC;AAED,SAAS,eAAe,CACtB,QAAmC,EACnC,QAAmC;IAEnC,aAAM,CAAC,uBAAuB,CAC5B,eAAe,CAAC,QAAQ,CAAC,EACzB,eAAe,CAAC,QAAQ,CAAC,EACzB,KAAK,CACN,CAAA;AACH,CAAC;AAED,IAAA,oBAAQ,EAAC,sDAAsD,EAAE,GAAG,EAAE;IACpE,KAAK,MAAM,QAAQ,IAAI,oBAAS,EAAE,CAAC;QACjC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAA;QAC9C,IAAA,cAAE,EAAC,WAAW,EAAE,GAAG,EAAE;YACnB,MAAM,QAAQ,GAAG,IAAA,sBAAY,EAAC,aAAa,YAAY,OAAO,EAAE,MAAM,CAAC,CAAA;YACvE,MAAM,WAAW,GAAG,IAAA,qBAAe,EAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;YACxE,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACzD,IAAA,iDAAuB,EAAC,WAAW,CAAC,CACrC,CAAA;YACD,MAAM,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAC3C,IAAA,sBAAY,EAAC,aAAa,YAAY,OAAO,EAAE,MAAM,CAAC,CACxB,CAAA;YAChC,KAAK,MAAM,CACT,CAAC,EACD,yBAAyB,EAC1B,IAAI,0BAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;gBAC/C,eAAe,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,eAAe,CAAC,EAAU;IACjC,MAAM,KAAK,GAAG,IAAA,sBAAY,EAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACrD,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,qBAAe,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAkB,CAAA;IAClE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,GAAG,EAAE,AAAD,EAAG,GAAG,EAAE,AAAD,EAAG,GAAG,EAAE,AAAD,EAAG,GAAG,CAAC,GAAG,eAAe,CAChD,qCAAqC,CACtC,CAAA;AAED,IAAA,oBAAQ,EAAC,kCAAkC,EAAE,GAAG,EAAE;IAChD,IAAA,cAAE,EAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,IAAA,iDAAuB,EACpC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAC7C,CAAA;QACD,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAAC,wBAAwB,CAAC,CAAA;QACxE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAE3C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACpD,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAEhE,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAAC,0BAA0B,CAAC,CAAA;QAC1E,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAAC,0BAA0B,CAAC,CAAA;QAC1E,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,gFAAgF;QAChF,oFAAoF;QACpF,qGAAqG;QACrG,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAEpD,6EAA6E;QAC7E,oCAAoC;IACtC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACvC,aAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAC9D,aAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QAE/D,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;QACpD,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAA;QAE3C,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAAC,0BAA0B,CAAC,CAAA;QAC1E,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,sBAAsB,CAAC,CAAA;QAC5D,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;QACxC,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAA,oBAAQ,EAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAA,cAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,gCAAgC,CAAC,CAAA;QACtE,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAC5C,iCAAiC,CAClC,CAAA;QACD,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAClC,4CAA4C,CAC7C,CAAA;QACD,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAC5C,6CAA6C,CAC9C,CAAA;QACD,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IACF,IAAA,cAAE,EAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,UAAU,CAAC,GAAG,eAAe,CAClC,+CAA+C,CAChD,CAAA;QACD,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;QAClD,MAAM,QAAQ,GAAG,IAAA,wCAA6B,EAC5C,gDAAgD,CACjD,CAAA;QACD,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,IAAA,oBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,cAAE,EAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,UAAU,GAAgB;YAC9B;gBACE,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,UAAU;gBAClB,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE;oBACV,EAAE,EAAE,CAAC,WAAW,CAAC;oBACjB,IAAI,EAAE,CAAC,MAAM,CAAC;oBACd,MAAM,EAAE,CAAC,MAAM,CAAC;iBACjB;gBACD,cAAc,EAAE,EAAE;gBAClB,gBAAgB,EAAE,EAAE;aACrB;SACF,CAAA;QACD,MAAM,MAAM,GAAG,IAAA,iDAAuB,EAAC,UAAU,CAAC,CAAA;QAClD,aAAM,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QACxE,aAAM,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|