@webda/aws 4.0.0-beta.2 → 4.0.0-beta.3

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 (151) hide show
  1. package/README.md +64 -7
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js.map +1 -1
  4. package/lib/services/aws-parameters.d.ts +33 -0
  5. package/lib/services/aws-parameters.d.ts.map +1 -0
  6. package/lib/services/aws-parameters.js +18 -0
  7. package/lib/services/aws-parameters.js.map +1 -0
  8. package/lib/services/awscommands.service.d.ts +39 -0
  9. package/lib/services/awscommands.service.d.ts.map +1 -0
  10. package/lib/services/awscommands.service.js +127 -0
  11. package/lib/services/awscommands.service.js.map +1 -0
  12. package/lib/services/cloudwatchlogger.service.d.ts +131 -0
  13. package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
  14. package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +60 -28
  15. package/lib/services/cloudwatchlogger.service.js.map +1 -0
  16. package/lib/services/contributors.d.ts +37 -0
  17. package/lib/services/contributors.d.ts.map +1 -0
  18. package/lib/services/contributors.js +2 -0
  19. package/lib/services/contributors.js.map +1 -0
  20. package/lib/services/dynamodb.service.d.ts +297 -0
  21. package/lib/services/dynamodb.service.d.ts.map +1 -0
  22. package/lib/services/dynamodb.service.js +985 -0
  23. package/lib/services/dynamodb.service.js.map +1 -0
  24. package/lib/services/index.d.ts +11 -31
  25. package/lib/services/index.d.ts.map +1 -1
  26. package/lib/services/index.js +11 -8
  27. package/lib/services/index.js.map +1 -1
  28. package/lib/services/lambdacaller.service.d.ts +81 -0
  29. package/lib/services/lambdacaller.service.d.ts.map +1 -0
  30. package/lib/services/lambdacaller.service.js +75 -0
  31. package/lib/services/lambdacaller.service.js.map +1 -0
  32. package/lib/services/lambdaserver.service.d.ts +127 -0
  33. package/lib/services/lambdaserver.service.d.ts.map +1 -0
  34. package/lib/services/lambdaserver.service.js +294 -0
  35. package/lib/services/lambdaserver.service.js.map +1 -0
  36. package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -12
  37. package/lib/services/route53.service.d.ts.map +1 -0
  38. package/lib/services/{route53.js → route53.service.js} +25 -28
  39. package/lib/services/route53.service.js.map +1 -0
  40. package/lib/services/s3binary.service.d.ts +215 -0
  41. package/lib/services/s3binary.service.d.ts.map +1 -0
  42. package/lib/services/{s3binary.js → s3binary.service.js} +93 -55
  43. package/lib/services/s3binary.service.js.map +1 -0
  44. package/lib/services/secretsmanager.service.d.ts +102 -0
  45. package/lib/services/secretsmanager.service.d.ts.map +1 -0
  46. package/lib/services/{secretsmanager.js → secretsmanager.service.js} +40 -22
  47. package/lib/services/secretsmanager.service.js.map +1 -0
  48. package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -35
  49. package/lib/services/sqsqueue.service.d.ts.map +1 -0
  50. package/lib/services/{sqsqueue.js → sqsqueue.service.js} +53 -28
  51. package/lib/services/sqsqueue.service.js.map +1 -0
  52. package/package.json +58 -63
  53. package/webda.module.json +743 -280
  54. package/lib/deployers/cloudformation.d.ts +0 -317
  55. package/lib/deployers/cloudformation.d.ts.map +0 -1
  56. package/lib/deployers/cloudformation.js +0 -837
  57. package/lib/deployers/cloudformation.js.map +0 -1
  58. package/lib/deployers/cloudformation.spec.d.ts +0 -2
  59. package/lib/deployers/cloudformation.spec.d.ts.map +0 -1
  60. package/lib/deployers/cloudformation.spec.js +0 -530
  61. package/lib/deployers/cloudformation.spec.js.map +0 -1
  62. package/lib/deployers/index.d.ts +0 -255
  63. package/lib/deployers/index.d.ts.map +0 -1
  64. package/lib/deployers/index.js +0 -543
  65. package/lib/deployers/index.js.map +0 -1
  66. package/lib/deployers/index.spec.d.ts +0 -9
  67. package/lib/deployers/index.spec.d.ts.map +0 -1
  68. package/lib/deployers/index.spec.js +0 -595
  69. package/lib/deployers/index.spec.js.map +0 -1
  70. package/lib/deployers/lambda-entrypoint.d.ts +0 -2
  71. package/lib/deployers/lambda-entrypoint.d.ts.map +0 -1
  72. package/lib/deployers/lambda-entrypoint.js +0 -13
  73. package/lib/deployers/lambda-entrypoint.js.map +0 -1
  74. package/lib/deployers/lambdapackager.d.ts +0 -28
  75. package/lib/deployers/lambdapackager.d.ts.map +0 -1
  76. package/lib/deployers/lambdapackager.js +0 -26
  77. package/lib/deployers/lambdapackager.js.map +0 -1
  78. package/lib/deployers/lambdapackager.spec.d.ts +0 -2
  79. package/lib/deployers/lambdapackager.spec.d.ts.map +0 -1
  80. package/lib/deployers/lambdapackager.spec.js +0 -44
  81. package/lib/deployers/lambdapackager.spec.js.map +0 -1
  82. package/lib/index.spec.d.ts +0 -11
  83. package/lib/index.spec.d.ts.map +0 -1
  84. package/lib/index.spec.js +0 -42
  85. package/lib/index.spec.js.map +0 -1
  86. package/lib/services/aws-mixin.d.ts +0 -25
  87. package/lib/services/aws-mixin.d.ts.map +0 -1
  88. package/lib/services/aws-mixin.js +0 -18
  89. package/lib/services/aws-mixin.js.map +0 -1
  90. package/lib/services/cloudwatchlogger.d.ts +0 -82
  91. package/lib/services/cloudwatchlogger.d.ts.map +0 -1
  92. package/lib/services/cloudwatchlogger.js.map +0 -1
  93. package/lib/services/cloudwatchlogger.spec.d.ts +0 -2
  94. package/lib/services/cloudwatchlogger.spec.d.ts.map +0 -1
  95. package/lib/services/cloudwatchlogger.spec.js +0 -104
  96. package/lib/services/cloudwatchlogger.spec.js.map +0 -1
  97. package/lib/services/dynamodb.d.ts +0 -174
  98. package/lib/services/dynamodb.d.ts.map +0 -1
  99. package/lib/services/dynamodb.js +0 -711
  100. package/lib/services/dynamodb.js.map +0 -1
  101. package/lib/services/dynamodb.spec.d.ts +0 -24
  102. package/lib/services/dynamodb.spec.d.ts.map +0 -1
  103. package/lib/services/dynamodb.spec.js +0 -344
  104. package/lib/services/dynamodb.spec.js.map +0 -1
  105. package/lib/services/lambdacaller.d.ts +0 -69
  106. package/lib/services/lambdacaller.d.ts.map +0 -1
  107. package/lib/services/lambdacaller.js +0 -63
  108. package/lib/services/lambdacaller.js.map +0 -1
  109. package/lib/services/lambdacaller.spec.d.ts +0 -2
  110. package/lib/services/lambdacaller.spec.d.ts.map +0 -1
  111. package/lib/services/lambdacaller.spec.js +0 -70
  112. package/lib/services/lambdacaller.spec.js.map +0 -1
  113. package/lib/services/lambdaserver.d.ts +0 -87
  114. package/lib/services/lambdaserver.d.ts.map +0 -1
  115. package/lib/services/lambdaserver.js +0 -263
  116. package/lib/services/lambdaserver.js.map +0 -1
  117. package/lib/services/lambdaserver.spec.d.ts +0 -2
  118. package/lib/services/lambdaserver.spec.d.ts.map +0 -1
  119. package/lib/services/lambdaserver.spec.js +0 -417
  120. package/lib/services/lambdaserver.spec.js.map +0 -1
  121. package/lib/services/route53.d.ts.map +0 -1
  122. package/lib/services/route53.js.map +0 -1
  123. package/lib/services/route53.spec.d.ts +0 -2
  124. package/lib/services/route53.spec.d.ts.map +0 -1
  125. package/lib/services/route53.spec.js +0 -102
  126. package/lib/services/route53.spec.js.map +0 -1
  127. package/lib/services/s3binary.d.ts +0 -163
  128. package/lib/services/s3binary.d.ts.map +0 -1
  129. package/lib/services/s3binary.js.map +0 -1
  130. package/lib/services/s3binary.spec.d.ts +0 -2
  131. package/lib/services/s3binary.spec.d.ts.map +0 -1
  132. package/lib/services/s3binary.spec.js +0 -284
  133. package/lib/services/s3binary.spec.js.map +0 -1
  134. package/lib/services/secretsmanager.d.ts +0 -81
  135. package/lib/services/secretsmanager.d.ts.map +0 -1
  136. package/lib/services/secretsmanager.js.map +0 -1
  137. package/lib/services/secretsmanager.spec.d.ts +0 -2
  138. package/lib/services/secretsmanager.spec.d.ts.map +0 -1
  139. package/lib/services/secretsmanager.spec.js +0 -66
  140. package/lib/services/secretsmanager.spec.js.map +0 -1
  141. package/lib/services/sqsqueue.d.ts.map +0 -1
  142. package/lib/services/sqsqueue.js.map +0 -1
  143. package/lib/services/sqsqueue.spec.d.ts +0 -2
  144. package/lib/services/sqsqueue.spec.d.ts.map +0 -1
  145. package/lib/services/sqsqueue.spec.js +0 -157
  146. package/lib/services/sqsqueue.spec.js.map +0 -1
  147. package/lib/shell.d.ts +0 -13
  148. package/lib/shell.d.ts.map +0 -1
  149. package/lib/shell.js +0 -42
  150. package/lib/shell.js.map +0 -1
  151. package/webda.shell.json +0 -11
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Minimal view of the CloudFormation deployer used by contributors
3
+ *
4
+ * The deployers are not part of the build until a deployment framework
5
+ * is available again, so services only rely on this shape.
6
+ */
7
+ export interface CloudFormationDeployerInfo {
8
+ /**
9
+ * Merge the deployment default tags with the resource tags
10
+ * @param tags - resource specific tags
11
+ */
12
+ getDefaultTags(tags?: any): any;
13
+ [key: string]: any;
14
+ }
15
+ /**
16
+ * Interface that allow a Service to define specific AWS permissions
17
+ */
18
+ export interface IAMPolicyContributor {
19
+ /**
20
+ *
21
+ * @param accountId The account where the application is being deployed
22
+ * @param region The region where the application is being deployed
23
+ */
24
+ getARNPolicy: (accountId: string, region: string) => object;
25
+ }
26
+ /**
27
+ * Allow a service to contribute to the CloudFormation template
28
+ */
29
+ export interface CloudFormationContributor {
30
+ /**
31
+ *
32
+ * {@link S3Binary.getCloudFormation}
33
+ * @param deployer The current deployer asking for contribution
34
+ */
35
+ getCloudFormation: (deployer: CloudFormationDeployerInfo) => object;
36
+ }
37
+ //# sourceMappingURL=contributors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributors.d.ts","sourceRoot":"","sources":["../../src/services/contributors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,MAAM,CAAC;CACrE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contributors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contributors.js","sourceRoot":"","sources":["../../src/services/contributors.ts"],"names":[],"mappings":""}
@@ -0,0 +1,297 @@
1
+ import { DynamoDBDocument } from "@aws-sdk/lib-dynamodb";
2
+ import { MemoryRepository, Store, StoreParameters } from "@webda/core";
3
+ import type { ModelClass, Repository } from "@webda/core";
4
+ import * as WebdaQL from "@webda/ql";
5
+ import { WorkerOutput } from "@webda/workout";
6
+ import { AWSServiceParameters } from "./aws-parameters.js";
7
+ import type { CloudFormationContributor, CloudFormationDeployerInfo } from "./contributors.js";
8
+ /**
9
+ * DynamoDB global secondary indexes definition
10
+ */
11
+ export interface DynamoGlobalIndexes {
12
+ [key: string]: {
13
+ /**
14
+ * Hash key of the index
15
+ */
16
+ key: string;
17
+ /**
18
+ * Range key of the index
19
+ */
20
+ sort?: string;
21
+ };
22
+ }
23
+ /**
24
+ * Define DynamoDB parameters
25
+ */
26
+ export declare class DynamoStoreParameters extends StoreParameters implements AWSServiceParameters {
27
+ /**
28
+ * Custom endpoint (localstack, minio, ...)
29
+ */
30
+ endpoint?: string;
31
+ /**
32
+ * Static credentials, default to the AWS environment variables
33
+ */
34
+ credentials?: {
35
+ accessKeyId: string;
36
+ secretAccessKey: string;
37
+ sessionToken?: string;
38
+ };
39
+ /**
40
+ * AWS region
41
+ * @default "us-east-1"
42
+ */
43
+ region?: string;
44
+ /**
45
+ * Table name
46
+ */
47
+ table: string;
48
+ /**
49
+ * Per-model table name overrides, keyed by model identifier
50
+ *
51
+ * Models not listed use `table`
52
+ */
53
+ tables?: {
54
+ [modelIdentifier: string]: string;
55
+ };
56
+ /**
57
+ * Additional global indexes
58
+ */
59
+ globalIndexes?: DynamoGlobalIndexes;
60
+ /**
61
+ * CloudFormation customization
62
+ */
63
+ CloudFormation?: any;
64
+ /**
65
+ * Skip CloudFormation on deploy
66
+ */
67
+ CloudFormationSkip?: boolean;
68
+ /**
69
+ * Number of items to retrieve per scan page
70
+ */
71
+ scanPage?: number;
72
+ /**
73
+ * @override
74
+ * @param params - raw parameters
75
+ * @returns this
76
+ */
77
+ load(params?: any): this;
78
+ }
79
+ /**
80
+ * Result of a DynamoDB find before applying the residual filter
81
+ */
82
+ export interface DynamoFindResult<T> {
83
+ /**
84
+ * Items returned by DynamoDB
85
+ */
86
+ results: T[];
87
+ /**
88
+ * Part of the query that DynamoDB cannot evaluate
89
+ */
90
+ filter: WebdaQL.Expression;
91
+ /**
92
+ * Next page token
93
+ */
94
+ continuationToken?: string;
95
+ }
96
+ /**
97
+ * Clean an object to store in DynamoDB
98
+ *
99
+ * Dates are converted to ISO strings, empty strings and undefined values are removed
100
+ *
101
+ * @param object - the value to clean
102
+ * @returns the cleaned value
103
+ */
104
+ export declare function cleanObject(object: any): any;
105
+ /**
106
+ * DynamoDB-backed repository for a single model class
107
+ *
108
+ * Every object is stored as one item, keyed by the string primary key in the
109
+ * `uuid` hash key attribute.
110
+ */
111
+ export declare class DynamoRepository<T extends ModelClass> extends MemoryRepository<T> {
112
+ protected readonly client: DynamoDBDocument;
113
+ protected readonly table: string;
114
+ protected readonly globalIndexes: DynamoGlobalIndexes;
115
+ protected readonly scanPage?: number;
116
+ protected readonly storeName: string;
117
+ /**
118
+ * Create a new DynamoRepository
119
+ * @param model - the model class
120
+ * @param pks - primary key field names
121
+ * @param client - the DynamoDB document client
122
+ * @param table - the table name
123
+ * @param globalIndexes - global secondary indexes usable by queries
124
+ * @param scanPage - scan page size used by __clean
125
+ * @param storeName - store name used in errors
126
+ */
127
+ constructor(model: T, pks: string[], client: DynamoDBDocument, table: string, globalIndexes?: DynamoGlobalIndexes, scanPage?: number, storeName?: string);
128
+ /**
129
+ * The backing table name
130
+ * @returns the table name
131
+ */
132
+ getTable(): string;
133
+ /**
134
+ * Return the DynamoDB key of an object or primary key
135
+ * @param primaryKey - the object or primary key
136
+ * @returns the string key
137
+ */
138
+ protected getKey(primaryKey: any): string;
139
+ /**
140
+ * Convert a model or plain object to a DynamoDB item
141
+ * @param data - the object to convert
142
+ * @returns the item
143
+ */
144
+ toItem(data: any): any;
145
+ /**
146
+ * Convert a DynamoDB item to a model instance
147
+ *
148
+ * The `__type` attribute is used to instantiate the right subclass
149
+ * @param item - the DynamoDB item
150
+ * @returns the model instance
151
+ */
152
+ fromItem(item: any): InstanceType<T>;
153
+ /**
154
+ * Add a write condition to the DynamoDB parameters
155
+ * @param params - the DynamoDB parameters
156
+ * @param writeCondition - the expected value
157
+ * @param field - the field to check
158
+ */
159
+ setWriteCondition(params: any, writeCondition: any, field: string): void;
160
+ /**
161
+ * Build a document path expression for an attribute like `team.id`
162
+ * @param attribute - the attribute path
163
+ * @param names - expression attribute names to fill
164
+ * @param prefix - placeholder prefix
165
+ * @returns the path expression
166
+ */
167
+ protected attributePath(attribute: string, names: any, prefix: string): string;
168
+ /** @override */
169
+ get(primaryKey: any): Promise<any>;
170
+ /** @override */
171
+ exists(primaryKey: any): Promise<boolean>;
172
+ /** @override */
173
+ create(data: any, save?: boolean): Promise<any>;
174
+ /** @override */
175
+ update(data: any, conditionField?: any, condition?: any): Promise<void>;
176
+ /** @override */
177
+ patch(primaryKey: any, data: any, conditionField?: any, condition?: any): Promise<void>;
178
+ /** @override */
179
+ delete(primaryKey: any, conditionField?: any, condition?: any): Promise<void>;
180
+ /** @override */
181
+ removeAttribute(primaryKey: any, attribute: any, conditionField?: any, condition?: any): Promise<void>;
182
+ /** @override */
183
+ incrementAttributes(primaryKey: any, info: any, conditionField?: any, condition?: any): Promise<void>;
184
+ /** @override */
185
+ upsertItemToCollection(primaryKey: any, collection: any, item: any, index?: number, itemWriteConditionField?: any, itemWriteCondition?: any): Promise<void>;
186
+ /** @override */
187
+ deleteItemFromCollection(primaryKey: any, collection: any, index: number, itemWriteConditionField?: any, itemWriteCondition?: any): Promise<void>;
188
+ /**
189
+ * Translate a WebdaQL query into a DynamoDB scan or query
190
+ *
191
+ * A query on the hash key or on a global index hash key with `=` uses a DynamoDB Query,
192
+ * anything else is a Scan. The part of the expression DynamoDB cannot evaluate is
193
+ * returned in `filter` and must be applied on the results.
194
+ *
195
+ * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html
196
+ * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html
197
+ * @param query - the parsed query
198
+ * @returns the items and the residual filter
199
+ */
200
+ find(query: WebdaQL.Query): Promise<DynamoFindResult<InstanceType<T>>>;
201
+ /**
202
+ * Query the table
203
+ *
204
+ * Pages are retrieved until the limit is reached, applying the part of the
205
+ * filter that DynamoDB cannot evaluate and restricting to the model hierarchy
206
+ * @override
207
+ * @param query - the WebdaQL query
208
+ * @returns the results and the continuation token
209
+ */
210
+ query(query: string | any): Promise<{
211
+ results: InstanceType<T>[];
212
+ continuationToken?: string;
213
+ }>;
214
+ /**
215
+ * Iterate over the query results
216
+ * @override
217
+ * @param query - the WebdaQL query
218
+ */
219
+ iterate(query: string): AsyncGenerator<InstanceType<T>, any, any>;
220
+ /**
221
+ * Delete all items from the table (used in tests)
222
+ */
223
+ __clean(): Promise<void>;
224
+ }
225
+ /**
226
+ * DynamoStore handles the DynamoDB
227
+ *
228
+ * Parameters:
229
+ * accessKeyId: '' // try WEBDA_AWS_KEY env variable if not found
230
+ * secretAccessKey: '' // try WEBDA_AWS_SECRET env variable if not found
231
+ * table: ''
232
+ * region: ''
233
+ *
234
+ * The table must have a `uuid` string hash key
235
+ *
236
+ * @WebdaModda
237
+ */
238
+ export declare class DynamoStore<K extends DynamoStoreParameters = DynamoStoreParameters> extends Store<K> implements CloudFormationContributor {
239
+ _client: DynamoDBDocument;
240
+ /**
241
+ * Create the AWS client
242
+ * @returns this
243
+ */
244
+ resolve(): this;
245
+ /**
246
+ * Copy one DynamoDB table to another
247
+ *
248
+ * @param output - worker output to report progress
249
+ * @param source - source table
250
+ * @param target - target table
251
+ */
252
+ static copyTable(output: WorkerOutput, source: string, target: string): Promise<void>;
253
+ /**
254
+ * Resolve the table name for a given model class
255
+ *
256
+ * `tables[identifier]` overrides the default `table`
257
+ * @param model - the model class
258
+ * @returns the table name
259
+ */
260
+ resolveTable(model: ModelClass): string;
261
+ /**
262
+ * Build the DynamoRepository for a model
263
+ *
264
+ * The result is cached per model class
265
+ * @param model - the model class
266
+ * @returns a repository backed by this store's DynamoDB table
267
+ */
268
+ getRepository<T extends ModelClass>(model: T): Repository<T>;
269
+ /**
270
+ * Return the underlying DynamoRepository for each model this store manages
271
+ * @returns the repositories
272
+ */
273
+ getRepositories(): DynamoRepository<any>[];
274
+ /**
275
+ * IAM policy required by the store
276
+ * @param accountId - AWS account id
277
+ * @returns the policy statement
278
+ */
279
+ getARNPolicy(accountId: string): {
280
+ Sid: string;
281
+ Effect: string;
282
+ Action: string[];
283
+ Resource: string[];
284
+ };
285
+ /**
286
+ * Delete all items from the managed tables (used in tests)
287
+ */
288
+ __clean(): Promise<void>;
289
+ /**
290
+ * CloudFormation resources for the table
291
+ * @param deployer - the deployer requesting the resources
292
+ * @returns the resources
293
+ */
294
+ getCloudFormation(deployer: CloudFormationDeployerInfo): {};
295
+ }
296
+ export default DynamoStore;
297
+ //# sourceMappingURL=dynamodb.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamodb.service.d.ts","sourceRoot":"","sources":["../../src/services/dynamodb.service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAGL,gBAAgB,EAChB,KAAK,EAEL,eAAe,EAKhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAqB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAW/F;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG;QACb;;WAEG;QACH,GAAG,EAAE,MAAM,CAAC;QACZ;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,eAAgB,YAAW,oBAAoB;IACxF;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC/C;;OAEG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;OAEG;IACH,cAAc,CAAC,EAAE,GAAG,CAAC;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAS3B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC;;OAEG;IACH,OAAO,EAAE,CAAC,EAAE,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAWD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAmB5C;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;IAc3E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAC3C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;IAChC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB;IACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAjBtC;;;;;;;;;OASG;IACH,YACE,KAAK,EAAE,CAAC,EACR,GAAG,EAAE,MAAM,EAAE,EACM,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,aAAa,GAAE,mBAAwB,EACvC,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,MAAc,EAI7C;IAED;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,MAAM,CAExC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAQrB;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CA8BnC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAWvE;IAED;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ7E;IAED,gBAAgB;IACV,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAYvC;IAED,gBAAgB;IACV,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAU9C;IAED,gBAAgB;IACV,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAqB1D;IAED,gBAAgB;IACV,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB5E;IAED,gBAAgB;IACV,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C5F;IAED,gBAAgB;IACV,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF;IAED,gBAAgB;IACV,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB3G;IAED,gBAAgB;IACV,mBAAmB,CAAC,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC1G;IAED,gBAAgB;IACV,sBAAsB,CAC1B,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,GAAG,EACT,KAAK,CAAC,EAAE,MAAM,EACd,uBAAuB,CAAC,EAAE,GAAG,EAC7B,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,IAAI,CAAC,CAsCf;IAED,gBAAgB;IACV,wBAAwB,CAC5B,UAAU,EAAE,GAAG,EACf,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,MAAM,EACb,uBAAuB,CAAC,EAAE,GAAG,EAC7B,kBAAkB,CAAC,EAAE,GAAG,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;IAED;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAqM3E;IAED;;;;;;;;OAQG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CA4BpG;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAYvE;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAe7B;CACF;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,qBAAqB,GAAG,qBAAqB,CAC9E,SAAQ,KAAK,CAAC,CAAC,CACf,YAAW,yBAAyB;IAEpC,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;;OAGG;IACH,OAAO,IAAI,IAAI,CASd;IAED;;;;;;OAMG;IACH,OAAa,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B1F;IAED;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAGtC;IAED;;;;;;OAMG;IAEH,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAc3D;IAED;;;OAGG;IACH,eAAe,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAgBzC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM;QAI1B,GAAG;QACH,MAAM;QACN,MAAM;QAYN,QAAQ;MAEX;IAED;;OAEG;IACG,OAAO,kBASZ;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,0BAA0B,MAwBrD;CACF;eAEc,WAAW"}