@algorandfoundation/algokit-utils 1.0.0 → 1.1.1-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.
Files changed (112) hide show
  1. package/README.md +38 -0
  2. package/account.d.ts +11 -10
  3. package/account.d.ts.map +1 -1
  4. package/account.js +13 -12
  5. package/account.js.map +1 -1
  6. package/amount.d.ts +15 -3
  7. package/amount.d.ts.map +1 -1
  8. package/amount.js +15 -3
  9. package/amount.js.map +1 -1
  10. package/app-client.d.ts +14 -0
  11. package/app-client.d.ts.map +1 -0
  12. package/app-client.js +19 -0
  13. package/app-client.js.map +1 -0
  14. package/{deploy-app.d.ts → app-deploy.d.ts} +16 -14
  15. package/app-deploy.d.ts.map +1 -0
  16. package/{deploy-app.js → app-deploy.js} +47 -28
  17. package/app-deploy.js.map +1 -0
  18. package/app.d.ts +53 -8
  19. package/app.d.ts.map +1 -1
  20. package/app.js +305 -146
  21. package/app.js.map +1 -1
  22. package/index.d.ts +2 -2
  23. package/index.d.ts.map +1 -1
  24. package/index.js +2 -2
  25. package/index.js.map +1 -1
  26. package/indexer-lookup.d.ts +11 -4
  27. package/indexer-lookup.d.ts.map +1 -1
  28. package/indexer-lookup.js +19 -9
  29. package/indexer-lookup.js.map +1 -1
  30. package/localnet.d.ts +7 -7
  31. package/localnet.js +7 -7
  32. package/network-client.d.ts +4 -4
  33. package/network-client.js +5 -5
  34. package/network-client.js.map +1 -1
  35. package/package.json +1 -1
  36. package/testing/account.d.ts +2 -2
  37. package/testing/account.js +2 -2
  38. package/testing/fixtures/algorand-fixture.d.ts +6 -2
  39. package/testing/fixtures/algorand-fixture.d.ts.map +1 -1
  40. package/testing/fixtures/algorand-fixture.js +19 -8
  41. package/testing/fixtures/algorand-fixture.js.map +1 -1
  42. package/testing/indexer.d.ts.map +1 -1
  43. package/testing/indexer.js +1 -0
  44. package/testing/indexer.js.map +1 -1
  45. package/testing/test-logger.d.ts +3 -1
  46. package/testing/test-logger.d.ts.map +1 -1
  47. package/testing/test-logger.js +4 -2
  48. package/testing/test-logger.js.map +1 -1
  49. package/testing/transaction-logger.d.ts +4 -4
  50. package/testing/transaction-logger.d.ts.map +1 -1
  51. package/testing/transaction-logger.js +4 -4
  52. package/testing/transaction-logger.js.map +1 -1
  53. package/transaction.d.ts +54 -13
  54. package/transaction.d.ts.map +1 -1
  55. package/transaction.js +201 -93
  56. package/transaction.js.map +1 -1
  57. package/transfer.d.ts +4 -3
  58. package/transfer.d.ts.map +1 -1
  59. package/transfer.js +10 -8
  60. package/transfer.js.map +1 -1
  61. package/types/account.d.ts +6 -3
  62. package/types/account.d.ts.map +1 -1
  63. package/types/account.js +7 -2
  64. package/types/account.js.map +1 -1
  65. package/types/algo-http-client-with-retry.js +1 -1
  66. package/types/algo-http-client-with-retry.js.map +1 -1
  67. package/types/algod.d.ts +6 -6
  68. package/types/algod.d.ts.map +1 -1
  69. package/types/amount.d.ts +6 -2
  70. package/types/amount.d.ts.map +1 -1
  71. package/types/amount.js +6 -2
  72. package/types/amount.js.map +1 -1
  73. package/types/{application-client.d.ts → app-client.d.ts} +75 -22
  74. package/types/app-client.d.ts.map +1 -0
  75. package/types/{application-client.js → app-client.js} +135 -56
  76. package/types/app-client.js.map +1 -0
  77. package/types/app-spec.d.ts +136 -0
  78. package/types/app-spec.d.ts.map +1 -0
  79. package/types/{appspec.js → app-spec.js} +5 -7
  80. package/types/app-spec.js.map +1 -0
  81. package/types/app.d.ts +23 -17
  82. package/types/app.d.ts.map +1 -1
  83. package/types/app.js.map +1 -1
  84. package/types/config.d.ts +19 -2
  85. package/types/config.d.ts.map +1 -1
  86. package/types/config.js +28 -2
  87. package/types/config.js.map +1 -1
  88. package/types/indexer.d.ts +360 -49
  89. package/types/indexer.d.ts.map +1 -1
  90. package/types/indexer.js +9 -0
  91. package/types/indexer.js.map +1 -1
  92. package/types/logic-error.d.ts +5 -1
  93. package/types/logic-error.d.ts.map +1 -1
  94. package/types/logic-error.js +6 -2
  95. package/types/logic-error.js.map +1 -1
  96. package/types/testing.d.ts +9 -9
  97. package/types/testing.d.ts.map +1 -1
  98. package/types/transaction.d.ts +54 -9
  99. package/types/transaction.d.ts.map +1 -1
  100. package/types/transfer.d.ts +7 -7
  101. package/types/transfer.d.ts.map +1 -1
  102. package/application-client.d.ts +0 -10
  103. package/application-client.d.ts.map +0 -1
  104. package/application-client.js +0 -15
  105. package/application-client.js.map +0 -1
  106. package/deploy-app.d.ts.map +0 -1
  107. package/deploy-app.js.map +0 -1
  108. package/types/application-client.d.ts.map +0 -1
  109. package/types/application-client.js.map +0 -1
  110. package/types/appspec.d.ts +0 -77
  111. package/types/appspec.d.ts.map +0 -1
  112. package/types/appspec.js.map +0 -1
package/types/app.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { ABIArgument, ABIMethod, ABIMethodParams, ABIType, ABIValue, Address, SourceMap, SuggestedParams, Transaction } from 'algosdk';
2
- import { SendTransactionFrom, SendTransactionParams, SendTransactionResult, TransactionNote, TransactionToSign } from './transaction';
1
+ import algosdk, { ABIArgument, ABIMethod, ABIMethodParams, ABIType, ABIValue, Address, SourceMap, SuggestedParams, Transaction } from 'algosdk';
2
+ import { SendTransactionFrom, SendTransactionParams, SendTransactionResult, SendTransactionResults, TransactionNote, TransactionToSign } from './transaction';
3
3
  /** The name of the TEAL template variable for deploy-time immutability control */
4
4
  export declare const UPDATABLE_TEMPLATE_NAME = "TMPL_UPDATABLE";
5
5
  /** The name of the TEAL template variable for deploy-time permanence control */
@@ -28,8 +28,15 @@ export interface BoxReference {
28
28
  /**
29
29
  * Name of box to reference
30
30
  */
31
- name: Uint8Array | string;
31
+ name: BoxIdentifier;
32
32
  }
33
+ /**
34
+ * Something that identifies a box name - either a:
35
+ * * `Uint8Array`
36
+ * * `string` (that will be encoded to a Uint8Array)
37
+ * * `SendTransactionFrom` (encoded into the public key address of the corresponding account)
38
+ */
39
+ export type BoxIdentifier = string | Uint8Array | SendTransactionFrom;
33
40
  /**
34
41
  * App call args with raw values (minus some processing like encoding strings as binary)
35
42
  */
@@ -39,7 +46,7 @@ export interface RawAppCallArgs {
39
46
  /** Any application arguments to pass through */
40
47
  appArgs?: (Uint8Array | string)[];
41
48
  /** Any box references to load */
42
- boxes?: BoxReference[];
49
+ boxes?: (algosdk.BoxReference | BoxReference | BoxIdentifier)[];
43
50
  /** IDs of any apps to load into the foreignApps array */
44
51
  apps?: number[];
45
52
  /** IDs of any assets to load into the foreignAssets array */
@@ -47,22 +54,20 @@ export interface RawAppCallArgs {
47
54
  /** The optional lease for the transaction */
48
55
  lease?: string | Uint8Array;
49
56
  }
50
- export type ABIAppCallArg = ABIArgument | TransactionToSign | Transaction;
57
+ /** An argument for an ABI method, either a primitive value, or a transaction with or without signer, or the unawaited async return value of an algokit method that returns a `SendTransactionResult` */
58
+ export type ABIAppCallArg = ABIArgument | TransactionToSign | Transaction | Promise<SendTransactionResult>;
51
59
  /**
52
60
  * App call args for an ABI call
53
61
  */
54
62
  export interface ABIAppCallArgs {
55
- /** The ABI method to call, either:
56
- * * `method_name` e.g. `hello`; or
57
- * * `method_signature` e.g. `hello(string)string`
58
- **/
63
+ /** The ABI method to call */
59
64
  method: ABIMethodParams | ABIMethod;
60
65
  /** The ABI args to pass in */
61
66
  args: ABIAppCallArg[];
62
67
  /** The optional lease for the transaction */
63
68
  lease?: string | Uint8Array;
64
69
  /** Any box references to load either as the box name (if for the current app) or the reference with app id */
65
- boxes?: (BoxReference | Uint8Array | string)[];
70
+ boxes?: (algosdk.BoxReference | BoxReference | BoxIdentifier)[];
66
71
  }
67
72
  /** Arguments to pass to an app call either:
68
73
  * * The raw app call values to pass through into the transaction (after processing); or
@@ -71,7 +76,7 @@ export interface ABIAppCallArgs {
71
76
  export type AppCallArgs = RawAppCallArgs | ABIAppCallArgs;
72
77
  /** Base interface for common data passed to an app create or update. */
73
78
  interface CreateOrUpdateAppParams extends SendTransactionParams {
74
- /** The account (with private key loaded) that will send the µALGOs */
79
+ /** The account (with private key loaded) that will send the transaction */
75
80
  from: SendTransactionFrom;
76
81
  /** The approval program as raw teal (string) or compiled teal, base 64 encoded as a byte array (Uint8Array) */
77
82
  approvalProgram: Uint8Array | string;
@@ -94,10 +99,11 @@ export interface UpdateAppParams extends CreateOrUpdateAppParams {
94
99
  /** The id of the app to update */
95
100
  appId: number;
96
101
  }
102
+ /** Parameters representing a call to an app. */
97
103
  export interface AppCallParams extends SendTransactionParams {
98
104
  /** The id of the app to call */
99
105
  appId: number;
100
- /** The type of call, everything except create (@see createApp ) and update (@see updateApp ) */
106
+ /** The type of call, everything except create (`createApp`) and update (`updateApp`) */
101
107
  callType: 'optin' | 'closeout' | 'clearstate' | 'delete' | 'normal';
102
108
  /** The account to make the call from */
103
109
  from: SendTransactionFrom;
@@ -135,7 +141,7 @@ export interface CompiledTeal {
135
141
  sourceMap: SourceMap;
136
142
  }
137
143
  /** Result from calling an app */
138
- export interface AppCallTransactionResult extends SendTransactionResult {
144
+ export interface AppCallTransactionResult extends SendTransactionResults, SendTransactionResult {
139
145
  /** If an ABI method was called the processed return value */
140
146
  return?: ABIReturn;
141
147
  }
@@ -150,7 +156,7 @@ export type ABIReturn = {
150
156
  decodeError: Error;
151
157
  };
152
158
  /**
153
- * The payload of the metadata to add to the transaction note when deploying an app, noting it will be prefixed with @see {APP_DEPLOY_NOTE_PREFIX}.
159
+ * The payload of the metadata to add to the transaction note when deploying an app, noting it will be prefixed with `APP_DEPLOY_NOTE_PREFIX`.
154
160
  */
155
161
  export interface AppDeployMetadata {
156
162
  /** The unique name identifier of the app within the creator account */
@@ -205,7 +211,7 @@ export declare enum OnSchemaBreak {
205
211
  ReplaceApp = 1
206
212
  }
207
213
  /** The parameters to deploy an app */
208
- export interface AppDeploymentParams extends Omit<CreateAppParams, 'args' | 'note' | 'skipSending' | 'skipWaiting'> {
214
+ export interface AppDeploymentParams extends Omit<CreateAppParams, 'args' | 'note' | 'skipSending' | 'skipWaiting' | 'atc'> {
209
215
  /** The deployment metadata */
210
216
  metadata: AppDeployMetadata;
211
217
  /** Any deploy-time parameters to replace in the TEAL code */
@@ -259,7 +265,7 @@ export interface BoxName {
259
265
  export interface BoxValueRequestParams {
260
266
  /** The ID of the app return box names for */
261
267
  appId: number;
262
- /** The name of the box to return either as a string, binary array or @see BoxName */
268
+ /** The name of the box to return either as a string, binary array or `BoxName` */
263
269
  boxName: string | Uint8Array | BoxName;
264
270
  /** The ABI type to decode the value using */
265
271
  type: ABIType;
@@ -270,7 +276,7 @@ export interface BoxValueRequestParams {
270
276
  export interface BoxValuesRequestParams {
271
277
  /** The ID of the app return box names for */
272
278
  appId: number;
273
- /** The names of the boxes to return either as a string, binary array or @see BoxName */
279
+ /** The names of the boxes to return either as a string, binary array or BoxName` */
274
280
  boxNames: (string | Uint8Array | BoxName)[];
275
281
  /** The ABI type to decode the value using */
276
282
  type: ABIType;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":"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"}
package/types/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":";;;AAGA,kFAAkF;AACrE,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAEvD,gFAAgF;AACnE,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAEvD,0DAA0D;AAC7C,QAAA,oBAAoB,GAAG,kBAAkB,CAAA;AAEtD,4DAA4D;AAC/C,QAAA,iBAAiB,GAAG,IAAI,CAAA;AAErC,qFAAqF;AACxE,QAAA,iBAAiB,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAoMnE,8FAA8F;AAC9F,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,0BAA0B;IAC1B,uCAAI,CAAA;IACJ,qBAAqB;IACrB,iDAAS,CAAA;IACT,uDAAuD;IACvD,mDAAU,CAAA;AACZ,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,4FAA4F;AAC5F,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,0BAA0B;IAC1B,iDAAI,CAAA;IACJ,uDAAuD;IACvD,6DAAU,CAAA;AACZ,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/types/app.ts"],"names":[],"mappings":";;;AAoBA,kFAAkF;AACrE,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAEvD,gFAAgF;AACnE,QAAA,uBAAuB,GAAG,gBAAgB,CAAA;AAEvD,0DAA0D;AAC7C,QAAA,oBAAoB,GAAG,kBAAkB,CAAA;AAEtD,4DAA4D;AAC/C,QAAA,iBAAiB,GAAG,IAAI,CAAA;AAErC,qFAAqF;AACxE,QAAA,iBAAiB,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AA2MnE,8FAA8F;AAC9F,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,0BAA0B;IAC1B,uCAAI,CAAA;IACJ,qBAAqB;IACrB,iDAAS,CAAA;IACT,uDAAuD;IACvD,mDAAU,CAAA;AACZ,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,4FAA4F;AAC5F,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,0BAA0B;IAC1B,iDAAI,CAAA;IACJ,uDAAuD;IACvD,6DAAU,CAAA;AACZ,CAAC,EALW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAKxB"}
package/types/config.d.ts CHANGED
@@ -1,15 +1,32 @@
1
1
  import { Logger } from './logging';
2
2
  /** The AlgoKit configuration type */
3
3
  export interface Config {
4
+ /** Logger */
4
5
  logger: Logger;
6
+ /** Whether or not debug mode is enabled */
7
+ debug: boolean;
5
8
  }
6
9
  /** Updatable AlgoKit config */
7
10
  export declare class UpdatableConfig implements Readonly<Config> {
8
11
  private config;
9
12
  get logger(): Logger;
13
+ get debug(): boolean;
14
+ /**
15
+ * Returns the current logger, or the null logger if true is passed in to `returnNullLogger`
16
+ * @param returnNullLogger Whether or not to return the null logger
17
+ * @returns The requested logger
18
+ */
10
19
  getLogger(returnNullLogger?: boolean): Logger;
20
+ /**
21
+ * Temporarily run with debug set to true.
22
+ * @param lambda A lambda expression with code to run with debug config set to true
23
+ */
24
+ withDebug(lambda: () => unknown): void;
11
25
  constructor();
12
- /** Update the AlgoKit configuration with your own configuration settings */
13
- configure(newConfig: Config): void;
26
+ /**
27
+ * Update the AlgoKit configuration with your own configuration settings
28
+ * @param newConfig Partial or complete config to replace
29
+ */
30
+ configure(newConfig: Partial<Config>): void;
14
31
  }
15
32
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAc,MAAM,WAAW,CAAA;AAE7D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,YAAW,QAAQ,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,MAAM,CAAQ;IAEtB,IAAI,MAAM,WAET;IAED,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO;;IAcpC,4EAA4E;IAC5E,SAAS,CAAC,SAAS,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAc,MAAM,WAAW,CAAA;AAE7D,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,aAAa;IACb,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAA;CACf;AAED,+BAA+B;AAC/B,qBAAa,eAAgB,YAAW,QAAQ,CAAC,MAAM,CAAC;IACtD,OAAO,CAAC,MAAM,CAAQ;IAEtB,IAAI,MAAM,WAET;IAED,IAAI,KAAK,YAER;IAED;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,OAAO;IAQpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,OAAO;;IAiB/B;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;CAGrC"}
package/types/config.js CHANGED
@@ -7,20 +7,46 @@ class UpdatableConfig {
7
7
  get logger() {
8
8
  return this.config.logger;
9
9
  }
10
+ get debug() {
11
+ return this.config.debug;
12
+ }
13
+ /**
14
+ * Returns the current logger, or the null logger if true is passed in to `returnNullLogger`
15
+ * @param returnNullLogger Whether or not to return the null logger
16
+ * @returns The requested logger
17
+ */
10
18
  getLogger(returnNullLogger) {
11
19
  if (returnNullLogger) {
12
20
  return logging_1.nullLogger;
13
21
  }
14
22
  return this.logger;
15
23
  }
24
+ /**
25
+ * Temporarily run with debug set to true.
26
+ * @param lambda A lambda expression with code to run with debug config set to true
27
+ */
28
+ withDebug(lambda) {
29
+ const original = this.config.debug;
30
+ try {
31
+ this.config.debug = true;
32
+ lambda();
33
+ }
34
+ finally {
35
+ this.config.debug = original;
36
+ }
37
+ }
16
38
  constructor() {
17
39
  this.config = {
18
40
  logger: logging_1.consoleLogger,
41
+ debug: false,
19
42
  };
20
43
  }
21
- /** Update the AlgoKit configuration with your own configuration settings */
44
+ /**
45
+ * Update the AlgoKit configuration with your own configuration settings
46
+ * @param newConfig Partial or complete config to replace
47
+ */
22
48
  configure(newConfig) {
23
- this.config = newConfig;
49
+ this.config = { ...this.config, ...newConfig };
24
50
  }
25
51
  }
26
52
  exports.UpdatableConfig = UpdatableConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAO7D,+BAA+B;AAC/B,MAAa,eAAe;IAG1B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,SAAS,CAAC,gBAA0B;QAClC,IAAI,gBAAgB,EAAE;YACpB,OAAO,oBAAU,CAAA;SAClB;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,uBAAa;SACtB,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;IACzB,CAAC;CACF;AAzBD,0CAyBC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAAA,uCAA6D;AAU7D,+BAA+B;AAC/B,MAAa,eAAe;IAG1B,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;IAC1B,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,gBAA0B;QAClC,IAAI,gBAAgB,EAAE;YACpB,OAAO,oBAAU,CAAA;SAClB;QAED,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAqB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;QAClC,IAAI;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAA;YACxB,MAAM,EAAE,CAAA;SACT;gBAAS;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAA;SAC7B;IACH,CAAC;IAED;QACE,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,uBAAa;YACrB,KAAK,EAAE,KAAK;SACb,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,SAA0B;QAClC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAChD,CAAC;CACF;AApDD,0CAoDC"}