@harperfast/harper 5.3.0-alpha.1 → 5.3.0-beta.2
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/bin/cliOperations.ts +12 -0
- package/bin/restart.ts +66 -6
- package/components/Application.ts +1134 -112
- package/components/DESIGN.md +421 -0
- package/components/OptionsWatcher.ts +368 -102
- package/components/Scope.ts +20 -1
- package/components/componentLoader.ts +43 -4
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/DESIGN.md +109 -0
- package/components/mcp/audit.ts +21 -17
- package/components/operations.js +284 -52
- package/components/operationsValidation.js +49 -2
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/config/DESIGN.md +306 -0
- package/config/RootConfigWatcher.ts +191 -37
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +78 -26
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +4 -0
- package/dataLayer/DESIGN.md +179 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
- package/dataLayer/restoreMarker.ts +92 -25
- package/dist/bin/cliOperations.js +13 -0
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/restart.js +42 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/components/Application.d.ts +104 -9
- package/dist/components/Application.js +954 -102
- package/dist/components/Application.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -1
- package/dist/components/OptionsWatcher.js +378 -104
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/Scope.js +15 -1
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +35 -3
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deploymentOperations.js +4 -1
- package/dist/components/deploymentOperations.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +4 -2
- package/dist/components/deploymentRecorder.js +1 -0
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/audit.d.ts +2 -1
- package/dist/components/mcp/audit.js +21 -17
- package/dist/components/mcp/audit.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +263 -54
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +48 -2
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.js +24 -0
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +7 -0
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +2 -0
- package/dist/config/RootConfigWatcher.js +189 -35
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configReadRetry.d.ts +8 -0
- package/dist/config/configReadRetry.js +62 -0
- package/dist/config/configReadRetry.js.map +1 -0
- package/dist/config/configUtils.d.ts +10 -9
- package/dist/config/configUtils.js +63 -27
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +4 -0
- package/dist/config/parseConfigFile.js +35 -0
- package/dist/config/parseConfigFile.js.map +1 -0
- package/dist/config/readConfigFileSync.d.ts +1 -0
- package/dist/config/readConfigFileSync.js +47 -0
- package/dist/config/readConfigFileSync.js.map +1 -0
- package/dist/config/watcherArming.d.ts +15 -0
- package/dist/config/watcherArming.js +59 -0
- package/dist/config/watcherArming.js.map +1 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/restoreMarker.d.ts +21 -8
- package/dist/dataLayer/restoreMarker.js +94 -27
- package/dist/dataLayer/restoreMarker.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +3 -0
- package/dist/resources/DatabaseTransaction.d.ts +25 -0
- package/dist/resources/DatabaseTransaction.js +224 -18
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +22 -3
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.js +22 -6
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +1 -1
- package/dist/resources/RecordEncoder.js +46 -10
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Resource.js +97 -13
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +8 -0
- package/dist/resources/RocksIndexStore.js +2 -1
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
- package/dist/resources/RocksTransactionLogStore.js +104 -33
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +58 -7
- package/dist/resources/Table.js +1143 -348
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.d.ts +3 -0
- package/dist/resources/analytics/write.js +49 -16
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +170 -0
- package/dist/resources/auditStore.js +457 -11
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/crdt.d.ts +10 -0
- package/dist/resources/crdt.js +22 -0
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/dataLoader.js +3 -4
- package/dist/resources/dataLoader.js.map +1 -1
- package/dist/resources/databases.d.ts +16 -13
- package/dist/resources/databases.js +625 -177
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/derivedIndexRegistry.d.ts +5 -0
- package/dist/resources/derivedIndexRegistry.js +68 -0
- package/dist/resources/derivedIndexRegistry.js.map +1 -0
- package/dist/resources/derivedIndexRuntime.d.ts +215 -0
- package/dist/resources/derivedIndexRuntime.js +2027 -0
- package/dist/resources/derivedIndexRuntime.js.map +1 -0
- package/dist/resources/graphql.js +3 -2
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +867 -39
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/fullTextDerivedIndex.d.ts +81 -0
- package/dist/resources/indexes/fullTextDerivedIndex.js +1004 -0
- package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +78 -0
- package/dist/resources/indexes/fullTextNativeBinding.js +85 -0
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -0
- package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
- package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
- package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
- package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
- package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +24 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +149 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -0
- package/dist/resources/nodeIdMapping.d.ts +5 -0
- package/dist/resources/nodeIdMapping.js +49 -0
- package/dist/resources/nodeIdMapping.js.map +1 -1
- package/dist/resources/recordLock.d.ts +47 -4
- package/dist/resources/recordLock.js +138 -7
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2597 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.js +5 -0
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replicatedApplyFailure.d.ts +16 -0
- package/dist/resources/replicatedApplyFailure.js +63 -0
- package/dist/resources/replicatedApplyFailure.js.map +1 -0
- package/dist/resources/scheduler/scheduler.js +3 -3
- package/dist/resources/scheduler/scheduler.js.map +1 -1
- package/dist/resources/search.d.ts +10 -4
- package/dist/resources/search.js +160 -40
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +5 -1
- package/dist/resources/tracked.js +74 -23
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transactionBroadcast.js +4 -6
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +59 -23
- package/dist/security/auth.js.map +1 -1
- package/dist/security/deferredAuthentication.d.ts +11 -0
- package/dist/security/deferredAuthentication.js +25 -3
- package/dist/security/deferredAuthentication.js.map +1 -1
- package/dist/security/jsLoader.js +9 -4
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/server/REST.js +39 -5
- package/dist/server/REST.js.map +1 -1
- package/dist/server/http.d.ts +5 -1
- package/dist/server/http.js +34 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/mqtt.js +5 -1
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +2 -0
- package/dist/server/serverHelpers/Headers.js +6 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +5 -10
- package/dist/server/serverHelpers/Request.js +38 -136
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
- package/dist/server/serverHelpers/contentTypes.js +189 -15
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +3 -3
- package/dist/server/serverHelpers/serverUtilities.js +110 -20
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +4 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/serverHelpers/webSocketCloseReason.d.ts +2 -0
- package/dist/server/serverHelpers/webSocketCloseReason.js +29 -0
- package/dist/server/serverHelpers/webSocketCloseReason.js.map +1 -0
- package/dist/server/storageReclamation.js +1 -1
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/isolatedApplications.d.ts +47 -0
- package/dist/server/threads/isolatedApplications.js +171 -0
- package/dist/server/threads/isolatedApplications.js.map +1 -0
- package/dist/server/threads/logRotationTransport.d.ts +1 -0
- package/dist/server/threads/logRotationTransport.js +33 -0
- package/dist/server/threads/logRotationTransport.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +64 -6
- package/dist/server/threads/manageThreads.js +261 -12
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +196 -13
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +30 -7
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +24 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +2 -0
- package/dist/utility/hdbTerms.js +2 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.js +218 -38
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
- package/dist/utility/logging/logGenerationCoordinator.js +184 -0
- package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
- package/dist/utility/logging/logRotation.d.ts +46 -0
- package/dist/utility/logging/logRotation.js +365 -0
- package/dist/utility/logging/logRotation.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +1 -1
- package/dist/utility/logging/logRotator.js +172 -92
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/npmUtilities.js +6 -4
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/watcherFallback.d.ts +0 -45
- package/dist/utility/watcherFallback.js +1 -125
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.js +6 -3
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +9 -0
- package/json/systemSchema.json +3 -0
- package/npm-shrinkwrap.json +177 -87
- package/package.json +13 -5
- package/resources/DESIGN.md +689 -19
- package/resources/DatabaseTransaction.ts +230 -17
- package/resources/LMDBTransaction.ts +21 -3
- package/resources/PrimaryRocksDatabase.ts +20 -7
- package/resources/RecordEncoder.ts +52 -10
- package/resources/Resource.ts +97 -13
- package/resources/ResourceInterface.ts +8 -0
- package/resources/RocksIndexStore.ts +2 -1
- package/resources/RocksTransactionLogStore.ts +111 -31
- package/resources/Table.ts +1273 -396
- package/resources/analytics/DESIGN.md +38 -0
- package/resources/analytics/write.ts +50 -17
- package/resources/auditStore.ts +460 -11
- package/resources/crdt.ts +22 -0
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +611 -147
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +3 -2
- package/resources/indexes/DESIGN.md +833 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +924 -46
- package/resources/indexes/fullTextDerivedIndex.ts +1165 -0
- package/resources/indexes/fullTextNativeBinding.ts +146 -0
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +181 -0
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/record-locks.md +1407 -0
- package/resources/recordLock.ts +173 -7
- package/resources/recordLockCoordinator.ts +3082 -0
- package/resources/replayLogs.ts +5 -0
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/DESIGN.md +40 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +169 -49
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +4 -4
- package/security/DESIGN.md +175 -0
- package/security/auth.ts +53 -24
- package/security/deferredAuthentication.ts +24 -2
- package/security/jsLoader.ts +9 -4
- package/server/DESIGN.md +275 -0
- package/server/REST.ts +42 -6
- package/server/http.ts +34 -2
- package/server/mqtt.ts +6 -4
- package/server/serverHelpers/Headers.ts +5 -1
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +188 -15
- package/server/serverHelpers/serverUtilities.ts +157 -27
- package/server/serverHelpers/uwsServer.ts +4 -1
- package/server/serverHelpers/webSocketCloseReason.ts +25 -0
- package/server/storageReclamation.ts +2 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +254 -12
- package/server/threads/socketRouter.ts +217 -11
- package/server/threads/threadServer.js +30 -7
- package/studio/web/assets/{Chat-BnCBegQz.js → Chat-DADFFGe_.js} +1 -1
- package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-D_mI-rZ7.js} +3 -3
- package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-c2NiSDHa.js} +1 -1
- package/studio/web/assets/{applications-DHxGi7JH.js → applications-DktUqh7G.js} +1 -1
- package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-Cs_75Xhw.js} +1 -1
- package/studio/web/assets/{editor-DNcRHK54.js → editor-19b-Y1IN.js} +1 -1
- package/studio/web/assets/{html-Bdssedlg.js → html-DiYEQMpB.js} +1 -1
- package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CmR0y7P_.js} +1 -1
- package/studio/web/assets/{index-D6sxmFLR.js → index-Dm0rfkJ7.js} +5 -5
- package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-7vqt2CC3.js} +1 -1
- package/studio/web/assets/{javascript-B8meVSTH.js → javascript-BWtCFuOt.js} +1 -1
- package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-Buzzbv9y.js} +1 -1
- package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-SqsFWfTM.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-EMV5cmjo.js} +1 -1
- package/studio/web/assets/{notifications-CvZivSbh.js → notifications-CAB-LZWT.js} +1 -1
- package/studio/web/assets/{notifications-CQf18QKb.js → notifications-DRzmSRxM.js} +1 -1
- package/studio/web/assets/{profile-DdOwtntb.js → profile-BNKAl79n.js} +1 -1
- package/studio/web/assets/{regions-n69fwagr.js → regions-CUow_Zw2.js} +1 -1
- package/studio/web/assets/{register-PfWTCXWB.js → register-Dkt3WUMp.js} +2 -2
- package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BZRfMD0N.js} +1 -1
- package/studio/web/assets/{setup-CUx_aUDl.js → setup-D_yiEPO2.js} +2 -2
- package/studio/web/assets/{status-D7BVKqX9.js → status-DhHh1Ge-.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-D7L1PDtV.js} +1 -1
- package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-CCwLk1YS.js} +1 -1
- package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-BP1j1mjn.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-D7bnYxLw.js} +1 -1
- package/studio/web/assets/{workers-pR3jRY9D.js → workers-tOuCNT17.js} +1 -1
- package/studio/web/assets/{xml-2iRnMhQO.js → xml-BSG_3mQT.js} +1 -1
- package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-DxiLprBB.js} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/DESIGN.md +55 -0
- package/utility/errors/hdbError.ts +54 -0
- package/utility/hdbTerms.ts +2 -0
- package/utility/logging/harper_logger.ts +210 -30
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +196 -91
- package/utility/npmUtilities.ts +6 -4
- package/utility/watcherFallback.ts +0 -122
- package/validation/configValidator.ts +6 -3
package/dist/resources/search.js
CHANGED
|
@@ -21,6 +21,7 @@ const RecordEncoder_ts_1 = require("./RecordEncoder.js");
|
|
|
21
21
|
const DatabaseTransaction_ts_1 = require("./DatabaseTransaction.js");
|
|
22
22
|
const write_1 = require("./analytics/write");
|
|
23
23
|
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
24
|
+
const Headers_ts_1 = require("../server/serverHelpers/Headers.js");
|
|
24
25
|
// these are ratios/percentages of overall table size
|
|
25
26
|
const OPEN_RANGE_ESTIMATE = 0.3;
|
|
26
27
|
const BETWEEN_ESTIMATE = 0.1;
|
|
@@ -131,7 +132,12 @@ function executeConditions(conditions, operator, table, txn, request, context, t
|
|
|
131
132
|
return executeConditions(condition.conditions, condition.operator, table, txn, request, context, transformToEntries, filtered
|
|
132
133
|
// recordAccess intentionally omitted: guards run once, at the top level (see above).
|
|
133
134
|
);
|
|
134
|
-
return searchByIndex(condition, txn, condition.descending || request.reverse === true, table,
|
|
135
|
+
return searchByIndex(condition, txn, condition.descending || request.reverse === true, table, {
|
|
136
|
+
allowFullScan: request.allowFullScan,
|
|
137
|
+
filtered,
|
|
138
|
+
context,
|
|
139
|
+
minResults: request.limit === 0 ? 0 : request.limit !== undefined ? (request.offset || 0) + request.limit : undefined,
|
|
140
|
+
});
|
|
135
141
|
}
|
|
136
142
|
function mapConditionsToFilters(conditions, intersection, estimatedIncomingCount) {
|
|
137
143
|
return conditions
|
|
@@ -249,19 +255,21 @@ function distinctRecords(entries) {
|
|
|
249
255
|
return distinct;
|
|
250
256
|
}
|
|
251
257
|
/**
|
|
252
|
-
* Search for records or keys, based on the search condition, using an index if available
|
|
258
|
+
* Search for records or keys, based on the search condition, using an index if available. The four
|
|
259
|
+
* leading parameters are required at every call site; everything optional is named, so a new
|
|
260
|
+
* capability can be added without shifting positions at callers that don't use it.
|
|
253
261
|
* @param searchCondition
|
|
254
262
|
* @param transaction
|
|
255
263
|
* @param reverse
|
|
256
264
|
* @param Table
|
|
257
|
-
* @param
|
|
258
|
-
* @param filtered
|
|
265
|
+
* @param options
|
|
259
266
|
*/
|
|
260
|
-
function searchByIndex(searchCondition, transaction, reverse, Table,
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
|
|
264
|
-
|
|
267
|
+
function searchByIndex(searchCondition, transaction, reverse, Table, options = {}) {
|
|
268
|
+
// A stale positional caller passes `allowFullScan` here. Type checking only covers .ts callers, so
|
|
269
|
+
// fail loud rather than silently reading every option as undefined.
|
|
270
|
+
if (typeof options !== 'object' || options === null)
|
|
271
|
+
throw new TypeError('searchByIndex: the 5th argument is an options object (#2165), not a positional value');
|
|
272
|
+
const { allowFullScan, filtered, context, minResults } = options;
|
|
265
273
|
let attribute_name = searchCondition[0] ?? searchCondition.attribute;
|
|
266
274
|
let value = searchCondition[1] ?? searchCondition.value;
|
|
267
275
|
const comparator = searchCondition.comparator;
|
|
@@ -288,7 +296,7 @@ minResults) {
|
|
|
288
296
|
value,
|
|
289
297
|
comparator,
|
|
290
298
|
negated: searchCondition.negated,
|
|
291
|
-
}, transaction, reverse, relatedTable, allowFullScan, joined);
|
|
299
|
+
}, transaction, reverse, relatedTable, { allowFullScan, filtered: joined });
|
|
292
300
|
if (attribute.relationship.to) {
|
|
293
301
|
// this is one-to-many or many-to-many, so we need to track the filtering of related entries that match
|
|
294
302
|
filtered[attribute_name[0]] = joined;
|
|
@@ -300,7 +308,7 @@ minResults) {
|
|
|
300
308
|
const searchEntry = (relatedEntry) => {
|
|
301
309
|
if (relatedEntry?.key !== undefined)
|
|
302
310
|
relatedEntry = relatedEntry.key;
|
|
303
|
-
return searchByIndex({ attribute: attribute.relationship.from, value: relatedEntry }, transaction, reverse, Table, allowFullScan, joined);
|
|
311
|
+
return searchByIndex({ attribute: attribute.relationship.from, value: relatedEntry }, transaction, reverse, Table, { allowFullScan, filtered: joined });
|
|
304
312
|
};
|
|
305
313
|
if (attribute.elements) {
|
|
306
314
|
filtered[attribute_name[0]] = joined;
|
|
@@ -513,29 +521,115 @@ minResults) {
|
|
|
513
521
|
// exploring until it has enough MATCHING results, rather than post-filtering an under-filled
|
|
514
522
|
// candidate set. Only indexes that opt in (filteredSearch) receive it; others post-filter as before.
|
|
515
523
|
const recordFilter = index.customIndex.filteredSearch ? searchCondition.recordFilter : undefined;
|
|
516
|
-
const
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
524
|
+
const waiting = index.customIndex.filePrimary && searchCondition.waitForIndexMilliseconds > 0;
|
|
525
|
+
const start = waiting ? Promise.withResolvers() : undefined;
|
|
526
|
+
const controller = waiting ? new AbortController() : undefined;
|
|
527
|
+
const checkActive = waiting ? (0, DatabaseTransaction_ts_1.getReadTransactionGuard)(transaction) : undefined;
|
|
528
|
+
const signal = waiting
|
|
529
|
+
? context.signal
|
|
530
|
+
? AbortSignal.any([context.signal, controller.signal])
|
|
531
|
+
: controller.signal
|
|
532
|
+
: undefined;
|
|
533
|
+
const searchContext = waiting
|
|
534
|
+
? Object.create(context, {
|
|
535
|
+
signal: { value: signal },
|
|
536
|
+
indexSearchStart: { value: start.promise.then(() => checkActive?.()) },
|
|
537
|
+
})
|
|
538
|
+
: context;
|
|
539
|
+
const searched = index.customIndex.search(searchCondition, searchContext, {
|
|
540
|
+
filter: waiting && recordFilter
|
|
541
|
+
? (id) => {
|
|
542
|
+
if (signal.aborted)
|
|
543
|
+
return false;
|
|
544
|
+
checkActive?.();
|
|
545
|
+
return recordFilter(id);
|
|
546
|
+
}
|
|
547
|
+
: recordFilter,
|
|
548
|
+
minResults,
|
|
532
549
|
});
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
550
|
+
const coverage = searched.indexCoverage;
|
|
551
|
+
if (!waiting && coverage && context?.responseHeaders) {
|
|
552
|
+
(0, Headers_ts_1.appendHeader)(context.responseHeaders, 'Harper-Index-Coverage', `${coverage.state}; lag=${coverage.lagUpperBoundMilliseconds}; tolerance=${coverage.maxLagMilliseconds}`, true);
|
|
553
|
+
(0, Headers_ts_1.appendHeader)(context.responseHeaders, 'Access-Control-Expose-Headers', 'Harper-Index-Coverage', true);
|
|
537
554
|
}
|
|
538
|
-
|
|
555
|
+
const processEntries = (entries) => {
|
|
556
|
+
const loaded = entries
|
|
557
|
+
.map((entry) => {
|
|
558
|
+
// if the custom index returns an entry with metadata, merge it with the loaded entry
|
|
559
|
+
if (typeof entry === 'object' && entry) {
|
|
560
|
+
const { key, ...otherProps } = entry;
|
|
561
|
+
if (key == null)
|
|
562
|
+
return extended_iterable_1.SKIP; // primaryKey missing from HNSW node — skip rather than crash
|
|
563
|
+
const loadedEntry = Table.primaryStore.getEntry(key, {
|
|
564
|
+
transaction: waiting ? transaction : context && Table._readTxnForContext(context),
|
|
565
|
+
});
|
|
566
|
+
if (!loadedEntry)
|
|
567
|
+
return extended_iterable_1.SKIP; // record was deleted/expired or not yet visible
|
|
568
|
+
(0, Table_ts_1.freezeRecord)(loadedEntry?.value);
|
|
569
|
+
recordRead(loadedEntry);
|
|
570
|
+
return { ...otherProps, ...loadedEntry };
|
|
571
|
+
}
|
|
572
|
+
return entry;
|
|
573
|
+
})
|
|
574
|
+
.filter((entry) => entry !== extended_iterable_1.SKIP);
|
|
575
|
+
if (index.customIndex.rescoreResults) {
|
|
576
|
+
const rescored = index.customIndex.rescoreResults(loaded, searchCondition, comparator, attribute_name);
|
|
577
|
+
if (rescored != null)
|
|
578
|
+
return rescored;
|
|
579
|
+
}
|
|
580
|
+
return loaded;
|
|
581
|
+
};
|
|
582
|
+
if (typeof searched?.then === 'function') {
|
|
583
|
+
let settled = false;
|
|
584
|
+
const pending = waiting
|
|
585
|
+
? searched
|
|
586
|
+
.then((entries) => {
|
|
587
|
+
if (controller.signal.aborted)
|
|
588
|
+
return [];
|
|
589
|
+
if (signal.aborted)
|
|
590
|
+
throw signal.reason ?? new Error('Index search aborted', { cause: signal.reason });
|
|
591
|
+
checkActive?.();
|
|
592
|
+
return processEntries(entries);
|
|
593
|
+
})
|
|
594
|
+
.finally(() => {
|
|
595
|
+
settled = true;
|
|
596
|
+
})
|
|
597
|
+
: searched.then(processEntries);
|
|
598
|
+
// A consumer may abandon this lazy iterable without calling next().
|
|
599
|
+
pending.catch(() => { });
|
|
600
|
+
const results = new extended_iterable_1.ExtendedIterable();
|
|
601
|
+
results.iterate = (options) => {
|
|
602
|
+
if (!options?.async) {
|
|
603
|
+
throw new Error('This index resolves search results asynchronously; the results must be consumed with async iteration');
|
|
604
|
+
}
|
|
605
|
+
// Overlapping next() calls share one cursor and cannot duplicate its first entry.
|
|
606
|
+
const iteratorPromise = pending.then((entries) => entries[Symbol.iterator]());
|
|
607
|
+
iteratorPromise.catch(() => { });
|
|
608
|
+
let closed = false;
|
|
609
|
+
return {
|
|
610
|
+
next() {
|
|
611
|
+
if (closed)
|
|
612
|
+
return Promise.resolve({ done: true, value: undefined });
|
|
613
|
+
start?.resolve();
|
|
614
|
+
return iteratorPromise.then((inner) => {
|
|
615
|
+
if (closed)
|
|
616
|
+
return { done: true, value: undefined };
|
|
617
|
+
checkActive?.();
|
|
618
|
+
return inner.next();
|
|
619
|
+
});
|
|
620
|
+
},
|
|
621
|
+
return(value) {
|
|
622
|
+
closed = true;
|
|
623
|
+
if (!settled)
|
|
624
|
+
controller?.abort();
|
|
625
|
+
iteratorPromise.then((inner) => inner.return?.(value), () => { });
|
|
626
|
+
return Promise.resolve({ done: true, value });
|
|
627
|
+
},
|
|
628
|
+
};
|
|
629
|
+
};
|
|
630
|
+
return results;
|
|
631
|
+
}
|
|
632
|
+
return processEntries(searched);
|
|
539
633
|
}
|
|
540
634
|
const scanned = index.getRange(rangeOptions).map(filter
|
|
541
635
|
? function ({ key, value }) {
|
|
@@ -1068,7 +1162,7 @@ function filterByType(searchCondition, Table, context, filtered, isPrimaryKey, e
|
|
|
1068
1162
|
canUseIndex =
|
|
1069
1163
|
canUseIndex && // is it a comparator that makes sense to use index
|
|
1070
1164
|
!isPrimaryKey && // no need to use index for primary keys, since we will be iterating over the primary keys
|
|
1071
|
-
Table
|
|
1165
|
+
!!(Table && usableIndex(Table, attribute)) && // is there a usable (complete) index for this attribute
|
|
1072
1166
|
estimatedIncomingCount > 3; // do we have a valid estimate of multiple incoming records (that is worth using an index for)
|
|
1073
1167
|
if (canUseIndex) {
|
|
1074
1168
|
if (searchCondition.estimated_count == undefined)
|
|
@@ -1134,7 +1228,7 @@ function filterByType(searchCondition, Table, context, filtered, isPrimaryKey, e
|
|
|
1134
1228
|
function estimateRangeCondition(table, condition, searchType, fraction) {
|
|
1135
1229
|
const attributeName = condition[0] ?? condition.attribute;
|
|
1136
1230
|
const isPrimaryKey = attributeName === table.primaryKey;
|
|
1137
|
-
const store = isPrimaryKey ? table.primaryStore : table
|
|
1231
|
+
const store = isPrimaryKey ? table.primaryStore : usableIndex(table, attributeName);
|
|
1138
1232
|
// LMDB-backed and custom index stores do not implement estimateCount
|
|
1139
1233
|
if (typeof store?.estimateCount !== 'function')
|
|
1140
1234
|
return undefined;
|
|
@@ -1215,6 +1309,28 @@ function estimateRangeCondition(table, condition, searchType, fraction) {
|
|
|
1215
1309
|
const heuristic = fraction * estimatedEntryCount(table.primaryStore) + 1;
|
|
1216
1310
|
return Math.max(1, Math.round(confidence * count + (1 - confidence) * heuristic));
|
|
1217
1311
|
}
|
|
1312
|
+
/** The index a condition can be driven by; searchByIndex refuses a rebuilding one, so it reads as absent. */
|
|
1313
|
+
function usableIndex(table, attributeName) {
|
|
1314
|
+
const index = attributeName == null ? undefined : table.indices[attributeName];
|
|
1315
|
+
return index?.isIndexing ? undefined : index;
|
|
1316
|
+
}
|
|
1317
|
+
/**
|
|
1318
|
+
* True when an index this attribute would have to be driven by is still being built, following a
|
|
1319
|
+
* relationship path to the local join index and on to the related table's leaf index.
|
|
1320
|
+
*/
|
|
1321
|
+
function drivesRebuildingIndex(table, attributeName, relationshipOffset = 0) {
|
|
1322
|
+
if (!Array.isArray(attributeName))
|
|
1323
|
+
return attributeName != null && attributeName !== table.primaryKey && !!table.indices[attributeName]?.isIndexing;
|
|
1324
|
+
if (relationshipOffset >= attributeName.length - 1)
|
|
1325
|
+
return drivesRebuildingIndex(table, attributeName[relationshipOffset]);
|
|
1326
|
+
const attribute = findAttribute(table.attributes, attributeName[relationshipOffset]);
|
|
1327
|
+
if (!attribute)
|
|
1328
|
+
return false;
|
|
1329
|
+
if (table.indices[attribute.relationship?.from]?.isIndexing)
|
|
1330
|
+
return true;
|
|
1331
|
+
const relatedTable = attribute.definition?.tableClass || attribute.elements?.definition?.tableClass;
|
|
1332
|
+
return !!relatedTable && drivesRebuildingIndex(relatedTable, attributeName, relationshipOffset + 1);
|
|
1333
|
+
}
|
|
1218
1334
|
function estimateCondition(table) {
|
|
1219
1335
|
function estimateConditionForTable(condition) {
|
|
1220
1336
|
if (condition.estimated_count === undefined) {
|
|
@@ -1245,7 +1361,11 @@ function estimateCondition(table) {
|
|
|
1245
1361
|
// skip if it is cached
|
|
1246
1362
|
let searchType = condition.comparator || condition.search_type;
|
|
1247
1363
|
searchType = ALTERNATE_COMPARATOR_NAMES[searchType] || searchType;
|
|
1248
|
-
|
|
1364
|
+
// before comparator dispatch: several branches fall back to a finite table-fraction heuristic
|
|
1365
|
+
if (drivesRebuildingIndex(table, condition[0] ?? condition.attribute)) {
|
|
1366
|
+
condition.estimated_count = Infinity;
|
|
1367
|
+
}
|
|
1368
|
+
else if (condition.negated) {
|
|
1249
1369
|
// a negated condition always executes as a full scan (searchByIndex forces
|
|
1250
1370
|
// needFullScan), so follow the filter-only convention used by contains/ends_with:
|
|
1251
1371
|
// estimate Infinity so its positive-range estimate can never win the driving-condition
|
|
@@ -1282,13 +1402,13 @@ function estimateCondition(table) {
|
|
|
1282
1402
|
}
|
|
1283
1403
|
else {
|
|
1284
1404
|
// we only attempt to estimate count on equals operator because that's really all that LMDB supports (some other key-value stores like libmdbx could be considered if we need to do estimated counts of ranges at some point)
|
|
1285
|
-
const index = table
|
|
1405
|
+
const index = usableIndex(table, attribute_name);
|
|
1286
1406
|
condition.estimated_count = index ? index.getValuesCount(condition[1] ?? condition.value) : Infinity;
|
|
1287
1407
|
}
|
|
1288
1408
|
}
|
|
1289
1409
|
else if (searchType === 'contains' || searchType === 'ends_with' || searchType === 'ne') {
|
|
1290
1410
|
const attribute_name = condition[0] ?? condition.attribute;
|
|
1291
|
-
const index = table
|
|
1411
|
+
const index = usableIndex(table, attribute_name);
|
|
1292
1412
|
if (condition.value === null && searchType === 'ne') {
|
|
1293
1413
|
condition.estimated_count = Math.max(estimatedEntryCount(table.primaryStore) - (index ? index.getValuesCount(null) : 0), 0);
|
|
1294
1414
|
}
|
|
@@ -1297,7 +1417,7 @@ function estimateCondition(table) {
|
|
|
1297
1417
|
}
|
|
1298
1418
|
else if (searchType === 'in') {
|
|
1299
1419
|
const attribute_name = condition[0] ?? condition.attribute;
|
|
1300
|
-
const index = table
|
|
1420
|
+
const index = usableIndex(table, attribute_name);
|
|
1301
1421
|
if (Array.isArray(condition.value) && index) {
|
|
1302
1422
|
// Sum of per-value matches (over-counts duplicates but is a fine ceiling)
|
|
1303
1423
|
let estimate = 0;
|
|
@@ -1322,7 +1442,7 @@ function estimateCondition(table) {
|
|
|
1322
1442
|
BETWEEN_ESTIMATE * estimatedEntryCount(table.primaryStore) + 1;
|
|
1323
1443
|
else if (searchType === 'sort') {
|
|
1324
1444
|
const attribute_name = condition[0] ?? condition.attribute;
|
|
1325
|
-
const index = table
|
|
1445
|
+
const index = usableIndex(table, attribute_name);
|
|
1326
1446
|
if (index?.customIndex?.estimateCountAsSort)
|
|
1327
1447
|
// allow custom index to define its own estimation of counts
|
|
1328
1448
|
condition.estimated_count = index.customIndex.estimateCountAsSort(condition);
|
|
@@ -1332,7 +1452,7 @@ function estimateCondition(table) {
|
|
|
1332
1452
|
else {
|
|
1333
1453
|
// for the search types that use the broadest range, try do them last
|
|
1334
1454
|
const attribute_name = condition[0] ?? condition.attribute;
|
|
1335
|
-
const index = table
|
|
1455
|
+
const index = usableIndex(table, attribute_name);
|
|
1336
1456
|
if (index?.customIndex?.estimateCount)
|
|
1337
1457
|
// allow custom index to define its own estimation of counts
|
|
1338
1458
|
condition.estimated_count = index.customIndex.estimateCount(condition.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../resources/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../resources/search.ts"],"names":[],"mappings":";;;AA+DA,8CAgHC;AAuGD,sCAicC;AAED,sCAYC;AA8LD,8CAiBC;AAMD,wCAQC;AAOD,oCA8RC;AA6GD,8CA2HC;AAaD,gCA6BC;AAoWD,gCAGC;AAED,kDAUC;AAED,oDAEC;AAh3DD,+DAA6F;AAC7F,uDAAgG;AAChG,mDAAoE;AACpE,qEAAuE;AACvE,yCAAgE;AAGhE,yDAAkD;AAClD,qEAA+E;AAC/E,6CAAiD;AACjD,uDAAuD;AACvD,mEAAkE;AAElE,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,SAAS,yBAAyB,CAAC,MAAc;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,aAAa,GAAG,IAAA,yBAAQ,EAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5D,6GAA6G;IAC7G,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;YAC9B,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;IACF,CAAC;IACD,OAAO,4BAAW,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,yEAAyE;AACzE,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,EAAE;IACd,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;CACvB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG;IACxB,+BAA+B;IAC/B,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,8BAA8B;IAC9B,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,WAAW;CAClB,CAAC;AACW,QAAA,mBAAmB,GAAG;IAClC,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACR,CAAC;AACF,SAAgB,iBAAiB,CAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,QAAQ,EACR,YAAa;IAEb,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,uFAAuF;IACvF,sGAAsG;IACtG,uGAAuG;IACvG,qGAAqG;IACrG,qBAAqB;IACrB,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrD,+EAA+E;IAC/E,6BAA6B;IAC7B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5C,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,iFAAiF;YACjF,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC;YAC9B,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,qBAAqB;gBACrB,OAAO,KAAK,CAAC;YACd,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;QACH,+FAA+F;QAC/F,kGAAkG;QAClG,kDAAkD;QAClD,OAAO,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3E,CAAC;SAAM,CAAC;QACP,8FAA8F;QAC9F,IAAI,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,8FAA8F;YAC9F,2FAA2F;YAC3F,2FAA2F;YAC3F,8FAA8F;YAC9F,4EAA4E;YAC5E,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;YAC/F,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5E,2FAA2F;YAC3F,8EAA8E;YAC9E,MAAM,IAAI,GACT,aAAa,CAAC,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,YAAY,EAAE,mBAAmB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;gBACtF,CAAC,CAAC,WAAW,CAAC;YAChB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,CAAC;QACD,gGAAgG;QAChG,0FAA0F;QAC1F,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;QAC/F,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5E,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxF,CAAC;IACD,SAAS,gBAAgB,CAAC,SAAS;QAClC,IAAI,SAAS,CAAC,UAAU;YACvB,OAAO,iBAAiB,CACvB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,QAAQ,EAClB,KAAK,EACL,GAAG,EACH,OAAO,EACP,OAAO,EACP,kBAAkB,EAClB,QAAQ;YACR,qFAAqF;aACrF,CAAC;QACH,OAAO,aAAa,CAAC,SAAS,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,EAAE;YAC7F,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ;YACR,OAAO;YACP,UAAU,EACT,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;SAC1G,CAAC,CAAC;IACJ,CAAC;IACD,SAAS,sBAAsB,CAAC,UAAU,EAAE,YAAY,EAAE,sBAAsB;QAC/E,OAAO,UAAU;aACf,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACzB,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC1B,yDAAyD;gBACzD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC;gBAC1C,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;gBAC7F,IAAI,KAAK;oBAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;;oBAChF,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,UAAU,CAAC;YAChF,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,sBAAsB,CAAC,CAAC;YACvG,IAAI,YAAY,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,EAAE,CAAC;gBAC7E,sBAAsB,GAAG,oBAAoB,CAC5C,KAAK,CAAC,YAAY,EAClB,SAAS,CAAC,eAAe,EACzB,sBAAsB,CACtB,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;aACD,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,YAAY;IACtC,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAC;IACpC,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IAC/C,IAAI,OAAO,YAAY,KAAK,UAAU;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,IAAI,YAAY,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,6GAA6G;AAC7G,SAAS,oBAAoB,CAAC,SAAS,EAAE,KAAK;IAC7C,MAAM,aAAa,GAAG,SAAS,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACzD,MAAM,KAAK,GAAG,aAAa,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;IACvG,OAAO,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO;IACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxG,OAAO,CAAC,UAAc,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,KAAK,CAAC;QAC5B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACpB,IAAA,uBAAY,EAAC,MAAM,CAAC,CAAC;YACrB,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,eAAe,CAAC,OAAY;IACpC,MAAM,QAAQ,GAAG,IAAI,oCAAgB,EAAE,CAAC;IACvC,QAAgB,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE;QACvC,wFAAwF;QACxF,6FAA6F;QAC7F,yFAAyF;QACzF,gFAAgF;QAChF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;QACrC,6FAA6F;QAC7F,OAAO,OAAO;aACZ,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YACnB,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,CAAC;YACxE,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC;YAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAA,mCAAU,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,OAAO,wBAAI,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC;aACD,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,OAAO,QAAe,CAAC;AACxB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,aAAa,CAC5B,eAAgC,EAChC,WAAgB,EAChB,OAAgB,EAChB,KAAU,EACV,UAQI,EAAE;IAEN,mGAAmG;IACnG,oEAAoE;IACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAClD,MAAM,IAAI,SAAS,CAAC,sFAAsF,CAAC,CAAC;IAC7G,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACjE,IAAI,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC;IACrE,IAAI,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC;IACxD,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS,IAAK,UAAkB,KAAK,MAAM,EAAE,CAAC;QAC3D,MAAM,IAAI,yBAAW,CAAC,wBAAwB,cAAc,oBAAoB,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,YAAY,CAAC;IACjB,+FAA+F;IAC/F,oDAAoD;IACpD,IAAI,oBAAoB,CAAC;IACzB,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC7C,2CAA2C;QAC3C,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QACtE,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;YAC7B,gCAAgC;YAChC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC5B,MAAM,IAAI,yBAAW,CACpB,gGAAgG,CAChG,CAAC;YACH,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;YACpG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,2BAA2B;YAC3B,IAAI,OAAO,GAAG,aAAa,CAC1B;gBACC,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClF,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE,eAAe,CAAC,OAAO;aAChC,EACD,WAAW,EACX,OAAO,EACP,YAAY,EACZ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CACnC,CAAC;YACF,IAAI,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBAC/B,uGAAuG;gBACvG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACrC,oHAAoH;gBACpH,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC1G,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,EAAE;oBACpC,IAAI,YAAY,EAAE,GAAG,KAAK,SAAS;wBAAE,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC;oBACrE,OAAO,aAAa,CACnB,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAC/D,WAAW,EACX,OAAO,EACP,KAAK,EACL,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CACnC,CAAC;gBACH,CAAC,CAAC;gBACF,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACxB,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;oBACrC,6DAA6D;oBAC7D,OAAO,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBACxF,CAAC;qBAAM,CAAC;oBACP,0GAA0G;oBAC1G,OAAO,GAAI,OAAe,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjD,CAAC;YACF,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;aAAM,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,yEAAyE;YACzE,wEAAwE;YACxE,4DAA4D;YAC5D,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC;IACF,CAAC;IACD,MAAM,YAAY,GAAG,cAAc,KAAK,KAAK,CAAC,UAAU,IAAI,cAAc,IAAI,IAAI,CAAC;IACnF,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChF,IAAI,KAAK,CAAC;IACV,IAAI,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,CAAC;IACpD,IAAI,KAAK,YAAY,IAAI;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACnD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QAC7B,4EAA4E;QAC5E,yEAAyE;QACzE,gEAAgE;QAChE,KAAK,GAAG,IAAI,CAAC;QACb,YAAY,GAAG,IAAI,CAAC;IACrB,CAAC;;QACA,QAAQ,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;YAC9D,KAAK,IAAI;gBACR,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,GAAG,KAAK,CAAC;gBACZ,MAAM;YACP,KAAK,IAAI;gBACR,KAAK,GAAG,IAAI,CAAC;gBACb,GAAG,GAAG,KAAK,CAAC;gBACZ,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI;gBACR,KAAK,GAAG,KAAK,CAAC;gBACd,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM;YACP,KAAK,IAAI;gBACR,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACP,KAAK,QAAQ,EAAE,2EAA2E;gBACzF,uCAAuC;gBACvC,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,KAAK,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBAC5C,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;oBAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrE,KAAK,GAAG,KAAK,CAAC;gBACd,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,4BAAW,CAAC;gBAClC,MAAM;YACP,KAAK,aAAa;gBACjB,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,KAAK,GAAG,IAAI,CAAC;oBACb,YAAY,GAAG,IAAI,CAAC;gBACrB,CAAC;;oBAAM,YAAY,GAAG,IAAI,CAAC;gBAC3B,MAAM;YACP,KAAK,SAAS,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACV,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,KAAK,YAAY,IAAI;oBAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnD,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACf,IAAI,GAAG,YAAY,IAAI;oBAAE,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7C,YAAY;oBACV,UAAkB,KAAK,MAAM,IAAK,UAAkB,KAAK,MAAM,IAAK,UAAkB,KAAK,SAAS,CAAC;gBACvG,cAAc,GAAI,UAAkB,KAAK,MAAM,IAAK,UAAkB,KAAK,MAAM,CAAC;gBAClF,MAAM;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACb,KAAK,GAAG,KAAK,CAAC;gBACd,GAAG,GAAG,KAAK,CAAC;gBACZ,YAAY,GAAG,IAAI,CAAC;gBACpB,oBAAoB,GAAG,IAAI,CAAC;gBAC5B,MAAM;YACP,KAAK,IAAI;gBACR,mFAAmF;gBACnF,oEAAoE;gBACpE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,MAAM,IAAI,yBAAW,CAAC,yCAAyC,CAAC,CAAC;gBAC5F,KAAK,GAAG,IAAI,CAAC;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI;gBACR,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACpB,yFAAyF;oBACzF,KAAK,GAAG,KAAK,CAAC;oBACd,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACP,CAAC;YACF,KAAK,MAAM,CAAC,CAAC,yEAAyE;YACtF,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACf,4CAA4C;gBAC5C,KAAK,GAAG,IAAI,CAAC;gBACb,YAAY,GAAG,IAAI,CAAC;gBACpB,MAAM;YACP;gBACC,MAAM,IAAI,yBAAW,CAAC,6BAA6B,UAAU,GAAG,CAAC,CAAC;QACpE,CAAC;IACF,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,gCAAqB,EAAE,CAAC;QACvE,wEAAwE;QACxE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,gCAAqB,CAAC,GAAG,0BAAe,CAAC;QAChE,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,YAAY,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,gCAAqB,EAAE,CAAC;QACnE,wEAAwE;QACxE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,gCAAqB,CAAC,GAAG,0BAAe,CAAC;QAC5D,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,YAAY,IAAI,KAAK,IAAI,CAAC,YAAY;QAAE,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACnF,IAAI,OAAO,EAAE,CAAC;QACb,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,KAAK,GAAG,GAAG,CAAC;QACZ,GAAG,GAAG,MAAM,CAAC;QACb,MAAM,GAAG,CAAC,cAAc,CAAC;QACzB,cAAc,GAAG,CAAC,YAAY,CAAC;QAC/B,YAAY,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,8EAA8E;IAC9E,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC;IACpE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,IAAI,YAAY,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;QACtG,mDAAmD;QACnD,IAAI,aAAa,KAAK,KAAK,IAAI,CAAC,KAAK;YACpC,MAAM,IAAI,yBAAW,CAAC,IAAI,cAAc,qDAAqD,EAAE,GAAG,CAAC,CAAC;QACrG,IAAI,aAAa,KAAK,KAAK,IAAI,YAAY;YAC1C,MAAM,IAAI,yBAAW,CACpB,eACC,UAAU,IAAI,OACf,iGAAiG,cAAc,EAAE,EACjH,GAAG,CACH,CAAC;QACH,IAAI,KAAK,EAAE,UAAU;YACpB,MAAM,IAAI,kCAAoB,CAAC,IAAI,cAAc,yDAAyD,CAAC,CAAC;QAC7G,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU;YAC/C,MAAM,IAAI,yBAAW,CACpB,IAAI,cAAc,8GAA8G,EAChI,GAAG,CACH,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,yBAAW,CAAC,2BAA2B,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;QAChF,CAAC;IACF,CAAC;IACD,MAAM,YAAY,GAAG;QACpB,KAAK;QACL,GAAG;QACH,YAAY;QACZ,cAAc;QACd,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,YAAY;QACtB,WAAW;QACX,OAAO;KACP,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAC/C,MAAM;YACL,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE;gBACxB,IAAI,IAAI,EAAE,MAAM;oBAAE,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,CAAC;gBAC7D,wFAAwF;gBACxF,uBAAuB;gBACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACtC,YAAY,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC;wBACJ,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,CAAC,CAAC;oBAC9C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;oBACf,CAAC;gBACF,CAAC,CAAC,CACF,CAAC;YACH,CAAC;YACF,CAAC,CAAC,UAAU,KAAK;gBACf,IAAI,MAAW,CAAC;gBAChB,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,sBAAW,GAAG,kBAAO,CAAC,CAAC;oBAAE,MAAM,GAAG,wBAAI,CAAC;qBACtF,CAAC;oBACL,IAAA,uBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC1B,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,MAAM,GAAG,KAAK,CAAC;gBAChB,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC;gBAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC,CACH,CAAC;QACF,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1B,OAAO,OAAO,CAAC;IAChB,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,6FAA6F;YAC7F,+EAA+E;YAC/E,6FAA6F;YAC7F,qGAAqG;YACrG,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACjG,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,IAAI,eAAe,CAAC,wBAAwB,GAAG,CAAC,CAAC;YAC9F,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,IAAA,gDAAuB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,MAAM,MAAM,GAAG,OAAO;gBACrB,CAAC,CAAC,OAAO,CAAC,MAAM;oBACf,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;oBACtD,CAAC,CAAC,UAAU,CAAC,MAAM;gBACpB,CAAC,CAAC,SAAS,CAAC;YACb,MAAM,aAAa,GAAG,OAAO;gBAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;oBACvB,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;oBACzB,gBAAgB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE;iBACtE,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC;YACX,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,EAAE;gBACzE,MAAM,EACL,OAAO,IAAI,YAAY;oBACtB,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE;wBACP,IAAI,MAAM,CAAC,OAAO;4BAAE,OAAO,KAAK,CAAC;wBACjC,WAAW,EAAE,EAAE,CAAC;wBAChB,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC;oBACzB,CAAC;oBACF,CAAC,CAAC,YAAY;gBAChB,UAAU;aACV,CAAC,CAAC;YACH,MAAM,QAAQ,GAAI,QAAgB,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,OAAO,IAAI,QAAQ,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;gBACtD,IAAA,yBAAY,EACX,OAAO,CAAC,eAAe,EACvB,uBAAuB,EACvB,GAAG,QAAQ,CAAC,KAAK,SAAS,QAAQ,CAAC,yBAAyB,eAAe,QAAQ,CAAC,kBAAkB,EAAE,EACxG,IAAI,CACJ,CAAC;gBACF,IAAA,yBAAY,EAAC,OAAO,CAAC,eAAe,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC;YACvG,CAAC;YACD,MAAM,cAAc,GAAG,CAAC,OAAc,EAAE,EAAE;gBACzC,MAAM,MAAM,GAAG,OAAO;qBACpB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,qFAAqF;oBACrF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;wBACxC,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;wBACrC,IAAI,GAAG,IAAI,IAAI;4BAAE,OAAO,wBAAI,CAAC,CAAC,6DAA6D;wBAC3F,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE;4BACpD,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC;yBACjF,CAAC,CAAC;wBACH,IAAI,CAAC,WAAW;4BAAE,OAAO,wBAAI,CAAC,CAAC,gDAAgD;wBAC/E,IAAA,uBAAY,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;wBACjC,UAAU,CAAC,WAAW,CAAC,CAAC;wBACxB,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;oBAC1C,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,wBAAI,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;oBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;oBACvG,IAAI,QAAQ,IAAI,IAAI;wBAAE,OAAO,QAAe,CAAC;gBAC9C,CAAC;gBACD,OAAO,MAAM,CAAC;YACf,CAAC,CAAC;YACF,IAAI,OAAQ,QAAgB,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;gBACnD,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,OAAO,GAAG,OAAO;oBACtB,CAAC,CAAE,QAA2B;yBAC3B,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;wBACjB,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;4BAAE,OAAO,EAAE,CAAC;wBACzC,IAAI,MAAM,CAAC,OAAO;4BAAE,MAAM,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBACvG,WAAW,EAAE,EAAE,CAAC;wBAChB,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;oBAChC,CAAC,CAAC;yBACD,OAAO,CAAC,GAAG,EAAE;wBACb,OAAO,GAAG,IAAI,CAAC;oBAChB,CAAC,CAAC;oBACJ,CAAC,CAAE,QAA2B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACrD,oEAAoE;gBACpE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAQ,IAAI,oCAAgB,EAAE,CAAC;gBAC5C,OAAO,CAAC,OAAO,GAAG,CAAC,OAA6B,EAAE,EAAE;oBACnD,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;wBACrB,MAAM,IAAI,KAAK,CACd,sGAAsG,CACtG,CAAC;oBACH,CAAC;oBACD,kFAAkF;oBAClF,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC9E,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAChC,IAAI,MAAM,GAAG,KAAK,CAAC;oBACnB,OAAO;wBACN,IAAI;4BACH,IAAI,MAAM;gCAAE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;4BACrE,KAAK,EAAE,OAAO,EAAE,CAAC;4BACjB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gCACrC,IAAI,MAAM;oCAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gCACpD,WAAW,EAAE,EAAE,CAAC;gCAChB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;4BACrB,CAAC,CAAC,CAAC;wBACJ,CAAC;wBACD,MAAM,CAAC,KAAW;4BACjB,MAAM,GAAG,IAAI,CAAC;4BACd,IAAI,CAAC,OAAO;gCAAE,UAAU,EAAE,KAAK,EAAE,CAAC;4BAClC,eAAe,CAAC,IAAI,CACnB,CAAC,KAAK,EAAE,EAAE,CAAE,KAAa,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EACzC,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;4BACF,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC/C,CAAC;qBACD,CAAC;gBACH,CAAC,CAAC;gBACF,OAAO,OAAO,CAAC;YAChB,CAAC;YACD,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,GAAG,CAC/C,MAAM;YACL,CAAC,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE;gBACxB,IAAI,aAAkB,CAAC;gBACvB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,gCAAqB,EAAE,CAAC;oBACnE,8EAA8E;oBAC9E,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnD,CAAC;;oBAAM,aAAa,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,MAAM;oBAAE,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAI,CAAC;gBAC7D,wFAAwF;gBACxF,uBAAuB;gBACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACtC,YAAY,CAAC,GAAG,EAAE;oBACjB,IAAI,CAAC;wBACJ,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAI,CAAC,CAAC;oBAC/C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;oBACf,CAAC;gBACF,CAAC,CAAC,CACF,CAAC;YACH,CAAC;YACF,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CACvB,CAAC;QACF,6FAA6F;QAC7F,yFAAyF;QACzF,4FAA4F;QAC5F,sFAAsF;QACtF,6EAA6E;QAC7E,OAAO,oBAAoB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,QAAQ;YACxF,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,CAAC,YAAY;aACvB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;aAC5F,GAAG,CAAC,UAAU,KAAK;YACnB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;YAC7B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,CAAC;YAC5C,CAAC;YACD,wFAAwF;YACxF,uBAAuB;YACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACtC,YAAY,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACJ,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,wBAAI,CAAC,CAAC;gBAC9C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACf,CAAC;YACF,CAAC,CAAC,CACF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,SAAS,UAAU,CAAC,KAAK;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YACzF,IAAA,oBAAY,EAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;AACF,CAAC;AAED,SAAgB,aAAa,CAAC,UAAU,EAAE,cAAc;IACvD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,cAAc,GACnB,CAAC,cAAc,EAAE,UAAU,EAAE,UAAU,IAAI,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU;gBACxG,cAAc,EAAE,UAAU,CAAC;YAC5B,IAAI,cAAc;gBAAE,OAAO,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClF,OAAO;QACR,CAAC;;YAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;SAAM,IAAI,OAAO,cAAc,KAAK,QAAQ;QAAE,cAAc,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IAC1F,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAuB;IACrF,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC;QACpC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChB,IAAI,cAAc,CAAC;YAClB,MAAc,CAAC,WAAW,GAAG,IAAI,CAAC;YACnC,OAAO;gBACN,IAAI;oBACH,IAAI,CAAC,cAAc,EAAE,CAAC;wBACrB,MAAM,aAAa,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;4BAC/B,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;4BACpC,IAAI,aAAa;gCAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;gCACxC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC;wBACF,YAAY;wBACZ,yCAAyC;wBACzC,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;4BACnC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;4BAChE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;4BACxC,IAAI,OAAO,IAAI,IAAI;gCAAE,SAAS;4BAC9B,IAAK,MAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gCAAE,SAAS;4BACzE,IAAI,YAAY,EAAE,CAAC;gCAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oCACzC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gCAC7B,CAAC;4BACF,CAAC;iCAAM,CAAC;gCACP,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;4BAC1B,CAAC;4BACD,mHAAmH;4BACnH;;;;;+BAKG;wBACJ,CAAC;wBACD,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,CAAC;oBACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;oBAC1C,IAAI,WAAW,CAAC,IAAI;wBAAE,OAAO,WAAW,CAAC;oBACzC,OAAO;wBACN,4DAA4D;wBAC5D,KAAK,EAAE,WAAW,CAAC,KAAK;qBACxB,CAAC;gBACH,CAAC;gBACD,MAAM;oBACL,IAAI,cAAc,EAAE,MAAM;wBAAE,OAAO,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC5D,CAAC;aACD,CAAC;QACH,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AACD;;;;;;;;;GASG;AACH,SAAS,QAAQ,CAAC,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,MAAuB,EAAE,WAAW;IACtF,OAAO,IAAI,aAAa,CAAC,WAAW,CAAC;QACpC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChB,IAAI,UAAU,CAAC;YACf,IAAI,cAAc,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YAC1B,OAAO;gBACN,IAAI;oBACH,IAAI,WAAW,CAAC;oBAChB,IAAI,cAAc,EAAE,CAAC;wBACpB,OAAO,IAAI,EAAE,CAAC;4BACb,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;4BACpC,IAAI,WAAW,CAAC,IAAI;gCAAE,MAAM,CAAC,4BAA4B;4BACzD,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;4BAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gCAAE,SAAS;4BAC9B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAChB,OAAO,WAAW,CAAC;wBACpB,CAAC;oBACF,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;wBACjB,0FAA0F;wBAC1F,yCAAyC;wBACzC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;wBACtB,qFAAqF;wBACrF,sEAAsE;wBACrE,MAAc,CAAC,UAAU,GAAG,CAAC,MAAM,EAAE,EAAE;4BACvC,gCAAgC;4BAChC,OAAO,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC3E,CAAC,CAAC;wBACF,YAAY;wBACZ,yCAAyC;wBACzC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;4BAChC,IAAK,MAAc,CAAC,OAAO,EAAE,CAAC;gCAC7B,2DAA2D;gCAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gCACjC,IAAK,MAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oCAAE,SAAS;4BACzE,CAAC;4BACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACZ,+IAA+I;4BAC/I;;;;;;;;;;+BAUG;wBACJ,CAAC;wBACD,0CAA0C;wBAC1C,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACpC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,CAAC;oBACD,GAAG,CAAC;wBACH,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;wBAClC,IAAI,OAAO,CAAC,IAAI;4BAAE,OAAO,OAAO,CAAC;wBACjC,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/D,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpB,CAAC,QAAQ,IAAI,EAAE;gBAChB,CAAC;gBACD,MAAM;oBACL,OAAO,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;gBACnC,CAAC;gBACD,KAAK;oBACJ,OAAO,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;gBAClC,CAAC;aACD,CAAC;QACH,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,0BAA0B,GAAG;IAClC,IAAI,EAAE,QAAQ;IACd,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,oBAAoB,EAAE,IAAI;IAC1B,kBAAkB,EAAE,IAAI;IACxB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,aAAa;IACnB,YAAY,EAAE,aAAa;IAC3B,IAAI,EAAE,WAAW;IACjB,UAAU,EAAE,WAAW;IACvB,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,IAAI;IAChB,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,SAAS;CAChB,CAAC;AAEF,6EAA6E;AAC7E,kDAAkD;AAClD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1D,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEhH;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAAC,UAA8B;IAI/D,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9D,6EAA6E;IAC7E,4EAA4E;IAC5E,2BAA2B;IAC3B,IAAI,0BAA0B,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClF,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAC9D,IAAI,0BAA0B,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;IACF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,MAAW,EAAE,IAAuB;IAClE,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAa,EAAE,sBAAuB;IAC7G,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;IAC9C,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;IACxC,IAAI,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC;IAChE,IAAI,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QAC9C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;aAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACxC,yEAAyE;YACzE,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC5E,MAAM,YAAY,GAAG,cAAc,EAAE,UAAU,EAAE,UAAU,IAAI,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;YAChH,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,+DAA+D;gBAC/D,qEAAqE;gBACrE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/E,MAAM,UAAU,GAAG,YAAY,CAC9B,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EACxD,iBAAiB,EACjB,OAAO,EACP,IAAI,EACJ,KAAK,EACL,sBAAsB,CACtB,CAAC;gBACF,IAAI,CAAC,UAAU;oBAAE,OAAO;gBACxB,OAAO,SAAS,kBAAkB,CAAC,MAAM,EAAE,KAAK;oBAC/C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,kBAAkB,CAAC,CAAC;oBAC/C,IAAI,SAAS,IAAI,IAAI;wBAAE,OAAO,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;wBAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;oBACvF,OAAO,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACrC,CAAC,CAAC;YACH,CAAC;YACD,kGAAkG;YAClG,+CAA+C;YAC/C,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,YAAY,CAC9B;gBACC,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBACnE,KAAK;gBACL,UAAU;gBACV,OAAO;aACP,EACD,YAAY,EACZ,OAAO,EACP,SAAS,EAAE,CAAC,kBAAkB,CAAC,EAAE,MAAM,EACvC,SAAS,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,UAAU,EACxC,sBAAsB,CACtB,CAAC;YACF,IAAI,CAAC,UAAU;gBAAE,OAAO;YACxB,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO;oBAAE,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC/C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,CAAC;YAC/D,IAAI,QAAQ,EAAE,EAAE;gBAAE,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,WAAW,CAAC;YAChB,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtC,IAAI,SAAS,EAAE,QAAQ,CAAC;gBACxB,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;wBAC3B,+EAA+E;wBAC/E,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC7C,QAAQ,GAAG,+BAAY,CAAC;oBACzB,CAAC;yBAAM,CAAC;wBACP,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAClD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC7B,+BAA+B;4BAC/B,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACvD,QAAQ,GAAG,IAAI,CAAC;wBACjB,CAAC;6BAAM,CAAC;4BACP,SAAS,GAAG,QAAQ,EAAE,KAAK,CAAC;wBAC7B,CAAC;oBACF,CAAC;gBACF,CAAC;;oBAAM,SAAS,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YAChC,CAAC,CAAC;YACF,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACtC,IAAI,QAAQ,EAAE,CAAC;oBACd,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACzB,iFAAiF;wBACjF,IAAI,CAAC,WAAW,EAAE,CAAC;4BAClB,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;gCAC3C,4FAA4F;gCAC5F,yEAAyE;gCACzE,gFAAgF;gCAChF,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oCAC5C,eAAe,GAAG;wCACjB,SAAS,EAAE,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,qCAAqC;wCACnF,KAAK,EAAE,EAAE;qCACT,CAAC;gCACH,CAAC;gCACD,mIAAmI;gCACnI,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;4BACvG,CAAC;;gCACA,WAAW,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACzG,CAAC;wBACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;wBACpC,IAAK,WAAmB,CAAC,QAAQ;4BAAG,YAAoB,CAAC,QAAQ,GAAI,WAAmB,CAAC,QAAQ,CAAC;wBAClG,OAAO,OAAO,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC5D,IAAI,CAAC,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;oBAAE,OAAO,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtE,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBACjD,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;oBAC5B,oGAAoG;oBACpG,QAAQ,CAAC,kBAAkB,CAAC,GAAG;wBAC9B,UAAU,CAAC,MAAM;4BAChB,iEAAiE;4BACjE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC;4BACxD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gCAAE,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;4BACzG,OAAO,KAAK,CAAC;wBACd,CAAC;qBACD,CAAC;gBACH,CAAC;gBACD,OAAO,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACnC,CAAC,CAAC;YACF,OAAO,YAAY,CAAC;QACrB,CAAC;IACF,CAAC;IACD,IAAI,KAAK,YAAY,IAAI;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAEnD,IAAI,UAAU,CAAC;IACf,QAAQ,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9D,KAAK,uBAAY,CAAC,MAAM,CAAC;QACzB,KAAK,SAAS;YACb,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1F,MAAM;QACP,KAAK,UAAU;YACd,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACtG,MAAM;QACP,KAAK,WAAW;YACf,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACtG,MAAM;QACP,KAAK,aAAa;YACjB,UAAU,GAAG,mBAAmB,CAC/B,SAAS,EACT,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EACjF,IAAI,CACJ,CAAC;YACF,MAAM;QACP,KAAK,QAAQ;YACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;iBACtC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;gBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrE,UAAU,GAAG,mBAAmB,CAC/B,SAAS,EACT,CAAC,WAAW,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC9C,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;wBAAE,OAAO,KAAK,CAAC;gBAC/C,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,CAAC,EACD,IAAI,CACJ,CAAC;YACF,MAAM;QACP,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACb,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,KAAK,CAAC,CAAC,CAAC,YAAY,IAAI;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,MAAM,kBAAkB,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;YAChF,MAAM,cAAc,GACnB,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,MAAM,IAAI,kBAAkB,KAAK,MAAM,CAAC;YACpG,MAAM,YAAY,GACjB,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,MAAM,IAAI,kBAAkB,KAAK,MAAM,CAAC;YACpG,UAAU,GAAG,mBAAmB,CAC/B,SAAS,EACT,CAAC,WAAW,EAAE,EAAE;gBACf,MAAM,QAAQ,GAAG,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACrG,CAAC,EACD,IAAI,CACJ,CAAC;YACF,MAAM;QACP,CAAC;QACD,KAAK,IAAI,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,yBAAW,CAAC,yCAAyC,CAAC,CAAC;YAC5F,oEAAoE;YACpE,IAAI,QAAQ,GAAc,eAAuB,CAAC,SAAS,CAAC;YAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,eAAuB,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC/C,CAAC;YACD,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;YAC9F,MAAM;QACP,CAAC;QACD,KAAK,IAAI;YACR,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClG,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnG,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClG,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnG,MAAM;QACP,KAAK,IAAI;YACR,UAAU,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAW,EAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACjH,MAAM;QACP,KAAK,MAAM;YACV,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC;QACnB;YACC,MAAM,IAAI,yBAAW,CAAC,6BAA6B,UAAU,GAAG,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC3B,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,UAAU,CAAC;IAClB,qHAAqH;IACrH,SAAS,mBAAmB,CAC3B,SAAiB,EACjB,MAAgC,EAChC,WAAqB,EACrB,mBAA6B;QAE7B,IAAI,wBAAgC,CAAC;QACrC,WAAW;YACV,WAAW,IAAI,mDAAmD;gBAClE,CAAC,YAAY,IAAI,0FAA0F;gBAC3G,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,wDAAwD;gBACtG,sBAAsB,GAAG,CAAC,CAAC,CAAC,8FAA8F;QAC3H,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,eAAe,CAAC,eAAe,IAAI,SAAS;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC;YAC5F,wBAAwB,GAAG,eAAe,CAAC,eAAe,IAAI,CAAC,CAAC;YAChE,IAAI,KAAK,CAAC,wBAAwB,CAAC,IAAI,wBAAwB,IAAI,sBAAsB;gBACxF,mCAAmC;gBACnC,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,4GAA4G;QACnI,SAAS,YAAY,CAAC,MAAW;YAChC,sEAAsE;YACtE,6CAA6C;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,OAAgB,CAAC;YACrB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,mBAAmB;gBAAE,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;iBACnF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACvD,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,uBAAuB;YACvB,4HAA4H;YAC5H,wIAAwI;YACxI,IAAI,WAAW,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;gBAChB,IACC,CAAC,OAAO;oBACR,CAAC,YAAY,CAAC,QAAQ;oBACtB,wEAAwE;oBACxE,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,sBAAsB,GAAG,wBAAwB,EAC7E,CAAC;oBACF,2EAA2E;oBAC3E,MAAM,aAAa,GAAG,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;oBACtG,IAAI,WAAyB,CAAC;oBAC9B,IAAK,YAAoB,CAAC,EAAE,EAAE,CAAC;wBAC9B,kEAAkE;wBAClE,WAAW,GAAI,aAAqB,CAAC,OAAO,CAC3C,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAE,YAAoB,CAAC,EAAE,CAAC,CAChE,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACP,WAAW,GAAI,aAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACtD,CAAC;oBACD,6EAA6E;oBAC7E,+BAA+B;oBAC/B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;oBACnC,YAAY,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzD,YAAY,CAAC,QAAgB,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC9C,CAAC;YACF,CAAC;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC;QAChC,CAAC;QACD,OAAO,YAAY,CAAC;IACrB,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ;IACrE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;IAC1D,MAAM,YAAY,GAAG,aAAa,KAAK,KAAK,CAAC,UAAU,CAAC;IACxD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpF,qEAAqE;IACrE,IAAI,OAAO,KAAK,EAAE,aAAa,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC;IAC5C,IAAI,KAAK,YAAY,IAAI;QAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACnD,IAAI,KAAK,CAAC;IACV,QAAQ,UAAU,EAAE,CAAC;QACpB,KAAK,IAAI;YACR,mFAAmF;YACnF,sEAAsE;YACtE,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACpC,MAAM;QACP,KAAK,IAAI;YACR,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YACxD,MAAM;QACP,KAAK,IAAI;YACR,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YAC/C,MAAM;QACP,KAAK,IAAI;YACR,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACzB,MAAM;QACP,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YACzB,IAAI,KAAK,YAAY,IAAI;gBAAE,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,GAAG,YAAY,IAAI;gBAAE,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7C,KAAK,GAAG;gBACP,KAAK;gBACL,GAAG;gBACH,YAAY,EAAE,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;gBACxF,cAAc,EAAE,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,MAAM;aAC9D,CAAC;YACF,MAAM;QACP,CAAC;QACD,KAAK,aAAa,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;YAClE,MAAM;QACP,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACf,IAAI,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;gBAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,4BAAW,CAAC;YAClC,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACvB,MAAM;QACP,CAAC;QACD;YACC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,mFAAmF;IACnF,gFAAgF;IAChF,IACC,CAAC,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,gCAAqB,CAAC;QAC/E,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,gCAAqB,CAAC,EAC1E,CAAC;QACF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,EAAE,UAAU,CAAC;IACtB,IAAI,CAAC;QACJ,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACR,iFAAiF;QACjF,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC;QAC3G,OAAO,SAAS,CAAC;IAClB,MAAM,SAAS,GAAG,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,6GAA6G;AAC7G,SAAS,WAAW,CAAC,KAAK,EAAE,aAAa;IACxC,MAAM,KAAK,GAAG,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/E,OAAO,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,KAAK,EAAE,aAAa,EAAE,kBAAkB,GAAG,CAAC;IAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,OAAO,aAAa,IAAI,IAAI,IAAI,aAAa,KAAK,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IAClH,IAAI,kBAAkB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QACjD,OAAO,qBAAqB,CAAC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,UAAU;QAAE,OAAO,IAAI,CAAC;IACzE,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;IACpG,OAAO,CAAC,CAAC,YAAY,IAAI,qBAAqB,CAAC,YAAY,EAAE,aAAa,EAAE,kBAAkB,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAK;IACtC,SAAS,yBAAyB,CAAC,SAAS;QAC3C,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC7C,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBAC1B,wGAAwG;gBACxG,IAAI,cAAc,CAAC;gBACnB,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACjC,qDAAqD;oBACrD,cAAc,GAAG,CAAC,CAAC;oBACnB,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;wBACjD,yBAAyB,CAAC,YAAY,CAAC,CAAC;wBACxC,cAAc,IAAI,YAAY,CAAC,eAAe,CAAC;oBAChD,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,mHAAmH;oBACnH,cAAc,GAAG,QAAQ,CAAC;oBAC1B,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;wBACjD,yBAAyB,CAAC,YAAY,CAAC,CAAC;wBACxC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;4BACxC,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;4BAClG,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC;oBACjC,CAAC;gBACF,CAAC;gBACD,SAAS,CAAC,eAAe,GAAG,cAAc,CAAC;gBAC3C,OAAO,SAAS,CAAC,eAAe,CAAC;YAClC,CAAC;YACD,uBAAuB;YACvB,IAAI,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,WAAW,CAAC;YAC/D,UAAU,GAAG,0BAA0B,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;YAClE,8FAA8F;YAC9F,IAAI,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBACvE,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;YACtC,CAAC;iBAAM,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC9B,2EAA2E;gBAC3E,kFAAkF;gBAClF,uFAAuF;gBACvF,uFAAuF;gBACvF,iEAAiE;gBACjE,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;YACtC,CAAC;iBAAM,IAAI,UAAU,KAAK,uBAAY,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9D,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;gBAC3D,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,KAAK,KAAK,CAAC,UAAU;oBAAE,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC;qBAC5F,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrE,MAAM,YAAY,GAAG,SAAS,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;oBACtG,IAAI,CAAC,YAAY,EAAE,CAAC;wBACnB,6DAA6D;wBAC7D,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;4BAChD,KAAK,EAAE,SAAS,CAAC,KAAK;4BACtB,SAAS,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;4BAClF,UAAU,EAAE,QAAQ;yBACpB,CAAC,CAAC;wBACH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;wBAC9D,gGAAgG;wBAChG,SAAS,CAAC,eAAe;4BACxB,QAAQ;gCACR,CAAC,SAAS;oCACT,CAAC,CAAC,CAAC,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;wCAC7E,CAAC,mBAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oCACtD,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACf,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,6NAA6N;oBAC7N,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;oBACjD,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACtG,CAAC;YACF,CAAC;iBAAM,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3F,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;gBAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACjD,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;oBACrD,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CACnC,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClF,CAAC,CACD,CAAC;gBACH,CAAC;;oBAAM,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;YAC7C,CAAC;iBAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;gBAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACjD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;oBAC7C,0EAA0E;oBAC1E,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;wBACpC,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBACxC,CAAC;oBACD,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;gBACtC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;gBACtC,CAAC;;oBAAM,SAAS,CAAC,eAAe,GAAG,QAAQ,CAAC;YAC7C,CAAC;iBAAM,IAAI,UAAU,KAAK,aAAa,IAAI,UAAU,KAAK,QAAQ;gBACjE,SAAS,CAAC,eAAe;oBACxB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,oBAAoB,CAAC;wBAC1E,oBAAoB,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;iBAChE,IAAI,UAAU,KAAK,SAAS;gBAChC,SAAS,CAAC,eAAe;oBACxB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,CAAC;wBACtE,gBAAgB,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;iBAC5D,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;gBAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,WAAW,EAAE,mBAAmB;oBAC1C,4DAA4D;oBAC5D,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;;oBACzE,SAAS,CAAC,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;YACnG,CAAC;iBAAM,CAAC;gBACP,qEAAqE;gBACrE,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC;gBAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,WAAW,EAAE,aAAa;oBACpC,4DAA4D;oBAC5D,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;oBAE7E,SAAS,CAAC,eAAe;wBACxB,sBAAsB,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC;4BACzE,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrE,CAAC;YACD,wFAAwF;YACxF,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,SAAS;gBAAE,SAAS,CAAC,eAAe,IAAI,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC,mBAAmB;IACtD,CAAC;IACD,OAAO,yBAAyB,CAAC;AAClC,CAAC;AACD,MAAM,eAAgB,SAAQ,uBAAS;CAAG;AAC1C,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAC5C,MAAM,YAAY,GAAG,8CAA8C,CAAC;AACpE,MAAM,YAAY,GAAG,iCAAiC,CAAC;AACvD,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD,IAAI,SAAS,CAAC;AACd,IAAI,YAAY,CAAC;AACjB,IAAI,WAAW,CAAC;AAChB;;;GAGG;AACH,SAAgB,UAAU,CAAC,YAAoB,EAAE,KAAoB;IACpE,IAAI,CAAC,YAAY;QAAE,OAAO;IAC1B,WAAW,GAAG,YAAY,CAAC;IAC3B,iIAAiI;IACjI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;IAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACJ,IAAI,KAAK;gBAAE,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YACjC,YAAY,GAAG,KAAK,IAAI,IAAI,KAAK,EAAE,CAAC;YACpC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,SAAS,KAAK,WAAW,CAAC,MAAM;gBAAE,WAAW,CAAC,gDAAgD,CAAC,CAAC;YACpG,IAAK,YAAoB,CAAC,iBAAiB,EAAE,CAAC;gBAC5C,YAAoB,CAAC,UAAU,GAAG,IAAI,eAAe,CAAE,KAAa,CAAC,iBAAiB,CAAC,CAAC;gBACzF,IAAI,CAAC,KAAK;oBAAE,MAAO,YAAoB,CAAC,UAAU,CAAC;YACpD,CAAC;YACD,OAAO,YAAY,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,0BAA0B,KAAK,CAAC,OAAO,gBAAgB,SAAS,QAAQ,WAAW,GAAG,CAAC;YACvG,IAAK,YAAoB,CAAC,iBAAiB;gBAAE,KAAK,CAAC,OAAO,IAAI,IAAI,GAAI,YAAoB,CAAC,iBAAiB,CAAC;YAC7G,IAAI,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACP,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,YAAY,CAAC,CAAC;IACnD,CAAC;AACF,CAAC;AACD,SAAS,WAAW,CAAC,OAAe;IACnC,MAAM,YAAY,GAAG,GAAG,OAAO,gBAAgB,SAAS,EAAE,CAAC;IAC3D,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB;QAC9D,CAAC,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,GAAG,YAAY;QACtD,CAAC,CAAC,YAAY,CAAC;AACjB,CAAC;AACD,SAAS,UAAU,CAAC,KAAK,EAAE,WAAW;IACrC,IAAI,MAAM,GAAG,YAAY,CAAC;IAC1B,IAAI,KAAK,CAAC;IACV,IAAI,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC;IAC9D,IAAI,YAAY,GAAQ,kBAAkB,CAAC;IAC3C,IAAI,kBAAkB,CAAC;IACvB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC3C,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC7B,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;QAClC,IAAI,kBAAkB,EAAE,CAAC;YACxB,IAAI,KAAK;gBAAE,WAAW,CAAC,uCAAuC,KAAK,GAAG,CAAC,CAAC;YACxE,kBAAkB,GAAG,KAAK,CAAC;YAC3B,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC;;YAAM,cAAc,GAAG,IAAI,CAAC;QAC7B,IAAI,KAAK,CAAC;QACV,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,GAAG;gBACP,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;oBAC5B,mEAAmE;oBACnE,+DAA+D;oBAC/D,iDAAiD;oBACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;wBAAE,UAAU,GAAG,KAAK,CAAC;;wBAClD,WAAW,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;oBACnD,YAAY,GAAG,aAAa,CAAC,CAAC,kDAAkD;gBACjF,CAAC;qBAAM,CAAC;oBACP,4BAA4B;oBAC5B,YAAY,GAAG,kBAAkB,CAAC,CAAC,sBAAsB;oBACzD,UAAU,GAAG,QAAQ,CAAC,CAAC,gBAAgB;oBACvC,IAAI,CAAC,KAAK;wBAAE,WAAW,CAAC,wDAAwD,CAAC,CAAC;oBAClF,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;YACP,KAAK,IAAI,CAAC;YACV,2FAA2F;YAC3F,eAAe;YACf,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,KAAK,CAAC;YACX,KAAK,KAAK;gBACT,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACxC,YAAY,GAAG,2BAAmB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACpF,IAAI,CAAC,KAAK;oBAAE,WAAW,CAAC,iDAAiD,QAAQ,EAAE,CAAC,CAAC;gBACrF,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM;YACP,KAAK,IAAI,CAAC,CAAC,mDAAmD;YAC9D,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,EAAE,CAAC;YACR,KAAK,SAAS;gBACb,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACvB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC7B,IAAI,WAAW;4BACd,WAAW,CACV,aAAa,WAAW,sBAAsB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,GAAG,CACxG,CAAC;wBACH,WAAW,CAAC,kCAAkC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;oBACpG,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,UAAU;wBAAE,WAAW,CAAC,2DAA2D,CAAC,CAAC;oBAChG,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;oBAC7E,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;wBACtB,6BAA6B;wBAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACpE,aAAa,CAAC,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,IAAI,EAAE,CAAC;wBACxE,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAChD,aAAa,CAAC,QAAQ,GAAG,kBAAkB,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACP,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;wBAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClC,CAAC;gBACF,CAAC;gBACD,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACtB,kBAAkB,GAAG,KAAK,CAAC;oBAC3B,SAAS,GAAG,SAAS,CAAC;gBACvB,CAAC;qBAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAC7B,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,SAAS,GAAG,SAAS,CAAC;gBACvB,CAAC;qBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC9B,kBAAkB,GAAG,KAAK,CAAC;oBAC3B,SAAS,GAAG,EAAE,CAAC;gBAChB,CAAC;qBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC9B,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,SAAS,GAAG,EAAE,CAAC;gBAChB,CAAC;gBACD,MAAM;YACP,KAAK,GAAG;gBACP,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,yCAAyC;oBACzC,WAAW,CAAC,2DAA2D,CAAC,CAAC;gBAC1E,CAAC;qBAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC;gBACtB,MAAM;YACP,KAAK,GAAG;gBACP,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;gBACvD,QAAQ,KAAK,EAAE,CAAC;oBACf,KAAK,EAAE,EAAE,2BAA2B;wBACnC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;wBAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC5B,MAAM;oBACP,KAAK,OAAO;wBACX,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;4BACrB,KAAK,CAAC;gCACL,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACvB,MAAM;4BACP,KAAK,CAAC;gCACL,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCACxB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gCACrC,MAAM;4BACP;gCACC,WAAW,CAAC,kCAAkC,CAAC,CAAC;wBAClD,CAAC;wBACD,MAAM;oBACP,KAAK,QAAQ;wBACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC,CAAS,CAAC,IAAI,EAAE,CAAC;4BAC3E,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;4BACvB,KAAK,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC7B,CAAC;6BAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;4BAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;6BAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE;4BAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;4BACzE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;wBACzB,MAAM;oBACP,KAAK,UAAU;wBACd,WAAW,CAAC,iCAAiC,CAAC,CAAC;wBAC/C,MAAM;oBACP,KAAK,MAAM;wBACV,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;wBAChC,MAAM;oBACP;wBACC,WAAW,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,SAAS,GAAG,EAAE,SAAS,CAAC;gBAChC,CAAC;;oBAAM,kBAAkB,GAAG,IAAI,CAAC;gBACjC,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACP,KAAK,GAAG;gBACP,IAAI,KAAK,CAAC,UAAU;oBAAE,WAAW,CAAC,4CAA4C,CAAC,CAAC;gBAChF,IAAI,CAAC,KAAK;oBAAE,WAAW,CAAC,wDAAwD,CAAC,CAAC;gBAClF,+CAA+C;gBAC/C,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnC,KAAK,GAAG,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClB,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,SAAS,GAAG,EAAE,SAAS,CAAC;gBAChC,CAAC;;oBAAM,kBAAkB,GAAG,IAAI,CAAC;gBACjC,MAAM;YACP,KAAK,GAAG;gBACP,YAAY,CAAC,SAAS,GAAG,SAAS,CAAC;gBACnC,IAAI,KAAK,EAAE,CAAC;oBACX,iFAAiF;oBACjF,KAAK,GAAG,UAAU,CAAC,IAAI,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACP,0EAA0E;oBAC1E,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACtB,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;oBAC1C,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;wBACpC,gGAAgG;wBAChG,YAAY,GAAG,kBAAkB,CAAC,CAAC,sBAAsB;wBACzD,UAAU,GAAG,QAAQ,CAAC,CAAC,gBAAgB;wBACvC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;wBAClC,MAAM,CAAC,SAAS,GAAG,EAAE,SAAS,CAAC;wBAC/B,MAAM;oBACP,CAAC;yBAAM,CAAC;wBACP,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC7B,SAAS,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACF,CAAC;;oBAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;oBACpC,MAAM,CAAC,SAAS,GAAG,EAAE,SAAS,CAAC;gBAChC,CAAC;;oBAAM,kBAAkB,GAAG,IAAI,CAAC;gBACjC,MAAM;YACP,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACP,IAAI,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,6BAA6B;oBAC7B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACtB,mBAAmB;wBACnB,IAAI,SAAS,EAAE,CAAC;4BACf,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,IAAI,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;4BACzF,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;4BAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC;6BAAM,IAAI,KAAK,EAAE,CAAC;4BAClB,WAAW,CAAC,sCAAsC,CAAC,CAAC;wBACrD,CAAC;oBACF,CAAC;yBAAM,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,EAAE,CAAC;wBAC1D,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnC,CAAC;oBACD,OAAO,KAAK,CAAC;gBACd,CAAC;qBAAM,IAAI,WAAW;oBAAE,WAAW,CAAC,aAAa,WAAW,uBAAuB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;;oBAC9F,WAAW,CAAC,qBAAqB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACvD;gBACC,WAAW,CAAC,wBAAwB,QAAQ,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;YACjD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC;QACD,IAAI,SAAS,KAAK,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;IACpD,CAAC;IACD,IAAI,WAAW;QAAE,WAAW,CAAC,aAAa,WAAW,kCAAkC,CAAC,CAAC;AAC1F,CAAC;AACD,SAAS,cAAc,CAAC,KAAK,EAAE,kBAAkB;IAChD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,kBAAkB;gBAAE,WAAW,CAAC,mDAAmD,CAAC,CAAC;QAC7G,CAAC;;YAAM,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;IAC5C,CAAC;AACF,CAAC;AACD,SAAS,cAAc,CAAC,IAAI;IAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,aAAa,CAAC,KAAK;IAC3B,2DAA2D;IAC3D,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvB,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,GAAG;gBAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,aAAa,CAAC;QACvB,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,aAAa,KAAK,MAAM,CAAC;aAC1D,IAAI,IAAI,KAAK,MAAM;YACvB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;aACvF,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,kBAAkB,CAAC,aAAa,CAAC,CAAC;;YAChE,MAAM,IAAI,yBAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AACD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,SAAS,EAAE,KAAK;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,UAAU,GAAG,aAAa,CAAC;YACrC,SAAS,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,yBAAW,CAAC,kDAAkD,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CACtB,SAAc,EACd,aAAiC,EACjC,QAAgB,EAChB,YAAgC;IAEhC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACrF,IAAI,KAAU,CAAC;IACf,IACC,sBAAsB,CAAC,GAAG,CAAC,kBAA4B,CAAC;QACxD,QAAQ,CAAC,MAAM,IAAI,CAAC;QACpB,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO;QACvC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,EACxD,CAAC;QACF,yEAAyE;QACzE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACP,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,SAAS,GAAQ;QACtB,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,SAAS,IAAI,IAAI;QAC5B,KAAK;KACL,CAAC;IACF,IAAI,OAAO;QAAE,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;IACtC,2DAA2D;IAC3D,IAAI,aAAa,KAAK,IAAI;QAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClE,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,IAAI;IACzB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AACD,SAAS,WAAW,CAAC,IAAI;IACxB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,GAAG;gBACP,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YACvD,KAAK,GAAG;gBACP,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YACxD;gBACC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChD,CAAC;IACF,CAAC;IACD,WAAW,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,KAAK;IAKV;QACC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,IAAI;QACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,SAAS,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC,KAAK,CAAC;QAC1D,CAAC;IACF,CAAC;IACD,MAAM;QACL,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,SAAS,CAAC,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AACD,SAAgB,UAAU,CAAC,GAAG;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAK;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;QACnD,wFAAwF;QACxF,gDAAgD;QAChD,KAAK,CAAC,mBAAmB;YACxB,KAAK,YAAY,0BAAa,CAAC,CAAC,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC;QAC7F,KAAK,CAAC,0BAA0B,GAAG,GAAG,GAAG,KAAK,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC,mBAAmB,CAAC;AAClC,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK;IACtD,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare const ASSERT_TRACKED_WRITABLE: unique symbol;
|
|
2
|
+
export declare const GET_TRACKED_WRITE_GENERATION: unique symbol;
|
|
1
3
|
/**
|
|
2
4
|
* A tracked class cacheable, (potentially) frozen read-only record, designed to facilitate record updates,
|
|
3
5
|
* and tracks property (and sub-object/array) changes so that on commit, any property changes can be written as part of
|
|
@@ -12,7 +14,9 @@
|
|
|
12
14
|
export declare function assignTrackedAccessors(Target: any, typeDef: any, useFullPropertyProxy?: boolean): void;
|
|
13
15
|
export declare class GenericTrackedObject<T extends object = any> {
|
|
14
16
|
#private;
|
|
15
|
-
constructor(sourceObject?: GenericTrackedObject<T> | T);
|
|
17
|
+
constructor(sourceObject?: GenericTrackedObject<T> | T, writableOwner?: any);
|
|
18
|
+
[ASSERT_TRACKED_WRITABLE](): void;
|
|
19
|
+
[GET_TRACKED_WRITE_GENERATION](): any;
|
|
16
20
|
getRecord(): T;
|
|
17
21
|
setRecord(record: T): void;
|
|
18
22
|
getChanges(): Partial<T>;
|