@optimystic/db-p2p 0.27.0 → 0.28.0
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.
|
@@ -251,6 +251,38 @@ export declare class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
|
|
|
251
251
|
* Set up connection event tracking to update high water mark and last connected time.
|
|
252
252
|
*/
|
|
253
253
|
private setupConnectionTracking;
|
|
254
|
+
/**
|
|
255
|
+
* This node's own dialable addresses, as strings, memoized between address changes.
|
|
256
|
+
*
|
|
257
|
+
* `libp2p.getMultiaddrs()` is NOT cheap: on Node it re-derives announce addresses from
|
|
258
|
+
* `os.networkInterfaces()`, a full NIC sweep measured at **3.19 ms of a 3.49 ms call**. Every
|
|
259
|
+
* `findCluster` builds a cluster record containing self's addresses, and every commit calls
|
|
260
|
+
* `findCluster` through `getClusterPeerIds` — so a cold `apply schema` paid one NIC sweep per
|
|
261
|
+
* commit. On a solo node with zero peers that was ~13.8 ms per call and **49% of the whole
|
|
262
|
+
* apply** (issue #8); the addresses it recomputed were identical every time.
|
|
263
|
+
*
|
|
264
|
+
* Invalidated on `self:peer:update`, which libp2p emits whenever this node's own address set
|
|
265
|
+
* changes (a transport binding, a relay reservation, an observed-address promotion), so the
|
|
266
|
+
* cache cannot outlive its answer. A fresh array is returned on every call: the value goes
|
|
267
|
+
* into a `ClusterPeers` record the caller owns and may mutate.
|
|
268
|
+
*
|
|
269
|
+
* NOTE: the invalidation is not instantaneous, and it is not unconditional. libp2p reaches
|
|
270
|
+
* that event through `AddressManager._updatePeerStoreAddresses`, which is **debounced by
|
|
271
|
+
* 1000 ms** and then writes the peer record — so for up to about a second after a transport
|
|
272
|
+
* starts or stops listening, a record published here can carry the previous address set.
|
|
273
|
+
* That write is also fire-and-forget (`.catch` logs and swallows), so a peerStore failure
|
|
274
|
+
* leaves this memo stale until the next successful address change. Both are acceptable
|
|
275
|
+
* today: addresses change at startup and at relay-reservation time, not per commit, and a
|
|
276
|
+
* momentarily-stale record lands on paths that already handle it — a missing address reads
|
|
277
|
+
* as `addressless` and a departed one fails the dial, and the caller retries or excludes in
|
|
278
|
+
* either case. Revisit if address churn ever becomes routine (frequent relay rotation, a
|
|
279
|
+
* mobile node changing networks under load), or if a stale published address ever shows up
|
|
280
|
+
* as a dial failure nobody can explain — this memo is the first thing to suspect.
|
|
281
|
+
*/
|
|
282
|
+
private selfMultiaddrsCache;
|
|
283
|
+
private setupSelfAddressTracking;
|
|
284
|
+
/** {@link selfMultiaddrsCache}, populated on first use. */
|
|
285
|
+
private getSelfMultiaddrs;
|
|
254
286
|
/**
|
|
255
287
|
* Update network high water mark and last connected time.
|
|
256
288
|
* Called on new connections.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-key-network.d.ts","sourceRoot":"","sources":["../../src/libp2p-key-network.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"libp2p-key-network.d.ts","sourceRoot":"","sources":["../../src/libp2p-key-network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE9H,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,UAAU,CAAA;AAI5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAK5D,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;IACxC;;;;;;OAMG;;IAEH;;;;OAIG;;IAEH,2DAA2D;;IAE3D;;;;;;OAMG;;CAEM,CAAC;AAEX,MAAM,MAAM,wBAAwB,GACnC,OAAO,4BAA4B,CAAC,MAAM,OAAO,4BAA4B,CAAC,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjE,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;gBAC5B,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,MAAM;CAK3D;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,8BAA8B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,+BAA8B;gBAC/B,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAQ7D;AAED,iGAAiG;AACjG,eAAO,MAAM,uBAAuB,EAAG,CAAU,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACrC,OAAO,EAAE,OAAO,uBAAuB,CAAC;IACxC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2BAA2B,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACvC,IAAI,IAAI,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,0BAA0B,GAAG,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAAC;IACxJ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,oBAAqB,YAAW,WAAW,EAAE,YAAY;IAuBpE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW;IAI5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IApDjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAmC;IAC1E,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,iBAAiB,CAAc;IACvC,OAAO,CAAC,2BAA2B,CAAK;IACxC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAA0B;gBAMrC,MAAM,EAAE,MAAM;IAC/B;;;;;;OAMG;IACc,WAAW,EAAE,MAAM,EACpC,sBAAsB,CAAC,EAAE,sBAAsB,EAC/C,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,uBAAuB,EACpB,UAAU,CAAC,EAAE,eAAe,YAAA;IAC7C;;;;;;;;;;;;;;;;OAgBG;IACc,cAAc,CAAC,EAAE,MAAM,YAAA;IAuBzC,4FAA4F;IAC5F,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED;;;;OAIG;IACH,IAAI,uBAAuB,IAAI,MAAM,GAAG,SAAS,CAEhD;IAGD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAO;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiC;IACrD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuD;IAElF,OAAO,CAAC,UAAU;IAElB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,mBAAmB,CAAuB;IAElD,OAAO,CAAC,wBAAwB;IAMhC,2DAA2D;IAC3D,OAAO,CAAC,iBAAiB;IAKzB;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA2B3B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,aAAa;IAKrB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAepB;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,MAAM,GAAE,iBAA2B,GAAG,wBAAwB;IAqE1F;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,SAAiB,GAAG,IAAI;IAkBvF;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAItE,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQxF;;;;;;;;OAQG;YACW,sBAAsB;IAiBpC,OAAO,CAAC,OAAO;YAMD,oBAAoB;IAO5B,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA0OnG;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAazB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IA2JzD;;;;;OAKG;YACW,uBAAuB;IAiBrC;;;;;;;;OAQG;YACW,yBAAyB;IAiBvC;;;;;OAKG;YACW,2BAA2B;IAgBzC;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;;;;;;;;;;;;OAiBG;YACW,kBAAkB;CAahC"}
|
|
@@ -149,6 +149,7 @@ export class Libp2pKeyPeerNetwork {
|
|
|
149
149
|
this.networkMode = networkMode ?? 'forming';
|
|
150
150
|
this.persistence = persistence;
|
|
151
151
|
this.setupConnectionTracking();
|
|
152
|
+
this.setupSelfAddressTracking();
|
|
152
153
|
}
|
|
153
154
|
/** The cluster size this instance actually resolved to, for `assertClusterSizeCoupling`. */
|
|
154
155
|
get effectiveClusterSize() {
|
|
@@ -181,6 +182,45 @@ export class Libp2pKeyPeerNetwork {
|
|
|
181
182
|
this.updateNetworkObservations();
|
|
182
183
|
});
|
|
183
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* This node's own dialable addresses, as strings, memoized between address changes.
|
|
187
|
+
*
|
|
188
|
+
* `libp2p.getMultiaddrs()` is NOT cheap: on Node it re-derives announce addresses from
|
|
189
|
+
* `os.networkInterfaces()`, a full NIC sweep measured at **3.19 ms of a 3.49 ms call**. Every
|
|
190
|
+
* `findCluster` builds a cluster record containing self's addresses, and every commit calls
|
|
191
|
+
* `findCluster` through `getClusterPeerIds` — so a cold `apply schema` paid one NIC sweep per
|
|
192
|
+
* commit. On a solo node with zero peers that was ~13.8 ms per call and **49% of the whole
|
|
193
|
+
* apply** (issue #8); the addresses it recomputed were identical every time.
|
|
194
|
+
*
|
|
195
|
+
* Invalidated on `self:peer:update`, which libp2p emits whenever this node's own address set
|
|
196
|
+
* changes (a transport binding, a relay reservation, an observed-address promotion), so the
|
|
197
|
+
* cache cannot outlive its answer. A fresh array is returned on every call: the value goes
|
|
198
|
+
* into a `ClusterPeers` record the caller owns and may mutate.
|
|
199
|
+
*
|
|
200
|
+
* NOTE: the invalidation is not instantaneous, and it is not unconditional. libp2p reaches
|
|
201
|
+
* that event through `AddressManager._updatePeerStoreAddresses`, which is **debounced by
|
|
202
|
+
* 1000 ms** and then writes the peer record — so for up to about a second after a transport
|
|
203
|
+
* starts or stops listening, a record published here can carry the previous address set.
|
|
204
|
+
* That write is also fire-and-forget (`.catch` logs and swallows), so a peerStore failure
|
|
205
|
+
* leaves this memo stale until the next successful address change. Both are acceptable
|
|
206
|
+
* today: addresses change at startup and at relay-reservation time, not per commit, and a
|
|
207
|
+
* momentarily-stale record lands on paths that already handle it — a missing address reads
|
|
208
|
+
* as `addressless` and a departed one fails the dial, and the caller retries or excludes in
|
|
209
|
+
* either case. Revisit if address churn ever becomes routine (frequent relay rotation, a
|
|
210
|
+
* mobile node changing networks under load), or if a stale published address ever shows up
|
|
211
|
+
* as a dial failure nobody can explain — this memo is the first thing to suspect.
|
|
212
|
+
*/
|
|
213
|
+
selfMultiaddrsCache;
|
|
214
|
+
setupSelfAddressTracking() {
|
|
215
|
+
this.libp2p.addEventListener('self:peer:update', () => {
|
|
216
|
+
this.selfMultiaddrsCache = undefined;
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/** {@link selfMultiaddrsCache}, populated on first use. */
|
|
220
|
+
getSelfMultiaddrs() {
|
|
221
|
+
this.selfMultiaddrsCache ??= this.libp2p.getMultiaddrs().map(ma => ma.toString());
|
|
222
|
+
return this.selfMultiaddrsCache.slice();
|
|
223
|
+
}
|
|
184
224
|
/**
|
|
185
225
|
* Update network high water mark and last connected time.
|
|
186
226
|
* Called on new connections.
|
|
@@ -861,7 +901,7 @@ export class Libp2pKeyPeerNetwork {
|
|
|
861
901
|
for (const idStr of ids) {
|
|
862
902
|
if (idStr === selfId) {
|
|
863
903
|
const raw = this.libp2p.peerId.publicKey?.raw ?? new Uint8Array();
|
|
864
|
-
peers[idStr] = { multiaddrs: this.
|
|
904
|
+
peers[idStr] = { multiaddrs: this.getSelfMultiaddrs(), publicKey: u8ToString(raw, 'base64url') };
|
|
865
905
|
continue;
|
|
866
906
|
}
|
|
867
907
|
const connectedStrings = connectedByPeer[idStr] ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-key-network.js","sourceRoot":"","sources":["../../src/libp2p-key-network.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,qBAAqB,EAAmB,MAAM,wBAAwB,CAAA;AAEvJ,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAMtE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC3C;;;;;;OAMG;IACH,yBAAyB,EAAE,2BAA2B;IACtD;;;;OAIG;IACH,2BAA2B,EAAE,6BAA6B;IAC1D,2DAA2D;IAC3D,wBAAwB,EAAE,0BAA0B;IACpD;;;;;;OAMG;IACH,sBAAsB,EAAE,wBAAwB;CACvC,CAAC;AAkBX,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACrC,IAAI,CAA2B;IACxC,YAAY,IAA8B,EAAE,OAAe;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,2BAA2B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC5C,IAAI,GAAG,0BAA0B,CAAC;IAC3C,YAAY,IAAY,EAAE,QAAgB,EAAE,SAAiB;QAC5D,KAAK,CACJ,QAAQ,IAAI,0DAA0D,SAAS,eAAe;YAC9F,iDAAiD,QAAQ,gBAAgB;YACzE,iDAAiD,CACjD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC3C,CAAC;CACD;AAED,iGAAiG;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAU,CAAC;AAoFlD,MAAM,OAAO,oBAAoB;IAuBd;IAQA;IAIA;IAkBA;IApDD,sBAAsB,CAAmC;IAClE,oBAAoB,GAAG,CAAC,CAAC;IACzB,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,2BAA2B,GAAG,CAAC,CAAC;IACxC;;;;;;;;;;OAUG;IACc,WAAW,CAAc;IACzB,WAAW,CAA2B;IAEvD,4FAA4F;IAC5F,6FAA6F;IAC7F,4FAA4F;IAC5F,YACkB,MAAc;IAC/B;;;;;;OAMG;IACc,WAAmB,EACpC,sBAA+C,EAC/C,WAAyB,EACzB,WAAqC,EACpB,UAA4B;IAC7C;;;;;;;;;;;;;;;;OAgBG;IACc,cAAuB;QA9BvB,WAAM,GAAN,MAAM,CAAQ;QAQd,gBAAW,GAAX,WAAW,CAAQ;QAInB,eAAU,GAAV,UAAU,CAAkB;QAkB5B,mBAAc,GAAd,cAAc,CAAS;QAExC,mFAAmF;QACnF,oFAAoF;QACpF,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5E,uFAAuF;QACvF,mFAAmF;QACnF,wFAAwF;QACxF,uFAAuF;QACvF,wIAAwI;QACxI,yFAAyF;QACzF,6FAA6F;QAC7F,IAAI,CAAC,sBAAsB,GAAG;YAC7B,aAAa,EAAE,sBAAsB,EAAE,aAAa,IAAI,MAAM;YAC9D,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,IAAI,GAAG;YACrE,qBAAqB,EAAE,sBAAsB,EAAE,qBAAqB,IAAI,IAAI;SAC5E,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,SAAS,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAChC,CAAC;IAED,4FAA4F;IAC5F,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAI,uBAAuB;QAC1B,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,sGAAsG;IACrF,gBAAgB,GAAG,IAAI,GAAG,EAA2C,CAAA;IAC9E,MAAM,CAAU,iBAAiB,GAAG,IAAI,CAAA;IAC/B,GAAG,CAAiC;IACrD;;;;OAIG;IACc,UAAU,GAAe,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAE1E,UAAU,CAAC,GAAe,IAAY,OAAO,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA,CAAC,CAAC;IAEnF;;OAEG;IACK,uBAAuB;QAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACpD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/C,IAAI,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACxD,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,2CAA2C,EAAE,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvG,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,wDAAwD;YACxD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;YACnE,MAAM,YAAY,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,cAAc;YACxD,IAAI,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9C,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,gDAAgD,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACvF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,4FAA4F;QAC5F,yFAAyF;QACzF,4EAA4E;QAC5E,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAC5F,OAAO;QACR,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;QACvD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,sBAAsB,CAAC;QACtD,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,2BAA2B,CAAC;QAErE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC;gBACJ,sFAAsF;gBACtF,mFAAmF;gBACnF,kFAAkF;gBAClF,+DAA+D;gBAC/D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;QAChE,CAAC;QAED,4EAA4E;QAC5E,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;YAC7D,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACnC,IAAI,CAAC,GAAG,CAAC,uCAAuC,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChH,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACK,iBAAiB,CAAC,YAAsB;QAC/C,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/E,OAAO,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,aAAa;QACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACtE,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,YAAY,CAAC,EAAU,EAAE,QAAqB;QACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,KAAK,GAA0B;YACpC,OAAO,EAAE,uBAAuB;YAChC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,sBAAsB,EAAE,IAAI,CAAC,iBAAiB;YAC9C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;SAC7D,CAAC;QACF,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;QACpC,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,2BAA2B,CAAC,SAA4B,OAAO;QAC9D,sFAAsF;QACtF,sFAAsF;QACtF,kFAAkF;QAClF,MAAM,oBAAoB,GAAG,MAAM,KAAK,MAAM,CAAC;QAE/C,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,EAAE,CAAC;YACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAChE,CAAC;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QAClD,CAAC;QAED,8FAA8F;QAC9F,IAAI,IAAI,CAAC,2BAA2B,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzD,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,kDAAkD,EAAE,MAAM,CAAC,CAAC;gBACrE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;YACzF,CAAC;YAED,yDAAyD;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC3E,IAAI,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,mFAAmF,EAC3F,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACvE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;YAC3F,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,uCAAuC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/D,yDAAyD;gBACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBAChE,IAAI,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;oBACrE,IAAI,CAAC,GAAG,CAAC,yDAAyD,EAAE,mBAAmB,CAAC,CAAC;oBACzF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;gBAC/E,CAAC;YACF,CAAC;QACF,CAAC;QAED,wDAAwD;QACxD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAChE,IAAI,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,CAAC;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;YACzD,wDAAwD;YACxD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,GAAG,CAAC,yDAAyD,EAAE,mBAAmB,CAAC,CAAC;gBACzF,gFAAgF;gBAChF,8EAA8E;gBAC9E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/E,CAAC;QACF,CAAC;QAED,yEAAyE;QACzE,IAAI,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;QAC1D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACI,iBAAiB,CAAC,GAAe,EAAE,MAAc,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAC/E,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAC9F,OAAM;QACP,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG;gBAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3D,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAA2B,CAAA;YAChF,IAAI,QAAQ,IAAI,IAAI;gBAAE,MAAK;YAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACvC,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,MAAc,EAAE,UAAoB;QAC9D,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;IACrE,CAAC;IAEO,oBAAoB,CAAC,GAAe;QAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,GAAG,CAAC,EAAE,CAAA;QAClD,IAAI,GAAG;YAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxC,OAAO,SAAS,CAAA;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;QACrE,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9D,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;SACxE,CAAC,CAAA;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,sBAAsB,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;QAC5F,4FAA4F;QAC5F,yFAAyF;QACzF,uFAAuF;QACvF,wFAAwF;QACxF,mCAAmC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC/B,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QACvE,wFAAwF;QACxF,gEAAgE;QAChE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QACjC,IAAI,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,iBAAiB;YAAE,OAAM;QAC/G,IAAI,CAAC,GAAG,CAAC,sDAAsD,EAC9D,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,IAAI,2BAA2B,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpE,CAAC;IAEO,OAAO;QACd,MAAM,GAAG,GAAI,IAAI,CAAC,MAAqC,CAAC,QAAQ,EAAE,IAAI,CAAA;QACtE,IAAI,GAAG,IAAI,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACtF,OAAO,GAAG,CAAA;IACX,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,GAAe,EAAE,KAAa;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAe,EAAE,QAA0C;QAChF,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC3F,sFAAsF;QACtF,wDAAwD;QACxD,MAAM,MAAM,GAAsB,QAAQ,EAAE,MAAM,IAAI,OAAO,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,iFAAiF;QACjF,8EAA8E;QAC9E,yEAAyE;QACzE,4EAA4E;QAC5E,mDAAmD;QACnD,IAAI,4BAA4B,GAAG,KAAK,CAAC;QAEzC,IAAI,CAAC,GAAG,CAAC,0CAA0C,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAElH,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;QAC7C,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;YACzF,OAAO,MAAM,CAAA;QACd,CAAC;QAED,oFAAoF;QACpF,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,GAAG,CAAC;QAEzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,8CAA8C;YAC9C,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAa,CAAA;YAClG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC9D,IAAI,CAAC,GAAG,CAAC,qEAAqE,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAErK,yEAAyE;YACzE,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,IAAI,CAAC;gBACJ,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBAC5D,IAAI,CAAC,GAAG,CAAC,qDAAqD,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnF,IAAI,OAAO;oBAAE,IAAI,CAAC,GAAG,CAAC,4DAA4D,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;gBAE1H,2EAA2E;gBAC3E,6EAA6E;gBAC7E,2EAA2E;gBAC3E,+EAA+E;gBAC/E,qEAAqE;gBACrE,gFAAgF;gBAChF,+EAA+E;gBAC/E,0EAA0E;gBAC1E,6CAA6C;gBAC7C,EAAE;gBACF,gFAAgF;gBAChF,6EAA6E;gBAC7E,iFAAiF;gBACjF,+EAA+E;gBAC/E,8EAA8E;gBAC9E,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;gBAC7C,IAAI,sBAA2C,CAAA;gBAC/C,iFAAiF;gBACjF,kFAAkF;gBAClF,yEAAyE;gBACzE,+EAA+E;gBAC/E,gFAAgF;gBAChF,gFAAgF;gBAChF,4EAA4E;gBAC5E,+EAA+E;gBAC/E,wEAAwE;gBACxE,iFAAiF;gBACjF,+EAA+E;gBAC/E,gFAAgF;gBAChF,6EAA6E;gBAC7E,gFAAgF;gBAChF,0EAA0E;gBAC1E,2EAA2E;gBAC3E,MAAM,gBAAgB,GAAG,GAAY,EAAE;oBACtC,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;wBAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;wBACzD,8EAA8E;wBAC9E,+EAA+E;wBAC/E,+EAA+E;wBAC/E,8EAA8E;wBAC9E,+EAA+E;wBAC/E,+EAA+E;wBAC/E,uEAAuE;wBACvE,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI;+BAChE,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAA;wBAC/C,sBAAsB,GAAG,QAAQ,CAAC,KAAK,IAAI,YAAY,CAAA;wBACvD,IAAI,YAAY,EAAE,CAAC;4BAClB,IAAI,CAAC,GAAG,CAAC,4EAA4E,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;wBACzH,CAAC;6BAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;4BAC5B,IAAI,CAAC,GAAG,CAAC,yEAAyE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;wBAC9H,CAAC;oBACF,CAAC;oBACD,OAAO,sBAAsB,CAAA;gBAC9B,CAAC,CAAA;gBACD,MAAM,gBAAgB,GAAG,GAAG;qBAC1B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;qBAChD,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC;qBAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3F,IAAI,CAAC,GAAG,CAAC,yDAAyD,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;gBAEnJ,+EAA+E;gBAC/E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,qEAAqE;gBACrE,4EAA4E;gBAC5E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,oDAAoD;gBACpD,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;gBACtF,IAAI,kBAAkB;oBAAE,4BAA4B,GAAG,IAAI,CAAA;gBAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;gBACtB,IAAI,IAAI,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBAClC,sEAAsE;oBACtE,0EAA0E;oBAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;oBAChC,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;oBACxF,OAAO,GAAG,CAAA;gBACX,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAA;YAClE,CAAC;YAED,8EAA8E;YAC9E,2EAA2E;YAC3E,yEAAyE;YACzE,6EAA6E;YAC7E,8EAA8E;YAC9E,kFAAkF;YAClF,mBAAmB;YACnB,MAAM,mBAAmB,GAAG,SAAS;iBACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;iBACzD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC/G,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YACxB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;YAC7H,IAAI,sBAAsB;gBAAE,4BAA4B,GAAG,IAAI,CAAA;YAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAA;gBAC3C,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAChC,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAA;gBACtG,OAAO,GAAG,CAAA;YACX,CAAC;YAED,6DAA6D;YAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;gBACxD,6EAA6E;gBAC7E,mFAAmF;gBACnF,mFAAmF;gBACnF,iFAAiF;gBACjF,mFAAmF;gBACnF,oFAAoF;gBACpF,mFAAmF;gBACnF,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,GAAG,CAAC,kFAAkF,EAC1F,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBAC7F,MAAM;gBACP,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,mEAAmE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;gBAC5G,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAA;gBAC/D,SAAQ;YACT,CAAC;QACF,CAAC;QAED,iEAAiE;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAC1D,6DAA6D;YAC7D,8EAA8E;YAC9E,kFAAkF;YAClF,kFAAkF;YAClF,0EAA0E;YAC1E,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACrD,IAAI,CAAC,GAAG,CAAC,+DAA+D,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3G,MAAM,IAAI,oBAAoB,CAC7B,4BAA4B,CAAC,yBAAyB,EACtD,8BAA8B,QAAQ,CAAC,MAAM,qCAAqC,CAClF,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,kFAAkF,EAC1F,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,CAAA;gBACjG,OAAO,IAAI,CAAA;YACZ,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,oEAAoE,EAC5E,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,+DAA+D,EACvE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;YACxF,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,qFAAqF;QACrF,qFAAqF;QACrF,iFAAiF;QACjF,yEAAyE;QACzE,IAAI,4BAA4B,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,CAAC,iEAAiE,EACzE,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACtE,MAAM,IAAI,oBAAoB,CAC7B,4BAA4B,CAAC,sBAAsB,EACnD,+CAA+C,IAAI,CAAC,cAAc,IAAI,GAAG,IAAI;gBAC7E,iHAAiH,CACjH,CAAC;QACH,CAAC;QAED,yFAAyF;QACzF,uFAAuF;QACvF,yFAAyF;QACzF,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACvD,IAAI,eAAe,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,oDAAoD,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACxG,MAAM,IAAI,oBAAoB,CAC7B,4BAA4B,CAAC,2BAA2B,EACxD,+EAA+E;gBAC/E,sEAAsE,CACtE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,6CAA6C,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACjG,MAAM,IAAI,oBAAoB,CAC7B,4BAA4B,CAAC,wBAAwB,EACrD,4DAA4D,CAC5D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,uBAAuB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAA;QAC1C,MAAM,MAAM,GAA6B,EAAE,CAAA;QAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,yBAAyB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAC1D,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAChC,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAe;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC3B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,8EAA8E;QAC9E,iFAAiF;QACjF,8DAA8D;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;QACzF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAE7C,6BAA6B;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC5C,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;QAElD,4EAA4E;QAC5E,6EAA6E;QAC7E,gFAAgF;QAChF,kFAAkF;QAClF,oFAAoF;QACpF,iFAAiF;QACjF,8EAA8E;QAC9E,qFAAqF;QACrF,kFAAkF;QAClF,oFAAoF;QACpF,qFAAqF;QACrF,qFAAqF;QACrF,gEAAgE;QAChE,+EAA+E;QAC/E,iFAAiF;QACjF,4EAA4E;QAC5E,qEAAqE;QACrE,IAAI,gBAAsF,CAAA;QAC1F,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;YACjC,0EAA0E;YAC1E,uDAAuD;YACvD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;YAClD,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;YAChE,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAa,EAAE,CAAA;YAC5B,IAAI,cAAc,GAAG,CAAC,CAAA;YACtB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;gBAChE,IAAI,CAAC,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;qBAC9B,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;oBACrC,cAAc,EAAE,CAAA;YACtB,CAAC;YACD,mFAAmF;YACnF,kFAAkF;YAClF,qFAAqF;YACrF,mFAAmF;YACnF,qFAAqF;YACrF,qFAAqF;YACrF,mFAAmF;YACnF,qFAAqF;YACrF,oFAAoF;YACpF,kFAAkF;YAClF,qFAAqF;YACrF,oFAAoF;YACpF,kFAAkF;YAClF,mFAAmF;YACnF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;YACvD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;YAC7C,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YAC9C,IAAI,CAAC,GAAG,CAAC,8EAA8E,EACtF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAA;QACtD,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAErD,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,4EAA4E;QAC5E,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;QACnD,MAAM,cAAc,GAAG,gBAAgB;YACtC,CAAC,CAAC,MAAM,CAAC,WAAW,CACnB,WAAW;iBACT,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,gBAAiB,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,CAAU,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CACzC;YACD,CAAC,CAAC,MAAM,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAA;QAElD,IAAI,CAAC,GAAG,CAAC,+CAA+C,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACzG,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,4DAA4D,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAA;QAElH,MAAM,KAAK,GAAiB,EAAE,CAAA;QAC9B,oFAAoF;QACpF,sFAAsF;QACtF,gFAAgF;QAChF,mEAAmE;QACnE,MAAM,WAAW,GAAa,EAAE,CAAA;QAChC,sFAAsF;QACtF,0FAA0F;QAC1F,wFAAwF;QACxF,qFAAqF;QACrF,wFAAwF;QACxF,+DAA+D;QAC/D,MAAM,aAAa,GAAa,EAAE,CAAA;QAElC,KAAK,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,UAAU,EAAE,CAAA;gBACjE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAA;gBAC5H,SAAQ;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACrD,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YACpD,wEAAwE;YACxE,qFAAqF;YACrF,qEAAqE;YACrE,oFAAoF;YACpF,sFAAsF;YACtF,kDAAkD;YAClD,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,UAAU,EAAE,CAAA;YAC3D,kEAAkE;YAClE,mEAAmE;YACnE,mEAAmE;YACnE,gEAAgE;YAChE,+DAA+D;YAC/D,2DAA2D;YAC3D,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YAC5E,IAAI,WAAW,KAAK,MAAM;gBAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;iBAC/D,IAAI,WAAW,KAAK,iBAAiB;gBAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YACtF,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAA;QAC/E,CAAC;QAED,mFAAmF;QACnF,qFAAqF;QACrF,gFAAgF;QAChF,wDAAwD;QACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,gEAAgE,EACxE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QACrE,CAAC;QAED,yFAAyF;QACzF,wFAAwF;QACxF,yFAAyF;QACzF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,oEAAoE,EAC5E,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,wEAAwE,EAChF,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAA;IACb,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,uBAAuB,CAAC,GAAa;QAClD,MAAM,GAAG,GAA6B,EAAE,CAAA;QACxC,MAAM,KAAK,GAAI,IAAI,CAAC,MAA0H,CAAC,SAAS,CAAA;QACxJ,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO,GAAG,CAAA;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAI,CAAC,GAAG,CAAC,CAAA;gBAClC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YACzC,CAAC;YAAC,MAAM,CAAC;gBACR,4DAA4D;YAC7D,CAAC;QACF,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,GAAG,CAAA;IACX,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,yBAAyB,CAAC,GAAa;QACpD,MAAM,GAAG,GAA6D,EAAE,CAAA;QACxE,MAAM,KAAK,GAAI,IAAI,CAAC,MAAgJ,CAAC,SAAS,CAAA;QAC9K,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO,GAAG,CAAA;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAI,CAAC,GAAG,CAAC,CAAA;gBAClC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACtE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE,EAAE,KAAK,EAAE,CAAA;YACzD,CAAC;YAAC,MAAM,CAAC;gBACR,4DAA4D;YAC7D,CAAC;QACF,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,GAAG,CAAA;IACX,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,2BAA2B,CAAC,GAAa;QACtD,MAAM,GAAG,GAA6B,EAAE,CAAA;QACxC,MAAM,KAAK,GAAI,IAAI,CAAC,MAAsF,CAAC,SAAS,CAAA;QACpH,IAAI,CAAC,KAAK,EAAE,GAAG;YAAE,OAAO,GAAG,CAAA;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzC,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;gBACnC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAI,CAAC,GAAG,CAAC,CAAA;gBAClC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC;gBACR,wEAAwE;YACzE,CAAC;QACF,CAAC,CAAC,CAAC,CAAA;QACH,OAAO,GAAG,CAAA;IACX,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,KAAa,EAAE,SAA+B;QAClE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI;YAAE,OAAO,QAAQ,CAAA;QAChD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YAAE,OAAO,QAAQ,CAAA;QAC5D,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QACjE,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,gBAAgB,CAAC;eAC1D,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,aAAa,CAAC;YAAE,OAAO,QAAQ,CAAA;QAC5E,OAAO,SAAS,CAAA;IACjB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACK,KAAK,CAAC,kBAAkB,CAAC,GAAa;QAC7C,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAA;QACtG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;QAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAA;QAChG,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAA;QAC9B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;YACpD,IAAI,CAAC,KAAK,QAAQ;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;;gBAC9B,kBAAkB,GAAG,IAAI,CAAA;QAC/B,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"libp2p-key-network.js","sourceRoot":"","sources":["../../src/libp2p-key-network.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optimystic/db-p2p",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "P2P database functionality for Optimystic",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"@multiformats/multiaddr": "^13.0.1",
|
|
87
87
|
"@noble/curves": "^2.0.1",
|
|
88
88
|
"@noble/hashes": "^2.0.1",
|
|
89
|
-
"@optimystic/db-core": "^0.
|
|
89
|
+
"@optimystic/db-core": "^0.28.0",
|
|
90
90
|
"async-mutex": "^0.5.0",
|
|
91
91
|
"debug": "^4.4.3",
|
|
92
92
|
"it-all": "^3.0.9",
|
|
@@ -262,6 +262,7 @@ export class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
|
|
|
262
262
|
this.networkMode = networkMode ?? 'forming';
|
|
263
263
|
this.persistence = persistence;
|
|
264
264
|
this.setupConnectionTracking();
|
|
265
|
+
this.setupSelfAddressTracking();
|
|
265
266
|
}
|
|
266
267
|
|
|
267
268
|
/** The cluster size this instance actually resolved to, for `assertClusterSizeCoupling`. */
|
|
@@ -300,6 +301,48 @@ export class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
|
|
|
300
301
|
});
|
|
301
302
|
}
|
|
302
303
|
|
|
304
|
+
/**
|
|
305
|
+
* This node's own dialable addresses, as strings, memoized between address changes.
|
|
306
|
+
*
|
|
307
|
+
* `libp2p.getMultiaddrs()` is NOT cheap: on Node it re-derives announce addresses from
|
|
308
|
+
* `os.networkInterfaces()`, a full NIC sweep measured at **3.19 ms of a 3.49 ms call**. Every
|
|
309
|
+
* `findCluster` builds a cluster record containing self's addresses, and every commit calls
|
|
310
|
+
* `findCluster` through `getClusterPeerIds` — so a cold `apply schema` paid one NIC sweep per
|
|
311
|
+
* commit. On a solo node with zero peers that was ~13.8 ms per call and **49% of the whole
|
|
312
|
+
* apply** (issue #8); the addresses it recomputed were identical every time.
|
|
313
|
+
*
|
|
314
|
+
* Invalidated on `self:peer:update`, which libp2p emits whenever this node's own address set
|
|
315
|
+
* changes (a transport binding, a relay reservation, an observed-address promotion), so the
|
|
316
|
+
* cache cannot outlive its answer. A fresh array is returned on every call: the value goes
|
|
317
|
+
* into a `ClusterPeers` record the caller owns and may mutate.
|
|
318
|
+
*
|
|
319
|
+
* NOTE: the invalidation is not instantaneous, and it is not unconditional. libp2p reaches
|
|
320
|
+
* that event through `AddressManager._updatePeerStoreAddresses`, which is **debounced by
|
|
321
|
+
* 1000 ms** and then writes the peer record — so for up to about a second after a transport
|
|
322
|
+
* starts or stops listening, a record published here can carry the previous address set.
|
|
323
|
+
* That write is also fire-and-forget (`.catch` logs and swallows), so a peerStore failure
|
|
324
|
+
* leaves this memo stale until the next successful address change. Both are acceptable
|
|
325
|
+
* today: addresses change at startup and at relay-reservation time, not per commit, and a
|
|
326
|
+
* momentarily-stale record lands on paths that already handle it — a missing address reads
|
|
327
|
+
* as `addressless` and a departed one fails the dial, and the caller retries or excludes in
|
|
328
|
+
* either case. Revisit if address churn ever becomes routine (frequent relay rotation, a
|
|
329
|
+
* mobile node changing networks under load), or if a stale published address ever shows up
|
|
330
|
+
* as a dial failure nobody can explain — this memo is the first thing to suspect.
|
|
331
|
+
*/
|
|
332
|
+
private selfMultiaddrsCache: string[] | undefined;
|
|
333
|
+
|
|
334
|
+
private setupSelfAddressTracking(): void {
|
|
335
|
+
this.libp2p.addEventListener('self:peer:update', () => {
|
|
336
|
+
this.selfMultiaddrsCache = undefined;
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/** {@link selfMultiaddrsCache}, populated on first use. */
|
|
341
|
+
private getSelfMultiaddrs(): string[] {
|
|
342
|
+
this.selfMultiaddrsCache ??= this.libp2p.getMultiaddrs().map(ma => ma.toString());
|
|
343
|
+
return this.selfMultiaddrsCache.slice();
|
|
344
|
+
}
|
|
345
|
+
|
|
303
346
|
/**
|
|
304
347
|
* Update network high water mark and last connected time.
|
|
305
348
|
* Called on new connections.
|
|
@@ -1024,7 +1067,7 @@ export class Libp2pKeyPeerNetwork implements IKeyNetwork, IPeerNetwork {
|
|
|
1024
1067
|
for (const idStr of ids) {
|
|
1025
1068
|
if (idStr === selfId) {
|
|
1026
1069
|
const raw = this.libp2p.peerId.publicKey?.raw ?? new Uint8Array()
|
|
1027
|
-
peers[idStr] = { multiaddrs: this.
|
|
1070
|
+
peers[idStr] = { multiaddrs: this.getSelfMultiaddrs(), publicKey: u8ToString(raw, 'base64url') }
|
|
1028
1071
|
continue
|
|
1029
1072
|
}
|
|
1030
1073
|
const connectedStrings = connectedByPeer[idStr] ?? []
|