entropic-bond 1.44.3 → 1.44.4
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/lib/store/data-source.js +1 -1
- package/lib/store/data-source.js.map +1 -1
- package/lib/store/json-data-source.js +1 -7
- package/lib/store/json-data-source.js.map +1 -1
- package/lib/store/model.d.ts +9 -0
- package/lib/store/model.js +36 -1
- package/lib/store/model.js.map +1 -1
- package/package.json +1 -1
package/lib/store/data-source.js
CHANGED
|
@@ -26,7 +26,7 @@ class DataSource {
|
|
|
26
26
|
if (!operations)
|
|
27
27
|
return [];
|
|
28
28
|
return operations.map(operation => {
|
|
29
|
-
if (DataSource.isArrayOperator(operation.operator)) {
|
|
29
|
+
if (DataSource.isArrayOperator(operation.operator) && operation.value[0] instanceof persistent_1.Persistent) {
|
|
30
30
|
return {
|
|
31
31
|
property: persistent_1.Persistent.searchableArrayNameFor(operation.property),
|
|
32
32
|
operator: operation.operator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../src/store/data-source.ts"],"names":[],"mappings":";;;AAAA,yDAAoF;AA0DpF;;;;;;GAMG;AACH,MAAsB,UAAU;IAmE/B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAwB,UAA+B;QACrF,IAAK,CAAC,UAAU;YAAG,OAAO,EAAE,CAAA;QAE5B,OAAO,UAAU,CAAC,GAAG,CAAE,SAAS,CAAC,EAAE;YAElC,IAAK,UAAU,CAAC,eAAe,CAAE,SAAS,CAAC,QAAQ,CAAE,EAAG;
|
|
1
|
+
{"version":3,"file":"data-source.js","sourceRoot":"","sources":["../../src/store/data-source.ts"],"names":[],"mappings":";;;AAAA,yDAAoF;AA0DpF;;;;;;GAMG;AACH,MAAsB,UAAU;IAmE/B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAAwB,UAA+B;QACrF,IAAK,CAAC,UAAU;YAAG,OAAO,EAAE,CAAA;QAE5B,OAAO,UAAU,CAAC,GAAG,CAAE,SAAS,CAAC,EAAE;YAElC,IAAK,UAAU,CAAC,eAAe,CAAE,SAAS,CAAC,QAAQ,CAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,uBAAU,EAAG;gBACnG,OAAO;oBACN,QAAQ,EAAE,uBAAU,CAAC,sBAAsB,CAAE,SAAS,CAAC,QAAkB,CAAE;oBAC3E,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAI,SAAS,CAAC,KAAkC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAS;oBAC7E,SAAS,EAAE,SAAS,CAAC,SAAS;iBACT,CAAA;aACtB;YAED,MAAM,CAAE,IAAI,EAAE,KAAK,CAAE,GAAG,IAAI,CAAC,mBAAmB,CAAE,SAAS,CAAC,KAAK,CAAE,CAAA;YACnE,MAAM,QAAQ,GAAG,GAAI,MAAM,CAAE,SAAS,CAAC,QAAQ,CAAG,GAAI,IAAI,CAAA,CAAC,CAAC,GAAG,GAAC,IAAI,CAAC,CAAC,CAAC,EAAG,EAAE,CAAA;YAE5E,OAAO;gBACN,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK;gBACL,SAAS,EAAE,SAAS,CAAC,SAAS;aACT,CAAA;QACvB,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,eAAe,CAAE,QAAuB;QAC9C,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,aAAa,IAAI,QAAQ,KAAK,UAAU,CAAA;IACxG,CAAC;IAEO,MAAM,CAAC,mBAAmB,CAAE,GAAO;QAC1C,IAAK,OAAO,GAAG,KAAK,QAAQ,EAAG;YAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAE,GAAG,CAAE,CAAC,CAAC,CAAE,CAAA;YACvC,MAAM,CAAE,QAAQ,EAAE,KAAK,CAAE,GAAG,IAAI,CAAC,mBAAmB,CAAE,GAAG,CAAE,QAAQ,CAAE,CAAE,CAAA;YACvE,OAAO,CAAE,GAAI,QAAS,GAAI,QAAQ,CAAA,CAAC,CAAC,GAAG,GAAC,QAAQ,CAAC,CAAC,CAAC,EAAG,EAAE,EAAE,KAAK,CAAE,CAAA;SACjE;aACI;YACJ,OAAO,CAAE,SAAS,EAAE,GAAG,CAAE,CAAA;SACzB;IAEF,CAAC;CACD;AAxHD,gCAwHC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JsonDataSource = void 0;
|
|
4
|
-
const persistent_1 = require("../persistent/persistent");
|
|
5
4
|
/**
|
|
6
5
|
* A concrete implementation of the DataSource interface uses an in-memory data store
|
|
7
6
|
* initialized by a JSON object.
|
|
@@ -178,12 +177,7 @@ class JsonDataSource {
|
|
|
178
177
|
}
|
|
179
178
|
retrieveValuesToCompare(doc, propertyName, value) {
|
|
180
179
|
const propertyValue = doc[propertyName];
|
|
181
|
-
|
|
182
|
-
const searchableArray = doc[searchableArrayName];
|
|
183
|
-
if (searchableArray) {
|
|
184
|
-
return [searchableArray, value.map(elem => elem.id)];
|
|
185
|
-
}
|
|
186
|
-
if (propertyValue && typeof value === 'object') {
|
|
180
|
+
if (propertyValue && typeof value === 'object' && !Array.isArray(value)) {
|
|
187
181
|
const propName = Object.keys(value)[0];
|
|
188
182
|
var [propVal, val] = this.retrieveValuesToCompare(propertyValue, propName, value?.[propName]);
|
|
189
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-data-source.js","sourceRoot":"","sources":["../../src/store/json-data-source.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"json-data-source.js","sourceRoot":"","sources":["../../src/store/json-data-source.ts"],"names":[],"mappings":"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"}
|
package/lib/store/model.d.ts
CHANGED
|
@@ -61,6 +61,15 @@ export declare class Model<T extends Persistent> {
|
|
|
61
61
|
*/
|
|
62
62
|
next<U extends T>(limit?: number): Promise<U[]>;
|
|
63
63
|
private mapToInstance;
|
|
64
|
+
/**
|
|
65
|
+
* Normalizes the query object to match the data source requirements.
|
|
66
|
+
* Call this method before you do any query operation on the concrete data source
|
|
67
|
+
* @param queryObject the query object containing the query operations
|
|
68
|
+
* @param operatorConversor a function that converts the query operators to the
|
|
69
|
+
* operators supported by the concrete data source
|
|
70
|
+
* @returns the normalized query object
|
|
71
|
+
*/
|
|
72
|
+
private preprocessQueryObject;
|
|
64
73
|
readonly collectionName: string;
|
|
65
74
|
private _stream;
|
|
66
75
|
}
|
package/lib/store/model.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Model = void 0;
|
|
4
4
|
const persistent_1 = require("../persistent/persistent");
|
|
5
|
+
const data_source_1 = require("./data-source");
|
|
5
6
|
/**
|
|
6
7
|
* Provides abstraction to the database access. You should gain access to a Model
|
|
7
8
|
* object through the Store.getModel method instead of its constructor.
|
|
@@ -97,7 +98,7 @@ class Model {
|
|
|
97
98
|
queryObject.operations = [];
|
|
98
99
|
queryObject.operations.push({ property: '__className', operator: '==', value: className });
|
|
99
100
|
}
|
|
100
|
-
return this.mapToInstance(() => this._stream.find(queryObject, this.collectionName));
|
|
101
|
+
return this.mapToInstance(() => this._stream.find(this.preprocessQueryObject(queryObject), this.collectionName));
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
104
|
* Get the amount of documents matching the query
|
|
@@ -132,6 +133,40 @@ class Model {
|
|
|
132
133
|
.catch(error => reject(error));
|
|
133
134
|
});
|
|
134
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Normalizes the query object to match the data source requirements.
|
|
138
|
+
* Call this method before you do any query operation on the concrete data source
|
|
139
|
+
* @param queryObject the query object containing the query operations
|
|
140
|
+
* @param operatorConversor a function that converts the query operators to the
|
|
141
|
+
* operators supported by the concrete data source
|
|
142
|
+
* @returns the normalized query object
|
|
143
|
+
*/
|
|
144
|
+
preprocessQueryObject(queryObject) {
|
|
145
|
+
if (Object.values(queryObject).length === 0)
|
|
146
|
+
return queryObject;
|
|
147
|
+
const operations = queryObject.operations?.map(operation => {
|
|
148
|
+
if (data_source_1.DataSource.isArrayOperator(operation.operator) && operation.value[0] instanceof persistent_1.Persistent) {
|
|
149
|
+
return {
|
|
150
|
+
property: persistent_1.Persistent.searchableArrayNameFor(operation.property),
|
|
151
|
+
operator: operation.operator,
|
|
152
|
+
value: operation.value.map(v => v.id),
|
|
153
|
+
aggregate: operation.aggregate
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
return {
|
|
158
|
+
property: operation.property,
|
|
159
|
+
operator: operation.operator,
|
|
160
|
+
value: operation.value,
|
|
161
|
+
aggregate: operation.aggregate
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}) ?? [];
|
|
165
|
+
return {
|
|
166
|
+
...queryObject,
|
|
167
|
+
operations
|
|
168
|
+
};
|
|
169
|
+
}
|
|
135
170
|
}
|
|
136
171
|
exports.Model = Model;
|
|
137
172
|
Model.error = {
|
package/lib/store/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/store/model.ts"],"names":[],"mappings":";;;AAAA,yDAAuE;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/store/model.ts"],"names":[],"mappings":";;;AAAA,yDAAuE;AAEvE,+CAAkH;AAElH;;;GAGG;AACH,MAAa,KAAK;IAMjB,YAAa,MAAkB,EAAE,eAAoC,EAAE,aAAsB;QAC5F,IAAK,aAAa,EAAG;YACpB,IAAI,CAAC,CAAE,eAAe,YAAY,uBAAU,CAAE;gBAAG,MAAM,IAAI,KAAK,CAAE,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAE,CAAA;YAE9G,IAAI,CAAC,cAAc,GAAG,GAAI,eAAe,CAAC,SAAU,IAAK,eAAe,CAAC,EAAG,IAAK,aAAc,EAAE,CAAA;SACjG;aACI;YACJ,IAAI,CAAC,cAAc,GAAG,eAAe,YAAY,uBAAU;gBAC1D,CAAC,CAAC,eAAe,CAAC,SAAS;gBAC3B,CAAC,CAAC,eAAe,CAAA;SAClB;QAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACtB,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAe,EAAU,EAAE,QAAY;QAC9C,OAAO,IAAI,OAAO,CAAiB,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAE,EAAE,EAAE,IAAI,CAAC,cAAc,CAAE;iBAC9C,IAAI,CAAC,CAAE,IAAyB,EAAG,EAAE;gBACrC,IAAK,IAAI,EAAG;oBAEX,IAAK,CAAC,QAAQ;wBAAG,QAAQ,GAAG,uBAAU,CAAC,cAAc,CAAE,IAAI,CAAE,CAAA;;wBACxD,QAAQ,CAAC,UAAU,CAAE,IAAI,CAAE,CAAA;oBAEhC,OAAO,CAAE,QAAQ,CAAE,CAAA;iBACnB;;oBACI,OAAO,CAAE,SAAS,CAAE,CAAA;YAC1B,CAAC,CAAC;iBACD,KAAK,CAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAE,CAAA;QACpC,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAE,QAAW;QAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAiE,CAAA;QAE9F,IAAK,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,WAAW,EAAG;YAC9C,GAAG,CAAC,iBAAiB,CAAE,IAAI,CAAC,cAAc,CAAE,GAAG,GAAG,CAAC,iBAAiB,CAAE,GAAG,CAAC,WAAW,CAAE,CAAA;YACvF,OAAO,GAAG,CAAC,iBAAiB,CAAE,GAAG,CAAC,WAAW,CAAE,CAAA;SAC/C;QAED,OAAO,IAAI,OAAO,CAAQ,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,GAAG,CAAC,iBAAiB,CAAE;iBACzC,IAAI,CAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAE;iBACvB,KAAK,CAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAE,CAAA;QACnC,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAE,EAAU;QACjB,OAAO,IAAI,OAAO,CAAQ,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAE,EAAE,EAAE,IAAI,CAAC,cAAc,CAAE;iBAC7C,IAAI,CAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAE;iBACvB,KAAK,CAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAE,CAAA;QACnC,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,IAAI;QACH,OAAO,IAAI,KAAK,CAAK,IAA2B,CAAE,CAAA;IACnD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAe,cAA8B,EAAE,EAAE,UAAuB;QAC5E,IAAK,UAAU,EAAG;YACjB,MAAM,SAAS,GAAG,UAAU,YAAY,uBAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;YACtF,IAAK,CAAC,WAAW,CAAC,UAAU;gBAAG,WAAW,CAAC,UAAU,GAAG,EAAE,CAAA;YAC1D,WAAW,CAAC,UAAU,CAAC,IAAI,CAC1B,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAS,CACpE,CAAA;SACD;QAED,OAAO,IAAI,CAAC,aAAa,CACxB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,IAAI,CAAC,qBAAqB,CAAE,WAAW,CAAE,EAAE,IAAI,CAAC,cAAc,CAAE,CACzF,CAAA;IACF,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAE,WAA2B;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,WAAqD,EAAE,IAAI,CAAC,cAAc,CAAE,CAAA;IACxG,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAe,KAAc;QAChC,OAAO,IAAI,CAAC,aAAa,CAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAE,KAAK,CAAE,CAAE,CAAA;IAC9D,CAAC;IAED,MAAM;IACN,iEAAiE;IACjE,gFAAgF;IAChF,oBAAoB;IACpB,uEAAuE;IACvE,MAAM;IACN,sDAAsD;IACtD,iEAAiE;IACjE,IAAI;IAEI,aAAa,CAAe,IAAmC;QACtE,OAAO,IAAI,OAAO,CAAO,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YAC9C,IAAI,EAAE;iBACJ,IAAI,CAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CACrB,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,EAAE,CAAC,uBAAU,CAAC,cAAc,CAAE,GAAU,CAAE,CAAC,CACzD,CAAC;iBACD,KAAK,CAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAE,CAAA;QACpC,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;OAOG;IACK,qBAAqB,CAAK,WAA2B;QAC5D,IAAK,MAAM,CAAC,MAAM,CAAE,WAAW,CAAE,CAAC,MAAM,KAAK,CAAC;YAAG,OAAO,WAA0C,CAAA;QAElG,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAE,SAAS,CAAC,EAAE;YAE3D,IAAK,wBAAU,CAAC,eAAe,CAAE,SAAS,CAAC,QAAQ,CAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,uBAAU,EAAG;gBACnG,OAAO;oBACN,QAAQ,EAAE,uBAAU,CAAC,sBAAsB,CAAE,SAAS,CAAC,QAAkB,CAAE;oBAC3E,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAI,SAAS,CAAC,KAAkC,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAS;oBAC7E,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC9B,CAAA;aACD;iBACI;gBACJ,OAAO;oBACN,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,SAAS,EAAE,SAAS,CAAC,SAAS;iBAC9B,CAAA;aACD;QACF,CAAC,CAAC,IAAI,EAAE,CAAA;QAER,OAAO;YACN,GAAG,WAAW;YACd,UAAU;SACqB,CAAA;IACjC,CAAC;;AAxLF,sBA4LC;AA3LO,WAAK,GAAG;IACd,8BAA8B,EAAE,4EAA4E;IAC5G,iBAAiB,EAAE,uCAAuC;CAC1D,CAAA;AA0LF;;;;;GAKG;AACH,MAAM,KAAK;IACV,YAAa,KAAe;QAsNpB,gBAAW,GAAmB,EAAE,UAAU,EAAE,EAAE,EAAoB,CAAA;QArNzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAA+B,QAAW,EAAE,QAAuB,EAAE,KAAiC,EAAE,SAAmB;QAC/H,IAAK,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,SAAS;YAAG,MAAM,IAAI,KAAK,CAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAE,CAAA;QACpH,IAAI,GAAG,GAAG,KAAK,YAAY,uBAAU,CAAA,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;QAE/D,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;YACjC,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE,GAAG;YACV,SAAS;SACT,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,qGAAqG;IACrG,6FAA6F;IAE7F,mEAAmE;IAEnE,sCAAsC;IACtC,cAAc;IACd,cAAc;IACd,eAAe;IACf,MAAM;IAEN,eAAe;IACf,IAAI;IAEJ;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAE,YAAyB,EAAE,QAAuB,EAAE,KAA2C,EAAE,SAAmB;QAClI,IAAK,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAC,SAAS;YAAG,MAAM,IAAI,KAAK,CAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAE,CAAA;QAEpH,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAE,GAAG,CAAE,CAAA;QACvC,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA,CAAE,eAAe;QAE3D,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAE,IAAI,EAAE,CAAC,EAAG,EAAE;YACpC,GAAG,CAAE,IAAI,CAAE,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;YAC9C,GAAG,GAAG,GAAG,CAAE,IAAI,CAAE,CAAA;QAClB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;YAClB,QAAQ;YACR,KAAK,EAAE,MAAM;YACb,SAAS;SACY,CAAC,CAAA;QAEvB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,EAAE,CAA+B,QAAW,EAAE,QAAuB,EAAE,KAAiC;QACvG,OAAO,IAAI,CAAC,KAAK,CAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAE,CAAA;IACrD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAE,YAAyB,EAAE,QAAuB,EAAE,KAA2C;QAC1G,OAAO,IAAI,CAAC,aAAa,CAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAE,CAAA;IACjE,CAAC;IAED;;;;;;;;;OASG;IACH,UAAU,CAAe,OAAmB;QAC3C,MAAM,SAAS,GAAG,OAAO,YAAY,uBAAU,CAAA,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAA;QAC5E,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC;YACjC,QAAQ,EAAE,aAAoB;YAC9B,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,SAAgB;SACvB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAe,KAAc;QAC/B,IAAK,KAAK,EAAG;YACZ,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAA;SAC9B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,WAAwC,CAAE,CAAA;IACzE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAE,OAAe;QACrB,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,OAAO,CAAA;QAChC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;;;OAQG;IACH,OAAO,CAA+B,YAAe,EAAE,QAAoB,KAAK;QAC/E,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG;YACvB,YAAY;YACZ,KAAK;SACL,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAE,YAAoB,EAAE,QAAoB,KAAK;QAC/D,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG;YACvB,YAAY,EAAE,YAAY;YAC1B,KAAK;SACL,CAAA;QAED,OAAO,IAAI,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,WAAW,CAAE,CAAA;IAC5C,CAAC;CAID"}
|