@metadaoproject/futarchy 0.4.0-alpha.34 → 0.4.0-alpha.36

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 (115) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/v0.3/AmmClient.d.ts +223 -0
  5. package/dist/v0.3/AmmClient.js +186 -0
  6. package/dist/v0.3/AmmClient.js.map +1 -0
  7. package/dist/v0.3/AutocratClient.d.ts +234 -0
  8. package/dist/v0.3/AutocratClient.js +270 -0
  9. package/dist/v0.3/AutocratClient.js.map +1 -0
  10. package/dist/v0.3/ConditionalVaultClient.d.ts +281 -0
  11. package/dist/v0.3/ConditionalVaultClient.js +135 -0
  12. package/dist/v0.3/ConditionalVaultClient.js.map +1 -0
  13. package/dist/v0.3/FutarchyClient.d.ts +26 -0
  14. package/dist/v0.3/FutarchyClient.js +47 -0
  15. package/dist/v0.3/FutarchyClient.js.map +1 -0
  16. package/dist/v0.3/constants.d.ts +9 -0
  17. package/dist/v0.3/constants.js +10 -0
  18. package/dist/v0.3/constants.js.map +1 -0
  19. package/dist/v0.3/index.d.ts +7 -0
  20. package/dist/v0.3/index.js +8 -0
  21. package/dist/v0.3/index.js.map +1 -0
  22. package/dist/v0.3/types/amm.d.ts +542 -0
  23. package/dist/v0.3/types/amm.js +542 -0
  24. package/dist/v0.3/types/amm.js.map +1 -0
  25. package/dist/v0.3/types/autocrat.d.ts +632 -0
  26. package/dist/v0.3/types/autocrat.js +632 -0
  27. package/dist/v0.3/types/autocrat.js.map +1 -0
  28. package/dist/v0.3/types/conditional_vault.d.ts +448 -0
  29. package/dist/v0.3/types/conditional_vault.js +448 -0
  30. package/dist/v0.3/types/conditional_vault.js.map +1 -0
  31. package/dist/v0.3/types/index.d.ts +21 -0
  32. package/dist/v0.3/types/index.js +4 -0
  33. package/dist/v0.3/types/index.js.map +1 -0
  34. package/dist/v0.3/types/utils.d.ts +3 -0
  35. package/dist/v0.3/types/utils.js +2 -0
  36. package/dist/v0.3/types/utils.js.map +1 -0
  37. package/dist/v0.3/utils/ammMath.d.ts +39 -0
  38. package/dist/v0.3/utils/ammMath.js +142 -0
  39. package/dist/v0.3/utils/ammMath.js.map +1 -0
  40. package/dist/v0.3/utils/cu.d.ts +10 -0
  41. package/dist/v0.3/utils/cu.js +11 -0
  42. package/dist/v0.3/utils/cu.js.map +1 -0
  43. package/dist/v0.3/utils/filters.d.ts +3 -0
  44. package/dist/v0.3/utils/filters.js +14 -0
  45. package/dist/v0.3/utils/filters.js.map +1 -0
  46. package/dist/v0.3/utils/index.d.ts +16 -0
  47. package/dist/v0.3/utils/index.js +30 -0
  48. package/dist/v0.3/utils/index.js.map +1 -0
  49. package/dist/v0.3/utils/instruction.d.ts +4 -0
  50. package/dist/v0.3/utils/instruction.js +10 -0
  51. package/dist/v0.3/utils/instruction.js.map +1 -0
  52. package/dist/v0.3/utils/metadata.d.ts +4 -0
  53. package/dist/v0.3/utils/metadata.js +26 -0
  54. package/dist/v0.3/utils/metadata.js.map +1 -0
  55. package/dist/v0.3/utils/pda.d.ts +10 -0
  56. package/dist/v0.3/utils/pda.js +47 -0
  57. package/dist/v0.3/utils/pda.js.map +1 -0
  58. package/dist/v0.4/AmmClient.d.ts +266 -0
  59. package/dist/v0.4/AmmClient.js +186 -0
  60. package/dist/v0.4/AmmClient.js.map +1 -0
  61. package/dist/v0.4/AutocratClient.d.ts +234 -0
  62. package/dist/v0.4/AutocratClient.js +377 -0
  63. package/dist/v0.4/AutocratClient.js.map +1 -0
  64. package/dist/v0.4/ConditionalVaultClient.d.ts +315 -0
  65. package/dist/v0.4/ConditionalVaultClient.js +209 -0
  66. package/dist/v0.4/ConditionalVaultClient.js.map +1 -0
  67. package/dist/v0.4/LaunchpadClient.d.ts +64 -0
  68. package/dist/v0.4/LaunchpadClient.js +45 -0
  69. package/dist/v0.4/LaunchpadClient.js.map +1 -0
  70. package/dist/v0.4/constants.d.ts +10 -0
  71. package/dist/v0.4/constants.js +11 -0
  72. package/dist/v0.4/constants.js.map +1 -0
  73. package/dist/v0.4/index.d.ts +7 -0
  74. package/dist/v0.4/index.js +8 -0
  75. package/dist/v0.4/index.js.map +1 -0
  76. package/dist/v0.4/types/amm.d.ts +813 -0
  77. package/dist/v0.4/types/amm.js +813 -0
  78. package/dist/v0.4/types/amm.js.map +1 -0
  79. package/dist/v0.4/types/autocrat.d.ts +641 -0
  80. package/dist/v0.4/types/autocrat.js +641 -0
  81. package/dist/v0.4/types/autocrat.js.map +1 -0
  82. package/dist/v0.4/types/conditional_vault.d.ts +920 -0
  83. package/dist/v0.4/types/conditional_vault.js +920 -0
  84. package/dist/v0.4/types/conditional_vault.js.map +1 -0
  85. package/dist/v0.4/types/index.d.ts +33 -0
  86. package/dist/v0.4/types/index.js +9 -0
  87. package/dist/v0.4/types/index.js.map +1 -0
  88. package/dist/v0.4/types/launchpad.d.ts +141 -0
  89. package/dist/v0.4/types/launchpad.js +141 -0
  90. package/dist/v0.4/types/launchpad.js.map +1 -0
  91. package/dist/v0.4/types/utils.d.ts +3 -0
  92. package/dist/v0.4/types/utils.js +2 -0
  93. package/dist/v0.4/types/utils.js.map +1 -0
  94. package/dist/v0.4/utils/cu.d.ts +10 -0
  95. package/dist/v0.4/utils/cu.js +11 -0
  96. package/dist/v0.4/utils/cu.js.map +1 -0
  97. package/dist/v0.4/utils/filters.d.ts +3 -0
  98. package/dist/v0.4/utils/filters.js +14 -0
  99. package/dist/v0.4/utils/filters.js.map +1 -0
  100. package/dist/v0.4/utils/index.d.ts +16 -0
  101. package/dist/v0.4/utils/index.js +30 -0
  102. package/dist/v0.4/utils/index.js.map +1 -0
  103. package/dist/v0.4/utils/instruction.d.ts +4 -0
  104. package/dist/v0.4/utils/instruction.js +10 -0
  105. package/dist/v0.4/utils/instruction.js.map +1 -0
  106. package/dist/v0.4/utils/metadata.d.ts +4 -0
  107. package/dist/v0.4/utils/metadata.js +26 -0
  108. package/dist/v0.4/utils/metadata.js.map +1 -0
  109. package/dist/v0.4/utils/pda.d.ts +18 -0
  110. package/dist/v0.4/utils/pda.js +79 -0
  111. package/dist/v0.4/utils/pda.js.map +1 -0
  112. package/dist/v0.4/utils/priceMath.d.ts +54 -0
  113. package/dist/v0.4/utils/priceMath.js +116 -0
  114. package/dist/v0.4/utils/priceMath.js.map +1 -0
  115. package/package.json +1 -1
@@ -0,0 +1,641 @@
1
+ export const IDL = {
2
+ version: "0.4.0",
3
+ name: "autocrat",
4
+ instructions: [
5
+ {
6
+ name: "initializeDao",
7
+ accounts: [
8
+ {
9
+ name: "dao",
10
+ isMut: true,
11
+ isSigner: true,
12
+ },
13
+ {
14
+ name: "payer",
15
+ isMut: true,
16
+ isSigner: true,
17
+ },
18
+ {
19
+ name: "systemProgram",
20
+ isMut: false,
21
+ isSigner: false,
22
+ },
23
+ {
24
+ name: "tokenMint",
25
+ isMut: false,
26
+ isSigner: false,
27
+ },
28
+ {
29
+ name: "usdcMint",
30
+ isMut: false,
31
+ isSigner: false,
32
+ },
33
+ ],
34
+ args: [
35
+ {
36
+ name: "params",
37
+ type: {
38
+ defined: "InitializeDaoParams",
39
+ },
40
+ },
41
+ ],
42
+ },
43
+ {
44
+ name: "initializeProposal",
45
+ accounts: [
46
+ {
47
+ name: "proposal",
48
+ isMut: true,
49
+ isSigner: false,
50
+ },
51
+ {
52
+ name: "dao",
53
+ isMut: true,
54
+ isSigner: false,
55
+ },
56
+ {
57
+ name: "question",
58
+ isMut: false,
59
+ isSigner: false,
60
+ },
61
+ {
62
+ name: "quoteVault",
63
+ isMut: false,
64
+ isSigner: false,
65
+ },
66
+ {
67
+ name: "baseVault",
68
+ isMut: false,
69
+ isSigner: false,
70
+ },
71
+ {
72
+ name: "passAmm",
73
+ isMut: false,
74
+ isSigner: false,
75
+ },
76
+ {
77
+ name: "passLpMint",
78
+ isMut: false,
79
+ isSigner: false,
80
+ },
81
+ {
82
+ name: "failLpMint",
83
+ isMut: false,
84
+ isSigner: false,
85
+ },
86
+ {
87
+ name: "failAmm",
88
+ isMut: false,
89
+ isSigner: false,
90
+ },
91
+ {
92
+ name: "passLpUserAccount",
93
+ isMut: true,
94
+ isSigner: false,
95
+ },
96
+ {
97
+ name: "failLpUserAccount",
98
+ isMut: true,
99
+ isSigner: false,
100
+ },
101
+ {
102
+ name: "passLpVaultAccount",
103
+ isMut: true,
104
+ isSigner: false,
105
+ },
106
+ {
107
+ name: "failLpVaultAccount",
108
+ isMut: true,
109
+ isSigner: false,
110
+ },
111
+ {
112
+ name: "proposer",
113
+ isMut: true,
114
+ isSigner: true,
115
+ },
116
+ {
117
+ name: "tokenProgram",
118
+ isMut: false,
119
+ isSigner: false,
120
+ },
121
+ {
122
+ name: "systemProgram",
123
+ isMut: false,
124
+ isSigner: false,
125
+ },
126
+ ],
127
+ args: [
128
+ {
129
+ name: "params",
130
+ type: {
131
+ defined: "InitializeProposalParams",
132
+ },
133
+ },
134
+ ],
135
+ },
136
+ {
137
+ name: "finalizeProposal",
138
+ accounts: [
139
+ {
140
+ name: "proposal",
141
+ isMut: true,
142
+ isSigner: false,
143
+ },
144
+ {
145
+ name: "passAmm",
146
+ isMut: false,
147
+ isSigner: false,
148
+ },
149
+ {
150
+ name: "failAmm",
151
+ isMut: false,
152
+ isSigner: false,
153
+ },
154
+ {
155
+ name: "dao",
156
+ isMut: false,
157
+ isSigner: false,
158
+ },
159
+ {
160
+ name: "question",
161
+ isMut: true,
162
+ isSigner: false,
163
+ },
164
+ {
165
+ name: "treasury",
166
+ isMut: false,
167
+ isSigner: false,
168
+ },
169
+ {
170
+ name: "passLpUserAccount",
171
+ isMut: true,
172
+ isSigner: false,
173
+ },
174
+ {
175
+ name: "failLpUserAccount",
176
+ isMut: true,
177
+ isSigner: false,
178
+ },
179
+ {
180
+ name: "passLpVaultAccount",
181
+ isMut: true,
182
+ isSigner: false,
183
+ },
184
+ {
185
+ name: "failLpVaultAccount",
186
+ isMut: true,
187
+ isSigner: false,
188
+ },
189
+ {
190
+ name: "tokenProgram",
191
+ isMut: false,
192
+ isSigner: false,
193
+ },
194
+ {
195
+ name: "vaultProgram",
196
+ isMut: false,
197
+ isSigner: false,
198
+ },
199
+ {
200
+ name: "vaultEventAuthority",
201
+ isMut: false,
202
+ isSigner: false,
203
+ },
204
+ ],
205
+ args: [],
206
+ },
207
+ {
208
+ name: "executeProposal",
209
+ accounts: [
210
+ {
211
+ name: "proposal",
212
+ isMut: true,
213
+ isSigner: false,
214
+ },
215
+ {
216
+ name: "dao",
217
+ isMut: false,
218
+ isSigner: false,
219
+ },
220
+ ],
221
+ args: [],
222
+ },
223
+ {
224
+ name: "updateDao",
225
+ accounts: [
226
+ {
227
+ name: "dao",
228
+ isMut: true,
229
+ isSigner: false,
230
+ },
231
+ {
232
+ name: "treasury",
233
+ isMut: false,
234
+ isSigner: true,
235
+ },
236
+ ],
237
+ args: [
238
+ {
239
+ name: "daoParams",
240
+ type: {
241
+ defined: "UpdateDaoParams",
242
+ },
243
+ },
244
+ ],
245
+ },
246
+ ],
247
+ accounts: [
248
+ {
249
+ name: "dao",
250
+ type: {
251
+ kind: "struct",
252
+ fields: [
253
+ {
254
+ name: "treasuryPdaBump",
255
+ type: "u8",
256
+ },
257
+ {
258
+ name: "treasury",
259
+ type: "publicKey",
260
+ },
261
+ {
262
+ name: "tokenMint",
263
+ type: "publicKey",
264
+ },
265
+ {
266
+ name: "usdcMint",
267
+ type: "publicKey",
268
+ },
269
+ {
270
+ name: "proposalCount",
271
+ type: "u32",
272
+ },
273
+ {
274
+ name: "passThresholdBps",
275
+ type: "u16",
276
+ },
277
+ {
278
+ name: "slotsPerProposal",
279
+ type: "u64",
280
+ },
281
+ {
282
+ name: "twapInitialObservation",
283
+ docs: [
284
+ "For manipulation-resistance the TWAP is a time-weighted average observation,",
285
+ "where observation tries to approximate price but can only move by",
286
+ "`twap_max_observation_change_per_update` per update. Because it can only move",
287
+ "a little bit per update, you need to check that it has a good initial observation.",
288
+ "Otherwise, an attacker could create a very high initial observation in the pass",
289
+ "market and a very low one in the fail market to force the proposal to pass.",
290
+ "",
291
+ "We recommend setting an initial observation around the spot price of the token,",
292
+ "and max observation change per update around 2% the spot price of the token.",
293
+ "For example, if the spot price of META is $400, we'd recommend setting an initial",
294
+ "observation of 400 (converted into the AMM prices) and a max observation change per",
295
+ "update of 8 (also converted into the AMM prices). Observations can be updated once",
296
+ "a minute, so 2% allows the proposal market to reach double the spot price or 0",
297
+ "in 50 minutes.",
298
+ ],
299
+ type: "u128",
300
+ },
301
+ {
302
+ name: "twapMaxObservationChangePerUpdate",
303
+ type: "u128",
304
+ },
305
+ {
306
+ name: "minQuoteFutarchicLiquidity",
307
+ docs: [
308
+ "As an anti-spam measure and to help liquidity, you need to lock up some liquidity",
309
+ "in both futarchic markets in order to create a proposal.",
310
+ "",
311
+ "For example, for META, we can use a `min_quote_futarchic_liquidity` of",
312
+ "5000 * 1_000_000 (5000 USDC) and a `min_base_futarchic_liquidity` of",
313
+ "10 * 1_000_000_000 (10 META).",
314
+ ],
315
+ type: "u64",
316
+ },
317
+ {
318
+ name: "minBaseFutarchicLiquidity",
319
+ type: "u64",
320
+ },
321
+ ],
322
+ },
323
+ },
324
+ {
325
+ name: "proposal",
326
+ type: {
327
+ kind: "struct",
328
+ fields: [
329
+ {
330
+ name: "number",
331
+ type: "u32",
332
+ },
333
+ {
334
+ name: "proposer",
335
+ type: "publicKey",
336
+ },
337
+ {
338
+ name: "descriptionUrl",
339
+ type: "string",
340
+ },
341
+ {
342
+ name: "slotEnqueued",
343
+ type: "u64",
344
+ },
345
+ {
346
+ name: "state",
347
+ type: {
348
+ defined: "ProposalState",
349
+ },
350
+ },
351
+ {
352
+ name: "instruction",
353
+ type: {
354
+ defined: "ProposalInstruction",
355
+ },
356
+ },
357
+ {
358
+ name: "passAmm",
359
+ type: "publicKey",
360
+ },
361
+ {
362
+ name: "failAmm",
363
+ type: "publicKey",
364
+ },
365
+ {
366
+ name: "baseVault",
367
+ type: "publicKey",
368
+ },
369
+ {
370
+ name: "quoteVault",
371
+ type: "publicKey",
372
+ },
373
+ {
374
+ name: "dao",
375
+ type: "publicKey",
376
+ },
377
+ {
378
+ name: "passLpTokensLocked",
379
+ type: "u64",
380
+ },
381
+ {
382
+ name: "failLpTokensLocked",
383
+ type: "u64",
384
+ },
385
+ {
386
+ name: "nonce",
387
+ docs: [
388
+ "We need to include a per-proposer nonce to prevent some weird proposal",
389
+ "front-running edge cases. Using a `u64` means that proposers are unlikely",
390
+ "to run into collisions, even if they generate nonces randomly - I've run",
391
+ "the math :D",
392
+ ],
393
+ type: "u64",
394
+ },
395
+ {
396
+ name: "pdaBump",
397
+ type: "u8",
398
+ },
399
+ {
400
+ name: "question",
401
+ type: "publicKey",
402
+ },
403
+ ],
404
+ },
405
+ },
406
+ ],
407
+ types: [
408
+ {
409
+ name: "InitializeDaoParams",
410
+ type: {
411
+ kind: "struct",
412
+ fields: [
413
+ {
414
+ name: "twapInitialObservation",
415
+ type: "u128",
416
+ },
417
+ {
418
+ name: "twapMaxObservationChangePerUpdate",
419
+ type: "u128",
420
+ },
421
+ {
422
+ name: "minQuoteFutarchicLiquidity",
423
+ type: "u64",
424
+ },
425
+ {
426
+ name: "minBaseFutarchicLiquidity",
427
+ type: "u64",
428
+ },
429
+ {
430
+ name: "passThresholdBps",
431
+ type: {
432
+ option: "u16",
433
+ },
434
+ },
435
+ {
436
+ name: "slotsPerProposal",
437
+ type: {
438
+ option: "u64",
439
+ },
440
+ },
441
+ ],
442
+ },
443
+ },
444
+ {
445
+ name: "InitializeProposalParams",
446
+ type: {
447
+ kind: "struct",
448
+ fields: [
449
+ {
450
+ name: "descriptionUrl",
451
+ type: "string",
452
+ },
453
+ {
454
+ name: "instruction",
455
+ type: {
456
+ defined: "ProposalInstruction",
457
+ },
458
+ },
459
+ {
460
+ name: "passLpTokensToLock",
461
+ type: "u64",
462
+ },
463
+ {
464
+ name: "failLpTokensToLock",
465
+ type: "u64",
466
+ },
467
+ {
468
+ name: "nonce",
469
+ type: "u64",
470
+ },
471
+ ],
472
+ },
473
+ },
474
+ {
475
+ name: "UpdateDaoParams",
476
+ type: {
477
+ kind: "struct",
478
+ fields: [
479
+ {
480
+ name: "passThresholdBps",
481
+ type: {
482
+ option: "u16",
483
+ },
484
+ },
485
+ {
486
+ name: "slotsPerProposal",
487
+ type: {
488
+ option: "u64",
489
+ },
490
+ },
491
+ {
492
+ name: "twapInitialObservation",
493
+ type: {
494
+ option: "u128",
495
+ },
496
+ },
497
+ {
498
+ name: "twapMaxObservationChangePerUpdate",
499
+ type: {
500
+ option: "u128",
501
+ },
502
+ },
503
+ {
504
+ name: "minQuoteFutarchicLiquidity",
505
+ type: {
506
+ option: "u64",
507
+ },
508
+ },
509
+ {
510
+ name: "minBaseFutarchicLiquidity",
511
+ type: {
512
+ option: "u64",
513
+ },
514
+ },
515
+ ],
516
+ },
517
+ },
518
+ {
519
+ name: "ProposalAccount",
520
+ type: {
521
+ kind: "struct",
522
+ fields: [
523
+ {
524
+ name: "pubkey",
525
+ type: "publicKey",
526
+ },
527
+ {
528
+ name: "isSigner",
529
+ type: "bool",
530
+ },
531
+ {
532
+ name: "isWritable",
533
+ type: "bool",
534
+ },
535
+ ],
536
+ },
537
+ },
538
+ {
539
+ name: "ProposalInstruction",
540
+ type: {
541
+ kind: "struct",
542
+ fields: [
543
+ {
544
+ name: "programId",
545
+ type: "publicKey",
546
+ },
547
+ {
548
+ name: "accounts",
549
+ type: {
550
+ vec: {
551
+ defined: "ProposalAccount",
552
+ },
553
+ },
554
+ },
555
+ {
556
+ name: "data",
557
+ type: "bytes",
558
+ },
559
+ ],
560
+ },
561
+ },
562
+ {
563
+ name: "ProposalState",
564
+ type: {
565
+ kind: "enum",
566
+ variants: [
567
+ {
568
+ name: "Pending",
569
+ },
570
+ {
571
+ name: "Passed",
572
+ },
573
+ {
574
+ name: "Failed",
575
+ },
576
+ {
577
+ name: "Executed",
578
+ },
579
+ ],
580
+ },
581
+ },
582
+ ],
583
+ errors: [
584
+ {
585
+ code: 6000,
586
+ name: "AmmTooOld",
587
+ msg: "Amms must have been created within 5 minutes (counted in slots) of proposal initialization",
588
+ },
589
+ {
590
+ code: 6001,
591
+ name: "InvalidInitialObservation",
592
+ msg: "An amm has an `initial_observation` that doesn't match the `dao`'s config",
593
+ },
594
+ {
595
+ code: 6002,
596
+ name: "InvalidMaxObservationChange",
597
+ msg: "An amm has a `max_observation_change_per_update` that doesn't match the `dao`'s config",
598
+ },
599
+ {
600
+ code: 6003,
601
+ name: "InvalidSettlementAuthority",
602
+ msg: "One of the vaults has an invalid `settlement_authority`",
603
+ },
604
+ {
605
+ code: 6004,
606
+ name: "ProposalTooYoung",
607
+ msg: "Proposal is too young to be executed or rejected",
608
+ },
609
+ {
610
+ code: 6005,
611
+ name: "MarketsTooYoung",
612
+ msg: "Markets too young for proposal to be finalized. TWAP might need to be cranked",
613
+ },
614
+ {
615
+ code: 6006,
616
+ name: "ProposalAlreadyFinalized",
617
+ msg: "This proposal has already been finalized",
618
+ },
619
+ {
620
+ code: 6007,
621
+ name: "InvalidVaultNonce",
622
+ msg: "A conditional vault has an invalid nonce. A nonce should encode the proposal number",
623
+ },
624
+ {
625
+ code: 6008,
626
+ name: "ProposalNotPassed",
627
+ msg: "This proposal can't be executed because it isn't in the passed state",
628
+ },
629
+ {
630
+ code: 6009,
631
+ name: "InsufficientLpTokenBalance",
632
+ msg: "The proposer has fewer pass or fail LP tokens than they requested to lock",
633
+ },
634
+ {
635
+ code: 6010,
636
+ name: "InsufficientLpTokenLock",
637
+ msg: "The LP tokens passed in have less liquidity than the DAO's `min_quote_futarchic_liquidity` or `min_base_futachic_liquidity`",
638
+ },
639
+ ],
640
+ };
641
+ //# sourceMappingURL=autocrat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocrat.js","sourceRoot":"","sources":["../../../src/v0.4/types/autocrat.ts"],"names":[],"mappings":"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"}