libp2p 0.44.0-ba47c957 → 0.44.0-e3deaa40

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.
Files changed (112) hide show
  1. package/dist/index.min.js +23 -23
  2. package/dist/src/autonat/index.d.ts.map +1 -1
  3. package/dist/src/autonat/index.js +15 -13
  4. package/dist/src/autonat/index.js.map +1 -1
  5. package/dist/src/components.d.ts +2 -66
  6. package/dist/src/components.d.ts.map +1 -1
  7. package/dist/src/components.js +60 -174
  8. package/dist/src/components.js.map +1 -1
  9. package/dist/src/config/connection-gater.browser.d.ts +8 -0
  10. package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
  11. package/dist/src/config/connection-gater.browser.js +27 -0
  12. package/dist/src/config/connection-gater.browser.js.map +1 -0
  13. package/dist/src/config/connection-gater.d.ts +6 -0
  14. package/dist/src/config/connection-gater.d.ts.map +1 -0
  15. package/dist/src/config/connection-gater.js +18 -0
  16. package/dist/src/config/connection-gater.js.map +1 -0
  17. package/dist/src/config.d.ts +2 -1
  18. package/dist/src/config.d.ts.map +1 -1
  19. package/dist/src/config.js +16 -23
  20. package/dist/src/config.js.map +1 -1
  21. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  22. package/dist/src/connection-manager/auto-dial.js +7 -2
  23. package/dist/src/connection-manager/auto-dial.js.map +1 -1
  24. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  25. package/dist/src/connection-manager/dial-queue.js +8 -10
  26. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  27. package/dist/src/connection-manager/index.d.ts.map +1 -1
  28. package/dist/src/connection-manager/index.js +3 -0
  29. package/dist/src/connection-manager/index.js.map +1 -1
  30. package/dist/src/content-routing/index.d.ts +0 -10
  31. package/dist/src/content-routing/index.d.ts.map +1 -1
  32. package/dist/src/content-routing/index.js +6 -41
  33. package/dist/src/content-routing/index.js.map +1 -1
  34. package/dist/src/fetch/index.d.ts +13 -35
  35. package/dist/src/fetch/index.d.ts.map +1 -1
  36. package/dist/src/fetch/index.js +7 -9
  37. package/dist/src/fetch/index.js.map +1 -1
  38. package/dist/src/identify/index.d.ts +13 -49
  39. package/dist/src/identify/index.d.ts.map +1 -1
  40. package/dist/src/identify/index.js +122 -96
  41. package/dist/src/identify/index.js.map +1 -1
  42. package/dist/src/index.d.ts +11 -45
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/libp2p.d.ts +10 -35
  46. package/dist/src/libp2p.d.ts.map +1 -1
  47. package/dist/src/libp2p.js +110 -171
  48. package/dist/src/libp2p.js.map +1 -1
  49. package/dist/src/peer-routing.d.ts.map +1 -1
  50. package/dist/src/peer-routing.js +7 -6
  51. package/dist/src/peer-routing.js.map +1 -1
  52. package/dist/src/ping/constants.d.ts +4 -0
  53. package/dist/src/ping/constants.d.ts.map +1 -1
  54. package/dist/src/ping/constants.js +10 -0
  55. package/dist/src/ping/constants.js.map +1 -1
  56. package/dist/src/ping/index.d.ts +10 -27
  57. package/dist/src/ping/index.d.ts.map +1 -1
  58. package/dist/src/ping/index.js +18 -21
  59. package/dist/src/ping/index.js.map +1 -1
  60. package/dist/src/registrar.js +2 -2
  61. package/dist/src/registrar.js.map +1 -1
  62. package/dist/src/transport-manager.d.ts +2 -1
  63. package/dist/src/transport-manager.d.ts.map +1 -1
  64. package/dist/src/transport-manager.js +4 -2
  65. package/dist/src/transport-manager.js.map +1 -1
  66. package/dist/src/upgrader.d.ts.map +1 -1
  67. package/dist/src/upgrader.js +7 -14
  68. package/dist/src/upgrader.js.map +1 -1
  69. package/dist/src/upnp-nat/index.d.ts +42 -0
  70. package/dist/src/upnp-nat/index.d.ts.map +1 -0
  71. package/dist/src/{nat-manager.js → upnp-nat/index.js} +11 -7
  72. package/dist/src/upnp-nat/index.js.map +1 -0
  73. package/package.json +32 -17
  74. package/src/autonat/index.ts +14 -13
  75. package/src/components.ts +67 -248
  76. package/src/config/connection-gater.browser.ts +31 -0
  77. package/src/config/connection-gater.ts +19 -0
  78. package/src/config.ts +8 -14
  79. package/src/connection-manager/auto-dial.ts +8 -2
  80. package/src/connection-manager/dial-queue.ts +10 -16
  81. package/src/connection-manager/index.ts +4 -0
  82. package/src/content-routing/index.ts +6 -54
  83. package/src/fetch/index.ts +51 -14
  84. package/src/identify/index.ts +154 -104
  85. package/src/index.ts +12 -52
  86. package/src/libp2p.ts +102 -214
  87. package/src/peer-routing.ts +10 -8
  88. package/src/ping/constants.ts +11 -0
  89. package/src/ping/index.ts +32 -28
  90. package/src/registrar.ts +2 -2
  91. package/src/transport-manager.ts +5 -3
  92. package/src/upgrader.ts +7 -13
  93. package/src/{nat-manager.ts → upnp-nat/index.ts} +15 -16
  94. package/src/version.ts +1 -1
  95. package/dist/src/dht/dht-content-routing.d.ts +0 -17
  96. package/dist/src/dht/dht-content-routing.d.ts.map +0 -1
  97. package/dist/src/dht/dht-content-routing.js +0 -32
  98. package/dist/src/dht/dht-content-routing.js.map +0 -1
  99. package/dist/src/dht/dht-peer-routing.d.ts +0 -15
  100. package/dist/src/dht/dht-peer-routing.d.ts.map +0 -1
  101. package/dist/src/dht/dht-peer-routing.js +0 -26
  102. package/dist/src/dht/dht-peer-routing.js.map +0 -1
  103. package/dist/src/dht/dummy-dht.d.ts +0 -20
  104. package/dist/src/dht/dummy-dht.d.ts.map +0 -1
  105. package/dist/src/dht/dummy-dht.js +0 -46
  106. package/dist/src/dht/dummy-dht.js.map +0 -1
  107. package/dist/src/nat-manager.d.ts +0 -74
  108. package/dist/src/nat-manager.d.ts.map +0 -1
  109. package/dist/src/nat-manager.js.map +0 -1
  110. package/src/dht/dht-content-routing.ts +0 -44
  111. package/src/dht/dht-peer-routing.ts +0 -36
  112. package/src/dht/dummy-dht.ts +0 -60
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/autonat/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAgC7D,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,oBAAoB,CAAC,CAA+B;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,kBAAkB;IAU3E,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAoBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,2BAA2B,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4O3E,wBAAwB,IAAK,IAAI;IAOjC;;OAEG;IACG,uBAAuB,IAAK,OAAO,CAAC,IAAI,CAAC;CAwLhD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/autonat/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAgC7D,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,WAAW,EAAE,WAAW,CAAA;CACzB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0B;IACrD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,oBAAoB,CAAC,CAA+B;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,kBAAkB;IAU3E,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAoBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACG,2BAA2B,CAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8O3E,wBAAwB,IAAK,IAAI;IAOjC;;OAEG;IACG,uBAAuB,IAAK,OAAO,CAAC,IAAI,CAAC;CAuLhD"}
@@ -10,9 +10,9 @@ import map from 'it-map';
10
10
  import parallel from 'it-parallel';
11
11
  import { pipe } from 'it-pipe';
12
12
  import isPrivateIp from 'private-ip';
13
- import { TimeoutController } from 'timeout-abort-controller';
14
13
  import { PROTOCOL } from './constants.js';
15
14
  import { Message } from './pb/index.js';
15
+ import { anySignal } from 'any-signal';
16
16
  const log = logger('libp2p:autonat');
17
17
  // if more than 3 peers manage to dial us on what we believe to be our external
18
18
  // IP then we are convinced that it is, in fact, our external IP
@@ -59,18 +59,18 @@ export class AutonatService {
59
59
  * Handle an incoming autonat request
60
60
  */
61
61
  async handleIncomingAutonatStream(data) {
62
- const controller = new TimeoutController(this._init.timeout);
62
+ const signal = anySignal([AbortSignal.timeout(this._init.timeout)]);
63
63
  // this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
64
64
  // appearing in the console
65
65
  try {
66
66
  // fails on node < 15.4
67
- setMaxListeners?.(Infinity, controller.signal);
67
+ setMaxListeners?.(Infinity, signal);
68
68
  }
69
69
  catch { }
70
70
  const ourHosts = this.components.addressManager.getAddresses()
71
71
  .map(ma => ma.toOptions().host);
72
72
  try {
73
- const source = abortableDuplex(data.stream, controller.signal);
73
+ const source = abortableDuplex(data.stream, signal);
74
74
  const self = this;
75
75
  await pipe(source, (source) => lp.decode(source), async function* (stream) {
76
76
  const buf = await first(stream);
@@ -208,7 +208,7 @@ export class AutonatService {
208
208
  lastMultiaddr = multiaddr;
209
209
  try {
210
210
  connection = await self.components.connectionManager.openConnection(multiaddr, {
211
- signal: controller.signal
211
+ signal
212
212
  });
213
213
  if (!connection.remoteAddr.equals(multiaddr)) {
214
214
  log.error('Tried to dial %s but dialed %s', multiaddr, connection.remoteAddr);
@@ -247,8 +247,11 @@ export class AutonatService {
247
247
  // can't tell the remote when a dial timed out..
248
248
  data.stream);
249
249
  }
250
+ catch (err) {
251
+ log.error(err);
252
+ }
250
253
  finally {
251
- controller.clear();
254
+ signal.clear();
252
255
  }
253
256
  }
254
257
  _verifyExternalAddresses() {
@@ -277,12 +280,12 @@ export class AutonatService {
277
280
  this.verifyAddressTimeout = setTimeout(this._verifyExternalAddresses, this.refreshInterval);
278
281
  return;
279
282
  }
280
- const controller = new TimeoutController(this._init.timeout);
283
+ const signal = AbortSignal.timeout(this._init.timeout);
281
284
  // this controller may be used while dialing lots of peers so prevent MaxListenersExceededWarning
282
285
  // appearing in the console
283
286
  try {
284
287
  // fails on node < 15.4
285
- setMaxListeners?.(Infinity, controller.signal);
288
+ setMaxListeners?.(Infinity, signal);
286
289
  }
287
290
  catch { }
288
291
  const self = this;
@@ -306,12 +309,12 @@ export class AutonatService {
306
309
  try {
307
310
  log('Asking %p to verify multiaddr', peer.id);
308
311
  const connection = await self.components.connectionManager.openConnection(peer.id, {
309
- signal: controller.signal
312
+ signal
310
313
  });
311
314
  const stream = await connection.newStream(PROTOCOL, {
312
- signal: controller.signal
315
+ signal
313
316
  });
314
- const source = abortableDuplex(stream, controller.signal);
317
+ const source = abortableDuplex(stream, signal);
315
318
  const buf = await pipe([request], (source) => lp.encode(source), source, (source) => lp.decode(source), async (stream) => await first(stream));
316
319
  if (buf == null) {
317
320
  log('No response received from %s', connection.remotePeer);
@@ -351,7 +354,7 @@ export class AutonatService {
351
354
  }
352
355
  }
353
356
  for await (const dialResponse of parallel(map(this.components.peerRouting.getClosestPeers(randomCid, {
354
- signal: controller.signal
357
+ signal
355
358
  }), (peer) => async () => await verifyAddress(peer)), {
356
359
  concurrency: REQUIRED_SUCCESSFUL_DIALS
357
360
  })) {
@@ -407,7 +410,6 @@ export class AutonatService {
407
410
  }
408
411
  }
409
412
  finally {
410
- controller.clear();
411
413
  this.verifyAddressTimeout = setTimeout(this._verifyExternalAddresses, this.refreshInterval);
412
414
  }
413
415
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/autonat/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/autonat/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,WAAW,MAAM,YAAY,CAAA;AACpC,OAAO,EACL,QAAQ,EACT,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAEpC,+EAA+E;AAC/E,gEAAgE;AAChE,iFAAiF;AACjF,MAAM,yBAAyB,GAAG,CAAC,CAAA;AAEnC,wDAAwD;AACxD,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAElC,qDAAqD;AACrD,MAAM,wBAAwB,GAAG,KAAK,CAAA;AA2CtC,MAAM,OAAO,cAAc;IAQzB,YAAa,UAAoC,EAAE,IAAwB;QACzE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAA;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,wBAAwB,CAAA;QAEvE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1E,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACxD,KAAK,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;iBACxC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACN,CAAC,EAAE;YACD,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;YAC/C,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;SAClD,CAAC,CAAA;QAEF,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAExF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAClD,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAEvC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,2BAA2B,CAAE,IAAwB;QACzD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAEnE,iGAAiG;QACjG,2BAA2B;QAC3B,IAAI;YACF,uBAAuB;YACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;SACpC;QAAC,MAAM,GAAE;QAEV,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE;aAC3D,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAA;QAEjC,IAAI;YACF,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnD,MAAM,IAAI,GAAG,IAAI,CAAA;YAEjB,MAAM,IAAI,CACR,MAAM,EACN,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,KAAK,SAAU,CAAC,EAAE,MAAM;gBACtB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;gBAE/B,IAAI,GAAG,IAAI,IAAI,EAAE;oBACf,GAAG,CAAC,qBAAqB,CAAC,CAAA;oBAC1B,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,qBAAqB;yBAClC;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,IAAI,OAAgB,CAAA;gBAEpB,IAAI;oBACF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;iBAC9B;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;oBAE1C,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,0BAA0B;yBACvC;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAA;gBAEhC,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;oBAE1C,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,kCAAkC;yBAC/C;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,IAAI,MAAc,CAAA;gBAClB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;gBAE7B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACnC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;oBAExC,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,mBAAmB;yBAChC;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,IAAI;oBACF,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;iBAClC;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;oBAEhC,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,aAAa;yBAC1B;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAA;gBAEvC,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAC9C,GAAG,CAAC,8CAA8C,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;oBAEvF,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,aAAa;4BAC5C,UAAU,EAAE,kBAAkB;yBAC/B;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,mCAAmC;gBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK;qBAC1B,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;qBAC1B,MAAM,CAAC,EAAE,CAAC,EAAE;oBACX,MAAM,cAAc,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,CAAA;oBAE1F,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;oBAChH,sFAAsF;oBACtF,OAAO,cAAc,CAAA;gBACvB,CAAC,CAAC;qBACD,MAAM,CAAC,EAAE,CAAC,EAAE;oBACX,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAA;oBAChC,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAA;oBAEhD,GAAG,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;oBACpD,sCAAsC;oBACtC,OAAO,UAAU,CAAA;gBACnB,CAAC,CAAC;qBACD,MAAM,CAAC,EAAE,CAAC,EAAE;oBACX,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,CAAA;oBAChC,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBAE7C,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;oBAC5D,iDAAiD;oBACjD,OAAO,YAAY,CAAA;gBACrB,CAAC,CAAC;qBACD,MAAM,CAAC,EAAE,CAAC,EAAE;oBACX,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAA;oBAEhG,GAAG,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;oBACvE,6DAA6D;oBAC7D,OAAO,oBAAoB,CAAA;gBAC7B,CAAC,CAAC;qBACD,GAAG,CAAC,EAAE,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE;wBAC1B,wDAAwD;wBACxD,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;qBACjD;oBAED,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC,CAAA;gBAEJ,sCAAsC;gBACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3B,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,CAAA;oBAEpD,MAAM,OAAO,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;wBACvC,YAAY,EAAE;4BACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,cAAc;4BAC7C,UAAU,EAAE,uBAAuB;yBACpC;qBACF,CAAC,CAAA;oBAEF,OAAM;iBACP;gBAED,GAAG,CAAC,gCAAgC,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAA;gBAE7F,IAAI,YAAY,GAAG,EAAE,CAAA;gBACrB,IAAI,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;gBAEjC,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,UAAU,EAAE;oBACxC,IAAI,UAAkC,CAAA;oBACtC,aAAa,GAAG,SAAS,CAAA;oBAEzB,IAAI;wBACF,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,EAAE;4BAC7E,MAAM;yBACP,CAAC,CAAA;wBAEF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;4BAC5C,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;4BAC7E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;yBAC7C;wBAED,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;wBAEzB,MAAM,OAAO,CAAC,MAAM,CAAC;4BACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;4BACvC,YAAY,EAAE;gCACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE;gCACjC,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK;6BACzE;yBACF,CAAC,CAAA;wBAEF,OAAM;qBACP;oBAAC,OAAO,GAAQ,EAAE;wBACjB,GAAG,CAAC,mBAAmB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;wBACrC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAA;qBAC3B;4BAAS;wBACR,IAAI,UAAU,IAAI,IAAI,EAAE;4BACtB,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;yBACzB;qBACF;iBACF;gBAED,MAAM,OAAO,CAAC,MAAM,CAAC;oBACnB,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,aAAa;oBACvC,YAAY,EAAE;wBACZ,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY;wBAC3C,UAAU,EAAE,YAAY;wBACxB,IAAI,EAAE,aAAa,CAAC,KAAK;qBAC1B;iBACF,CAAC,CAAA;YACJ,CAAC,EACD,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,6DAA6D;YAC7D,gDAAgD;YAChD,IAAI,CAAC,MAAM,CACZ,CAAA;SACF;QAAC,OAAO,GAAG,EAAE;YACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACf;gBAAS;YACR,MAAM,CAAC,KAAK,EAAE,CAAA;SACf;IACH,CAAC;IAED,wBAAwB;QACtB,KAAK,IAAI,CAAC,uBAAuB,EAAE;aAChC,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC,CAAC,CAAA;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;QAEvC,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAM;SACP;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAA;QAErD,MAAM,UAAU,GAAG,cAAc,CAAC,gBAAgB,EAAE;aACjD,MAAM,CAAC,EAAE,CAAC,EAAE;YACX,MAAM,OAAO,GAAG,EAAE,CAAC,SAAS,EAAE,CAAA;YAE9B,OAAO,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3B,GAAG,CAAC,wDAAwD,CAAC,CAAA;YAC7D,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;YAE3F,OAAM;SACP;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEtD,iGAAiG;QACjG,2BAA2B;QAC3B,IAAI;YACF,uBAAuB;YACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;SACpC;QAAC,MAAM,GAAE;QAEV,MAAM,IAAI,GAAG,IAAI,CAAA;QAEjB,IAAI;YACF,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAE3E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC7B,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;gBAC9B,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE;wBACpC,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;qBACxC;iBACF;aACF,CAAC,CAAA;YACF,yBAAyB;YACzB,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAA;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,CAAA;YAEtC,MAAM,OAAO,GAAyD,EAAE,CAAA;YACxE,MAAM,eAAe,GAAa,EAAE,CAAA;YAEpC,KAAK,UAAU,aAAa,CAAE,IAAc;gBAC1C,IAAI;oBACF,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;oBAE7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE;wBACjF,MAAM;qBACP,CAAC,CAAA;oBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE;wBAClD,MAAM;qBACP,CAAC,CAAA;oBACF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;oBAE9C,MAAM,GAAG,GAAG,MAAM,IAAI,CACpB,CAAC,OAAO,CAAC,EACT,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,MAAM,EACN,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CACtC,CAAA;oBACD,IAAI,GAAG,IAAI,IAAI,EAAE;wBACf,GAAG,CAAC,8BAA8B,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;wBAC1D,OAAO,SAAS,CAAA;qBACjB;oBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBAEpC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,IAAI,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE;wBACxF,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;wBAC9D,OAAO,SAAS,CAAA;qBACjB;oBAED,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE;wBAC9D,8CAA8C;wBAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAA;wBACjD,IAAI,OAAe,CAAA;wBAEnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;4BACxB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BACtC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;yBACpB;6BAAM,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;4BACtC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;yBACpB;6BAAM;4BACL,GAAG,CAAC,yCAAyC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;4BAC5D,OAAO,SAAS,CAAA;yBACjB;wBAED,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;4BACrC,GAAG,CAAC,oDAAoD,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;4BAChF,OAAO,SAAS,CAAA;yBACjB;wBAED,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qBAC9B;oBAED,OAAO,QAAQ,CAAC,YAAY,CAAA;iBAC7B;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACf;YACH,CAAC;YAED,IAAI,KAAK,EAAE,MAAM,YAAY,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE;gBACnG,MAAM;aACP,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpD,WAAW,EAAE,yBAAyB;aACvC,CAAC,EAAE;gBACF,IAAI;oBACF,IAAI,YAAY,IAAI,IAAI,EAAE;wBACxB,SAAQ;qBACT;oBAED,yFAAyF;oBACzF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;oBAErF,GAAG,CAAC,+BAA+B,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;oBAE/D,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE;wBAChE,yCAAyC;wBACzC,SAAQ;qBACT;oBAED,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE;wBACjE,0CAA0C;wBAC1C,SAAQ;qBACT;oBAED,IAAI,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;wBACtD,0FAA0F;wBAC1F,SAAQ;qBACT;oBAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC3C,GAAG,CAAC,oEAAoE,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;wBACpG,SAAQ;qBACT;oBAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;oBAE/B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE;wBAC5B,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;qBAC9C;oBAED,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE;wBACrD,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;qBAC3B;yBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE;wBACtE,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;qBAC3B;oBAED,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,yBAAyB,EAAE;wBAC1D,uBAAuB;wBACvB,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAA;wBACtC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;wBACxC,OAAM;qBACP;oBAED,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,yBAAyB,EAAE;wBAC1D,yBAAyB;wBACzB,GAAG,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAA;wBAC1C,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;wBACvC,OAAM;qBACP;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAA;iBACpD;aACF;SACF;gBAAS;YACR,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;SAC5F;IACH,CAAC;CACF"}
@@ -9,13 +9,11 @@ import type { PeerStore } from '@libp2p/interface-peer-store';
9
9
  import type { Registrar } from '@libp2p/interface-registrar';
10
10
  import type { TransportManager, Upgrader } from '@libp2p/interface-transport';
11
11
  import type { Datastore } from 'interface-datastore';
12
- import type { PubSub } from '@libp2p/interface-pubsub';
13
- import type { DualDHT } from '@libp2p/interface-dht';
14
12
  import type { ConnectionManager } from '@libp2p/interface-connection-manager';
15
13
  import type { ConnectionGater } from '@libp2p/interface-connection-gater';
16
14
  import type { Libp2pEvents } from '@libp2p/interface-libp2p';
17
15
  import type { EventEmitter } from '@libp2p/interfaces/events';
18
- export interface Components {
16
+ export interface Components extends Record<string, any>, Startable {
19
17
  peerId: PeerId;
20
18
  events: EventEmitter<Libp2pEvents>;
21
19
  addressManager: AddressManager;
@@ -30,8 +28,6 @@ export interface Components {
30
28
  datastore: Datastore;
31
29
  connectionProtector?: ConnectionProtector;
32
30
  metrics?: Metrics;
33
- dht?: DualDHT;
34
- pubsub?: PubSub;
35
31
  }
36
32
  export interface ComponentsInit {
37
33
  peerId?: PeerId;
@@ -48,66 +44,6 @@ export interface ComponentsInit {
48
44
  peerRouting?: PeerRouting;
49
45
  datastore?: Datastore;
50
46
  connectionProtector?: ConnectionProtector;
51
- dht?: DualDHT;
52
- pubsub?: PubSub;
53
- }
54
- export declare class DefaultComponents implements Components, Startable {
55
- private _peerId?;
56
- private _events?;
57
- private _addressManager?;
58
- private _peerStore?;
59
- private _upgrader?;
60
- private _metrics?;
61
- private _registrar?;
62
- private _connectionManager?;
63
- private _transportManager?;
64
- private _connectionGater?;
65
- private _contentRouting?;
66
- private _peerRouting?;
67
- private _datastore?;
68
- private _connectionProtector?;
69
- private _dht?;
70
- private _pubsub?;
71
- private _started;
72
- constructor(init?: ComponentsInit);
73
- isStarted(): boolean;
74
- beforeStart(): Promise<void>;
75
- start(): Promise<void>;
76
- afterStart(): Promise<void>;
77
- beforeStop(): Promise<void>;
78
- stop(): Promise<void>;
79
- afterStop(): Promise<void>;
80
- get peerId(): PeerId;
81
- set peerId(peerId: PeerId);
82
- get events(): EventEmitter<Libp2pEvents>;
83
- set events(events: EventEmitter<Libp2pEvents>);
84
- get addressManager(): AddressManager;
85
- set addressManager(addressManager: AddressManager);
86
- get peerStore(): PeerStore;
87
- set peerStore(peerStore: PeerStore);
88
- get upgrader(): Upgrader;
89
- set upgrader(upgrader: Upgrader);
90
- get registrar(): Registrar;
91
- set registrar(registrar: Registrar);
92
- get connectionManager(): ConnectionManager;
93
- set connectionManager(connectionManager: ConnectionManager);
94
- get transportManager(): TransportManager;
95
- set transportManager(transportManager: TransportManager);
96
- get connectionGater(): ConnectionGater;
97
- set connectionGater(connectionGater: ConnectionGater);
98
- get contentRouting(): ContentRouting;
99
- set contentRouting(contentRouting: ContentRouting);
100
- get peerRouting(): PeerRouting;
101
- set peerRouting(peerRouting: PeerRouting);
102
- get datastore(): Datastore;
103
- set datastore(datastore: Datastore);
104
- get connectionProtector(): ConnectionProtector | undefined;
105
- set connectionProtector(connectionProtector: ConnectionProtector | undefined);
106
- get metrics(): Metrics | undefined;
107
- set metrics(metrics: Metrics | undefined);
108
- get dht(): DualDHT | undefined;
109
- set dht(dht: DualDHT | undefined);
110
- get pubsub(): PubSub | undefined;
111
- set pubsub(pubsub: PubSub | undefined);
112
47
  }
48
+ export declare function defaultComponents(init?: ComponentsInit): Components;
113
49
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAe,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAE7D,MAAM,WAAW,UAAW,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS;IAChE,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IAClC,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;CAC1C;AAyED,wBAAgB,iBAAiB,CAAE,IAAI,GAAE,cAAmB,GAAG,UAAU,CA+BxE"}
@@ -1,199 +1,85 @@
1
1
  import { CodeError } from '@libp2p/interfaces/errors';
2
2
  import { isStartable } from '@libp2p/interfaces/startable';
3
- export class DefaultComponents {
3
+ class DefaultComponents {
4
4
  constructor(init = {}) {
5
+ this.components = {};
5
6
  this._started = false;
6
- this._peerId = init.peerId;
7
- this._events = init.events;
8
- this._addressManager = init.addressManager;
9
- this._peerStore = init.peerStore;
10
- this._upgrader = init.upgrader;
11
- this._metrics = init.metrics;
12
- this._registrar = init.registrar;
13
- this._connectionManager = init.connectionManager;
14
- this._transportManager = init.transportManager;
15
- this._connectionGater = init.connectionGater;
16
- this._contentRouting = init.contentRouting;
17
- this._peerRouting = init.peerRouting;
18
- this._datastore = init.datastore;
19
- this._connectionProtector = init.connectionProtector;
20
- this._dht = init.dht;
21
- this._pubsub = init.pubsub;
7
+ this.components = {};
8
+ for (const [key, value] of Object.entries(init)) {
9
+ this.components[key] = value;
10
+ }
22
11
  }
23
12
  isStarted() {
24
13
  return this._started;
25
14
  }
26
- async beforeStart() {
27
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
28
- if (startable.beforeStart != null) {
29
- await startable.beforeStart();
30
- }
15
+ async _invokeStartableMethod(methodName) {
16
+ await Promise.all(Object.values(this.components)
17
+ .filter(obj => isStartable(obj))
18
+ .map(async (startable) => {
19
+ await startable[methodName]?.();
31
20
  }));
32
21
  }
22
+ async beforeStart() {
23
+ await this._invokeStartableMethod('beforeStart');
24
+ }
33
25
  async start() {
34
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
35
- await startable.start();
36
- }));
26
+ await this._invokeStartableMethod('start');
37
27
  this._started = true;
38
28
  }
39
29
  async afterStart() {
40
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
41
- if (startable.afterStart != null) {
42
- await startable.afterStart();
43
- }
44
- }));
30
+ await this._invokeStartableMethod('afterStart');
45
31
  }
46
32
  async beforeStop() {
47
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
48
- if (startable.beforeStop != null) {
49
- await startable.beforeStop();
50
- }
51
- }));
33
+ await this._invokeStartableMethod('beforeStop');
52
34
  }
53
35
  async stop() {
54
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
55
- await startable.stop();
56
- }));
36
+ await this._invokeStartableMethod('stop');
57
37
  this._started = false;
58
38
  }
59
39
  async afterStop() {
60
- await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
61
- if (startable.afterStop != null) {
62
- await startable.afterStop();
63
- }
64
- }));
65
- }
66
- get peerId() {
67
- if (this._peerId == null) {
68
- throw new CodeError('peerId not set', 'ERR_SERVICE_MISSING');
69
- }
70
- return this._peerId;
71
- }
72
- set peerId(peerId) {
73
- this._peerId = peerId;
74
- }
75
- get events() {
76
- if (this._events == null) {
77
- throw new CodeError('events not set', 'ERR_SERVICE_MISSING');
78
- }
79
- return this._events;
80
- }
81
- set events(events) {
82
- this._events = events;
83
- }
84
- get addressManager() {
85
- if (this._addressManager == null) {
86
- throw new CodeError('addressManager not set', 'ERR_SERVICE_MISSING');
87
- }
88
- return this._addressManager;
89
- }
90
- set addressManager(addressManager) {
91
- this._addressManager = addressManager;
92
- }
93
- get peerStore() {
94
- if (this._peerStore == null) {
95
- throw new CodeError('peerStore not set', 'ERR_SERVICE_MISSING');
96
- }
97
- return this._peerStore;
98
- }
99
- set peerStore(peerStore) {
100
- this._peerStore = peerStore;
101
- }
102
- get upgrader() {
103
- if (this._upgrader == null) {
104
- throw new CodeError('upgrader not set', 'ERR_SERVICE_MISSING');
105
- }
106
- return this._upgrader;
107
- }
108
- set upgrader(upgrader) {
109
- this._upgrader = upgrader;
110
- }
111
- get registrar() {
112
- if (this._registrar == null) {
113
- throw new CodeError('registrar not set', 'ERR_SERVICE_MISSING');
114
- }
115
- return this._registrar;
40
+ await this._invokeStartableMethod('afterStop');
116
41
  }
117
- set registrar(registrar) {
118
- this._registrar = registrar;
119
- }
120
- get connectionManager() {
121
- if (this._connectionManager == null) {
122
- throw new CodeError('connectionManager not set', 'ERR_SERVICE_MISSING');
123
- }
124
- return this._connectionManager;
125
- }
126
- set connectionManager(connectionManager) {
127
- this._connectionManager = connectionManager;
128
- }
129
- get transportManager() {
130
- if (this._transportManager == null) {
131
- throw new CodeError('transportManager not set', 'ERR_SERVICE_MISSING');
132
- }
133
- return this._transportManager;
134
- }
135
- set transportManager(transportManager) {
136
- this._transportManager = transportManager;
137
- }
138
- get connectionGater() {
139
- if (this._connectionGater == null) {
140
- throw new CodeError('connectionGater not set', 'ERR_SERVICE_MISSING');
141
- }
142
- return this._connectionGater;
143
- }
144
- set connectionGater(connectionGater) {
145
- this._connectionGater = connectionGater;
146
- }
147
- get contentRouting() {
148
- if (this._contentRouting == null) {
149
- throw new CodeError('contentRouting not set', 'ERR_SERVICE_MISSING');
150
- }
151
- return this._contentRouting;
152
- }
153
- set contentRouting(contentRouting) {
154
- this._contentRouting = contentRouting;
155
- }
156
- get peerRouting() {
157
- if (this._peerRouting == null) {
158
- throw new CodeError('peerRouting not set', 'ERR_SERVICE_MISSING');
159
- }
160
- return this._peerRouting;
161
- }
162
- set peerRouting(peerRouting) {
163
- this._peerRouting = peerRouting;
164
- }
165
- get datastore() {
166
- if (this._datastore == null) {
167
- throw new CodeError('datastore not set', 'ERR_SERVICE_MISSING');
42
+ }
43
+ const OPTIONAL_SERVICES = [
44
+ 'metrics',
45
+ 'connectionProtector'
46
+ ];
47
+ const NON_SERVICE_PROPERTIES = [
48
+ 'components',
49
+ 'isStarted',
50
+ 'beforeStart',
51
+ 'start',
52
+ 'afterStart',
53
+ 'beforeStop',
54
+ 'stop',
55
+ 'afterStop',
56
+ 'then',
57
+ '_invokeStartableMethod'
58
+ ];
59
+ export function defaultComponents(init = {}) {
60
+ const components = new DefaultComponents(init);
61
+ const proxy = new Proxy(components, {
62
+ get(target, prop, receiver) {
63
+ if (typeof prop === 'string' && !NON_SERVICE_PROPERTIES.includes(prop)) {
64
+ const service = components.components[prop];
65
+ if (service == null && !OPTIONAL_SERVICES.includes(prop)) {
66
+ throw new CodeError(`${prop} not set`, 'ERR_SERVICE_MISSING');
67
+ }
68
+ return service;
69
+ }
70
+ return Reflect.get(target, prop, receiver);
71
+ },
72
+ set(target, prop, value) {
73
+ if (typeof prop === 'string') {
74
+ components.components[prop] = value;
75
+ }
76
+ else {
77
+ Reflect.set(target, prop, value);
78
+ }
79
+ return true;
168
80
  }
169
- return this._datastore;
170
- }
171
- set datastore(datastore) {
172
- this._datastore = datastore;
173
- }
174
- get connectionProtector() {
175
- return this._connectionProtector;
176
- }
177
- set connectionProtector(connectionProtector) {
178
- this._connectionProtector = connectionProtector;
179
- }
180
- get metrics() {
181
- return this._metrics;
182
- }
183
- set metrics(metrics) {
184
- this._metrics = metrics;
185
- }
186
- get dht() {
187
- return this._dht;
188
- }
189
- set dht(dht) {
190
- this._dht = dht;
191
- }
192
- get pubsub() {
193
- return this._pubsub;
194
- }
195
- set pubsub(pubsub) {
196
- this._pubsub = pubsub;
197
- }
81
+ });
82
+ // @ts-expect-error component keys are proxied
83
+ return proxy;
198
84
  }
199
85
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ConnectionGater } from '@libp2p/interface-connection-gater';
2
+ /**
3
+ * Returns a connection gater that disallows dialling private addresses by
4
+ * default. Browsers are severely limited in their resource usage so don't
5
+ * waste time trying to dial undiallable addresses.
6
+ */
7
+ export declare function connectionGater(gater?: ConnectionGater): ConnectionGater;
8
+ //# sourceMappingURL=connection-gater.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.browser.d.ts","sourceRoot":"","sources":["../../../src/config/connection-gater.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAIzE;;;;GAIG;AACH,wBAAgB,eAAe,CAAE,KAAK,GAAE,eAAoB,GAAG,eAAe,CAqB7E"}
@@ -0,0 +1,27 @@
1
+ import isPrivate from 'private-ip';
2
+ /**
3
+ * Returns a connection gater that disallows dialling private addresses by
4
+ * default. Browsers are severely limited in their resource usage so don't
5
+ * waste time trying to dial undiallable addresses.
6
+ */
7
+ export function connectionGater(gater = {}) {
8
+ return {
9
+ denyDialPeer: async () => false,
10
+ denyDialMultiaddr: async (multiaddr) => {
11
+ const tuples = multiaddr.stringTuples();
12
+ if (tuples[0][0] === 4 || tuples[0][0] === 41) {
13
+ return Boolean(isPrivate(`${tuples[0][1]}`));
14
+ }
15
+ return false;
16
+ },
17
+ denyInboundConnection: async () => false,
18
+ denyOutboundConnection: async () => false,
19
+ denyInboundEncryptedConnection: async () => false,
20
+ denyOutboundEncryptedConnection: async () => false,
21
+ denyInboundUpgradedConnection: async () => false,
22
+ denyOutboundUpgradedConnection: async () => false,
23
+ filterMultiaddrForPeer: async () => true,
24
+ ...gater
25
+ };
26
+ }
27
+ //# sourceMappingURL=connection-gater.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.browser.js","sourceRoot":"","sources":["../../../src/config/connection-gater.browser.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAE,QAAyB,EAAE;IAC1D,OAAO;QACL,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QAC/B,iBAAiB,EAAE,KAAK,EAAE,SAAoB,EAAE,EAAE;YAChD,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,EAAE,CAAA;YAEvC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7C,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;aAC7C;YAED,OAAO,KAAK,CAAA;QACd,CAAC;QACD,qBAAqB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QACxC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QACzC,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QACjD,+BAA+B,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QAClD,6BAA6B,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QAChD,8BAA8B,EAAE,KAAK,IAAI,EAAE,CAAC,KAAK;QACjD,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACxC,GAAG,KAAK;KACT,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ConnectionGater } from '@libp2p/interface-connection-gater';
2
+ /**
3
+ * Returns a default connection gater implementation that allows everything
4
+ */
5
+ export declare function connectionGater(gater?: ConnectionGater): ConnectionGater;
6
+ //# sourceMappingURL=connection-gater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-gater.d.ts","sourceRoot":"","sources":["../../../src/config/connection-gater.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAEzE;;GAEG;AACH,wBAAgB,eAAe,CAAE,KAAK,GAAE,eAAoB,GAAG,eAAe,CAa7E"}