tempo.ts 0.12.1 → 0.13.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 (123) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +28 -34
  3. package/package.json +2 -28
  4. package/dist/wagmi/Actions/amm.d.ts +0 -418
  5. package/dist/wagmi/Actions/amm.d.ts.map +0 -1
  6. package/dist/wagmi/Actions/amm.js +0 -462
  7. package/dist/wagmi/Actions/amm.js.map +0 -1
  8. package/dist/wagmi/Actions/dex.d.ts +0 -864
  9. package/dist/wagmi/Actions/dex.d.ts.map +0 -1
  10. package/dist/wagmi/Actions/dex.js +0 -968
  11. package/dist/wagmi/Actions/dex.js.map +0 -1
  12. package/dist/wagmi/Actions/faucet.d.ts +0 -66
  13. package/dist/wagmi/Actions/faucet.d.ts.map +0 -1
  14. package/dist/wagmi/Actions/faucet.js +0 -64
  15. package/dist/wagmi/Actions/faucet.js.map +0 -1
  16. package/dist/wagmi/Actions/fee.d.ts +0 -111
  17. package/dist/wagmi/Actions/fee.d.ts.map +0 -1
  18. package/dist/wagmi/Actions/fee.js +0 -126
  19. package/dist/wagmi/Actions/fee.js.map +0 -1
  20. package/dist/wagmi/Actions/index.d.ts +0 -9
  21. package/dist/wagmi/Actions/index.d.ts.map +0 -1
  22. package/dist/wagmi/Actions/index.js +0 -9
  23. package/dist/wagmi/Actions/index.js.map +0 -1
  24. package/dist/wagmi/Actions/nonce.d.ts +0 -77
  25. package/dist/wagmi/Actions/nonce.d.ts.map +0 -1
  26. package/dist/wagmi/Actions/nonce.js +0 -87
  27. package/dist/wagmi/Actions/nonce.js.map +0 -1
  28. package/dist/wagmi/Actions/policy.d.ts +0 -480
  29. package/dist/wagmi/Actions/policy.d.ts.map +0 -1
  30. package/dist/wagmi/Actions/policy.js +0 -530
  31. package/dist/wagmi/Actions/policy.js.map +0 -1
  32. package/dist/wagmi/Actions/reward.d.ts +0 -346
  33. package/dist/wagmi/Actions/reward.d.ts.map +0 -1
  34. package/dist/wagmi/Actions/reward.js +0 -382
  35. package/dist/wagmi/Actions/reward.js.map +0 -1
  36. package/dist/wagmi/Actions/token.d.ts +0 -1546
  37. package/dist/wagmi/Actions/token.d.ts.map +0 -1
  38. package/dist/wagmi/Actions/token.js +0 -1712
  39. package/dist/wagmi/Actions/token.js.map +0 -1
  40. package/dist/wagmi/Connector.d.ts +0 -91
  41. package/dist/wagmi/Connector.d.ts.map +0 -1
  42. package/dist/wagmi/Connector.js +0 -473
  43. package/dist/wagmi/Connector.js.map +0 -1
  44. package/dist/wagmi/Hooks/amm.d.ts +0 -411
  45. package/dist/wagmi/Hooks/amm.d.ts.map +0 -1
  46. package/dist/wagmi/Hooks/amm.js +0 -494
  47. package/dist/wagmi/Hooks/amm.js.map +0 -1
  48. package/dist/wagmi/Hooks/dex.d.ts +0 -773
  49. package/dist/wagmi/Hooks/dex.d.ts.map +0 -1
  50. package/dist/wagmi/Hooks/dex.js +0 -921
  51. package/dist/wagmi/Hooks/dex.js.map +0 -1
  52. package/dist/wagmi/Hooks/faucet.d.ts +0 -71
  53. package/dist/wagmi/Hooks/faucet.d.ts.map +0 -1
  54. package/dist/wagmi/Hooks/faucet.js +0 -76
  55. package/dist/wagmi/Hooks/faucet.js.map +0 -1
  56. package/dist/wagmi/Hooks/fee.d.ts +0 -97
  57. package/dist/wagmi/Hooks/fee.d.ts.map +0 -1
  58. package/dist/wagmi/Hooks/fee.js +0 -109
  59. package/dist/wagmi/Hooks/fee.js.map +0 -1
  60. package/dist/wagmi/Hooks/index.d.ts +0 -9
  61. package/dist/wagmi/Hooks/index.d.ts.map +0 -1
  62. package/dist/wagmi/Hooks/index.js +0 -9
  63. package/dist/wagmi/Hooks/index.js.map +0 -1
  64. package/dist/wagmi/Hooks/nonce.d.ts +0 -59
  65. package/dist/wagmi/Hooks/nonce.d.ts.map +0 -1
  66. package/dist/wagmi/Hooks/nonce.js +0 -75
  67. package/dist/wagmi/Hooks/nonce.js.map +0 -1
  68. package/dist/wagmi/Hooks/policy.d.ts +0 -423
  69. package/dist/wagmi/Hooks/policy.d.ts.map +0 -1
  70. package/dist/wagmi/Hooks/policy.js +0 -510
  71. package/dist/wagmi/Hooks/policy.js.map +0 -1
  72. package/dist/wagmi/Hooks/reward.d.ts +0 -305
  73. package/dist/wagmi/Hooks/reward.d.ts.map +0 -1
  74. package/dist/wagmi/Hooks/reward.js +0 -368
  75. package/dist/wagmi/Hooks/reward.js.map +0 -1
  76. package/dist/wagmi/Hooks/token.d.ts +0 -1388
  77. package/dist/wagmi/Hooks/token.d.ts.map +0 -1
  78. package/dist/wagmi/Hooks/token.js +0 -1657
  79. package/dist/wagmi/Hooks/token.js.map +0 -1
  80. package/dist/wagmi/KeyManager.d.ts +0 -60
  81. package/dist/wagmi/KeyManager.d.ts.map +0 -1
  82. package/dist/wagmi/KeyManager.js +0 -106
  83. package/dist/wagmi/KeyManager.js.map +0 -1
  84. package/dist/wagmi/index.d.ts +0 -5
  85. package/dist/wagmi/index.d.ts.map +0 -1
  86. package/dist/wagmi/index.js +0 -5
  87. package/dist/wagmi/index.js.map +0 -1
  88. package/src/wagmi/Actions/amm.test.ts +0 -208
  89. package/src/wagmi/Actions/amm.ts +0 -690
  90. package/src/wagmi/Actions/dex.test.ts +0 -1482
  91. package/src/wagmi/Actions/dex.ts +0 -1540
  92. package/src/wagmi/Actions/faucet.ts +0 -89
  93. package/src/wagmi/Actions/fee.test.ts +0 -63
  94. package/src/wagmi/Actions/fee.ts +0 -211
  95. package/src/wagmi/Actions/index.ts +0 -8
  96. package/src/wagmi/Actions/nonce.test.ts +0 -82
  97. package/src/wagmi/Actions/nonce.ts +0 -139
  98. package/src/wagmi/Actions/policy.test.ts +0 -461
  99. package/src/wagmi/Actions/policy.ts +0 -817
  100. package/src/wagmi/Actions/reward.test.ts +0 -216
  101. package/src/wagmi/Actions/reward.ts +0 -613
  102. package/src/wagmi/Actions/token.test.ts +0 -1309
  103. package/src/wagmi/Actions/token.ts +0 -2644
  104. package/src/wagmi/Connector.test.ts +0 -56
  105. package/src/wagmi/Connector.ts +0 -670
  106. package/src/wagmi/Hooks/amm.test.ts +0 -564
  107. package/src/wagmi/Hooks/amm.ts +0 -796
  108. package/src/wagmi/Hooks/dex.test.ts +0 -992
  109. package/src/wagmi/Hooks/dex.ts +0 -1598
  110. package/src/wagmi/Hooks/faucet.ts +0 -144
  111. package/src/wagmi/Hooks/fee.test.ts +0 -166
  112. package/src/wagmi/Hooks/fee.ts +0 -206
  113. package/src/wagmi/Hooks/index.ts +0 -8
  114. package/src/wagmi/Hooks/nonce.test.ts +0 -142
  115. package/src/wagmi/Hooks/nonce.ts +0 -117
  116. package/src/wagmi/Hooks/policy.test.ts +0 -665
  117. package/src/wagmi/Hooks/policy.ts +0 -873
  118. package/src/wagmi/Hooks/reward.test.ts +0 -249
  119. package/src/wagmi/Hooks/reward.ts +0 -645
  120. package/src/wagmi/Hooks/token.test.ts +0 -1183
  121. package/src/wagmi/Hooks/token.ts +0 -2906
  122. package/src/wagmi/KeyManager.ts +0 -172
  123. package/src/wagmi/index.ts +0 -7
@@ -1,494 +0,0 @@
1
- import { useEffect } from 'react';
2
- import { useChainId, useConfig } from 'wagmi';
3
- import { useMutation, useQuery, } from 'wagmi/query';
4
- import * as Actions from '../Actions/amm.js';
5
- /**
6
- * Hook for getting the reserves for a liquidity pool.
7
- *
8
- * @example
9
- * ```tsx
10
- * import { Hooks } from 'tempo.ts/wagmi'
11
- *
12
- * function App() {
13
- * const { data, isLoading } = Hooks.amm.usePool({
14
- * userToken: '0x...',
15
- * validatorToken: '0x...',
16
- * })
17
- *
18
- * if (isLoading) return <div>Loading...</div>
19
- * return (
20
- * <div>
21
- * User Token Reserve: {data?.reserveUserToken.toString()}
22
- * Validator Token Reserve: {data?.reserveValidatorToken.toString()}
23
- * </div>
24
- * )
25
- * }
26
- * ```
27
- *
28
- * @param parameters - Parameters.
29
- * @returns Query result with the pool reserves.
30
- */
31
- export function usePool(parameters) {
32
- const { userToken, validatorToken, query = {} } = parameters;
33
- const config = useConfig(parameters);
34
- const chainId = useChainId({ config });
35
- const options = Actions.getPool.queryOptions(config, {
36
- ...parameters,
37
- chainId: parameters.chainId ?? chainId,
38
- query: undefined,
39
- });
40
- const enabled = Boolean(userToken !== undefined &&
41
- validatorToken !== undefined &&
42
- (query.enabled ?? true));
43
- return useQuery({ ...query, ...options, enabled });
44
- }
45
- /**
46
- * Hook for getting the LP token balance for an account in a specific pool.
47
- *
48
- * @example
49
- * ```tsx
50
- * import { Hooks } from 'tempo.ts/wagmi'
51
- *
52
- * function App() {
53
- * const { data: poolId } = Hooks.amm.usePoolId({
54
- * userToken: '0x...',
55
- * validatorToken: '0x...',
56
- * })
57
- *
58
- * const { data, isLoading } = Hooks.amm.useLiquidityBalance({
59
- * poolId,
60
- * address: '0x20c...0055',
61
- * })
62
- *
63
- * if (isLoading) return <div>Loading...</div>
64
- * return <div>LP Balance: {data?.toString()}</div>
65
- * }
66
- * ```
67
- *
68
- * @param parameters - Parameters.
69
- * @returns Query result with the LP token balance.
70
- */
71
- export function useLiquidityBalance(parameters = {}) {
72
- const { address, poolId, userToken, validatorToken, query = {} } = parameters;
73
- const config = useConfig(parameters);
74
- const chainId = useChainId({ config });
75
- const options = Actions.getLiquidityBalance.queryOptions(config, {
76
- ...parameters,
77
- chainId: parameters.chainId ?? chainId,
78
- query: undefined,
79
- });
80
- const enabled = Boolean(address &&
81
- (poolId || (userToken !== undefined && validatorToken !== undefined)) &&
82
- (query.enabled ?? true));
83
- return useQuery({ ...query, ...options, enabled });
84
- }
85
- /**
86
- * Hook for performing a rebalance swap from validator token to user token.
87
- *
88
- * @example
89
- * ```tsx
90
- * import { Hooks } from 'tempo.ts/wagmi'
91
- *
92
- * function App() {
93
- * const { mutate, isPending } = Hooks.amm.useRebalanceSwap()
94
- *
95
- * return (
96
- * <button
97
- * onClick={() =>
98
- * mutate({
99
- * userToken: '0x...',
100
- * validatorToken: '0x...',
101
- * amountOut: 100n,
102
- * to: '0x...',
103
- * })
104
- * }
105
- * disabled={isPending}
106
- * >
107
- * Rebalance Swap
108
- * </button>
109
- * )
110
- * }
111
- * ```
112
- *
113
- * @param parameters - Parameters.
114
- * @returns Mutation result.
115
- */
116
- export function useRebalanceSwap(parameters = {}) {
117
- const { mutation } = parameters;
118
- const config = useConfig(parameters);
119
- return useMutation({
120
- ...mutation,
121
- async mutationFn(variables) {
122
- return Actions.rebalanceSwap(config, variables);
123
- },
124
- mutationKey: ['rebalanceSwap'],
125
- });
126
- }
127
- /**
128
- * Hook for performing a rebalance swap from validator token to user token.
129
- *
130
- * Note: This is a synchronous hook that waits for the transaction
131
- * to be included on a block before returning a response.
132
- *
133
- * @example
134
- * ```tsx
135
- * import { Hooks } from 'tempo.ts/wagmi'
136
- *
137
- * function App() {
138
- * const { mutate, isPending } = Hooks.amm.useRebalanceSwapSync()
139
- *
140
- * return (
141
- * <button
142
- * onClick={() =>
143
- * mutate({
144
- * userToken: '0x...',
145
- * validatorToken: '0x...',
146
- * amountOut: 100n,
147
- * to: '0x...',
148
- * })
149
- * }
150
- * disabled={isPending}
151
- * >
152
- * Rebalance Swap
153
- * </button>
154
- * )
155
- * }
156
- * ```
157
- *
158
- * @param parameters - Parameters.
159
- * @returns Mutation result.
160
- */
161
- export function useRebalanceSwapSync(parameters = {}) {
162
- const { mutation } = parameters;
163
- const config = useConfig(parameters);
164
- return useMutation({
165
- ...mutation,
166
- async mutationFn(variables) {
167
- return Actions.rebalanceSwapSync(config, variables);
168
- },
169
- mutationKey: ['rebalanceSwapSync'],
170
- });
171
- }
172
- /**
173
- * Hook for adding liquidity to a pool.
174
- *
175
- * @example
176
- * ```tsx
177
- * import { Hooks } from 'tempo.ts/wagmi'
178
- *
179
- * function App() {
180
- * const { mutate, isPending } = Hooks.amm.useMint()
181
- *
182
- * return (
183
- * <button
184
- * onClick={() =>
185
- * mutate({
186
- * userTokenAddress: '0x20c0...beef',
187
- * validatorTokenAddress: '0x20c0...babe',
188
- * validatorTokenAmount: 100n,
189
- * to: '0xfeed...fede',
190
- * })
191
- * }
192
- * disabled={isPending}
193
- * >
194
- * Add Liquidity
195
- * </button>
196
- * )
197
- * }
198
- * ```
199
- *
200
- * @param parameters - Parameters.
201
- * @returns Mutation result.
202
- */
203
- export function useMint(parameters = {}) {
204
- const { mutation } = parameters;
205
- const config = useConfig(parameters);
206
- return useMutation({
207
- ...mutation,
208
- async mutationFn(variables) {
209
- return Actions.mint(config, variables);
210
- },
211
- mutationKey: ['mint'],
212
- });
213
- }
214
- /**
215
- * Hook for adding liquidity to a pool.
216
- *
217
- * Note: This is a synchronous hook that waits for the transaction
218
- * to be included on a block before returning a response.
219
- *
220
- * @example
221
- * ```tsx
222
- * import { Hooks } from 'tempo.ts/wagmi'
223
- *
224
- * function App() {
225
- * const { mutate, isPending } = Hooks.amm.useMintSync()
226
- *
227
- * return (
228
- * <button
229
- * onClick={() =>
230
- * mutate({
231
- * userTokenAddress: '0x20c0...beef',
232
- * validatorTokenAddress: '0x20c0...babe',
233
- * validatorTokenAmount: 100n,
234
- * to: '0xfeed...fede',
235
- * })
236
- * }
237
- * disabled={isPending}
238
- * >
239
- * Add Liquidity
240
- * </button>
241
- * )
242
- * }
243
- * ```
244
- *
245
- * @param parameters - Parameters.
246
- * @returns Mutation result.
247
- */
248
- export function useMintSync(parameters = {}) {
249
- const { mutation } = parameters;
250
- const config = useConfig(parameters);
251
- return useMutation({
252
- ...mutation,
253
- async mutationFn(variables) {
254
- return Actions.mintSync(config, variables);
255
- },
256
- mutationKey: ['mintSync'],
257
- });
258
- }
259
- /**
260
- * Hook for removing liquidity from a pool.
261
- *
262
- * @example
263
- * ```tsx
264
- * import { Hooks } from 'tempo.ts/wagmi'
265
- *
266
- * function App() {
267
- * const { mutate, isPending } = Hooks.amm.useBurn()
268
- *
269
- * return (
270
- * <button
271
- * onClick={() =>
272
- * mutate({
273
- * userToken: '0x20c0...beef',
274
- * validatorToken: '0x20c0...babe',
275
- * liquidity: 50n,
276
- * to: '0xfeed...fede',
277
- * })
278
- * }
279
- * disabled={isPending}
280
- * >
281
- * Remove Liquidity
282
- * </button>
283
- * )
284
- * }
285
- * ```
286
- *
287
- * @param parameters - Parameters.
288
- * @returns Mutation result.
289
- */
290
- export function useBurn(parameters = {}) {
291
- const { mutation } = parameters;
292
- const config = useConfig(parameters);
293
- return useMutation({
294
- ...mutation,
295
- async mutationFn(variables) {
296
- return Actions.burn(config, variables);
297
- },
298
- mutationKey: ['burn'],
299
- });
300
- }
301
- /**
302
- * Hook for removing liquidity from a pool.
303
- *
304
- * Note: This is a synchronous hook that waits for the transaction
305
- * to be included on a block before returning a response.
306
- *
307
- * @example
308
- * ```tsx
309
- * import { Hooks } from 'tempo.ts/wagmi'
310
- *
311
- * function App() {
312
- * const { mutate, isPending } = Hooks.amm.useBurnSync()
313
- *
314
- * return (
315
- * <button
316
- * onClick={() =>
317
- * mutate({
318
- * userToken: '0x20c0...beef',
319
- * validatorToken: '0x20c0...babe',
320
- * liquidity: 50n,
321
- * to: '0xfeed...fede',
322
- * })
323
- * }
324
- * disabled={isPending}
325
- * >
326
- * Remove Liquidity
327
- * </button>
328
- * )
329
- * }
330
- * ```
331
- *
332
- * @param parameters - Parameters.
333
- * @returns Mutation result.
334
- */
335
- export function useBurnSync(parameters = {}) {
336
- const { mutation } = parameters;
337
- const config = useConfig(parameters);
338
- return useMutation({
339
- ...mutation,
340
- async mutationFn(variables) {
341
- return Actions.burnSync(config, variables);
342
- },
343
- mutationKey: ['burnSync'],
344
- });
345
- }
346
- /**
347
- * Hook for watching rebalance swap events.
348
- *
349
- * @example
350
- * ```tsx
351
- * import { Hooks } from 'tempo.ts/wagmi'
352
- *
353
- * function App() {
354
- * Hooks.amm.useWatchRebalanceSwap({
355
- * onRebalanceSwap(args) {
356
- * console.log('Rebalance swap:', args)
357
- * },
358
- * })
359
- *
360
- * return <div>Watching for rebalance swaps...</div>
361
- * }
362
- * ```
363
- *
364
- * @param parameters - Parameters.
365
- */
366
- export function useWatchRebalanceSwap(parameters = {}) {
367
- const { enabled = true, onRebalanceSwap, ...rest } = parameters;
368
- const config = useConfig({ config: parameters.config });
369
- const configChainId = useChainId({ config });
370
- const chainId = parameters.chainId ?? configChainId;
371
- useEffect(() => {
372
- if (!enabled)
373
- return;
374
- if (!onRebalanceSwap)
375
- return;
376
- return Actions.watchRebalanceSwap(config, {
377
- ...rest,
378
- chainId,
379
- onRebalanceSwap,
380
- });
381
- }, [config, enabled, onRebalanceSwap, rest, chainId]);
382
- }
383
- /**
384
- * Hook for watching fee swap events.
385
- *
386
- * @example
387
- * ```tsx
388
- * import { Hooks } from 'tempo.ts/wagmi'
389
- *
390
- * function App() {
391
- * Hooks.amm.useWatchFeeSwap({
392
- * onFeeSwap(args) {
393
- * console.log('Fee swap:', args)
394
- * },
395
- * })
396
- *
397
- * return <div>Watching for fee swaps...</div>
398
- * }
399
- * ```
400
- *
401
- * @param parameters - Parameters.
402
- */
403
- export function useWatchFeeSwap(parameters = {}) {
404
- const { enabled = true, onFeeSwap, ...rest } = parameters;
405
- const config = useConfig({ config: parameters.config });
406
- const configChainId = useChainId({ config });
407
- const chainId = parameters.chainId ?? configChainId;
408
- useEffect(() => {
409
- if (!enabled)
410
- return;
411
- if (!onFeeSwap)
412
- return;
413
- return Actions.watchFeeSwap(config, {
414
- ...rest,
415
- chainId,
416
- onFeeSwap,
417
- });
418
- }, [config, enabled, onFeeSwap, rest, chainId]);
419
- }
420
- /**
421
- * Hook for watching liquidity mint events.
422
- *
423
- * @example
424
- * ```tsx
425
- * import { Hooks } from 'tempo.ts/wagmi'
426
- *
427
- * function App() {
428
- * Hooks.amm.useWatchMint({
429
- * onMint(args) {
430
- * console.log('Liquidity added:', args)
431
- * },
432
- * })
433
- *
434
- * return <div>Watching for liquidity additions...</div>
435
- * }
436
- * ```
437
- *
438
- * @param parameters - Parameters.
439
- */
440
- export function useWatchMint(parameters = {}) {
441
- const { enabled = true, onMint, ...rest } = parameters;
442
- const config = useConfig({ config: parameters.config });
443
- const configChainId = useChainId({ config });
444
- const chainId = parameters.chainId ?? configChainId;
445
- useEffect(() => {
446
- if (!enabled)
447
- return;
448
- if (!onMint)
449
- return;
450
- return Actions.watchMint(config, {
451
- ...rest,
452
- chainId,
453
- onMint,
454
- });
455
- }, [config, enabled, onMint, rest, chainId]);
456
- }
457
- /**
458
- * Hook for watching liquidity burn events.
459
- *
460
- * @example
461
- * ```tsx
462
- * import { Hooks } from 'tempo.ts/wagmi'
463
- *
464
- * function App() {
465
- * Hooks.amm.useWatchBurn({
466
- * onBurn(args) {
467
- * console.log('Liquidity removed:', args)
468
- * },
469
- * })
470
- *
471
- * return <div>Watching for liquidity removals...</div>
472
- * }
473
- * ```
474
- *
475
- * @param parameters - Parameters.
476
- */
477
- export function useWatchBurn(parameters = {}) {
478
- const { enabled = true, onBurn, ...rest } = parameters;
479
- const config = useConfig({ config: parameters.config });
480
- const configChainId = useChainId({ config });
481
- const chainId = parameters.chainId ?? configChainId;
482
- useEffect(() => {
483
- if (!enabled)
484
- return;
485
- if (!onBurn)
486
- return;
487
- return Actions.watchBurn(config, {
488
- ...rest,
489
- chainId,
490
- onBurn,
491
- });
492
- }, [config, enabled, onBurn, rest, chainId]);
493
- }
494
- //# sourceMappingURL=amm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"amm.js","sourceRoot":"","sources":["../../../src/wagmi/Hooks/amm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAE7C,OAAO,EAGL,WAAW,EACX,QAAQ,GACT,MAAM,aAAa,CAAA;AAGpB,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,OAAO,CAGrB,UAAkD;IAClD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAA;IAE5D,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;QACnD,GAAG,UAAU;QACb,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,OAAO;QACtC,KAAK,EAAE,SAAS;KACR,CAAC,CAAA;IACX,MAAM,OAAO,GAAG,OAAO,CACrB,SAAS,KAAK,SAAS;QACrB,cAAc,KAAK,SAAS;QAC5B,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAC1B,CAAA;IAED,OAAO,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;AACpD,CAAC;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAGjC,aAAiE,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAA;IAE7E,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAEtC,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,EAAE;QAC/D,GAAG,UAAU;QACb,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,OAAO;QACtC,KAAK,EAAE,SAAS;KACR,CAAC,CAAA;IACX,MAAM,OAAO,GAAG,OAAO,CACrB,OAAO;QACL,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC;QACrE,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,CAC1B,CAAA;IAED,OAAO,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAA;AACpD,CAAC;AAyBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,gBAAgB,CAI9B,aAA2D,EAAE;IAE7D,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QAC1D,CAAC;QACD,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,oBAAoB,CAIlC,aAA+D,EAAE;IAEjE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QAC9D,CAAC;QACD,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,OAAO,CAIrB,aAAkD,EAAE;IAEpD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QACjD,CAAC;QACD,WAAW,EAAE,CAAC,MAAM,CAAC;KACtB,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,WAAW,CAIzB,aAAsD,EAAE;IAExD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QACrD,CAAC;QACD,WAAW,EAAE,CAAC,UAAU,CAAC;KAC1B,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,OAAO,CAIrB,aAAkD,EAAE;IAEpD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QACjD,CAAC;QACD,WAAW,EAAE,CAAC,MAAM,CAAC;KACtB,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,WAAW,CAIzB,aAAsD,EAAE;IAExD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;IACpC,OAAO,WAAW,CAAC;QACjB,GAAG,QAAQ;QACX,KAAK,CAAC,UAAU,CAAC,SAAS;YACxB,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAkB,CAAC,CAAA;QACrD,CAAC;QACD,WAAW,EAAE,CAAC,UAAU,CAAC;KAC1B,CAAU,CAAA;AACb,CAAC;AA4BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,qBAAqB,CAEnC,aAAuD,EAAE;IACzD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,aAAa,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,eAAe;YAAE,OAAM;QAC5B,OAAO,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE;YACxC,GAAG,IAAI;YACP,OAAO;YACP,eAAe;SAChB,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AACvD,CAAC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAE7B,aAAiD,EAAE;IACnD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAEzD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,aAAa,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;YAClC,GAAG,IAAI;YACP,OAAO;YACP,SAAS;SACV,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AACjD,CAAC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,YAAY,CAE1B,aAA8C,EAAE;IAChD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAEtD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,aAAa,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC/B,GAAG,IAAI;YACP,OAAO;YACP,MAAM;SACP,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9C,CAAC;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,YAAY,CAE1B,aAA8C,EAAE;IAChD,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IAEtD,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IACvD,MAAM,aAAa,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,aAAa,CAAA;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC/B,GAAG,IAAI;YACP,OAAO;YACP,MAAM;SACP,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9C,CAAC"}