@substrate/api-sidecar 9.1.8 → 10.0.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.
Files changed (87) hide show
  1. package/README.md +7 -4
  2. package/build/package.json +17 -19
  3. package/build/src/chains-config/index.js +2 -0
  4. package/build/src/chains-config/index.js.map +1 -1
  5. package/build/src/chains-config/metadata-consts/index.js +3 -0
  6. package/build/src/chains-config/metadata-consts/index.js.map +1 -1
  7. package/build/src/chains-config/metadata-consts/kusamaConsts.js +4 -1
  8. package/build/src/chains-config/metadata-consts/kusamaConsts.js.map +1 -1
  9. package/build/src/chains-config/metadata-consts/polkadotConsts.js +4 -1
  10. package/build/src/chains-config/metadata-consts/polkadotConsts.js.map +1 -1
  11. package/build/src/chains-config/metadata-consts/shidenConsts.d.ts +2 -0
  12. package/build/src/chains-config/metadata-consts/shidenConsts.js +20 -0
  13. package/build/src/chains-config/metadata-consts/shidenConsts.js.map +1 -0
  14. package/build/src/chains-config/metadata-consts/westendConsts.js +4 -1
  15. package/build/src/chains-config/metadata-consts/westendConsts.js.map +1 -1
  16. package/build/src/chains-config/shidenControllers.d.ts +5 -0
  17. package/build/src/chains-config/shidenControllers.js +36 -0
  18. package/build/src/chains-config/shidenControllers.js.map +1 -0
  19. package/build/src/controllers/blocks/BlocksController.js +5 -2
  20. package/build/src/controllers/blocks/BlocksController.js.map +1 -1
  21. package/build/src/controllers/blocks/BlocksExtrinsicsController.js +2 -1
  22. package/build/src/controllers/blocks/BlocksExtrinsicsController.js.map +1 -1
  23. package/build/src/controllers/pallets/PalletsStorageController.js +12 -6
  24. package/build/src/controllers/pallets/PalletsStorageController.js.map +1 -1
  25. package/build/src/main.js +0 -0
  26. package/build/src/services/accounts/AccountsAssetsService.js +1 -1
  27. package/build/src/services/accounts/AccountsAssetsService.js.map +1 -1
  28. package/build/src/services/accounts/AccountsAssetsService.spec.js +107 -1
  29. package/build/src/services/accounts/AccountsAssetsService.spec.js.map +1 -1
  30. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js +80 -45
  31. package/build/src/services/accounts/AccountsBalanceInfoService.spec.js.map +1 -1
  32. package/build/src/services/accounts/AccountsStakingInfoService.spec.d.ts +4 -1
  33. package/build/src/services/accounts/AccountsStakingInfoService.spec.js +23 -7
  34. package/build/src/services/accounts/AccountsStakingInfoService.spec.js.map +1 -1
  35. package/build/src/services/accounts/AccountsVestingInfoService.spec.js +11 -1
  36. package/build/src/services/accounts/AccountsVestingInfoService.spec.js.map +1 -1
  37. package/build/src/services/blocks/BlocksService.d.ts +2 -1
  38. package/build/src/services/blocks/BlocksService.js +31 -26
  39. package/build/src/services/blocks/BlocksService.js.map +1 -1
  40. package/build/src/services/blocks/BlocksService.spec.js +80 -41
  41. package/build/src/services/blocks/BlocksService.spec.js.map +1 -1
  42. package/build/src/services/blocks/BlocksTraceService.spec.js +1 -1
  43. package/build/src/services/blocks/BlocksTraceService.spec.js.map +1 -1
  44. package/build/src/services/node/NodeNetworkService.spec.js +1 -1
  45. package/build/src/services/node/NodeNetworkService.spec.js.map +1 -1
  46. package/build/src/services/node/NodeTransactionPoolService.spec.js +5 -5
  47. package/build/src/services/node/NodeTransactionPoolService.spec.js.map +1 -1
  48. package/build/src/services/node/NodeVersionService.spec.js +1 -1
  49. package/build/src/services/node/NodeVersionService.spec.js.map +1 -1
  50. package/build/src/services/pallets/PalletsAssetsService.spec.js +113 -1
  51. package/build/src/services/pallets/PalletsAssetsService.spec.js.map +1 -1
  52. package/build/src/services/pallets/PalletsStakingProgressService.spec.js +48 -7
  53. package/build/src/services/pallets/PalletsStakingProgressService.spec.js.map +1 -1
  54. package/build/src/services/pallets/PalletsStorageService.d.ts +14 -2
  55. package/build/src/services/pallets/PalletsStorageService.js +56 -11
  56. package/build/src/services/pallets/PalletsStorageService.js.map +1 -1
  57. package/build/src/services/pallets/PalletsStorageService.spec.js +29 -7
  58. package/build/src/services/pallets/PalletsStorageService.spec.js.map +1 -1
  59. package/build/src/services/paras/ParasService.spec.d.ts +10 -1
  60. package/build/src/services/paras/ParasService.spec.js +201 -8
  61. package/build/src/services/paras/ParasService.spec.js.map +1 -1
  62. package/build/src/services/runtime/RuntimeCodeService.spec.js +1 -1
  63. package/build/src/services/runtime/RuntimeCodeService.spec.js.map +1 -1
  64. package/build/src/services/runtime/RuntimeMetadataService.spec.js +1 -1
  65. package/build/src/services/runtime/RuntimeMetadataService.spec.js.map +1 -1
  66. package/build/src/services/runtime/RuntimeSpecService.spec.js +1 -1
  67. package/build/src/services/runtime/RuntimeSpecService.spec.js.map +1 -1
  68. package/build/src/services/test-helpers/mock/data/block789629.json +2 -2
  69. package/build/src/services/test-helpers/mock/data/blocks789629Fork.json +2 -2
  70. package/build/src/services/test-helpers/mock/mockApi.d.ts +4 -12
  71. package/build/src/services/test-helpers/mock/mockApi.js +3 -377
  72. package/build/src/services/test-helpers/mock/mockApi.js.map +1 -1
  73. package/build/src/services/test-helpers/responses/blocks/block789629Extrinsic.json +3 -0
  74. package/build/src/services/test-helpers/responses/blocks/blocks789629.json +99 -154
  75. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js +6 -3
  76. package/build/src/services/transaction/TransactionFeeEstimateService.spec.js.map +1 -1
  77. package/build/src/services/transaction/TransactionMaterialService.spec.js +1 -1
  78. package/build/src/services/transaction/TransactionMaterialService.spec.js.map +1 -1
  79. package/build/src/services/transaction/TransactionSubmitService.spec.js +8 -7
  80. package/build/src/services/transaction/TransactionSubmitService.spec.js.map +1 -1
  81. package/build/src/test-helpers/metadata/polkadotV9110Metadata.d.ts +1 -0
  82. package/build/src/test-helpers/metadata/polkadotV9110Metadata.js +5 -0
  83. package/build/src/test-helpers/metadata/polkadotV9110Metadata.js.map +1 -0
  84. package/build/src/test-helpers/registries/polkadotRegistry.d.ts +4 -0
  85. package/build/src/test-helpers/registries/polkadotRegistry.js +6 -1
  86. package/build/src/test-helpers/registries/polkadotRegistry.js.map +1 -1
  87. package/package.json +17 -19
@@ -4,52 +4,107 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
7
- const metadata_1 = require("../../test-helpers/metadata/metadata");
8
7
  const registries_1 = require("../../test-helpers/registries");
9
- const typeFactory_1 = require("../../test-helpers/typeFactory");
10
8
  const mock_1 = require("../test-helpers/mock");
9
+ const events789629Hex_1 = require("../test-helpers/mock/data/events789629Hex");
11
10
  const balanceInfo789629_json_1 = __importDefault(require("../test-helpers/responses/accounts/balanceInfo789629.json"));
12
11
  const AccountsBalanceInfoService_1 = require("./AccountsBalanceInfoService");
13
- const accountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(mock_1.mockApi);
14
- /**
15
- * Historical Queries MockApi
16
- */
17
- const historicalMockApi = {
12
+ const eventsAt = (_hash) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<EventRecord>', events789629Hex_1.events789629));
13
+ const locksAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', '0x047374616b696e672000e8764817000000000000000000000002'));
14
+ const accountAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('AccountInfo', '0x0600000003dbb656ab7400000000000000000000000000000000000000000000000000000000e8764817000000000000000000000000e87648170000000000000000000000'));
15
+ const freeBalance = async () => registries_1.polkadotRegistry.createType('Balance', 123456789);
16
+ const mockHistoricApi = {
18
17
  query: {
19
18
  balances: {
20
- freeBalance: async () => registries_1.polkadotRegistry.createType('Balance', 123456789),
19
+ freeBalance,
21
20
  reservedBalance: async () => registries_1.polkadotRegistry.createType('Balance', 1),
22
- locks: async () => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', []),
21
+ locks: async () => registries_1.polkadotRegistry.createType('Vec<BalanceLock>', '0x047374616b696e672000e8764817000000000000000000000002'),
23
22
  },
24
23
  system: {
25
24
  accountNonce: async () => registries_1.polkadotRegistry.createType('Index', 1),
25
+ account: accountAt,
26
26
  },
27
27
  },
28
28
  };
29
+ const queryMockApi = {
30
+ query: {
31
+ system: {
32
+ events: eventsAt,
33
+ account: { at: accountAt },
34
+ },
35
+ balances: {
36
+ locks: { at: locksAt },
37
+ },
38
+ },
39
+ };
40
+ const mockApi = {
41
+ ...mock_1.defaultMockApi,
42
+ ...queryMockApi,
43
+ at: (_hash) => mockHistoricApi,
44
+ };
45
+ const accountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(mockApi);
29
46
  describe('AccountsBalanceInfoService', () => {
30
47
  describe('fetchAccountBalanceInfo', () => {
31
48
  it('works when ApiPromise works (block 789629)', async () => {
32
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT'))).toStrictEqual(balanceInfo789629_json_1.default);
49
+ const tempHistoricApi = { ...mockHistoricApi };
50
+ tempHistoricApi.query.balances.freeBalance = undefined;
51
+ const tempMockApi = {
52
+ ...mock_1.defaultMockApi,
53
+ ...queryMockApi,
54
+ at: (_hash) => tempHistoricApi,
55
+ };
56
+ const tempAccountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(tempMockApi);
57
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tempAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT'))).toStrictEqual(balanceInfo789629_json_1.default);
58
+ });
59
+ it('Correctly queries historical blocks', async () => {
60
+ const result = await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT');
61
+ const expectedResponse = {
62
+ at: {
63
+ hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578',
64
+ height: '789629',
65
+ },
66
+ feeFrozen: '100000000000',
67
+ free: '501090793179',
68
+ locks: [
69
+ {
70
+ amount: '100000000000',
71
+ id: '0x7374616b696e6720',
72
+ reasons: 'All',
73
+ },
74
+ ],
75
+ miscFrozen: '100000000000',
76
+ nonce: '6',
77
+ reserved: '0',
78
+ tokenSymbol: 'DOT',
79
+ };
80
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(result)).toStrictEqual(expectedResponse);
33
81
  });
34
82
  describe('token recognition', () => {
83
+ const tokenHistoricApi = { ...mockHistoricApi };
84
+ tokenHistoricApi.query.system.account = { at: true };
85
+ tokenHistoricApi.query.balances.freeBalance = undefined;
86
+ const tokenMockApi = {
87
+ ...mock_1.defaultMockApi,
88
+ ...queryMockApi,
89
+ at: (_hash) => tokenHistoricApi,
90
+ };
91
+ const tokenAccountsBalanceInfoService = new AccountsBalanceInfoService_1.AccountsBalanceInfoService(tokenMockApi);
35
92
  let tempQueryTokens, tempQueryBalance, mockTokensLocksAt, mockTokenAccountAt, mockBalancesLocksAt;
36
93
  beforeAll(() => {
37
94
  // Important: these temp values should never be reassinged. They are used so we can assign
38
95
  // the mockApi properties back to their original values after this sub-section of tests run.
39
- tempQueryTokens = mock_1.mockApi.query.tokens;
40
- tempQueryBalance = mock_1.mockApi.query.balances;
41
- const tokensAccountAt = async (hash, address) => (await mock_1.mockApi.query.system.account.at(hash, address)).data;
96
+ tempQueryTokens = tokenMockApi.query.tokens;
97
+ tempQueryBalance = tokenMockApi.query.balances;
98
+ const tokensAccountAt = async (hash, address) => (await tokenMockApi.query.system.account.at(hash, address)).data;
42
99
  // Wrap our functions in a jest mock so we can collect data on how they are called
43
- mockTokensLocksAt = jest.fn(mock_1.mockApi.query.balances.locks.at);
100
+ mockTokensLocksAt = jest.fn(tokenMockApi.query.balances.locks.at);
44
101
  mockTokenAccountAt = jest.fn(tokensAccountAt);
45
- mock_1.mockApi.query.tokens = {
102
+ tokenMockApi.query.tokens = {
46
103
  locks: { at: mockTokensLocksAt },
47
104
  accounts: { at: mockTokenAccountAt },
48
105
  };
49
- mockBalancesLocksAt = jest.fn(mock_1.mockApi.query.balances.locks.at);
50
- mock_1.mockApi.query.balances = {
51
- locks: { at: mockBalancesLocksAt },
52
- };
106
+ mockBalancesLocksAt = jest.fn(tokenMockApi.query.balances.locks.at);
107
+ tokenMockApi.query.balances.locks.at = mockBalancesLocksAt;
53
108
  });
54
109
  afterEach(() => {
55
110
  // Clear data about how the mocks where called after each `it` test.
@@ -58,45 +113,25 @@ describe('AccountsBalanceInfoService', () => {
58
113
  mockBalancesLocksAt.mockClear();
59
114
  });
60
115
  afterAll(() => {
61
- mock_1.mockApi.query.tokens = tempQueryTokens;
62
- mock_1.mockApi.query.balances = tempQueryBalance;
116
+ mockApi.query.tokens = tempQueryTokens;
117
+ mockApi.query.balances = tempQueryBalance;
63
118
  });
64
119
  it('only has `["DOT"]` (all uppercase chars) for the mockApi registry', () => {
65
- expect(mock_1.mockApi.registry.chainTokens).toStrictEqual(['DOT']);
66
- expect(mock_1.mockApi.registry.chainDecimals).toStrictEqual([12]);
120
+ expect(mockApi.registry.chainTokens).toStrictEqual(['DOT']);
121
+ expect(mockApi.registry.chainDecimals).toStrictEqual([12]);
67
122
  });
68
123
  it('querrys tokens pallet storage with a non-native token', async () => {
69
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'fOoToKeN')).tokenSymbol).toEqual('fOoToKeN');
124
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tokenAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'fOoToKeN')).tokenSymbol).toEqual('fOoToKeN');
70
125
  expect(mockTokensLocksAt).toBeCalled();
71
126
  expect(mockTokenAccountAt).toBeCalled();
72
127
  expect(mockBalancesLocksAt).not.toBeCalled();
73
128
  });
74
129
  it('does not query tokens pallet storage with the native token', async () => {
75
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'doT')).tokenSymbol).toEqual('doT');
130
+ expect((0, sanitizeNumbers_1.sanitizeNumbers)(await tokenAccountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'doT')).tokenSymbol).toEqual('doT');
76
131
  expect(mockTokensLocksAt).not.toBeCalled();
77
132
  expect(mockTokenAccountAt).not.toBeCalled();
78
133
  expect(mockBalancesLocksAt).toBeCalled();
79
134
  });
80
- it('Correctly queries historical blocks', async () => {
81
- // Set the at to a historical runtime, before the storage key format changed
82
- mock_1.mockApi.at = () => Promise.resolve().then(() => historicalMockApi);
83
- const result = await accountsBalanceInfoService.fetchAccountBalanceInfo(mock_1.blockHash789629, mock_1.testAddress, 'DOT');
84
- const expectedResponse = {
85
- at: {
86
- hash: '0x7b713de604a99857f6c25eacc115a4f28d2611a23d9ddff99ab0e4f1c17a8578',
87
- height: '789629',
88
- },
89
- feeFrozen: '0',
90
- free: '123456789',
91
- locks: [],
92
- miscFrozen: '0',
93
- nonce: '1',
94
- reserved: '1',
95
- tokenSymbol: 'DOT',
96
- };
97
- expect((0, sanitizeNumbers_1.sanitizeNumbers)(result)).toStrictEqual(expectedResponse);
98
- mock_1.mockApi.at = async () => (0, typeFactory_1.createApiWithAugmentations)(metadata_1.polkadotMetadata.toHex());
99
- });
100
135
  });
101
136
  });
102
137
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsBalanceInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsBalanceInfoService.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccountsBalanceInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsBalanceInfoService.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1,4 @@
1
- export {};
1
+ import { Option } from '@polkadot/types';
2
+ import { AccountId, Hash, StakingLedger } from '@polkadot/types/interfaces';
3
+ export declare const bondedAt: (_hash: Hash, _address: string) => Promise<Option<AccountId>>;
4
+ export declare const ledgerAt: (_hash: Hash, _address: string) => Promise<Option<StakingLedger>>;
@@ -3,29 +3,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
+ exports.ledgerAt = exports.bondedAt = void 0;
8
7
  const http_errors_1 = require("http-errors");
9
8
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
10
9
  const registries_1 = require("../../test-helpers/registries");
11
10
  const mock_1 = require("../test-helpers/mock");
12
11
  const stakingInfo789629_json_1 = __importDefault(require("../test-helpers/responses/accounts/stakingInfo789629.json"));
13
12
  const AccountsStakingInfoService_1 = require("./AccountsStakingInfoService");
14
- const accountStakingInfoService = new AccountsStakingInfoService_1.AccountsStakingInfoService(mock_1.mockApi);
13
+ const bondedAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', mock_1.testAddressController));
14
+ exports.bondedAt = bondedAt;
15
+ const ledgerAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', '0x2c2a55b5e0d28cc772b47bb9b25981cbb69eca73f7c3388fb6464e7d24be470e0700e87648170700e8764817008c000000000100000002000000030000000400000005000000060000000700000008000000090000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000'));
16
+ exports.ledgerAt = ledgerAt;
17
+ const payeeAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('RewardDestination', 'Controller'));
18
+ const slashingSpansAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('SlashingSpans'));
19
+ const mockApi = {
20
+ ...mock_1.defaultMockApi,
21
+ query: {
22
+ staking: {
23
+ bonded: { at: exports.bondedAt },
24
+ ledger: { at: exports.ledgerAt },
25
+ payee: { at: payeeAt },
26
+ slashingSpans: { at: slashingSpansAt },
27
+ },
28
+ },
29
+ };
30
+ const accountStakingInfoService = new AccountsStakingInfoService_1.AccountsStakingInfoService(mockApi);
15
31
  describe('AccountsStakingInfoService', () => {
16
32
  describe('fetchAccountStakingInfo', () => {
17
33
  it('works with a valid stash address (block 789629)', async () => {
18
34
  expect((0, sanitizeNumbers_1.sanitizeNumbers)(await accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, mock_1.testAddress))).toStrictEqual(stakingInfo789629_json_1.default);
19
35
  });
20
36
  it('throws a 400 when the given address is not a stash', async () => {
21
- mock_1.mockApi.query.staking.bonded.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', null));
37
+ mockApi.query.staking.bonded.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<AccountId>', null));
22
38
  await expect(accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, 'NotStash')).rejects.toStrictEqual(new http_errors_1.BadRequest('The address NotStash is not a stash address.'));
23
- mock_1.mockApi.query.staking.bonded.at = mock_1.bondedAt;
39
+ mockApi.query.staking.bonded.at = exports.bondedAt;
24
40
  });
25
41
  it('throws a 404 when the staking ledger cannot be found', async () => {
26
- mock_1.mockApi.query.staking.ledger.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', null));
42
+ mockApi.query.staking.ledger.at = () => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<StakingLedger>', null));
27
43
  await expect(accountStakingInfoService.fetchAccountStakingInfo(mock_1.blockHash789629, mock_1.testAddress)).rejects.toStrictEqual(new http_errors_1.InternalServerError(`Staking ledger could not be found for controller address "${mock_1.testAddressController.toString()}"`));
28
- mock_1.mockApi.query.staking.ledger.at = mock_1.ledgerAt;
44
+ mockApi.query.staking.ledger.at = exports.ledgerAt;
29
45
  });
30
46
  });
31
47
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsStakingInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsStakingInfoService.spec.ts"],"names":[],"mappings":";;;;;AAAA,uDAAuD;AACvD,+DAA+D;AAC/D,6CAA8D;AAE9D,oEAAiE;AACjE,8DAAiE;AACjE,+CAO8B;AAC9B,uHAAuF;AACvF,6EAA0E;AAE1E,MAAM,yBAAyB,GAAG,IAAI,uDAA0B,CAAC,cAAO,CAAC,CAAC;AAE1E,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC3C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,CACL,IAAA,iCAAe,EACd,MAAM,yBAAyB,CAAC,uBAAuB,CACtD,sBAAe,EACf,kBAAW,CACX,CACD,CACD,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAc,CAAC,EAAE,GAAG,GAAG,EAAE,CAC/C,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3B,6BAAgB,CAAC,UAAU,CAAC,mBAAmB,EAAE,IAAI,CAAC,CACtD,CAAC;YAEH,MAAM,MAAM,CACX,yBAAyB,CAAC,uBAAuB,CAChD,sBAAe,EACf,UAAU,CACV,CACD,CAAC,OAAO,CAAC,aAAa,CACtB,IAAI,wBAAU,CAAC,8CAA8C,CAAC,CAC9D,CAAC;YAED,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAc,CAAC,EAAE,GAAG,eAAQ,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAc,CAAC,EAAE,GAAG,GAAG,EAAE,CAC/C,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3B,6BAAgB,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAC1D,CAAC;YAEH,MAAM,MAAM,CACX,yBAAyB,CAAC,uBAAuB,CAChD,sBAAe,EACf,kBAAW,CACX,CACD,CAAC,OAAO,CAAC,aAAa,CACtB,IAAI,iCAAmB,CACtB,6DAA6D,4BAAqB,CAAC,QAAQ,EAAE,GAAG,CAChG,CACD,CAAC;YAED,cAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAc,CAAC,EAAE,GAAG,eAAQ,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AccountsStakingInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsStakingInfoService.spec.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const sanitizeNumbers_1 = require("../../sanitize/sanitizeNumbers");
7
+ const registries_1 = require("../../test-helpers/registries");
7
8
  const mock_1 = require("../test-helpers/mock");
8
9
  const vestingInfo789629_json_1 = __importDefault(require("../test-helpers/responses/accounts/vestingInfo789629.json"));
9
10
  const AccountsVestingInfoService_1 = require("./AccountsVestingInfoService");
10
- const accountsVestingInfoService = new AccountsVestingInfoService_1.AccountsVestingInfoService(mock_1.mockApi);
11
+ const vestingAt = (_hash, _address) => Promise.resolve().then(() => registries_1.polkadotRegistry.createType('Option<VestingInfo>', null));
12
+ const mockApi = {
13
+ ...mock_1.defaultMockApi,
14
+ query: {
15
+ vesting: {
16
+ vesting: { at: vestingAt },
17
+ },
18
+ },
19
+ };
20
+ const accountsVestingInfoService = new AccountsVestingInfoService_1.AccountsVestingInfoService(mockApi);
11
21
  describe('AccountVestingInfoService', () => {
12
22
  describe('fetchAccountVestingInfo', () => {
13
23
  it('works when ApiPromise works (block 789629)', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"AccountsVestingInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsVestingInfoService.spec.ts"],"names":[],"mappings":";;;;;AAAA,oEAAiE;AACjE,+CAA6E;AAC7E,uHAAuF;AACvF,6EAA0E;AAE1E,MAAM,0BAA0B,GAAG,IAAI,uDAA0B,CAAC,cAAO,CAAC,CAAC;AAE3E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,CACL,IAAA,iCAAe,EACd,MAAM,0BAA0B,CAAC,uBAAuB,CACvD,sBAAe,EACf,kBAAW,CACX,CACD,CACD,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AccountsVestingInfoService.spec.js","sourceRoot":"","sources":["../../../../src/services/accounts/AccountsVestingInfoService.spec.ts"],"names":[],"mappings":";;;;;AAGA,oEAAiE;AACjE,8DAAiE;AACjE,+CAI8B;AAC9B,uHAAuF;AACvF,6EAA0E;AAE1E,MAAM,SAAS,GAAG,CAAC,KAAW,EAAE,QAAgB,EAAE,EAAE,CACnD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3B,6BAAgB,CAAC,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,CACxD,CAAC;AAEH,MAAM,OAAO,GAAG;IACf,GAAG,qBAAc;IACjB,KAAK,EAAE;QACN,OAAO,EAAE;YACR,OAAO,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SAC1B;KACD;CACwB,CAAC;AAE3B,MAAM,0BAA0B,GAAG,IAAI,uDAA0B,CAAC,OAAO,CAAC,CAAC;AAE3E,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IAC1C,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,CACL,IAAA,iCAAe,EACd,MAAM,0BAA0B,CAAC,uBAAuB,CACvD,sBAAe,EACf,kBAAW,CACX,CACD,CACD,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ApiPromise } from '@polkadot/api';
2
+ import { ApiDecoration } from '@polkadot/api/types';
2
3
  import { BlockHash, Header } from '@polkadot/types/interfaces';
3
4
  import LRU from 'lru-cache';
4
5
  import { BlockWeightStore } from '../../types/chains-config';
@@ -31,7 +32,7 @@ export declare class BlocksService extends AbstractService {
31
32
  * @param hash `BlockHash` of the block to fetch.
32
33
  * @param FetchBlockOptions options for additonal information.
33
34
  */
34
- fetchBlock(hash: BlockHash, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }: FetchBlockOptions): Promise<IBlock>;
35
+ fetchBlock(hash: BlockHash, historicApi: ApiDecoration<'promise'>, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }: FetchBlockOptions): Promise<IBlock>;
35
36
  /**
36
37
  * Return the header of a block
37
38
  *
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BlocksService = void 0;
4
+ const util_1 = require("@polkadot/api-derive/type/util");
4
5
  const types_1 = require("@polkadot/types");
5
- const types_2 = require("@polkadot/types");
6
- const util_1 = require("@polkadot/util");
6
+ const util_2 = require("@polkadot/util");
7
7
  const util_crypto_1 = require("@polkadot/util-crypto");
8
8
  const calc_1 = require("@substrate/calc");
9
9
  const http_errors_1 = require("http-errors");
10
10
  const chains_config_1 = require("../../types/chains-config");
11
11
  const responses_1 = require("../../types/responses");
12
- const util_2 = require("../../types/util");
12
+ const util_3 = require("../../types/util");
13
13
  const AbstractService_1 = require("../AbstractService");
14
14
  /**
15
15
  * Event methods that we check for.
@@ -32,7 +32,7 @@ class BlocksService extends AbstractService_1.AbstractService {
32
32
  * @param hash `BlockHash` of the block to fetch.
33
33
  * @param FetchBlockOptions options for additonal information.
34
34
  */
35
- async fetchBlock(hash, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }) {
35
+ async fetchBlock(hash, historicApi, { eventDocs, extrinsicDocs, checkFinalized, queryFinalizedHead, omitFinalizedTag, }) {
36
36
  var _a;
37
37
  const { api } = this;
38
38
  // Before making any api calls check the cache if the queried block exists
@@ -40,18 +40,19 @@ class BlocksService extends AbstractService_1.AbstractService {
40
40
  if (isBlockCached) {
41
41
  return isBlockCached;
42
42
  }
43
- const [deriveBlock, events, finalizedHead] = await Promise.all([
44
- api.derive.chain.getBlock(hash),
45
- this.fetchEvents(api, hash),
43
+ const [{ block }, validators, events, finalizedHead] = await Promise.all([
44
+ api.rpc.chain.getBlock(hash),
45
+ historicApi.query.session.validators(),
46
+ this.fetchEvents(historicApi),
46
47
  queryFinalizedHead
47
48
  ? api.rpc.chain.getFinalizedHead()
48
49
  : Promise.resolve(hash),
49
50
  ]);
50
- if (deriveBlock === undefined) {
51
+ if (block === undefined) {
51
52
  throw new http_errors_1.InternalServerError('Error querying for block');
52
53
  }
53
- const { block, author: authorId } = deriveBlock;
54
54
  const { parentHash, number, stateRoot, extrinsicsRoot, digest } = block.header;
55
+ const authorId = (0, util_1.extractAuthor)(digest, validators);
55
56
  const logs = digest.logs.map(({ type, index, value }) => {
56
57
  return { type, index, value };
57
58
  });
@@ -87,7 +88,7 @@ class BlocksService extends AbstractService_1.AbstractService {
87
88
  }
88
89
  else {
89
90
  // This runtime supports fee calc
90
- const createCalcFee = await this.createCalcFee(api, parentHash, block);
91
+ const createCalcFee = await this.createCalcFee(api, historicApi, parentHash, block);
91
92
  calcFee = createCalcFee.calcFee;
92
93
  specName = createCalcFee.specName;
93
94
  specVersion = createCalcFee.specVersion;
@@ -234,8 +235,8 @@ class BlocksService extends AbstractService_1.AbstractService {
234
235
  // since it is a storage query.
235
236
  const registry = typeof events === 'string' ? block.registry : events.registry;
236
237
  return block.extrinsics.map((extrinsic) => {
237
- const { method, nonce, signature, signer, isSigned, tip } = extrinsic;
238
- const hash = (0, util_1.u8aToHex)((0, util_crypto_1.blake2AsU8a)(extrinsic.toU8a(), 256));
238
+ const { method, nonce, signature, signer, isSigned, tip, era } = extrinsic;
239
+ const hash = (0, util_2.u8aToHex)((0, util_crypto_1.blake2AsU8a)(extrinsic.toU8a(), 256));
239
240
  const call = registry.createType('Call', method);
240
241
  return {
241
242
  method: {
@@ -248,6 +249,7 @@ class BlocksService extends AbstractService_1.AbstractService {
248
249
  tip: isSigned ? tip : null,
249
250
  hash,
250
251
  info: {},
252
+ era,
251
253
  events: [],
252
254
  success: defaultSuccess,
253
255
  // paysFee overrides to bool if `system.ExtrinsicSuccess|ExtrinsicFailed` event is present
@@ -294,7 +296,7 @@ class BlocksService extends AbstractService_1.AbstractService {
294
296
  event.method === Event.failure) {
295
297
  const sanitizedData = event.data.toJSON();
296
298
  for (const data of sanitizedData) {
297
- if (extrinsic.signature && (0, util_2.isPaysFee)(data)) {
299
+ if (extrinsic.signature && (0, util_3.isPaysFee)(data)) {
298
300
  extrinsic.paysFee =
299
301
  data.paysFee === true || data.paysFee === 'Yes';
300
302
  break;
@@ -324,7 +326,7 @@ class BlocksService extends AbstractService_1.AbstractService {
324
326
  * @param parentHash Hash of the parent block
325
327
  * @param block Block which the extrinsic is from
326
328
  */
327
- async createCalcFee(api, parentHash, block) {
329
+ async createCalcFee(api, historicApi, parentHash, block) {
328
330
  var _a, _b, _c;
329
331
  var _d;
330
332
  const parentParentHash = await this.getParentParentHash(api, parentHash, block);
@@ -337,11 +339,15 @@ class BlocksService extends AbstractService_1.AbstractService {
337
339
  specName,
338
340
  };
339
341
  }
342
+ /**
343
+ * This will remain using the original api.query.*.*.at to retrieve the multiplier
344
+ * of the `parentHash` block.
345
+ */
340
346
  const multiplier = await ((_b = (_a = api.query.transactionPayment) === null || _a === void 0 ? void 0 : _a.nextFeeMultiplier) === null || _b === void 0 ? void 0 : _b.at(parentHash));
341
- const perByte = (_c = api.consts.transactionPayment) === null || _c === void 0 ? void 0 : _c.transactionByteFee;
342
- const extrinsicBaseWeightExists = api.consts.system.extrinsicBaseWeight ||
343
- api.consts.system.blockWeights.perClass.normal.baseExtrinsic;
344
- const { weightToFee } = api.consts.transactionPayment;
347
+ const perByte = (_c = historicApi.consts.transactionPayment) === null || _c === void 0 ? void 0 : _c.transactionByteFee;
348
+ const extrinsicBaseWeightExists = historicApi.consts.system.extrinsicBaseWeight ||
349
+ historicApi.consts.system.blockWeights.perClass.normal.baseExtrinsic;
350
+ const { weightToFee } = historicApi.consts.transactionPayment;
345
351
  if (!perByte || !extrinsicBaseWeightExists || !multiplier || !weightToFee) {
346
352
  // This particular runtime version is not supported with fee calcs or
347
353
  // does not have the necessay materials to build calcFee
@@ -362,7 +368,7 @@ class BlocksService extends AbstractService_1.AbstractService {
362
368
  });
363
369
  // Now that we know the exact runtime supports fee calcs, make sure we have
364
370
  // the weights in the store
365
- (_d = this.blockWeightStore)[specVersion] || (_d[specVersion] = await this.getWeight(api, parentHash));
371
+ (_d = this.blockWeightStore)[specVersion] || (_d[specVersion] = this.getWeight(historicApi));
366
372
  const calcFee = calc_1.CalcFee.from_params(coefficients, multiplier.toString(10), perByte.toString(10), specName, specVersion);
367
373
  return {
368
374
  calcFee,
@@ -377,10 +383,9 @@ class BlocksService extends AbstractService_1.AbstractService {
377
383
  * @param blockHash Hash of a block in the runtime to get the extrinsic base weight(s) for
378
384
  * @returns formatted block weight store entry
379
385
  */
380
- async getWeight(api, blockHash) {
386
+ getWeight(historicApi) {
381
387
  var _a, _b;
382
- const metadata = await api.rpc.state.getMetadata(blockHash);
383
- const { consts: { system }, } = (0, types_1.expandMetadata)(api.registry, metadata);
388
+ const { consts: { system }, } = historicApi;
384
389
  let weightValue;
385
390
  if ((_a = system.blockWeights) === null || _a === void 0 ? void 0 : _a.perClass) {
386
391
  const { normal, operational, mandatory } = (_b = system.blockWeights) === null || _b === void 0 ? void 0 : _b.perClass;
@@ -433,9 +438,9 @@ class BlocksService extends AbstractService_1.AbstractService {
433
438
  * @param api ApiPromise to use for query
434
439
  * @param hash `BlockHash` to make query at
435
440
  */
436
- async fetchEvents(api, hash) {
441
+ async fetchEvents(historicApi) {
437
442
  try {
438
- return await api.query.system.events.at(hash);
443
+ return await historicApi.query.system.events();
439
444
  }
440
445
  catch {
441
446
  return 'Unable to fetch Events, cannot confirm extrinsic status. Check pruning settings on the node.';
@@ -449,7 +454,7 @@ class BlocksService extends AbstractService_1.AbstractService {
449
454
  */
450
455
  parseArrayGenericCalls(argsArray, registry) {
451
456
  return argsArray.map((argument) => {
452
- if (argument instanceof types_2.GenericCall) {
457
+ if (argument instanceof types_1.GenericCall) {
453
458
  return this.parseGenericCall(argument, registry);
454
459
  }
455
460
  return argument;
@@ -475,7 +480,7 @@ class BlocksService extends AbstractService_1.AbstractService {
475
480
  if (Array.isArray(argument)) {
476
481
  newArgs[paramName] = this.parseArrayGenericCalls(argument, registry);
477
482
  }
478
- else if (argument instanceof types_2.GenericCall) {
483
+ else if (argument instanceof types_1.GenericCall) {
479
484
  newArgs[paramName] = this.parseGenericCall(argument, registry);
480
485
  }
481
486
  else if (paramName === 'call' && (argument === null || argument === void 0 ? void 0 : argument.toRawType()) === 'Bytes') {
@@ -1 +1 @@
1
- {"version":3,"file":"BlocksService.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BlocksService.js","sourceRoot":"","sources":["../../../../src/services/blocks/BlocksService.ts"],"names":[],"mappings":";;;AAEA,yDAA+D;AAC/D,2CAAoE;AAapE,yCAA0C;AAC1C,uDAAoD;AACpD,0CAA0C;AAC1C,6CAA8D;AAG9D,6DAMmC;AACnC,qDAQ+B;AAE/B,2CAA6C;AAC7C,wDAAqD;AAkBrD;;GAEG;AACH,IAAK,KAGJ;AAHD,WAAK,KAAK;IACT,qCAA4B,CAAA;IAC5B,oCAA2B,CAAA;AAC5B,CAAC,EAHI,KAAK,KAAL,KAAK,QAGT;AAED,MAAa,aAAc,SAAQ,iCAAe;IACjD,YACC,GAAe,EACP,iBAAkC,EAClC,UAA+B,EAC/B,mBAAqC,EAAE;QAE/C,KAAK,CAAC,GAAG,CAAC,CAAC;QAJH,sBAAiB,GAAjB,iBAAiB,CAAiB;QAClC,eAAU,GAAV,UAAU,CAAqB;QAC/B,qBAAgB,GAAhB,gBAAgB,CAAuB;IAGhD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACf,IAAe,EACf,WAAqC,EACrC,EACC,SAAS,EACT,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACG;;QAEpB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAErB,0EAA0E;QAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3D,IAAI,aAAa,EAAE;YAClB,OAAO,aAAa,CAAC;SACrB;QAED,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;YAC7B,kBAAkB;gBACjB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE;gBAClC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,CAAC,CAAC;QAEH,IAAI,KAAK,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,iCAAmB,CAAC,0BAA0B,CAAC,CAAC;SAC1D;QAED,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,GAC9D,KAAK,CAAC,MAAM,CAAC;QAEd,MAAM,QAAQ,GAAG,IAAA,oBAAa,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YACvD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CACpD,KAAK,EACL,MAAM,EACN,aAAa,CACb,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CACnE,MAAM,EACN,sBAAsB,EACtB,IAAI,EACJ,SAAS,CACT,CAAC;QAEF,IAAI,SAAS,GAAG,SAAS,CAAC;QAE1B,IAAI,CAAC,gBAAgB,EAAE;YACtB,4CAA4C;YAC5C,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACtC,GAAG,EACH,MAAM,EACN,IAAI,EACJ,aAAa,EACb,cAAc,CACd,CAAC;SACF;QAED,kFAAkF;QAClF,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;YACtC,OAAO;gBACN,MAAM;gBACN,IAAI;gBACJ,UAAU;gBACV,SAAS;gBACT,cAAc;gBACd,QAAQ;gBACR,IAAI;gBACJ,YAAY;gBACZ,UAAU;gBACV,UAAU;gBACV,SAAS;aACT,CAAC;SACF;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;QACnC,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACpC,6FAA6F;YAC7F,WAAW,GAAG,CAAC,CAAC,CAAC;YACjB,QAAQ,GAAG,OAAO,CAAC;YACnB,OAAO,GAAG,SAAS,CAAC;SACpB;aAAM;YACN,iCAAiC;YACjC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAC7C,GAAG,EACH,WAAW,EACX,UAAU,EACV,KAAK,CACL,CAAC;YACF,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;YAChC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;YAClC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC;SACxC;QAED,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;gBAChE,SAAS;aACT;YAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;gBACpC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG;oBACtB,KAAK,EAAE,gDAAgD;iBACvD,CAAC;gBACF,SAAS;aACT;YAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;gBAC9C,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG;oBACtB,KAAK,EAAE,qCAAqC,WAAW,IAAI,QAAQ,EAAE;iBACrE,CAAC;gBACF,SAAS;aACT;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CACnC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACd,IAAA,yBAAa,EAAC,MAAM,CAAC;gBACrB,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,CACrE,CAAC;YAEF,IAAI,CAAC,cAAc,EAAE;gBACpB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG;oBACtB,KAAK,EAAE,uDAAuD;iBAC9D,CAAC;gBAEF,SAAS;aACT;YAED,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,aAAa,EAAE;gBACnB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG;oBACtB,KAAK,EACJ,uEAAuE;iBACxE,CAAC;gBAEF,SAAS;aACT;YAED,qEAAqE;YACrE,2BAA2B;YAC3B,MAAM,UAAU,GAAG,aAAa,CAC/B,aAAa,CAAC,MAAM,GAAG,CAAC,CACR,CAAC;YAClB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;gBACvB,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG;oBACtB,KAAK,EACJ,gEAAgE;iBACjE,CAAC;gBAEF,SAAS;aACT;YAED,8DAA8D;YAC9D,+BAA+B;YAC/B,IAAI,eAAe,GAAoB,QAAQ,CAAC;YAChD,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE;gBACjC,eAAe,GAAG,WAAW,CAAC;aAC9B;iBAAM,IAAI,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC1C,eAAe,GAAG,aAAa,CAAC;aAChC;YAED;;;;;eAKG;YACH,sDAAsD;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,mBAAmB,CAAC;YACxB,IAAI,IAAA,oCAAoB,EAAC,YAAY,CAAC,EAAE;gBACvC,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;aACvD;iBAAM,IAAI,IAAA,+BAAe,EAAC,YAAY,CAAC,EAAE;gBACzC,mBAAmB;oBAClB,MAAA,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,0CAAE,aAAa,CAAC;aACvD;YAED,IAAI,CAAC,mBAAmB,EAAE;gBACzB,MAAM,IAAI,iCAAmB,CAAC,oCAAoC,CAAC,CAAC;aACpE;YAED,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC;YAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAEjC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EACzB,GAAG,EACH,mBAAmB,CACnB,CAAC;YAEF,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,qBAAqB,EAAE;gBAC5D,MAAM;gBACN,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,UAAU,EAAE,UAAU;aACtB,CAAC,CAAC;SACH;QAED,MAAM,QAAQ,GAAG;YAChB,MAAM;YACN,IAAI;YACJ,UAAU;YACV,SAAS;YACT,cAAc;YACd,QAAQ;YACR,IAAI;YACJ,YAAY;YACZ,UAAU;YACV,UAAU;YACV,SAAS;SACT,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAgB;QACtC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAErB,MAAM,MAAM,GAAG,IAAI;YAClB,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAEnC,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACpB,KAAa,EACb,cAAsB;QAEtB,IAAI,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,MAAM,IAAI,wBAAU,CAAC,2CAA2C,CAAC,CAAC;SAClE;QAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE5C,OAAO;YACN,EAAE,EAAE;gBACH,MAAM;gBACN,IAAI;aACJ;YACD,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC;SAC5C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACxB,KAAY,EACZ,MAAiC,EACjC,aAAsB;QAEtB,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,kFAAkF;QAClF,yEAAyE;QACzE,2EAA2E;QAC3E,qDAAqD;QACrD,0EAA0E;QAC1E,+BAA+B;QAC/B,MAAM,QAAQ,GACb,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE/D,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAC7D,SAAS,CAAC;YACX,MAAM,IAAI,GAAG,IAAA,eAAQ,EAAC,IAAA,yBAAW,EAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAEjD,OAAO;gBACN,MAAM,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,OAAO;oBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACrB;gBACD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;gBAClD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC9B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI;gBAChD,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1B,IAAI;gBACJ,IAAI,EAAE,EAAE;gBACR,GAAG;gBACH,MAAM,EAAE,EAAuB;gBAC/B,OAAO,EAAE,cAAc;gBACvB,0FAA0F;gBAC1F,iEAAiE;gBACjE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;gBAChC,IAAI,EAAE,aAAa;oBAClB,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,CAAC,CAAC,SAAS;aACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACrB,MAA8B,EAC9B,UAAwB,EACxB,IAAe,EACf,SAAkB;QAElB,MAAM,YAAY,GAAG,EAAE,MAAM,EAAE,EAAuB,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,EAAuB,EAAE,CAAC;QAEvD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1B,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE;gBAC5B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;gBAEhC,MAAM,cAAc,GAAG;oBACtB,MAAM,EAAE;wBACP,MAAM,EAAE,KAAK,CAAC,OAAO;wBACrB,MAAM,EAAE,KAAK,CAAC,MAAM;qBACpB;oBACD,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;iBACrE,CAAC;gBAEF,IAAI,KAAK,CAAC,gBAAgB,EAAE;oBAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;oBACvD,MAAM,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;oBAE3C,IAAI,CAAC,SAAS,EAAE;wBACf,MAAM,IAAI,KAAK,CACd,qBAAqB,YAAY,aAAa,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC/D,CAAC;qBACF;oBAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAAE;wBACnC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;qBACzB;oBAED,IACC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO;wBAC9B,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,EAC7B;wBACD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAe,CAAC;wBAEvD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;4BACjC,IAAI,SAAS,CAAC,SAAS,IAAI,IAAA,gBAAS,EAAC,IAAI,CAAC,EAAE;gCAC3C,SAAS,CAAC,OAAO;oCAChB,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC;gCAEjD,MAAM;6BACN;yBACD;qBACD;oBAED,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtC;qBAAM,IAAI,KAAK,CAAC,cAAc,EAAE;oBAChC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACvC;qBAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE;oBAClC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACzC;aACD;SACD;QAED,OAAO;YACN,UAAU;YACV,YAAY;YACZ,UAAU;SACV,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CAC1B,GAAe,EACf,WAAqC,EACrC,UAAgB,EAChB,KAAY;;;QAEZ,MAAM,gBAAgB,GAAS,MAAM,IAAI,CAAC,mBAAmB,CAC5D,GAAG,EACH,UAAU,EACV,KAAK,CACL,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAEnD,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE;YACnE,OAAO;gBACN,WAAW;gBACX,QAAQ;aACR,CAAC;SACF;QAED;;;WAGG;QACH,MAAM,UAAU,GACf,MAAM,CAAA,MAAA,MAAA,GAAG,CAAC,KAAK,CAAC,kBAAkB,0CAAE,iBAAiB,0CAAE,EAAE,CAAC,UAAU,CAAC,CAAA,CAAC;QAEvE,MAAM,OAAO,GAAG,MAAA,WAAW,CAAC,MAAM,CAAC,kBAAkB,0CAAE,kBAAkB,CAAC;QAC1E,MAAM,yBAAyB,GAC9B,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB;YAC7C,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;QACtE,MAAM,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAE9D,IAAI,CAAC,OAAO,IAAI,CAAC,yBAAyB,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;YAC1E,qEAAqE;YACrE,wDAAwD;YACxD,OAAO;gBACN,WAAW;gBACX,QAAQ;aACR,CAAC;SACF;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1C,OAAO;gBACN,8EAA8E;gBAC9E,uBAAuB;gBACvB,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACjC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC3B,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2EAA2E;QAC3E,2BAA2B;QAC3B,MAAA,IAAI,CAAC,gBAAgB,EAAC,WAAW,SAAX,WAAW,IAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAC;QAEnE,MAAM,OAAO,GAAG,cAAO,CAAC,WAAW,CAClC,YAAY,EACZ,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EACvB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EACpB,QAAQ,EACR,WAAW,CACX,CAAC;QAEF,OAAO;YACN,OAAO;YACP,QAAQ;YACR,WAAW;SACX,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,WAAqC;;QACtD,MAAM,EACL,MAAM,EAAE,EAAE,MAAM,EAAE,GAClB,GAAG,WAAW,CAAC;QAEhB,IAAI,WAAW,CAAC;QAChB,IAAI,MAAC,MAAM,CAAC,YAAwC,0CAAE,QAAQ,EAAE;YAC/D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAC1C,MAAM,CAAC,YACP,0CAAE,QAAQ,CAAC;YAEZ,MAAM,QAAQ,GAAG;gBAChB,MAAM,EAAE;oBACP,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE;iBAC9C;gBACD,WAAW,EAAE;oBACZ,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE;iBACnD;gBACD,SAAS,EAAE;oBACV,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE;iBACjD;aACD,CAAC;YAEF,WAAW,GAAG,EAAE,QAAQ,EAAE,CAAC;SAC3B;aAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE;YACtC,WAAW,GAAG;gBACb,mBAAmB,EAClB,MAAM,CAAC,mBACP,CAAC,QAAQ,EAAE;aACZ,CAAC;SACF;aAAM;YACN,MAAM,IAAI,iCAAmB,CAC5B,oDAAoD,CACpD,CAAC;SACF;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,mBAAmB,CAChC,GAAe,EACf,UAAgB,EAChB,KAAY;QAEZ,IAAI,gBAAsB,CAAC;QAC3B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YACvC,gBAAgB,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;SAC1E;aAAM;YACN,gBAAgB,GAAG,UAAU,CAAC;SAC9B;QAED,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,WAAW,CACxB,WAAqC;QAErC,IAAI;YACH,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SAC/C;QAAC,MAAM;YACP,OAAO,8FAA8F,CAAC;SACtG;IACF,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAC7B,SAAkB,EAClB,QAAkB;QAElB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjC,IAAI,QAAQ,YAAY,mBAAW,EAAE;gBACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACjD;YAED,OAAO,QAAQ,CAAC;QACjB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CACvB,WAAwB,EACxB,QAAkB;QAElB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,gDAAgD;QAChD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAW,CAAC;QAEnD,uDAAuD;QACvD,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;YACjC,wBAAwB;YACxB,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBAC5B,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBACrE;qBAAM,IAAI,QAAQ,YAAY,mBAAW,EAAE;oBAC3C,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC/D;qBAAM,IAAI,SAAS,KAAK,MAAM,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,EAAE,MAAK,OAAO,EAAE;oBACrE,gEAAgE;oBAChE,qEAAqE;oBACrE,IAAI;wBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC3D,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;qBAC3D;oBAAC,MAAM;wBACP,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;qBAC9B;iBACD;qBAAM;oBACN,OAAO,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;iBAC9B;aACD;SACD;QAED,OAAO;YACN,MAAM,EAAE;gBACP,MAAM,EAAE,WAAW,CAAC,OAAO;gBAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;aAC1B;YACD,IAAI,EAAE,OAAO;SACb,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,gBAAgB,CAC7B,GAAe,EACf,WAAiC,EACjC,WAAsB,EACtB,aAAwB,EACxB,cAAuB;QAEvB,IAAI,cAAc,EAAE;YACnB,kCAAkC;YAClC,MAAM,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzD,0DAA0D;gBAC1D,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;gBACtC,oEAAoE;gBACpE,mEAAmE;gBACnE,gEAAgE;gBAChE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aAChD,CAAC,CAAC;YAEH,wDAAwD;YACxD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAEjC,mEAAmE;YACnE,gEAAgE;YAChE,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;gBAC/B,OAAO,KAAK,CAAC;aACb;YAED,0CAA0C;YAC1C,MAAM,wBAAwB,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,CAAC;YAE5D,8DAA8D;YAC9D,IAAI,CAAC,wBAAwB,EAAE;gBAC9B,OAAO,KAAK,CAAC;aACb;YAED,yEAAyE;YACzE,wCAAwC;YACxC,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;aAAM;YACN,sCAAsC;YAEtC,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAExE,0CAA0C;YAC1C,MAAM,wBAAwB,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,MAAM,CAAC;YAE5D,8DAA8D;YAC9D,IAAI,CAAC,wBAAwB,EAAE;gBAC9B,OAAO,KAAK,CAAC;aACb;YAED,yEAAyE;YACzE,wCAAwC;YACxC,OAAO,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,MAAM,EAAE,CAAC,CAAC;SACnE;IACF,CAAC;CACD;AA7sBD,sCA6sBC"}