@wix/wix-data-items-common 1.0.149 → 1.0.151
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/cjs/api/ApiClient.js +6 -0
- package/dist/cjs/api/ApiClient.js.map +1 -1
- package/dist/cjs/api/WixDataApi.js +44 -0
- package/dist/cjs/api/WixDataApi.js.map +1 -1
- package/dist/cjs/api/WixDataSearch.js +4 -0
- package/dist/cjs/api/WixDataSearch.js.map +1 -0
- package/dist/cjs/api/impl/WixDataSearchImpl.js +137 -0
- package/dist/cjs/api/impl/WixDataSearchImpl.js.map +1 -0
- package/dist/cjs/api/index.js +3 -1
- package/dist/cjs/api/index.js.map +1 -1
- package/dist/cjs/types/api.js.map +1 -1
- package/dist/cjs/types/data-item-types.js +7 -1
- package/dist/cjs/types/data-item-types.js.map +1 -1
- package/dist/esm/api/ApiClient.js +6 -0
- package/dist/esm/api/ApiClient.js.map +1 -1
- package/dist/esm/api/WixDataApi.js +44 -0
- package/dist/esm/api/WixDataApi.js.map +1 -1
- package/dist/esm/api/WixDataSearch.js +2 -0
- package/dist/esm/api/WixDataSearch.js.map +1 -0
- package/dist/esm/api/impl/WixDataSearchImpl.js +131 -0
- package/dist/esm/api/impl/WixDataSearchImpl.js.map +1 -0
- package/dist/esm/api/index.js.map +1 -1
- package/dist/esm/types/data-item-types.js +7 -0
- package/dist/esm/types/data-item-types.js.map +1 -1
- package/dist/types/api/ApiClient.d.ts +2 -1
- package/dist/types/api/ApiClient.d.ts.map +1 -1
- package/dist/types/api/WixDataApi.d.ts +2 -0
- package/dist/types/api/WixDataApi.d.ts.map +1 -1
- package/dist/types/api/WixDataSearch.d.ts +683 -0
- package/dist/types/api/WixDataSearch.d.ts.map +1 -0
- package/dist/types/api/impl/WixDataSearchImpl.d.ts +80 -0
- package/dist/types/api/impl/WixDataSearchImpl.d.ts.map +1 -0
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +2 -1
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/data-item-types.d.ts +130 -0
- package/dist/types/types/data-item-types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -164,6 +164,12 @@ class ApiClient {
|
|
|
164
164
|
return (0, _utils.decode)(response.data);
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
+
async searchDataItems(r) {
|
|
168
|
+
return this.withErrorHandling(async () => {
|
|
169
|
+
const response = await this.httpApiClient.searchDataItems(r);
|
|
170
|
+
return (0, _utils.decode)(response.data);
|
|
171
|
+
});
|
|
172
|
+
}
|
|
167
173
|
async withErrorHandling(call) {
|
|
168
174
|
try {
|
|
169
175
|
return await call();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_errors","_errors2","SUPPORTS_GET_METHOD","apiRequestInterceptor","allowGet","request","preferGet","methodFqn","data","serializeDates","url","base64url","length","method","undefined","ApiClient","constructor","clientFactory","_defineProperty2","default","httpApiClient","getDataItem","r","withErrorHandling","response","parseDates","insertDataItem","saveDataItem","updateDataItem","patchDataItem","bulkPatchDataItems","removeDataItem","countDataItems","queryDistinctValues","queryDataItems","aggregateDataItems","bulkInsertDataItems","bulkUpdateDataItems","bulkSaveDataItems","bulkRemoveDataItems","queryReferencedDataItems","bulkInsertDataItemReferences","replaceDataItemReferences","bulkRemoveDataItemReferences","isReferencedDataItem","truncateDataItems","call","error","isHttpError","_error$response","_error$response2","status","wixDataError","messages","payloadIsTooLarge","parsedError","parseError","internalError","codes","UnknownError","exports"],"sources":["../../../src/api/ApiClient.ts"],"sourcesContent":["import type {\n HttpApiClient,\n RequestInterceptor,\n Request,\n HttpApiClientFactory,\n} from '../types/api'\nimport {\n decode as parseDates,\n encode as serializeDates,\n base64url,\n} from '../utils'\nimport { messages, wixDataError, codes } from '../errors'\n\nimport { isHttpError, parseError } from './errors'\nimport {\n AggregateDataItemsRequest,\n AggregateDataItemsResponse,\n BulkInsertDataItemReferencesRequest,\n BulkInsertDataItemReferencesResponse,\n BulkInsertDataItemsRequest,\n BulkInsertDataItemsResponse,\n BulkPatchDataItemsRequest,\n BulkPatchDataItemsResponse,\n BulkRemoveDataItemReferencesRequest,\n BulkRemoveDataItemReferencesResponse,\n BulkRemoveDataItemsRequest,\n BulkRemoveDataItemsResponse,\n BulkSaveDataItemsRequest,\n BulkSaveDataItemsResponse,\n BulkUpdateDataItemsRequest,\n BulkUpdateDataItemsResponse,\n CountDataItemsRequest,\n CountDataItemsResponse,\n GetDataItemRequest,\n GetDataItemResponse,\n InsertDataItemRequest,\n InsertDataItemResponse,\n IsReferencedDataItemRequest,\n IsReferencedDataItemResponse,\n PatchDataItemRequest,\n PatchDataItemResponse,\n QueryDataItemsRequest,\n QueryDataItemsResponse,\n QueryDistinctValuesRequest,\n QueryDistinctValuesResponse,\n QueryReferencedDataItemsRequest,\n QueryReferencedDataItemsResponse,\n RemoveDataItemRequest,\n RemoveDataItemResponse,\n ReplaceDataItemReferencesRequest,\n ReplaceDataItemReferencesResponse,\n SaveDataItemRequest,\n SaveDataItemResponse,\n TruncateDataItemsRequest,\n TruncateDataItemsResponse,\n UpdateDataItemRequest,\n UpdateDataItemResponse,\n} from '../types/data-item-types'\n\nconst SUPPORTS_GET_METHOD: Record<string, boolean> = {\n 'com.wixpress.cloud.data.api.data.DataItemService.QueryDataItems': true,\n}\n\nexport function apiRequestInterceptor<R extends Request>(\n allowGet: boolean\n): RequestInterceptor<R> {\n return (request) => {\n const preferGet = allowGet && SUPPORTS_GET_METHOD[request.methodFqn ?? '']\n const data = serializeDates(request.data)\n if (preferGet) {\n // https://github.com/wix-private/server-infra/tree/master/framework/grpc/rest#complex-requests-messages-with-get-mappings\n const url = `${request.url}?.r=${base64url(data)}`\n if (url.length <= 2048) {\n return {\n ...request,\n method: 'GET',\n url,\n data: undefined,\n }\n }\n }\n return { ...request, data }\n }\n}\n\nexport class ApiClient {\n private httpApiClient: HttpApiClient\n\n constructor(clientFactory: HttpApiClientFactory<any>, allowGet: boolean) {\n this.httpApiClient = clientFactory(apiRequestInterceptor(allowGet))\n }\n\n async getDataItem(r: GetDataItemRequest): Promise<GetDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.getDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async insertDataItem(\n r: InsertDataItemRequest\n ): Promise<InsertDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.insertDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async saveDataItem(r: SaveDataItemRequest): Promise<SaveDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.saveDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async updateDataItem(\n r: UpdateDataItemRequest\n ): Promise<UpdateDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.updateDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async patchDataItem(r: PatchDataItemRequest): Promise<PatchDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.patchDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async bulkPatchDataItems(\n r: BulkPatchDataItemsRequest\n ): Promise<BulkPatchDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkPatchDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async removeDataItem(\n r: RemoveDataItemRequest\n ): Promise<RemoveDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.removeDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async countDataItems(\n r: CountDataItemsRequest\n ): Promise<CountDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.countDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async queryDistinctValues(\n r: QueryDistinctValuesRequest\n ): Promise<QueryDistinctValuesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryDistinctValues(r)\n return parseDates(response.data)\n })\n }\n\n async queryDataItems(\n r: QueryDataItemsRequest\n ): Promise<QueryDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async aggregateDataItems(\n r: AggregateDataItemsRequest\n ): Promise<AggregateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.aggregateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkInsertDataItems(\n r: BulkInsertDataItemsRequest\n ): Promise<BulkInsertDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkInsertDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkUpdateDataItems(\n r: BulkUpdateDataItemsRequest\n ): Promise<BulkUpdateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkUpdateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkSaveDataItems(\n r: BulkSaveDataItemsRequest\n ): Promise<BulkSaveDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkSaveDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkRemoveDataItems(\n r: BulkRemoveDataItemsRequest\n ): Promise<BulkRemoveDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkRemoveDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async queryReferencedDataItems(\n r: QueryReferencedDataItemsRequest\n ): Promise<QueryReferencedDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryReferencedDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkInsertDataItemReferences(\n r: BulkInsertDataItemReferencesRequest\n ): Promise<BulkInsertDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkInsertDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async replaceDataItemReferences(\n r: ReplaceDataItemReferencesRequest\n ): Promise<ReplaceDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.replaceDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async bulkRemoveDataItemReferences(\n r: BulkRemoveDataItemReferencesRequest\n ): Promise<BulkRemoveDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkRemoveDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async isReferencedDataItem(\n r: IsReferencedDataItemRequest\n ): Promise<IsReferencedDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.isReferencedDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async truncateDataItems(\n r: TruncateDataItemsRequest\n ): Promise<TruncateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.truncateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n private async withErrorHandling<T>(call: () => T): Promise<T> {\n try {\n return await call()\n } catch (error: unknown) {\n if (isHttpError(error)) {\n if (error.response?.status === 413) {\n throw wixDataError(messages.payloadIsTooLarge(), 'WDE0109')\n }\n const parsedError = parseError(error.response?.data)\n if (parsedError) {\n throw parsedError\n }\n }\n throw wixDataError(\n messages.internalError('Unknown error.'),\n codes.UnknownError\n )\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_utils","require","_errors","_errors2","SUPPORTS_GET_METHOD","apiRequestInterceptor","allowGet","request","preferGet","methodFqn","data","serializeDates","url","base64url","length","method","undefined","ApiClient","constructor","clientFactory","_defineProperty2","default","httpApiClient","getDataItem","r","withErrorHandling","response","parseDates","insertDataItem","saveDataItem","updateDataItem","patchDataItem","bulkPatchDataItems","removeDataItem","countDataItems","queryDistinctValues","queryDataItems","aggregateDataItems","bulkInsertDataItems","bulkUpdateDataItems","bulkSaveDataItems","bulkRemoveDataItems","queryReferencedDataItems","bulkInsertDataItemReferences","replaceDataItemReferences","bulkRemoveDataItemReferences","isReferencedDataItem","truncateDataItems","searchDataItems","call","error","isHttpError","_error$response","_error$response2","status","wixDataError","messages","payloadIsTooLarge","parsedError","parseError","internalError","codes","UnknownError","exports"],"sources":["../../../src/api/ApiClient.ts"],"sourcesContent":["import type {\n HttpApiClient,\n RequestInterceptor,\n Request,\n HttpApiClientFactory,\n} from '../types/api'\nimport {\n decode as parseDates,\n encode as serializeDates,\n base64url,\n} from '../utils'\nimport { messages, wixDataError, codes } from '../errors'\n\nimport { isHttpError, parseError } from './errors'\nimport {\n AggregateDataItemsRequest,\n AggregateDataItemsResponse,\n BulkInsertDataItemReferencesRequest,\n BulkInsertDataItemReferencesResponse,\n BulkInsertDataItemsRequest,\n BulkInsertDataItemsResponse,\n BulkPatchDataItemsRequest,\n BulkPatchDataItemsResponse,\n BulkRemoveDataItemReferencesRequest,\n BulkRemoveDataItemReferencesResponse,\n BulkRemoveDataItemsRequest,\n BulkRemoveDataItemsResponse,\n BulkSaveDataItemsRequest,\n BulkSaveDataItemsResponse,\n BulkUpdateDataItemsRequest,\n BulkUpdateDataItemsResponse,\n CountDataItemsRequest,\n CountDataItemsResponse,\n GetDataItemRequest,\n GetDataItemResponse,\n InsertDataItemRequest,\n InsertDataItemResponse,\n IsReferencedDataItemRequest,\n IsReferencedDataItemResponse,\n PatchDataItemRequest,\n PatchDataItemResponse,\n QueryDataItemsRequest,\n QueryDataItemsResponse,\n QueryDistinctValuesRequest,\n QueryDistinctValuesResponse,\n QueryReferencedDataItemsRequest,\n QueryReferencedDataItemsResponse,\n RemoveDataItemRequest,\n RemoveDataItemResponse,\n ReplaceDataItemReferencesRequest,\n ReplaceDataItemReferencesResponse,\n SaveDataItemRequest,\n SaveDataItemResponse,\n TruncateDataItemsRequest,\n TruncateDataItemsResponse,\n UpdateDataItemRequest,\n UpdateDataItemResponse,\n SearchDataItemsRequest,\n SearchDataItemsResponse,\n} from '../types/data-item-types'\n\nconst SUPPORTS_GET_METHOD: Record<string, boolean> = {\n 'com.wixpress.cloud.data.api.data.DataItemService.QueryDataItems': true,\n}\n\nexport function apiRequestInterceptor<R extends Request>(\n allowGet: boolean\n): RequestInterceptor<R> {\n return (request) => {\n const preferGet = allowGet && SUPPORTS_GET_METHOD[request.methodFqn ?? '']\n const data = serializeDates(request.data)\n if (preferGet) {\n // https://github.com/wix-private/server-infra/tree/master/framework/grpc/rest#complex-requests-messages-with-get-mappings\n const url = `${request.url}?.r=${base64url(data)}`\n if (url.length <= 2048) {\n return {\n ...request,\n method: 'GET',\n url,\n data: undefined,\n }\n }\n }\n return { ...request, data }\n }\n}\n\nexport class ApiClient {\n private httpApiClient: HttpApiClient\n\n constructor(clientFactory: HttpApiClientFactory<any>, allowGet: boolean) {\n this.httpApiClient = clientFactory(apiRequestInterceptor(allowGet))\n }\n\n async getDataItem(r: GetDataItemRequest): Promise<GetDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.getDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async insertDataItem(\n r: InsertDataItemRequest\n ): Promise<InsertDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.insertDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async saveDataItem(r: SaveDataItemRequest): Promise<SaveDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.saveDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async updateDataItem(\n r: UpdateDataItemRequest\n ): Promise<UpdateDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.updateDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async patchDataItem(r: PatchDataItemRequest): Promise<PatchDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.patchDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async bulkPatchDataItems(\n r: BulkPatchDataItemsRequest\n ): Promise<BulkPatchDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkPatchDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async removeDataItem(\n r: RemoveDataItemRequest\n ): Promise<RemoveDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.removeDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async countDataItems(\n r: CountDataItemsRequest\n ): Promise<CountDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.countDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async queryDistinctValues(\n r: QueryDistinctValuesRequest\n ): Promise<QueryDistinctValuesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryDistinctValues(r)\n return parseDates(response.data)\n })\n }\n\n async queryDataItems(\n r: QueryDataItemsRequest\n ): Promise<QueryDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async aggregateDataItems(\n r: AggregateDataItemsRequest\n ): Promise<AggregateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.aggregateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkInsertDataItems(\n r: BulkInsertDataItemsRequest\n ): Promise<BulkInsertDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkInsertDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkUpdateDataItems(\n r: BulkUpdateDataItemsRequest\n ): Promise<BulkUpdateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkUpdateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkSaveDataItems(\n r: BulkSaveDataItemsRequest\n ): Promise<BulkSaveDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkSaveDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkRemoveDataItems(\n r: BulkRemoveDataItemsRequest\n ): Promise<BulkRemoveDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkRemoveDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async queryReferencedDataItems(\n r: QueryReferencedDataItemsRequest\n ): Promise<QueryReferencedDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.queryReferencedDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async bulkInsertDataItemReferences(\n r: BulkInsertDataItemReferencesRequest\n ): Promise<BulkInsertDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkInsertDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async replaceDataItemReferences(\n r: ReplaceDataItemReferencesRequest\n ): Promise<ReplaceDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.replaceDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async bulkRemoveDataItemReferences(\n r: BulkRemoveDataItemReferencesRequest\n ): Promise<BulkRemoveDataItemReferencesResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.bulkRemoveDataItemReferences(r)\n return parseDates(response.data)\n })\n }\n\n async isReferencedDataItem(\n r: IsReferencedDataItemRequest\n ): Promise<IsReferencedDataItemResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.isReferencedDataItem(r)\n return parseDates(response.data)\n })\n }\n\n async truncateDataItems(\n r: TruncateDataItemsRequest\n ): Promise<TruncateDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.truncateDataItems(r)\n return parseDates(response.data)\n })\n }\n\n async searchDataItems(\n r: SearchDataItemsRequest\n ): Promise<SearchDataItemsResponse> {\n return this.withErrorHandling(async () => {\n const response = await this.httpApiClient.searchDataItems(r)\n return parseDates(response.data)\n })\n }\n\n private async withErrorHandling<T>(call: () => T): Promise<T> {\n try {\n return await call()\n } catch (error: unknown) {\n if (isHttpError(error)) {\n if (error.response?.status === 413) {\n throw wixDataError(messages.payloadIsTooLarge(), 'WDE0109')\n }\n const parsedError = parseError(error.response?.data)\n if (parsedError) {\n throw parsedError\n }\n }\n throw wixDataError(\n messages.internalError('Unknown error.'),\n codes.UnknownError\n )\n }\n }\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAgDA,MAAMG,mBAA4C,GAAG;EACnD,iEAAiE,EAAE;AACrE,CAAC;AAEM,SAASC,qBAAqBA,CACnCC,QAAiB,EACM;EACvB,OAAQC,OAAO,IAAK;IAClB,MAAMC,SAAS,GAAGF,QAAQ,IAAIF,mBAAmB,CAACG,OAAO,CAACE,SAAS,IAAI,EAAE,CAAC;IAC1E,MAAMC,IAAI,GAAG,IAAAC,aAAc,EAACJ,OAAO,CAACG,IAAI,CAAC;IACzC,IAAIF,SAAS,EAAE;MACb;MACA,MAAMI,GAAG,GAAG,GAAGL,OAAO,CAACK,GAAG,OAAO,IAAAC,gBAAS,EAACH,IAAI,CAAC,EAAE;MAClD,IAAIE,GAAG,CAACE,MAAM,IAAI,IAAI,EAAE;QACtB,OAAO;UACL,GAAGP,OAAO;UACVQ,MAAM,EAAE,KAAK;UACbH,GAAG;UACHF,IAAI,EAAEM;QACR,CAAC;MACH;IACF;IACA,OAAO;MAAE,GAAGT,OAAO;MAAEG;IAAK,CAAC;EAC7B,CAAC;AACH;AAEO,MAAMO,SAAS,CAAC;EAGrBC,WAAWA,CAACC,aAAwC,EAAEb,QAAiB,EAAE;IAAA,IAAAc,gBAAA,CAAAC,OAAA;IACvE,IAAI,CAACC,aAAa,GAAGH,aAAa,CAACd,qBAAqB,CAACC,QAAQ,CAAC,CAAC;EACrE;EAEA,MAAMiB,WAAWA,CAACC,CAAqB,EAAgC;IACrE,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACC,WAAW,CAACC,CAAC,CAAC;MACxD,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMkB,cAAcA,CAClBJ,CAAwB,EACS;IACjC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACM,cAAc,CAACJ,CAAC,CAAC;MAC3D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMmB,YAAYA,CAACL,CAAsB,EAAiC;IACxE,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACO,YAAY,CAACL,CAAC,CAAC;MACzD,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMoB,cAAcA,CAClBN,CAAwB,EACS;IACjC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACQ,cAAc,CAACN,CAAC,CAAC;MAC3D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMqB,aAAaA,CAACP,CAAuB,EAAkC;IAC3E,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACS,aAAa,CAACP,CAAC,CAAC;MAC1D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMsB,kBAAkBA,CACtBR,CAA4B,EACS;IACrC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACU,kBAAkB,CAACR,CAAC,CAAC;MAC/D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMuB,cAAcA,CAClBT,CAAwB,EACS;IACjC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACW,cAAc,CAACT,CAAC,CAAC;MAC3D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMwB,cAAcA,CAClBV,CAAwB,EACS;IACjC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACY,cAAc,CAACV,CAAC,CAAC;MAC3D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMyB,mBAAmBA,CACvBX,CAA6B,EACS;IACtC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACa,mBAAmB,CAACX,CAAC,CAAC;MAChE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM0B,cAAcA,CAClBZ,CAAwB,EACS;IACjC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACc,cAAc,CAACZ,CAAC,CAAC;MAC3D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM2B,kBAAkBA,CACtBb,CAA4B,EACS;IACrC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACe,kBAAkB,CAACb,CAAC,CAAC;MAC/D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM4B,mBAAmBA,CACvBd,CAA6B,EACS;IACtC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACgB,mBAAmB,CAACd,CAAC,CAAC;MAChE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM6B,mBAAmBA,CACvBf,CAA6B,EACS;IACtC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACiB,mBAAmB,CAACf,CAAC,CAAC;MAChE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM8B,iBAAiBA,CACrBhB,CAA2B,EACS;IACpC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACkB,iBAAiB,CAAChB,CAAC,CAAC;MAC9D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAM+B,mBAAmBA,CACvBjB,CAA6B,EACS;IACtC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACmB,mBAAmB,CAACjB,CAAC,CAAC;MAChE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMgC,wBAAwBA,CAC5BlB,CAAkC,EACS;IAC3C,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACoB,wBAAwB,CAAClB,CAAC,CAAC;MACrE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMiC,4BAA4BA,CAChCnB,CAAsC,EACS;IAC/C,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACqB,4BAA4B,CAACnB,CAAC,CAAC;MACzE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMkC,yBAAyBA,CAC7BpB,CAAmC,EACS;IAC5C,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACsB,yBAAyB,CAACpB,CAAC,CAAC;MACtE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMmC,4BAA4BA,CAChCrB,CAAsC,EACS;IAC/C,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACuB,4BAA4B,CAACrB,CAAC,CAAC;MACzE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMoC,oBAAoBA,CACxBtB,CAA8B,EACS;IACvC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACwB,oBAAoB,CAACtB,CAAC,CAAC;MACjE,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMqC,iBAAiBA,CACrBvB,CAA2B,EACS;IACpC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAACyB,iBAAiB,CAACvB,CAAC,CAAC;MAC9D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAMsC,eAAeA,CACnBxB,CAAyB,EACS;IAClC,OAAO,IAAI,CAACC,iBAAiB,CAAC,YAAY;MACxC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACJ,aAAa,CAAC0B,eAAe,CAACxB,CAAC,CAAC;MAC5D,OAAO,IAAAG,aAAU,EAACD,QAAQ,CAAChB,IAAI,CAAC;IAClC,CAAC,CAAC;EACJ;EAEA,MAAce,iBAAiBA,CAAIwB,IAAa,EAAc;IAC5D,IAAI;MACF,OAAO,MAAMA,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,OAAOC,KAAc,EAAE;MACvB,IAAI,IAAAC,oBAAW,EAACD,KAAK,CAAC,EAAE;QAAA,IAAAE,eAAA,EAAAC,gBAAA;QACtB,IAAI,EAAAD,eAAA,GAAAF,KAAK,CAACxB,QAAQ,qBAAd0B,eAAA,CAAgBE,MAAM,MAAK,GAAG,EAAE;UAClC,MAAM,IAAAC,oBAAY,EAACC,gBAAQ,CAACC,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC;QAC7D;QACA,MAAMC,WAAW,GAAG,IAAAC,mBAAU,GAAAN,gBAAA,GAACH,KAAK,CAACxB,QAAQ,qBAAd2B,gBAAA,CAAgB3C,IAAI,CAAC;QACpD,IAAIgD,WAAW,EAAE;UACf,MAAMA,WAAW;QACnB;MACF;MACA,MAAM,IAAAH,oBAAY,EAChBC,gBAAQ,CAACI,aAAa,CAAC,gBAAgB,CAAC,EACxCC,aAAK,CAACC,YACR,CAAC;IACH;EACF;AACF;AAACC,OAAA,CAAA9C,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -13,6 +13,7 @@ var _WixDataResultImpl = require("./impl/WixDataResultImpl");
|
|
|
13
13
|
var _WixDataAggregateImpl = require("./impl/WixDataAggregateImpl");
|
|
14
14
|
var _ApiClient = require("./ApiClient");
|
|
15
15
|
var _WixDataPatchImpl = require("./impl/WixDataPatchImpl");
|
|
16
|
+
var _WixDataSearchImpl = require("./impl/WixDataSearchImpl");
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
19
|
class WixDataApi {
|
|
@@ -304,6 +305,49 @@ class WixDataApi {
|
|
|
304
305
|
}
|
|
305
306
|
});
|
|
306
307
|
});
|
|
308
|
+
(0, _defineProperty2.default)(this, "search", collectionName => {
|
|
309
|
+
const ensureValidQuery = invalidArgs => {
|
|
310
|
+
if (invalidArgs.length > 0) {
|
|
311
|
+
throw (0, _errors.wdeValidationError)(_errors.messages.queryValidations.queryInvalid(collectionName, invalidArgs));
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
return new _WixDataSearchImpl.WixDataSearchImpl({
|
|
315
|
+
collectionName,
|
|
316
|
+
onRun: async (params, options) => {
|
|
317
|
+
ensureValidQuery([...params.invalidArguments, ...apiValidator().collectionName(collectionName).options(options).validateAndReturn()]);
|
|
318
|
+
const expression = params.queryText;
|
|
319
|
+
const fetch = cursorOrOffset => this.trace('search', {
|
|
320
|
+
collectionName,
|
|
321
|
+
expression
|
|
322
|
+
})(async env => {
|
|
323
|
+
const request = {
|
|
324
|
+
...env,
|
|
325
|
+
dataCollectionId: collectionName,
|
|
326
|
+
search: {
|
|
327
|
+
filter: params.filterTree,
|
|
328
|
+
sort: toSort(params.orderBy),
|
|
329
|
+
fields: params.projectedFields,
|
|
330
|
+
search: {
|
|
331
|
+
expression: params.queryText,
|
|
332
|
+
fuzzy: params.fuzzy,
|
|
333
|
+
mode: params.searchMode
|
|
334
|
+
},
|
|
335
|
+
...toPaging(params.limitNumber, cursorOrOffset)
|
|
336
|
+
},
|
|
337
|
+
referencedItemOptions: params.included,
|
|
338
|
+
...toReadOptions(options)
|
|
339
|
+
};
|
|
340
|
+
const {
|
|
341
|
+
dataItems,
|
|
342
|
+
pagingMetadata
|
|
343
|
+
} = await this.client.searchDataItems(request);
|
|
344
|
+
return [dataItems.map(toDataItem), pagingMetadata];
|
|
345
|
+
});
|
|
346
|
+
const [items, paging] = await fetch(params.skipNumber);
|
|
347
|
+
return new _WixDataResultImpl.WixDataResultImpl(items, paging, fetch, params);
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
});
|
|
307
351
|
// NOTE find method is not implemented
|
|
308
352
|
(0, _defineProperty2.default)(this, "fetch", withArgs(async (args, collectionName, cursor, limit, options) => {
|
|
309
353
|
await apiValidator().arity('fetch', args, 2, 4).collectionName(collectionName).isNonEmptyString(cursor, 'cursor').validateAndReject();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","apiTypes","_interopRequireWildcard","_utils","_common","_WixDataQueryImpl","_WixDataResultImpl","_WixDataAggregateImpl","_ApiClient","_WixDataPatchImpl","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","WixDataApi","constructor","clientFactory","allowGet","environment","gridAppId","tracer","_defineProperty2","withArgs","args","collectionName","options","apiValidator","arity","validateAndReject","trace","env","client","truncateDataItems","dataCollectionId","toOptions","itemId","dataItem","getDataItem","dataItemId","toReadOptions","fields","catch","recover","ItemDoesNotExistCode","toDataItem","item","warnAboutBrokenFields","insertDataItem","id","_id","data","toUpdateOptions","saveDataItem","updateDataItem","removeDataItem","fieldModification","action","ACTION","SET_FIELD","fieldPath","setFieldOptions","value","actionOptions","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","Error","WixDataPatchImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","result","patchDataItem","patch","toPatchOptions","itemIds","WixDataBulkPatchImpl","results","bulkPatchDataItems","patches","toBulkResult","ensureValidQuery","invalidArgs","length","wdeValidationError","messages","queryValidations","queryInvalid","WixDataQueryImpl","onCount","params","invalidArguments","validateAndReturn","totalCount","countDataItems","filter","filterTree","onDistinct","field","_toSort$find","fieldName","order","toSort","orderBy","find","o","fetch","cursorOrOffset","returnTotalCount","distinctValues","pagingMetadata","queryDistinctValues","toPaging","limitNumber","isOffset","items","paging","skipNumber","WixDataResultImpl","onFind","dataItems","queryDataItems","query","projectedFields","sort","referencedItemOptions","included","cursor","limit","isNonEmptyString","WixDataAggregateImpl","validationErrors","aggregateValidations","aggregateInvalid","toOperation","itemFieldName","undefined","aggregateDataItems","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","unwrapAggregationId","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","referringItemId","referringItemFieldName","SortOrder","ASC","DESC","skip","refsOrAttr","leftOrOpts","right","refs","opts","argc","rights","asArray","relationshipName","left","references","bulkInsertDataItemReferences","dataItemReferences","referencedItemId","referenceParameters","replaceDataItemReferences","newReferencedItemIds","referenceRemoveParameters","bulkRemoveDataItemReferences","isReferenced","isReferencedDataItem","consistentRead","ApiClient","wixData","filterBuilder","request","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","includeReferencedItems","includeReferences","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","cursorPaging","offset","fieldOrder","providerOrValue","code","error","_details","details","applicationError","Promise","resolve","reject","hasFieldWithDollar","hasField","key","startsWith","hasFieldWithDot","includes","console","warn","errors","flatMap","_r$itemMetadata","_r$itemMetadata2","itemMetadata","success","BulkError","description","originalIndex","_r$itemMetadata3","inserted","BulkActionType","INSERT","updated","UPDATE","PATCH","removed","DELETE","skipped","insertedItemIds","_r$itemMetadata4","updatedItemIds","_r$itemMetadata5","removedItemIds","_r$itemMetadata6","isObject","rest","keys","notEmpty","xOrXs","isArray","commonApiValidator"],"sources":["../../../src/api/WixDataApi.ts"],"sourcesContent":["import {\n apiValidator as commonApiValidator,\n messages,\n BulkError,\n wdeValidationError,\n} from '../errors'\nimport { HttpApiClientFactory } from '../types'\nimport * as apiTypes from '../types/data-item-types'\n\nimport { hasField, isObject, isArray } from '../utils'\nimport { filterBuilder } from './common'\nimport {\n Provider,\n WixDataBulkResult,\n WixDataItem,\n WixDataItemOrId,\n WixDataOptions,\n WixDataPatchOptions,\n WixDataQueryReferencedOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WixDataReference,\n WixDataUpdateOptions,\n} from './types'\nimport { QueryParams, WixDataQueryImpl } from './impl/WixDataQueryImpl'\nimport { WixDataQuery } from './WixDataQuery'\nimport { WixDataResultImpl, PageFetcher } from './impl/WixDataResultImpl'\nimport { WixDataAggregateImpl } from './impl/WixDataAggregateImpl'\nimport { ApiClient } from './ApiClient'\nimport {\n WixDataPatch,\n FieldModification,\n WixDataBulkPatch,\n} from './WixDataPatch'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport { WixDataBulkPatchImpl, WixDataPatchImpl } from './impl/WixDataPatchImpl'\n\ntype ProvidedOpt<T> = T | undefined | Provider<T | undefined>\ntype TraceWith = (\n label: string,\n opts?: object\n) => <T>(fn: () => Promise<T>) => Promise<T>\n\nexport class WixDataApi {\n private client: ApiClient\n\n constructor(\n clientFactory: HttpApiClientFactory<any>,\n allowGet: boolean,\n private readonly environment?: apiTypes.Environment,\n private readonly gridAppId?: ProvidedOpt<string>,\n private readonly tracer?: TraceWith\n ) {\n this.client = new ApiClient(clientFactory, allowGet)\n }\n\n get wixData(): WixDataApi {\n return this\n }\n\n get filter(): WixDataFilter {\n return filterBuilder()\n }\n\n // NOTE sort method for builder is not implemented\n\n truncate = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataOptions\n ): Promise<void> => {\n await apiValidator()\n .arity('truncate', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n return this.trace('truncate', { collectionName })(async (env) => {\n await this.client.truncateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toOptions(options),\n })\n })\n }\n )\n\n // --- single-item methods ---\n\n get = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('get', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('get', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .getDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toReadOptions(options),\n fields: options?.fields,\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n insert = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('insert', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n warnAboutBrokenFields(item)\n\n return this.trace('insert', { collectionName })(async (env) => {\n const { dataItem } = await this.client.insertDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n\n return toDataItem(dataItem!)\n })\n }\n )\n\n save = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('save', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('save', { collectionName })(async (env) => {\n const { dataItem } = await this.client.saveDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n update = withArgs(\n async (\n args,\n collectionName: string,\n item: WixDataItem,\n options?: WixDataUpdateOptions\n ) => {\n await apiValidator()\n .arity('update', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('update', { collectionName })(async (env) => {\n const { dataItem } = await this.client.updateDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n remove = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('remove', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('remove', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .removeDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toOptions(options),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n private toFieldModificationApi = (fieldModification: FieldModification) => {\n switch (fieldModification.action) {\n case 'SET_FIELD':\n return {\n action: apiTypes.ACTION.SET_FIELD,\n fieldPath: fieldModification.fieldPath,\n setFieldOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'REMOVE_FIELD':\n return {\n action: apiTypes.ACTION.REMOVE_FIELD,\n fieldPath: fieldModification.fieldPath,\n }\n case 'INCREMENT_FIELD':\n return {\n action: apiTypes.ACTION.INCREMENT_FIELD,\n fieldPath: fieldModification.fieldPath,\n incrementFieldOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'APPEND_TO_ARRAY':\n return {\n action: apiTypes.ACTION.APPEND_TO_ARRAY,\n fieldPath: fieldModification.fieldPath,\n appendToArrayOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'REMOVE_FROM_ARRAY':\n return {\n action: apiTypes.ACTION.REMOVE_FROM_ARRAY,\n fieldPath: fieldModification.fieldPath,\n removeFromArrayOptions: {\n value: fieldModification.actionOptions,\n },\n }\n default:\n throw new Error('Invalid patch action')\n }\n }\n\n patch = (collectionName: string, itemId: string): WixDataPatch => {\n return new WixDataPatchImpl({\n collectionName,\n itemId,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patch: {\n dataItemId: patchParams.itemId,\n fieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? toDataItem(result.dataItem) : null\n })\n },\n })\n }\n\n bulkPatch = (collectionName: string, itemIds: string[]): WixDataBulkPatch => {\n return new WixDataBulkPatchImpl({\n collectionName,\n itemIds,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patches: patchParams.itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications,\n })),\n ...toPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n },\n })\n }\n\n // --- query, count, distinct ---\n\n query = (collectionName: string): WixDataQuery => {\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataQueryImpl({\n collectionName,\n onCount: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('count', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n filter: params.filterTree,\n ...toReadOptions(options),\n })\n return totalCount!\n })\n },\n onDistinct: async (args, params, field, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('distinct', args, 1, 2)\n .fieldName(field)\n .options(options)\n .validateAndReturn(),\n ])\n\n const order = toSort(params.orderBy).find(\n (o) => o.fieldName === field\n )?.order\n\n const fetch: PageFetcher<any> = (cursorOrOffset, returnTotalCount) =>\n this.trace('distinct', { collectionName, field })(async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n fieldName: field,\n filter: params.filterTree,\n order,\n returnTotalCount,\n }\n : {}),\n })\n return [distinctValues!, pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n onFind: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('find', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: params.projectedFields,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n }\n : {}),\n },\n referencedItemOptions: params.included,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n // NOTE find method is not implemented\n\n fetch = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('fetch', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n ...toPaging(limit, cursorOrOffset),\n },\n ...toReadOptions(options),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(cursor)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n collectionName,\n skipNumber: 0,\n })\n }\n )\n\n // --- aggregate ---\n\n aggregate = (collectionName: string): WixDataAggregate => {\n return new WixDataAggregateImpl({\n collectionName,\n onRun: async (args, params, options) => {\n const validationErrors = [\n ...params.invalidArguments,\n ...apiValidator()\n .arity('run', args, 0, 1)\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ]\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.aggregateValidations.aggregateInvalid(\n collectionName,\n validationErrors\n )\n )\n }\n\n const fetch: PageFetcher<Record<string, any>> = (\n cursorOrOffset,\n returnTotalCount\n ) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const toOperation = (field?: string) =>\n field ? { itemFieldName: field } : undefined\n\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset)\n ? {\n initialFilter: params.filterTree,\n aggregation: {\n groupingFields: params.groupBy,\n operations: params.aggregates.map((a) => ({\n resultFieldName: a.name,\n average: toOperation(a.avg),\n min: toOperation(a.min),\n max: toOperation(a.max),\n sum: toOperation(a.sum),\n itemCount: a.count ? {} : undefined,\n })),\n },\n finalFilter: params.havingTree,\n sort: toSort(params.orderBy),\n returnTotalCount,\n }\n : {}),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n fetchAggregate = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ) => {\n await apiValidator()\n .arity('fetchAggregate', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher<Record<string, any>> = (cursorOrOffset) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(limit, cursorOrOffset),\n ...toReadOptions(options),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor, true)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n skipNumber: 0,\n collectionName,\n })\n }\n )\n\n // --- bulk methods ---\n\n bulkRemove = withArgs(\n async (\n args,\n collectionName: string,\n itemIds: string[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkRemove', args, 2, 3)\n .collectionName(collectionName)\n .itemIds(itemIds, collectionName)\n .bulkRemoveOptions(options)\n .validateAndReject()\n\n return this.trace('bulkRemove', { collectionName })(async (env) => {\n const { results } = await this.client.bulkRemoveDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItemIds: itemIds,\n ...toOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n )\n\n private async runBulkSave(\n env: { environment?: apiTypes.Environment; appId?: string },\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions,\n overrideExisting: boolean = true\n ): Promise<WixDataBulkResult> {\n const request: apiTypes.BulkInsertDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n }\n const { results } = await (overrideExisting\n ? this.client.bulkSaveDataItems(request)\n : this.client.bulkInsertDataItems(request))\n const ignoreCodes = overrideExisting ? [] : ['WDE0074']\n return toBulkResult(items, results!, ignoreCodes)\n }\n\n bulkInsert = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions & { overrideExisting?: boolean }\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkInsert', args, 2, 3)\n .items(items, collectionName)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('bulkInsert', { collectionName, options })(\n async (appId) =>\n this.runBulkSave(\n appId,\n collectionName,\n items,\n options,\n options?.overrideExisting ?? false\n )\n )\n }\n )\n\n bulkSave = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkSave', args, 2, 3)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkSave', { collectionName })(async (env) =>\n this.runBulkSave(env, collectionName, items, options)\n )\n }\n )\n\n bulkUpdate = withArgs(\n async (\n args,\n collectionName: string,\n items: WixDataItem[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkUpdate', args, 2, 3)\n .bulkUpdateOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkUpdate', { collectionName })(async (env) => {\n const { results } = await this.client.bulkUpdateDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(items, results!, ['WDE0073'])\n })\n }\n )\n\n // --- references ---\n\n fetchReferenced = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataResult<WixDataItem | string>> => {\n await apiValidator()\n .arity('fetchReferenced', args, 2, 4)\n .isNonEmptyString(cursor, 'cursor')\n .collectionName(collectionName)\n .validateAndReject()\n\n const fetch: PageFetcher<WixDataItem | string> = (current) =>\n this.trace('fetchReferenced', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(limit, current),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor)\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: 0,\n })\n }\n )\n\n queryReferenced = withArgs(\n async (\n args,\n collectionName: string,\n holdingItem: WixDataItemOrId,\n relationshipAttribute: string,\n options?: WixDataQueryReferencedOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('queryReferenced', args, 3, 4)\n .collectionName(collectionName)\n .referenceParameter(holdingItem)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n const id = itemId(holdingItem)\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('queryReferenced', {\n collectionName,\n itemId: id,\n options,\n relationshipAttribute,\n })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(options?.limit ?? 50, cursorOrOffset),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n ...(isOffset(cursorOrOffset)\n ? {\n referringItemId: id,\n referringItemFieldName: relationshipAttribute,\n order:\n options?.order === 'asc'\n ? apiTypes.SortOrder.ASC\n : options?.order === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined,\n returnTotalCount,\n }\n : {}),\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n options?.skip ?? 0,\n options?.returnTotalCount\n )\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: options?.limit ?? 50,\n skipNumber: options?.skip ?? 0,\n })\n }\n )\n\n insertReference: {\n // overload with array of references\n (\n collectionName: string,\n refs: WixDataReference[],\n options?: WixDataOptions\n ): Promise<void>\n // overload with separate left and right(s)\n (\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void>\n } = withArgs(\n async (\n args,\n collectionName: string,\n refsOrAttr: any,\n leftOrOpts?: any,\n right?: any,\n options?: any\n ) => {\n let refs: WixDataReference[]\n let opts: WixDataOptions\n let argc: [number, number]\n\n if (typeof refsOrAttr === 'string') {\n const rights: WixDataItemOrId[] = asArray(right)\n refs = rights.map((r) => ({\n relationshipName: refsOrAttr,\n left: leftOrOpts as WixDataItemOrId,\n right: r,\n }))\n opts = options\n argc = [4, 5]\n } else {\n refs = refsOrAttr\n opts = leftOrOpts\n argc = [2, 3]\n }\n await apiValidator()\n .arity('insertReference', args, ...argc)\n .collectionName(collectionName)\n .references(refs)\n .options(opts)\n .validateAndReject()\n\n await this.trace('insertReference', { collectionName })(async (env) =>\n this.client.bulkInsertDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: refs.map((r) => ({\n referringItemFieldName: r.relationshipName,\n referringItemId: itemId(r.left),\n referencedItemId: itemId(r.right),\n })),\n ...toOptions(opts),\n })\n )\n }\n )\n\n replaceReferences = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void> => {\n const rights = asArray(right)\n await apiValidator()\n .arity('replaceReferences', args, 4, 5)\n .collectionName(collectionName)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .referenceParameter(left)\n .referenceParameters(rights)\n .options(options)\n .validateAndReject()\n\n await this.trace('replaceReferences', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.replaceDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n newReferencedItemIds: rights.map(itemId),\n ...toOptions(options),\n })\n )\n }\n )\n\n removeReference = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ) => {\n const rights = asArray(right)\n await apiValidator()\n .arity('removeReference', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceRemoveParameters(rights)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n await this.trace('removeReference', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.bulkRemoveDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: rights.map((r) => ({\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(r),\n })),\n ...toOptions(options),\n })\n )\n }\n )\n\n isReferenced = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId,\n options?: WixDataReadOptions\n ): Promise<boolean> => {\n await apiValidator()\n .arity('isReferenced', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceParameter(right)\n .options(options)\n .validateAndReject()\n\n return this.trace('isReferenced', {\n collectionName,\n relationshipAttribute,\n })(async (env) => {\n const { isReferenced } = await this.client.isReferencedDataItem({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(right),\n ...toReadOptions(options),\n consistentRead: options?.consistentRead,\n })\n return isReferenced!\n })\n }\n )\n\n private trace(\n action: string,\n opts: object\n ): <R>(\n fn: (env: {\n environment?: apiTypes.Environment\n appId?: string\n }) => Promise<R>\n ) => Promise<R> {\n return async (fn) => {\n const gridAppId = await get(this.gridAppId)\n const env = { appId: gridAppId, environment: this.environment }\n if (this.tracer) {\n return this.tracer(`WixDataApi.${action}`, {\n ...opts,\n gridAppId,\n environment: this.environment,\n })(() => fn(env))\n }\n return fn(env)\n }\n }\n}\n\nfunction withArgs<Args extends any[], R>(\n fn: (all: IArguments, ...args: Args) => R\n): (...args: Args) => R {\n return function (...args) {\n return fn(arguments, ...args)\n }\n}\n\nfunction toPatchOptions(options?: WixDataPatchOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toOptions(opts?: WixDataOptions) {\n if (!opts) {\n return undefined\n }\n const res = {\n suppressHooks: opts.suppressHooks,\n appOptions: opts.appOptions,\n ...draftsOptions(opts?.showDrafts),\n }\n if (Object.entries(res).every((kv) => kv[1] === undefined)) {\n return undefined\n }\n return res\n}\n\nfunction toReadOptions(options?: WixDataReadOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n appOptions: options?.appOptions,\n ...draftsOptions(options?.showDrafts),\n consistentRead: options?.consistentRead,\n language: options?.language,\n }\n}\n\nfunction draftsOptions(showDrafts?: boolean) {\n return showDrafts !== undefined\n ? { publishPluginOptions: { includeDraftItems: showDrafts } }\n : {}\n}\n\nfunction toDataItem(item: apiTypes.DataItem): WixDataItem {\n return item.data as WixDataItem\n}\n\nfunction toPaging(limit: number | undefined, cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'string'\n ? {\n cursorPaging: {\n limit,\n cursor: cursorOrOffset,\n },\n }\n : limit !== undefined || cursorOrOffset > 0\n ? {\n paging: {\n limit,\n offset: cursorOrOffset,\n },\n }\n : {}\n}\n\nfunction toSort(orderBy: QueryParams['orderBy']): apiTypes.Sorting[] {\n return orderBy.map((fieldOrder) => {\n const [[fieldName, sort]] = Object.entries(fieldOrder)\n const order =\n sort === 'asc'\n ? apiTypes.SortOrder.ASC\n : sort === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined\n return { fieldName, order }\n })\n}\n\nasync function get<T>(providerOrValue: T | Provider<T>): Promise<T> {\n if (typeof (providerOrValue as any)?.get === 'function') {\n return (providerOrValue as Provider<T>).get()\n }\n return providerOrValue as T\n}\n\nfunction recover<T>(code: string, value: T): (error: unknown) => Promise<T> {\n return (error) => {\n if (\n error instanceof Error &&\n (error as any)?.details?.applicationError?.code === code\n ) {\n return Promise.resolve(value)\n }\n return Promise.reject(error)\n }\n}\n\nfunction warnAboutBrokenFields(item: Partial<WixDataItem>) {\n const hasFieldWithDollar = hasField(item, (key) => key.startsWith('$'))\n const hasFieldWithDot = hasField(item, (key) => key.includes('.'))\n if (hasFieldWithDollar) {\n console.error(\n \"Data inserted contains field name prefixed with symbol '$'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n if (hasFieldWithDot) {\n console.warn(\n \"Data inserted contains field name containing symbol '.'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n}\n\nfunction toBulkResult(\n request: any[],\n results: apiTypes.BulkDataItemResult[],\n ignoreCodes: string[] = []\n): WixDataBulkResult {\n const errors = results.flatMap((r) => {\n if (r.itemMetadata?.success || !r.itemMetadata?.error) {\n return []\n }\n if (ignoreCodes.includes(r.itemMetadata.error.code ?? '')) {\n return []\n }\n return [\n new BulkError(\n r.itemMetadata.error.description!,\n r.itemMetadata.error.code!,\n request[r.itemMetadata.originalIndex!],\n 'BulkError',\n r.itemMetadata.originalIndex!\n ),\n ]\n })\n const success = results.filter((r) => r.itemMetadata?.success)\n const inserted = success.filter(\n (r) => r.action === apiTypes.BulkActionType.INSERT\n )\n const updated = success.filter(\n (r) =>\n r.action === apiTypes.BulkActionType.UPDATE ||\n r.action === apiTypes.BulkActionType.PATCH\n )\n const removed = success.filter(\n (r) => r.action === apiTypes.BulkActionType.DELETE\n )\n return {\n inserted: inserted.length,\n updated: updated.length,\n removed: removed.length,\n skipped: request.length - errors.length - success.length,\n errors,\n insertedItemIds: inserted.map((r) => r.itemMetadata?.id!),\n updatedItemIds: updated.map((r) => r.itemMetadata?.id!),\n removedItemIds: removed.map((r) => r.itemMetadata?.id!),\n }\n}\n\nfunction unwrapAggregationId(\n items: Record<string, any>[]\n): Record<string, any>[] {\n // When grouping by one field WixDataService returns value on _id field directly, DataItemService wraps it in an object, i.e.\n // grouping by surname returns {_id: 'Simpson'} in WixDataService vs {_id: {surname: 'Simpson'}} in DataItemService\n // When grouping by more fields, values are kept wrapped.\n return items.map((item) => {\n const id = item._id\n if (isObject(id)) {\n const [key, ...rest] = Object.keys(id)\n if (rest.length === 0) {\n item._id = id[key]\n return item\n }\n }\n return item\n })\n}\n\nfunction onlyReferencedItems(\n results: apiTypes.ReferencedResult[]\n): WixDataItem[] {\n return results\n .map((result) => result.dataItem)\n .filter(notEmpty)\n .map(toDataItem)\n}\n\nfunction notEmpty<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\nfunction itemId(item: WixDataItemOrId): string {\n return typeof item === 'string' ? item : item._id\n}\n\nfunction asArray<T>(xOrXs: T | T[]): T[] {\n return isArray(xOrXs) ? (xOrXs as T[]) : [xOrXs as T]\n}\n\nfunction isOffset(cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'number'\n}\n\nconst ItemDoesNotExistCode = 'WDE0073'\n\nfunction apiValidator() {\n return commonApiValidator(wdeValidationError)\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_errors","require","apiTypes","_interopRequireWildcard","_utils","_common","_WixDataQueryImpl","_WixDataResultImpl","_WixDataAggregateImpl","_ApiClient","_WixDataPatchImpl","_WixDataSearchImpl","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","WixDataApi","constructor","clientFactory","allowGet","environment","gridAppId","tracer","_defineProperty2","withArgs","args","collectionName","options","apiValidator","arity","validateAndReject","trace","env","client","truncateDataItems","dataCollectionId","toOptions","itemId","dataItem","getDataItem","dataItemId","toReadOptions","fields","catch","recover","ItemDoesNotExistCode","toDataItem","item","warnAboutBrokenFields","insertDataItem","id","_id","data","toUpdateOptions","saveDataItem","updateDataItem","removeDataItem","fieldModification","action","ACTION","SET_FIELD","fieldPath","setFieldOptions","value","actionOptions","REMOVE_FIELD","INCREMENT_FIELD","incrementFieldOptions","APPEND_TO_ARRAY","appendToArrayOptions","REMOVE_FROM_ARRAY","removeFromArrayOptions","Error","WixDataPatchImpl","onRun","_args","patchParams","fieldModifications","map","toFieldModificationApi","result","patchDataItem","patch","toPatchOptions","itemIds","WixDataBulkPatchImpl","results","bulkPatchDataItems","patches","toBulkResult","ensureValidQuery","invalidArgs","length","wdeValidationError","messages","queryValidations","queryInvalid","WixDataQueryImpl","onCount","params","invalidArguments","validateAndReturn","totalCount","countDataItems","filter","filterTree","onDistinct","field","_toSort$find","fieldName","order","toSort","orderBy","find","o","fetch","cursorOrOffset","returnTotalCount","distinctValues","pagingMetadata","queryDistinctValues","toPaging","limitNumber","isOffset","items","paging","skipNumber","WixDataResultImpl","onFind","dataItems","queryDataItems","query","projectedFields","sort","referencedItemOptions","included","WixDataSearchImpl","expression","queryText","request","search","fuzzy","mode","searchMode","searchDataItems","cursor","limit","isNonEmptyString","WixDataAggregateImpl","validationErrors","aggregateValidations","aggregateInvalid","toOperation","itemFieldName","undefined","aggregateDataItems","initialFilter","aggregation","groupingFields","groupBy","operations","aggregates","resultFieldName","name","average","avg","min","max","sum","itemCount","count","finalFilter","havingTree","unwrapAggregationId","bulkRemoveOptions","bulkRemoveDataItems","dataItemIds","bulkInsertOptions","appId","runBulkSave","overrideExisting","bulkUpdateOptions","bulkUpdateDataItems","current","queryReferencedDataItems","onlyReferencedItems","holdingItem","relationshipAttribute","referenceParameter","referringItemId","referringItemFieldName","SortOrder","ASC","DESC","skip","refsOrAttr","leftOrOpts","right","refs","opts","argc","rights","asArray","relationshipName","left","references","bulkInsertDataItemReferences","dataItemReferences","referencedItemId","referenceParameters","replaceDataItemReferences","newReferencedItemIds","referenceRemoveParameters","bulkRemoveDataItemReferences","isReferenced","isReferencedDataItem","consistentRead","ApiClient","wixData","filterBuilder","bulkSaveDataItems","bulkInsertDataItems","ignoreCodes","fn","exports","arguments","suppressHooks","draftsOptions","showDrafts","includeReferencedItems","includeReferences","res","appOptions","entries","every","kv","language","publishPluginOptions","includeDraftItems","cursorPaging","offset","fieldOrder","providerOrValue","code","error","_details","details","applicationError","Promise","resolve","reject","hasFieldWithDollar","hasField","key","startsWith","hasFieldWithDot","includes","console","warn","errors","flatMap","_r$itemMetadata","_r$itemMetadata2","itemMetadata","success","BulkError","description","originalIndex","_r$itemMetadata3","inserted","BulkActionType","INSERT","updated","UPDATE","PATCH","removed","DELETE","skipped","insertedItemIds","_r$itemMetadata4","updatedItemIds","_r$itemMetadata5","removedItemIds","_r$itemMetadata6","isObject","rest","keys","notEmpty","xOrXs","isArray","commonApiValidator"],"sources":["../../../src/api/WixDataApi.ts"],"sourcesContent":["import {\n apiValidator as commonApiValidator,\n messages,\n BulkError,\n wdeValidationError,\n} from '../errors'\nimport { HttpApiClientFactory } from '../types'\nimport * as apiTypes from '../types/data-item-types'\n\nimport { hasField, isObject, isArray } from '../utils'\nimport { filterBuilder } from './common'\nimport {\n Provider,\n WixDataBulkResult,\n WixDataItem,\n WixDataItemOrId,\n WixDataOptions,\n WixDataPatchOptions,\n WixDataQueryReferencedOptions,\n WixDataReadOptions,\n WixDataReadWithProjectionOptions,\n WixDataReference,\n WixDataUpdateOptions,\n} from './types'\nimport { QueryParams, WixDataQueryImpl } from './impl/WixDataQueryImpl'\nimport { WixDataQuery } from './WixDataQuery'\nimport { WixDataResultImpl, PageFetcher } from './impl/WixDataResultImpl'\nimport { WixDataAggregateImpl } from './impl/WixDataAggregateImpl'\nimport { ApiClient } from './ApiClient'\nimport {\n WixDataPatch,\n FieldModification,\n WixDataBulkPatch,\n} from './WixDataPatch'\nimport { WixDataAggregate } from './WixDataAggregate'\nimport { WixDataFilter } from './WixDataFilter'\nimport { WixDataResult } from './WixDataResult'\nimport { WixDataBulkPatchImpl, WixDataPatchImpl } from './impl/WixDataPatchImpl'\nimport { WixDataSearch } from './WixDataSearch'\nimport { WixDataSearchImpl } from './impl/WixDataSearchImpl'\n\ntype ProvidedOpt<T> = T | undefined | Provider<T | undefined>\ntype TraceWith = (\n label: string,\n opts?: object\n) => <T>(fn: () => Promise<T>) => Promise<T>\n\nexport class WixDataApi {\n private client: ApiClient\n\n constructor(\n clientFactory: HttpApiClientFactory<any>,\n allowGet: boolean,\n private readonly environment?: apiTypes.Environment,\n private readonly gridAppId?: ProvidedOpt<string>,\n private readonly tracer?: TraceWith\n ) {\n this.client = new ApiClient(clientFactory, allowGet)\n }\n\n get wixData(): WixDataApi {\n return this\n }\n\n get filter(): WixDataFilter {\n return filterBuilder()\n }\n\n // NOTE sort method for builder is not implemented\n\n truncate = withArgs(\n async (\n args,\n collectionName: string,\n options?: WixDataOptions\n ): Promise<void> => {\n await apiValidator()\n .arity('truncate', args, 1, 2)\n .collectionName(collectionName)\n .options(options)\n .validateAndReject()\n\n return this.trace('truncate', { collectionName })(async (env) => {\n await this.client.truncateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toOptions(options),\n })\n })\n }\n )\n\n // --- single-item methods ---\n\n get = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('get', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('get', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .getDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toReadOptions(options),\n fields: options?.fields,\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n insert = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('insert', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n warnAboutBrokenFields(item)\n\n return this.trace('insert', { collectionName })(async (env) => {\n const { dataItem } = await this.client.insertDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n\n return toDataItem(dataItem!)\n })\n }\n )\n\n save = withArgs(\n async (\n args,\n collectionName: string,\n item: Partial<WixDataItem>,\n options?: WixDataUpdateOptions\n ): Promise<WixDataItem> => {\n await apiValidator()\n .arity('save', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('save', { collectionName })(async (env) => {\n const { dataItem } = await this.client.saveDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n update = withArgs(\n async (\n args,\n collectionName: string,\n item: WixDataItem,\n options?: WixDataUpdateOptions\n ) => {\n await apiValidator()\n .arity('update', args, 2, 3)\n .collectionName(collectionName)\n .item(item, collectionName, false)\n .options(options)\n .validateAndReject()\n\n return this.trace('update', { collectionName })(async (env) => {\n const { dataItem } = await this.client.updateDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItem: {\n id: item._id,\n data: item,\n },\n ...toUpdateOptions(options),\n })\n return toDataItem(dataItem!)\n })\n }\n )\n\n remove = withArgs(\n async (\n args,\n collectionName: string,\n itemId: string,\n options?: WixDataOptions\n ): Promise<WixDataItem | null> => {\n await apiValidator()\n .arity('remove', args, 2, 3)\n .collectionName(collectionName)\n .itemId(itemId)\n .options(options)\n .validateAndReject()\n\n return this.trace('remove', { collectionName, itemId })(async (env) => {\n const { dataItem } = await this.client\n .removeDataItem({\n ...env,\n dataCollectionId: collectionName,\n dataItemId: itemId,\n ...toOptions(options),\n })\n .catch(\n recover(ItemDoesNotExistCode, {} as apiTypes.GetDataItemResponse)\n )\n return dataItem ? toDataItem(dataItem) : null\n })\n }\n )\n\n private toFieldModificationApi = (fieldModification: FieldModification) => {\n switch (fieldModification.action) {\n case 'SET_FIELD':\n return {\n action: apiTypes.ACTION.SET_FIELD,\n fieldPath: fieldModification.fieldPath,\n setFieldOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'REMOVE_FIELD':\n return {\n action: apiTypes.ACTION.REMOVE_FIELD,\n fieldPath: fieldModification.fieldPath,\n }\n case 'INCREMENT_FIELD':\n return {\n action: apiTypes.ACTION.INCREMENT_FIELD,\n fieldPath: fieldModification.fieldPath,\n incrementFieldOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'APPEND_TO_ARRAY':\n return {\n action: apiTypes.ACTION.APPEND_TO_ARRAY,\n fieldPath: fieldModification.fieldPath,\n appendToArrayOptions: {\n value: fieldModification.actionOptions,\n },\n }\n case 'REMOVE_FROM_ARRAY':\n return {\n action: apiTypes.ACTION.REMOVE_FROM_ARRAY,\n fieldPath: fieldModification.fieldPath,\n removeFromArrayOptions: {\n value: fieldModification.actionOptions,\n },\n }\n default:\n throw new Error('Invalid patch action')\n }\n }\n\n patch = (collectionName: string, itemId: string): WixDataPatch => {\n return new WixDataPatchImpl({\n collectionName,\n itemId,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('patch', { collectionName })(async (env) => {\n const result = await this.client.patchDataItem({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patch: {\n dataItemId: patchParams.itemId,\n fieldModifications,\n },\n ...toPatchOptions(options),\n })\n\n return result.dataItem ? toDataItem(result.dataItem) : null\n })\n },\n })\n }\n\n bulkPatch = (collectionName: string, itemIds: string[]): WixDataBulkPatch => {\n return new WixDataBulkPatchImpl({\n collectionName,\n itemIds,\n onRun: async (_args, patchParams, options) => {\n const fieldModifications = patchParams.fieldModifications.map(\n this.toFieldModificationApi\n )\n\n return this.trace('bulkPatch', { collectionName })(async (env) => {\n const { results } = await this.client.bulkPatchDataItems({\n ...env,\n dataCollectionId: patchParams.collectionName,\n patches: patchParams.itemIds.map((itemId) => ({\n dataItemId: itemId,\n fieldModifications,\n })),\n ...toPatchOptions(options),\n })\n\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n },\n })\n }\n\n // --- query, count, distinct ---\n\n query = (collectionName: string): WixDataQuery => {\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataQueryImpl({\n collectionName,\n onCount: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('count', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n return this.trace('count', { collectionName })(async (env) => {\n const { totalCount } = await this.client.countDataItems({\n ...env,\n dataCollectionId: collectionName,\n filter: params.filterTree,\n ...toReadOptions(options),\n })\n return totalCount!\n })\n },\n onDistinct: async (args, params, field, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('distinct', args, 1, 2)\n .fieldName(field)\n .options(options)\n .validateAndReturn(),\n ])\n\n const order = toSort(params.orderBy).find(\n (o) => o.fieldName === field\n )?.order\n\n const fetch: PageFetcher<any> = (cursorOrOffset, returnTotalCount) =>\n this.trace('distinct', { collectionName, field })(async (env) => {\n const { distinctValues, pagingMetadata } =\n await this.client.queryDistinctValues({\n ...env,\n dataCollectionId: collectionName,\n ...toReadOptions(options),\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n fieldName: field,\n filter: params.filterTree,\n order,\n returnTotalCount,\n }\n : {}),\n })\n return [distinctValues!, pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n onFind: async (args, params, options) => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .arity('find', args, 0, 1)\n .options(options)\n .validateAndReturn(),\n ])\n\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n fields: params.projectedFields,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...(isOffset(cursorOrOffset)\n ? {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n }\n : {}),\n },\n referencedItemOptions: params.included,\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset) ? { returnTotalCount } : {}),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n search = (collectionName: string): WixDataSearch => {\n const ensureValidQuery = (invalidArgs: string[]) => {\n if (invalidArgs.length > 0) {\n throw wdeValidationError(\n messages.queryValidations.queryInvalid(collectionName, invalidArgs)\n )\n }\n }\n\n return new WixDataSearchImpl({\n collectionName,\n onRun: async (\n params,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n ensureValidQuery([\n ...params.invalidArguments,\n ...apiValidator()\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ])\n\n const expression = params.queryText\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('search', { collectionName, expression })(async (env) => {\n const request: apiTypes.SearchDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n search: {\n filter: params.filterTree,\n sort: toSort(params.orderBy),\n fields: params.projectedFields,\n search: {\n expression: params.queryText,\n fuzzy: params.fuzzy,\n mode: params.searchMode,\n },\n ...toPaging(params.limitNumber, cursorOrOffset),\n },\n referencedItemOptions: params.included,\n ...toReadOptions(options),\n }\n\n const { dataItems, pagingMetadata } =\n await this.client.searchDataItems(request)\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(params.skipNumber)\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n // NOTE find method is not implemented\n\n fetch = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('fetch', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher = (cursorOrOffset) =>\n this.trace('query', { collectionName })(async (env) => {\n const { dataItems, pagingMetadata } =\n await this.client.queryDataItems({\n ...env,\n dataCollectionId: collectionName,\n query: {\n ...toPaging(limit, cursorOrOffset),\n },\n ...toReadOptions(options),\n })\n return [dataItems!.map(toDataItem), pagingMetadata!]\n })\n const [items, paging] = await fetch(cursor)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n collectionName,\n skipNumber: 0,\n })\n }\n )\n\n // --- aggregate ---\n\n aggregate = (collectionName: string): WixDataAggregate => {\n return new WixDataAggregateImpl({\n collectionName,\n onRun: async (args, params, options) => {\n const validationErrors = [\n ...params.invalidArguments,\n ...apiValidator()\n .arity('run', args, 0, 1)\n .collectionName(collectionName)\n .options(options)\n .validateAndReturn(),\n ]\n\n if (validationErrors.length > 0) {\n throw wdeValidationError(\n messages.aggregateValidations.aggregateInvalid(\n collectionName,\n validationErrors\n )\n )\n }\n\n const fetch: PageFetcher<Record<string, any>> = (\n cursorOrOffset,\n returnTotalCount\n ) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const toOperation = (field?: string) =>\n field ? { itemFieldName: field } : undefined\n\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(params.limitNumber, cursorOrOffset),\n ...toReadOptions(options),\n ...(isOffset(cursorOrOffset)\n ? {\n initialFilter: params.filterTree,\n aggregation: {\n groupingFields: params.groupBy,\n operations: params.aggregates.map((a) => ({\n resultFieldName: a.name,\n average: toOperation(a.avg),\n min: toOperation(a.min),\n max: toOperation(a.max),\n sum: toOperation(a.sum),\n itemCount: a.count ? {} : undefined,\n })),\n },\n finalFilter: params.havingTree,\n sort: toSort(params.orderBy),\n returnTotalCount,\n }\n : {}),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n params.skipNumber,\n options?.returnTotalCount\n )\n\n return new WixDataResultImpl(items, paging, fetch, params)\n },\n })\n }\n\n fetchAggregate = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadOptions\n ) => {\n await apiValidator()\n .arity('fetchAggregate', args, 2, 4)\n .collectionName(collectionName)\n .isNonEmptyString(cursor, 'cursor')\n .validateAndReject()\n\n const fetch: PageFetcher<Record<string, any>> = (cursorOrOffset) =>\n this.trace('aggregate', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.aggregateDataItems({\n ...env,\n dataCollectionId: collectionName,\n ...toPaging(limit, cursorOrOffset),\n ...toReadOptions(options),\n })\n return [unwrapAggregationId(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor, true)\n\n return new WixDataResultImpl(items, paging, fetch, {\n limitNumber: limit,\n skipNumber: 0,\n collectionName,\n })\n }\n )\n\n // --- bulk methods ---\n\n bulkRemove = withArgs(\n async (\n args,\n collectionName: string,\n itemIds: string[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkRemove', args, 2, 3)\n .collectionName(collectionName)\n .itemIds(itemIds, collectionName)\n .bulkRemoveOptions(options)\n .validateAndReject()\n\n return this.trace('bulkRemove', { collectionName })(async (env) => {\n const { results } = await this.client.bulkRemoveDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItemIds: itemIds,\n ...toOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(itemIds, results!, ['WDE0073'])\n })\n }\n )\n\n private async runBulkSave(\n env: { environment?: apiTypes.Environment; appId?: string },\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions,\n overrideExisting: boolean = true\n ): Promise<WixDataBulkResult> {\n const request: apiTypes.BulkInsertDataItemsRequest = {\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n }\n const { results } = await (overrideExisting\n ? this.client.bulkSaveDataItems(request)\n : this.client.bulkInsertDataItems(request))\n const ignoreCodes = overrideExisting ? [] : ['WDE0074']\n return toBulkResult(items, results!, ignoreCodes)\n }\n\n bulkInsert = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions & { overrideExisting?: boolean }\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkInsert', args, 2, 3)\n .items(items, collectionName)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .validateAndReject()\n\n return this.trace('bulkInsert', { collectionName, options })(\n async (appId) =>\n this.runBulkSave(\n appId,\n collectionName,\n items,\n options,\n options?.overrideExisting ?? false\n )\n )\n }\n )\n\n bulkSave = withArgs(\n async (\n args,\n collectionName: string,\n items: Partial<WixDataItem>[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkSave', args, 2, 3)\n .bulkInsertOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkSave', { collectionName })(async (env) =>\n this.runBulkSave(env, collectionName, items, options)\n )\n }\n )\n\n bulkUpdate = withArgs(\n async (\n args,\n collectionName: string,\n items: WixDataItem[],\n options?: WixDataOptions\n ): Promise<WixDataBulkResult> => {\n await apiValidator()\n .arity('bulkUpdate', args, 2, 3)\n .bulkUpdateOptions(options)\n .collectionName(collectionName)\n .items(items, collectionName)\n .validateAndReject()\n\n return this.trace('bulkUpdate', { collectionName })(async (env) => {\n const { results } = await this.client.bulkUpdateDataItems({\n ...env,\n dataCollectionId: collectionName,\n dataItems: items.map((data) => ({\n id: data._id,\n data,\n })),\n ...toOptions(options),\n })\n // Non-existing items are skipped and not reported as errors.\n return toBulkResult(items, results!, ['WDE0073'])\n })\n }\n )\n\n // --- references ---\n\n fetchReferenced = withArgs(\n async (\n args,\n collectionName: string,\n cursor: string,\n limit?: number,\n options?: WixDataReadWithProjectionOptions\n ): Promise<WixDataResult<WixDataItem | string>> => {\n await apiValidator()\n .arity('fetchReferenced', args, 2, 4)\n .isNonEmptyString(cursor, 'cursor')\n .collectionName(collectionName)\n .validateAndReject()\n\n const fetch: PageFetcher<WixDataItem | string> = (current) =>\n this.trace('fetchReferenced', { collectionName })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(limit, current),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(cursor)\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: limit,\n skipNumber: 0,\n })\n }\n )\n\n queryReferenced = withArgs(\n async (\n args,\n collectionName: string,\n holdingItem: WixDataItemOrId,\n relationshipAttribute: string,\n options?: WixDataQueryReferencedOptions\n ): Promise<WixDataResult> => {\n await apiValidator()\n .arity('queryReferenced', args, 3, 4)\n .collectionName(collectionName)\n .referenceParameter(holdingItem)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n const id = itemId(holdingItem)\n const fetch: PageFetcher = (cursorOrOffset, returnTotalCount) =>\n this.trace('queryReferenced', {\n collectionName,\n itemId: id,\n options,\n relationshipAttribute,\n })(async (env) => {\n const { results, pagingMetadata } =\n await this.client.queryReferencedDataItems({\n ...env,\n ...toPaging(options?.limit ?? 50, cursorOrOffset),\n ...toReadOptions(options),\n dataCollectionId: collectionName,\n fields: options?.fields,\n ...(isOffset(cursorOrOffset)\n ? {\n referringItemId: id,\n referringItemFieldName: relationshipAttribute,\n order:\n options?.order === 'asc'\n ? apiTypes.SortOrder.ASC\n : options?.order === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined,\n returnTotalCount,\n }\n : {}),\n })\n return [onlyReferencedItems(results!), pagingMetadata!]\n })\n\n const [items, paging] = await fetch(\n options?.skip ?? 0,\n options?.returnTotalCount\n )\n return new WixDataResultImpl(items, paging, fetch, {\n collectionName,\n limitNumber: options?.limit ?? 50,\n skipNumber: options?.skip ?? 0,\n })\n }\n )\n\n insertReference: {\n // overload with array of references\n (\n collectionName: string,\n refs: WixDataReference[],\n options?: WixDataOptions\n ): Promise<void>\n // overload with separate left and right(s)\n (\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void>\n } = withArgs(\n async (\n args,\n collectionName: string,\n refsOrAttr: any,\n leftOrOpts?: any,\n right?: any,\n options?: any\n ) => {\n let refs: WixDataReference[]\n let opts: WixDataOptions\n let argc: [number, number]\n\n if (typeof refsOrAttr === 'string') {\n const rights: WixDataItemOrId[] = asArray(right)\n refs = rights.map((r) => ({\n relationshipName: refsOrAttr,\n left: leftOrOpts as WixDataItemOrId,\n right: r,\n }))\n opts = options\n argc = [4, 5]\n } else {\n refs = refsOrAttr\n opts = leftOrOpts\n argc = [2, 3]\n }\n await apiValidator()\n .arity('insertReference', args, ...argc)\n .collectionName(collectionName)\n .references(refs)\n .options(opts)\n .validateAndReject()\n\n await this.trace('insertReference', { collectionName })(async (env) =>\n this.client.bulkInsertDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: refs.map((r) => ({\n referringItemFieldName: r.relationshipName,\n referringItemId: itemId(r.left),\n referencedItemId: itemId(r.right),\n })),\n ...toOptions(opts),\n })\n )\n }\n )\n\n replaceReferences = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ): Promise<void> => {\n const rights = asArray(right)\n await apiValidator()\n .arity('replaceReferences', args, 4, 5)\n .collectionName(collectionName)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .referenceParameter(left)\n .referenceParameters(rights)\n .options(options)\n .validateAndReject()\n\n await this.trace('replaceReferences', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.replaceDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n newReferencedItemIds: rights.map(itemId),\n ...toOptions(options),\n })\n )\n }\n )\n\n removeReference = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId | WixDataItemOrId[],\n options?: WixDataOptions\n ) => {\n const rights = asArray(right)\n await apiValidator()\n .arity('removeReference', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceRemoveParameters(rights)\n .isNonEmptyString(relationshipAttribute, 'relationshipAttribute')\n .options(options)\n .validateAndReject()\n\n await this.trace('removeReference', {\n collectionName,\n relationshipAttribute,\n })(async (env) =>\n this.client.bulkRemoveDataItemReferences({\n ...env,\n dataCollectionId: collectionName,\n dataItemReferences: rights.map((r) => ({\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(r),\n })),\n ...toOptions(options),\n })\n )\n }\n )\n\n isReferenced = withArgs(\n async (\n args,\n collectionName: string,\n relationshipAttribute: string,\n left: WixDataItemOrId,\n right: WixDataItemOrId,\n options?: WixDataReadOptions\n ): Promise<boolean> => {\n await apiValidator()\n .arity('isReferenced', args, 4, 5)\n .collectionName(collectionName)\n .referenceParameter(left)\n .referenceParameter(right)\n .options(options)\n .validateAndReject()\n\n return this.trace('isReferenced', {\n collectionName,\n relationshipAttribute,\n })(async (env) => {\n const { isReferenced } = await this.client.isReferencedDataItem({\n ...env,\n dataCollectionId: collectionName,\n referringItemFieldName: relationshipAttribute,\n referringItemId: itemId(left),\n referencedItemId: itemId(right),\n ...toReadOptions(options),\n consistentRead: options?.consistentRead,\n })\n return isReferenced!\n })\n }\n )\n\n private trace(\n action: string,\n opts: object\n ): <R>(\n fn: (env: {\n environment?: apiTypes.Environment\n appId?: string\n }) => Promise<R>\n ) => Promise<R> {\n return async (fn) => {\n const gridAppId = await get(this.gridAppId)\n const env = { appId: gridAppId, environment: this.environment }\n if (this.tracer) {\n return this.tracer(`WixDataApi.${action}`, {\n ...opts,\n gridAppId,\n environment: this.environment,\n })(() => fn(env))\n }\n return fn(env)\n }\n }\n}\n\nfunction withArgs<Args extends any[], R>(\n fn: (all: IArguments, ...args: Args) => R\n): (...args: Args) => R {\n return function (...args) {\n return fn(arguments, ...args)\n }\n}\n\nfunction toPatchOptions(options?: WixDataPatchOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n ...draftsOptions(options?.showDrafts),\n }\n}\n\nfunction toUpdateOptions(options?: WixDataUpdateOptions) {\n return {\n ...toOptions(options),\n includeReferencedItems: options?.includeReferences,\n }\n}\n\nfunction toOptions(opts?: WixDataOptions) {\n if (!opts) {\n return undefined\n }\n const res = {\n suppressHooks: opts.suppressHooks,\n appOptions: opts.appOptions,\n ...draftsOptions(opts?.showDrafts),\n }\n if (Object.entries(res).every((kv) => kv[1] === undefined)) {\n return undefined\n }\n return res\n}\n\nfunction toReadOptions(options?: WixDataReadOptions) {\n return {\n suppressHooks: options?.suppressHooks,\n appOptions: options?.appOptions,\n ...draftsOptions(options?.showDrafts),\n consistentRead: options?.consistentRead,\n language: options?.language,\n }\n}\n\nfunction draftsOptions(showDrafts?: boolean) {\n return showDrafts !== undefined\n ? { publishPluginOptions: { includeDraftItems: showDrafts } }\n : {}\n}\n\nfunction toDataItem(item: apiTypes.DataItem): WixDataItem {\n return item.data as WixDataItem\n}\n\nfunction toPaging(limit: number | undefined, cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'string'\n ? {\n cursorPaging: {\n limit,\n cursor: cursorOrOffset,\n },\n }\n : limit !== undefined || cursorOrOffset > 0\n ? {\n paging: {\n limit,\n offset: cursorOrOffset,\n },\n }\n : {}\n}\n\nfunction toSort(orderBy: QueryParams['orderBy']): apiTypes.Sorting[] {\n return orderBy.map((fieldOrder) => {\n const [[fieldName, sort]] = Object.entries(fieldOrder)\n const order =\n sort === 'asc'\n ? apiTypes.SortOrder.ASC\n : sort === 'desc'\n ? apiTypes.SortOrder.DESC\n : undefined\n return { fieldName, order }\n })\n}\n\nasync function get<T>(providerOrValue: T | Provider<T>): Promise<T> {\n if (typeof (providerOrValue as any)?.get === 'function') {\n return (providerOrValue as Provider<T>).get()\n }\n return providerOrValue as T\n}\n\nfunction recover<T>(code: string, value: T): (error: unknown) => Promise<T> {\n return (error) => {\n if (\n error instanceof Error &&\n (error as any)?.details?.applicationError?.code === code\n ) {\n return Promise.resolve(value)\n }\n return Promise.reject(error)\n }\n}\n\nfunction warnAboutBrokenFields(item: Partial<WixDataItem>) {\n const hasFieldWithDollar = hasField(item, (key) => key.startsWith('$'))\n const hasFieldWithDot = hasField(item, (key) => key.includes('.'))\n if (hasFieldWithDollar) {\n console.error(\n \"Data inserted contains field name prefixed with symbol '$'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n if (hasFieldWithDot) {\n console.warn(\n \"Data inserted contains field name containing symbol '.'. It is not recommended to use such field names as it will not work with some data operations.\"\n )\n }\n}\n\nfunction toBulkResult(\n request: any[],\n results: apiTypes.BulkDataItemResult[],\n ignoreCodes: string[] = []\n): WixDataBulkResult {\n const errors = results.flatMap((r) => {\n if (r.itemMetadata?.success || !r.itemMetadata?.error) {\n return []\n }\n if (ignoreCodes.includes(r.itemMetadata.error.code ?? '')) {\n return []\n }\n return [\n new BulkError(\n r.itemMetadata.error.description!,\n r.itemMetadata.error.code!,\n request[r.itemMetadata.originalIndex!],\n 'BulkError',\n r.itemMetadata.originalIndex!\n ),\n ]\n })\n const success = results.filter((r) => r.itemMetadata?.success)\n const inserted = success.filter(\n (r) => r.action === apiTypes.BulkActionType.INSERT\n )\n const updated = success.filter(\n (r) =>\n r.action === apiTypes.BulkActionType.UPDATE ||\n r.action === apiTypes.BulkActionType.PATCH\n )\n const removed = success.filter(\n (r) => r.action === apiTypes.BulkActionType.DELETE\n )\n return {\n inserted: inserted.length,\n updated: updated.length,\n removed: removed.length,\n skipped: request.length - errors.length - success.length,\n errors,\n insertedItemIds: inserted.map((r) => r.itemMetadata?.id!),\n updatedItemIds: updated.map((r) => r.itemMetadata?.id!),\n removedItemIds: removed.map((r) => r.itemMetadata?.id!),\n }\n}\n\nfunction unwrapAggregationId(\n items: Record<string, any>[]\n): Record<string, any>[] {\n // When grouping by one field WixDataService returns value on _id field directly, DataItemService wraps it in an object, i.e.\n // grouping by surname returns {_id: 'Simpson'} in WixDataService vs {_id: {surname: 'Simpson'}} in DataItemService\n // When grouping by more fields, values are kept wrapped.\n return items.map((item) => {\n const id = item._id\n if (isObject(id)) {\n const [key, ...rest] = Object.keys(id)\n if (rest.length === 0) {\n item._id = id[key]\n return item\n }\n }\n return item\n })\n}\n\nfunction onlyReferencedItems(\n results: apiTypes.ReferencedResult[]\n): WixDataItem[] {\n return results\n .map((result) => result.dataItem)\n .filter(notEmpty)\n .map(toDataItem)\n}\n\nfunction notEmpty<T>(value: T | null | undefined): value is T {\n return value != null\n}\n\nfunction itemId(item: WixDataItemOrId): string {\n return typeof item === 'string' ? item : item._id\n}\n\nfunction asArray<T>(xOrXs: T | T[]): T[] {\n return isArray(xOrXs) ? (xOrXs as T[]) : [xOrXs as T]\n}\n\nfunction isOffset(cursorOrOffset: string | number) {\n return typeof cursorOrOffset === 'number'\n}\n\nconst ItemDoesNotExistCode = 'WDE0073'\n\nfunction apiValidator() {\n return commonApiValidator(wdeValidationError)\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAOA,IAAAC,QAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAcA,IAAAK,iBAAA,GAAAL,OAAA;AAEA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,qBAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AASA,IAAAS,iBAAA,GAAAT,OAAA;AAEA,IAAAU,kBAAA,GAAAV,OAAA;AAA4D,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAQrD,MAAMY,UAAU,CAAC;EAGtBC,WAAWA,CACTC,aAAwC,EACxCC,QAAiB,EACAC,WAAkC,EAClCC,SAA+B,EAC/BC,MAAkB,EACnC;IAAA,KAHiBF,WAAkC,GAAlCA,WAAkC;IAAA,KAClCC,SAA+B,GAA/BA,SAA+B;IAAA,KAC/BC,MAAkB,GAAlBA,MAAkB;IAAA,IAAAC,gBAAA,CAAAtB,OAAA;IAarC;IAAA,IAAAsB,gBAAA,CAAAtB,OAAA,oBAEWuB,QAAQ,CACjB,OACEC,IAAI,EACJC,cAAsB,EACtBC,OAAwB,KACN;MAClB,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,UAAU,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7BC,cAAc,CAACA,cAAc,CAAC,CAC9BC,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,UAAU,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QAC/D,MAAM,IAAI,CAACC,MAAM,CAACC,iBAAiB,CAAC;UAClC,GAAGF,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChC,GAAGU,SAAS,CAACT,OAAO;QACtB,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CACF,CAAC;IAED;IAAA,IAAAJ,gBAAA,CAAAtB,OAAA,eAEMuB,QAAQ,CACZ,OACEC,IAAI,EACJC,cAAsB,EACtBW,MAAc,EACdV,OAA0C,KACV;MAChC,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,KAAK,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACxBC,cAAc,CAACA,cAAc,CAAC,CAC9BW,MAAM,CAACA,MAAM,CAAC,CACdV,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,KAAK,EAAE;QAAEL,cAAc;QAAEW;MAAO,CAAC,CAAC,CAAC,MAAOL,GAAG,IAAK;QAClE,MAAM;UAAEM;QAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CACnCM,WAAW,CAAC;UACX,GAAGP,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCc,UAAU,EAAEH,MAAM;UAClB,GAAGI,aAAa,CAACd,OAAO,CAAC;UACzBe,MAAM,EAAEf,OAAO,oBAAPA,OAAO,CAAEe;QACnB,CAAC,CAAC,CACDC,KAAK,CACJC,OAAO,CAACC,oBAAoB,EAAE,CAAC,CAAiC,CAClE,CAAC;QAEH,OAAOP,QAAQ,GAAGQ,UAAU,CAACR,QAAQ,CAAC,GAAG,IAAI;MAC/C,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,kBAEQuB,QAAQ,CACf,OACEC,IAAI,EACJC,cAAsB,EACtBqB,IAA0B,EAC1BpB,OAA8B,KACL;MACzB,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,QAAQ,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3BC,cAAc,CAACA,cAAc,CAAC,CAC9BqB,IAAI,CAACA,IAAI,EAAErB,cAAc,EAAE,KAAK,CAAC,CACjCC,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtBkB,qBAAqB,CAACD,IAAI,CAAC;MAE3B,OAAO,IAAI,CAAChB,KAAK,CAAC,QAAQ,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QAC7D,MAAM;UAAEM;QAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CAACgB,cAAc,CAAC;UACpD,GAAGjB,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCY,QAAQ,EAAE;YACRY,EAAE,EAAEH,IAAI,CAACI,GAAG;YACZC,IAAI,EAAEL;UACR,CAAC;UACD,GAAGM,eAAe,CAAC1B,OAAO;QAC5B,CAAC,CAAC;QAEF,OAAOmB,UAAU,CAACR,QAAS,CAAC;MAC9B,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,gBAEMuB,QAAQ,CACb,OACEC,IAAI,EACJC,cAAsB,EACtBqB,IAA0B,EAC1BpB,OAA8B,KACL;MACzB,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,MAAM,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACzBC,cAAc,CAACA,cAAc,CAAC,CAC9BqB,IAAI,CAACA,IAAI,EAAErB,cAAc,EAAE,KAAK,CAAC,CACjCC,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,MAAM,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QAC3D,MAAM;UAAEM;QAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CAACqB,YAAY,CAAC;UAClD,GAAGtB,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCY,QAAQ,EAAE;YACRY,EAAE,EAAEH,IAAI,CAACI,GAAG;YACZC,IAAI,EAAEL;UACR,CAAC;UACD,GAAGM,eAAe,CAAC1B,OAAO;QAC5B,CAAC,CAAC;QACF,OAAOmB,UAAU,CAACR,QAAS,CAAC;MAC9B,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,kBAEQuB,QAAQ,CACf,OACEC,IAAI,EACJC,cAAsB,EACtBqB,IAAiB,EACjBpB,OAA8B,KAC3B;MACH,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,QAAQ,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3BC,cAAc,CAACA,cAAc,CAAC,CAC9BqB,IAAI,CAACA,IAAI,EAAErB,cAAc,EAAE,KAAK,CAAC,CACjCC,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,QAAQ,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QAC7D,MAAM;UAAEM;QAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CAACsB,cAAc,CAAC;UACpD,GAAGvB,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCY,QAAQ,EAAE;YACRY,EAAE,EAAEH,IAAI,CAACI,GAAG;YACZC,IAAI,EAAEL;UACR,CAAC;UACD,GAAGM,eAAe,CAAC1B,OAAO;QAC5B,CAAC,CAAC;QACF,OAAOmB,UAAU,CAACR,QAAS,CAAC;MAC9B,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,kBAEQuB,QAAQ,CACf,OACEC,IAAI,EACJC,cAAsB,EACtBW,MAAc,EACdV,OAAwB,KACQ;MAChC,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,QAAQ,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3BC,cAAc,CAACA,cAAc,CAAC,CAC9BW,MAAM,CAACA,MAAM,CAAC,CACdV,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,QAAQ,EAAE;QAAEL,cAAc;QAAEW;MAAO,CAAC,CAAC,CAAC,MAAOL,GAAG,IAAK;QACrE,MAAM;UAAEM;QAAS,CAAC,GAAG,MAAM,IAAI,CAACL,MAAM,CACnCuB,cAAc,CAAC;UACd,GAAGxB,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCc,UAAU,EAAEH,MAAM;UAClB,GAAGD,SAAS,CAACT,OAAO;QACtB,CAAC,CAAC,CACDgB,KAAK,CACJC,OAAO,CAACC,oBAAoB,EAAE,CAAC,CAAiC,CAClE,CAAC;QACH,OAAOP,QAAQ,GAAGQ,UAAU,CAACR,QAAQ,CAAC,GAAG,IAAI;MAC/C,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,kCAEiCwD,iBAAoC,IAAK;MACzE,QAAQA,iBAAiB,CAACC,MAAM;QAC9B,KAAK,WAAW;UACd,OAAO;YACLA,MAAM,EAAEzE,QAAQ,CAAC0E,MAAM,CAACC,SAAS;YACjCC,SAAS,EAAEJ,iBAAiB,CAACI,SAAS;YACtCC,eAAe,EAAE;cACfC,KAAK,EAAEN,iBAAiB,CAACO;YAC3B;UACF,CAAC;QACH,KAAK,cAAc;UACjB,OAAO;YACLN,MAAM,EAAEzE,QAAQ,CAAC0E,MAAM,CAACM,YAAY;YACpCJ,SAAS,EAAEJ,iBAAiB,CAACI;UAC/B,CAAC;QACH,KAAK,iBAAiB;UACpB,OAAO;YACLH,MAAM,EAAEzE,QAAQ,CAAC0E,MAAM,CAACO,eAAe;YACvCL,SAAS,EAAEJ,iBAAiB,CAACI,SAAS;YACtCM,qBAAqB,EAAE;cACrBJ,KAAK,EAAEN,iBAAiB,CAACO;YAC3B;UACF,CAAC;QACH,KAAK,iBAAiB;UACpB,OAAO;YACLN,MAAM,EAAEzE,QAAQ,CAAC0E,MAAM,CAACS,eAAe;YACvCP,SAAS,EAAEJ,iBAAiB,CAACI,SAAS;YACtCQ,oBAAoB,EAAE;cACpBN,KAAK,EAAEN,iBAAiB,CAACO;YAC3B;UACF,CAAC;QACH,KAAK,mBAAmB;UACtB,OAAO;YACLN,MAAM,EAAEzE,QAAQ,CAAC0E,MAAM,CAACW,iBAAiB;YACzCT,SAAS,EAAEJ,iBAAiB,CAACI,SAAS;YACtCU,sBAAsB,EAAE;cACtBR,KAAK,EAAEN,iBAAiB,CAACO;YAC3B;UACF,CAAC;QACH;UACE,MAAM,IAAIQ,KAAK,CAAC,sBAAsB,CAAC;MAC3C;IACF,CAAC;IAAA,IAAAjD,gBAAA,CAAAtB,OAAA,iBAEO,CAACyB,cAAsB,EAAEW,MAAc,KAAmB;MAChE,OAAO,IAAIoC,kCAAgB,CAAC;QAC1B/C,cAAc;QACdW,MAAM;QACNqC,KAAK,EAAE,MAAAA,CAAOC,KAAK,EAAEC,WAAW,EAAEjD,OAAO,KAAK;UAC5C,MAAMkD,kBAAkB,GAAGD,WAAW,CAACC,kBAAkB,CAACC,GAAG,CAC3D,IAAI,CAACC,sBACP,CAAC;UAED,OAAO,IAAI,CAAChD,KAAK,CAAC,OAAO,EAAE;YAAEL;UAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;YAC5D,MAAMgD,MAAM,GAAG,MAAM,IAAI,CAAC/C,MAAM,CAACgD,aAAa,CAAC;cAC7C,GAAGjD,GAAG;cACNG,gBAAgB,EAAEyC,WAAW,CAAClD,cAAc;cAC5CwD,KAAK,EAAE;gBACL1C,UAAU,EAAEoC,WAAW,CAACvC,MAAM;gBAC9BwC;cACF,CAAC;cACD,GAAGM,cAAc,CAACxD,OAAO;YAC3B,CAAC,CAAC;YAEF,OAAOqD,MAAM,CAAC1C,QAAQ,GAAGQ,UAAU,CAACkC,MAAM,CAAC1C,QAAQ,CAAC,GAAG,IAAI;UAC7D,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAf,gBAAA,CAAAtB,OAAA,qBAEW,CAACyB,cAAsB,EAAE0D,OAAiB,KAAuB;MAC3E,OAAO,IAAIC,sCAAoB,CAAC;QAC9B3D,cAAc;QACd0D,OAAO;QACPV,KAAK,EAAE,MAAAA,CAAOC,KAAK,EAAEC,WAAW,EAAEjD,OAAO,KAAK;UAC5C,MAAMkD,kBAAkB,GAAGD,WAAW,CAACC,kBAAkB,CAACC,GAAG,CAC3D,IAAI,CAACC,sBACP,CAAC;UAED,OAAO,IAAI,CAAChD,KAAK,CAAC,WAAW,EAAE;YAAEL;UAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;YAChE,MAAM;cAAEsD;YAAQ,CAAC,GAAG,MAAM,IAAI,CAACrD,MAAM,CAACsD,kBAAkB,CAAC;cACvD,GAAGvD,GAAG;cACNG,gBAAgB,EAAEyC,WAAW,CAAClD,cAAc;cAC5C8D,OAAO,EAAEZ,WAAW,CAACQ,OAAO,CAACN,GAAG,CAAEzC,MAAM,KAAM;gBAC5CG,UAAU,EAAEH,MAAM;gBAClBwC;cACF,CAAC,CAAC,CAAC;cACH,GAAGM,cAAc,CAACxD,OAAO;YAC3B,CAAC,CAAC;YAEF,OAAO8D,YAAY,CAACL,OAAO,EAAEE,OAAO,EAAG,CAAC,SAAS,CAAC,CAAC;UACrD,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC;IAED;IAAA,IAAA/D,gBAAA,CAAAtB,OAAA,iBAESyB,cAAsB,IAAmB;MAChD,MAAMgE,gBAAgB,GAAIC,WAAqB,IAAK;QAClD,IAAIA,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;UAC1B,MAAM,IAAAC,0BAAkB,EACtBC,gBAAQ,CAACC,gBAAgB,CAACC,YAAY,CAACtE,cAAc,EAAEiE,WAAW,CACpE,CAAC;QACH;MACF,CAAC;MAED,OAAO,IAAIM,kCAAgB,CAAC;QAC1BvE,cAAc;QACdwE,OAAO,EAAE,MAAAA,CAAOzE,IAAI,EAAE0E,MAAM,EAAExE,OAAO,KAAK;UACxC+D,gBAAgB,CAAC,CACf,GAAGS,MAAM,CAACC,gBAAgB,EAC1B,GAAGxE,YAAY,CAAC,CAAC,CACdF,cAAc,CAACA,cAAc,CAAC,CAC9BG,KAAK,CAAC,OAAO,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC1BE,OAAO,CAACA,OAAO,CAAC,CAChB0E,iBAAiB,CAAC,CAAC,CACvB,CAAC;UAEF,OAAO,IAAI,CAACtE,KAAK,CAAC,OAAO,EAAE;YAAEL;UAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;YAC5D,MAAM;cAAEsE;YAAW,CAAC,GAAG,MAAM,IAAI,CAACrE,MAAM,CAACsE,cAAc,CAAC;cACtD,GAAGvE,GAAG;cACNG,gBAAgB,EAAET,cAAc;cAChC8E,MAAM,EAAEL,MAAM,CAACM,UAAU;cACzB,GAAGhE,aAAa,CAACd,OAAO;YAC1B,CAAC,CAAC;YACF,OAAO2E,UAAU;UACnB,CAAC,CAAC;QACJ,CAAC;QACDI,UAAU,EAAE,MAAAA,CAAOjF,IAAI,EAAE0E,MAAM,EAAEQ,KAAK,EAAEhF,OAAO,KAAK;UAAA,IAAAiF,YAAA;UAClDlB,gBAAgB,CAAC,CACf,GAAGS,MAAM,CAACC,gBAAgB,EAC1B,GAAGxE,YAAY,CAAC,CAAC,CACdF,cAAc,CAACA,cAAc,CAAC,CAC9BG,KAAK,CAAC,UAAU,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7BoF,SAAS,CAACF,KAAK,CAAC,CAChBhF,OAAO,CAACA,OAAO,CAAC,CAChB0E,iBAAiB,CAAC,CAAC,CACvB,CAAC;UAEF,MAAMS,KAAK,IAAAF,YAAA,GAAGG,MAAM,CAACZ,MAAM,CAACa,OAAO,CAAC,CAACC,IAAI,CACtCC,CAAC,IAAKA,CAAC,CAACL,SAAS,KAAKF,KACzB,CAAC,qBAFaC,YAAA,CAEXE,KAAK;UAER,MAAMK,KAAuB,GAAGA,CAACC,cAAc,EAAEC,gBAAgB,KAC/D,IAAI,CAACtF,KAAK,CAAC,UAAU,EAAE;YAAEL,cAAc;YAAEiF;UAAM,CAAC,CAAC,CAAC,MAAO3E,GAAG,IAAK;YAC/D,MAAM;cAAEsF,cAAc;cAAEC;YAAe,CAAC,GACtC,MAAM,IAAI,CAACtF,MAAM,CAACuF,mBAAmB,CAAC;cACpC,GAAGxF,GAAG;cACNG,gBAAgB,EAAET,cAAc;cAChC,GAAGe,aAAa,CAACd,OAAO,CAAC;cACzB,GAAG8F,QAAQ,CAACtB,MAAM,CAACuB,WAAW,EAAEN,cAAc,CAAC;cAC/C,IAAIO,QAAQ,CAACP,cAAc,CAAC,GACxB;gBACEP,SAAS,EAAEF,KAAK;gBAChBH,MAAM,EAAEL,MAAM,CAACM,UAAU;gBACzBK,KAAK;gBACLO;cACF,CAAC,GACD,CAAC,CAAC;YACR,CAAC,CAAC;YACJ,OAAO,CAACC,cAAc,EAAGC,cAAc,CAAE;UAC3C,CAAC,CAAC;UAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CACjChB,MAAM,CAAC2B,UAAU,EACjBnG,OAAO,oBAAPA,OAAO,CAAE0F,gBACX,CAAC;UAED,OAAO,IAAIU,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAEhB,MAAM,CAAC;QAC5D,CAAC;QACD6B,MAAM,EAAE,MAAAA,CAAOvG,IAAI,EAAE0E,MAAM,EAAExE,OAAO,KAAK;UACvC+D,gBAAgB,CAAC,CACf,GAAGS,MAAM,CAACC,gBAAgB,EAC1B,GAAGxE,YAAY,CAAC,CAAC,CACdF,cAAc,CAACA,cAAc,CAAC,CAC9BG,KAAK,CAAC,MAAM,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACzBE,OAAO,CAACA,OAAO,CAAC,CAChB0E,iBAAiB,CAAC,CAAC,CACvB,CAAC;UAEF,MAAMc,KAAkB,GAAGA,CAACC,cAAc,EAAEC,gBAAgB,KAC1D,IAAI,CAACtF,KAAK,CAAC,OAAO,EAAE;YAAEL;UAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;YACrD,MAAM;cAAEiG,SAAS;cAAEV;YAAe,CAAC,GACjC,MAAM,IAAI,CAACtF,MAAM,CAACiG,cAAc,CAAC;cAC/B,GAAGlG,GAAG;cACNG,gBAAgB,EAAET,cAAc;cAChCyG,KAAK,EAAE;gBACLzF,MAAM,EAAEyD,MAAM,CAACiC,eAAe;gBAC9B,GAAGX,QAAQ,CAACtB,MAAM,CAACuB,WAAW,EAAEN,cAAc,CAAC;gBAC/C,IAAIO,QAAQ,CAACP,cAAc,CAAC,GACxB;kBACEZ,MAAM,EAAEL,MAAM,CAACM,UAAU;kBACzB4B,IAAI,EAAEtB,MAAM,CAACZ,MAAM,CAACa,OAAO;gBAC7B,CAAC,GACD,CAAC,CAAC;cACR,CAAC;cACDsB,qBAAqB,EAAEnC,MAAM,CAACoC,QAAQ;cACtC,GAAG9F,aAAa,CAACd,OAAO,CAAC;cACzB,IAAIgG,QAAQ,CAACP,cAAc,CAAC,GAAG;gBAAEC;cAAiB,CAAC,GAAG,CAAC,CAAC;YAC1D,CAAC,CAAC;YACJ,OAAO,CAACY,SAAS,CAAEnD,GAAG,CAAChC,UAAU,CAAC,EAAEyE,cAAc,CAAE;UACtD,CAAC,CAAC;UACJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CACjChB,MAAM,CAAC2B,UAAU,EACjBnG,OAAO,oBAAPA,OAAO,CAAE0F,gBACX,CAAC;UAED,OAAO,IAAIU,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAEhB,MAAM,CAAC;QAC5D;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAA5E,gBAAA,CAAAtB,OAAA,kBAESyB,cAAsB,IAAoB;MAClD,MAAMgE,gBAAgB,GAAIC,WAAqB,IAAK;QAClD,IAAIA,WAAW,CAACC,MAAM,GAAG,CAAC,EAAE;UAC1B,MAAM,IAAAC,0BAAkB,EACtBC,gBAAQ,CAACC,gBAAgB,CAACC,YAAY,CAACtE,cAAc,EAAEiE,WAAW,CACpE,CAAC;QACH;MACF,CAAC;MAED,OAAO,IAAI6C,oCAAiB,CAAC;QAC3B9G,cAAc;QACdgD,KAAK,EAAE,MAAAA,CACLyB,MAAM,EACNxE,OAA4B,KACD;UAC3B+D,gBAAgB,CAAC,CACf,GAAGS,MAAM,CAACC,gBAAgB,EAC1B,GAAGxE,YAAY,CAAC,CAAC,CACdF,cAAc,CAACA,cAAc,CAAC,CAC9BC,OAAO,CAACA,OAAO,CAAC,CAChB0E,iBAAiB,CAAC,CAAC,CACvB,CAAC;UAEF,MAAMoC,UAAU,GAAGtC,MAAM,CAACuC,SAAS;UAEnC,MAAMvB,KAAkB,GAAIC,cAAc,IACxC,IAAI,CAACrF,KAAK,CAAC,QAAQ,EAAE;YAAEL,cAAc;YAAE+G;UAAW,CAAC,CAAC,CAAC,MAAOzG,GAAG,IAAK;YAClE,MAAM2G,OAAwC,GAAG;cAC/C,GAAG3G,GAAG;cACNG,gBAAgB,EAAET,cAAc;cAChCkH,MAAM,EAAE;gBACNpC,MAAM,EAAEL,MAAM,CAACM,UAAU;gBACzB4B,IAAI,EAAEtB,MAAM,CAACZ,MAAM,CAACa,OAAO,CAAC;gBAC5BtE,MAAM,EAAEyD,MAAM,CAACiC,eAAe;gBAC9BQ,MAAM,EAAE;kBACNH,UAAU,EAAEtC,MAAM,CAACuC,SAAS;kBAC5BG,KAAK,EAAE1C,MAAM,CAAC0C,KAAK;kBACnBC,IAAI,EAAE3C,MAAM,CAAC4C;gBACf,CAAC;gBACD,GAAGtB,QAAQ,CAACtB,MAAM,CAACuB,WAAW,EAAEN,cAAc;cAChD,CAAC;cACDkB,qBAAqB,EAAEnC,MAAM,CAACoC,QAAQ;cACtC,GAAG9F,aAAa,CAACd,OAAO;YAC1B,CAAC;YAED,MAAM;cAAEsG,SAAS;cAAEV;YAAe,CAAC,GACjC,MAAM,IAAI,CAACtF,MAAM,CAAC+G,eAAe,CAACL,OAAO,CAAC;YAC5C,OAAO,CAACV,SAAS,CAAEnD,GAAG,CAAChC,UAAU,CAAC,EAAEyE,cAAc,CAAE;UACtD,CAAC,CAAC;UAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CAAChB,MAAM,CAAC2B,UAAU,CAAC;UAEtD,OAAO,IAAIC,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAEhB,MAAM,CAAC;QAC5D;MACF,CAAC,CAAC;IACJ,CAAC;IAED;IAAA,IAAA5E,gBAAA,CAAAtB,OAAA,iBAEQuB,QAAQ,CACd,OACEC,IAAI,EACJC,cAAsB,EACtBuH,MAAc,EACdC,KAAc,EACdvH,OAA4B,KACD;MAC3B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,OAAO,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC1BC,cAAc,CAACA,cAAc,CAAC,CAC9ByH,gBAAgB,CAACF,MAAM,EAAE,QAAQ,CAAC,CAClCnH,iBAAiB,CAAC,CAAC;MAEtB,MAAMqF,KAAkB,GAAIC,cAAc,IACxC,IAAI,CAACrF,KAAK,CAAC,OAAO,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QACrD,MAAM;UAAEiG,SAAS;UAAEV;QAAe,CAAC,GACjC,MAAM,IAAI,CAACtF,MAAM,CAACiG,cAAc,CAAC;UAC/B,GAAGlG,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCyG,KAAK,EAAE;YACL,GAAGV,QAAQ,CAACyB,KAAK,EAAE9B,cAAc;UACnC,CAAC;UACD,GAAG3E,aAAa,CAACd,OAAO;QAC1B,CAAC,CAAC;QACJ,OAAO,CAACsG,SAAS,CAAEnD,GAAG,CAAChC,UAAU,CAAC,EAAEyE,cAAc,CAAE;MACtD,CAAC,CAAC;MACJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CAAC8B,MAAM,CAAC;MAE3C,OAAO,IAAIlB,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAE;QACjDO,WAAW,EAAEwB,KAAK;QAClBxH,cAAc;QACdoG,UAAU,EAAE;MACd,CAAC,CAAC;IACJ,CACF,CAAC;IAED;IAAA,IAAAvG,gBAAA,CAAAtB,OAAA,qBAEayB,cAAsB,IAAuB;MACxD,OAAO,IAAI0H,0CAAoB,CAAC;QAC9B1H,cAAc;QACdgD,KAAK,EAAE,MAAAA,CAAOjD,IAAI,EAAE0E,MAAM,EAAExE,OAAO,KAAK;UACtC,MAAM0H,gBAAgB,GAAG,CACvB,GAAGlD,MAAM,CAACC,gBAAgB,EAC1B,GAAGxE,YAAY,CAAC,CAAC,CACdC,KAAK,CAAC,KAAK,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACxBC,cAAc,CAACA,cAAc,CAAC,CAC9BC,OAAO,CAACA,OAAO,CAAC,CAChB0E,iBAAiB,CAAC,CAAC,CACvB;UAED,IAAIgD,gBAAgB,CAACzD,MAAM,GAAG,CAAC,EAAE;YAC/B,MAAM,IAAAC,0BAAkB,EACtBC,gBAAQ,CAACwD,oBAAoB,CAACC,gBAAgB,CAC5C7H,cAAc,EACd2H,gBACF,CACF,CAAC;UACH;UAEA,MAAMlC,KAAuC,GAAGA,CAC9CC,cAAc,EACdC,gBAAgB,KAEhB,IAAI,CAACtF,KAAK,CAAC,WAAW,EAAE;YAAEL;UAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;YACzD,MAAMwH,WAAW,GAAI7C,KAAc,IACjCA,KAAK,GAAG;cAAE8C,aAAa,EAAE9C;YAAM,CAAC,GAAG+C,SAAS;YAE9C,MAAM;cAAEpE,OAAO;cAAEiC;YAAe,CAAC,GAC/B,MAAM,IAAI,CAACtF,MAAM,CAAC0H,kBAAkB,CAAC;cACnC,GAAG3H,GAAG;cACNG,gBAAgB,EAAET,cAAc;cAChC,GAAG+F,QAAQ,CAACtB,MAAM,CAACuB,WAAW,EAAEN,cAAc,CAAC;cAC/C,GAAG3E,aAAa,CAACd,OAAO,CAAC;cACzB,IAAIgG,QAAQ,CAACP,cAAc,CAAC,GACxB;gBACEwC,aAAa,EAAEzD,MAAM,CAACM,UAAU;gBAChCoD,WAAW,EAAE;kBACXC,cAAc,EAAE3D,MAAM,CAAC4D,OAAO;kBAC9BC,UAAU,EAAE7D,MAAM,CAAC8D,UAAU,CAACnF,GAAG,CAAExE,CAAC,KAAM;oBACxC4J,eAAe,EAAE5J,CAAC,CAAC6J,IAAI;oBACvBC,OAAO,EAAEZ,WAAW,CAAClJ,CAAC,CAAC+J,GAAG,CAAC;oBAC3BC,GAAG,EAAEd,WAAW,CAAClJ,CAAC,CAACgK,GAAG,CAAC;oBACvBC,GAAG,EAAEf,WAAW,CAAClJ,CAAC,CAACiK,GAAG,CAAC;oBACvBC,GAAG,EAAEhB,WAAW,CAAClJ,CAAC,CAACkK,GAAG,CAAC;oBACvBC,SAAS,EAAEnK,CAAC,CAACoK,KAAK,GAAG,CAAC,CAAC,GAAGhB;kBAC5B,CAAC,CAAC;gBACJ,CAAC;gBACDiB,WAAW,EAAExE,MAAM,CAACyE,UAAU;gBAC9BvC,IAAI,EAAEtB,MAAM,CAACZ,MAAM,CAACa,OAAO,CAAC;gBAC5BK;cACF,CAAC,GACD,CAAC,CAAC;YACR,CAAC,CAAC;YACJ,OAAO,CAACwD,mBAAmB,CAACvF,OAAQ,CAAC,EAAEiC,cAAc,CAAE;UACzD,CAAC,CAAC;UAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CACjChB,MAAM,CAAC2B,UAAU,EACjBnG,OAAO,oBAAPA,OAAO,CAAE0F,gBACX,CAAC;UAED,OAAO,IAAIU,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAEhB,MAAM,CAAC;QAC5D;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAA5E,gBAAA,CAAAtB,OAAA,0BAEgBuB,QAAQ,CACvB,OACEC,IAAI,EACJC,cAAsB,EACtBuH,MAAc,EACdC,KAAc,EACdvH,OAA4B,KACzB;MACH,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,gBAAgB,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACnCC,cAAc,CAACA,cAAc,CAAC,CAC9ByH,gBAAgB,CAACF,MAAM,EAAE,QAAQ,CAAC,CAClCnH,iBAAiB,CAAC,CAAC;MAEtB,MAAMqF,KAAuC,GAAIC,cAAc,IAC7D,IAAI,CAACrF,KAAK,CAAC,WAAW,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QACzD,MAAM;UAAEsD,OAAO;UAAEiC;QAAe,CAAC,GAC/B,MAAM,IAAI,CAACtF,MAAM,CAAC0H,kBAAkB,CAAC;UACnC,GAAG3H,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChC,GAAG+F,QAAQ,CAACyB,KAAK,EAAE9B,cAAc,CAAC;UAClC,GAAG3E,aAAa,CAACd,OAAO;QAC1B,CAAC,CAAC;QACJ,OAAO,CAACkJ,mBAAmB,CAACvF,OAAQ,CAAC,EAAEiC,cAAc,CAAE;MACzD,CAAC,CAAC;MAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CAAC8B,MAAM,EAAE,IAAI,CAAC;MAEjD,OAAO,IAAIlB,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAE;QACjDO,WAAW,EAAEwB,KAAK;QAClBpB,UAAU,EAAE,CAAC;QACbpG;MACF,CAAC,CAAC;IACJ,CACF,CAAC;IAED;IAAA,IAAAH,gBAAA,CAAAtB,OAAA,sBAEauB,QAAQ,CACnB,OACEC,IAAI,EACJC,cAAsB,EACtB0D,OAAiB,EACjBzD,OAAwB,KACO;MAC/B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,YAAY,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/BC,cAAc,CAACA,cAAc,CAAC,CAC9B0D,OAAO,CAACA,OAAO,EAAE1D,cAAc,CAAC,CAChCoJ,iBAAiB,CAACnJ,OAAO,CAAC,CAC1BG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,YAAY,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QACjE,MAAM;UAAEsD;QAAQ,CAAC,GAAG,MAAM,IAAI,CAACrD,MAAM,CAAC8I,mBAAmB,CAAC;UACxD,GAAG/I,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCsJ,WAAW,EAAE5F,OAAO;UACpB,GAAGhD,SAAS,CAACT,OAAO;QACtB,CAAC,CAAC;QACF;QACA,OAAO8D,YAAY,CAACL,OAAO,EAAEE,OAAO,EAAG,CAAC,SAAS,CAAC,CAAC;MACrD,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAA/D,gBAAA,CAAAtB,OAAA,sBAyBYuB,QAAQ,CACnB,OACEC,IAAI,EACJC,cAAsB,EACtBkG,KAA6B,EAC7BjG,OAAyD,KAC1B;MAC/B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,YAAY,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/BmG,KAAK,CAACA,KAAK,EAAElG,cAAc,CAAC,CAC5BuJ,iBAAiB,CAACtJ,OAAO,CAAC,CAC1BD,cAAc,CAACA,cAAc,CAAC,CAC9BI,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,YAAY,EAAE;QAAEL,cAAc;QAAEC;MAAQ,CAAC,CAAC,CAC1D,MAAOuJ,KAAK,IACV,IAAI,CAACC,WAAW,CACdD,KAAK,EACLxJ,cAAc,EACdkG,KAAK,EACLjG,OAAO,EACP,CAAAA,OAAO,oBAAPA,OAAO,CAAEyJ,gBAAgB,KAAI,KAC/B,CACJ,CAAC;IACH,CACF,CAAC;IAAA,IAAA7J,gBAAA,CAAAtB,OAAA,oBAEUuB,QAAQ,CACjB,OACEC,IAAI,EACJC,cAAsB,EACtBkG,KAA6B,EAC7BjG,OAAwB,KACO;MAC/B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,UAAU,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC7BwJ,iBAAiB,CAACtJ,OAAO,CAAC,CAC1BD,cAAc,CAACA,cAAc,CAAC,CAC9BkG,KAAK,CAACA,KAAK,EAAElG,cAAc,CAAC,CAC5BI,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,UAAU,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAC1D,IAAI,CAACmJ,WAAW,CAACnJ,GAAG,EAAEN,cAAc,EAAEkG,KAAK,EAAEjG,OAAO,CACtD,CAAC;IACH,CACF,CAAC;IAAA,IAAAJ,gBAAA,CAAAtB,OAAA,sBAEYuB,QAAQ,CACnB,OACEC,IAAI,EACJC,cAAsB,EACtBkG,KAAoB,EACpBjG,OAAwB,KACO;MAC/B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,YAAY,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/B4J,iBAAiB,CAAC1J,OAAO,CAAC,CAC1BD,cAAc,CAACA,cAAc,CAAC,CAC9BkG,KAAK,CAACA,KAAK,EAAElG,cAAc,CAAC,CAC5BI,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,YAAY,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QACjE,MAAM;UAAEsD;QAAQ,CAAC,GAAG,MAAM,IAAI,CAACrD,MAAM,CAACqJ,mBAAmB,CAAC;UACxD,GAAGtJ,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCuG,SAAS,EAAEL,KAAK,CAAC9C,GAAG,CAAE1B,IAAI,KAAM;YAC9BF,EAAE,EAAEE,IAAI,CAACD,GAAG;YACZC;UACF,CAAC,CAAC,CAAC;UACH,GAAGhB,SAAS,CAACT,OAAO;QACtB,CAAC,CAAC;QACF;QACA,OAAO8D,YAAY,CAACmC,KAAK,EAAEtC,OAAO,EAAG,CAAC,SAAS,CAAC,CAAC;MACnD,CAAC,CAAC;IACJ,CACF,CAAC;IAED;IAAA,IAAA/D,gBAAA,CAAAtB,OAAA,2BAEkBuB,QAAQ,CACxB,OACEC,IAAI,EACJC,cAAsB,EACtBuH,MAAc,EACdC,KAAc,EACdvH,OAA0C,KACO;MACjD,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,iBAAiB,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACpC0H,gBAAgB,CAACF,MAAM,EAAE,QAAQ,CAAC,CAClCvH,cAAc,CAACA,cAAc,CAAC,CAC9BI,iBAAiB,CAAC,CAAC;MAEtB,MAAMqF,KAAwC,GAAIoE,OAAO,IACvD,IAAI,CAACxJ,KAAK,CAAC,iBAAiB,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAAK;QAC/D,MAAM;UAAEsD,OAAO;UAAEiC;QAAe,CAAC,GAC/B,MAAM,IAAI,CAACtF,MAAM,CAACuJ,wBAAwB,CAAC;UACzC,GAAGxJ,GAAG;UACN,GAAGyF,QAAQ,CAACyB,KAAK,EAAEqC,OAAO,CAAC;UAC3B,GAAG9I,aAAa,CAACd,OAAO,CAAC;UACzBQ,gBAAgB,EAAET,cAAc;UAChCgB,MAAM,EAAEf,OAAO,oBAAPA,OAAO,CAAEe;QACnB,CAAC,CAAC;QACJ,OAAO,CAAC+I,mBAAmB,CAACnG,OAAQ,CAAC,EAAEiC,cAAc,CAAE;MACzD,CAAC,CAAC;MAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CAAC8B,MAAM,CAAC;MAC3C,OAAO,IAAIlB,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAE;QACjDzF,cAAc;QACdgG,WAAW,EAAEwB,KAAK;QAClBpB,UAAU,EAAE;MACd,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAAvG,gBAAA,CAAAtB,OAAA,2BAEiBuB,QAAQ,CACxB,OACEC,IAAI,EACJC,cAAsB,EACtBgK,WAA4B,EAC5BC,qBAA6B,EAC7BhK,OAAuC,KACZ;MAC3B,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,iBAAiB,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACpCC,cAAc,CAACA,cAAc,CAAC,CAC9BkK,kBAAkB,CAACF,WAAW,CAAC,CAC/BvC,gBAAgB,CAACwC,qBAAqB,EAAE,uBAAuB,CAAC,CAChEhK,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,MAAMoB,EAAE,GAAGb,MAAM,CAACqJ,WAAW,CAAC;MAC9B,MAAMvE,KAAkB,GAAGA,CAACC,cAAc,EAAEC,gBAAgB,KAC1D,IAAI,CAACtF,KAAK,CAAC,iBAAiB,EAAE;QAC5BL,cAAc;QACdW,MAAM,EAAEa,EAAE;QACVvB,OAAO;QACPgK;MACF,CAAC,CAAC,CAAC,MAAO3J,GAAG,IAAK;QAChB,MAAM;UAAEsD,OAAO;UAAEiC;QAAe,CAAC,GAC/B,MAAM,IAAI,CAACtF,MAAM,CAACuJ,wBAAwB,CAAC;UACzC,GAAGxJ,GAAG;UACN,GAAGyF,QAAQ,CAAC,CAAA9F,OAAO,oBAAPA,OAAO,CAAEuH,KAAK,KAAI,EAAE,EAAE9B,cAAc,CAAC;UACjD,GAAG3E,aAAa,CAACd,OAAO,CAAC;UACzBQ,gBAAgB,EAAET,cAAc;UAChCgB,MAAM,EAAEf,OAAO,oBAAPA,OAAO,CAAEe,MAAM;UACvB,IAAIiF,QAAQ,CAACP,cAAc,CAAC,GACxB;YACEyE,eAAe,EAAE3I,EAAE;YACnB4I,sBAAsB,EAAEH,qBAAqB;YAC7C7E,KAAK,EACH,CAAAnF,OAAO,oBAAPA,OAAO,CAAEmF,KAAK,MAAK,KAAK,GACpB7H,QAAQ,CAAC8M,SAAS,CAACC,GAAG,GACtB,CAAArK,OAAO,oBAAPA,OAAO,CAAEmF,KAAK,MAAK,MAAM,GACzB7H,QAAQ,CAAC8M,SAAS,CAACE,IAAI,GACvBvC,SAAS;YACfrC;UACF,CAAC,GACD,CAAC,CAAC;QACR,CAAC,CAAC;QACJ,OAAO,CAACoE,mBAAmB,CAACnG,OAAQ,CAAC,EAAEiC,cAAc,CAAE;MACzD,CAAC,CAAC;MAEJ,MAAM,CAACK,KAAK,EAAEC,MAAM,CAAC,GAAG,MAAMV,KAAK,CACjC,CAAAxF,OAAO,oBAAPA,OAAO,CAAEuK,IAAI,KAAI,CAAC,EAClBvK,OAAO,oBAAPA,OAAO,CAAE0F,gBACX,CAAC;MACD,OAAO,IAAIU,oCAAiB,CAACH,KAAK,EAAEC,MAAM,EAAEV,KAAK,EAAE;QACjDzF,cAAc;QACdgG,WAAW,EAAE,CAAA/F,OAAO,oBAAPA,OAAO,CAAEuH,KAAK,KAAI,EAAE;QACjCpB,UAAU,EAAE,CAAAnG,OAAO,oBAAPA,OAAO,CAAEuK,IAAI,KAAI;MAC/B,CAAC,CAAC;IACJ,CACF,CAAC;IAAA,IAAA3K,gBAAA,CAAAtB,OAAA,2BAiBGuB,QAAQ,CACV,OACEC,IAAI,EACJC,cAAsB,EACtByK,UAAe,EACfC,UAAgB,EAChBC,KAAW,EACX1K,OAAa,KACV;MACH,IAAI2K,IAAwB;MAC5B,IAAIC,IAAoB;MACxB,IAAIC,IAAsB;MAE1B,IAAI,OAAOL,UAAU,KAAK,QAAQ,EAAE;QAClC,MAAMM,MAAyB,GAAGC,OAAO,CAACL,KAAK,CAAC;QAChDC,IAAI,GAAGG,MAAM,CAAC3H,GAAG,CAAEhF,CAAC,KAAM;UACxB6M,gBAAgB,EAAER,UAAU;UAC5BS,IAAI,EAAER,UAA6B;UACnCC,KAAK,EAAEvM;QACT,CAAC,CAAC,CAAC;QACHyM,IAAI,GAAG5K,OAAO;QACd6K,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;MACf,CAAC,MAAM;QACLF,IAAI,GAAGH,UAAU;QACjBI,IAAI,GAAGH,UAAU;QACjBI,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;MACf;MACA,MAAM5K,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,iBAAiB,EAAEJ,IAAI,EAAE,GAAG+K,IAAI,CAAC,CACvC9K,cAAc,CAACA,cAAc,CAAC,CAC9BmL,UAAU,CAACP,IAAI,CAAC,CAChB3K,OAAO,CAAC4K,IAAI,CAAC,CACbzK,iBAAiB,CAAC,CAAC;MAEtB,MAAM,IAAI,CAACC,KAAK,CAAC,iBAAiB,EAAE;QAAEL;MAAe,CAAC,CAAC,CAAC,MAAOM,GAAG,IAChE,IAAI,CAACC,MAAM,CAAC6K,4BAA4B,CAAC;QACvC,GAAG9K,GAAG;QACNG,gBAAgB,EAAET,cAAc;QAChCqL,kBAAkB,EAAET,IAAI,CAACxH,GAAG,CAAEhF,CAAC,KAAM;UACnCgM,sBAAsB,EAAEhM,CAAC,CAAC6M,gBAAgB;UAC1Cd,eAAe,EAAExJ,MAAM,CAACvC,CAAC,CAAC8M,IAAI,CAAC;UAC/BI,gBAAgB,EAAE3K,MAAM,CAACvC,CAAC,CAACuM,KAAK;QAClC,CAAC,CAAC,CAAC;QACH,GAAGjK,SAAS,CAACmK,IAAI;MACnB,CAAC,CACH,CAAC;IACH,CACF,CAAC;IAAA,IAAAhL,gBAAA,CAAAtB,OAAA,6BAEmBuB,QAAQ,CAC1B,OACEC,IAAI,EACJC,cAAsB,EACtBiK,qBAA6B,EAC7BiB,IAAqB,EACrBP,KAA0C,EAC1C1K,OAAwB,KACN;MAClB,MAAM8K,MAAM,GAAGC,OAAO,CAACL,KAAK,CAAC;MAC7B,MAAMzK,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,mBAAmB,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACtCC,cAAc,CAACA,cAAc,CAAC,CAC9ByH,gBAAgB,CAACwC,qBAAqB,EAAE,uBAAuB,CAAC,CAChEC,kBAAkB,CAACgB,IAAI,CAAC,CACxBK,mBAAmB,CAACR,MAAM,CAAC,CAC3B9K,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,MAAM,IAAI,CAACC,KAAK,CAAC,mBAAmB,EAAE;QACpCL,cAAc;QACdiK;MACF,CAAC,CAAC,CAAC,MAAO3J,GAAG,IACX,IAAI,CAACC,MAAM,CAACiL,yBAAyB,CAAC;QACpC,GAAGlL,GAAG;QACNG,gBAAgB,EAAET,cAAc;QAChCoK,sBAAsB,EAAEH,qBAAqB;QAC7CE,eAAe,EAAExJ,MAAM,CAACuK,IAAI,CAAC;QAC7BO,oBAAoB,EAAEV,MAAM,CAAC3H,GAAG,CAACzC,MAAM,CAAC;QACxC,GAAGD,SAAS,CAACT,OAAO;MACtB,CAAC,CACH,CAAC;IACH,CACF,CAAC;IAAA,IAAAJ,gBAAA,CAAAtB,OAAA,2BAEiBuB,QAAQ,CACxB,OACEC,IAAI,EACJC,cAAsB,EACtBiK,qBAA6B,EAC7BiB,IAAqB,EACrBP,KAA0C,EAC1C1K,OAAwB,KACrB;MACH,MAAM8K,MAAM,GAAGC,OAAO,CAACL,KAAK,CAAC;MAC7B,MAAMzK,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,iBAAiB,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACpCC,cAAc,CAACA,cAAc,CAAC,CAC9BkK,kBAAkB,CAACgB,IAAI,CAAC,CACxBQ,yBAAyB,CAACX,MAAM,CAAC,CACjCtD,gBAAgB,CAACwC,qBAAqB,EAAE,uBAAuB,CAAC,CAChEhK,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,MAAM,IAAI,CAACC,KAAK,CAAC,iBAAiB,EAAE;QAClCL,cAAc;QACdiK;MACF,CAAC,CAAC,CAAC,MAAO3J,GAAG,IACX,IAAI,CAACC,MAAM,CAACoL,4BAA4B,CAAC;QACvC,GAAGrL,GAAG;QACNG,gBAAgB,EAAET,cAAc;QAChCqL,kBAAkB,EAAEN,MAAM,CAAC3H,GAAG,CAAEhF,CAAC,KAAM;UACrCgM,sBAAsB,EAAEH,qBAAqB;UAC7CE,eAAe,EAAExJ,MAAM,CAACuK,IAAI,CAAC;UAC7BI,gBAAgB,EAAE3K,MAAM,CAACvC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,GAAGsC,SAAS,CAACT,OAAO;MACtB,CAAC,CACH,CAAC;IACH,CACF,CAAC;IAAA,IAAAJ,gBAAA,CAAAtB,OAAA,wBAEcuB,QAAQ,CACrB,OACEC,IAAI,EACJC,cAAsB,EACtBiK,qBAA6B,EAC7BiB,IAAqB,EACrBP,KAAsB,EACtB1K,OAA4B,KACP;MACrB,MAAMC,YAAY,CAAC,CAAC,CACjBC,KAAK,CAAC,cAAc,EAAEJ,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CACjCC,cAAc,CAACA,cAAc,CAAC,CAC9BkK,kBAAkB,CAACgB,IAAI,CAAC,CACxBhB,kBAAkB,CAACS,KAAK,CAAC,CACzB1K,OAAO,CAACA,OAAO,CAAC,CAChBG,iBAAiB,CAAC,CAAC;MAEtB,OAAO,IAAI,CAACC,KAAK,CAAC,cAAc,EAAE;QAChCL,cAAc;QACdiK;MACF,CAAC,CAAC,CAAC,MAAO3J,GAAG,IAAK;QAChB,MAAM;UAAEsL;QAAa,CAAC,GAAG,MAAM,IAAI,CAACrL,MAAM,CAACsL,oBAAoB,CAAC;UAC9D,GAAGvL,GAAG;UACNG,gBAAgB,EAAET,cAAc;UAChCoK,sBAAsB,EAAEH,qBAAqB;UAC7CE,eAAe,EAAExJ,MAAM,CAACuK,IAAI,CAAC;UAC7BI,gBAAgB,EAAE3K,MAAM,CAACgK,KAAK,CAAC;UAC/B,GAAG5J,aAAa,CAACd,OAAO,CAAC;UACzB6L,cAAc,EAAE7L,OAAO,oBAAPA,OAAO,CAAE6L;QAC3B,CAAC,CAAC;QACF,OAAOF,YAAY;MACrB,CAAC,CAAC;IACJ,CACF,CAAC;IAz+BC,IAAI,CAACrL,MAAM,GAAG,IAAIwL,oBAAS,CAACvM,aAAa,EAAEC,QAAQ,CAAC;EACtD;EAEA,IAAIuM,OAAOA,CAAA,EAAe;IACxB,OAAO,IAAI;EACb;EAEA,IAAIlH,MAAMA,CAAA,EAAkB;IAC1B,OAAO,IAAAmH,qBAAa,EAAC,CAAC;EACxB;EAinBA,MAAcxC,WAAWA,CACvBnJ,GAA2D,EAC3DN,cAAsB,EACtBkG,KAA6B,EAC7BjG,OAAwB,EACxByJ,gBAAyB,GAAG,IAAI,EACJ;IAC5B,MAAMzC,OAA4C,GAAG;MACnD,GAAG3G,GAAG;MACNG,gBAAgB,EAAET,cAAc;MAChCuG,SAAS,EAAEL,KAAK,CAAC9C,GAAG,CAAE1B,IAAI,KAAM;QAC9BF,EAAE,EAAEE,IAAI,CAACD,GAAG;QACZC;MACF,CAAC,CAAC,CAAC;MACH,GAAGhB,SAAS,CAACT,OAAO;IACtB,CAAC;IACD,MAAM;MAAE2D;IAAQ,CAAC,GAAG,OAAO8F,gBAAgB,GACvC,IAAI,CAACnJ,MAAM,CAAC2L,iBAAiB,CAACjF,OAAO,CAAC,GACtC,IAAI,CAAC1G,MAAM,CAAC4L,mBAAmB,CAAClF,OAAO,CAAC,CAAC;IAC7C,MAAMmF,WAAW,GAAG1C,gBAAgB,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC;IACvD,OAAO3F,YAAY,CAACmC,KAAK,EAAEtC,OAAO,EAAGwI,WAAW,CAAC;EACnD;EA4VQ/L,KAAKA,CACX2B,MAAc,EACd6I,IAAY,EAME;IACd,OAAO,MAAOwB,EAAE,IAAK;MACnB,MAAM1M,SAAS,GAAG,MAAMlB,GAAG,CAAC,IAAI,CAACkB,SAAS,CAAC;MAC3C,MAAMW,GAAG,GAAG;QAAEkJ,KAAK,EAAE7J,SAAS;QAAED,WAAW,EAAE,IAAI,CAACA;MAAY,CAAC;MAC/D,IAAI,IAAI,CAACE,MAAM,EAAE;QACf,OAAO,IAAI,CAACA,MAAM,CAAC,cAAcoC,MAAM,EAAE,EAAE;UACzC,GAAG6I,IAAI;UACPlL,SAAS;UACTD,WAAW,EAAE,IAAI,CAACA;QACpB,CAAC,CAAC,CAAC,MAAM2M,EAAE,CAAC/L,GAAG,CAAC,CAAC;MACnB;MACA,OAAO+L,EAAE,CAAC/L,GAAG,CAAC;IAChB,CAAC;EACH;AACF;AAACgM,OAAA,CAAAhN,UAAA,GAAAA,UAAA;AAED,SAASQ,QAAQA,CACfuM,EAAyC,EACnB;EACtB,OAAO,UAAU,GAAGtM,IAAI,EAAE;IACxB,OAAOsM,EAAE,CAACE,SAAS,EAAE,GAAGxM,IAAI,CAAC;EAC/B,CAAC;AACH;AAEA,SAAS0D,cAAcA,CAACxD,OAA6B,EAAE;EACrD,OAAO;IACLuM,aAAa,EAAEvM,OAAO,oBAAPA,OAAO,CAAEuM,aAAa;IACrC,GAAGC,aAAa,CAACxM,OAAO,oBAAPA,OAAO,CAAEyM,UAAU;EACtC,CAAC;AACH;AAEA,SAAS/K,eAAeA,CAAC1B,OAA8B,EAAE;EACvD,OAAO;IACL,GAAGS,SAAS,CAACT,OAAO,CAAC;IACrB0M,sBAAsB,EAAE1M,OAAO,oBAAPA,OAAO,CAAE2M;EACnC,CAAC;AACH;AAEA,SAASlM,SAASA,CAACmK,IAAqB,EAAE;EACxC,IAAI,CAACA,IAAI,EAAE;IACT,OAAO7C,SAAS;EAClB;EACA,MAAM6E,GAAG,GAAG;IACVL,aAAa,EAAE3B,IAAI,CAAC2B,aAAa;IACjCM,UAAU,EAAEjC,IAAI,CAACiC,UAAU;IAC3B,GAAGL,aAAa,CAAC5B,IAAI,oBAAJA,IAAI,CAAE6B,UAAU;EACnC,CAAC;EACD,IAAI7N,MAAM,CAACkO,OAAO,CAACF,GAAG,CAAC,CAACG,KAAK,CAAEC,EAAE,IAAKA,EAAE,CAAC,CAAC,CAAC,KAAKjF,SAAS,CAAC,EAAE;IAC1D,OAAOA,SAAS;EAClB;EACA,OAAO6E,GAAG;AACZ;AAEA,SAAS9L,aAAaA,CAACd,OAA4B,EAAE;EACnD,OAAO;IACLuM,aAAa,EAAEvM,OAAO,oBAAPA,OAAO,CAAEuM,aAAa;IACrCM,UAAU,EAAE7M,OAAO,oBAAPA,OAAO,CAAE6M,UAAU;IAC/B,GAAGL,aAAa,CAACxM,OAAO,oBAAPA,OAAO,CAAEyM,UAAU,CAAC;IACrCZ,cAAc,EAAE7L,OAAO,oBAAPA,OAAO,CAAE6L,cAAc;IACvCoB,QAAQ,EAAEjN,OAAO,oBAAPA,OAAO,CAAEiN;EACrB,CAAC;AACH;AAEA,SAAST,aAAaA,CAACC,UAAoB,EAAE;EAC3C,OAAOA,UAAU,KAAK1E,SAAS,GAC3B;IAAEmF,oBAAoB,EAAE;MAAEC,iBAAiB,EAAEV;IAAW;EAAE,CAAC,GAC3D,CAAC,CAAC;AACR;AAEA,SAAStL,UAAUA,CAACC,IAAuB,EAAe;EACxD,OAAOA,IAAI,CAACK,IAAI;AAClB;AAEA,SAASqE,QAAQA,CAACyB,KAAyB,EAAE9B,cAA+B,EAAE;EAC5E,OAAO,OAAOA,cAAc,KAAK,QAAQ,GACrC;IACE2H,YAAY,EAAE;MACZ7F,KAAK;MACLD,MAAM,EAAE7B;IACV;EACF,CAAC,GACD8B,KAAK,KAAKQ,SAAS,IAAItC,cAAc,GAAG,CAAC,GACzC;IACES,MAAM,EAAE;MACNqB,KAAK;MACL8F,MAAM,EAAE5H;IACV;EACF,CAAC,GACD,CAAC,CAAC;AACR;AAEA,SAASL,MAAMA,CAACC,OAA+B,EAAsB;EACnE,OAAOA,OAAO,CAAClC,GAAG,CAAEmK,UAAU,IAAK;IACjC,MAAM,CAAC,CAACpI,SAAS,EAAEwB,IAAI,CAAC,CAAC,GAAG9H,MAAM,CAACkO,OAAO,CAACQ,UAAU,CAAC;IACtD,MAAMnI,KAAK,GACTuB,IAAI,KAAK,KAAK,GACVpJ,QAAQ,CAAC8M,SAAS,CAACC,GAAG,GACtB3D,IAAI,KAAK,MAAM,GACfpJ,QAAQ,CAAC8M,SAAS,CAACE,IAAI,GACvBvC,SAAS;IACf,OAAO;MAAE7C,SAAS;MAAEC;IAAM,CAAC;EAC7B,CAAC,CAAC;AACJ;AAEA,eAAe3G,GAAGA,CAAI+O,eAAgC,EAAc;EAClE,IAAI,QAAQA,eAAe,oBAAfA,eAAe,CAAU/O,GAAG,MAAK,UAAU,EAAE;IACvD,OAAQ+O,eAAe,CAAiB/O,GAAG,CAAC,CAAC;EAC/C;EACA,OAAO+O,eAAe;AACxB;AAEA,SAAStM,OAAOA,CAAIuM,IAAY,EAAEpL,KAAQ,EAAkC;EAC1E,OAAQqL,KAAK,IAAK;IAAA,IAAAC,QAAA;IAChB,IACED,KAAK,YAAY5K,KAAK,IACtB,CAAC4K,KAAK,aAAAC,QAAA,GAALD,KAAK,CAAUE,OAAO,cAAAD,QAAA,GAAvBA,QAAA,CAAyBE,gBAAgB,qBAAzCF,QAAA,CAA2CF,IAAI,MAAKA,IAAI,EACxD;MACA,OAAOK,OAAO,CAACC,OAAO,CAAC1L,KAAK,CAAC;IAC/B;IACA,OAAOyL,OAAO,CAACE,MAAM,CAACN,KAAK,CAAC;EAC9B,CAAC;AACH;AAEA,SAASpM,qBAAqBA,CAACD,IAA0B,EAAE;EACzD,MAAM4M,kBAAkB,GAAG,IAAAC,eAAQ,EAAC7M,IAAI,EAAG8M,GAAG,IAAKA,GAAG,CAACC,UAAU,CAAC,GAAG,CAAC,CAAC;EACvE,MAAMC,eAAe,GAAG,IAAAH,eAAQ,EAAC7M,IAAI,EAAG8M,GAAG,IAAKA,GAAG,CAACG,QAAQ,CAAC,GAAG,CAAC,CAAC;EAClE,IAAIL,kBAAkB,EAAE;IACtBM,OAAO,CAACb,KAAK,CACX,0JACF,CAAC;EACH;EACA,IAAIW,eAAe,EAAE;IACnBE,OAAO,CAACC,IAAI,CACV,uJACF,CAAC;EACH;AACF;AAEA,SAASzK,YAAYA,CACnBkD,OAAc,EACdrD,OAAsC,EACtCwI,WAAqB,GAAG,EAAE,EACP;EACnB,MAAMqC,MAAM,GAAG7K,OAAO,CAAC8K,OAAO,CAAEtQ,CAAC,IAAK;IAAA,IAAAuQ,eAAA,EAAAC,gBAAA;IACpC,IAAI,CAAAD,eAAA,GAAAvQ,CAAC,CAACyQ,YAAY,aAAdF,eAAA,CAAgBG,OAAO,IAAI,GAAAF,gBAAA,GAACxQ,CAAC,CAACyQ,YAAY,aAAdD,gBAAA,CAAgBlB,KAAK,GAAE;MACrD,OAAO,EAAE;IACX;IACA,IAAItB,WAAW,CAACkC,QAAQ,CAAClQ,CAAC,CAACyQ,YAAY,CAACnB,KAAK,CAACD,IAAI,IAAI,EAAE,CAAC,EAAE;MACzD,OAAO,EAAE;IACX;IACA,OAAO,CACL,IAAIsB,iBAAS,CACX3Q,CAAC,CAACyQ,YAAY,CAACnB,KAAK,CAACsB,WAAW,EAChC5Q,CAAC,CAACyQ,YAAY,CAACnB,KAAK,CAACD,IAAI,EACzBxG,OAAO,CAAC7I,CAAC,CAACyQ,YAAY,CAACI,aAAa,CAAE,EACtC,WAAW,EACX7Q,CAAC,CAACyQ,YAAY,CAACI,aACjB,CAAC,CACF;EACH,CAAC,CAAC;EACF,MAAMH,OAAO,GAAGlL,OAAO,CAACkB,MAAM,CAAE1G,CAAC;IAAA,IAAA8Q,gBAAA;IAAA,QAAAA,gBAAA,GAAK9Q,CAAC,CAACyQ,YAAY,qBAAdK,gBAAA,CAAgBJ,OAAO;EAAA,EAAC;EAC9D,MAAMK,QAAQ,GAAGL,OAAO,CAAChK,MAAM,CAC5B1G,CAAC,IAAKA,CAAC,CAAC4D,MAAM,KAAKzE,QAAQ,CAAC6R,cAAc,CAACC,MAC9C,CAAC;EACD,MAAMC,OAAO,GAAGR,OAAO,CAAChK,MAAM,CAC3B1G,CAAC,IACAA,CAAC,CAAC4D,MAAM,KAAKzE,QAAQ,CAAC6R,cAAc,CAACG,MAAM,IAC3CnR,CAAC,CAAC4D,MAAM,KAAKzE,QAAQ,CAAC6R,cAAc,CAACI,KACzC,CAAC;EACD,MAAMC,OAAO,GAAGX,OAAO,CAAChK,MAAM,CAC3B1G,CAAC,IAAKA,CAAC,CAAC4D,MAAM,KAAKzE,QAAQ,CAAC6R,cAAc,CAACM,MAC9C,CAAC;EACD,OAAO;IACLP,QAAQ,EAAEA,QAAQ,CAACjL,MAAM;IACzBoL,OAAO,EAAEA,OAAO,CAACpL,MAAM;IACvBuL,OAAO,EAAEA,OAAO,CAACvL,MAAM;IACvByL,OAAO,EAAE1I,OAAO,CAAC/C,MAAM,GAAGuK,MAAM,CAACvK,MAAM,GAAG4K,OAAO,CAAC5K,MAAM;IACxDuK,MAAM;IACNmB,eAAe,EAAET,QAAQ,CAAC/L,GAAG,CAAEhF,CAAC;MAAA,IAAAyR,gBAAA;MAAA,QAAAA,gBAAA,GAAKzR,CAAC,CAACyQ,YAAY,qBAAdgB,gBAAA,CAAgBrO,EAAE;IAAA,CAAC,CAAC;IACzDsO,cAAc,EAAER,OAAO,CAAClM,GAAG,CAAEhF,CAAC;MAAA,IAAA2R,gBAAA;MAAA,QAAAA,gBAAA,GAAK3R,CAAC,CAACyQ,YAAY,qBAAdkB,gBAAA,CAAgBvO,EAAE;IAAA,CAAC,CAAC;IACvDwO,cAAc,EAAEP,OAAO,CAACrM,GAAG,CAAEhF,CAAC;MAAA,IAAA6R,gBAAA;MAAA,QAAAA,gBAAA,GAAK7R,CAAC,CAACyQ,YAAY,qBAAdoB,gBAAA,CAAgBzO,EAAE;IAAA,CAAC;EACxD,CAAC;AACH;AAEA,SAAS2H,mBAAmBA,CAC1BjD,KAA4B,EACL;EACvB;EACA;EACA;EACA,OAAOA,KAAK,CAAC9C,GAAG,CAAE/B,IAAI,IAAK;IACzB,MAAMG,EAAE,GAAGH,IAAI,CAACI,GAAG;IACnB,IAAI,IAAAyO,eAAQ,EAAC1O,EAAE,CAAC,EAAE;MAChB,MAAM,CAAC2M,GAAG,EAAE,GAAGgC,IAAI,CAAC,GAAGtR,MAAM,CAACuR,IAAI,CAAC5O,EAAE,CAAC;MACtC,IAAI2O,IAAI,CAACjM,MAAM,KAAK,CAAC,EAAE;QACrB7C,IAAI,CAACI,GAAG,GAAGD,EAAE,CAAC2M,GAAG,CAAC;QAClB,OAAO9M,IAAI;MACb;IACF;IACA,OAAOA,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,SAAS0I,mBAAmBA,CAC1BnG,OAAoC,EACrB;EACf,OAAOA,OAAO,CACXR,GAAG,CAAEE,MAAM,IAAKA,MAAM,CAAC1C,QAAQ,CAAC,CAChCkE,MAAM,CAACuL,QAAQ,CAAC,CAChBjN,GAAG,CAAChC,UAAU,CAAC;AACpB;AAEA,SAASiP,QAAQA,CAAIhO,KAA2B,EAAc;EAC5D,OAAOA,KAAK,IAAI,IAAI;AACtB;AAEA,SAAS1B,MAAMA,CAACU,IAAqB,EAAU;EAC7C,OAAO,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGA,IAAI,CAACI,GAAG;AACnD;AAEA,SAASuJ,OAAOA,CAAIsF,KAAc,EAAO;EACvC,OAAO,IAAAC,cAAO,EAACD,KAAK,CAAC,GAAIA,KAAK,GAAW,CAACA,KAAK,CAAM;AACvD;AAEA,SAASrK,QAAQA,CAACP,cAA+B,EAAE;EACjD,OAAO,OAAOA,cAAc,KAAK,QAAQ;AAC3C;AAEA,MAAMvE,oBAAoB,GAAG,SAAS;AAEtC,SAASjB,YAAYA,CAAA,EAAG;EACtB,OAAO,IAAAsQ,oBAAkB,EAACrM,0BAAkB,CAAC;AAC/C","ignoreList":[]}
|