@sign-global/tokentable 0.4.0-beta.1 → 0.4.0-beta.11

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 (78) hide show
  1. package/README.md +98 -2
  2. package/dist/cjs/airdrop/AirdropClient.js +9 -2
  3. package/dist/cjs/airdrop/AirdropClient.js.map +1 -1
  4. package/dist/cjs/airdrop/SignatureAirdropClient.d.ts +22 -9
  5. package/dist/cjs/airdrop/SignatureAirdropClient.js +95 -19
  6. package/dist/cjs/airdrop/SignatureAirdropClient.js.map +1 -1
  7. package/dist/cjs/airdrop/core/evm/SignatureAirdropService.d.ts +23 -0
  8. package/dist/cjs/airdrop/core/evm/SignatureAirdropService.js +71 -0
  9. package/dist/cjs/airdrop/core/evm/SignatureAirdropService.js.map +1 -0
  10. package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.d.ts +16 -0
  11. package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js +47 -0
  12. package/dist/cjs/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
  13. package/dist/cjs/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
  14. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +1 -1
  15. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +6 -3
  16. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -1
  17. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +2 -1
  18. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +6 -4
  19. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -1
  20. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +1 -1
  21. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +10 -11
  22. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -1
  23. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +1 -1
  24. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +10 -9
  25. package/dist/cjs/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -1
  26. package/dist/cjs/airdrop/services/index.d.ts +25 -8
  27. package/dist/cjs/airdrop/services/index.js +34 -5
  28. package/dist/cjs/airdrop/services/index.js.map +1 -1
  29. package/dist/cjs/airdrop/types/index.d.ts +51 -23
  30. package/dist/cjs/airdrop/types/index.js.map +1 -1
  31. package/dist/cjs/utils/api-client.d.ts +1 -0
  32. package/dist/cjs/utils/api-client.js +2 -2
  33. package/dist/cjs/utils/api-client.js.map +1 -1
  34. package/dist/esm/airdrop/AirdropClient.js +9 -2
  35. package/dist/esm/airdrop/AirdropClient.js.map +1 -1
  36. package/dist/esm/airdrop/SignatureAirdropClient.d.ts +22 -9
  37. package/dist/esm/airdrop/SignatureAirdropClient.js +96 -20
  38. package/dist/esm/airdrop/SignatureAirdropClient.js.map +1 -1
  39. package/dist/esm/airdrop/core/evm/SignatureAirdropService.d.ts +23 -0
  40. package/dist/esm/airdrop/core/evm/SignatureAirdropService.js +67 -0
  41. package/dist/esm/airdrop/core/evm/SignatureAirdropService.js.map +1 -0
  42. package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.d.ts +16 -0
  43. package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js +40 -0
  44. package/dist/esm/airdrop/core/evm/contracts/AirdropSignatureClient.js.map +1 -0
  45. package/dist/esm/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
  46. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.d.ts +1 -1
  47. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js +6 -3
  48. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.js.map +1 -1
  49. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.d.ts +2 -1
  50. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js +7 -5
  51. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/evm/index.js.map +1 -1
  52. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.d.ts +1 -1
  53. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js +11 -12
  54. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/solana/index.js.map +1 -1
  55. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.d.ts +1 -1
  56. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js +10 -9
  57. package/dist/esm/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.js.map +1 -1
  58. package/dist/esm/airdrop/services/index.d.ts +25 -8
  59. package/dist/esm/airdrop/services/index.js +31 -4
  60. package/dist/esm/airdrop/services/index.js.map +1 -1
  61. package/dist/esm/airdrop/types/index.d.ts +51 -23
  62. package/dist/esm/airdrop/types/index.js.map +1 -1
  63. package/dist/esm/utils/api-client.d.ts +1 -0
  64. package/dist/esm/utils/api-client.js +2 -2
  65. package/dist/esm/utils/api-client.js.map +1 -1
  66. package/package.json +3 -3
  67. package/src/airdrop/AirdropClient.ts +8 -2
  68. package/src/airdrop/SignatureAirdropClient.ts +155 -27
  69. package/src/airdrop/core/evm/SignatureAirdropService.ts +90 -0
  70. package/src/airdrop/core/evm/contracts/AirdropSignatureClient.ts +56 -0
  71. package/src/airdrop/core/evm/contracts/abis/FungibleTokenECDSADistributor.json +564 -0
  72. package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/EvmWallet.ts +6 -3
  73. package/src/airdrop/core/useWeb3ConnectWallet/providers/evm/index.tsx +18 -5
  74. package/src/airdrop/core/useWeb3ConnectWallet/providers/solana/index.tsx +11 -14
  75. package/src/airdrop/core/useWeb3ConnectWallet/providers/ton/TonWallet.ts +16 -12
  76. package/src/airdrop/services/index.ts +75 -14
  77. package/src/airdrop/types/index.ts +55 -24
  78. package/src/utils/api-client.ts +3 -2
@@ -1,21 +1,17 @@
1
+ import { getAddress } from 'viem';
1
2
  import { CONST } from './constants';
3
+ import { SignatureAirdropService } from './core/evm/SignatureAirdropService';
2
4
  import { WalletFactory } from './core/useWeb3ConnectWallet';
3
5
  import { ChainType } from './core/useWeb3ConnectWallet/types';
4
- import { bindWallet, connectTwitter, getAirdropProject } from './services';
6
+ import { bindWallet, checkEligibility, checkGetSignatures, connectTwitter, disconnectRecipient, getAirdropProject } from './services';
5
7
  import { AirdropSigIdentityTypeEnum } from './types';
6
8
  export class SignatureAirdropClient {
7
- slug;
8
9
  projectId;
9
10
  endpoint;
10
11
  project;
11
12
  claims;
12
13
  projectPromise;
13
- claimHook;
14
- // private contractConfig: IContractConfig | null = null;
15
14
  constructor(params) {
16
- if ('slug' in params) {
17
- this.slug = params.slug;
18
- }
19
15
  this.projectId = params.projectId;
20
16
  this.endpoint = params.endpoint;
21
17
  if (this.project) {
@@ -25,6 +21,10 @@ export class SignatureAirdropClient {
25
21
  this.projectPromise = this.initializeProjects();
26
22
  }
27
23
  }
24
+ LOCAL_STORAGE_SID_PREFIX = 'sid_';
25
+ setSid(projectId, sid) {
26
+ window.localStorage.setItem(`${this.LOCAL_STORAGE_SID_PREFIX}${projectId}`, sid);
27
+ }
28
28
  async fetchProjectDetails(projectId) {
29
29
  this.project = await getAirdropProject(projectId, this.endpoint);
30
30
  }
@@ -52,13 +52,13 @@ export class SignatureAirdropClient {
52
52
  const project = await this.getProjectInfo();
53
53
  const onWindowMessage = async (message) => {
54
54
  if (message.data.name && message.data.name === CONST.TWITTER_AUTH_SUCCESS) {
55
- const { isError, code, redirectUri } = message.data.data || {};
55
+ const { code } = message.data.data || {};
56
56
  try {
57
- await connectTwitter({ code, redirectUri: redirectUri }, this.endpoint);
58
- onSuccess();
59
- if (isError) {
60
- onError();
57
+ const res = await connectTwitter({ code, projectId: project.id }, this.endpoint);
58
+ if (res?.sid) {
59
+ this.setSid(project.id, res?.sid);
61
60
  }
61
+ onSuccess();
62
62
  }
63
63
  catch (error) {
64
64
  onError();
@@ -76,30 +76,106 @@ export class SignatureAirdropClient {
76
76
  try {
77
77
  const project = await this.getProjectInfo();
78
78
  const wallet = WalletFactory.getWallet(chainType);
79
- const signResult = await wallet.signin(CONST.WELCOME_SIGNATURE_STATEMENT);
80
- const { message, signature } = signResult || {};
79
+ await wallet.disconnect();
80
+ const timestamp = Date.now();
81
81
  const recipientTypeMap = {
82
82
  [ChainType.Evm]: AirdropSigIdentityTypeEnum.EVMWallet,
83
83
  [ChainType.Solana]: AirdropSigIdentityTypeEnum.SolanaWallet,
84
84
  [ChainType.Ton]: ''
85
85
  };
86
+ const msg = [project.id, recipientTypeMap[chainType], timestamp].join(',');
87
+ const signResult = await wallet.signin(msg, false);
88
+ const { message, signature } = signResult || {};
86
89
  const payload = {
87
90
  signature: signature,
88
91
  message: message,
89
92
  key: wallet.publicKey || wallet.address,
90
93
  projectId: project.id,
91
- timestamp: Date.now(),
94
+ timestamp: timestamp,
92
95
  recipientType: recipientTypeMap[chainType]
93
96
  };
94
- await bindWallet(payload, this.endpoint);
95
- onSuccess();
97
+ const res = await bindWallet(payload, this.endpoint);
98
+ if (res?.sid) {
99
+ this.setSid(project.id, res?.sid);
100
+ }
101
+ onSuccess?.();
96
102
  }
97
103
  catch (error) {
98
- onError(error);
104
+ onError?.(error);
105
+ }
106
+ }
107
+ async getClaims() {
108
+ const project = await this.getProjectInfo();
109
+ const res = await checkEligibility({
110
+ projectId: project.id
111
+ }, this.endpoint);
112
+ this.claims = res.claims;
113
+ return res;
114
+ }
115
+ async disconnectIdentity({ recipientType, recipient }) {
116
+ const project = await this.getProjectInfo();
117
+ return await disconnectRecipient({
118
+ projectId: project.id,
119
+ recipientType,
120
+ recipient
121
+ }, this.endpoint);
122
+ }
123
+ async getStrategy(walletClient) {
124
+ const project = await this.getProjectInfo();
125
+ return new SignatureAirdropService({
126
+ chainId: Number(project.chainId),
127
+ contractAddress: project.contractAddress,
128
+ walletClient: walletClient
129
+ });
130
+ }
131
+ async getVersion() {
132
+ const strategy = await this.getStrategy();
133
+ return strategy.getVersion();
134
+ }
135
+ async getClaimFee(amount) {
136
+ const strategy = await this.getStrategy();
137
+ if (!strategy.getClaimFee) {
138
+ throw new Error('getClaimFee is not supported for this chain');
139
+ }
140
+ return await strategy.getClaimFee(this.project?.contractAddress || '', amount || BigInt(1));
141
+ }
142
+ async claimAirdrop({ claimIds, walletClient, recipient }) {
143
+ if (!claimIds.length) {
144
+ throw new Error('Claim IDs cannot be empty');
99
145
  }
100
- finally {
101
- onSuccess();
146
+ if (!walletClient) {
147
+ throw new Error('Wallet client is required');
148
+ }
149
+ const service = await this.getStrategy(walletClient);
150
+ const res = await checkGetSignatures({
151
+ claimIds,
152
+ projectId: this.projectId
153
+ }, this.endpoint);
154
+ const signatureMap = res?.signatures?.reduce((map, item) => {
155
+ map[item.claimId] = item;
156
+ return map;
157
+ }, {});
158
+ const claimData = this.claims
159
+ ?.filter((it) => claimIds.includes(it.claimId))
160
+ .map((it) => ({
161
+ ...it,
162
+ recipient: recipient ? recipient : walletClient.account?.address,
163
+ ...signatureMap?.[it.claimId]
164
+ })) || [];
165
+ const delegateMode = recipient ? getAddress(recipient) !== walletClient.account?.address : false;
166
+ const feeData = (await this.getClaimFee(1n)) || 0n;
167
+ const hash = (await service.claim(claimData, delegateMode ? feeData * BigInt(claimData.length) : feeData));
168
+ return hash;
169
+ }
170
+ async batchCheckClaimed() {
171
+ if (!this.claims?.length)
172
+ return [];
173
+ const strategy = await this.getStrategy();
174
+ if (!strategy.batchFetchClaimed) {
175
+ throw new Error('batchCheckClaimed is not supported for this chain');
102
176
  }
177
+ const claimIds = this.claims?.map((it) => it.claimId);
178
+ return strategy.batchFetchClaimed(claimIds);
103
179
  }
104
180
  }
105
181
  //# sourceMappingURL=SignatureAirdropClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SignatureAirdropClient.js","sourceRoot":"","sources":["../../../src/airdrop/SignatureAirdropClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { EvmContractClientOption } from '../../types';
2
+ import { DeployerClient } from './contracts/DeployClient';
3
+ export declare class SignatureAirdropService {
4
+ options: EvmContractClientOption;
5
+ constructor(options: EvmContractClientOption);
6
+ private get airdropClient();
7
+ getDeployerClient(): Promise<DeployerClient>;
8
+ private getFeeClient;
9
+ getDeployer(): Promise<string>;
10
+ getVersion(): Promise<any>;
11
+ feeCollectors: (address: string) => Promise<unknown>;
12
+ feeTokens: (address: string) => Promise<unknown>;
13
+ getFeelessThreshold(): Promise<void>;
14
+ getClaimFee(address: string, amount: bigint): Promise<bigint | undefined>;
15
+ batchFetchClaimed(userClaimIds: string[]): Promise<boolean[]>;
16
+ claim(data: {
17
+ recipient: string;
18
+ claimId: string;
19
+ data: string;
20
+ signature: string;
21
+ extraData?: string;
22
+ }[], value?: bigint): Promise<`0x${string}`>;
23
+ }
@@ -0,0 +1,67 @@
1
+ import { ZERO_ADDRESS } from '../../constants';
2
+ import { AirdropSignatureClient } from './contracts/AirdropSignatureClient';
3
+ import { DeployerClient } from './contracts/DeployClient';
4
+ import { FeeCollectorClient } from './contracts/FeeCollectorClient';
5
+ export class SignatureAirdropService {
6
+ options;
7
+ constructor(options) {
8
+ this.options = options;
9
+ }
10
+ get airdropClient() {
11
+ if (!this.options) {
12
+ throw new Error('options is empty');
13
+ }
14
+ return new AirdropSignatureClient(this.options);
15
+ }
16
+ async getDeployerClient() {
17
+ const deployer = await this.getDeployer();
18
+ return new DeployerClient({
19
+ ...this.options,
20
+ contractAddress: deployer
21
+ });
22
+ }
23
+ getFeeClient(address) {
24
+ if (!this.options) {
25
+ throw new Error('options is empty');
26
+ }
27
+ return new FeeCollectorClient({
28
+ ...this.options,
29
+ chainId: this.options.chainId,
30
+ contractAddress: address
31
+ });
32
+ }
33
+ async getDeployer() {
34
+ return this.airdropClient.getDeployer();
35
+ }
36
+ async getVersion() {
37
+ return this.airdropClient.getVersion();
38
+ }
39
+ feeCollectors = async (address) => {
40
+ const deployerClient = await this.getDeployerClient();
41
+ return await deployerClient.feeCollectors(address);
42
+ };
43
+ feeTokens = async (address) => {
44
+ const deployerClient = await this.getDeployerClient();
45
+ return await deployerClient.feeTokens(address);
46
+ };
47
+ async getFeelessThreshold() {
48
+ // return this.airdropClient.getFeelessThreshold();
49
+ }
50
+ async getClaimFee(address, amount) {
51
+ const feeCollector = await this.feeCollectors(this.options.contractAddress);
52
+ if (!feeCollector || feeCollector === ZERO_ADDRESS) {
53
+ return undefined;
54
+ }
55
+ const feeClient = this.getFeeClient(feeCollector);
56
+ const fee = (await feeClient.getFee(address, amount));
57
+ return fee;
58
+ }
59
+ async batchFetchClaimed(userClaimIds) {
60
+ const res = await this.airdropClient.batchFetchClaimed(userClaimIds);
61
+ return res;
62
+ }
63
+ async claim(data, value) {
64
+ return this.airdropClient.claim(data, value);
65
+ }
66
+ }
67
+ //# sourceMappingURL=SignatureAirdropService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignatureAirdropService.js","sourceRoot":"","sources":["../../../../../src/airdrop/core/evm/SignatureAirdropService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { EvmContractClientOption } from '../../../types';
2
+ import { ContractBaseClient } from './ContractBaseClient';
3
+ export declare class AirdropSignatureClient extends ContractBaseClient {
4
+ constructor(options: EvmContractClientOption);
5
+ getClaimStatus(userClaimId: string): Promise<unknown>;
6
+ claim(data: {
7
+ recipient: string;
8
+ data: string;
9
+ claimId: string;
10
+ signature: string;
11
+ extraData?: string;
12
+ }[], value?: bigint): Promise<`0x${string}`>;
13
+ batchFetchClaimed(userClaimIds: string[]): Promise<boolean[]>;
14
+ getDeployer(): Promise<string>;
15
+ getVersion(): Promise<any>;
16
+ }
@@ -0,0 +1,40 @@
1
+ import ABI from './abis/FungibleTokenECDSADistributor.json';
2
+ import { ContractBaseClient } from './ContractBaseClient';
3
+ export class AirdropSignatureClient extends ContractBaseClient {
4
+ constructor(options) {
5
+ super({
6
+ ...options,
7
+ abi: ABI
8
+ });
9
+ }
10
+ async getClaimStatus(userClaimId) {
11
+ return this.readContract({ functionName: 'getClaimStatus', args: [userClaimId] });
12
+ }
13
+ async claim(data, value) {
14
+ const [recipients = [], userClaimIds = [], datas = [], signatures = [], extraDatas = []] = [
15
+ 'recipient',
16
+ 'claimId',
17
+ 'data',
18
+ 'signature',
19
+ 'extraData'
20
+ ].map((key) => data.map((item) => item[key] || ''));
21
+ return this.writeContract({
22
+ functionName: 'claim',
23
+ args: [recipients, userClaimIds, datas, signatures, extraDatas],
24
+ value: value || 0n
25
+ });
26
+ }
27
+ async batchFetchClaimed(userClaimIds) {
28
+ const res = (await this.readContract({ functionName: 'getClaimStatus', args: [userClaimIds] }));
29
+ return res;
30
+ }
31
+ async getDeployer() {
32
+ const res = (await this.readContract({ functionName: 'getStorage' }));
33
+ return res?.[3];
34
+ }
35
+ async getVersion() {
36
+ const res = (await this.readContract({ functionName: 'getStorage' }));
37
+ return res?.[0];
38
+ }
39
+ }
40
+ //# sourceMappingURL=AirdropSignatureClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AirdropSignatureClient.js","sourceRoot":"","sources":["../../../../../../src/airdrop/core/evm/contracts/AirdropSignatureClient.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,2CAA2C,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D,YAAY,OAAgC;QAC1C,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAMG,EACH,KAAc;QAEd,MAAM,CAAC,UAAU,GAAG,EAAE,EAAE,YAAY,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,EAAE,UAAU,GAAG,EAAE,CAAC,GAAG;YACzF,WAAW;YACX,SAAS;YACT,MAAM;YACN,WAAW;YACX,WAAW;SACZ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAA6B,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,aAAa,CAAC;YACxB,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;YAC/D,KAAK,EAAE,KAAK,IAAI,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAsB;QAC5C,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAc,CAAC;QAC7G,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAU,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAU,CAAC;QAC/E,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;CACF"}