@shapediver/viewer.session-engine.session-engine 3.2.8 → 3.3.1
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/implementation/SessionEngine.d.ts +23 -1
- package/dist/implementation/SessionEngine.d.ts.map +1 -1
- package/dist/implementation/SessionEngine.js +117 -10
- package/dist/implementation/SessionEngine.js.map +1 -1
- package/dist/interfaces/ISessionEngine.d.ts +5 -1
- package/dist/interfaces/ISessionEngine.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/implementation/SessionEngine.ts +166 -28
- package/src/interfaces/ISessionEngine.ts +8 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo } from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
2
1
|
import { SettingsEngine } from '@shapediver/viewer.shared.services';
|
|
2
|
+
import { ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo, ShapeDiverResponseModelState } from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
3
3
|
import { IExport } from '../interfaces/dto/IExport';
|
|
4
4
|
import { ISettingsSections } from '@shapediver/viewer.shared.types';
|
|
5
5
|
import { IOutput } from '../interfaces/dto/IOutput';
|
|
@@ -10,6 +10,7 @@ import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
|
|
|
10
10
|
import { OutputLoaderTaskEventInfo } from './OutputLoader';
|
|
11
11
|
export declare class SessionEngine implements ISessionEngine {
|
|
12
12
|
#private;
|
|
13
|
+
private readonly _converter;
|
|
13
14
|
private readonly _eventEngine;
|
|
14
15
|
private readonly _exports;
|
|
15
16
|
private readonly _guid?;
|
|
@@ -41,6 +42,9 @@ export declare class SessionEngine implements ISessionEngine {
|
|
|
41
42
|
private _jwtToken?;
|
|
42
43
|
private _loadSdtf;
|
|
43
44
|
private _modelId?;
|
|
45
|
+
private _modelState?;
|
|
46
|
+
private _modelStateId?;
|
|
47
|
+
private _modelStateValidationMode?;
|
|
44
48
|
private _node;
|
|
45
49
|
private _refreshJwtToken?;
|
|
46
50
|
private _responseDto?;
|
|
@@ -66,6 +70,8 @@ export declare class SessionEngine implements ISessionEngine {
|
|
|
66
70
|
excludeViewports?: string[];
|
|
67
71
|
allowOutputLoading: boolean;
|
|
68
72
|
loadSdtf: boolean;
|
|
73
|
+
modelStateId?: string;
|
|
74
|
+
modelStateValidationMode?: boolean;
|
|
69
75
|
});
|
|
70
76
|
get automaticSceneUpdate(): boolean;
|
|
71
77
|
set automaticSceneUpdate(value: boolean);
|
|
@@ -83,6 +89,7 @@ export declare class SessionEngine implements ISessionEngine {
|
|
|
83
89
|
get jwtToken(): string | undefined;
|
|
84
90
|
get loadSdtf(): boolean;
|
|
85
91
|
set loadSdtf(value: boolean);
|
|
92
|
+
get modelState(): ShapeDiverResponseModelState | undefined;
|
|
86
93
|
get modelViewUrl(): string;
|
|
87
94
|
get node(): ITreeNode;
|
|
88
95
|
get outputs(): {
|
|
@@ -109,6 +116,9 @@ export declare class SessionEngine implements ISessionEngine {
|
|
|
109
116
|
canGoForward(): boolean;
|
|
110
117
|
cancelCustomization(): void;
|
|
111
118
|
close(retry?: boolean): Promise<void>;
|
|
119
|
+
createModelState(parameterValues?: {
|
|
120
|
+
[key: string]: unknown;
|
|
121
|
+
}, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
|
|
112
122
|
/**
|
|
113
123
|
* Customizes the session with updated parameters to get the updated scene graph node.
|
|
114
124
|
*
|
|
@@ -245,6 +255,18 @@ export declare class SessionEngine implements ISessionEngine {
|
|
|
245
255
|
*/
|
|
246
256
|
private getFileParameterSet;
|
|
247
257
|
private handleError;
|
|
258
|
+
/**
|
|
259
|
+
* Process the image input and return the image data and array buffer.
|
|
260
|
+
*
|
|
261
|
+
* In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
|
|
262
|
+
* In the case of the image being a string, we check if it is a data URL or a URL.
|
|
263
|
+
* If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
|
|
264
|
+
* If it is a URL, we download the image and return the image data and array buffer.
|
|
265
|
+
*
|
|
266
|
+
* @param image
|
|
267
|
+
* @returns
|
|
268
|
+
*/
|
|
269
|
+
private processImageInput;
|
|
248
270
|
private removeBusyMode;
|
|
249
271
|
private removeFromSceneTree;
|
|
250
272
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"AAOA,OAAO,EAMH,uBAAuB,
|
|
1
|
+
{"version":3,"file":"SessionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ var _SessionEngine_customizationBusyModes, _SessionEngine_customizationProcess,
|
|
|
23
23
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
24
|
exports.SessionEngine = void 0;
|
|
25
25
|
const viewer_settings_1 = require("@shapediver/viewer.settings");
|
|
26
|
-
const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
|
|
27
26
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
27
|
+
const sdk_geometry_api_sdk_v2_1 = require("@shapediver/sdk.geometry-api-sdk-v2");
|
|
28
28
|
const Export_1 = require("./dto/Export");
|
|
29
29
|
const FileParameter_1 = require("./dto/FileParameter");
|
|
30
30
|
const GumballParameter_1 = require("./dto/interaction/GumballParameter");
|
|
@@ -39,14 +39,15 @@ const SessionData_1 = require("./SessionData");
|
|
|
39
39
|
const SessionTreeNode_1 = require("./SessionTreeNode");
|
|
40
40
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
41
41
|
class SessionEngine {
|
|
42
|
-
// #endregion Properties (
|
|
42
|
+
// #endregion Properties (50)
|
|
43
43
|
// #region Constructors (1)
|
|
44
44
|
/**
|
|
45
45
|
* Can be use to initialize a session with the ticket/guid and modelViewUrl and returns a scene graph node with the result.
|
|
46
46
|
* Can be use to customize the session with updated parameters to get the updated scene graph node.
|
|
47
47
|
*/
|
|
48
48
|
constructor(properties) {
|
|
49
|
-
// #region Properties (
|
|
49
|
+
// #region Properties (50)
|
|
50
|
+
this._converter = viewer_shared_services_1.Converter.instance;
|
|
50
51
|
this._eventEngine = viewer_shared_services_1.EventEngine.instance;
|
|
51
52
|
this._exports = {};
|
|
52
53
|
this._httpClient = viewer_shared_services_1.HttpClient.instance;
|
|
@@ -94,6 +95,8 @@ class SessionEngine {
|
|
|
94
95
|
this._jwtToken = properties.jwtToken;
|
|
95
96
|
this._allowOutputLoading = properties.allowOutputLoading;
|
|
96
97
|
this._loadSdtf = properties.loadSdtf;
|
|
98
|
+
this._modelStateId = properties.modelStateId;
|
|
99
|
+
this._modelStateValidationMode = properties.modelStateValidationMode;
|
|
97
100
|
this._headers['X-ShapeDiver-BuildDate'] = properties.buildDate;
|
|
98
101
|
this._headers['X-ShapeDiver-BuildVersion'] = properties.buildVersion;
|
|
99
102
|
this._outputLoader = new OutputLoader_1.OutputLoader(this);
|
|
@@ -106,7 +109,7 @@ class SessionEngine {
|
|
|
106
109
|
}
|
|
107
110
|
}
|
|
108
111
|
// #endregion Constructors (1)
|
|
109
|
-
// #region Public Getters And Setters (
|
|
112
|
+
// #region Public Getters And Setters (28)
|
|
110
113
|
get automaticSceneUpdate() {
|
|
111
114
|
return this._automaticSceneUpdate;
|
|
112
115
|
}
|
|
@@ -165,6 +168,9 @@ class SessionEngine {
|
|
|
165
168
|
}))();
|
|
166
169
|
}
|
|
167
170
|
}
|
|
171
|
+
get modelState() {
|
|
172
|
+
return this._modelState;
|
|
173
|
+
}
|
|
168
174
|
get modelViewUrl() {
|
|
169
175
|
return this._modelViewUrl;
|
|
170
176
|
}
|
|
@@ -204,8 +210,8 @@ class SessionEngine {
|
|
|
204
210
|
get viewerSettings() {
|
|
205
211
|
return this._viewerSettings;
|
|
206
212
|
}
|
|
207
|
-
// #endregion Public Getters And Setters (
|
|
208
|
-
// #region Public Methods (
|
|
213
|
+
// #endregion Public Getters And Setters (28)
|
|
214
|
+
// #region Public Methods (30)
|
|
209
215
|
applySettings(response, sections) {
|
|
210
216
|
sections = sections || {};
|
|
211
217
|
if (sections.session === undefined) {
|
|
@@ -366,6 +372,60 @@ class SessionEngine {
|
|
|
366
372
|
}
|
|
367
373
|
});
|
|
368
374
|
}
|
|
375
|
+
createModelState(parameterValues = {}, omitSessionParameterValues = false, image, data, arScene) {
|
|
376
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
377
|
+
this.checkAvailability();
|
|
378
|
+
try {
|
|
379
|
+
const promises = [];
|
|
380
|
+
// process the parameters
|
|
381
|
+
const parameterSet = {};
|
|
382
|
+
promises.push(this.uploadFileParameters(parameterValues).then(() => {
|
|
383
|
+
// create a set of the current validated parameter values
|
|
384
|
+
for (const parameterId in this.parameters) {
|
|
385
|
+
// if the parameter has not been set, we do not include it in the parameter set if the omitSessionParameterValues flag is set
|
|
386
|
+
if (!(omitSessionParameterValues === true && parameterValues[parameterId] === undefined)) {
|
|
387
|
+
parameterSet[parameterId] = (' ' + this.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}));
|
|
391
|
+
// process the image input
|
|
392
|
+
let imageData;
|
|
393
|
+
let imageArrayBuffer;
|
|
394
|
+
if (image) {
|
|
395
|
+
promises.push(this.processImageInput(image)
|
|
396
|
+
.then(result => {
|
|
397
|
+
imageData = result === null || result === void 0 ? void 0 : result.imageData;
|
|
398
|
+
imageArrayBuffer = result === null || result === void 0 ? void 0 : result.arrayBuffer;
|
|
399
|
+
}));
|
|
400
|
+
}
|
|
401
|
+
// process the arScene input
|
|
402
|
+
let arSceneId;
|
|
403
|
+
if (arScene) {
|
|
404
|
+
promises.push(this._converter.convertToArrayBuffer(arScene)
|
|
405
|
+
.then(arSceneArrayBuffer => this._sdk.gltf.upload(this._sessionId, arSceneArrayBuffer, 'model/gltf-binary', sdk_geometry_api_sdk_v2_1.ShapeDiverRequestGltfUploadQueryConversion.SCENE))
|
|
406
|
+
.then(arSceneResponseDto => {
|
|
407
|
+
var _a;
|
|
408
|
+
arSceneId = (_a = arSceneResponseDto.gltf) === null || _a === void 0 ? void 0 : _a.sceneId;
|
|
409
|
+
}));
|
|
410
|
+
}
|
|
411
|
+
// wait for all promises to resolve
|
|
412
|
+
yield Promise.all(promises);
|
|
413
|
+
// create the model state
|
|
414
|
+
const response = yield this._sdk.modelState.create(this._sessionId, {
|
|
415
|
+
parameters: parameterSet,
|
|
416
|
+
data: data,
|
|
417
|
+
image: imageData,
|
|
418
|
+
arSceneId: arSceneId
|
|
419
|
+
});
|
|
420
|
+
if (imageData && imageArrayBuffer)
|
|
421
|
+
yield this._sdk.utils.uploadAsset(response.asset.modelState.href, imageArrayBuffer, response.asset.modelState.headers);
|
|
422
|
+
return response.modelState.id;
|
|
423
|
+
}
|
|
424
|
+
catch (e) {
|
|
425
|
+
throw this._httpClient.convertError(e);
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
}
|
|
369
429
|
/**
|
|
370
430
|
* Customizes the session with updated parameters to get the updated scene graph node.
|
|
371
431
|
*
|
|
@@ -608,10 +668,10 @@ class SessionEngine {
|
|
|
608
668
|
for (const parameterNameOrId in parameterValues)
|
|
609
669
|
parameterSet[parameterNameOrId] = (' ' + parameterValues[parameterNameOrId]).slice(1);
|
|
610
670
|
if (this._ticket) {
|
|
611
|
-
this._responseDto = yield this._sdk.session.init(this._ticket, parameterSet);
|
|
671
|
+
this._responseDto = yield this._sdk.session.init(this._ticket, parameterSet, this._modelStateId, this._modelStateValidationMode);
|
|
612
672
|
}
|
|
613
673
|
else if (this._guid) {
|
|
614
|
-
this._responseDto = yield this._sdk.session.initForModel(this._guid, parameterSet);
|
|
674
|
+
this._responseDto = yield this._sdk.session.initForModel(this._guid, parameterSet, this._modelStateId, this._modelStateValidationMode);
|
|
615
675
|
}
|
|
616
676
|
else {
|
|
617
677
|
// we should never get here
|
|
@@ -622,6 +682,7 @@ class SessionEngine {
|
|
|
622
682
|
this._viewerSettingsVersionBackend = this._responseDto.viewerSettingsVersion || viewer_settings_1.latestVersion;
|
|
623
683
|
this._sessionId = this._responseDto.sessionId;
|
|
624
684
|
this._modelId = (_b = this._responseDto.model) === null || _b === void 0 ? void 0 : _b.id;
|
|
685
|
+
this._modelState = this._responseDto.modelState;
|
|
625
686
|
this._httpClient.addDataLoading(this._sessionId, {
|
|
626
687
|
getAsset: this._sdk.asset.getAsset.bind(this._sdk.asset),
|
|
627
688
|
downloadTexture: this._sdk.asset.downloadImage.bind(this._sdk.asset),
|
|
@@ -1194,8 +1255,8 @@ class SessionEngine {
|
|
|
1194
1255
|
}
|
|
1195
1256
|
});
|
|
1196
1257
|
}
|
|
1197
|
-
// #endregion Public Methods (
|
|
1198
|
-
// #region Private Methods (
|
|
1258
|
+
// #endregion Public Methods (30)
|
|
1259
|
+
// #region Private Methods (18)
|
|
1199
1260
|
_saveSessionSettings() {
|
|
1200
1261
|
const parameters = this.parameters;
|
|
1201
1262
|
const exports = this.exports;
|
|
@@ -1457,6 +1518,52 @@ class SessionEngine {
|
|
|
1457
1518
|
}
|
|
1458
1519
|
});
|
|
1459
1520
|
}
|
|
1521
|
+
/**
|
|
1522
|
+
* Process the image input and return the image data and array buffer.
|
|
1523
|
+
*
|
|
1524
|
+
* In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
|
|
1525
|
+
* In the case of the image being a string, we check if it is a data URL or a URL.
|
|
1526
|
+
* If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
|
|
1527
|
+
* If it is a URL, we download the image and return the image data and array buffer.
|
|
1528
|
+
*
|
|
1529
|
+
* @param image
|
|
1530
|
+
* @returns
|
|
1531
|
+
*/
|
|
1532
|
+
processImageInput(image) {
|
|
1533
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1534
|
+
if (image instanceof File || image instanceof Blob)
|
|
1535
|
+
return this._converter.constructImageData(image);
|
|
1536
|
+
let imageString;
|
|
1537
|
+
if (typeof image === 'function') {
|
|
1538
|
+
imageString = image();
|
|
1539
|
+
}
|
|
1540
|
+
else {
|
|
1541
|
+
imageString = image;
|
|
1542
|
+
}
|
|
1543
|
+
if (imageString.startsWith('data:')) {
|
|
1544
|
+
// case where the image is a data URL
|
|
1545
|
+
const { blob, arrayBuffer } = this._converter.dataURLtoBlob(imageString);
|
|
1546
|
+
return {
|
|
1547
|
+
imageData: {
|
|
1548
|
+
format: blob.type,
|
|
1549
|
+
size: blob.size
|
|
1550
|
+
},
|
|
1551
|
+
arrayBuffer
|
|
1552
|
+
};
|
|
1553
|
+
}
|
|
1554
|
+
else {
|
|
1555
|
+
// case where the image is a URL
|
|
1556
|
+
const [arrayBuffer, type] = yield this._sdk.asset.downloadImage(this._sessionId, imageString);
|
|
1557
|
+
return {
|
|
1558
|
+
imageData: {
|
|
1559
|
+
format: type,
|
|
1560
|
+
size: arrayBuffer.byteLength
|
|
1561
|
+
},
|
|
1562
|
+
arrayBuffer
|
|
1563
|
+
};
|
|
1564
|
+
}
|
|
1565
|
+
});
|
|
1566
|
+
}
|
|
1460
1567
|
removeBusyMode(busyId) {
|
|
1461
1568
|
for (const r in this._stateEngine.viewportEngines) {
|
|
1462
1569
|
if (this._stateEngine.viewportEngines[r] && this._stateEngine.viewportEngines[r].busy.includes(busyId))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAMqC;AACrC,iFAkB6C;AAC7C,+EAc4C;AAC5C,yCAAsC;AACtC,uDAAoD;AACpD,yEAAsE;AAGtE,yEAQyC;AAKzC,iFAK6C;AAC7C,yCAAsC;AACtC,iEAA8D;AAC9D,iDAAyE;AACzE,+CAA4C;AAC5C,6EAA0E;AAC1E,+CAA4C;AAC5C,uDAAoD;AAEpD,yDAAyD;AAEzD,MAAa,aAAa;IAoEtB,6BAA6B;IAE7B,2BAA2B;IAE3B;;;OAGG;IACH,YAAY,UAAyN;QA3ErO,0BAA0B;QAET,iBAAY,GAAG,oCAAW,CAAC,QAAQ,CAAC;QACpC,aAAQ,GAAgC,EAAE,CAAC;QAE3C,gBAAW,GAAe,mCAAU,CAAC,QAAQ,CAAC;QAE9C,YAAO,GAAW,+BAAM,CAAC,QAAQ,CAAC;QAGlC,aAAQ,GAAgC,EAAE,CAAC;QAC3C,mBAAc,GAAgC,EAAE,CAAC;QACjD,qBAAgB,GAA+B,EAAE,CAAC;QAClD,gBAAW,GAA4C,EAAE,CAAC;QAC1D,0BAAqB,GAAG,6CAAoB,CAAC,QAAQ,CAAC;QACtD,eAAU,GAAU,8BAAI,CAAC,QAAQ,CAAC;QAClC,qBAAgB,GAAG,CAAC,sCAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;QACrD,oBAAe,GAAmB,IAAI,uCAAc,EAAE,CAAC;QACvD,iBAAY,GAAgB,oCAAW,CAAC,QAAQ,CAAC;QAEjD,mBAAc,GAAG,sCAAa,CAAC,QAAQ,CAAC;QAEzD,gDAAoC,EAAE,EAAC;QACvC,sDAA+B;QAC/B,0CAKM,EAAE,EAAC;QACT,8CAAwB,KAAK,EAAC;QAC9B,iDAKM,EAAE,EAAC;QACD,wBAAmB,GAAY,IAAI,CAAC;QACpC,0BAAqB,GAAY,IAAI,CAAC;QACtC,oBAAe,GAAwB,GAAS,EAAE,gDAAG,CAAC,CAAA,CAAC;QACvD,YAAO,GAAY,KAAK,CAAC;QACzB,gCAA2B,GAAY,KAAK,CAAC;QAC7C,eAAU,GAEd,EAAE,CAAC;QACC,sBAAiB,GAAa,EAAE,CAAC;QACjC,aAAQ,GAAG;YACf,qBAAqB,EAAE,CAAC,mCAAU,CAAC,QAAQ,CAAC,CAAC,MAAM;YACnD,8BAA8B,EAAE,IAAI,CAAC,gBAAgB;YACrD,2BAA2B,EAAE,EAAE;YAC/B,wBAAwB,EAAE,EAAE;SAC/B,CAAC;QACM,iBAAY,GAAY,KAAK,CAAC;QAE9B,cAAS,GAAY,KAAK,CAAC;QAK3B,kBAAa,GAAG,CAAC,CAAC;QAGlB,oBAAe,GAA8D,IAAI,CAAC;QAElF,2BAAsB,GAAW,+BAAa,CAAC;QAC/C,kCAA6B,GAAW,+BAAa,CAAC;QAW1D,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,kCAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,YAAY,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;QACrE,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI;YACA,IAAI,CAAC,IAAI,GAAG,IAAA,gCAAM,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iDAAuB,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3F;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAC1C;IACL,CAAC;IAED,8BAA8B;IAE9B,0CAA0C;IAE1C,IAAW,oBAAoB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,IAAW,oBAAoB,CAAC,KAAc;QAC1C,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7G,CAAC;IAED,IAAW,aAAa;QACpB,IAAI;YACA,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACf;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED,IAAW,0BAA0B;QACjC,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED,IAAW,0BAA0B,CAAC,KAAc;QAChD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;IAC7C,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAW,gBAAgB,CAAC,KAAe;QACvC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,EAAE;QACT,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAc;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YACvD,CAAC,GAAS,EAAE;gBACR,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;gBACrC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;gBACtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,OAAO,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC,CAAA,CAAC,EAAE,CAAC;SACR;IACL,CAAC;IAED,IAAW,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,IAAW,eAAe;QACtB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAW,eAAe,CAAC,KAA0C;QACjE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAW,cAAc,CAAC,KAAgE;QACtF,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,6CAA6C;IAE7C,8BAA8B;IAEvB,aAAa,CAAC,QAA+B,EAAE,QAA4B;QAC9E,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,QAAQ,CAAC,OAAO,GAAG;gBACf,SAAS,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC9D,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;aAC9D,CAAC;SACL;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACxC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACnG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClF,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAC/B,QAAQ,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAE5I,IAAI,MAAc,CAAC;QACnB,IAA4B,QAAS,CAAC,MAAM,KAAK,SAAS,EAAE;YACxD,MAAM,GAA2B,QAAS,CAAC,MAAO,CAAC,MAAM,CAAC;SAC7D;aAAM;YACH,MAAM,IAAI,sDAA6B,CAAC,oDAAoD,CAAC,CAAC;SACjG;QAED,IAAI;YACA,IAAA,0BAAQ,EAAC,MAAM,CAAC,CAAC;SACpB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,sDAA6B,CAAC,gEAAgE,CAAC,CAAC;SAC7G;QAED,MAAM,QAAQ,GAAc,IAAA,yBAAO,EAAC,MAAM,EAAE,+BAAa,CAAC,CAAC;QAE3D,MAAM,gBAAgB,GAA0C,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;YACtG,IAAI,QAAQ,CAAC,OAAO;gBAChB,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,OAAO;oBACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,SAAS;wBAC5C,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAI,CAAC,GAAG,QAAQ,CAAC;QAE7E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAEtD,2BAA2B;QAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE;YACrJ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC7B,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;oBAC7G,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC3F,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;iBAC1G;gBAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,6BAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE;oBAC9I,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK;wBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;iBAC3K;aACJ;SACJ;QAED,wBAAwB;QACxB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YACxG,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,IAAI,aAAa,GAAG,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,aAAa,GAAG,CAAC,CAAC;iBACrB;qBAAM;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAChC,IAAI,CAAC,GAAG;wBAAE,SAAS;oBACnB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACrC,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAE,CAAC;iBAC1C;gBACD,IAAI,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;oBACjC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC;oBACnH,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;oBACjG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM;wBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;iBAChH;aACJ;SACJ;QAED,oBAAoB;QACpB,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE;YACtB,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,OAAO,CAAC,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC;SAC5E;QAED,wBAAwB;QACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM;YACxB,eAAe,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE7C,uBAAuB;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK;YACvB,eAAe,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE3C,uBAAuB;QACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE;YACzB,eAAe,CAAC,mBAAmB,CAAC,SAAS,GAAG,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC;YACvF,eAAe,CAAC,mBAAmB,CAAC,cAAc,GAAG,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACjG,eAAe,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YACrG,eAAe,CAAC,mBAAmB,CAAC,qBAAqB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,qBAAqB,CAAC;YAC/G,eAAe,CAAC,mBAAmB,CAAC,sBAAsB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,sBAAsB,CAAC;YACjH,eAAe,CAAC,mBAAmB,CAAC,2BAA2B,GAAG,QAAQ,CAAC,mBAAmB,CAAC,2BAA2B,CAAC;YAE3H,eAAe,CAAC,SAAS,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;YAC/D,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;YAEvE,eAAe,CAAC,SAAS,CAAC,wBAAwB,GAAG,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC;YACjG,eAAe,CAAC,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;YAC/E,eAAe,CAAC,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;YAC7E,eAAe,CAAC,SAAS,CAAC,uBAAuB,GAAG,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAC/F,eAAe,CAAC,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC;YACvE,eAAe,CAAC,SAAS,CAAC,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;SAC1F;QAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC3B,eAAe,CAAC,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;YACrF,eAAe,CAAC,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC7E,eAAe,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;SAClE;QAED,gCAAgC;QAChC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc;YAChC,eAAe,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAE7D,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC/B,eAAe,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;YACzE,eAAe,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;YACzE,eAAe,CAAC,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3D,eAAe,CAAC,WAAW,CAAC,eAAe,GAAG,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC;YACnF,eAAe,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrE,eAAe,CAAC,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC;YACzE,eAAe,CAAC,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC;SAC1E;IACL,CAAC;IAEM,SAAS;QACZ,uDAAuD;QACvD,uCAAuC;QACvC,OAAO,uBAAA,IAAI,uCAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;IAEM,YAAY;QACf,OAAO,uBAAA,IAAI,8CAAyB,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,CAAC;IAEM,mBAAmB;QACtB,IAAI,uBAAA,IAAI,2CAAsB;YAC1B,IAAI,CAAC,cAAc,CAAC,uBAAA,IAAI,2CAAsB,CAAC,CAAC;QAEpD,KAAK,MAAM,MAAM,IAAI,uBAAA,IAAI,6CAAwB,EAAE;YAC/C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;gBAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACnG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;aACxH;SACJ;QAED,uBAAA,IAAI,yCAA2B,EAAE,MAAA,CAAC;QAClC,uBAAA,IAAI,uCAAyB,SAAS,MAAA,CAAC;IAC3C,CAAC;IAEY,KAAK,CAAC,KAAK,GAAG,KAAK;;YAC5B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAEhC,IAAI;gBACA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBACrD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,qBAAqB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACjC;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,SAAS,CAAC,QAAiB,KAAK,EAAE,wBAAiC,KAAK;;YACjF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrD,IAAI;gBACA,gCAAgC;gBAChC,IAAI,KAAK,KAAK,KAAK,EAAE;oBACjB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;wBACrC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;4BAChF,OAAO,GAAG,IAAI,CAAC;oBACvB,IAAI,OAAO,KAAK,KAAK;wBACjB,OAAO,IAAI,CAAC,IAAI,CAAC;iBACxB;gBAED,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;gBAChK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAEnE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC1B,uBAAA,IAAI,uCAAyB,eAAe,MAAA,CAAC;gBAE7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;gBAE7E,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;gBAElC,MAAM,eAAe,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;gBAC7K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAE1E,yBAAyB;gBACzB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAElC,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,+BAAS,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9H,IAAI,YAAY;oBAAE,OAAO,YAAY,CAAC;gBAEtC,MAAM,YAAY,GAKd,EAAE,CAAC;gBAEP,yDAAyD;gBACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;oBACvC,YAAY,CAAC,WAAW,CAAC,GAAG;wBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;wBACzC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE;qBACxD,CAAC;iBACL;gBAED,qEAAqE;gBACrE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;oBACrC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;gBAC9E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEjI,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;gBAC9K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAEvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;gBAExE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;oBAC/F,OAAO;oBACP,IAAI,EAAE,+BAAS,CAAC,qBAAqB;oBACrC,aAAa,EAAE;wBACX,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,GAAG;qBACX;oBACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;iBAC/B,CAAC,CAAC;gBAEH,0BAA0B;gBAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,+BAAS,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/H,IAAI,aAAa;oBAAE,OAAO,aAAa,CAAC;gBAExC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;gBAExE,MAAM,gBAAgB,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACnK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;gBAE3E,4BAA4B;gBAC5B,IAAI,qBAAqB,KAAK,KAAK,EAAE;oBACjC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;wBACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,EAAE;4BAC7D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,MAAM,CAAC,cAAc,EAAgB;gCACvE,QAAQ,EAAE,QAAQ;gCAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gCAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;gCACzD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;6BAC5D,CAAC,CAAC;yBACN;qBACJ;oBAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAE1F,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,+BAAS,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9H,IAAI,YAAY;wBAAE,OAAO,YAAY,CAAC;iBACzC;gBAED,qIAAqI;gBACrI,IAAI,CAAC,uBAAA,IAAI,2CAAsB,EAAE;oBAC7B,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1C,uBAAA,IAAI,0CAA4B,EAAE,MAAA,CAAC;iBACtC;gBAED,IAAI,IAAI,CAAC,oBAAoB;oBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBACrB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;oBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iEAAiE,CAAC,CAAC;gBAExG,+DAA+D;gBAC/D,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;oBAC3B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,YAAa,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;gBAE3F,kDAAkD;gBAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CACnD,CAAC;gBAEN,6BAA6B;gBAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;gBAE1C,IAAI,CAAC,eAAe,EAAE,CAAC;gBAEvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAEhF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAErC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,kCAAkC,CAAC,CAAC;gBAEzE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE1F,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;gBAC7J,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE/D,uBAAuB;gBACvB,IAAI,qBAAqB,EAAE;oBACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe;wBAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;4BACjH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;oBAE5F,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;wBACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,EAAE;4BAC7D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,MAAM,CAAC,cAAc,EAAgB;gCACvE,QAAQ,EAAE,QAAQ;gCAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;gCAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;gCACzD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;6BAC5D,CAAC,CAAC;yBACN;qBACJ;oBAED,4BAA4B;oBAC5B,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBAE1F,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,+BAAS,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9H,IAAI,YAAY;wBAAE,OAAO,YAAY,CAAC;iBACzC;gBAED,IAAI,CAAC,qBAAqB,EAAE;oBACxB,UAAU,CAAC,GAAG,EAAE;wBACZ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe;4BAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gCACjH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;oBAChG,CAAC,EAAE,CAAC,CAAC,CAAC;iBACT;gBAED,OAAO,IAAI,CAAC,IAAI,CAAC;aACpB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;gBAC1K,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAErE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAErC,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC1C;QACL,CAAC;KAAA;IAEY,iBAAiB,CAAC,eAA2C,EAAE,WAAW,GAAG,IAAI;;YAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAE7C,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;YAChK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEnE,yBAAyB;YACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAEjD,MAAM,YAAY,GAEd,EAAE,CAAC;YAEP,yDAAyD;YACzD,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU;gBACrC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEtH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;gBAClE,OAAO;gBACP,IAAI,EAAE,+BAAS,CAAC,qBAAqB;gBACrC,aAAa,EAAE;oBACX,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE;aAC/B,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAEtB,IAAI,MAAM,YAAY,iCAAe;gBACjC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEjF,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;YAC7J,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEY,WAAW,CAAC,WAAmB,EAAE,MAAc;;YACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI;gBACA,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;aAC3E;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC1C;QACL,CAAC;KAAA;IAEY,MAAM;;YACf,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;gBAC1E,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YACD,6EAA6E;YAC7E,MAAM,mBAAmB,GAAG,uBAAA,IAAI,uCAAkB,CAAC,GAAG,EAAG,CAAC;YAE1D,4DAA4D;YAC5D,MAAM,gBAAgB,GAAG,uBAAA,IAAI,uCAAkB,CAAC,uBAAA,IAAI,uCAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnF,KAAK,MAAM,WAAW,IAAI,gBAAgB;gBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAE7E,kFAAkF;YAClF,uBAAA,IAAI,uCAAyB,IAAI,MAAA,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,uBAAA,IAAI,uCAAyB,KAAK,MAAA,CAAC;YAEnC,6EAA6E;YAC7E,uBAAA,IAAI,8CAAyB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEY,SAAS;;YAClB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,yCAAyC,CAAC,CAAC;gBAChF,OAAO,IAAI,kCAAQ,EAAE,CAAC;aACzB;YACD,2EAA2E;YAC3E,MAAM,gBAAgB,GAAG,uBAAA,IAAI,8CAAyB,CAAC,GAAG,EAAG,CAAC;YAC9D,KAAK,MAAM,WAAW,IAAI,gBAAgB;gBACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;YAE7E,kFAAkF;YAClF,uBAAA,IAAI,uCAAyB,IAAI,MAAA,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,uBAAA,IAAI,uCAAyB,KAAK,MAAA,CAAC;YAEnC,+CAA+C;YAC/C,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAED;;;;OAIG;IACU,IAAI,CAAC,eAEjB,EAAE,KAAK,GAAG,KAAK;;;YACZ,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;gBAC1B,MAAM,IAAI,qDAA4B,CAAC,4CAA4C,CAAC,CAAC;YAEzF,IAAI;gBACA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAE3D,MAAM,YAAY,GAA8B,EAAE,CAAC;gBACnD,qEAAqE;gBACrE,KAAK,MAAM,iBAAiB,IAAI,eAAe;oBAC3C,YAAY,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAE1F,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;iBAChF;qBAAM,IAAI,IAAI,CAAC,KAAK,EAAE;oBACnB,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;iBACtF;qBAAM;oBACH,2BAA2B;oBAC3B,MAAM,IAAI,qDAA4B,CAAC,4FAA4F,CAAC,CAAC;iBACxI;gBACD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBAEzD,IAAI,CAAC,eAAe,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,0CAAE,MAAM,CAAC;gBACxD,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,IAAI,+BAAa,CAAC;gBAC9F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;gBAC9C,IAAI,CAAC,QAAQ,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,KAAK,0CAAE,EAAE,CAAC;gBAE5C,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAW,EAAE;oBAC9C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACxD,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBACvE,CAAC,CAAC;gBAEH,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAExD,IAAI,CAAC,IAAI,CAAC,UAAU;oBAChB,MAAM,IAAI,qDAA4B,CAAC,uFAAuF,CAAC,CAAC;gBACpI,IAAI,CAAC,IAAI,CAAC,QAAQ;oBACd,MAAM,IAAI,qDAA4B,CAAC,sFAAsF,CAAC,CAAC;gBAEnI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBACxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC5B;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aACjD;;KACJ;IAEY,yBAAyB,CAAC,aAAwC,EAAE,aAAyC,EAAE,KAAK,GAAG,KAAK;;;YACrI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,8CAA8C;YAC9C,6BAA6B;YAC7B,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,+BAAS,CAAC,uBAAuB,CAAC;YACzF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAE9E,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC5C,OAAO;gBACP,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE;oBACX,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,CAAC;iBACT;gBACD,IAAI,EAAE,SAAS;aAClB,CAAC;YAEF,IAAI;gBACA,yDAAyD;gBACzD,IAAI,CAAC,aAAa,EAAE;oBAChB,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;oBAChI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;iBACtE;gBAED,yBAAyB;gBACzB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,EAAE,aAAa,CAAC,CAAC;gBAErF,4CAA4C;gBAC5C,MAAM,OAAO,GAET,EAAE,CAAC;gBACP,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;oBACxC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;oBAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAA2B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjG;gBAED,0BAA0B;gBAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA,MAAA,IAAI,CAAC,YAAa,CAAC,KAAK,0CAAE,IAAI,KAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;gBAEhI,+BAA+B;gBAC/B,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;gBAC7H,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE/D,+DAA+D;gBAC/D,MAAM,iBAAiB,GAA6C,EAAE,CAAC;gBACvE,KAAK,MAAM,QAAQ,IAAI,aAAa;oBAChC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAE/E,OAAO,iBAAiB,CAAC;aAC5B;YACD,OAAO,CAAC,EAAE;gBACN,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;aACnF;;KACJ;IAED;;;;;;;OAOG;IACU,WAAW,CAAC,gBAA+B,GAAG,EAAE,CAAC,KAAK,EAAE,aAAwC,EAAE,KAAK,GAAG,KAAK;;;YACxH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA,MAAA,IAAI,CAAC,YAAa,CAAC,KAAK,0CAAE,IAAI,KAAI,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;gBACnH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,IAAI,CAAC,YAAa,CAAC,CAAC,CAAC;gBACpD,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,CAAC;gBACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC3E,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,YAAY,2CAAoB,EAAE;oBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBAAM;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBACrE;gBAED,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,MAAM,aAAa,GAA8B,EAAE,CAAC;gBACpD,KAAK,MAAM,MAAM,IAAI,CAAC;oBAClB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAE9C,IAAI;oBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,EAAE,aAAa,CAAC,CAAC;oBACrF,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACpC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;iBAC/D;gBAAC,OAAO,CAAC,EAAE;oBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBACrE;aACJ;;KACJ;IAED;;;;;;;OAOG;IACU,mBAAmB,CAAC,WAAkC,EAAE,gBAA+B,GAAG,EAAE,CAAC,KAAK,EAAE,aAAwC,EAAE,KAAK,GAAG,KAAK;;;YACpK,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,MAAM,OAAO,GAET,EAAE,CAAC;YACP,MAAM,aAAa,GAEf,EAAE,CAAC;YAEP,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACxC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;gBAC5C,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS;oBAAE,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBAChF,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAA2B,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;aACjG;YAED,IAAI;gBACA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA,MAAA,IAAI,CAAC,YAAa,CAAC,KAAK,0CAAE,IAAI,KAAI,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;gBACpI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,EAAE;gBACN,IAAI,CAAC,YAAY,2CAAoB,EAAE;oBACnC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBAC/B;qBAAM;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBAC1F;gBAED,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,MAAM,aAAa,GAA8B,EAAE,CAAC;gBACpD,KAAK,MAAM,MAAM,IAAI,OAAO;oBACxB,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBAEpD,IAAI;oBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAW,EAAE,aAAa,CAAC,CAAC;oBACrF,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBACpC,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;iBACpF;gBAAC,OAAO,CAAC,EAAE;oBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACjC,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;iBAC1F;aACJ;;KACJ;IAEY,aAAa,CAAC,QAAgB,EAAE,UAAsC,EAAE,WAAmB,EAAE,KAAK,GAAG,KAAK;;YACnH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI;gBACA,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC3K,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACjC;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;aAC5E;QACL,CAAC;KAAA;IAEY,cAAc,CAAC,IAA6B,EAAE,cAAuB,KAAK,EAAE,WAAoB,EAAE,KAAK,GAAG,KAAK;;YACxH,IAAI,SAAS,CAAC;YACd,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI;gBACA,+CAA+C;gBAC/C,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI;oBACzD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtD,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;iBAC/B;gBAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAqD,CAAC,CAAC;gBAC5F,MAAM,mBAAmB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAExE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;gBACjO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI;oBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBAEpF,IAAI,SAAS;oBAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,SAAS;oBAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;aAC1E;QACL,CAAC;KAAA;IAEM,aAAa,CAAC,QAA4B;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY;YAClB,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAEhG,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;QAC1B,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,QAAQ,CAAC,OAAO,GAAG;gBACf,SAAS,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBAC3D,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;aAC3D,CAAC;SACL;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;YACxC,QAAQ,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC/F,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS;YACrC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAC/E,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;YAC/B,QAAQ,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAErI,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEY,0BAA0B;;YACnC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,qDAAqD,CAAC,CAAC;YAC/F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,CAAC,CAAC;aAC9F;iBAAM;gBACH,MAAM,IAAI,qDAA4B,CAAC,WAAW,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;aAC3H;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAEY,qBAAqB,CAAC,KAAK,GAAG,KAAK;;YAC5C,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAC7C,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC9E,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;aACjD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,oBAAoB,CAAC,OAOjC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACzD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,oBAAoB,CAAC,OAOjC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC;gBAClE,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACzD;QACL,CAAC;KAAA;IAED;;;;;OAKG;IACU,uBAAuB,CAAC,UAOpC,EAAE,KAAK,GAAG,KAAK;;YACZ,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC,QAAS,EAAE,UAAU,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;aAC/D;QACL,CAAC;KAAA;IAEY,YAAY,CAAC,IAAa,EAAE,KAAK,GAAG,KAAK;;YAClD,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI;gBACA,IAAA,0BAAQ,EAAC,IAAI,EAAY,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAEtD,qEAAqE;gBACrE,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,6BAA6B;oBAClE,IAAI,GAAG,IAAA,yBAAO,EAAC,IAAI,EAAY,IAAI,CAAC,6BAA6B,CAAC,CAAC;aAC1E;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,sDAA6B,CAAC,yDAAyD,GAAW,CAAE,CAAC,OAAO,EAAS,CAAC,CAAC,CAAC;aACrI;YAED,IAAI;gBACA,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAS,EAAE,IAAkC,CAAC,CAAC;gBACvF,OAAO,IAAI,CAAC;aACf;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAC9C;QACL,CAAC;KAAA;IAEY,gBAAgB,CAAC,iBAA0B,IAAI;;YACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,qDAAqD,CAAC,CAAC;YAE/F,mBAAmB;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,UAAU,GAOV,EAAE,CAAC;YACP,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE;gBAC7B,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAChG,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBACnF,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBAC7E,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACvF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjH,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAC1F,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC7E,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACjF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9G,UAAU,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC1B,UAAU,CAAC,CAAC,CAAC,GAAG;oBACZ,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAY,CAAC,CAAC,CAAC,EAAE;oBAC1F,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;oBAC7E,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,EAAE;iBACjF,CAAC;aACL;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAE9G,wBAAwB;YACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhG,IAAI,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,EAAE;gBACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,oDAAoD,CAAC,CAAC;aAC9F;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;aACtG;YACD,OAAO,QAAQ,IAAI,SAAS,IAAI,SAAS,IAAI,SAAS,CAAC;QAC3D,CAAC;KAAA;IAEY,WAAW,CAAC,KAAa;;YAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,iDAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC1E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;gBACtE,IAAI,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;aAC1E;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC1C;QACL,CAAC;KAAA;IAEY,aAAa,CAAC,aAAyC,EAAE,wBAAiC,KAAK;;YACxG,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,+BAAS,CAAC,sBAAsB,CAAC;YACxF,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YAE9E,IAAI,CAAC,aAAa,EAAE;gBAChB,MAAM,UAAU,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;gBAC1H,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;aACtE;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,uBAAA,IAAI,uCAAyB,eAAe,MAAA,CAAC;YAE7C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAC;YAE9E,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAElC,MAAM,YAAY,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YAC3P,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;YAExE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;gBACzF,OAAO;gBACP,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE;oBACX,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;oBACtI,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;iBACzI;gBACD,IAAI,EAAE,SAAS;aAClB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;YAExE,MAAM,gBAAgB,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;YAC9P,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAE3E,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAChO,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAC;YAEtC,4BAA4B;YAC5B,IAAI,qBAAqB,KAAK,KAAK,EAAE;gBACjC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;oBACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,EAAE;wBAC7D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,MAAM,CAAC,cAAc,EAAE;4BACzD,QAAQ,EAAE,QAAQ;4BAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;4BAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;4BACzD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;yBAC5D,CAAC,CAAC;qBACN;iBACJ;gBAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAE1F,0BAA0B;gBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChO,IAAI,YAAY;oBAAE,OAAO,YAAY,CAAC;aACzC;YAED,IAAI,IAAI,CAAC,oBAAoB;gBAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;YACrB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,gEAAgE,CAAC,CAAC;YAEvG,kDAAkD;YAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CACnD,CAAC;aACL;YAED,6BAA6B;YAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;YAE1C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEhF,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAErC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAE1E,IAAI,CAAC,aAAa,EAAE;gBAChB,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;gBACvH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAClE;YAED,uBAAuB;YACvB,IAAI,qBAAqB,EAAE;gBACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe;oBAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;wBACjH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBAEhG,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;oBACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,EAAE;wBAC7D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,MAAM,CAAC,cAAc,EAAE;4BACzD,QAAQ,EAAE,QAAQ;4BAClB,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC;4BAC1C,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;4BACzD,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE;yBAC5D,CAAC,CAAC;qBACN;iBACJ;gBAED,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAE1F,0BAA0B;gBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;gBAChO,IAAI,YAAY;oBAAE,OAAO,YAAY,CAAC;aACzC;YAED,OAAO,IAAI,CAAC,IAAI,CAAC;QACrB,CAAC;KAAA;IAEY,UAAU,CAAC,WAAmB,EAAE,IAAU,EAAE,IAAY,EAAE,KAAK,GAAG,KAAK;;YAChF,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAW,EAAE;oBAChE,CAAC,WAAW,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;qBACrD;iBACJ,CAAC,CAAC;gBAEH,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,SAAS,CAAC,IAAI,EACd,MAAM,IAAI,CAAC,WAAW,EAAE,EACxB,SAAS,CAAC,OAAO,CACpB,CAAC;oBACF,OAAO,SAAS,CAAC,EAAE,CAAC;iBACvB;qBAAM;oBACH,MAAM,IAAI,qDAA4B,CAAC,+DAA+D,CAAC,CAAC;iBAC3G;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aAC/D;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACU,oBAAoB,CAAC,eAA4C;;YAC1E,MAAM,iBAAiB,GAAG,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEhH,MAAM,mBAAmB,GAA8B,EAAE,CAAC;YAC1D,4BAA4B;YAC5B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;gBACvC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,6BAAa,EAAE;oBACvD,mBAAmB,CAAC,WAAW,CAAC,GAAG,MAAuB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAC/J,IAAI,eAAe,EAAE;wBACjB,eAAe,CAAC,WAAW,CAAC,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;wBAEhE,wFAAwF;wBACxF,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,WAAW,CAAC;4BACrH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;qBAC7E;yBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,WAAW,CAAC,EAAE;wBAChF,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;qBACzE;iBACJ;aACJ;YAED,OAAO,mBAAmB,CAAC;QAC/B,CAAC;KAAA;IAEY,UAAU,CAAC,IAAU,EAAE,aAAyD,oEAA0C,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;;YACvJ,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACtC,IAAI;gBACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAW,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;gBAC7H,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;oBAC3D,MAAM,IAAI,qDAA4B,CAAC,+DAA+D,CAAC,CAAC;gBAC5G,OAAO,WAAW,CAAC;aACtB;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;aACxD;QACL,CAAC;KAAA;IAED,iCAAiC;IAEjC,+BAA+B;IAEvB,oBAAoB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,MAAM,iBAAiB,GAMnB,EAAE,CAAC;QACP,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;YACxB,iBAAiB,CAAC,CAAC,CAAC,GAAG;gBACnB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC/B,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBAC5C,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM;aAC/B,CAAC;SACL;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;YACrB,iBAAiB,CAAC,CAAC,CAAC,GAAG;gBACnB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;gBAC5B,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE;gBACzC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM;aAC5B,CAAC;SACL;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,iBAAiB,CAAC;IACrD,CAAC;IAEO,eAAe;QACnB,kDAAkD;QAClD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,OAAO,GAAW,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;gBAC1B,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAK,kEAAwC,CAAC,OAAO;gBACnI,OAAO,IAAI,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,kEAAwC,CAAC,OAAO;gBAC3I,OAAO,IAAI,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAC1F,IAAI,OAAO;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;SAC7D;QAED,6BAA6B;QAC7B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,OAAO,GAAW,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;gBAC1B,OAAO,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAK,kEAAwC,CAAC,OAAO;gBACnI,OAAO,IAAI,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,kEAAwC,CAAC,OAAO;gBAC3I,OAAO,IAAI,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAC1F,IAAI,OAAO;gBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;SAC7D;IACL,CAAC;IAEO,WAAW,CAAC,MAAc;QAC9B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;gBAC5E,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxD,uBAAA,IAAI,6CAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7C;SACJ;IACL,CAAC;IAEO,cAAc,CAAC,IAAe;QAClC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAEO,aAAa,CAAC,eAAuB,EAAE,OAAe,EAAE,SAAoB,EAAE,aAAqB,EAAE,SAAkB,EAAE,UAAqB,IAAI,iCAAe,EAAE;QACvK,IAAI,uBAAA,IAAI,2CAAsB,KAAK,eAAe,EAAE;YAChD,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAErC,MAAM,WAAW,GAAe;gBAC5B,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,OAAO;gBACX,QAAQ,EAAE,aAAa;gBACvB,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,2DAA2D;aACtE,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,mEAAmE,CAAC,CAAC;YAC1G,OAAO,OAAO,CAAC;SAClB;aAAM,IAAK,IAAI,CAAC,OAAmB,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YAErC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,6DAA6D,CAAC,CAAC;YAEpG,MAAM,WAAW,GAAe,EAAE,IAAI,EAAE,+BAAS,CAAC,qBAAqB,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;YACxL,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,kCAAS,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACrE,OAAO,IAAI,iCAAe,EAAE,CAAC;SAChC;IACL,CAAC;IAEO,iBAAiB,CAAC,MAAe,EAAE,eAAe,GAAG,KAAK;;QAC9D,IAAI,CAAC,IAAI,CAAC,YAAY;YAClB,MAAM,IAAI,qDAA4B,CAAC,uDAAuD,CAAC,CAAC;QAEpG,IAAI,CAAC,IAAI,CAAC,UAAU;YAChB,MAAM,IAAI,qDAA4B,CAAC,qDAAqD,CAAC,CAAC;QAElG,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ;YACjC,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAEhG,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO;YACpC,MAAM,IAAI,qDAA4B,CAAC,mDAAmD,CAAC,CAAC;QAEhG,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAClF,IAAI,MAAM,IAAI,CAAC,iBAAiB;YAC5B,MAAM,IAAI,qDAA4B,CAAC,qCAAqC,MAAM,iBAAiB,CAAC,CAAC;IAC7G,CAAC;IAEO,qBAAqB,CAAC,UAAsC;QAChE,MAAM,mBAAmB,GAAmC,EAAE,CAAC;QAE/D,+DAA+D;QAC/D,KAAK,MAAM,iBAAiB,IAAI,UAAU,EAAE;YACxC,mDAAmD;YACnD,0JAA0J;YAC1J,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,CAAC,WAAW,KAAK,iBAAiB,CAAC,CAAC;YAErK,sFAAsF;YACtF,IAAI,CAAC,eAAe;gBAAE,SAAS;YAE/B,2BAA2B;YAC3B,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACvH;QAED,2EAA2E;QAC3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE;YACzC,uCAAuC;YACvC,IAAI,mBAAmB,CAAC,WAAW,CAAC,KAAK,SAAS;gBAAE,SAAS;YAE7D,gCAAgC;YAChC,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACtF;QAED,OAAO,mBAAmB,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAAC,SAAsC;QACrE,MAAM,MAAM,GAAG,IAAA,0DAAoC,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,OAAO,EAAE;YAChB,QAAS,SAAS,CAAC,QAA0C,CAAC,IAAI,EAAE;gBAChE,KAAK,WAAW;oBACZ,OAAO,IAAI,uCAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACnD,KAAK,SAAS;oBACV,OAAO,IAAI,mCAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aACpD;SACJ;aAAM;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uDAAuD,SAAS,CAAC,QAAQ,yCAAyC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;SAC/J;QACD,OAAO,IAAI,qBAAS,CAAS,SAAS,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAEa,iBAAiB,CAAC,aAA4B,EAAE,aAAwC;;YAClG,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QACtF,CAAC;KAAA;IAEa,gBAAgB,CAAC,UAAqC,EAAE,aAA4B,EAAE,aAAwC,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,KAAK,GAAG,KAAK;;YAC7L,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI;gBACA,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAC3D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAW,EAAE,UAAU,CAAC,CAAC;gBACjH,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;gBACzD,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;oBAC3D,IAAI,aAAa,EAAE;wBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;oBAClD,IAAI,QAAQ,KAAK,IAAI,EAAE;wBACnB,oEAAoE;wBACpE,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;qBAC9E;yBAAM;wBACH,yDAAyD;wBACzD,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACpC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;qBACzD;iBACJ;qBAAM;oBACH,0EAA0E;oBAC1E,MAAM,IAAI,GAAG,IAAI,iCAAe,EAAE,CAAC;oBACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC7C,OAAO,IAAI,CAAC;iBACf;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjC,IAAI,aAAa,EAAE;oBAAE,OAAO,IAAI,iCAAe,EAAE,CAAC;gBAClD,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;aAC7G;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,UAAsC;QAC9D,MAAM,gBAAgB,GAA4C,EAAE,CAAC;QACrE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,6BAAa,EAAE;gBACvD,gBAAgB,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAyB,CAAC,CAAC,CAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAmB,CAAC,KAAK,CAAC;aACnL;SACJ;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAEa,WAAW,CAAC,CAAmE,EAAE,KAAK,GAAG,KAAK;;YACxG,IAAI,IAAA,2CAAiB,EAAC,CAAC,CAAC,EAAE;gBACtB,IAAI,CAAC,CAAC,KAAK,KAAK,qDAA2B,CAAC,kBAAkB,EAAE;oBAC5D,6CAA6C;oBAC7C,kFAAkF;oBAElF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;oBAC3E,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAEzE,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;wBACxB,+FAA+F;wBAC/F,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;qBAC/C;yBAAM;wBACH,kDAAkD;wBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;wBAC/G,oCAAoC;wBACpC,IAAI;4BAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;yBAAE;wBAAC,OAAO,CAAC,EAAE,GAAG;wBACnD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBAC1C;iBACJ;qBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,qDAA2B,CAAC,oBAAoB,EAAE;oBACrE,qEAAqE;oBACrE,oFAAoF;oBACpF,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE;wBACxB,IAAI,IAAI,CAAC,gBAAgB,EAAE;4BACvB,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;4BACtD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACxD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;yBACzD;6BAAM;4BACH,sDAAsD;4BACtD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;4BAC3F,oCAAoC;4BACpC,IAAI;gCAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;6BAAE;4BAAC,OAAO,CAAC,EAAE,GAAG;4BACnD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;yBAC1C;qBACJ;yBAAM;wBACH,kDAAkD;wBAClD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;wBAC/G,oCAAoC;wBACpC,IAAI;4BAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;yBAAE;wBAAC,OAAO,CAAC,EAAE,GAAG;wBACnD,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;qBAC1C;iBACJ;qBAAM;oBACH,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC1C;aACJ;iBAAM;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC1C;QACL,CAAC;KAAA;IAEO,cAAc,CAAC,MAAc;QACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;YAC/C,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACnG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAErH,IAAI,uBAAA,IAAI,6CAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,uBAAA,IAAI,6CAAwB,CAAC,MAAM,CAAC,uBAAA,IAAI,6CAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;SAC5F;IACL,CAAC;IAEO,mBAAmB,CAAC,IAAe;QACvC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACW,OAAO,CAAC,EAAU;;YAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEO,iBAAiB,CAAC,WAAkC,EAAE,iBAE7D;;QACG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,OAAO;SACV;QAED,qBAAqB;QACrB,IAAI,WAAW,CAAC,UAAU,EAAE;YACxB,KAAK,MAAM,WAAW,IAAI,WAAW,CAAC,UAAU,EAAE;gBAC9C,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;aAChI;SACJ;QAED,kBAAkB;QAClB,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACxC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC5D,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACxI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC3E;SACJ;QAED,kBAAkB;QAClB,IAAI,WAAW,CAAC,OAAO,EAAE;YACrB,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBACxC,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC5D,IAAI,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACxI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC3E;SACJ;QAED,MAAM,YAAY,GAKd,EAAE,CAAC;QAEP,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YACpD,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,SAAS;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC;YAE3D;;;;eAIG;YACH,MAAM,0BAA0B,GAAG,0BAA0B,CAAC;YAC9D,MAAM,oCAAoC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;YACnI,MAAM,2CAA2C,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,0CAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC;YAElJ,IAAI,oCAAoC,IAAI,2CAA2C,EAAE;gBACrF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,oCAAc,CAAC,WAAW,CAAC;gBAC5E,MAAM,IAAI,GAAG,oCAAoC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,WAAY,CAAC;gBAC5J,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1F,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,UAAU;oBACV,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACnF;YAED,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;YAC1D,MAAM,kCAAkC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;YAC/H,MAAM,yCAAyC,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,0CAAE,UAAU,CAAC,wBAAwB,CAAC,CAAC;YAE9I,IAAI,kCAAkC,IAAI,yCAAyC,EAAE;gBACjF,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,oCAAc,CAAC,WAAW,CAAC;gBAC5E,MAAM,IAAI,GAAG,kCAAkC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,WAAY,CAAC;gBAC1J,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;gBACxF,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC7C,IAAI,UAAU;oBACV,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACnF;YACD;;;;eAIG;YAEH,QAAQ,IAAI,EAAE;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,IAAI;oBACvE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAU,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvG,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,KAAK;oBACxE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAgB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC7G,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,IAAI;oBACvE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBAClG,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,GAAG;oBACpS,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,oCAAc,CAAC,WAAW;oBAC9E,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;oBAC1G,MAAM;gBACV;oBACI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,qBAAS,CAAS,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;oBACtG,MAAM;aACb;YAED,oIAAoI;YACpI,IAAI,iBAAiB,EAAE;gBACnB,mDAAmD;gBACnD,IAAI,iBAAiB,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE;oBAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;iBACvE;gBACD,qDAAqD;qBAChD,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;oBACzE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC7F;gBACD,kGAAkG;gBAClG,+DAA+D;gBAC/D,oIAAoI;gBACpI,yGAAyG;gBACzG,IAAI;aACP;YAED,YAAY,CAAC,WAAW,CAAC,GAAG;gBACxB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK;gBACzC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE;aACxD,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,WAAW;gBACjB,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC;SACjF;QAED,qEAAqE;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW;YACjB,uBAAA,IAAI,uCAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,gEAAsC,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,gEAAsC,CAAC,QAAQ,EAAE;gBAC3L,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;oBAClD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;iBAClF;qBAAM;oBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACtF;aACJ;SACJ;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACzB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC;gBAClD,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,SAAS;oBAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBACrF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,eAAM,CAA2B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;aAC5G;iBAAM;gBACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,sBAAsB,CAA2B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;aAChH;SACJ;IACL,CAAC;IAEa,sBAAsB,CAAC,iBAA4C,EAAE,iBAA4C,EAAE,OAAkB,EAAE,OAAkB;;YACnK,mDAAmD;YACnD,IAAI,IAAI,CAAC,eAAe;gBAAE,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAExF,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,oDAAoD;YACpD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,EAAE;oBAC7D,QAAQ,CAAC,IAAI,CACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,EAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAE,CACnD,CACJ,CAAC;iBACL;aACJ;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;KAAA;CAGJ;AAhwDD,sCAgwDC"}
|
|
1
|
+
{"version":3,"file":"SessionEngine.js","sourceRoot":"","sources":["../../src/implementation/SessionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { ISettingsSections } from '@shapediver/viewer.shared.types';
|
|
|
5
5
|
import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
|
|
6
6
|
import { OutputLoaderTaskEventInfo } from '../implementation/OutputLoader';
|
|
7
7
|
import { SettingsEngine } from '@shapediver/viewer.shared.services';
|
|
8
|
-
import { ShapeDiverRequestCustomization, ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo } from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
8
|
+
import { ShapeDiverRequestCustomization, ShapeDiverRequestExport, ShapeDiverRequestGltfUploadQueryConversion, ShapeDiverResponseDto, ShapeDiverResponseExport, ShapeDiverResponseFileInfo, ShapeDiverResponseModelState } from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
9
9
|
export interface ISessionEngine {
|
|
10
10
|
readonly jwtToken?: string;
|
|
11
11
|
canUploadGLTF: boolean;
|
|
@@ -16,6 +16,7 @@ export interface ISessionEngine {
|
|
|
16
16
|
id: string;
|
|
17
17
|
initialized: boolean;
|
|
18
18
|
loadSdtf: boolean;
|
|
19
|
+
modelState?: ShapeDiverResponseModelState;
|
|
19
20
|
modelViewUrl: string;
|
|
20
21
|
outputs: {
|
|
21
22
|
[key: string]: IOutput;
|
|
@@ -31,6 +32,9 @@ export interface ISessionEngine {
|
|
|
31
32
|
canGoBack(): boolean;
|
|
32
33
|
canGoForward(): boolean;
|
|
33
34
|
close(): Promise<void>;
|
|
35
|
+
createModelState(parameterValues?: {
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
}, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
|
|
34
38
|
customize(force: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
|
|
35
39
|
customizeParallel(parameterValues: {
|
|
36
40
|
[key: string]: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISessionEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISessionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,0CAA0C,EAC1C,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"ISessionEngine.d.ts","sourceRoot":"","sources":["../../src/interfaces/ISessionEngine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/viewer.session-engine.session-engine",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michael Oppitz <michael@shapediver.com>",
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
"testEnvironment": "node"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@shapediver/sdk.geometry-api-sdk-v2": "1.
|
|
43
|
-
"@shapediver/viewer.data-engine.shared-types": "3.
|
|
42
|
+
"@shapediver/sdk.geometry-api-sdk-v2": "1.11.0",
|
|
43
|
+
"@shapediver/viewer.data-engine.shared-types": "3.3.1",
|
|
44
44
|
"@shapediver/viewer.settings": "1.0.2",
|
|
45
|
-
"@shapediver/viewer.shared.build-data": "3.
|
|
46
|
-
"@shapediver/viewer.shared.global-access-objects": "3.
|
|
47
|
-
"@shapediver/viewer.shared.node-tree": "3.
|
|
48
|
-
"@shapediver/viewer.shared.services": "3.
|
|
49
|
-
"@shapediver/viewer.shared.types": "3.
|
|
45
|
+
"@shapediver/viewer.shared.build-data": "3.3.1",
|
|
46
|
+
"@shapediver/viewer.shared.global-access-objects": "3.3.1",
|
|
47
|
+
"@shapediver/viewer.shared.node-tree": "3.3.1",
|
|
48
|
+
"@shapediver/viewer.shared.services": "3.3.1",
|
|
49
|
+
"@shapediver/viewer.shared.types": "3.3.1",
|
|
50
50
|
"@shapediver/viewer.utils.mime-type": "1.1.0",
|
|
51
51
|
"axios": "^1.2.6",
|
|
52
52
|
"gl-matrix": "3.3.0"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "40c18b6ed3f4db41d1fb966945e8df97cb6fa333"
|
|
55
55
|
}
|
|
@@ -5,6 +5,22 @@ import {
|
|
|
5
5
|
validate,
|
|
6
6
|
versions
|
|
7
7
|
} from '@shapediver/viewer.settings';
|
|
8
|
+
import {
|
|
9
|
+
Converter,
|
|
10
|
+
EventEngine,
|
|
11
|
+
EVENTTYPE,
|
|
12
|
+
HttpClient,
|
|
13
|
+
HttpResponse,
|
|
14
|
+
Logger,
|
|
15
|
+
PerformanceEvaluator,
|
|
16
|
+
SettingsEngine,
|
|
17
|
+
ShapeDiverViewerError,
|
|
18
|
+
ShapeDiverViewerSessionError,
|
|
19
|
+
ShapeDiverViewerSettingsError,
|
|
20
|
+
StateEngine,
|
|
21
|
+
SystemInfo,
|
|
22
|
+
UuidGenerator
|
|
23
|
+
} from '@shapediver/viewer.shared.services';
|
|
8
24
|
import {
|
|
9
25
|
create,
|
|
10
26
|
isGBResponseError,
|
|
@@ -12,33 +28,21 @@ import {
|
|
|
12
28
|
ShapeDiverRequestConfigure,
|
|
13
29
|
ShapeDiverRequestCustomization,
|
|
14
30
|
ShapeDiverRequestExport,
|
|
31
|
+
ShapeDiverRequestFileUploadPart,
|
|
15
32
|
ShapeDiverRequestGltfUploadQueryConversion,
|
|
33
|
+
ShapeDiverRequestModelState,
|
|
16
34
|
ShapeDiverResponseDto,
|
|
17
35
|
ShapeDiverResponseErrorType,
|
|
18
36
|
ShapeDiverResponseExport,
|
|
19
37
|
ShapeDiverResponseExportDefinitionType,
|
|
20
38
|
ShapeDiverResponseFileInfo,
|
|
21
39
|
ShapeDiverResponseModelComputationStatus,
|
|
40
|
+
ShapeDiverResponseModelState,
|
|
22
41
|
ShapeDiverResponseOutput,
|
|
23
42
|
ShapeDiverResponseParameter,
|
|
24
43
|
ShapeDiverSdk,
|
|
25
44
|
ShapeDiverSdkConfigType
|
|
26
45
|
} from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
27
|
-
import {
|
|
28
|
-
EventEngine,
|
|
29
|
-
EVENTTYPE,
|
|
30
|
-
HttpClient,
|
|
31
|
-
HttpResponse,
|
|
32
|
-
Logger,
|
|
33
|
-
PerformanceEvaluator,
|
|
34
|
-
SettingsEngine,
|
|
35
|
-
ShapeDiverViewerError,
|
|
36
|
-
ShapeDiverViewerSessionError,
|
|
37
|
-
ShapeDiverViewerSettingsError,
|
|
38
|
-
StateEngine,
|
|
39
|
-
SystemInfo,
|
|
40
|
-
UuidGenerator
|
|
41
|
-
} from '@shapediver/viewer.shared.services';
|
|
42
46
|
import { Export } from './dto/Export';
|
|
43
47
|
import { FileParameter } from './dto/FileParameter';
|
|
44
48
|
import { GumballParameter } from './dto/interaction/GumballParameter';
|
|
@@ -74,8 +78,9 @@ import { vec3 } from 'gl-matrix';
|
|
|
74
78
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
75
79
|
|
|
76
80
|
export class SessionEngine implements ISessionEngine {
|
|
77
|
-
// #region Properties (
|
|
81
|
+
// #region Properties (50)
|
|
78
82
|
|
|
83
|
+
private readonly _converter = Converter.instance;
|
|
79
84
|
private readonly _eventEngine = EventEngine.instance;
|
|
80
85
|
private readonly _exports: { [key: string]: IExport; } = {};
|
|
81
86
|
private readonly _guid?: string;
|
|
@@ -130,6 +135,9 @@ export class SessionEngine implements ISessionEngine {
|
|
|
130
135
|
private _jwtToken?: string;
|
|
131
136
|
private _loadSdtf: boolean = false;
|
|
132
137
|
private _modelId?: string;
|
|
138
|
+
private _modelState?: ShapeDiverResponseModelState;
|
|
139
|
+
private _modelStateId?: string;
|
|
140
|
+
private _modelStateValidationMode?: boolean;
|
|
133
141
|
private _node: ITreeNode;
|
|
134
142
|
private _refreshJwtToken?: () => Promise<string>;
|
|
135
143
|
private _responseDto?: ShapeDiverResponseDto;
|
|
@@ -141,7 +149,7 @@ export class SessionEngine implements ISessionEngine {
|
|
|
141
149
|
private _viewerSettingsVersion: string = latestVersion;
|
|
142
150
|
private _viewerSettingsVersionBackend: string = latestVersion;
|
|
143
151
|
|
|
144
|
-
// #endregion Properties (
|
|
152
|
+
// #endregion Properties (50)
|
|
145
153
|
|
|
146
154
|
// #region Constructors (1)
|
|
147
155
|
|
|
@@ -149,7 +157,7 @@ export class SessionEngine implements ISessionEngine {
|
|
|
149
157
|
* Can be use to initialize a session with the ticket/guid and modelViewUrl and returns a scene graph node with the result.
|
|
150
158
|
* Can be use to customize the session with updated parameters to get the updated scene graph node.
|
|
151
159
|
*/
|
|
152
|
-
constructor(properties: { id: string, ticket?: string, guid?: string, modelViewUrl: string, buildVersion: string, buildDate: string, jwtToken?: string, excludeViewports?: string[], allowOutputLoading: boolean, loadSdtf: boolean }) {
|
|
160
|
+
constructor(properties: { id: string, ticket?: string, guid?: string, modelViewUrl: string, buildVersion: string, buildDate: string, jwtToken?: string, excludeViewports?: string[], allowOutputLoading: boolean, loadSdtf: boolean, modelStateId?: string, modelStateValidationMode?: boolean }) {
|
|
153
161
|
this._id = properties.id;
|
|
154
162
|
this._node = new TreeNode(properties.id);
|
|
155
163
|
this._guid = properties.guid;
|
|
@@ -159,8 +167,12 @@ export class SessionEngine implements ISessionEngine {
|
|
|
159
167
|
this._jwtToken = properties.jwtToken;
|
|
160
168
|
this._allowOutputLoading = properties.allowOutputLoading;
|
|
161
169
|
this._loadSdtf = properties.loadSdtf;
|
|
170
|
+
this._modelStateId = properties.modelStateId;
|
|
171
|
+
this._modelStateValidationMode = properties.modelStateValidationMode;
|
|
172
|
+
|
|
162
173
|
this._headers['X-ShapeDiver-BuildDate'] = properties.buildDate;
|
|
163
174
|
this._headers['X-ShapeDiver-BuildVersion'] = properties.buildVersion;
|
|
175
|
+
|
|
164
176
|
this._outputLoader = new OutputLoader(this);
|
|
165
177
|
|
|
166
178
|
try {
|
|
@@ -173,7 +185,7 @@ export class SessionEngine implements ISessionEngine {
|
|
|
173
185
|
|
|
174
186
|
// #endregion Constructors (1)
|
|
175
187
|
|
|
176
|
-
// #region Public Getters And Setters (
|
|
188
|
+
// #region Public Getters And Setters (28)
|
|
177
189
|
|
|
178
190
|
public get automaticSceneUpdate(): boolean {
|
|
179
191
|
return this._automaticSceneUpdate;
|
|
@@ -246,6 +258,10 @@ export class SessionEngine implements ISessionEngine {
|
|
|
246
258
|
}
|
|
247
259
|
}
|
|
248
260
|
|
|
261
|
+
public get modelState(): ShapeDiverResponseModelState | undefined {
|
|
262
|
+
return this._modelState;
|
|
263
|
+
}
|
|
264
|
+
|
|
249
265
|
public get modelViewUrl(): string {
|
|
250
266
|
return this._modelViewUrl;
|
|
251
267
|
}
|
|
@@ -298,9 +314,9 @@ export class SessionEngine implements ISessionEngine {
|
|
|
298
314
|
return this._viewerSettings;
|
|
299
315
|
}
|
|
300
316
|
|
|
301
|
-
// #endregion Public Getters And Setters (
|
|
317
|
+
// #endregion Public Getters And Setters (28)
|
|
302
318
|
|
|
303
|
-
// #region Public Methods (
|
|
319
|
+
// #region Public Methods (30)
|
|
304
320
|
|
|
305
321
|
public applySettings(response: ShapeDiverResponseDto, sections?: ISettingsSections) {
|
|
306
322
|
sections = sections || {};
|
|
@@ -472,6 +488,79 @@ export class SessionEngine implements ISessionEngine {
|
|
|
472
488
|
}
|
|
473
489
|
}
|
|
474
490
|
|
|
491
|
+
public async createModelState(
|
|
492
|
+
parameterValues: { [key: string]: unknown; } = {},
|
|
493
|
+
omitSessionParameterValues: boolean = false,
|
|
494
|
+
image?: (() => string) | string | Blob | File,
|
|
495
|
+
data?: Record<string, any>,
|
|
496
|
+
arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File
|
|
497
|
+
): Promise < string > {
|
|
498
|
+
this.checkAvailability();
|
|
499
|
+
|
|
500
|
+
try {
|
|
501
|
+
const promises = [];
|
|
502
|
+
|
|
503
|
+
// process the parameters
|
|
504
|
+
const parameterSet: {
|
|
505
|
+
[key: string]: string
|
|
506
|
+
} = {};
|
|
507
|
+
promises.push(
|
|
508
|
+
this.uploadFileParameters(parameterValues).then(() => {
|
|
509
|
+
// create a set of the current validated parameter values
|
|
510
|
+
for (const parameterId in this.parameters) {
|
|
511
|
+
// if the parameter has not been set, we do not include it in the parameter set if the omitSessionParameterValues flag is set
|
|
512
|
+
if (!(omitSessionParameterValues === true && parameterValues[parameterId] === undefined)) {
|
|
513
|
+
parameterSet[parameterId] = (' ' + this.parameters[parameterId].stringify(parameterValues[parameterId])).slice(1);
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
})
|
|
517
|
+
);
|
|
518
|
+
|
|
519
|
+
// process the image input
|
|
520
|
+
let imageData: ShapeDiverRequestFileUploadPart | undefined;
|
|
521
|
+
let imageArrayBuffer: ArrayBuffer | undefined;
|
|
522
|
+
if (image) {
|
|
523
|
+
promises.push(
|
|
524
|
+
this.processImageInput(image)
|
|
525
|
+
.then(result => {
|
|
526
|
+
imageData = result?.imageData;
|
|
527
|
+
imageArrayBuffer = result?.arrayBuffer;
|
|
528
|
+
})
|
|
529
|
+
);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
// process the arScene input
|
|
533
|
+
let arSceneId: string | undefined;
|
|
534
|
+
if (arScene) {
|
|
535
|
+
promises.push(
|
|
536
|
+
this._converter.convertToArrayBuffer(arScene)
|
|
537
|
+
.then(arSceneArrayBuffer => this._sdk.gltf.upload(this._sessionId!, arSceneArrayBuffer, 'model/gltf-binary', ShapeDiverRequestGltfUploadQueryConversion.SCENE))
|
|
538
|
+
.then(arSceneResponseDto => {
|
|
539
|
+
arSceneId = arSceneResponseDto.gltf?.sceneId;
|
|
540
|
+
})
|
|
541
|
+
);
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// wait for all promises to resolve
|
|
545
|
+
await Promise.all(promises);
|
|
546
|
+
|
|
547
|
+
// create the model state
|
|
548
|
+
const response = await this._sdk.modelState.create(this._sessionId!, {
|
|
549
|
+
parameters: parameterSet,
|
|
550
|
+
data: data,
|
|
551
|
+
image: imageData,
|
|
552
|
+
arSceneId: arSceneId
|
|
553
|
+
} as ShapeDiverRequestModelState);
|
|
554
|
+
|
|
555
|
+
if (imageData && imageArrayBuffer)
|
|
556
|
+
await this._sdk.utils.uploadAsset(response.asset!.modelState!.href, imageArrayBuffer, response.asset!.modelState!.headers);
|
|
557
|
+
|
|
558
|
+
return response.modelState!.id!;
|
|
559
|
+
} catch (e) {
|
|
560
|
+
throw this._httpClient.convertError(e);
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
475
564
|
/**
|
|
476
565
|
* Customizes the session with updated parameters to get the updated scene graph node.
|
|
477
566
|
*
|
|
@@ -765,9 +854,9 @@ export class SessionEngine implements ISessionEngine {
|
|
|
765
854
|
parameterSet[parameterNameOrId] = (' ' + parameterValues[parameterNameOrId]).slice(1);
|
|
766
855
|
|
|
767
856
|
if (this._ticket) {
|
|
768
|
-
this._responseDto = await this._sdk.session.init(this._ticket, parameterSet);
|
|
857
|
+
this._responseDto = await this._sdk.session.init(this._ticket, parameterSet, this._modelStateId, this._modelStateValidationMode);
|
|
769
858
|
} else if (this._guid) {
|
|
770
|
-
this._responseDto = await this._sdk.session.initForModel(this._guid, parameterSet);
|
|
859
|
+
this._responseDto = await this._sdk.session.initForModel(this._guid, parameterSet, this._modelStateId, this._modelStateValidationMode);
|
|
771
860
|
} else {
|
|
772
861
|
// we should never get here
|
|
773
862
|
throw new ShapeDiverViewerSessionError('Session.init: Initialization of session failed. Neither a ticket nor a guid are available.');
|
|
@@ -778,6 +867,7 @@ export class SessionEngine implements ISessionEngine {
|
|
|
778
867
|
this._viewerSettingsVersionBackend = this._responseDto.viewerSettingsVersion || latestVersion;
|
|
779
868
|
this._sessionId = this._responseDto.sessionId;
|
|
780
869
|
this._modelId = this._responseDto.model?.id;
|
|
870
|
+
this._modelState = this._responseDto.modelState;
|
|
781
871
|
|
|
782
872
|
this._httpClient.addDataLoading(this._sessionId!, {
|
|
783
873
|
getAsset: this._sdk.asset.getAsset.bind(this._sdk.asset),
|
|
@@ -1331,8 +1421,8 @@ export class SessionEngine implements ISessionEngine {
|
|
|
1331
1421
|
this.checkAvailability('file-upload');
|
|
1332
1422
|
try {
|
|
1333
1423
|
const result = await this._sdk.file.requestUpload(this._sessionId!, {
|
|
1334
|
-
[parameterId]: {
|
|
1335
|
-
size: data.size,
|
|
1424
|
+
[parameterId]: {
|
|
1425
|
+
size: data.size,
|
|
1336
1426
|
format: type,
|
|
1337
1427
|
filename: data.name === '' ? undefined : data.name
|
|
1338
1428
|
}
|
|
@@ -1398,9 +1488,9 @@ export class SessionEngine implements ISessionEngine {
|
|
|
1398
1488
|
}
|
|
1399
1489
|
}
|
|
1400
1490
|
|
|
1401
|
-
// #endregion Public Methods (
|
|
1491
|
+
// #endregion Public Methods (30)
|
|
1402
1492
|
|
|
1403
|
-
// #region Private Methods (
|
|
1493
|
+
// #region Private Methods (18)
|
|
1404
1494
|
|
|
1405
1495
|
private _saveSessionSettings() {
|
|
1406
1496
|
const parameters = this.parameters;
|
|
@@ -1666,6 +1756,54 @@ export class SessionEngine implements ISessionEngine {
|
|
|
1666
1756
|
}
|
|
1667
1757
|
}
|
|
1668
1758
|
|
|
1759
|
+
/**
|
|
1760
|
+
* Process the image input and return the image data and array buffer.
|
|
1761
|
+
*
|
|
1762
|
+
* In the case of the image being a Blob or File, the image data is constructed from the Blob or File.
|
|
1763
|
+
* In the case of the image being a string, we check if it is a data URL or a URL.
|
|
1764
|
+
* If it is a data URL, we convert it to a Blob and construct the image data from the Blob.
|
|
1765
|
+
* If it is a URL, we download the image and return the image data and array buffer.
|
|
1766
|
+
*
|
|
1767
|
+
* @param image
|
|
1768
|
+
* @returns
|
|
1769
|
+
*/
|
|
1770
|
+
private async processImageInput(image: (() => string) | string | Blob | File): Promise<{
|
|
1771
|
+
imageData: ShapeDiverRequestFileUploadPart,
|
|
1772
|
+
arrayBuffer: ArrayBuffer
|
|
1773
|
+
}> {
|
|
1774
|
+
if (image instanceof File || image instanceof Blob)
|
|
1775
|
+
return this._converter.constructImageData(image);
|
|
1776
|
+
|
|
1777
|
+
let imageString: string;
|
|
1778
|
+
if (typeof image === 'function') {
|
|
1779
|
+
imageString = image();
|
|
1780
|
+
} else {
|
|
1781
|
+
imageString = image;
|
|
1782
|
+
}
|
|
1783
|
+
|
|
1784
|
+
if (imageString.startsWith('data:')) {
|
|
1785
|
+
// case where the image is a data URL
|
|
1786
|
+
const { blob, arrayBuffer } = this._converter.dataURLtoBlob(imageString);
|
|
1787
|
+
return {
|
|
1788
|
+
imageData: {
|
|
1789
|
+
format: blob.type,
|
|
1790
|
+
size: blob.size
|
|
1791
|
+
},
|
|
1792
|
+
arrayBuffer
|
|
1793
|
+
};
|
|
1794
|
+
} else {
|
|
1795
|
+
// case where the image is a URL
|
|
1796
|
+
const [arrayBuffer, type] = await this._sdk.asset.downloadImage(this._sessionId!, imageString);
|
|
1797
|
+
return {
|
|
1798
|
+
imageData: {
|
|
1799
|
+
format: type,
|
|
1800
|
+
size: arrayBuffer.byteLength
|
|
1801
|
+
},
|
|
1802
|
+
arrayBuffer
|
|
1803
|
+
};
|
|
1804
|
+
}
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1669
1807
|
private removeBusyMode(busyId: string) {
|
|
1670
1808
|
for (const r in this._stateEngine.viewportEngines) {
|
|
1671
1809
|
if (this._stateEngine.viewportEngines[r] && this._stateEngine.viewportEngines[r]!.busy.includes(busyId))
|
|
@@ -1864,5 +2002,5 @@ export class SessionEngine implements ISessionEngine {
|
|
|
1864
2002
|
await Promise.all(promises);
|
|
1865
2003
|
}
|
|
1866
2004
|
|
|
1867
|
-
// #endregion Private Methods (
|
|
2005
|
+
// #endregion Private Methods (18)
|
|
1868
2006
|
}
|
|
@@ -11,11 +11,12 @@ import {
|
|
|
11
11
|
ShapeDiverRequestGltfUploadQueryConversion,
|
|
12
12
|
ShapeDiverResponseDto,
|
|
13
13
|
ShapeDiverResponseExport,
|
|
14
|
-
ShapeDiverResponseFileInfo
|
|
14
|
+
ShapeDiverResponseFileInfo,
|
|
15
|
+
ShapeDiverResponseModelState
|
|
15
16
|
} from '@shapediver/sdk.geometry-api-sdk-v2';
|
|
16
17
|
|
|
17
18
|
export interface ISessionEngine {
|
|
18
|
-
// #region Properties (
|
|
19
|
+
// #region Properties (15)
|
|
19
20
|
|
|
20
21
|
readonly jwtToken?: string;
|
|
21
22
|
|
|
@@ -25,6 +26,7 @@ export interface ISessionEngine {
|
|
|
25
26
|
id: string;
|
|
26
27
|
initialized: boolean;
|
|
27
28
|
loadSdtf: boolean;
|
|
29
|
+
modelState?: ShapeDiverResponseModelState;
|
|
28
30
|
modelViewUrl: string;
|
|
29
31
|
outputs: { [key: string]: IOutput };
|
|
30
32
|
parameters: { [key: string]: IParameter<unknown> };
|
|
@@ -33,14 +35,15 @@ export interface ISessionEngine {
|
|
|
33
35
|
ticket?: string;
|
|
34
36
|
updateCallback: ((newNode: ITreeNode, oldNode: ITreeNode) => void) | null;
|
|
35
37
|
|
|
36
|
-
// #endregion Properties (
|
|
38
|
+
// #endregion Properties (15)
|
|
37
39
|
|
|
38
|
-
// #region Public Methods (
|
|
40
|
+
// #region Public Methods (25)
|
|
39
41
|
|
|
40
42
|
applySettings(response: ShapeDiverResponseDto, sections?: ISettingsSections): void;
|
|
41
43
|
canGoBack(): boolean;
|
|
42
44
|
canGoForward(): boolean;
|
|
43
45
|
close(): Promise<void>;
|
|
46
|
+
createModelState(parameterValues?: { [key: string]: unknown; }, omitSessionParameterValues?: boolean, image?: (() => string) | string | Blob | File, data?: Record<string, any>, arScene?: (() => Promise<ArrayBuffer>) | ArrayBuffer | (() => Promise<Blob>) | Blob | File): Promise<string>;
|
|
44
47
|
customize(force: boolean, waitForViewportUpdate?: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
|
|
45
48
|
customizeParallel(parameterValues: { [key: string]: string }, loadOutputs: boolean): Promise<ITreeNode | ShapeDiverResponseDto>;
|
|
46
49
|
getFileInfo(parameterId: string, fileId: string): Promise<ShapeDiverResponseFileInfo>
|
|
@@ -62,5 +65,5 @@ export interface ISessionEngine {
|
|
|
62
65
|
uploadFileParameters(parameterValues?: { [key: string]: string | File | Blob }): Promise<{ [key: string]: string }>
|
|
63
66
|
uploadGLTF(blob: Blob, conversion?: ShapeDiverRequestGltfUploadQueryConversion): Promise<ShapeDiverResponseDto>;
|
|
64
67
|
|
|
65
|
-
// #endregion Public Methods (
|
|
68
|
+
// #endregion Public Methods (25)
|
|
66
69
|
}
|