@paulstinchcombe/gasless-nft-tx 0.8.21 → 0.8.23

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.
@@ -34,7 +34,7 @@ export interface SponsoredMintParams {
34
34
  tokenPrice: bigint | string;
35
35
  uri: string;
36
36
  mintRoyalties: RoyaltyData[];
37
- userPrivateKey: `0x${string}`;
37
+ userPrivateKey?: `0x${string}`;
38
38
  }
39
39
  /**
40
40
  * Rental operation parameters
@@ -166,6 +166,14 @@ export declare class KamiSponsoredOperations {
166
166
  balance: bigint;
167
167
  reason?: string;
168
168
  }>;
169
+ /**
170
+ * Refund tokens to user if minting fails after token transfer
171
+ */
172
+ private refundTokensToUser;
173
+ /**
174
+ * Clean up ETH from user EOA by transferring it back to platform EOA
175
+ */
176
+ private cleanupUserEth;
169
177
  }
170
178
  /**
171
179
  * Utility function to create user signature data for operations
@@ -1 +1 @@
1
- {"version":3,"file":"kami-sponsored-operations.d.ts","sourceRoot":"","sources":["../src/kami-sponsored-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kami-sponsored-operations.d.ts","sourceRoot":"","sources":["../src/kami-sponsored-operations.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,10 @@ class KamiSponsoredOperations {
45
45
  const tokenPrice = typeof params.tokenPrice === 'string' ? BigInt(params.tokenPrice) : params.tokenPrice;
46
46
  console.log(` Price: ${Number(tokenPrice) / 1e18} ETH`);
47
47
  console.log(` 💰 Platform pays ALL gas - User pays ZERO`);
48
+ // Track state for cleanup if minting fails
49
+ let userFunded = false;
50
+ let tokensTransferred = false;
51
+ let userAccount = null;
48
52
  try {
49
53
  // Verify user signature
50
54
  const isValidSignature = await this.verifyUserSignature(userSignature);
@@ -151,135 +155,197 @@ class KamiSponsoredOperations {
151
155
  };
152
156
  }
153
157
  console.log('✅ User EOA funded with gas');
158
+ userFunded = true;
154
159
  }
155
160
  else {
156
161
  console.log('✅ User EOA already has sufficient gas');
157
162
  }
158
163
  // Extract user's private key from parameters and create user account
159
164
  console.log('🔐 Using user private key from parameters...');
160
- const userAccount = (0, accounts_1.privateKeyToAccount)(params.userPrivateKey);
161
- // Verify the user account matches the recipient
162
- if (userAccount.address.toLowerCase() !== params.recipient.toLowerCase()) {
163
- console.log('⚠️ User account mismatch!');
164
- console.log(` Expected: ${params.recipient}`);
165
- console.log(` Got: ${userAccount.address}`);
166
- return {
167
- success: false,
168
- error: 'User private key does not match recipient address',
169
- };
165
+ // Check if user private key is provided
166
+ if (!params.userPrivateKey) {
167
+ console.log('⚠️ User private key not provided in parameters');
168
+ console.log(' 💡 Frontend needs to include userPrivateKey in mint parameters');
169
+ console.log(' 🔧 For now, we will skip the token transfer and proceed with minting');
170
+ console.log(' 💰 The SimpleAccount will handle the payment directly');
171
+ // Skip token transfer for now
172
+ console.log('💡 Token transfer skipped - userPrivateKey not provided');
173
+ console.log(' 🔧 In production, frontend should provide userPrivateKey');
174
+ console.log(' 💰 For now, SimpleAccount will handle payment directly');
170
175
  }
171
- console.log('✅ User private key matches recipient address');
172
- // Check if user has approved the SimpleAccount to spend their tokens
173
- const allowance = await this.publicClient.readContract({
174
- address: this.config.paymentToken,
175
- abi: [
176
- {
177
- type: 'function',
178
- name: 'allowance',
179
- inputs: [
180
- { name: 'owner', type: 'address' },
181
- { name: 'spender', type: 'address' },
182
- ],
183
- outputs: [{ name: '', type: 'uint256' }],
184
- },
185
- ],
186
- functionName: 'allowance',
187
- args: [params.recipient, this.config.platformSimpleAccountAddress],
188
- });
189
- console.log(` User allowance for SimpleAccount: ${allowance.toString()}`);
190
- console.log(` Required allowance: ${tokenPrice.toString()}`);
191
- // If insufficient allowance, user EOA needs to approve the SimpleAccount
192
- if (allowance < tokenPrice) {
193
- console.log('🔐 User EOA approving SimpleAccount to spend tokens...');
194
- console.log(' 💡 User EOA signs approval transaction (user pays gas from funded ETH)');
195
- // Create a wallet client for the user
176
+ else {
177
+ userAccount = (0, accounts_1.privateKeyToAccount)(params.userPrivateKey);
178
+ // Verify the user account matches the recipient
179
+ if (userAccount.address.toLowerCase() !== params.recipient.toLowerCase()) {
180
+ console.log('⚠️ User account mismatch!');
181
+ console.log(` Expected: ${params.recipient}`);
182
+ console.log(` Got: ${userAccount.address}`);
183
+ return {
184
+ success: false,
185
+ error: 'User private key does not match recipient address',
186
+ };
187
+ }
188
+ console.log('✅ User private key matches recipient address');
189
+ }
190
+ // Only proceed with token transfer if user private key is provided
191
+ if (params.userPrivateKey && userAccount) {
192
+ // Check if user has approved the SimpleAccount to spend their tokens
193
+ const allowance = await this.publicClient.readContract({
194
+ address: this.config.paymentToken,
195
+ abi: [
196
+ {
197
+ type: 'function',
198
+ name: 'allowance',
199
+ inputs: [
200
+ { name: 'owner', type: 'address' },
201
+ { name: 'spender', type: 'address' },
202
+ ],
203
+ outputs: [{ name: '', type: 'uint256' }],
204
+ },
205
+ ],
206
+ functionName: 'allowance',
207
+ args: [params.recipient, this.config.platformSimpleAccountAddress],
208
+ });
209
+ console.log(` User allowance for SimpleAccount: ${allowance.toString()}`);
210
+ console.log(` Required allowance: ${tokenPrice.toString()}`);
211
+ // If insufficient allowance, user EOA needs to approve the SimpleAccount
212
+ if (allowance < tokenPrice) {
213
+ console.log('🔐 User EOA approving SimpleAccount to spend tokens...');
214
+ console.log(' 💡 User EOA signs approval transaction (user pays gas from funded ETH)');
215
+ // Get current nonce for user EOA
216
+ const userNonce = await this.publicClient.getTransactionCount({
217
+ address: params.recipient,
218
+ blockTag: 'pending',
219
+ });
220
+ console.log(` 📊 Using nonce: ${userNonce} for approval transaction`);
221
+ // Create a wallet client for the user
222
+ const userWalletClient = (0, viem_1.createWalletClient)({
223
+ account: userAccount,
224
+ transport: (0, viem_1.http)(this.config.rpcUrl),
225
+ chain: this.config.chain || chains_1.baseSepolia,
226
+ });
227
+ // User EOA signs the approval transaction
228
+ const approveTx = await userWalletClient.sendTransaction({
229
+ account: userAccount,
230
+ to: this.config.paymentToken,
231
+ data: (0, viem_1.encodeFunctionData)({
232
+ abi: [
233
+ {
234
+ type: 'function',
235
+ name: 'approve',
236
+ inputs: [
237
+ { name: 'spender', type: 'address' },
238
+ { name: 'amount', type: 'uint256' },
239
+ ],
240
+ outputs: [{ name: '', type: 'bool' }],
241
+ },
242
+ ],
243
+ functionName: 'approve',
244
+ args: [this.config.platformSimpleAccountAddress, tokenPrice],
245
+ }),
246
+ gas: 100000n,
247
+ chain: this.config.chain || chains_1.baseSepolia,
248
+ nonce: userNonce,
249
+ });
250
+ console.log(` Approval transaction: ${approveTx}`);
251
+ const approveReceipt = await this.publicClient.waitForTransactionReceipt({ hash: approveTx });
252
+ if (approveReceipt.status !== 'success') {
253
+ return {
254
+ success: false,
255
+ error: `Failed to approve SimpleAccount: ${approveReceipt.status}`,
256
+ };
257
+ }
258
+ console.log('✅ SimpleAccount approved to spend user tokens');
259
+ }
260
+ else {
261
+ console.log('✅ SimpleAccount already has sufficient allowance');
262
+ }
263
+ // Now user EOA transfers tokens to SimpleAccount
264
+ console.log('💸 User EOA transferring tokens to SimpleAccount...');
265
+ console.log(' 💡 User EOA signs transfer transaction (user pays gas from funded ETH)');
266
+ // Get current nonce for user EOA (after approval transaction)
267
+ const userNonce = await this.publicClient.getTransactionCount({
268
+ address: params.recipient,
269
+ blockTag: 'pending',
270
+ });
271
+ console.log(` 📊 Using nonce: ${userNonce} for transfer transaction`);
272
+ // User EOA signs the transfer transaction
196
273
  const userWalletClient = (0, viem_1.createWalletClient)({
197
274
  account: userAccount,
198
275
  transport: (0, viem_1.http)(this.config.rpcUrl),
199
276
  chain: this.config.chain || chains_1.baseSepolia,
200
277
  });
201
- // User EOA signs the approval transaction
202
- const approveTx = await userWalletClient.sendTransaction({
278
+ const transferTx = await userWalletClient.sendTransaction({
279
+ account: userAccount,
203
280
  to: this.config.paymentToken,
204
281
  data: (0, viem_1.encodeFunctionData)({
205
282
  abi: [
206
283
  {
207
284
  type: 'function',
208
- name: 'approve',
285
+ name: 'transfer',
209
286
  inputs: [
210
- { name: 'spender', type: 'address' },
287
+ { name: 'to', type: 'address' },
211
288
  { name: 'amount', type: 'uint256' },
212
289
  ],
213
290
  outputs: [{ name: '', type: 'bool' }],
214
291
  },
215
292
  ],
216
- functionName: 'approve',
293
+ functionName: 'transfer',
217
294
  args: [this.config.platformSimpleAccountAddress, tokenPrice],
218
295
  }),
219
296
  gas: 100000n,
220
297
  chain: this.config.chain || chains_1.baseSepolia,
298
+ nonce: userNonce,
221
299
  });
222
- console.log(` Approval transaction: ${approveTx}`);
223
- const approveReceipt = await this.publicClient.waitForTransactionReceipt({ hash: approveTx });
224
- if (approveReceipt.status !== 'success') {
300
+ console.log(` Transfer transaction: ${transferTx}`);
301
+ const transferReceipt = await this.publicClient.waitForTransactionReceipt({ hash: transferTx });
302
+ if (transferReceipt.status !== 'success') {
225
303
  return {
226
304
  success: false,
227
- error: `Failed to approve SimpleAccount: ${approveReceipt.status}`,
305
+ error: `Token transfer failed with status: ${transferReceipt.status}`,
228
306
  };
229
307
  }
230
- console.log('✅ SimpleAccount approved to spend user tokens');
231
- }
232
- else {
233
- console.log(' SimpleAccount already has sufficient allowance');
308
+ console.log('✅ Tokens transferred to SimpleAccount successfully');
309
+ tokensTransferred = true;
310
+ // Wait for the transfer transaction to be confirmed
311
+ console.log(' Waiting for transfer transaction to be confirmed...');
312
+ await this.publicClient.waitForTransactionReceipt({
313
+ hash: transferTx,
314
+ timeout: 30000, // 30 second timeout
315
+ });
316
+ console.log('✅ Transfer transaction confirmed');
234
317
  }
235
- // Now user EOA transfers tokens to SimpleAccount
236
- console.log('💸 User EOA transferring tokens to SimpleAccount...');
237
- console.log(' 💡 User EOA signs transfer transaction (user pays gas from funded ETH)');
238
- // User EOA signs the transfer transaction
239
- const userWalletClient = (0, viem_1.createWalletClient)({
240
- account: userAccount,
241
- transport: (0, viem_1.http)(this.config.rpcUrl),
242
- chain: this.config.chain || chains_1.baseSepolia,
243
- });
244
- const transferTx = await userWalletClient.sendTransaction({
245
- to: this.config.paymentToken,
246
- data: (0, viem_1.encodeFunctionData)({
247
- abi: [
248
- {
249
- type: 'function',
250
- name: 'transfer',
251
- inputs: [
252
- { name: 'to', type: 'address' },
253
- { name: 'amount', type: 'uint256' },
254
- ],
255
- outputs: [{ name: '', type: 'bool' }],
256
- },
257
- ],
258
- functionName: 'transfer',
259
- args: [this.config.platformSimpleAccountAddress, tokenPrice],
260
- }),
261
- gas: 100000n,
262
- chain: this.config.chain || chains_1.baseSepolia,
318
+ }
319
+ // Check SimpleAccount token balance before minting
320
+ if (tokenPrice > 0n) {
321
+ const simpleAccountBalance = await this.publicClient.readContract({
322
+ address: this.config.paymentToken,
323
+ abi: [
324
+ {
325
+ type: 'function',
326
+ name: 'balanceOf',
327
+ inputs: [{ name: 'account', type: 'address' }],
328
+ outputs: [{ name: '', type: 'uint256' }],
329
+ },
330
+ ],
331
+ functionName: 'balanceOf',
332
+ args: [this.config.platformSimpleAccountAddress],
263
333
  });
264
- console.log(` Transfer transaction: ${transferTx}`);
265
- const transferReceipt = await this.publicClient.waitForTransactionReceipt({ hash: transferTx });
266
- if (transferReceipt.status !== 'success') {
334
+ console.log(` SimpleAccount Token Balance: ${simpleAccountBalance.toString()}`);
335
+ console.log(` Required for minting: ${tokenPrice.toString()}`);
336
+ if (simpleAccountBalance < tokenPrice) {
267
337
  return {
268
338
  success: false,
269
- error: `Token transfer failed with status: ${transferReceipt.status}`,
339
+ error: `Insufficient SimpleAccount token balance: ${simpleAccountBalance.toString()} (required: ${tokenPrice.toString()})`,
270
340
  };
271
341
  }
272
- console.log('✅ Tokens transferred to SimpleAccount successfully');
273
- // Wait for the transfer transaction to be confirmed
274
- console.log('⏳ Waiting for transfer transaction to be confirmed...');
275
- await this.publicClient.waitForTransactionReceipt({
276
- hash: transferTx,
277
- timeout: 30000, // 30 second timeout
278
- });
279
- console.log('✅ Transfer transaction confirmed');
280
342
  }
281
343
  // Now execute the mint operation
282
344
  const result = await this.executeViaPlatformSimpleAccount(contractAddress, abi, 'mintFor', [params.recipient, tokenPrice, params.uri, params.mintRoyalties], userSignature);
345
+ // If minting succeeded, clean up any remaining ETH from user EOA
346
+ if (result.success && userFunded && userAccount) {
347
+ await this.cleanupUserEth(userAccount);
348
+ }
283
349
  if (result.success) {
284
350
  // Extract tokenId from transaction logs
285
351
  const tokenId = await this.extractTokenIdFromTransaction(result.transactionHash, params.recipient);
@@ -291,6 +357,17 @@ class KamiSponsoredOperations {
291
357
  return result;
292
358
  }
293
359
  catch (error) {
360
+ console.log('❌ Error during minting process, initiating cleanup...');
361
+ // If tokens were transferred but minting failed, refund them
362
+ if (tokensTransferred && userAccount) {
363
+ console.log('🔄 Refunding tokens to user...');
364
+ await this.refundTokensToUser(userAccount, tokenPrice);
365
+ }
366
+ // Clean up any ETH that was sent to user EOA
367
+ if (userFunded && userAccount) {
368
+ console.log('🔄 Cleaning up user ETH...');
369
+ await this.cleanupUserEth(userAccount);
370
+ }
294
371
  console.error('❌ Sponsored minting failed:', error);
295
372
  return {
296
373
  success: false,
@@ -828,6 +905,119 @@ class KamiSponsoredOperations {
828
905
  }
829
906
  return { sufficient: true, balance };
830
907
  }
908
+ /**
909
+ * Refund tokens to user if minting fails after token transfer
910
+ */
911
+ async refundTokensToUser(userAccount, tokenAmount) {
912
+ try {
913
+ console.log('🔄 Refunding tokens to user...');
914
+ console.log(` Amount: ${tokenAmount.toString()}`);
915
+ // Get current nonce for user EOA
916
+ const userNonce = await this.publicClient.getTransactionCount({
917
+ address: userAccount.address,
918
+ blockTag: 'pending',
919
+ });
920
+ console.log(` 📊 Using nonce: ${userNonce} for refund transaction`);
921
+ // Create a wallet client for the user
922
+ const userWalletClient = (0, viem_1.createWalletClient)({
923
+ account: userAccount,
924
+ transport: (0, viem_1.http)(this.config.rpcUrl),
925
+ chain: this.config.chain || chains_1.baseSepolia,
926
+ });
927
+ // SimpleAccount transfers tokens back to user
928
+ const refundTx = await userWalletClient.sendTransaction({
929
+ account: userAccount,
930
+ to: this.config.paymentToken,
931
+ data: (0, viem_1.encodeFunctionData)({
932
+ abi: [
933
+ {
934
+ type: 'function',
935
+ name: 'transfer',
936
+ inputs: [
937
+ { name: 'to', type: 'address' },
938
+ { name: 'amount', type: 'uint256' },
939
+ ],
940
+ outputs: [{ name: '', type: 'bool' }],
941
+ },
942
+ ],
943
+ functionName: 'transfer',
944
+ args: [userAccount.address, tokenAmount],
945
+ }),
946
+ gas: 100000n,
947
+ chain: this.config.chain || chains_1.baseSepolia,
948
+ nonce: userNonce,
949
+ });
950
+ console.log(` Refund transaction: ${refundTx}`);
951
+ const refundReceipt = await this.publicClient.waitForTransactionReceipt({ hash: refundTx });
952
+ if (refundReceipt.status === 'success') {
953
+ console.log('✅ Tokens refunded to user successfully');
954
+ }
955
+ else {
956
+ console.log(`❌ Token refund failed: ${refundReceipt.status}`);
957
+ }
958
+ }
959
+ catch (error) {
960
+ console.log(`❌ Error refunding tokens: ${error instanceof Error ? error.message : 'Unknown error'}`);
961
+ }
962
+ }
963
+ /**
964
+ * Clean up ETH from user EOA by transferring it back to platform EOA
965
+ */
966
+ async cleanupUserEth(userAccount) {
967
+ try {
968
+ console.log('🔄 Cleaning up user ETH...');
969
+ // Check user's current ETH balance
970
+ const userEthBalance = await this.publicClient.getBalance({
971
+ address: userAccount.address,
972
+ });
973
+ if (userEthBalance <= 0n) {
974
+ console.log('✅ User EOA has no ETH to clean up');
975
+ return;
976
+ }
977
+ // Reserve some ETH for gas fees (about 0.0005 ETH)
978
+ const gasReserve = (0, viem_1.parseEther)('0.0005');
979
+ const transferAmount = userEthBalance > gasReserve ? userEthBalance - gasReserve : 0n;
980
+ if (transferAmount <= 0n) {
981
+ console.log('✅ User EOA has insufficient ETH to transfer back');
982
+ return;
983
+ }
984
+ console.log(` User ETH Balance: ${(0, viem_1.formatEther)(userEthBalance)} ETH`);
985
+ console.log(` Transferring back: ${(0, viem_1.formatEther)(transferAmount)} ETH`);
986
+ console.log(` Gas reserve: ${(0, viem_1.formatEther)(gasReserve)} ETH`);
987
+ // Get current nonce for user EOA
988
+ const userNonce = await this.publicClient.getTransactionCount({
989
+ address: userAccount.address,
990
+ blockTag: 'pending',
991
+ });
992
+ console.log(` 📊 Using nonce: ${userNonce} for cleanup transaction`);
993
+ // Create a wallet client for the user
994
+ const userWalletClient = (0, viem_1.createWalletClient)({
995
+ account: userAccount,
996
+ transport: (0, viem_1.http)(this.config.rpcUrl),
997
+ chain: this.config.chain || chains_1.baseSepolia,
998
+ });
999
+ // User EOA transfers ETH back to platform EOA
1000
+ const cleanupTx = await userWalletClient.sendTransaction({
1001
+ account: userAccount,
1002
+ to: this.platformAccount.address,
1003
+ value: transferAmount,
1004
+ gas: 21000n, // Simple ETH transfer
1005
+ chain: this.config.chain || chains_1.baseSepolia,
1006
+ nonce: userNonce,
1007
+ });
1008
+ console.log(` Cleanup transaction: ${cleanupTx}`);
1009
+ const cleanupReceipt = await this.publicClient.waitForTransactionReceipt({ hash: cleanupTx });
1010
+ if (cleanupReceipt.status === 'success') {
1011
+ console.log('✅ User ETH cleaned up successfully');
1012
+ }
1013
+ else {
1014
+ console.log(`❌ ETH cleanup failed: ${cleanupReceipt.status}`);
1015
+ }
1016
+ }
1017
+ catch (error) {
1018
+ console.log(`❌ Error cleaning up user ETH: ${error instanceof Error ? error.message : 'Unknown error'}`);
1019
+ }
1020
+ }
831
1021
  }
832
1022
  exports.KamiSponsoredOperations = KamiSponsoredOperations;
833
1023
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"kami-sponsored-operations.js","sourceRoot":"","sources":["../src/kami-sponsored-operations.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAspCH,8EAiBC;AArqCD,+BAYc;AACd,4CAAoD;AACpD,wCAA0C;AAC1C,qEAAiE;AA2FjE;;;GAGG;AACH,MAAa,uBAAuB;IAC3B,YAAY,CAAM;IAClB,YAAY,CAAM;IAClB,MAAM,CAA4B;IAClC,eAAe,CAAoB;IAE3C,YAAY,MAAiC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,GAAG,IAAA,yBAAkB,EAAC;YACtC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,oBAAW;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,IAAA,yBAAkB,EAAC;YACtC,OAAO,EAAE,IAAI,CAAC,eAAe;YAC7B,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,oBAAW;SAClC,CAAC,CAAC;IACJ,CAAC;IAED,+CAA+C;IAE/C;;;OAGG;IACH,KAAK,CAAC,SAAS,CACd,eAAwB,EACxB,YAAoD,EACpD,MAA2B,EAC3B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,KAAK,YAAY,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAEjD,kDAAkD;QAClD,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACzG,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,wBAAwB;YACxB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,wBAAwB;iBAC/B,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gBACzD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBAC7D,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;oBAC5C,GAAG,EAAE;wBACJ;4BACC,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,WAAW;4BACjB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;yBACxC;qBACD;oBACD,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;iBACxB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAEjE,IAAI,gBAAgB,GAAG,UAAU,EAAE,CAAC;oBACnC,OAAO;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,4CAA4C,gBAAgB,eAAe,UAAU,yDAAyD;qBACrJ,CAAC;gBACH,CAAC;YACF,CAAC;YAED,oBAAoB;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8BAA8B,YAAY,EAAE;iBACnD,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;gBACrC,eAAe;gBACf,YAAY,EAAE,SAAS;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;gBACjC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;aACjD,CAAC,CAAC;YAEH,kFAAkF;YAClF,2EAA2E;YAC3E,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;gBAE7E,6BAA6B;gBAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBACxD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;oBAC5C,GAAG,EAAE;wBACJ;4BACC,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,WAAW;4BACjB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;4BAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;yBACxC;qBACD;oBACD,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;iBACxB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAE5D,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;oBAC9B,OAAO;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,oCAAoC,WAAW,CAAC,QAAQ,EAAE,eAAe,UAAU,CAAC,QAAQ,EAAE,GAAG;qBACxG,CAAC;gBACH,CAAC;gBAED,2BAA2B;gBAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;oBACzD,OAAO,EAAE,MAAM,CAAC,SAAS;iBACzB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAA,kBAAW,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAEvE,kDAAkD;gBAClD,MAAM,aAAa,GAAG,IAAA,iBAAU,EAAC,OAAO,CAAC,CAAC,CAAC,kDAAkD;gBAC7F,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAA,kBAAW,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC3E,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAA,kBAAW,EAAC,aAAa,CAAC,MAAM,CAAC,CAAC;oBAElE,yCAAyC;oBACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;wBACtD,OAAO,EAAE,IAAI,CAAC,eAAe;wBAC7B,EAAE,EAAE,MAAM,CAAC,SAAS;wBACpB,KAAK,EAAE,aAAa;wBACpB,GAAG,EAAE,MAAM,EAAE,sBAAsB;qBACnC,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;oBACjD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAExF,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBACtC,OAAO;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,4BAA4B,WAAW,CAAC,MAAM,EAAE;yBACvD,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC3C,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACtD,CAAC;gBAED,qEAAqE;gBACrE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,IAAA,8BAAmB,EAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBAE/D,gDAAgD;gBAChD,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9C,OAAO;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,mDAAmD;qBAC1D,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAE5D,qEAAqE;gBACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;oBACtD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;oBAC5C,GAAG,EAAE;wBACJ;4BACC,IAAI,EAAE,UAAU;4BAChB,IAAI,EAAE,WAAW;4BACjB,MAAM,EAAE;gCACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;gCAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;6BACpC;4BACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;yBACxC;qBACD;oBACD,YAAY,EAAE,WAAW;oBACzB,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC;iBAClE,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,wCAAwC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,0BAA0B,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAE/D,yEAAyE;gBACzE,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;oBACtE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;oBAEzF,sCAAsC;oBACtC,MAAM,gBAAgB,GAAG,IAAA,yBAAkB,EAAC;wBAC3C,OAAO,EAAE,WAAW;wBACpB,SAAS,EAAE,IAAA,WAAI,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;wBACnC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAW;qBACvC,CAAC,CAAC;oBAEH,0CAA0C;oBAC1C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC;wBACxD,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;wBACvC,IAAI,EAAE,IAAA,yBAAkB,EAAC;4BACxB,GAAG,EAAE;gCACJ;oCACC,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,SAAS;oCACf,MAAM,EAAE;wCACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;wCACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;qCACnC;oCACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iCACrC;6BACD;4BACD,YAAY,EAAE,SAAS;4BACvB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,UAAU,CAAC;yBAC5D,CAAC;wBACF,GAAG,EAAE,OAAO;wBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAW;qBACvC,CAAC,CAAC;oBAEH,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;oBACrD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE9F,IAAI,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBACzC,OAAO;4BACN,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE,oCAAoC,cAAc,CAAC,MAAM,EAAE;yBAClE,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;gBACjE,CAAC;gBAED,iDAAiD;gBACjD,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC;gBAEzF,0CAA0C;gBAC1C,MAAM,gBAAgB,GAAG,IAAA,yBAAkB,EAAC;oBAC3C,OAAO,EAAE,WAAW;oBACpB,SAAS,EAAE,IAAA,WAAI,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBACnC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAW;iBACvC,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC;oBACzD,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;oBACvC,IAAI,EAAE,IAAA,yBAAkB,EAAC;wBACxB,GAAG,EAAE;4BACJ;gCACC,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,UAAU;gCAChB,MAAM,EAAE;oCACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;oCAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;iCACnC;gCACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6BACrC;yBACD;wBACD,YAAY,EAAE,UAAU;wBACxB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,UAAU,CAAC;qBAC5D,CAAC;oBACF,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,oBAAW;iBACvC,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC;gBACtD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;gBAEhG,IAAI,eAAe,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC1C,OAAO;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,sCAAsC,eAAe,CAAC,MAAM,EAAE;qBACrE,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAElE,oDAAoD;gBACpD,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;gBACrE,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC;oBACjD,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,KAAK,EAAE,oBAAoB;iBACpC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YACjD,CAAC;YAED,iCAAiC;YACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACxD,eAAe,EACf,GAAG,EACH,SAAS,EACT,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,CAAC,EAChE,aAAa,CACb,CAAC;YAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,wCAAwC;gBACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,eAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpG,OAAO;oBACN,GAAG,MAAM;oBACT,IAAI,EAAE,EAAE,OAAO,EAAE;iBACjB,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;aAC/C,CAAC;QACH,CAAC;IACF,CAAC;IAED,8CAA8C;IAE9C;;OAEG;IACH,KAAK,CAAC,SAAS,CACd,eAAwB,EACxB,YAAoD,EACpD,MAA6B,EAC7B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,KAAK,YAAY,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,UAAU,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,WAAW,EACX,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,EACpE,aAAa,CACb,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC3E,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CACjB,eAAwB,EACxB,YAAoD,EACpD,OAAe,EACf,kBAA0B,EAC1B,iBAAyB,EACzB,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,kBAAkB,UAAU,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,cAAc,EACd,CAAC,OAAO,EAAE,kBAAkB,CAAC,EAC7B,aAAa,EACb,iBAAiB,CACjB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,gCAAgC,EAAE,CAAC;QACrF,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACd,eAAwB,EACxB,YAAoD,EACpD,OAAe,EACf,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAAC,eAAe,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;QAChH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC;QAC/E,CAAC;IACF,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,KAAK,CAAC,SAAS,CACd,eAAwB,EACxB,YAAoD,EACpD,MAA4B,EAC5B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,KAAK,YAAY,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,WAAW,EACX,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAC1C,aAAa,CACb,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACzE,CAAC;IACF,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,KAAK,CAAC,QAAQ,CACb,eAAwB,EACxB,YAAoD,EACpD,MAA4B,EAC5B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,UAAU,EACV,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EACjC,aAAa,CACb,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,6BAA6B,EAAE,CAAC;QAClF,CAAC;IACF,CAAC;IAED,2CAA2C;IAE3C;;OAEG;IACH,KAAK,CAAC,WAAW,CAChB,eAAwB,EACxB,YAAoD,EACpD,MAA0B,EAC1B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,aAAa,EACb,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EACpC,aAAa,CACb,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC;QAChF,CAAC;IACF,CAAC;IAED,+CAA+C;IAE/C;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACtB,eAAwB,EACxB,YAAoD,EACpD,MAA8B,EAC9B,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,SAAS,CAAC,MAAM,aAAa,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAChD,eAAe,EACf,GAAG,EACH,uBAAuB,EACvB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAClC,aAAa,CACb,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,+BAA+B,EAAE,CAAC;QACpF,CAAC;IACF,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,KAAK,CAAC,aAAa,CAClB,eAAwB,EACxB,YAAoD,EACpD,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,qBAAqB,EAAE,CAAC;QAC1E,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACpB,eAAwB,EACxB,YAAoD,EACpD,aAA0C;QAE1C,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAe,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAE5D,IAAI,CAAC;YACJ,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YAC5D,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,YAAY,EAAE,EAAE,CAAC;YAChF,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,+BAA+B,CAAC,eAAe,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QACvG,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAC5E,CAAC;IACF,CAAC;IAED,2CAA2C;IAE3C;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,QAAa,EAAE,aAAqB,CAAC;QAC3E,IAAI,SAAc,CAAC;QAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,sCAAsC,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;gBAE/E,8DAA8D;gBAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;oBAChE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;oBACrC,QAAQ,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,QAAQ,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;gBAElD,6CAA6C;gBAC7C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,eAAe,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,sBAAsB;oBAE/E,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,oBAAoB,EAAE,CAAC;wBAC5D,uBAAuB;wBACvB,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC;wBAC7C,MAAM,sBAAsB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;wBAE7D,QAAQ,CAAC,YAAY,GAAG,cAAc,GAAG,CAAC,cAAc,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;wBACnF,QAAQ,CAAC,oBAAoB,GAAG,sBAAsB,GAAG,CAAC,sBAAsB,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;wBAE3G,OAAO,CAAC,GAAG,CACV,eAAe,OAAO,sBAAsB,IAAA,kBAAW,EAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,eAAe,IAAI,CAC3G,CAAC;wBACF,OAAO,CAAC,GAAG,CACV,eAAe,OAAO,+BAA+B,IAAA,kBAAW,EAC/D,QAAQ,CAAC,oBAAoB,CAC7B,UAAU,eAAe,IAAI,CAC9B,CAAC;oBACH,CAAC;yBAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBAC9B,qBAAqB;wBACrB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;wBAC3C,QAAQ,CAAC,QAAQ,GAAG,gBAAgB,GAAG,CAAC,gBAAgB,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;wBAEnF,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,gBAAgB,IAAA,kBAAW,EAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,eAAe,IAAI,CAAC,CAAC;oBAChH,CAAC;gBACF,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;gBAC7D,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,SAAS,GAAG,KAAK,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,gBAAgB,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEhE,gDAAgD;gBAChD,IACC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,qCAAqC,CAAC;oBAC9D,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC;oBACxC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,EACvC,CAAC;oBACF,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;wBACpE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;wBAC1D,SAAS;oBACV,CAAC;gBACF,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,OAAO,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,qCAAqC,CAAC,EAAE,CAAC;oBAC7F,MAAM,KAAK,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,SAAS,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,+BAA+B,CAC5C,eAAwB,EACxB,GAAQ,EACR,YAAoB,EACpB,IAAW,EACX,aAA0C,EAC1C,QAAgB,EAAE;QAElB,IAAI,CAAC;YACJ,wCAAwC;YACxC,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;gBACvC,GAAG;gBACH,YAAY;gBACZ,IAAI;aACJ,CAAC,CAAC;YAEH,wCAAwC;YACxC,MAAM,eAAe,GAAG,IAAA,yBAAkB,EAAC;gBAC1C,GAAG,EAAE;oBACJ;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE;4BACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;4BACjC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;4BAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;yBAC/B;wBACD,OAAO,EAAE,EAAE;qBACX;iBACD;gBACD,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,YAAY,CAAC;aAC5C,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,CAAC,CAAC;YACtF,OAAO,CAAC,GAAG,CAAC,uBAAuB,eAAe,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEjD,6DAA6D;YAC7D,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACJ,sBAAsB;wBACtB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;4BACpD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,YAAuB;4BAC5C,GAAG,EAAE;gCACJ;oCACC,IAAI,EAAE,UAAU;oCAChB,IAAI,EAAE,WAAW;oCACjB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;oCAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;iCACxC;6BACD;4BACD,YAAY,EAAE,WAAW;4BACzB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC;yBAChD,CAAC,CAAC;wBACH,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC/D,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC7D,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;4BAC1B,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;4BACzD,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;wBAC9F,CAAC;oBACF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC;oBACtE,CAAC;gBACF,CAAC;YACF,CAAC;YAED,+CAA+C;YAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;gBAChE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;gBACrC,QAAQ,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,uEAAuE;YACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,yCAAyC;YAErG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAA,kBAAW,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAA,kBAAW,EAAC,eAAe,CAAC,kCAAkC,CAAC,CAAC;YAErG,mFAAmF;YACnF,MAAM,QAAQ,GAAQ;gBACrB,OAAO,EAAE,IAAI,CAAC,eAAe;gBAC7B,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B;gBAC5C,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,QAAQ,EAAE,iCAAiC;gBAChD,KAAK,EAAE,YAAY,EAAE,4CAA4C;aACjE,CAAC;YAEF,yFAAyF;YACzF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC;gBACrC,6BAA6B;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBAC7D,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAC1D,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBACnF,QAAQ,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,GAAG,CAAC,OAAO,CAAC,oBAAoB,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;oBAC3G,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAA,kBAAW,EAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC7E,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAA,kBAAW,EAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACP,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC;gBACrC,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC;YACrC,CAAC;YAED,+DAA+D;YAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAE7D,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;YAEzC,mBAAmB;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpF,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE;gBAClD,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE;oBACrC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACxC,CAAC,CAAC;gBAEH,kCAAkC;gBAClC,IAAI,YAAY,GAAG,uBAAuB,CAAC;gBAC3C,IAAI,CAAC;oBACJ,yDAAyD;oBACzD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE;wBACzC,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,IAAI,EAAE,EAAE,CAAC,KAAK;wBACd,KAAK,EAAE,EAAE,CAAC,KAAK;qBACf,CAAC,CAAC;oBAEH,uDAAuD;oBACvD,IAAI,CAAC;wBACJ,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;4BAC5B,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,EAAE,CAAC,KAAK;4BACd,KAAK,EAAE,EAAE,CAAC,KAAK;4BACf,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;yBACrC,CAAC,CAAC;oBACJ,CAAC;oBAAC,OAAO,QAAa,EAAE,CAAC;wBACxB,IAAI,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC1C,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;wBACjC,CAAC;oBACF,CAAC;gBACF,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;gBAC/D,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;gBACpD,OAAO;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,iCAAiC,YAAY,EAAE;iBACtD,CAAC;YACH,CAAC;YAED,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,MAAM;aACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACjC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,yBAAyB;aACjD,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,YAAoD;QAC1E,MAAM,QAAQ,GAAG,IAAA,8CAAqB,EAAC,YAAY,CAAC,CAAC;QACrD,OAAO,QAAQ,EAAE,GAAG,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAsC;QACvE,IAAI,CAAC;YACJ,iDAAiD;YACjD,MAAM,WAAW,GAAG,IAAA,gBAAS,EAC5B,IAAA,YAAK,EACJ,wBAAwB,SAAS,CAAC,SAAS,OAAO,SAAS,CAAC,eAAe,OAAO,SAAS,CAAC,WAAW,OAAO,SAAS,CAAC,SAAS,UAAU,SAAS,CAAC,KAAK,EAAE,CAC5J,CACD,CAAC;YAEF,oEAAoE;YACpE,2DAA2D;YAC3D,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,oBAAoB;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,6BAA6B,CAAC,MAAc,EAAE,SAAkB;QAC7E,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,MAAuB,EAAE,CAAC,CAAC;YAEjG,mGAAmG;YACnG,MAAM,sBAAsB,GAAG,oEAAoE,CAAC;YAEpG,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,sBAAsB,EAAE,CAAC;oBAC9C,kCAAkC;oBAClC,6BAA6B;oBAC7B,sBAAsB;oBACtB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAEzB,wDAAwD;oBACxD,IACC,IAAI,KAAK,oEAAoE;wBAC7E,EAAE;wBACF,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC1D,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACtC,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;wBAC9C,OAAO,OAAO,CAAC;oBAChB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACvB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,4BAA4B;SACjD,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,WAAmB,IAAA,iBAAU,EAAC,MAAM,CAAC;QAK/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;YACxB,OAAO;gBACN,UAAU,EAAE,KAAK;gBACjB,OAAO;gBACP,MAAM,EAAE,kCAAkC,IAAA,kBAAW,EAAC,OAAO,CAAC,mBAAmB,IAAA,kBAAW,EAAC,QAAQ,CAAC,OAAO;aAC7G,CAAC;QACH,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;CACD;AAtgCD,0DAsgCC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAQ;IACjC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAgB,iCAAiC,CAChD,WAAoB,EACpB,SAAiB,EACjB,eAAwB,EACxB,UAAe,EACf,aAA4B,EAC5B,QAAgB,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAErC,OAAO;QACN,WAAW;QACX,SAAS;QACT,eAAe;QACf,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC,EAAE,mCAAmC;QAC7E,SAAS,EAAE,aAAa;QACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK;KACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"kami-sponsored-operations.js","sourceRoot":"","sources":["../src/kami-sponsored-operations.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paulstinchcombe/gasless-nft-tx",
3
- "version": "0.8.21",
3
+ "version": "0.8.23",
4
4
  "description": "Complete library for deploying and managing KAMI NFT contracts with truly gasless transactions using EIP-4337 Account Abstraction",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",