@powerhousedao/reactor 6.0.0-dev.4 → 6.0.0-dev.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/cache/collection-membership-cache.d.ts +13 -0
- package/dist/src/cache/collection-membership-cache.d.ts.map +1 -0
- package/dist/src/cache/collection-membership-cache.js +33 -0
- package/dist/src/cache/collection-membership-cache.js.map +1 -0
- package/dist/src/cache/document-meta-cache.d.ts.map +1 -1
- package/dist/src/cache/document-meta-cache.js +4 -4
- package/dist/src/cache/document-meta-cache.js.map +1 -1
- package/dist/src/cache/kysely-operation-index.d.ts +5 -1
- package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
- package/dist/src/cache/kysely-operation-index.js +96 -6
- package/dist/src/cache/kysely-operation-index.js.map +1 -1
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
- package/dist/src/cache/kysely-write-cache.js +11 -11
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +13 -1
- package/dist/src/cache/operation-index-types.d.ts.map +1 -1
- package/dist/src/cache/operation-index-types.js.map +1 -1
- package/dist/src/client/reactor-client.d.ts +13 -10
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +134 -43
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +25 -6
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/client/types.js.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +11 -7
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +61 -22
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts +5 -4
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +14 -5
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +20 -80
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +235 -576
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +63 -28
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +37 -2
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +57 -8
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/events/types.d.ts +35 -10
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/events/types.js +7 -5
- package/dist/src/events/types.js.map +1 -1
- package/dist/src/executor/document-action-handler.d.ts +37 -0
- package/dist/src/executor/document-action-handler.d.ts.map +1 -0
- package/dist/src/executor/document-action-handler.js +349 -0
- package/dist/src/executor/document-action-handler.js.map +1 -0
- package/dist/src/executor/signature-verifier.d.ts +9 -0
- package/dist/src/executor/signature-verifier.d.ts.map +1 -0
- package/dist/src/executor/signature-verifier.js +70 -0
- package/dist/src/executor/signature-verifier.js.map +1 -0
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +20 -10
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +6 -46
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +64 -565
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +0 -2
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/executor/types.js.map +1 -1
- package/dist/src/executor/util.d.ts +11 -1
- package/dist/src/executor/util.d.ts.map +1 -1
- package/dist/src/executor/util.js +47 -1
- package/dist/src/executor/util.js.map +1 -1
- package/dist/src/index.d.ts +10 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +6 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts +4 -3
- package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -1
- package/dist/src/job-tracker/in-memory-job-tracker.js +20 -18
- package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -1
- package/dist/src/job-tracker/interfaces.d.ts +3 -1
- package/dist/src/job-tracker/interfaces.d.ts.map +1 -1
- package/dist/src/logging/console.d.ts +1 -22
- package/dist/src/logging/console.d.ts.map +1 -1
- package/dist/src/logging/console.js +1 -107
- package/dist/src/logging/console.js.map +1 -1
- package/dist/src/logging/types.d.ts +1 -11
- package/dist/src/logging/types.d.ts.map +1 -1
- package/dist/src/processors/index.d.ts.map +1 -1
- package/dist/src/processors/relational/relational-db-processor.d.ts +47 -0
- package/dist/src/processors/relational/relational-db-processor.d.ts.map +1 -0
- package/dist/src/processors/relational/relational-db-processor.js +45 -0
- package/dist/src/processors/relational/relational-db-processor.js.map +1 -0
- package/dist/src/processors/relational/types.d.ts +27 -0
- package/dist/src/processors/relational/types.d.ts.map +1 -0
- package/dist/src/processors/relational/types.js +2 -0
- package/dist/src/processors/relational/types.js.map +1 -0
- package/dist/src/processors/relational/utils.d.ts +29 -0
- package/dist/src/processors/relational/utils.d.ts.map +1 -0
- package/dist/src/processors/relational/utils.js +67 -0
- package/dist/src/processors/relational/utils.js.map +1 -0
- package/dist/src/processors/types.d.ts +10 -2
- package/dist/src/processors/types.d.ts.map +1 -1
- package/dist/src/processors/utils.d.ts.map +1 -1
- package/dist/src/processors/utils.js +2 -1
- package/dist/src/processors/utils.js.map +1 -1
- package/dist/src/queue/queue.d.ts +25 -0
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +56 -0
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +3 -3
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/read-models/base-read-model.js +4 -4
- package/dist/src/read-models/base-read-model.js.map +1 -1
- package/dist/src/read-models/coordinator.d.ts +2 -2
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +8 -8
- package/dist/src/read-models/coordinator.js.map +1 -1
- package/dist/src/read-models/document-view.d.ts +5 -2
- package/dist/src/read-models/document-view.d.ts.map +1 -1
- package/dist/src/read-models/document-view.js +130 -48
- package/dist/src/read-models/document-view.js.map +1 -1
- package/dist/src/shared/awaiter.d.ts +2 -2
- package/dist/src/shared/awaiter.d.ts.map +1 -1
- package/dist/src/shared/awaiter.js +11 -11
- package/dist/src/shared/awaiter.js.map +1 -1
- package/dist/src/shared/collect-all-pages.d.ts +7 -0
- package/dist/src/shared/collect-all-pages.d.ts.map +1 -0
- package/dist/src/shared/collect-all-pages.js +17 -0
- package/dist/src/shared/collect-all-pages.js.map +1 -0
- package/dist/src/shared/drive-url.d.ts +15 -0
- package/dist/src/shared/drive-url.d.ts.map +1 -0
- package/dist/src/shared/drive-url.js +17 -0
- package/dist/src/shared/drive-url.js.map +1 -0
- package/dist/src/shared/factories.d.ts +6 -2
- package/dist/src/shared/factories.d.ts.map +1 -1
- package/dist/src/shared/factories.js +10 -2
- package/dist/src/shared/factories.js.map +1 -1
- package/dist/src/shared/types.d.ts +32 -6
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js +4 -4
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +1 -1
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
- package/dist/src/signer/passthrough-signer.js +1 -3
- package/dist/src/signer/passthrough-signer.js.map +1 -1
- package/dist/src/storage/interfaces.d.ts +52 -94
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/document-indexer.d.ts +6 -6
- package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -1
- package/dist/src/storage/kysely/document-indexer.js +123 -52
- package/dist/src/storage/kysely/document-indexer.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts +4 -3
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +52 -21
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +1 -1
- package/dist/src/subs/subscription-notification-read-model.js +1 -1
- package/dist/src/sync/buffered-mailbox.d.ts +30 -0
- package/dist/src/sync/buffered-mailbox.d.ts.map +1 -0
- package/dist/src/sync/buffered-mailbox.js +136 -0
- package/dist/src/sync/buffered-mailbox.js.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts +9 -3
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/composite-channel-factory.js +16 -12
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.d.ts +9 -3
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.js +14 -10
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel.d.ts +22 -18
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel.js +128 -64
- package/dist/src/sync/channels/gql-channel.js.map +1 -1
- package/dist/src/sync/channels/index.d.ts +2 -0
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +2 -0
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/interval-poll-timer.d.ts +24 -0
- package/dist/src/sync/channels/interval-poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/interval-poll-timer.js +69 -0
- package/dist/src/sync/channels/interval-poll-timer.js.map +1 -0
- package/dist/src/sync/channels/poll-timer.d.ts +14 -0
- package/dist/src/sync/channels/poll-timer.d.ts.map +1 -0
- package/dist/src/sync/channels/poll-timer.js +2 -0
- package/dist/src/sync/channels/poll-timer.js.map +1 -0
- package/dist/src/sync/channels/utils.d.ts.map +1 -1
- package/dist/src/sync/channels/utils.js +2 -2
- package/dist/src/sync/channels/utils.js.map +1 -1
- package/dist/src/sync/index.d.ts +6 -4
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +4 -3
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +18 -6
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/mailbox.d.ts +21 -3
- package/dist/src/sync/mailbox.d.ts.map +1 -1
- package/dist/src/sync/mailbox.js +55 -2
- package/dist/src/sync/mailbox.js.map +1 -1
- package/dist/src/sync/sync-awaiter.d.ts +34 -0
- package/dist/src/sync/sync-awaiter.d.ts.map +1 -0
- package/dist/src/sync/sync-awaiter.js +124 -0
- package/dist/src/sync/sync-awaiter.js.map +1 -0
- package/dist/src/sync/sync-manager.d.ts +19 -5
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +318 -33
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/sync-operation.d.ts +3 -1
- package/dist/src/sync/sync-operation.d.ts.map +1 -1
- package/dist/src/sync/sync-operation.js +5 -1
- package/dist/src/sync/sync-operation.js.map +1 -1
- package/dist/src/sync/types.d.ts +73 -1
- package/dist/src/sync/types.d.ts.map +1 -1
- package/dist/src/sync/types.js +10 -0
- package/dist/src/sync/types.js.map +1 -1
- package/dist/src/sync/utils.d.ts +11 -0
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +17 -0
- package/dist/src/sync/utils.js.map +1 -1
- package/dist/src/utils/reshuffle.d.ts +15 -5
- package/dist/src/utils/reshuffle.d.ts.map +1 -1
- package/dist/src/utils/reshuffle.js +29 -6
- package/dist/src/utils/reshuffle.js.map +1 -1
- package/package.json +11 -13
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +0 -33
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +0 -1
- package/dist/src/storage/consistency-aware-legacy-storage.js +0 -65
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +0 -1
|
@@ -1,33 +1,43 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { driveCollectionId, } from "../cache/operation-index-types.js";
|
|
2
|
+
import { ReactorEventTypes, } from "../events/types.js";
|
|
2
3
|
import { JobAwaiter } from "../shared/awaiter.js";
|
|
3
4
|
import { JobStatus, } from "../shared/types.js";
|
|
4
5
|
import { ChannelError } from "./errors.js";
|
|
6
|
+
import { SyncAwaiter } from "./sync-awaiter.js";
|
|
5
7
|
import { SyncOperation } from "./sync-operation.js";
|
|
6
|
-
import { ChannelErrorSource, SyncOperationStatus } from "./types.js";
|
|
8
|
+
import { ChannelErrorSource, SyncEventTypes, SyncOperationStatus, } from "./types.js";
|
|
7
9
|
import { batchOperationsByDocument, createIdleHealth, filterOperations, } from "./utils.js";
|
|
8
10
|
export class SyncManager {
|
|
9
11
|
logger;
|
|
10
12
|
remoteStorage;
|
|
11
13
|
cursorStorage;
|
|
12
14
|
channelFactory;
|
|
13
|
-
|
|
15
|
+
operationIndex;
|
|
14
16
|
reactor;
|
|
15
17
|
eventBus;
|
|
16
18
|
remotes;
|
|
17
19
|
awaiter;
|
|
20
|
+
syncAwaiter;
|
|
21
|
+
jobSyncStates;
|
|
18
22
|
isShutdown;
|
|
19
23
|
eventUnsubscribe;
|
|
24
|
+
failedEventUnsubscribe;
|
|
25
|
+
writeReadyQueue = [];
|
|
26
|
+
processingWriteReady = false;
|
|
27
|
+
pendingBatches = new Map();
|
|
20
28
|
loadJobs = new Map();
|
|
21
29
|
constructor(logger, remoteStorage, cursorStorage, channelFactory, operationIndex, reactor, eventBus) {
|
|
22
30
|
this.logger = logger;
|
|
23
31
|
this.remoteStorage = remoteStorage;
|
|
24
32
|
this.cursorStorage = cursorStorage;
|
|
25
33
|
this.channelFactory = channelFactory;
|
|
26
|
-
this.
|
|
34
|
+
this.operationIndex = operationIndex;
|
|
27
35
|
this.reactor = reactor;
|
|
28
36
|
this.eventBus = eventBus;
|
|
29
37
|
this.remotes = new Map();
|
|
30
38
|
this.awaiter = new JobAwaiter(eventBus, (jobId, signal) => reactor.getJobStatus(jobId, signal));
|
|
39
|
+
this.syncAwaiter = new SyncAwaiter(eventBus);
|
|
40
|
+
this.jobSyncStates = new Map();
|
|
31
41
|
this.isShutdown = false;
|
|
32
42
|
}
|
|
33
43
|
async startup() {
|
|
@@ -36,7 +46,7 @@ export class SyncManager {
|
|
|
36
46
|
}
|
|
37
47
|
const remoteRecords = await this.remoteStorage.list();
|
|
38
48
|
for (const record of remoteRecords) {
|
|
39
|
-
const channel = this.channelFactory.instance(record.id, record.name, record.channelConfig, this.cursorStorage, record.collectionId, record.filter);
|
|
49
|
+
const channel = this.channelFactory.instance(record.id, record.name, record.channelConfig, this.cursorStorage, record.collectionId, record.filter, this.operationIndex);
|
|
40
50
|
try {
|
|
41
51
|
await channel.init();
|
|
42
52
|
}
|
|
@@ -55,15 +65,23 @@ export class SyncManager {
|
|
|
55
65
|
this.remotes.set(record.name, remote);
|
|
56
66
|
this.wireChannelCallbacks(remote);
|
|
57
67
|
}
|
|
58
|
-
this.eventUnsubscribe = this.eventBus.subscribe(
|
|
68
|
+
this.eventUnsubscribe = this.eventBus.subscribe(ReactorEventTypes.JOB_WRITE_READY, (_type, event) => this.enqueueWriteReady(event));
|
|
69
|
+
this.failedEventUnsubscribe = this.eventBus.subscribe(ReactorEventTypes.JOB_FAILED, (_type, event) => this.handleJobFailedForBatch(event));
|
|
59
70
|
}
|
|
60
71
|
shutdown() {
|
|
61
72
|
this.isShutdown = true;
|
|
73
|
+
this.writeReadyQueue = [];
|
|
74
|
+
this.pendingBatches.clear();
|
|
62
75
|
if (this.eventUnsubscribe) {
|
|
63
76
|
this.eventUnsubscribe();
|
|
64
77
|
this.eventUnsubscribe = undefined;
|
|
65
78
|
}
|
|
79
|
+
if (this.failedEventUnsubscribe) {
|
|
80
|
+
this.failedEventUnsubscribe();
|
|
81
|
+
this.failedEventUnsubscribe = undefined;
|
|
82
|
+
}
|
|
66
83
|
this.awaiter.shutdown();
|
|
84
|
+
this.syncAwaiter.shutdown();
|
|
67
85
|
for (const remote of this.remotes.values()) {
|
|
68
86
|
try {
|
|
69
87
|
remote.channel.shutdown();
|
|
@@ -75,6 +93,7 @@ export class SyncManager {
|
|
|
75
93
|
this.remotes.clear();
|
|
76
94
|
return {
|
|
77
95
|
isShutdown: true,
|
|
96
|
+
completed: Promise.resolve(),
|
|
78
97
|
};
|
|
79
98
|
}
|
|
80
99
|
getByName(name) {
|
|
@@ -92,7 +111,7 @@ export class SyncManager {
|
|
|
92
111
|
}
|
|
93
112
|
throw new Error(`Remote with id '${id}' does not exist`);
|
|
94
113
|
}
|
|
95
|
-
async add(name, collectionId, channelConfig, filter = { documentId: [], scope: [], branch: "" }, options = {}, id) {
|
|
114
|
+
async add(name, collectionId, channelConfig, filter = { documentId: [], scope: [], branch: "" }, options = { sinceTimestampUtcMs: "0" }, id) {
|
|
96
115
|
if (this.isShutdown) {
|
|
97
116
|
throw new Error("SyncManager is shutdown and cannot add remotes");
|
|
98
117
|
}
|
|
@@ -115,7 +134,7 @@ export class SyncManager {
|
|
|
115
134
|
status,
|
|
116
135
|
};
|
|
117
136
|
await this.remoteStorage.upsert(remoteRecord);
|
|
118
|
-
const channel = this.channelFactory.instance(remoteId, name, channelConfig, this.cursorStorage, collectionId, filter);
|
|
137
|
+
const channel = this.channelFactory.instance(remoteId, name, channelConfig, this.cursorStorage, collectionId, filter, this.operationIndex);
|
|
119
138
|
await channel.init();
|
|
120
139
|
const remote = {
|
|
121
140
|
id: remoteId,
|
|
@@ -127,21 +146,21 @@ export class SyncManager {
|
|
|
127
146
|
};
|
|
128
147
|
this.remotes.set(name, remote);
|
|
129
148
|
this.wireChannelCallbacks(remote);
|
|
130
|
-
await this.backfillOutbox(remote, collectionId, filter);
|
|
149
|
+
await this.backfillOutbox(remote, collectionId, filter, options.sinceTimestampUtcMs);
|
|
131
150
|
return remote;
|
|
132
151
|
}
|
|
133
|
-
async backfillOutbox(remote, collectionId, filter) {
|
|
152
|
+
async backfillOutbox(remote, collectionId, filter, sinceTimestampUtcMs) {
|
|
134
153
|
let historicalOps;
|
|
135
154
|
try {
|
|
136
|
-
historicalOps = await this.
|
|
155
|
+
historicalOps = await this.operationIndex.find(collectionId);
|
|
137
156
|
}
|
|
138
157
|
catch {
|
|
139
158
|
return;
|
|
140
159
|
}
|
|
141
|
-
if (historicalOps.
|
|
160
|
+
if (historicalOps.results.length === 0) {
|
|
142
161
|
return;
|
|
143
162
|
}
|
|
144
|
-
const opsWithContext = historicalOps.
|
|
163
|
+
const opsWithContext = historicalOps.results.map((entry) => ({
|
|
145
164
|
operation: {
|
|
146
165
|
id: entry.id,
|
|
147
166
|
index: entry.index,
|
|
@@ -158,13 +177,14 @@ export class SyncManager {
|
|
|
158
177
|
ordinal: entry.ordinal ?? 0,
|
|
159
178
|
},
|
|
160
179
|
}));
|
|
161
|
-
|
|
180
|
+
let filteredOps = filterOperations(opsWithContext, filter);
|
|
181
|
+
filteredOps = filteredOps.filter((op) => op.operation.timestampUtcMs > sinceTimestampUtcMs);
|
|
162
182
|
if (filteredOps.length === 0) {
|
|
163
183
|
return;
|
|
164
184
|
}
|
|
165
185
|
const batches = batchOperationsByDocument(filteredOps);
|
|
166
186
|
for (const batch of batches) {
|
|
167
|
-
const syncOp = new SyncOperation(crypto.randomUUID(), remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
|
|
187
|
+
const syncOp = new SyncOperation(crypto.randomUUID(), "", [], remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
|
|
168
188
|
remote.channel.outbox.add(syncOp);
|
|
169
189
|
}
|
|
170
190
|
}
|
|
@@ -180,39 +200,194 @@ export class SyncManager {
|
|
|
180
200
|
list() {
|
|
181
201
|
return Array.from(this.remotes.values());
|
|
182
202
|
}
|
|
203
|
+
waitForSync(jobId, signal) {
|
|
204
|
+
return this.syncAwaiter.waitForSync(jobId, signal);
|
|
205
|
+
}
|
|
183
206
|
wireChannelCallbacks(remote) {
|
|
184
|
-
remote.channel.inbox.onAdded((
|
|
185
|
-
this.
|
|
207
|
+
remote.channel.inbox.onAdded((syncOps) => {
|
|
208
|
+
this.handleInboxAdded(remote, syncOps);
|
|
186
209
|
});
|
|
187
|
-
remote.channel.outbox.onAdded((
|
|
188
|
-
|
|
210
|
+
remote.channel.outbox.onAdded((syncOps) => {
|
|
211
|
+
for (const syncOp of syncOps) {
|
|
212
|
+
this.handleOutboxJob(remote, syncOp);
|
|
213
|
+
}
|
|
189
214
|
});
|
|
190
215
|
}
|
|
191
|
-
|
|
216
|
+
enqueueWriteReady(event) {
|
|
217
|
+
this.writeReadyQueue.push(event);
|
|
218
|
+
void this.processWriteReadyQueue();
|
|
219
|
+
}
|
|
220
|
+
processWriteReadyQueue() {
|
|
221
|
+
if (this.processingWriteReady) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
this.processingWriteReady = true;
|
|
225
|
+
while (this.writeReadyQueue.length > 0) {
|
|
226
|
+
const event = this.writeReadyQueue.shift();
|
|
227
|
+
this.handleWriteReadyAsync(event);
|
|
228
|
+
}
|
|
229
|
+
this.processingWriteReady = false;
|
|
230
|
+
}
|
|
231
|
+
handleWriteReadyAsync(event) {
|
|
192
232
|
if (this.isShutdown) {
|
|
193
233
|
return;
|
|
194
234
|
}
|
|
195
|
-
const
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
235
|
+
const { batchId, batchJobIds } = event.jobMeta;
|
|
236
|
+
if (batchJobIds.length <= 1) {
|
|
237
|
+
this.processCompleteBatch([event]);
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
let pending = this.pendingBatches.get(batchId);
|
|
241
|
+
if (!pending) {
|
|
242
|
+
pending = {
|
|
243
|
+
expectedJobIds: new Set(batchJobIds),
|
|
244
|
+
arrivedJobIds: new Set(),
|
|
245
|
+
events: [],
|
|
246
|
+
};
|
|
247
|
+
this.pendingBatches.set(batchId, pending);
|
|
248
|
+
}
|
|
249
|
+
pending.arrivedJobIds.add(event.jobId);
|
|
250
|
+
pending.events.push(event);
|
|
251
|
+
if (pending.arrivedJobIds.size >= pending.expectedJobIds.size) {
|
|
252
|
+
this.pendingBatches.delete(batchId);
|
|
253
|
+
this.processCompleteBatch(pending.events);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
handleJobFailedForBatch(event) {
|
|
257
|
+
if (this.isShutdown) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const batchId = event.job?.meta.batchId;
|
|
261
|
+
if (!batchId) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
const pending = this.pendingBatches.get(batchId);
|
|
265
|
+
if (!pending) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
this.pendingBatches.delete(batchId);
|
|
269
|
+
if (pending.events.length > 0) {
|
|
270
|
+
void this.processCompleteBatch(pending.events);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
processCompleteBatch(events) {
|
|
274
|
+
const isBatch = events.length > 1;
|
|
275
|
+
const mergedMemberships = {};
|
|
276
|
+
for (const event of events) {
|
|
277
|
+
if (event.collectionMemberships) {
|
|
278
|
+
for (const [docId, collections] of Object.entries(event.collectionMemberships)) {
|
|
279
|
+
if (!(docId in mergedMemberships)) {
|
|
280
|
+
mergedMemberships[docId] = [];
|
|
281
|
+
}
|
|
282
|
+
for (const c of collections) {
|
|
283
|
+
if (!mergedMemberships[docId].includes(c)) {
|
|
284
|
+
mergedMemberships[docId].push(c);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
199
288
|
}
|
|
200
|
-
const
|
|
201
|
-
|
|
202
|
-
|
|
289
|
+
for (const op of event.operations) {
|
|
290
|
+
const action = op.operation.action;
|
|
291
|
+
if (action.type !== "ADD_RELATIONSHIP") {
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
const input = action.input;
|
|
295
|
+
if (!input?.sourceId || !input.targetId) {
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
const collectionId = driveCollectionId(op.context.branch, input.sourceId);
|
|
299
|
+
if (!(input.targetId in mergedMemberships)) {
|
|
300
|
+
mergedMemberships[input.targetId] = [];
|
|
301
|
+
}
|
|
302
|
+
if (!mergedMemberships[input.targetId].includes(collectionId)) {
|
|
303
|
+
mergedMemberships[input.targetId].push(collectionId);
|
|
304
|
+
}
|
|
203
305
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
306
|
+
}
|
|
307
|
+
const priorJobIds = [];
|
|
308
|
+
for (const event of events) {
|
|
309
|
+
const sourceRemote = event.jobMeta.sourceRemote;
|
|
310
|
+
const syncOpsWithRemote = [];
|
|
311
|
+
const remoteNames = [];
|
|
312
|
+
for (const remote of this.remotes.values()) {
|
|
313
|
+
if (sourceRemote && remote.name === sourceRemote) {
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
let filteredOps = filterOperations(event.operations, remote.filter);
|
|
317
|
+
if (filteredOps.length === 0) {
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
// If remote has empty documentId filter, it means "sync all docs in this collection"
|
|
321
|
+
// In this case, we need to filter by collection membership
|
|
322
|
+
if (remote.filter.documentId.length === 0) {
|
|
323
|
+
filteredOps = this.filterByCollectionMembership(filteredOps, remote.collectionId, mergedMemberships);
|
|
324
|
+
if (filteredOps.length === 0) {
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
const batches = batchOperationsByDocument(filteredOps);
|
|
329
|
+
for (const batch of batches) {
|
|
330
|
+
const syncOp = new SyncOperation(crypto.randomUUID(), event.jobId, isBatch ? [...priorJobIds] : [], remote.name, batch.documentId, [batch.scope], batch.branch, batch.operations);
|
|
331
|
+
syncOpsWithRemote.push({ syncOp, remote });
|
|
332
|
+
if (!remoteNames.includes(remote.name)) {
|
|
333
|
+
remoteNames.push(remote.name);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
if (syncOpsWithRemote.length > 0 && event.jobId) {
|
|
338
|
+
this.jobSyncStates.set(event.jobId, {
|
|
339
|
+
total: syncOpsWithRemote.length,
|
|
340
|
+
completed: new Set(),
|
|
341
|
+
failed: new Map(),
|
|
342
|
+
remoteNames,
|
|
343
|
+
});
|
|
344
|
+
const pendingEvent = {
|
|
345
|
+
jobId: event.jobId,
|
|
346
|
+
syncOperationCount: syncOpsWithRemote.length,
|
|
347
|
+
remoteNames,
|
|
348
|
+
};
|
|
349
|
+
void this.eventBus.emit(SyncEventTypes.SYNC_PENDING, pendingEvent);
|
|
350
|
+
}
|
|
351
|
+
for (const { syncOp, remote } of syncOpsWithRemote) {
|
|
352
|
+
syncOp.on((op, _prev, next) => {
|
|
353
|
+
if (next === SyncOperationStatus.Applied) {
|
|
354
|
+
this.markSyncOpCompleted(op.jobId, op.id, true);
|
|
355
|
+
}
|
|
356
|
+
else if (next === SyncOperationStatus.Error) {
|
|
357
|
+
this.markSyncOpCompleted(op.jobId, op.id, false, {
|
|
358
|
+
remoteName: op.remoteName,
|
|
359
|
+
documentId: op.documentId,
|
|
360
|
+
error: op.error?.message ?? "Unknown error",
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
});
|
|
207
364
|
remote.channel.outbox.add(syncOp);
|
|
208
365
|
}
|
|
366
|
+
if (isBatch && event.jobId) {
|
|
367
|
+
priorJobIds.push(event.jobId);
|
|
368
|
+
}
|
|
209
369
|
}
|
|
210
370
|
}
|
|
211
|
-
|
|
371
|
+
handleInboxAdded(remote, syncOps) {
|
|
212
372
|
if (this.isShutdown) {
|
|
213
373
|
return;
|
|
214
374
|
}
|
|
215
|
-
|
|
375
|
+
const keyed = [];
|
|
376
|
+
const nonKeyed = [];
|
|
377
|
+
for (const syncOp of syncOps) {
|
|
378
|
+
if (syncOp.jobId) {
|
|
379
|
+
keyed.push(syncOp);
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
nonKeyed.push(syncOp);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
for (const syncOp of nonKeyed) {
|
|
386
|
+
void this.applyInboxJob(remote, syncOp);
|
|
387
|
+
}
|
|
388
|
+
if (keyed.length > 0) {
|
|
389
|
+
void this.applyInboxBatch(keyed.map((syncOp) => ({ remote, syncOp })));
|
|
390
|
+
}
|
|
216
391
|
}
|
|
217
392
|
handleOutboxJob(remote, syncOp) {
|
|
218
393
|
syncOp.on((syncOp, _prev, next) => {
|
|
@@ -232,6 +407,7 @@ export class SyncManager {
|
|
|
232
407
|
}
|
|
233
408
|
catch (error) {
|
|
234
409
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
410
|
+
this.logger.error("Failed to load operations from inbox (@remote, @documentId, @error)", remote.name, syncOp.documentId, err.message);
|
|
235
411
|
const channelError = new ChannelError(ChannelErrorSource.Inbox, err);
|
|
236
412
|
syncOp.failed(channelError);
|
|
237
413
|
remote.channel.deadLetter.add(syncOp);
|
|
@@ -244,6 +420,7 @@ export class SyncManager {
|
|
|
244
420
|
}
|
|
245
421
|
catch (error) {
|
|
246
422
|
const err = error instanceof Error ? error : new Error(String(error));
|
|
423
|
+
this.logger.error("Failed to wait for job completion (@remote, @documentId, @jobId, @error)", remote.name, syncOp.documentId, jobInfo.id, err.message);
|
|
247
424
|
const channelError = new ChannelError(ChannelErrorSource.Inbox, err);
|
|
248
425
|
syncOp.failed(channelError);
|
|
249
426
|
remote.channel.deadLetter.add(syncOp);
|
|
@@ -253,7 +430,9 @@ export class SyncManager {
|
|
|
253
430
|
const jobKey = `${syncOp.documentId}:${syncOp.branch}`;
|
|
254
431
|
this.loadJobs.set(jobKey, completedJobInfo);
|
|
255
432
|
if (completedJobInfo.status === JobStatus.FAILED) {
|
|
256
|
-
const
|
|
433
|
+
const errorMessage = completedJobInfo.error?.message || "Unknown error";
|
|
434
|
+
this.logger.error("Failed to apply operations from inbox (@remote, @documentId, @jobId, @error)", remote.name, syncOp.documentId, completedJobInfo.id, errorMessage);
|
|
435
|
+
const error = new ChannelError(ChannelErrorSource.Inbox, new Error(`Failed to apply operations: ${errorMessage}`));
|
|
257
436
|
syncOp.failed(error);
|
|
258
437
|
remote.channel.deadLetter.add(syncOp);
|
|
259
438
|
}
|
|
@@ -262,5 +441,111 @@ export class SyncManager {
|
|
|
262
441
|
}
|
|
263
442
|
remote.channel.inbox.remove(syncOp);
|
|
264
443
|
}
|
|
444
|
+
async applyInboxBatch(items) {
|
|
445
|
+
const sourceRemote = items[0].remote.name;
|
|
446
|
+
const jobs = items.map(({ syncOp }) => ({
|
|
447
|
+
key: syncOp.jobId,
|
|
448
|
+
documentId: syncOp.documentId,
|
|
449
|
+
scope: syncOp.scopes[0],
|
|
450
|
+
branch: syncOp.branch,
|
|
451
|
+
operations: syncOp.operations.map((op) => op.operation),
|
|
452
|
+
dependsOn: syncOp.jobDependencies,
|
|
453
|
+
}));
|
|
454
|
+
const request = { jobs };
|
|
455
|
+
let result;
|
|
456
|
+
try {
|
|
457
|
+
result = await this.reactor.loadBatch(request, undefined, {
|
|
458
|
+
sourceRemote,
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
for (const { remote, syncOp } of items) {
|
|
463
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
464
|
+
syncOp.failed(new ChannelError(ChannelErrorSource.Inbox, err));
|
|
465
|
+
remote.channel.deadLetter.add(syncOp);
|
|
466
|
+
remote.channel.inbox.remove(syncOp);
|
|
467
|
+
}
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
for (const { remote, syncOp } of items) {
|
|
471
|
+
if (!(syncOp.jobId in result.jobs)) {
|
|
472
|
+
continue;
|
|
473
|
+
}
|
|
474
|
+
const jobInfo = result.jobs[syncOp.jobId];
|
|
475
|
+
let completedJobInfo;
|
|
476
|
+
try {
|
|
477
|
+
completedJobInfo = await this.awaiter.waitForJob(jobInfo.id);
|
|
478
|
+
}
|
|
479
|
+
catch (error) {
|
|
480
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
481
|
+
syncOp.failed(new ChannelError(ChannelErrorSource.Inbox, err));
|
|
482
|
+
remote.channel.deadLetter.add(syncOp);
|
|
483
|
+
remote.channel.inbox.remove(syncOp);
|
|
484
|
+
continue;
|
|
485
|
+
}
|
|
486
|
+
const jobKey = `${syncOp.documentId}:${syncOp.branch}`;
|
|
487
|
+
this.loadJobs.set(jobKey, completedJobInfo);
|
|
488
|
+
if (completedJobInfo.status === JobStatus.FAILED) {
|
|
489
|
+
const errorMessage = completedJobInfo.error?.message || "Unknown error";
|
|
490
|
+
const channelError = new ChannelError(ChannelErrorSource.Inbox, new Error(`Failed to apply operations: ${errorMessage}`));
|
|
491
|
+
syncOp.failed(channelError);
|
|
492
|
+
remote.channel.deadLetter.add(syncOp);
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
syncOp.executed();
|
|
496
|
+
}
|
|
497
|
+
remote.channel.inbox.remove(syncOp);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
markSyncOpCompleted(jobId, syncOpId, success, errorInfo) {
|
|
501
|
+
if (!jobId) {
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
const state = this.jobSyncStates.get(jobId);
|
|
505
|
+
if (!state) {
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
if (success) {
|
|
509
|
+
state.completed.add(syncOpId);
|
|
510
|
+
}
|
|
511
|
+
else if (errorInfo) {
|
|
512
|
+
state.failed.set(syncOpId, errorInfo);
|
|
513
|
+
}
|
|
514
|
+
const totalTerminal = state.completed.size + state.failed.size;
|
|
515
|
+
if (totalTerminal === state.total) {
|
|
516
|
+
if (state.failed.size === 0) {
|
|
517
|
+
const succeededEvent = {
|
|
518
|
+
jobId,
|
|
519
|
+
syncOperationCount: state.total,
|
|
520
|
+
};
|
|
521
|
+
void this.eventBus.emit(SyncEventTypes.SYNC_SUCCEEDED, succeededEvent);
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
const failedEvent = {
|
|
525
|
+
jobId,
|
|
526
|
+
successCount: state.completed.size,
|
|
527
|
+
failureCount: state.failed.size,
|
|
528
|
+
errors: Array.from(state.failed.values()),
|
|
529
|
+
};
|
|
530
|
+
void this.eventBus.emit(SyncEventTypes.SYNC_FAILED, failedEvent);
|
|
531
|
+
}
|
|
532
|
+
this.jobSyncStates.delete(jobId);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
filterByCollectionMembership(operations, collectionId, collectionMemberships) {
|
|
536
|
+
// If no collection memberships provided, we can't verify membership
|
|
537
|
+
// This maintains backwards compatibility but effectively disables routing
|
|
538
|
+
// for remotes with empty documentId filter when membership info is missing
|
|
539
|
+
if (!collectionMemberships) {
|
|
540
|
+
return [];
|
|
541
|
+
}
|
|
542
|
+
return operations.filter((op) => {
|
|
543
|
+
const documentId = op.context.documentId;
|
|
544
|
+
if (!(documentId in collectionMemberships)) {
|
|
545
|
+
return false;
|
|
546
|
+
}
|
|
547
|
+
return collectionMemberships[documentId].includes(collectionId);
|
|
548
|
+
});
|
|
549
|
+
}
|
|
265
550
|
}
|
|
266
551
|
//# sourceMappingURL=sync-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,mBAAmB,GAEpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,OAAO,WAAW;IACL,MAAM,CAAU;IAChB,aAAa,CAAqB;IAClC,aAAa,CAAqB;IAClC,cAAc,CAAkB;IAChC,eAAe,CAAkB;IACjC,OAAO,CAAW;IAClB,QAAQ,CAAY;IACpB,OAAO,CAAsB;IAC7B,OAAO,CAAa;IAC7B,UAAU,CAAU;IACpB,gBAAgB,CAAc;IAE/B,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;IAElD,YACE,MAAe,EACf,aAAiC,EACjC,aAAiC,EACjC,cAA+B,EAC/B,cAA+B,EAC/B,OAAiB,EACjB,QAAmB;QAEnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACxD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,aAAa,EAClB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,yCAAyC,MAAM,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO;aACR,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,mBAAmB,CAAC,iBAAiB,EACrC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CACrD,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAExB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,0CAA0C,MAAM,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO;YACL,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,YAAoB,EACpB,aAA4B,EAC5B,SAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAChE,UAAyB,EAAE,EAC3B,EAAW;QAEX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,EAC9E,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACP,EAAE,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAiB;YAC3B,IAAI,EAAE,gBAAgB,EAAE;YACxB,IAAI,EAAE,gBAAgB,EAAE;SACzB,CAAC;QAEF,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,aAAa;YACb,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,MAAM,CACP,CAAC;QAEF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,MAAM,GAAW;YACrB,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,OAAO;YACP,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAExD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,YAAoB,EACpB,MAAoB;QAEpB,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,aAAa,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzD,SAAS,EAAE;gBACT,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM;aACR;YACd,OAAO,EAAE;gBACP,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;aAC5B;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC7D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,UAAU,EAAE,EACnB,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACvC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAA4B;QACzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,YAAkC,CAAC;QAEvE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YACtE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,UAAU,EAAE,EACnB,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,MAAqB;QAC1D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,MAAc,EAAE,MAAqB;QAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAChC,IAAI,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,MAAqB;QAErB,MAAM,UAAU,GAAgB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,UAAU,EACV,SAAS,EACT,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAE5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CACP,+BAA+B,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE,CACpF,CACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sync-manager.js","sourceRoot":"","sources":["../../../src/sync/sync-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EACL,iBAAiB,GAGlB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,SAAS,GAGV,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYpD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAkBpB,MAAM,OAAO,WAAW;IACL,MAAM,CAAU;IAChB,aAAa,CAAqB;IAClC,aAAa,CAAqB;IAClC,cAAc,CAAkB;IAChC,cAAc,CAAkB;IAChC,OAAO,CAAW;IAClB,QAAQ,CAAY;IACpB,OAAO,CAAsB;IAC7B,OAAO,CAAa;IACpB,WAAW,CAAc;IACzB,aAAa,CAA4B;IAClD,UAAU,CAAU;IACpB,gBAAgB,CAAc;IAC9B,sBAAsB,CAAc;IACpC,eAAe,GAAyB,EAAE,CAAC;IAC3C,oBAAoB,GAAY,KAAK,CAAC;IAC7B,cAAc,GAA8B,IAAI,GAAG,EAAE,CAAC;IAEhE,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;IAElD,YACE,MAAe,EACf,aAAiC,EACjC,aAAiC,EACjC,cAA+B,EAC/B,cAA+B,EAC/B,OAAiB,EACjB,QAAmB;QAEnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CACxD,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,aAAa,EAClB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,cAAc,CACpB,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,yCAAyC,MAAM,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAClH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAW;gBACrB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO;aACR,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7C,iBAAiB,CAAC,eAAe,EACjC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAChD,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACnD,iBAAiB,CAAC,UAAU,EAC5B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACpC,CAAC;QAED,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE5B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,0CAA0C,MAAM,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACrB,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,IAAY,EACZ,YAAoB,EACpB,aAA4B,EAC5B,SAAuB,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAChE,UAAyB,EAAE,mBAAmB,EAAE,GAAG,EAAE,EACrD,EAAW;QAEX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,EAC9E,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,MAAM,EACN,OAAO,EACP,EAAE,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAiB;YAC3B,IAAI,EAAE,gBAAgB,EAAE;YACxB,IAAI,EAAE,gBAAgB,EAAE;SACzB,CAAC;QAEF,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,aAAa;YACb,MAAM;YACN,OAAO;YACP,MAAM;SACP,CAAC;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC1C,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,MAAM,EACN,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAErB,MAAM,MAAM,GAAW;YACrB,EAAE,EAAE,QAAQ;YACZ,IAAI;YACJ,YAAY;YACZ,MAAM;YACN,OAAO;YACP,OAAO;SACR,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,IAAI,CAAC,cAAc,CACvB,MAAM,EACN,YAAY,EACZ,MAAM,EACN,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,YAAoB,EACpB,MAAoB,EACpB,mBAA2B;QAE3B,IAAI,aAAa,CAAC;QAClB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3D,SAAS,EAAE;gBACT,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM;aACR;YACd,OAAO,EAAE;gBACP,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;aAC5B;SACF,CAAC,CAAC,CAAC;QAEJ,IAAI,WAAW,GAAG,gBAAgB,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAE3D,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,cAAc,GAAG,mBAAmB,CAC1D,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,UAAU,EAAE,EACnB,EAAE,EACF,EAAE,EACF,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,KAAa,EAAE,MAAoB;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACrD,CAAC;IAEO,oBAAoB,CAAC,MAAc;QACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACxC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,KAAyB;QACjD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACrC,CAAC;IAEO,sBAAsB;QAC5B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAG,CAAC;YAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAEO,qBAAqB,CAAC,KAAyB;QACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;QAE/C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG;gBACR,cAAc,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC;gBACpC,aAAa,EAAE,IAAI,GAAG,EAAE;gBACxB,MAAM,EAAE,EAAE;aACX,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,KAAqB;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,MAA4B;QACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,iBAAiB,GAA6B,EAAE,CAAC;QAEvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAC/C,KAAK,CAAC,qBAAqB,CAC5B,EAAE,CAAC;oBACF,IAAI,CAAC,CAAC,KAAK,IAAI,iBAAiB,CAAC,EAAE,CAAC;wBAClC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBAChC,CAAC;oBACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;wBAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC1C,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,MAG3B,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACvC,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACxC,SAAS;gBACX,CAAC;gBAED,MAAM,YAAY,GAAG,iBAAiB,CACpC,EAAE,CAAC,OAAO,CAAC,MAAM,EACjB,KAAK,CAAC,QAAQ,CACf,CAAC;gBACF,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,EAAE,CAAC;oBAC3C,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9D,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAkC,CAAC;YACtE,MAAM,iBAAiB,GAGlB,EAAE,CAAC;YACR,MAAM,WAAW,GAAa,EAAE,CAAC;YAEjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC3C,IAAI,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACjD,SAAS;gBACX,CAAC;gBAED,IAAI,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,SAAS;gBACX,CAAC;gBAED,qFAAqF;gBACrF,2DAA2D;gBAC3D,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1C,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAC7C,WAAW,EACX,MAAM,CAAC,YAAY,EACnB,iBAAiB,CAClB,CAAC;oBACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7B,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;gBAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,aAAa,CAC9B,MAAM,CAAC,UAAU,EAAE,EACnB,KAAK,CAAC,KAAK,EACX,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAC/B,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,UAAU,EAChB,CAAC,KAAK,CAAC,KAAK,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,UAAU,CACjB,CAAC;oBAEF,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;oBAClC,KAAK,EAAE,iBAAiB,CAAC,MAAM;oBAC/B,SAAS,EAAE,IAAI,GAAG,EAAE;oBACpB,MAAM,EAAE,IAAI,GAAG,EAAE;oBACjB,WAAW;iBACZ,CAAC,CAAC;gBACH,MAAM,YAAY,GAAqB;oBACrC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,kBAAkB,EAAE,iBAAiB,CAAC,MAAM;oBAC5C,WAAW;iBACZ,CAAC;gBACF,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACrE,CAAC;YAED,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACnD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC5B,IAAI,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;wBACzC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAClD,CAAC;yBAAM,IAAI,IAAI,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;wBAC9C,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE;4BAC/C,UAAU,EAAE,EAAE,CAAC,UAAU;4BACzB,UAAU,EAAE,EAAE,CAAC,UAAU;4BACzB,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe;yBAC5C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAc,EAAE,OAAwB;QAC/D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAoB,EAAE,CAAC;QAErC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,MAAc,EAAE,MAAqB;QAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAChC,IAAI,IAAI,KAAK,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,IAAI,KAAK,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,MAAc,EACd,MAAqB;QAErB,MAAM,UAAU,GAAgB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAE5E,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAC/B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,MAAM,EACb,UAAU,EACV,SAAS,EACT,EAAE,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,CAC9B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qEAAqE,EACrE,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,GAAG,CAAC,OAAO,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,gBAAgB,CAAC;QACrB,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0EAA0E,EAC1E,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,OAAO,CAAC,EAAE,EACV,GAAG,CAAC,OAAO,CACZ,CAAC;YACF,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAE5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,8EAA8E,EAC9E,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,UAAU,EACjB,gBAAgB,CAAC,EAAE,EACnB,YAAY,CACb,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,YAAY,CAC5B,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CACzD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,KAAuD;QAEvD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,MAAM,CAAC,KAAK;YACjB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;YACvD,SAAS,EAAE,MAAM,CAAC,eAAe;SAClC,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAqB,EAAE,IAAI,EAAE,CAAC;QAE3C,IAAI,MAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE;gBACxD,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvC,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YACD,OAAO;QACT,CAAC;QAED,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,gBAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACtC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACpC,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAE5C,IAAI,gBAAgB,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;gBACjD,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC;gBACxE,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,kBAAkB,CAAC,KAAK,EACxB,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CACzD,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,mBAAmB,CACzB,KAAa,EACb,QAAgB,EAChB,OAAgB,EAChB,SAAqE;QAErE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAC/D,IAAI,aAAa,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAAuB;oBACzC,KAAK;oBACL,kBAAkB,EAAE,KAAK,CAAC,KAAK;iBAChC,CAAC;gBACF,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAoB;oBACnC,KAAK;oBACL,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;oBAClC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;oBAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC1C,CAAC;gBACF,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,4BAA4B,CAClC,UAAkC,EAClC,YAAoB,EACpB,qBAAgD;QAEhD,oEAAoE;QACpE,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,CAAC,UAAU,IAAI,qBAAqB,CAAC,EAAE,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,qBAAqB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -8,6 +8,8 @@ export declare class SyncOperationAggregateError extends Error {
|
|
|
8
8
|
}
|
|
9
9
|
export declare class SyncOperation {
|
|
10
10
|
readonly id: string;
|
|
11
|
+
readonly jobId: string;
|
|
12
|
+
jobDependencies: string[];
|
|
11
13
|
readonly remoteName: string;
|
|
12
14
|
readonly documentId: string;
|
|
13
15
|
readonly scopes: string[];
|
|
@@ -16,7 +18,7 @@ export declare class SyncOperation {
|
|
|
16
18
|
status: SyncOperationStatus;
|
|
17
19
|
error?: ChannelError;
|
|
18
20
|
private callbacks;
|
|
19
|
-
constructor(id: string, remoteName: string, documentId: string, scopes: string[], branch: string, operations: OperationWithContext[]);
|
|
21
|
+
constructor(id: string, jobId: string, jobDependencies: string[], remoteName: string, documentId: string, scopes: string[], branch: string, operations: OperationWithContext[]);
|
|
20
22
|
on(callback: SyncOperationStatusCallback): void;
|
|
21
23
|
started(): void;
|
|
22
24
|
transported(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-operation.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,2BAA2B,GAAG,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEV,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,SAAS,CAAqC;gBAGpD,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"sync-operation.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,KAAK,2BAA2B,GAAG,CACjC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,mBAAmB,EACzB,IAAI,EAAE,mBAAmB,KACtB,IAAI,CAAC;AAEV,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,MAAM,EAAE,KAAK,EAAE,CAAC;gBAEJ,MAAM,EAAE,KAAK,EAAE;CAQ5B;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAC5C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,OAAO,CAAC,SAAS,CAAqC;gBAGpD,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,oBAAoB,EAAE;IAapC,EAAE,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI;IAI/C,OAAO,IAAI,IAAI;IAIf,WAAW,IAAI,IAAI;IAInB,QAAQ,IAAI,IAAI;IAIhB,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAKjC,OAAO,CAAC,UAAU;CAenB"}
|
|
@@ -10,6 +10,8 @@ export class SyncOperationAggregateError extends Error {
|
|
|
10
10
|
}
|
|
11
11
|
export class SyncOperation {
|
|
12
12
|
id;
|
|
13
|
+
jobId;
|
|
14
|
+
jobDependencies;
|
|
13
15
|
remoteName;
|
|
14
16
|
documentId;
|
|
15
17
|
scopes;
|
|
@@ -18,8 +20,10 @@ export class SyncOperation {
|
|
|
18
20
|
status;
|
|
19
21
|
error;
|
|
20
22
|
callbacks = [];
|
|
21
|
-
constructor(id, remoteName, documentId, scopes, branch, operations) {
|
|
23
|
+
constructor(id, jobId, jobDependencies, remoteName, documentId, scopes, branch, operations) {
|
|
22
24
|
this.id = id;
|
|
25
|
+
this.jobId = jobId;
|
|
26
|
+
this.jobDependencies = jobDependencies;
|
|
23
27
|
this.remoteName = remoteName;
|
|
24
28
|
this.documentId = documentId;
|
|
25
29
|
this.scopes = scopes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-operation.js","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQjD,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAU;IAEhB,YAAY,MAAe;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,CACH,sCAAsC,MAAM,CAAC,MAAM,cAAc,QAAQ,EAAE,CAC5E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,MAAM,CAAW;IACjB,MAAM,CAAS;IACf,UAAU,CAAyB;IAC5C,MAAM,CAAsB;IAC5B,KAAK,CAAgB;IAEb,SAAS,GAAkC,EAAE,CAAC;IAEtD,YACE,EAAU,EACV,UAAkB,EAClB,UAAkB,EAClB,MAAgB,EAChB,MAAc,EACd,UAAkC;QAElC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,QAAqC;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAmB;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,UAAU,CAAC,IAAyB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"sync-operation.js","sourceRoot":"","sources":["../../../src/sync/sync-operation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAQjD,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IACpD,MAAM,CAAU;IAEhB,YAAY,MAAe;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,CACH,sCAAsC,MAAM,CAAC,MAAM,cAAc,QAAQ,EAAE,CAC5E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,aAAa;IACf,EAAE,CAAS;IACX,KAAK,CAAS;IACvB,eAAe,CAAW;IACjB,UAAU,CAAS;IACnB,UAAU,CAAS;IACnB,MAAM,CAAW;IACjB,MAAM,CAAS;IACf,UAAU,CAAyB;IAC5C,MAAM,CAAsB;IAC5B,KAAK,CAAgB;IAEb,SAAS,GAAkC,EAAE,CAAC;IAEtD,YACE,EAAU,EACV,KAAa,EACb,eAAyB,EACzB,UAAkB,EAClB,UAAkB,EAClB,MAAgB,EAChB,MAAc,EACd,UAAkC;QAElC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC;IAC5C,CAAC;IAED,EAAE,CAAC,QAAqC;QACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,WAAW;QACT,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,KAAmB;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,UAAU,CAAC,IAAyB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
|