@rozoai/intent-pay 0.0.31 → 0.0.32-beta.1
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.
- package/build/hooks/useRozoDisconnect.d.ts +10 -0
- package/build/package.json.js +1 -1
- package/build/provider/StellarContextProvider.d.ts +4 -2
- package/build/src/hooks/useRozoDisconnect.js +18 -0
- package/build/src/hooks/useRozoDisconnect.js.map +1 -0
- package/build/src/provider/StellarContextProvider.js +32 -31
- package/build/src/provider/StellarContextProvider.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that provides a unified disconnect function for all supported wallet types
|
|
3
|
+
* (EVM, Solana, and Stellar). This ensures all connected wallets are properly
|
|
4
|
+
* disconnected when switching between different payment methods.
|
|
5
|
+
*
|
|
6
|
+
* This hook must be used inside RozoPayProvider context.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useRozoDisconnect(): {
|
|
9
|
+
disconnect: () => Promise<void>;
|
|
10
|
+
};
|
package/build/package.json.js
CHANGED
|
@@ -10,7 +10,8 @@ type StellarContextProviderValue = {
|
|
|
10
10
|
isConnected: boolean;
|
|
11
11
|
connector: ISupportedWallet | undefined;
|
|
12
12
|
setConnector: (connector: ISupportedWallet) => void;
|
|
13
|
-
|
|
13
|
+
setWallet: (option: ISupportedWallet) => Promise<void>;
|
|
14
|
+
disconnect: () => Promise<void>;
|
|
14
15
|
convertXlmToUsdc: (amount: string) => Promise<string>;
|
|
15
16
|
};
|
|
16
17
|
export type StellarWalletName = ISupportedWallet;
|
|
@@ -18,12 +19,13 @@ export declare const StellarContext: import("react").Context<StellarContextProvi
|
|
|
18
19
|
export declare const StellarContextProvider: ({ children, rpcUrl, kit: externalKit, }: StellarContextProvider) => import("react/jsx-runtime").JSX.Element;
|
|
19
20
|
export declare const useStellar: () => StellarContextProviderValue;
|
|
20
21
|
export declare const useRozoConnectStellar: () => {
|
|
22
|
+
kit: StellarWalletsKit | undefined;
|
|
21
23
|
isConnected: boolean;
|
|
22
24
|
isConnecting: boolean;
|
|
23
25
|
publicKey: string | undefined;
|
|
24
26
|
account: Horizon.AccountResponse | undefined;
|
|
25
27
|
connector: ISupportedWallet | undefined;
|
|
26
|
-
|
|
28
|
+
setConnector: (option: ISupportedWallet) => Promise<void>;
|
|
27
29
|
connect: () => Promise<void>;
|
|
28
30
|
disconnect: () => Promise<void>;
|
|
29
31
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { usePayContext } from './usePayContext.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Hook that provides a unified disconnect function for all supported wallet types
|
|
5
|
+
* (EVM, Solana, and Stellar). This ensures all connected wallets are properly
|
|
6
|
+
* disconnected when switching between different payment methods.
|
|
7
|
+
*
|
|
8
|
+
* This hook must be used inside RozoPayProvider context.
|
|
9
|
+
*/
|
|
10
|
+
function useRozoDisconnect() {
|
|
11
|
+
const { disconnect } = usePayContext();
|
|
12
|
+
return {
|
|
13
|
+
disconnect,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { useRozoDisconnect };
|
|
18
|
+
//# sourceMappingURL=useRozoDisconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRozoDisconnect.js","sources":["../../../src/hooks/useRozoDisconnect.tsx"],"sourcesContent":[null],"names":[],"mappings":";;AAEA;;;;;;AAMG;SACa,iBAAiB,GAAA;AAC/B,IAAA,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAEvC,OAAO;QACL,UAAU;KACX,CAAC;AACJ;;;;"}
|
|
@@ -16,7 +16,8 @@ const initialContext = {
|
|
|
16
16
|
isConnected: false,
|
|
17
17
|
connector: undefined,
|
|
18
18
|
setConnector: () => { },
|
|
19
|
-
|
|
19
|
+
setWallet: () => Promise.resolve(),
|
|
20
|
+
disconnect: () => Promise.resolve(),
|
|
20
21
|
convertXlmToUsdc: () => Promise.resolve(""),
|
|
21
22
|
};
|
|
22
23
|
const StellarContext = createContext(initialContext);
|
|
@@ -78,17 +79,11 @@ const StellarContextProvider = ({ children, rpcUrl, kit: externalKit, }) => {
|
|
|
78
79
|
const lastWallet = savedWallet[0];
|
|
79
80
|
if (lastWallet.walletId && lastWallet.publicKey) {
|
|
80
81
|
try {
|
|
81
|
-
|
|
82
|
-
setConnector({
|
|
83
|
-
id: lastWallet.walletId,
|
|
84
|
-
name: lastWallet.walletName || lastWallet.walletId,
|
|
85
|
-
icon: lastWallet.walletIcon || "",
|
|
86
|
-
});
|
|
87
|
-
setPublicKey(lastWallet.publicKey);
|
|
82
|
+
setWallet(lastWallet);
|
|
88
83
|
}
|
|
89
84
|
catch (error) {
|
|
90
|
-
console.
|
|
91
|
-
|
|
85
|
+
console.error(error);
|
|
86
|
+
disconnect();
|
|
92
87
|
}
|
|
93
88
|
}
|
|
94
89
|
}
|
|
@@ -137,6 +132,26 @@ const StellarContextProvider = ({ children, rpcUrl, kit: externalKit, }) => {
|
|
|
137
132
|
console.error(error);
|
|
138
133
|
}
|
|
139
134
|
};
|
|
135
|
+
const setWallet = async (option) => {
|
|
136
|
+
if (!kit) {
|
|
137
|
+
throw new Error("Stellar kit not initialized yet. Please wait...");
|
|
138
|
+
}
|
|
139
|
+
try {
|
|
140
|
+
kit.setWallet(option.id);
|
|
141
|
+
const { address } = await kit.getAddress();
|
|
142
|
+
setConnector(option);
|
|
143
|
+
setPublicKey(address);
|
|
144
|
+
add(STELLAR_WALLET_STORAGE_KEY, {
|
|
145
|
+
walletId: option.id,
|
|
146
|
+
walletName: option.name,
|
|
147
|
+
walletIcon: option.icon,
|
|
148
|
+
publicKey: address,
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
throw new Error(err.message || "Failed to set wallet");
|
|
153
|
+
}
|
|
154
|
+
};
|
|
140
155
|
useEffect(() => {
|
|
141
156
|
if (publicKey) {
|
|
142
157
|
getAccountInfo(publicKey);
|
|
@@ -152,6 +167,7 @@ const StellarContextProvider = ({ children, rpcUrl, kit: externalKit, }) => {
|
|
|
152
167
|
isConnected: !!publicKey,
|
|
153
168
|
connector,
|
|
154
169
|
setConnector,
|
|
170
|
+
setWallet,
|
|
155
171
|
disconnect,
|
|
156
172
|
convertXlmToUsdc,
|
|
157
173
|
}), [
|
|
@@ -173,57 +189,42 @@ const useStellar = () => {
|
|
|
173
189
|
return context;
|
|
174
190
|
};
|
|
175
191
|
const useRozoConnectStellar = () => {
|
|
176
|
-
const { kit, publicKey, account, isConnected, connector, disconnect, setConnector,
|
|
192
|
+
const { kit, publicKey, account, isConnected, connector, disconnect, setWallet: setConnector, } = useStellar();
|
|
177
193
|
const [isConnecting, setIsConnecting] = useState(false);
|
|
178
|
-
const [error, setError] = useState(null);
|
|
179
194
|
const connect = async () => {
|
|
180
195
|
if (!kit) {
|
|
181
|
-
setError("Stellar kit not initialized yet. Please wait...");
|
|
182
196
|
return;
|
|
183
197
|
}
|
|
184
198
|
setIsConnecting(true);
|
|
185
|
-
setError(null);
|
|
186
199
|
try {
|
|
187
200
|
await kit.openModal({
|
|
188
201
|
onWalletSelected: async (option) => {
|
|
189
202
|
try {
|
|
190
|
-
|
|
191
|
-
const { address } = await kit.getAddress();
|
|
192
|
-
setConnector(option);
|
|
193
|
-
setPublicKey(address);
|
|
194
|
-
add(STELLAR_WALLET_STORAGE_KEY, {
|
|
195
|
-
walletId: option.id,
|
|
196
|
-
walletName: option.name,
|
|
197
|
-
walletIcon: option.icon,
|
|
198
|
-
publicKey: address,
|
|
199
|
-
});
|
|
203
|
+
await setConnector(option);
|
|
200
204
|
}
|
|
201
205
|
catch (err) {
|
|
202
|
-
setError(err.message || "Failed to connect wallet");
|
|
203
206
|
throw err;
|
|
204
207
|
}
|
|
205
208
|
},
|
|
206
209
|
});
|
|
207
210
|
}
|
|
208
211
|
catch (err) {
|
|
209
|
-
|
|
212
|
+
throw err;
|
|
210
213
|
}
|
|
211
214
|
finally {
|
|
212
215
|
setIsConnecting(false);
|
|
213
216
|
}
|
|
214
217
|
};
|
|
215
218
|
return {
|
|
219
|
+
kit,
|
|
216
220
|
isConnected,
|
|
217
221
|
isConnecting,
|
|
218
222
|
publicKey,
|
|
219
223
|
account,
|
|
220
224
|
connector,
|
|
221
|
-
|
|
225
|
+
setConnector,
|
|
222
226
|
connect,
|
|
223
|
-
disconnect
|
|
224
|
-
setError(null);
|
|
225
|
-
await disconnect();
|
|
226
|
-
},
|
|
227
|
+
disconnect,
|
|
227
228
|
};
|
|
228
229
|
};
|
|
229
230
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StellarContextProvider.js","sources":["../../../src/provider/StellarContextProvider.tsx"],"sourcesContent":[null],"names":["LocalStorage.get","LocalStorage.clear","
|
|
1
|
+
{"version":3,"file":"StellarContextProvider.js","sources":["../../../src/provider/StellarContextProvider.tsx"],"sourcesContent":[null],"names":["LocalStorage.get","LocalStorage.clear","LocalStorage.add","_jsx"],"mappings":";;;;;;;AAsCA,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAEzD,MAAM,cAAc,GAAG;AACrB,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,MAAM,EAAE,SAAgB;AACxB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,WAAW,EAAE,KAAK;AAClB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,YAAY,EAAE,MAAK,GAAG;AACtB,IAAA,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE;AAClC,IAAA,UAAU,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE;IACnC,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5C,CAAC;MAEW,cAAc,GACzB,aAAa,CAA8B,cAAc,EAAE;AAEtD,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,GAAG,EAAE,WAAW,GACO,KAAI;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAE5C,SAAS,CAAC,CAAC;IACb,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,SAAS,CACV,CAAC;IACF,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,SAAS,CACV,CAAC;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;AAExE,IAAA,MAAM,GAAG,GAAG,WAAW,IAAI,WAAW,CAAC;;IAGvC,SAAS,CAAC,MAAK;;AAEb,QAAA,IAAI,WAAW,IAAI,WAAW,EAAE;YAC9B,OAAO;SACR;;AAGD,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,OAAO;SACR;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;AAEnB,QAAA,qBAAqB,EAAE;AACpB,aAAA,IAAI,CAAC,CAAC,WAAW,KAAI;YACpB,IAAI,OAAO,EAAE;gBACX,cAAc,CAAC,WAAW,CAAC,CAAC;aAC7B;AACH,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;AACf,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,OAAO,EAAE;AACX,gBAAA,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;aAC5B;AACH,SAAC,CAAC,CAAC;AAEL,QAAA,OAAO,MAAK;YACV,OAAO,GAAG,KAAK,CAAC;AAClB,SAAC,CAAC;AACJ,KAAC,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;;IAG/B,SAAS,CAAC,MAAK;QACb,IAAI,QAAQ,EAAE;YACZ,OAAO,CAAC,KAAK,CACX,wCAAwC;gBACtC,QAAQ;gBACR,MAAM;gBACN,iDAAiD;gBACjD,0GAA0G;gBAC1G,uCAAuC;gBACvC,oCAAoC;gBACpC,iCAAiC;gBACjC,SAAS;AACT,gBAAA,gEAAgE,CACnE,CAAC;SACH;AACH,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;;IAGf,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,GAAG,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACxC,MAAM,WAAW,GAAGA,GAAgB,CAAC,0BAA0B,CAAC,CAAC;YAEjE,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAElC,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE;AAC/C,oBAAA,IAAI;wBACF,SAAS,CAAC,UAAU,CAAC,CAAC;qBACvB;oBAAC,OAAO,KAAU,EAAE;AACnB,wBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,wBAAA,UAAU,EAAE,CAAC;qBACd;iBACF;aACF;SACF;AACH,KAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAEV,MAAM,MAAM,GAAG,OAAO,CACpB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,uBAAuB,CAAC,EAC3D,CAAC,MAAM,CAAC,CACT,CAAC;AAEF,IAAA,MAAM,cAAc,GAAG,OAAO,SAAiB,KAAI;AACjD,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACjD,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC1B;QAAC,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAC3B;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,gBAAgB,GAAG,OAAO,MAAc,KAAI;AAChD,QAAA,IAAI;YACF,MAAM,SAAS,GAAG,IAAI,KAAK,CACzB,uBAAuB,EACvB,sBAAsB,CACvB,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,MAAM;iBAC7B,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;AACpD,iBAAA,IAAI,EAAE,CAAC;AAEV,YAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aACxD;YAED,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxC,YAAA,MAAM,sBAAsB,GAAG,CAC7B,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAC9C,OAAO,CAAC,CAAC,CAAC,CAAC;AAEb,YAAA,OAAO,sBAAsB,CAAC;SAC/B;QAAC,OAAO,KAAU,EAAE;AACnB,YAAA,MAAM,KAAK,CAAC;SACb;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,YAAW;AAC5B,QAAA,IAAI;YACF,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,cAAc,CAAC,SAAS,CAAC,CAAC;AAC1B,YAAAC,KAAkB,CAAC,0BAA0B,CAAC,CAAC;YAE/C,IAAI,GAAG,EAAE;AACP,gBAAA,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;aACxB;SACF;QAAC,OAAO,KAAU,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;AACH,KAAC,CAAC;AAEF,IAAA,MAAM,SAAS,GAAG,OAAO,MAAwB,KAAI;QACnD,IAAI,CAAC,GAAG,EAAE;AACR,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACpE;AAED,QAAA,IAAI;AACF,YAAA,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3C,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAAC,GAAgB,CAAC,0BAA0B,EAAE;gBAC3C,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,UAAU,EAAE,MAAM,CAAC,IAAI;AACvB,gBAAA,SAAS,EAAE,OAAO;AACnB,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC;SACxD;AACH,KAAC,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,SAAS,EAAE;YACb,cAAc,CAAC,SAAS,CAAC,CAAC;SAC3B;AACH,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAEhB,IAAA,MAAM,YAAY,GAAG,OAAO,CAC1B,OAAO;QACL,GAAG;QACH,SAAS;QACT,YAAY;QACZ,MAAM;AACN,QAAA,OAAO,EAAE,WAAW;QACpB,eAAe,EAAE,eAAe,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,SAAS;QACxB,SAAS;QACT,YAAY;QACZ,SAAS;QACT,UAAU;QACV,gBAAgB;AACjB,KAAA,CAAC,EACF;QACE,GAAG;QACH,SAAS;QACT,MAAM;QACN,WAAW;QACX,eAAe;QACf,SAAS;QACT,gBAAgB;AACjB,KAAA,CACF,CAAC;AAEF,IAAA,QACEC,GAAA,CAAC,cAAc,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,YAAY,EAAA,QAAA,EACzC,QAAQ,EAAA,CACe,EAC1B;AACJ,EAAE;AAEK,MAAM,UAAU,GAAG,MAAK;AAC7B,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;KAC5E;AACD,IAAA,OAAO,OAAO,CAAC;AACjB,EAAE;AAEK,MAAM,qBAAqB,GAAG,MAAK;IACxC,MAAM,EACJ,GAAG,EACH,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EAAE,YAAY,GACxB,GAAG,UAAU,EAAE,CAAC;IACjB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAExD,IAAA,MAAM,OAAO,GAAG,YAAW;QACzB,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;AAEtB,QAAA,IAAI;YACF,MAAM,GAAG,CAAC,SAAS,CAAC;AAClB,gBAAA,gBAAgB,EAAE,OAAO,MAAwB,KAAI;AACnD,oBAAA,IAAI;AACF,wBAAA,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;qBAC5B;oBAAC,OAAO,GAAQ,EAAE;AACjB,wBAAA,MAAM,GAAG,CAAC;qBACX;iBACF;AACF,aAAA,CAAC,CAAC;SACJ;QAAC,OAAO,GAAQ,EAAE;AACjB,YAAA,MAAM,GAAG,CAAC;SACX;gBAAS;YACR,eAAe,CAAC,KAAK,CAAC,CAAC;SACxB;AACH,KAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,WAAW;QACX,YAAY;QACZ,SAAS;QACT,OAAO;QACP,SAAS;QACT,YAAY;QACZ,OAAO;QACP,UAAU;KACX,CAAC;AACJ;;;;"}
|