@ledgerhq/react-native-hw-transport-ble 6.33.4 → 6.34.0-next.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.
@@ -1,12 +1,13 @@
1
1
  /// <reference types="node" />
2
+ import type { Observer as TransportObserver, Subscription as TransportSubscription } from "@ledgerhq/hw-transport";
2
3
  import Transport from "@ledgerhq/hw-transport";
3
- import type { Subscription as TransportSubscription, Observer as TransportObserver } from "@ledgerhq/hw-transport";
4
- import { DeviceId, Device, Characteristic } from "react-native-ble-plx";
4
+ import { Characteristic, Device, DeviceId, Subscription } from "react-native-ble-plx";
5
5
  import type { DeviceModel } from "@ledgerhq/devices";
6
- import { TraceContext } from "@ledgerhq/logs";
6
+ import { LocalTracer, TraceContext } from "@ledgerhq/logs";
7
7
  import { Observable, Observer, SchedulerLike } from "rxjs";
8
8
  import { HwTransportError } from "@ledgerhq/errors";
9
9
  import { ReconnectionConfig } from "./types";
10
+ import { BlePlxManager } from "./BlePlxManager";
10
11
  export declare const setReconnectionConfig: (config: ReconnectionConfig | null | undefined) => void;
11
12
  /**
12
13
  * react-native bluetooth BLE implementation
@@ -23,14 +24,9 @@ export default class BleTransport extends Transport {
23
24
  *
24
25
  */
25
26
  static list: () => Promise<void[]>;
27
+ static setLogLevel: typeof BlePlxManager.setLogLevel;
26
28
  /**
27
- * Exposed method from the ble-plx library
28
- * Sets new log level for native module's logging mechanism.
29
- * @param string logLevel New log level to be set.
30
- */
31
- static setLogLevel: (logLevel: string) => void;
32
- /**
33
- * Listen to state changes on the bleManagerInstance and notify the
29
+ * Listen to state changes on the BlePlxManagerInstance and notify the
34
30
  * specified observer.
35
31
  * @param observer
36
32
  * @returns TransportSubscription
@@ -39,9 +35,11 @@ export default class BleTransport extends Transport {
39
35
  type: string;
40
36
  available: boolean;
41
37
  }>): TransportSubscription;
38
+ static safeRemove: (sub: Subscription, tracer: LocalTracer) => void;
42
39
  /**
43
40
  * Scan for bluetooth Ledger devices
44
41
  * @param observer Device is partial in order to avoid the live-common/this dep
42
+ * @param context
45
43
  * @returns TransportSubscription
46
44
  */
47
45
  static listen(observer: TransportObserver<any, HwTransportError>, context?: TraceContext): TransportSubscription;
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleTransport.d.ts","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
@@ -20,15 +20,15 @@ import Transport from "@ledgerhq/hw-transport";
20
20
  // See: https://github.com/LedgerHQ/ledger-live/pull/879
21
21
  import { sendAPDU } from "@ledgerhq/devices/lib/ble/sendAPDU";
22
22
  import { receiveAPDU } from "@ledgerhq/devices/lib/ble/receiveAPDU";
23
- import { BleManager, ConnectionPriority, BleErrorCode, LogLevel, } from "react-native-ble-plx";
23
+ import { BleErrorCode, ConnectionPriority, } from "react-native-ble-plx";
24
24
  import { DeviceModelId, getBluetoothServiceUuids, getInfosForServiceUuid, } from "@ledgerhq/devices";
25
- import { trace, LocalTracer } from "@ledgerhq/logs";
26
- import { defer, merge, from, of, throwError, firstValueFrom, TimeoutError, } from "rxjs";
27
- import { share, ignoreElements, first, map, tap, catchError, timeout, finalize, } from "rxjs/operators";
28
- import { CantOpenDevice, TransportError, DisconnectedDeviceDuringOperation, PairingFailed, PeerRemovedPairing, TransportExchangeTimeoutError, } from "@ledgerhq/errors";
25
+ import { LocalTracer, trace } from "@ledgerhq/logs";
26
+ import { defer, firstValueFrom, from, merge, of, throwError, TimeoutError, } from "rxjs";
27
+ import { catchError, finalize, first, ignoreElements, map, share, tap, timeout, } from "rxjs/operators";
28
+ import { CantOpenDevice, DisconnectedDeviceDuringOperation, PairingFailed, PeerRemovedPairing, TransportError, TransportExchangeTimeoutError, } from "@ledgerhq/errors";
29
29
  import { monitorCharacteristic } from "./monitorCharacteristic";
30
- import { awaitsBleOn } from "./awaitsBleOn";
31
- import { decoratePromiseErrors, remapError, mapBleErrorToHwTransportError, } from "./remapErrors";
30
+ import { decoratePromiseErrors, mapBleErrorToHwTransportError, remapError, } from "./remapErrors";
31
+ import { BlePlxManager } from "./BlePlxManager";
32
32
  const LOG_TYPE = "ble-verbose";
33
33
  /**
34
34
  * This is potentially not needed anymore, to be checked if the bug is still
@@ -70,20 +70,6 @@ let connectOptions = {
70
70
  // Priority 1 = high. TODO: Check firmware update over BLE PR before merging
71
71
  connectionPriority: 1,
72
72
  };
73
- /**
74
- * Returns the instance of the Bluetooth Low Energy Manager. It initializes it only
75
- * when it's first needed, preventing the permission prompt happening prematurely.
76
- * Important: Do NOT access the _bleManager variable directly.
77
- * Use this function instead.
78
- * @returns {BleManager} - The instance of the BleManager.
79
- */
80
- let _bleManager = null;
81
- const bleManagerInstance = () => {
82
- if (!_bleManager) {
83
- _bleManager = new BleManager();
84
- }
85
- return _bleManager;
86
- };
87
73
  const clearDisconnectTimeout = (deviceId, context) => {
88
74
  const cachedTransport = transportsCache[deviceId];
89
75
  if (cachedTransport && cachedTransport.disconnectTimeout) {
@@ -116,16 +102,15 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
116
102
  return transportsCache[deviceOrId];
117
103
  }
118
104
  tracer.trace(`Trying to open device: ${deviceOrId}`);
119
- yield awaitsBleOn(bleManagerInstance());
105
+ yield BlePlxManager.waitOn();
120
106
  // Returns a list of known devices by their identifiers
121
- const devices = yield bleManagerInstance().devices([deviceOrId]);
122
- tracer.trace(`Found ${devices.length} already known device(s) with given id`, { deviceOrId });
123
- [device] = devices;
107
+ device = yield BlePlxManager.getKnownDevice(deviceOrId);
124
108
  if (!device) {
109
+ tracer.trace(`Found already known device with given id`, { deviceOrId });
125
110
  // Returns a list of the peripherals currently connected to the system
126
111
  // which have discovered services, connected to system doesn't mean
127
112
  // connected to our app, we check that below.
128
- const connectedDevices = yield bleManagerInstance().connectedDevices(getBluetoothServiceUuids());
113
+ const connectedDevices = yield BlePlxManager.getConnectedDevices();
129
114
  const connectedDevicesFiltered = connectedDevices.filter(d => d.id === deviceOrId);
130
115
  tracer.trace(`No known device with given id. Found ${connectedDevicesFiltered.length} devices from already connected devices`, { deviceOrId });
131
116
  [device] = connectedDevicesFiltered;
@@ -138,14 +123,14 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
138
123
  });
139
124
  // Nb ConnectionOptions dropped since it's not used internally by ble-plx.
140
125
  try {
141
- device = yield bleManagerInstance().connectToDevice(deviceOrId, Object.assign(Object.assign({}, connectOptions), { timeout: timeoutMs }));
126
+ device = yield BlePlxManager.connect(deviceOrId, Object.assign(Object.assign({}, connectOptions), { timeout: timeoutMs }));
142
127
  }
143
128
  catch (e) {
144
129
  tracer.trace(`Error code: ${e.errorCode}`);
145
130
  if (e.errorCode === BleErrorCode.DeviceMTUChangeFailed) {
146
131
  // If the MTU update did not work, we try to connect without requesting for a specific MTU
147
132
  connectOptions = {};
148
- device = yield bleManagerInstance().connectToDevice(deviceOrId, { timeout: timeoutMs });
133
+ device = yield BlePlxManager.connect(deviceOrId, { timeout: timeoutMs });
149
134
  }
150
135
  else {
151
136
  throw e;
@@ -344,7 +329,7 @@ function open(deviceOrId_1, needsReconnect_1, timeoutMs_1, context_1) {
344
329
  */
345
330
  class BleTransport extends Transport {
346
331
  /**
347
- * Listen to state changes on the bleManagerInstance and notify the
332
+ * Listen to state changes on the BlePlxManagerInstance and notify the
348
333
  * specified observer.
349
334
  * @param observer
350
335
  * @returns TransportSubscription
@@ -356,7 +341,7 @@ class BleTransport extends Transport {
356
341
  available: type === "PoweredOn",
357
342
  });
358
343
  };
359
- bleManagerInstance().onStateChange(emitFromState, true);
344
+ BlePlxManager.onStateChange(emitFromState, true);
360
345
  return {
361
346
  unsubscribe: () => { },
362
347
  };
@@ -364,26 +349,37 @@ class BleTransport extends Transport {
364
349
  /**
365
350
  * Scan for bluetooth Ledger devices
366
351
  * @param observer Device is partial in order to avoid the live-common/this dep
352
+ * @param context
367
353
  * @returns TransportSubscription
368
354
  */
369
355
  static listen(observer, context) {
370
356
  const tracer = new LocalTracer(LOG_TYPE, context);
371
357
  tracer.trace("Listening for devices ...");
372
358
  let unsubscribed;
373
- const stateSub = bleManagerInstance().onStateChange((state) => __awaiter(this, void 0, void 0, function* () {
359
+ const stateSub = BlePlxManager.onStateChange((state) => __awaiter(this, void 0, void 0, function* () {
374
360
  if (state === "PoweredOn") {
375
- stateSub.remove();
376
- const devices = yield bleManagerInstance().connectedDevices(getBluetoothServiceUuids());
361
+ _a.safeRemove(stateSub, tracer);
362
+ const devices = yield BlePlxManager.getConnectedDevices().catch(err => {
363
+ // Handle possible connection errors
364
+ tracer.trace("Error while fetching connected devices", { err });
365
+ return [];
366
+ });
377
367
  if (unsubscribed)
378
368
  return;
379
369
  if (devices.length) {
380
370
  tracer.trace("Disconnecting from all devices", { deviceCount: devices.length });
381
- yield Promise.all(devices.map(d => _a.disconnectDevice(d.id)));
371
+ try {
372
+ yield Promise.all(devices.map(d => _a.disconnectDevice(d.id)));
373
+ }
374
+ catch (error) {
375
+ tracer.trace("Error disconnecting some devices", { error });
376
+ }
382
377
  }
383
378
  if (unsubscribed)
384
379
  return;
385
- bleManagerInstance().startDeviceScan(getBluetoothServiceUuids(), null, (bleError, scannedDevice) => {
380
+ yield BlePlxManager.startScan((bleError, scannedDevice) => {
386
381
  if (bleError) {
382
+ tracer.trace("Listening startDeviceScan error", { scannedDevice, bleError });
387
383
  observer.error(mapBleErrorToHwTransportError(bleError));
388
384
  unsubscribe();
389
385
  return;
@@ -401,10 +397,13 @@ class BleTransport extends Transport {
401
397
  }
402
398
  }), true);
403
399
  const unsubscribe = () => {
400
+ if (unsubscribed)
401
+ return;
404
402
  unsubscribed = true;
405
- bleManagerInstance().stopDeviceScan();
406
- stateSub.remove();
407
- tracer.trace("Done listening");
403
+ BlePlxManager.stopScan().then(() => {
404
+ _a.safeRemove(stateSub, tracer);
405
+ tracer.trace("Done listening");
406
+ });
408
407
  };
409
408
  return {
410
409
  unsubscribe,
@@ -480,7 +479,7 @@ class BleTransport extends Transport {
480
479
  transactionIds: this.currentTransactionIds,
481
480
  });
482
481
  // No concurrent exchange should happen at the same time, so all pending operations are part of the same exchange
483
- this.cancelPendingOperations();
482
+ yield this.cancelPendingOperations();
484
483
  throw new TransportExchangeTimeoutError("Exchange aborted due to timeout");
485
484
  }
486
485
  tracer.withType("ble-error").trace(`Error while exchanging APDU`, { error });
@@ -558,15 +557,17 @@ class BleTransport extends Transport {
558
557
  * is called so the error is ignored)
559
558
  */
560
559
  cancelPendingOperations() {
561
- for (const transactionId of this.currentTransactionIds) {
562
- try {
563
- this.tracer.trace("Cancelling operation", { transactionId });
564
- bleManagerInstance().cancelTransaction(transactionId);
565
- }
566
- catch (error) {
567
- this.tracer.trace("Error while cancelling operation", { transactionId, error });
560
+ return __awaiter(this, void 0, void 0, function* () {
561
+ for (const transactionId of this.currentTransactionIds) {
562
+ try {
563
+ this.tracer.trace("Cancelling operation", { transactionId });
564
+ yield BlePlxManager.cancelTransaction(transactionId);
565
+ }
566
+ catch (error) {
567
+ this.tracer.trace("Error while cancelling operation", { transactionId, error });
568
+ }
568
569
  }
569
- }
570
+ });
570
571
  }
571
572
  /**
572
573
  * Sets the collection of current transaction ids to an empty array
@@ -667,24 +668,25 @@ BleTransport.disconnectTimeoutMs = 5000;
667
668
  /**
668
669
  *
669
670
  */
670
- BleTransport.isSupported = () => Promise.resolve(typeof BleManager === "function");
671
+ BleTransport.isSupported = () => Promise.resolve(typeof BlePlxManager === "function");
671
672
  /**
672
673
  *
673
674
  */
674
675
  BleTransport.list = () => {
675
676
  throw new Error("not implemented");
676
677
  };
677
- /**
678
- * Exposed method from the ble-plx library
679
- * Sets new log level for native module's logging mechanism.
680
- * @param string logLevel New log level to be set.
681
- */
682
- BleTransport.setLogLevel = (logLevel) => {
683
- if (Object.values(LogLevel).includes(logLevel)) {
684
- bleManagerInstance().setLogLevel(logLevel);
678
+ // /**
679
+ // * Exposed method from the ble-plx library
680
+ // * Sets new log level for native module's logging mechanism.
681
+ // * @param string logLevel New log level to be set.
682
+ // */
683
+ BleTransport.setLogLevel = BlePlxManager.setLogLevel;
684
+ BleTransport.safeRemove = (sub, tracer) => {
685
+ try {
686
+ sub.remove();
685
687
  }
686
- else {
687
- throw new Error(`${logLevel} is not a valid LogLevel`);
688
+ catch (error) {
689
+ tracer.trace("Error removing state subscription", { error });
688
690
  }
689
691
  };
690
692
  /**
@@ -697,9 +699,7 @@ BleTransport.setLogLevel = (logLevel) => {
697
699
  BleTransport.disconnectDevice = (id, context) => __awaiter(void 0, void 0, void 0, function* () {
698
700
  const tracer = new LocalTracer(LOG_TYPE, context);
699
701
  tracer.trace(`Trying to disconnect device ${id}`);
700
- yield bleManagerInstance()
701
- .cancelDeviceConnection(id)
702
- .catch(error => {
702
+ yield BlePlxManager.disconnectDevice(id).catch(error => {
703
703
  // Only log, ignore if disconnect did not work
704
704
  tracer
705
705
  .withType("ble-error")
@@ -1 +1 @@
1
- {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BleTransport.js","sourceRoot":"","sources":["../src/BleTransport.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAKlC,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,gGAAgG;AAChG,0EAA0E;AAC1E,0EAA0E;AAC1E,2DAA2D;AAC3D,gGAAgG;AAChG,EAAE;AACF,qGAAqG;AACrG,wDAAwD;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAEL,YAAY,EAEZ,kBAAkB,GAInB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAEL,aAAa,EACb,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAgB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EACL,KAAK,EACL,cAAc,EACd,IAAI,EACJ,KAAK,EAGL,EAAE,EAEF,UAAU,EACV,YAAY,GACb,MAAM,MAAM,CAAC;AACd,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,EACL,cAAc,EACd,GAAG,EACH,KAAK,EACL,GAAG,EACH,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,cAAc,EACd,iCAAiC,EAEjC,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,6BAA6B,GAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EACL,qBAAqB,EAErB,6BAA6B,EAC7B,UAAU,GACX,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B;;;GAGG;AACH,IAAI,kBAAkB,GAA0C;IAC9D,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAA6C,EAAQ,EAAE;IAC3F,kBAAkB,GAAG,MAAM,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC9C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY;QAAE,OAAO;IAC5C,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1C,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,KAAK,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,gDAAgD;IAChD,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAsB,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAE1F;;;;GAIG;AACH,MAAM,eAAe,GAAyC,EAAE,CAAC;AACjE,MAAM,kBAAkB,GAA6C,EAAE,CAAC,CAAC,mDAAmD;AAE5H,qHAAqH;AACrH,IAAI,cAAc,GAA4B;IAC5C,kDAAkD;IAClD,2FAA2F;IAC3F,UAAU,EAAE,GAAG;IACf,4EAA4E;IAC5E,kBAAkB,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAgB,EAAE,OAAsB,EAAQ,EAAE;IAChF,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,eAAe,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;QACzD,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,4BAA4B,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1E,YAAY,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,SAAe,IAAI;yDACjB,UAA2B,EAC3B,cAAuB,EACvB,SAAkB,EAClB,OAAsB,EACtB,EAAE,aAAa,KAAwC,EAAE;QAEzD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAc,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,WAAW,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAE1D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBAEnC,+DAA+D;gBAC/D,eAAe,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACrD,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;YAE7B,uDAAuD;YACvD,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAExD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;gBACzE,sEAAsE;gBACtE,mEAAmE;gBACnE,6CAA6C;gBAC7C,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACnE,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACnF,MAAM,CAAC,KAAK,CACV,wCAAwC,wBAAwB,CAAC,MAAM,yCAAyC,EAChH,EAAE,UAAU,EAAE,CACf,CAAC;gBACF,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,gEAAgE;gBAChE,MAAM,CAAC,KAAK,CAAC,2EAA2E,EAAE;oBACxF,UAAU;oBACV,SAAS;iBACV,CAAC,CAAC;gBAEH,0EAA0E;gBAC1E,IAAI,CAAC;oBACH,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,kCAC1C,cAAc,KACjB,OAAO,EAAE,SAAS,IAClB,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC3C,IAAI,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,qBAAqB,EAAE,CAAC;wBACvD,0FAA0F;wBAC1F,cAAc,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,CAAC;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,GAAG,UAAU,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,iCAAM,cAAc,KAAE,OAAO,EAAE,SAAS,IAAG,CAAC;YAClE,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,qBAAqB,EAAE,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC;oBACvD,cAAc,GAAG,EAAE,CAAC;oBACpB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBACzB,CAAC;qBAAM,IAAI,KAAK,CAAC,YAAY,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,kCAAkC,EAAE,CAAC;oBAC5F,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;wBACjC,MAAM;wBACN,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;qBAClD,CAAC,CAAC;oBACH,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC5D,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,IAAI,EAAE,CAAC;oBAC1C,MAAM,IAAI,kBAAkB,CAAC,SAAS,EAAE;wBACtC,UAAU,EAAE,MAAM,CAAC,IAAI;wBACvB,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;gBACD,0FAA0F;qBACrF,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,CAAC,sBAAsB,EAAE,CAAC;oBACjE,MAAM,CAAC,KAAK,CAAC,wDAAwD,EAAE;wBACrE,KAAK;qBACN,CAAC,CAAC;oBAEH,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,MAAM,MAAM,CAAC,qCAAqC,EAAE,CAAC;QAErD,IAAI,GAAG,GAA+B,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,eAA6C,CAAC;QAElD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;oBAC/D,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM;gBACR,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,mCAAmC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC;QAE9E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,eAAe,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,kCAAqE,CAAC;QAC1E,IAAI,qCAAiE,CAAC;QACtE,kDAAkD;QAClD,IAAI,wBAA2D,CAAC;QAEhE,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,kCAAkC,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACnC,qCAAqC,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjC,wBAAwB,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,kCAAkC,EAAE,CAAC;YACxC,MAAM,IAAI,cAAc,CAAC,gCAAgC,EAAE,2BAA2B,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAC9B,MAAM,IAAI,cAAc,CAAC,iCAAiC,EAAE,2BAA2B,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,kCAAkC,CAAC,sBAAsB,EAAE,CAAC;YAC/D,MAAM,IAAI,cAAc,CACtB,yEAAyE,EACzE,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC;YAC3C,MAAM,IAAI,cAAc,CAAC,sCAAsC,EAAE,0BAA0B,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,qCAAqC,EAAE,CAAC;YAC1C,IAAI,CAAC,qCAAqC,CAAC,yBAAyB,EAAE,CAAC;gBACrE,MAAM,IAAI,cAAc,CACtB,+EAA+E,EAC/E,0BAA0B,CAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAEzC,4EAA4E;QAC5E,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC,IAAI,CACpF,UAAU,CAAC,CAAC,CAAC,EAAE;YACb,+EAA+E;YAC/E,gGAAgG;YAChG,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBACzC,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC,EACF,GAAG,CAAC,KAAK,CAAC,EAAE;YACV,IAAI,KAAK,YAAY,aAAa;gBAAE,OAAO;YAC3C,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;QACF,6EAA6E;QAC7E,oGAAoG;QACpG,KAAK,EAAE,CACR,CAAC;QAEF,0EAA0E;QAC1E,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAE3C,MAAM,SAAS,GAAG,IAAI,YAAY,CAChC,MAAM,EACN,kCAAkC,EAClC,qCAAqC,EACrC,gBAAgB,EAChB,WAAW,EACX;YACE,OAAO;YACP,aAAa;SACd,CACF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEzC,qGAAqG;QACrG,qDAAqD;QAErD,wCAAwC;QACxC,IAAI,eAA6B,CAAC;QAElC,iFAAiF;QACjF,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAE,EAAE;YAC9C,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC;YAC9B,SAAS,CAAC,kBAAkB,GAAG,KAAK,CAAC;YACrC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,EAAE,CAAC;YAE1B,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrC,OAAO,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACrC,MAAM,CAAC,KAAK,CACV,iEAAiE,SAAS,CAAC,EAAE,kDAAkD,KAAK,GAAG,EACvI,EAAE,MAAM,EAAE,KAAK,EAAE,CAClB,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,kDAAkD;QAClD,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjC,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,SAAS,CAAC,kBAAkB;gBAAE,OAAO;YAC1C,YAAY,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC7B,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEhC,IAAI,kBAAkB,EAAE,CAAC;gBACvB,6CAA6C;gBAC7C,qGAAqG;gBACrG,sGAAsG;gBACtG,6DAA6D;gBAC7D,IAAI,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,CAAC;oBACvE,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC;qBAAM,IAAI,WAAW,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;oBACjD,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;oBAC5D,cAAc,GAAG,KAAK,CAAC;gBACzB,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;oBACnE,MAAM,YAAY,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBAClD,MAAM,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CAAA;AAED;;;;GAIG;AACH,MAAqB,YAAa,SAAQ,SAAS;IAqBjD;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CACjB,QAGE;QAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;YACrC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI;gBACJ,SAAS,EAAE,IAAI,KAAK,WAAW;aAChC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,aAAa,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEjD,OAAO;YACL,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;SACtB,CAAC;IACJ,CAAC;IAUD;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACX,QAAkD,EAClD,OAAsB;QAEtB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE1C,IAAI,YAAqB,CAAC;QAE1B,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,CAAM,KAAK,EAAC,EAAE;YACzD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,EAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACpE,oCAAoC;oBACpC,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAChE,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,IAAI,YAAY;oBAAE,OAAO;gBACzB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAEhF,IAAI,CAAC;wBACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3E,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBAED,IAAI,YAAY;oBAAE,OAAO;gBACzB,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC,QAAyB,EAAE,aAA4B,EAAE,EAAE;oBACxF,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;wBAC7E,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACxD,WAAW,EAAE,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;oBACzC,MAAM,WAAW,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC;oBAE3C,IAAI,aAAa,EAAE,CAAC;wBAClB,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,KAAK;4BACX,UAAU,EAAE,aAAa;4BACzB,WAAW;yBACZ,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAA,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,YAAY;gBAAE,OAAO;YACzB,YAAY,GAAG,IAAI,CAAC;YACpB,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjC,EAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC1C,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAO,IAAI;6DACf,UAA2B,EAC3B,SAAkB,EAClB,OAAsB,EACtB,EAAE,aAAa,KAAwC,EAAE;YAEzD,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACvE,CAAC;KAAA;IAqCD;;;;;;;;;;;;;;OAcG;IACH,YACE,MAAc,EACd,kCAAkD,EAClD,qCAAiE,EACjE,gBAA4C,EAC5C,WAAwB,EACxB,EAAE,OAAO,EAAE,aAAa,KAAgE,EAAE;QAE1F,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QApCxC,sBAAiB,GAAyC,IAAI,CAAC;QAE/D,gBAAW,GAAG,IAAI,CAAC;QACnB,YAAO,GAAG,EAAE,CAAC;QAGb,uBAAkB,GAAG,IAAI,CAAC;QA6C1B;;;;;;;;;;;WAWG;QACH,aAAQ,GAAG,CACT,OAAe,EACf,EAAE,cAAc,KAAkC,EAAE,EACnC,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;gBAC5C,QAAQ,EAAE,UAAU;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE/D,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAClC,OAAO,cAAc;gBACnB,8EAA8E;gBAC9E,mDAAmD;gBACnD,8FAA8F;gBAC9F,KAAK,CACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EACvF,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;oBAC1C,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE;iBAC7B,CAAC,CACH,CAAC,IAAI,CACJ,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EACpE,GAAG,CAAC,IAAI,CAAC,EAAE;oBACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9D,CAAC,CAAC,EACF,UAAU,CAAC,CAAM,KAAK,EAAC,EAAE;oBACvB,oHAAoH;oBACpH,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;wBAClC,MAAM,CAAC,KAAK,CACV,8FAA8F,EAC9F;4BACE,cAAc;4BACd,cAAc,EAAE,IAAI,CAAC,qBAAqB;yBAC3C,CACF,CAAC;wBAEF,iHAAiH;wBACjH,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAErC,MAAM,IAAI,6BAA6B,CAAC,iCAAiC,CAAC,CAAC;oBAC7E,CAAC;oBAED,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;oBAE7E,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC5B,mEAAmE;wBACnE,kCAAkC;wBAClC,MAAM,EAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAwB,CAAC,CAAC;oBACzD,MAAM,CAAC,KAAK,CAAC,gEAAgE,EAAE;wBAC7E,WAAW;qBACZ,CAAC,CAAC;oBACH,MAAM,WAAW,CAAC;gBACpB,CAAC,CAAA,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;oBACZ,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;wBAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;qBAClD,CAAC,CAAC;oBACH,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC,CAAC,CACH,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAiGF;;;;;;;;;;;WAWG;QACH,UAAK,GAAG,CAAO,MAAc,EAAiB,EAAE;YAC9C,MAAM,aAAa,GAAG,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;gBAChC,kBAAkB,EAAE,CAAC,IAAI,CAAC,qCAAqC;aAChE,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC;oBAChD,sDAAsD;oBACtD,MAAM,IAAI,CAAC,kCAAkC,CAAC,iBAAiB,CAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACzB,aAAa,CACd,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,uDAAuD;oBACvD,MAAM,IAAI,CAAC,qCAAqC,CAAC,oBAAoB,CACnE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACzB,aAAa,CACd,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpD,MAAM,IAAI,iCAAiC,CACzC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CACpD,CAAC;YACJ,CAAC;QACH,CAAC,CAAA,CAAC;QAtOA,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kCAAkC,GAAG,kCAAkC,CAAC;QAC7E,IAAI,CAAC,qCAAqC,GAAG,qCAAqC,CAAC;QACnF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAEhC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IAiFD;;;;;;;;OAQG;IACW,uBAAuB;;YACnC,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;oBAC7D,MAAM,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;KAAA;IAED;;OAEG;IACK,0BAA0B;QAChC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;IAClC,CAAC;IAED;;;OAGG;IACG,QAAQ;;YACZ,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;YAElE,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAS,EAAE;gBACvC,IAAI,CAAC;oBACH,GAAG,GAAG,MAAM,cAAc,CACxB,KAAK,CACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,GAAG,CAAC,UAAU,CAAC,EAAE;wBACf,6DAA6D;wBAC7D,IAAI,UAAU,YAAY,KAAK,EAAE,CAAC;4BAChC,MAAM,UAAU,CAAC;wBACnB,CAAC;wBAED,OAAO,UAAU,CAAC;oBACpB,CAAC,CAAC,EACF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAC7C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACnC,EACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CACtF,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;oBAE9E,MAAM,EAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAE7C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+DAA+D,EAAE;wBACjF,WAAW;qBACZ,CAAC,CAAC;oBACH,MAAM,WAAW,CAAC;gBACpB,CAAC;wBAAS,CAAC;oBACT,uHAAuH;oBACvH,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpC,CAAC;YACH,CAAC,CAAA,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBAC3D,GAAG;gBACH,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACrB,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;KAAA;IAED;;;;;OAKG;IACG,yBAAyB,CAC7B,kBAAoD;;YAEpD,OAAO,MAAM,qBAAqB,CAChC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAC9E,CAAC;QACJ,CAAC;KAAA;IA8CD;;;;;;;OAOG;IACG,KAAK;;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAEjE,IAAI,OAAkD,CAAC;YACvD,MAAM,iBAAiB,GAAG,IAAI,OAAO,CAAO,YAAY,CAAC,EAAE;gBACzD,OAAO,GAAG,YAAY,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACvC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,EAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;yBACxD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;yBACf,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,EAAE,EAAY,CAAC,mBAAmB,CAAC,CAAC;YAErC,6EAA6E;YAC7E,sCAAsC;YACtC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAEvF,OAAO;QACT,CAAC;KAAA;;;AArdM,gCAAmB,GAAG,IAAI,AAAP,CAAQ;AAClC;;GAEG;AACI,wBAAW,GAAG,GAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,aAAa,KAAK,UAAU,CAAC,AAA/E,CAAgF;AAElG;;GAEG;AACI,iBAAI,GAAG,GAAoB,EAAE;IAClC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACrC,CAAC,AAFU,CAET;AAEF,MAAM;AACN,6CAA6C;AAC7C,+DAA+D;AAC/D,qDAAqD;AACrD,MAAM;AACC,wBAAW,GAAG,aAAa,CAAC,WAAW,AAA5B,CAA6B;AA4BxC,uBAAU,GAAG,CAAC,GAAiB,EAAE,MAAmB,EAAE,EAAE;IAC7D,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,AANgB,CAMf;AA2FF;;;;;;GAMG;AACI,6BAAgB,GAAG,CAAO,EAAY,EAAE,OAAsB,EAAiB,EAAE;IACtF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACrD,8CAA8C;QAC9C,MAAM;aACH,QAAQ,CAAC,WAAW,CAAC;aACrB,KAAK,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC,CAAA,AAXsB,CAWrB;eAlKiB,YAAY"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/react-native-hw-transport-ble",
3
- "version": "6.33.4",
3
+ "version": "6.34.0-next.0",
4
4
  "description": "Ledger Hardware Wallet Bluetooth BLE transport for React Native",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -25,10 +25,10 @@
25
25
  "types": "lib/BleTransport.d.ts",
26
26
  "license": "Apache-2.0",
27
27
  "dependencies": {
28
- "react-native-ble-plx": "3.1.2",
28
+ "react-native-ble-plx": "3.2.1",
29
29
  "rxjs": "^7.8.1",
30
30
  "uuid": "^9.0.1",
31
- "@ledgerhq/devices": "^8.4.4",
31
+ "@ledgerhq/devices": "8.4.4",
32
32
  "@ledgerhq/errors": "^6.19.1",
33
33
  "@ledgerhq/hw-transport": "^6.31.4",
34
34
  "@ledgerhq/logs": "^6.12.0"
@@ -50,6 +50,7 @@
50
50
  "build": "tsc && tsc -m ES6 --outDir lib-es",
51
51
  "prewatch": "pnpm build",
52
52
  "watch": "tsc --watch",
53
+ "watch:es": "tsc --watch -m ES6 --outDir lib-es",
53
54
  "lint": "eslint ./src --no-error-on-unmatched-pattern --ext .ts,.tsx --cache",
54
55
  "lint:fix": "pnpm lint --fix",
55
56
  "test": "jest --runInBand",
@@ -0,0 +1,72 @@
1
+ import { BleManager as RNBleManager, LogLevel, Device, BleError } from "react-native-ble-plx";
2
+ import { awaitsBleOn } from "./awaitsBleOn";
3
+ import { getBluetoothServiceUuids } from "@ledgerhq/devices";
4
+
5
+ export class BlePlxManager {
6
+ /**
7
+ * Returns the instance of the Bluetooth Low Energy Manager. It initializes it only
8
+ * when it's first needed, preventing the permission prompt happening prematurely.
9
+ * Important: Do NOT access the _bleManager variable directly.
10
+ * Use this function instead.
11
+ * @returns {BleManager} - The instance of the BleManager.
12
+ */
13
+ static _instance: RNBleManager;
14
+
15
+ static get instance(): RNBleManager {
16
+ if (!this._instance) {
17
+ this._instance = new RNBleManager();
18
+ }
19
+ return this._instance;
20
+ }
21
+
22
+ static waitOn() {
23
+ return awaitsBleOn(BlePlxManager.instance);
24
+ }
25
+
26
+ static async getKnownDevice(identifier: string) {
27
+ const devices = await this.instance.devices([identifier]);
28
+ return devices[0];
29
+ }
30
+
31
+ static getConnectedDevices() {
32
+ return this.instance.connectedDevices(getBluetoothServiceUuids());
33
+ }
34
+
35
+ static connect(identifier: string, options: Record<string, unknown> = {}) {
36
+ return this.instance.connectToDevice(identifier, options);
37
+ }
38
+ /**
39
+ * Exposed method from the ble-plx library
40
+ * Sets new log level for native module's logging mechanism.
41
+ * @param logLevel
42
+ */
43
+ static async setLogLevel(logLevel: string) {
44
+ if (Object.values<string>(LogLevel).includes(logLevel)) {
45
+ await this.instance.setLogLevel(logLevel as LogLevel);
46
+ } else {
47
+ throw new Error(`${logLevel} is not a valid LogLevel`);
48
+ }
49
+ }
50
+
51
+ static onStateChange(listener: (state: any) => void, emitCurrentState?: boolean) {
52
+ return this.instance.onStateChange(listener, emitCurrentState);
53
+ }
54
+
55
+ static async startScan(callback: (error: BleError | null, device: Device | null) => void) {
56
+ await this.instance.startDeviceScan(getBluetoothServiceUuids(), null, (error, device) => {
57
+ callback(error, device);
58
+ });
59
+ }
60
+
61
+ static async stopScan() {
62
+ await this.instance.stopDeviceScan();
63
+ }
64
+
65
+ static async disconnectDevice(deviceIdentifier: string) {
66
+ await this.instance.cancelDeviceConnection(deviceIdentifier);
67
+ }
68
+
69
+ static async cancelTransaction(transactionId: string) {
70
+ await this.instance.cancelTransaction(transactionId);
71
+ }
72
+ }