@metamask/ramps-controller 8.0.0 → 9.0.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 (54) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/dist/RampsController.cjs +646 -116
  3. package/dist/RampsController.cjs.map +1 -1
  4. package/dist/RampsController.d.cts +284 -13
  5. package/dist/RampsController.d.cts.map +1 -1
  6. package/dist/RampsController.d.mts +284 -13
  7. package/dist/RampsController.d.mts.map +1 -1
  8. package/dist/RampsController.mjs +646 -116
  9. package/dist/RampsController.mjs.map +1 -1
  10. package/dist/RampsService-method-action-types.cjs.map +1 -1
  11. package/dist/RampsService-method-action-types.d.cts +32 -1
  12. package/dist/RampsService-method-action-types.d.cts.map +1 -1
  13. package/dist/RampsService-method-action-types.d.mts +32 -1
  14. package/dist/RampsService-method-action-types.d.mts.map +1 -1
  15. package/dist/RampsService-method-action-types.mjs.map +1 -1
  16. package/dist/RampsService.cjs +83 -1
  17. package/dist/RampsService.cjs.map +1 -1
  18. package/dist/RampsService.d.cts +126 -0
  19. package/dist/RampsService.d.cts.map +1 -1
  20. package/dist/RampsService.d.mts +126 -0
  21. package/dist/RampsService.d.mts.map +1 -1
  22. package/dist/RampsService.mjs +82 -0
  23. package/dist/RampsService.mjs.map +1 -1
  24. package/dist/RequestCache.cjs.map +1 -1
  25. package/dist/RequestCache.d.cts +2 -0
  26. package/dist/RequestCache.d.cts.map +1 -1
  27. package/dist/RequestCache.d.mts +2 -0
  28. package/dist/RequestCache.d.mts.map +1 -1
  29. package/dist/RequestCache.mjs.map +1 -1
  30. package/dist/TransakService-method-action-types.cjs +7 -0
  31. package/dist/TransakService-method-action-types.cjs.map +1 -0
  32. package/dist/TransakService-method-action-types.d.cts +106 -0
  33. package/dist/TransakService-method-action-types.d.cts.map +1 -0
  34. package/dist/TransakService-method-action-types.d.mts +106 -0
  35. package/dist/TransakService-method-action-types.d.mts.map +1 -0
  36. package/dist/TransakService-method-action-types.mjs +6 -0
  37. package/dist/TransakService-method-action-types.mjs.map +1 -0
  38. package/dist/TransakService.cjs +588 -0
  39. package/dist/TransakService.cjs.map +1 -0
  40. package/dist/TransakService.d.cts +329 -0
  41. package/dist/TransakService.d.cts.map +1 -0
  42. package/dist/TransakService.d.mts +329 -0
  43. package/dist/TransakService.d.mts.map +1 -0
  44. package/dist/TransakService.mjs +582 -0
  45. package/dist/TransakService.mjs.map +1 -0
  46. package/dist/index.cjs +7 -1
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.cts +7 -4
  49. package/dist/index.d.cts.map +1 -1
  50. package/dist/index.d.mts +7 -4
  51. package/dist/index.d.mts.map +1 -1
  52. package/dist/index.mjs +2 -1
  53. package/dist/index.mjs.map +1 -1
  54. package/package.json +4 -4
@@ -0,0 +1,329 @@
1
+ import type { CreateServicePolicyOptions } from "@metamask/controller-utils";
2
+ import { HttpError } from "@metamask/controller-utils";
3
+ import type { Messenger } from "@metamask/messenger";
4
+ import type { TransakServiceMethodActions } from "./TransakService-method-action-types.mjs";
5
+ export type TransakAccessToken = {
6
+ accessToken: string;
7
+ ttl: number;
8
+ created: Date;
9
+ };
10
+ export type TransakUserDetails = {
11
+ id: string;
12
+ firstName: string;
13
+ lastName: string;
14
+ email: string;
15
+ mobileNumber: string;
16
+ status: string;
17
+ dob: string;
18
+ kyc: TransakUserDetailsKycDetails;
19
+ address: TransakUserDetailsAddress;
20
+ createdAt: string;
21
+ };
22
+ export type TransakUserDetailsAddress = {
23
+ addressLine1: string;
24
+ addressLine2: string;
25
+ state: string;
26
+ city: string;
27
+ postCode: string;
28
+ country: string;
29
+ countryCode: string;
30
+ };
31
+ export type TransakUserDetailsKycDetails = {
32
+ status: string;
33
+ type: string;
34
+ attempts: TransakUserDetailsKycAttempt[];
35
+ highestApprovedKYCType: string | null;
36
+ kycMarkedBy: string | null;
37
+ kycResult: string | null;
38
+ rejectionDetails: TransakUserDetailsKycAttemptRejectionDetails | null;
39
+ userId: string;
40
+ workFlowRunId: string;
41
+ };
42
+ export type TransakUserDetailsKycAttempt = {
43
+ artifacts: {
44
+ key: string;
45
+ value: string;
46
+ }[];
47
+ metadata: {
48
+ transaction: {
49
+ kycVendorId: string;
50
+ scanReference: string;
51
+ workflowId: string;
52
+ };
53
+ };
54
+ rejectionDetails: TransakUserDetailsKycAttemptRejectionDetails;
55
+ result: string;
56
+ sessionId: string;
57
+ };
58
+ export type TransakUserDetailsKycAttemptRejectionDetails = {
59
+ archetype: string;
60
+ reason: string;
61
+ reasonCode: string;
62
+ };
63
+ export type TransakBuyQuote = {
64
+ quoteId: string;
65
+ conversionPrice: number;
66
+ marketConversionPrice: number;
67
+ slippage: number;
68
+ fiatCurrency: string;
69
+ cryptoCurrency: string;
70
+ paymentMethod: string;
71
+ fiatAmount: number;
72
+ cryptoAmount: number;
73
+ isBuyOrSell: string;
74
+ network: string;
75
+ feeDecimal: number;
76
+ totalFee: number;
77
+ feeBreakdown: {
78
+ [prop: string]: string | number | boolean | null;
79
+ }[];
80
+ nonce: number;
81
+ cryptoLiquidityProvider: string;
82
+ notes: {
83
+ [prop: string]: string | number | boolean | null;
84
+ }[];
85
+ };
86
+ export type TransakKycRequirement = {
87
+ status: 'NOT_SUBMITTED' | 'APPROVED' | 'ADDITIONAL_FORMS_REQUIRED' | 'SUBMITTED';
88
+ kycType: string;
89
+ isAllowedToPlaceOrder: boolean;
90
+ };
91
+ export type TransakAdditionalRequirement = {
92
+ type: string;
93
+ metadata?: {
94
+ options: string[];
95
+ documentProofOptions: string[];
96
+ expiresAt: string;
97
+ kycUrl: string;
98
+ workFlowRunId: string;
99
+ };
100
+ };
101
+ export type TransakAdditionalRequirementsResponse = {
102
+ formsRequired: TransakAdditionalRequirement[];
103
+ };
104
+ export type TransakOttResponse = {
105
+ ott: string;
106
+ };
107
+ export type TransakOrderPaymentMethod = {
108
+ fiatCurrency: string;
109
+ paymentMethod: string;
110
+ fields: {
111
+ name: string;
112
+ id: string;
113
+ value: string;
114
+ }[];
115
+ };
116
+ export type TransakDepositNetwork = {
117
+ name: string;
118
+ chainId: string;
119
+ };
120
+ export type TransakDepositCryptoCurrency = {
121
+ assetId: string;
122
+ name: string;
123
+ chainId: string;
124
+ decimals: number;
125
+ iconUrl: string;
126
+ symbol: string;
127
+ };
128
+ export type TransakDepositPaymentMethod = {
129
+ id: string;
130
+ name: string;
131
+ shortName?: string;
132
+ duration: string;
133
+ icon: string;
134
+ iconColor?: {
135
+ light: string;
136
+ dark: string;
137
+ };
138
+ isManualBankTransfer?: boolean;
139
+ };
140
+ export type TransakDepositRegion = {
141
+ isoCode: string;
142
+ flag: string;
143
+ name: string;
144
+ phone: {
145
+ prefix: string;
146
+ placeholder: string;
147
+ template: string;
148
+ };
149
+ currency: string;
150
+ supported: boolean;
151
+ recommended?: boolean;
152
+ geolocated?: boolean;
153
+ };
154
+ export type TransakDepositOrder = {
155
+ id: string;
156
+ provider: string;
157
+ cryptoAmount: number | string;
158
+ fiatAmount: number;
159
+ cryptoCurrency: TransakDepositCryptoCurrency;
160
+ fiatCurrency: string;
161
+ providerOrderId: string;
162
+ providerOrderLink: string;
163
+ createdAt: number;
164
+ paymentMethod: TransakDepositPaymentMethod;
165
+ totalFeesFiat: number;
166
+ txHash: string;
167
+ walletAddress: string;
168
+ status: string;
169
+ network: TransakDepositNetwork;
170
+ timeDescriptionPending: string;
171
+ fiatAmountInUsd: number;
172
+ feesInUsd: number;
173
+ region: TransakDepositRegion;
174
+ orderType: 'DEPOSIT';
175
+ exchangeRate?: number;
176
+ statusDescription?: string;
177
+ paymentDetails: TransakOrderPaymentMethod[];
178
+ partnerFees?: number;
179
+ networkFees?: number;
180
+ };
181
+ export type TransakOrder = {
182
+ orderId: string;
183
+ partnerUserId: string;
184
+ status: string;
185
+ isBuyOrSell: string;
186
+ fiatCurrency: string;
187
+ cryptoCurrency: string;
188
+ network: string;
189
+ walletAddress: string;
190
+ quoteId: string;
191
+ fiatAmount: number;
192
+ fiatAmountInUsd: number;
193
+ amountPaid: number;
194
+ cryptoAmount: number;
195
+ conversionPrice: number;
196
+ totalFeeInFiat: number;
197
+ paymentDetails: TransakOrderPaymentMethod[];
198
+ txHash: string;
199
+ transationLink: string | null;
200
+ createdAt: string;
201
+ updatedAt: string;
202
+ completedAt: string;
203
+ };
204
+ export type TransakQuoteTranslation = {
205
+ region: string;
206
+ paymentMethod: string | undefined;
207
+ cryptoCurrency: string;
208
+ network: string;
209
+ fiatCurrency: string;
210
+ };
211
+ export type TransakTranslationRequest = {
212
+ regionId?: string;
213
+ cryptoCurrencyId?: string;
214
+ chainId?: string;
215
+ fiatCurrencyId?: string;
216
+ paymentMethod?: string;
217
+ };
218
+ export type TransakUserLimits = {
219
+ limits: {
220
+ '1': number;
221
+ '30': number;
222
+ '365': number;
223
+ };
224
+ spent: {
225
+ '1': number;
226
+ '30': number;
227
+ '365': number;
228
+ };
229
+ remaining: {
230
+ '1': number;
231
+ '30': number;
232
+ '365': number;
233
+ };
234
+ exceeded: {
235
+ '1': boolean;
236
+ '30': boolean;
237
+ '365': boolean;
238
+ };
239
+ shortage: Record<string, number>;
240
+ };
241
+ export type PatchUserRequestBody = Partial<{
242
+ personalDetails: Partial<{
243
+ firstName: string;
244
+ lastName: string;
245
+ mobileNumber: string;
246
+ dob: string;
247
+ }>;
248
+ addressDetails: Partial<{
249
+ addressLine1: string;
250
+ addressLine2: string;
251
+ state: string;
252
+ city: string;
253
+ postCode: string;
254
+ countryCode: string;
255
+ }>;
256
+ }>;
257
+ export type TransakIdProofStatus = {
258
+ status: 'NOT_SUBMITTED' | 'SUBMITTED';
259
+ kycType: string;
260
+ randomLogIdentifier: string;
261
+ };
262
+ export declare enum TransakEnvironment {
263
+ Production = "production",
264
+ Staging = "staging"
265
+ }
266
+ export declare class TransakOrderIdTransformer {
267
+ static depositOrderIdToTransakOrderId(depositOrderId: string): string;
268
+ static transakOrderIdToDepositOrderId(transakOrderId: string, environment: TransakEnvironment): string;
269
+ static isDepositOrderId(orderId: string): boolean;
270
+ static extractTransakOrderId(orderId: string): string;
271
+ }
272
+ declare const serviceName = "TransakService";
273
+ export type TransakServiceActions = TransakServiceMethodActions;
274
+ type AllowedActions = never;
275
+ export type TransakServiceEvents = never;
276
+ type AllowedEvents = never;
277
+ export type TransakServiceMessenger = Messenger<typeof serviceName, TransakServiceActions | AllowedActions, TransakServiceEvents | AllowedEvents>;
278
+ export declare class TransakApiError extends HttpError {
279
+ readonly errorCode: string | undefined;
280
+ constructor(status: number, message: string, errorCode?: string);
281
+ }
282
+ export declare class TransakService {
283
+ #private;
284
+ readonly name: typeof serviceName;
285
+ constructor({ messenger, environment, context, fetch: fetchFunction, apiKey, policyOptions, orderRetryDelayMs, }: {
286
+ messenger: TransakServiceMessenger;
287
+ environment?: TransakEnvironment;
288
+ context: string;
289
+ fetch: typeof fetch;
290
+ apiKey?: string;
291
+ policyOptions?: CreateServicePolicyOptions;
292
+ orderRetryDelayMs?: number;
293
+ });
294
+ setApiKey(apiKey: string): void;
295
+ getApiKey(): string | null;
296
+ setAccessToken(token: TransakAccessToken): void;
297
+ getAccessToken(): TransakAccessToken | null;
298
+ clearAccessToken(): void;
299
+ sendUserOtp(email: string): Promise<{
300
+ isTncAccepted: boolean;
301
+ stateToken: string;
302
+ email: string;
303
+ expiresIn: number;
304
+ }>;
305
+ verifyUserOtp(email: string, verificationCode: string, stateToken: string): Promise<TransakAccessToken>;
306
+ logout(): Promise<string>;
307
+ getUserDetails(): Promise<TransakUserDetails>;
308
+ getBuyQuote(genericFiatCurrency: string, genericCryptoCurrency: string, genericNetwork: string, genericPaymentMethod: string, fiatAmount: string): Promise<TransakBuyQuote>;
309
+ getKycRequirement(quoteId: string): Promise<TransakKycRequirement>;
310
+ getAdditionalRequirements(quoteId: string): Promise<TransakAdditionalRequirementsResponse>;
311
+ createOrder(quoteId: string, walletAddress: string, paymentMethodId: string): Promise<TransakDepositOrder>;
312
+ getOrder(orderId: string, wallet: string, paymentDetails?: TransakOrderPaymentMethod[]): Promise<TransakDepositOrder>;
313
+ getUserLimits(fiatCurrency: string, paymentMethod: string, kycType: string): Promise<TransakUserLimits>;
314
+ requestOtt(): Promise<TransakOttResponse>;
315
+ generatePaymentWidgetUrl(ottToken: string, quote: TransakBuyQuote, walletAddress: string, extraParams?: Record<string, string>): string;
316
+ submitPurposeOfUsageForm(purpose: string[]): Promise<void>;
317
+ patchUser(data: PatchUserRequestBody): Promise<unknown>;
318
+ submitSsnDetails(ssn: string, quoteId: string): Promise<unknown>;
319
+ confirmPayment(orderId: string, paymentMethodId: string): Promise<{
320
+ success: boolean;
321
+ }>;
322
+ getTranslation(translationRequest: TransakTranslationRequest): Promise<TransakQuoteTranslation>;
323
+ getIdProofStatus(workFlowRunId: string): Promise<TransakIdProofStatus>;
324
+ cancelOrder(depositOrderId: string): Promise<void>;
325
+ cancelAllActiveOrders(): Promise<Error[]>;
326
+ getActiveOrders(): Promise<TransakOrder[]>;
327
+ }
328
+ export {};
329
+ //# sourceMappingURL=TransakService.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransakService.d.mts","sourceRoot":"","sources":["../src/TransakService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAE3B,mCAAmC;AACpC,OAAO,EAAuB,SAAS,EAAE,mCAAmC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,4BAA4B;AAErD,OAAO,KAAK,EAAE,2BAA2B,EAAE,iDAA6C;AAIxF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,4BAA4B,CAAC;IAClC,OAAO,EAAE,yBAAyB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,4BAA4B,EAAE,CAAC;IACzC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,4CAA4C,GAAG,IAAI,CAAC;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF,gBAAgB,EAAE,4CAA4C,CAAC;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,uBAAuB,EAAE,MAAM,CAAC;IAChC,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EACF,eAAe,GACf,UAAU,GACV,2BAA2B,GAC3B,WAAW,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qCAAqC,GAAG;IAClD,aAAa,EAAE,4BAA4B,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,4BAA4B,CAAC;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,2BAA2B,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,qBAAqB,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,QAAQ,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC,CAAC;IACH,cAAc,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,eAAe,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAIF,oBAAY,kBAAkB;IAC5B,UAAU,eAAe;IACzB,OAAO,YAAY;CACpB;AASD,qBAAa,yBAAyB;IACpC,MAAM,CAAC,8BAA8B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAKrE,MAAM,CAAC,8BAA8B,CACnC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,kBAAkB,GAC9B,MAAM;IAQT,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIjD,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAKtD;AAID,QAAA,MAAM,WAAW,mBAAmB,CAAC;AA6BrC,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAEhE,KAAK,cAAc,GAAG,KAAK,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEzC,KAAK,aAAa,GAAG,KAAK,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAC7C,OAAO,WAAW,EAClB,qBAAqB,GAAG,cAAc,EACtC,oBAAoB,GAAG,aAAa,CACrC,CAAC;AA4EF,qBAAa,eAAgB,SAAQ,SAAS;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE3B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAIhE;AAID,qBAAa,cAAc;;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,WAAW,CAAC;gBAkBtB,EACV,SAAS,EACT,WAAwC,EACxC,OAAO,EACP,KAAK,EAAE,aAAa,EACpB,MAAM,EACN,aAAkB,EAClB,iBAAwB,GACzB,EAAE;QACD,SAAS,EAAE,uBAAuB,CAAC;QACnC,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,OAAO,KAAK,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,0BAA0B,CAAC;QAC3C,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAgBD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,MAAM,GAAG,IAAI;IAW1B,cAAc,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAI/C,cAAc,IAAI,kBAAkB,GAAG,IAAI;IAI3C,gBAAgB,IAAI,IAAI;IAgNlB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QACxC,aAAa,EAAE,OAAO,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAUI,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAqBxB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAezB,cAAc,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAK7C,WAAW,CACf,mBAAmB,EAAE,MAAM,EAC3B,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC;IA6BrB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAWlE,yBAAyB,CAC7B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,qCAAqC,CAAC;IAQ3C,WAAW,CACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAqEzB,QAAQ,CACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,yBAAyB,EAAE,GAC3C,OAAO,CAAC,mBAAmB,CAAC;IA2CzB,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC;IAuBvB,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAQ/C,wBAAwB,CACtB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM;IA+BH,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1D,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAQvD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKhE,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAqB1B,cAAc,CAClB,kBAAkB,EAAE,yBAAyB,GAC5C,OAAO,CAAC,uBAAuB,CAAC;IAsC7B,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQtE,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,qBAAqB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAyBzC,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAIjD"}