@asapjs/sequelize 0.2.1 → 0.2.5

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 (133) hide show
  1. package/dist/dbml/index.d.ts +1 -1
  2. package/dist/dbml/index.d.ts.map +1 -1
  3. package/dist/dbml/index.js +39 -36
  4. package/dist/dbml/index.js.map +1 -1
  5. package/dist/dto/ExtendableDto.d.ts +22 -0
  6. package/dist/dto/ExtendableDto.d.ts.map +1 -0
  7. package/dist/dto/ExtendableDto.js +133 -0
  8. package/dist/dto/ExtendableDto.js.map +1 -0
  9. package/dist/dto/PaginationQueryDto.d.ts +6 -0
  10. package/dist/dto/PaginationQueryDto.d.ts.map +1 -0
  11. package/dist/dto/PaginationQueryDto.js +25 -0
  12. package/dist/dto/PaginationQueryDto.js.map +1 -0
  13. package/dist/dto/index.d.ts +2 -37
  14. package/dist/dto/index.d.ts.map +1 -1
  15. package/dist/dto/index.js +8 -187
  16. package/dist/dto/index.js.map +1 -1
  17. package/dist/index.d.ts +2 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -7
  20. package/dist/index.js.map +1 -1
  21. package/dist/table/index.d.ts +2 -1
  22. package/dist/table/index.d.ts.map +1 -1
  23. package/dist/table/index.js +22 -21
  24. package/dist/table/index.js.map +1 -1
  25. package/dist/types/array.d.ts +7 -0
  26. package/dist/types/array.d.ts.map +1 -0
  27. package/dist/types/array.js +42 -0
  28. package/dist/types/array.js.map +1 -0
  29. package/dist/types/base64.d.ts +10 -0
  30. package/dist/types/base64.d.ts.map +1 -0
  31. package/dist/types/base64.js +20 -0
  32. package/dist/types/base64.js.map +1 -0
  33. package/dist/types/belongsto.d.ts +6 -0
  34. package/dist/types/belongsto.d.ts.map +1 -0
  35. package/dist/types/belongsto.js +27 -0
  36. package/dist/types/belongsto.js.map +1 -0
  37. package/dist/types/binary.d.ts +10 -0
  38. package/dist/types/binary.d.ts.map +1 -0
  39. package/dist/types/binary.js +20 -0
  40. package/dist/types/binary.js.map +1 -0
  41. package/dist/types/boolean.d.ts +9 -0
  42. package/dist/types/boolean.d.ts.map +1 -0
  43. package/dist/types/boolean.js +27 -0
  44. package/dist/types/boolean.js.map +1 -0
  45. package/dist/types/dateonly.d.ts +8 -0
  46. package/dist/types/dateonly.d.ts.map +1 -0
  47. package/dist/types/dateonly.js +20 -0
  48. package/dist/types/dateonly.js.map +1 -0
  49. package/dist/types/datetime.d.ts +8 -0
  50. package/dist/types/datetime.d.ts.map +1 -0
  51. package/dist/types/datetime.js +20 -0
  52. package/dist/types/datetime.js.map +1 -0
  53. package/dist/types/decemal.d.ts +11 -0
  54. package/dist/types/decemal.d.ts.map +1 -0
  55. package/dist/types/decemal.js +30 -0
  56. package/dist/types/decemal.js.map +1 -0
  57. package/dist/types/double.d.ts +11 -0
  58. package/dist/types/double.d.ts.map +1 -0
  59. package/dist/types/double.js +27 -0
  60. package/dist/types/double.js.map +1 -0
  61. package/dist/types/dto.d.ts +10 -0
  62. package/dist/types/dto.d.ts.map +1 -0
  63. package/dist/types/dto.js +22 -0
  64. package/dist/types/dto.js.map +1 -0
  65. package/dist/types/enum.d.ts +9 -0
  66. package/dist/types/enum.d.ts.map +1 -0
  67. package/dist/types/enum.js +26 -0
  68. package/dist/types/enum.js.map +1 -0
  69. package/dist/types/float.d.ts +11 -0
  70. package/dist/types/float.d.ts.map +1 -0
  71. package/dist/types/float.js +27 -0
  72. package/dist/types/float.js.map +1 -0
  73. package/dist/types/foreignkey.d.ts +6 -0
  74. package/dist/types/foreignkey.d.ts.map +1 -0
  75. package/dist/types/foreignkey.js +33 -0
  76. package/dist/types/foreignkey.js.map +1 -0
  77. package/dist/types/generators/toSequelizeGenerator.d.ts +3 -0
  78. package/dist/types/generators/toSequelizeGenerator.d.ts.map +1 -0
  79. package/dist/types/generators/toSequelizeGenerator.js +6 -0
  80. package/dist/types/generators/toSequelizeGenerator.js.map +1 -0
  81. package/dist/types/generators/toSwaggerGenerator.d.ts +9 -0
  82. package/dist/types/generators/toSwaggerGenerator.d.ts.map +1 -0
  83. package/dist/types/generators/toSwaggerGenerator.js +6 -0
  84. package/dist/types/generators/toSwaggerGenerator.js.map +1 -0
  85. package/dist/types/generators/typeGenerator.d.ts +15 -0
  86. package/dist/types/generators/typeGenerator.d.ts.map +1 -0
  87. package/dist/types/generators/typeGenerator.js +38 -0
  88. package/dist/types/generators/typeGenerator.js.map +1 -0
  89. package/dist/types/index.d.ts +26 -0
  90. package/dist/types/index.d.ts.map +1 -0
  91. package/dist/types/index.js +53 -0
  92. package/dist/types/index.js.map +1 -0
  93. package/dist/types/int.d.ts +12 -0
  94. package/dist/types/int.d.ts.map +1 -0
  95. package/dist/types/int.js +27 -0
  96. package/dist/types/int.js.map +1 -0
  97. package/dist/types/json.d.ts +9 -0
  98. package/dist/types/json.d.ts.map +1 -0
  99. package/dist/types/json.js +31 -0
  100. package/dist/types/json.js.map +1 -0
  101. package/dist/types/long.d.ts +12 -0
  102. package/dist/types/long.d.ts.map +1 -0
  103. package/dist/types/long.js +27 -0
  104. package/dist/types/long.js.map +1 -0
  105. package/dist/types/paging.d.ts +6 -0
  106. package/dist/types/paging.d.ts.map +1 -0
  107. package/dist/types/paging.js +65 -0
  108. package/dist/types/paging.js.map +1 -0
  109. package/dist/types/password.d.ts +6 -0
  110. package/dist/types/password.d.ts.map +1 -0
  111. package/dist/types/password.js +20 -0
  112. package/dist/types/password.js.map +1 -0
  113. package/dist/types/query.d.ts +20 -0
  114. package/dist/types/query.d.ts.map +1 -0
  115. package/dist/types/query.js +31 -0
  116. package/dist/types/query.js.map +1 -0
  117. package/dist/types/string.d.ts +11 -0
  118. package/dist/types/string.d.ts.map +1 -0
  119. package/dist/types/string.js +26 -0
  120. package/dist/types/string.js.map +1 -0
  121. package/dist/types/text.d.ts +9 -0
  122. package/dist/types/text.d.ts.map +1 -0
  123. package/dist/types/text.js +16 -0
  124. package/dist/types/text.js.map +1 -0
  125. package/dist/types/type.d.ts +7 -0
  126. package/dist/types/type.d.ts.map +1 -0
  127. package/dist/types/type.js +3 -0
  128. package/dist/types/type.js.map +1 -0
  129. package/package.json +1 -1
  130. package/dist/type/index.d.ts +0 -159
  131. package/dist/type/index.d.ts.map +0 -1
  132. package/dist/type/index.js +0 -340
  133. package/dist/type/index.js.map +0 -1
@@ -1,340 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypePaging = exports.TypeArray = exports.TypeIs = exports.saveTypesData = exports.saveNewTypesData = exports.getTypesData = void 0;
7
- const sequelize_1 = require("sequelize");
8
- const isClass_1 = __importDefault(require("../utils/isClass"));
9
- const data = {};
10
- const getTypesData = (target) => {
11
- var _a;
12
- const values = data[(target === null || target === void 0 ? void 0 : target.name) || ((_a = target === null || target === void 0 ? void 0 : target.constructor) === null || _a === void 0 ? void 0 : _a.name)];
13
- if (!values)
14
- return {};
15
- return values;
16
- };
17
- exports.getTypesData = getTypesData;
18
- const saveNewTypesData = (attributes, target) => {
19
- data[target.constructor.name] = attributes;
20
- };
21
- exports.saveNewTypesData = saveNewTypesData;
22
- const saveTypesData = (target, propertyName, value) => {
23
- const types = (0, exports.getTypesData)(target);
24
- types[propertyName] = value;
25
- (0, exports.saveNewTypesData)(types, target);
26
- };
27
- exports.saveTypesData = saveTypesData;
28
- const typeGenerator = (data) => (...options) => {
29
- return (target, propertyName, propertyDescriptor) => {
30
- if (target !== undefined) {
31
- const type = data(...options);
32
- (0, exports.saveTypesData)(target, propertyName, type);
33
- if (propertyDescriptor) {
34
- propertyDescriptor.value = type;
35
- }
36
- }
37
- else {
38
- return data(...options);
39
- }
40
- };
41
- };
42
- exports.TypeIs = {
43
- INT: typeGenerator((options) => ({
44
- __name: 'int',
45
- toSwagger: () => ({
46
- type: 'integer',
47
- format: 'int32',
48
- description: options === null || options === void 0 ? void 0 : options.comment,
49
- }),
50
- toSequelize: () => ({ type: sequelize_1.DataTypes.INTEGER(options), comment: options === null || options === void 0 ? void 0 : options.comment }),
51
- fixValue: (o) => {
52
- if (o === undefined || o === null)
53
- return o;
54
- return parseInt(String(o), 10);
55
- },
56
- })),
57
- LONG: typeGenerator((options) => ({
58
- __name: 'long',
59
- toSwagger: () => ({
60
- type: 'integer',
61
- format: 'int64',
62
- description: options === null || options === void 0 ? void 0 : options.comment,
63
- }),
64
- toSequelize: () => ({ type: sequelize_1.DataTypes.INTEGER(options), comment: options === null || options === void 0 ? void 0 : options.comment }),
65
- fixValue: (o) => {
66
- if (o === undefined || o === null)
67
- return o;
68
- return parseInt(String(o), 10);
69
- },
70
- })),
71
- FLOAT: typeGenerator((options) => ({
72
- __name: 'float',
73
- toSwagger: () => ({
74
- type: 'integer',
75
- format: 'float',
76
- description: options === null || options === void 0 ? void 0 : options.comment,
77
- }),
78
- toSequelize: () => ({ type: sequelize_1.DataTypes.FLOAT(options === null || options === void 0 ? void 0 : options.length, options === null || options === void 0 ? void 0 : options.decimals), comment: options === null || options === void 0 ? void 0 : options.comment }),
79
- fixValue: (o) => {
80
- if (o === undefined || o === null)
81
- return o;
82
- return parseFloat(String(o));
83
- },
84
- })),
85
- DECIMAL: typeGenerator((options) => ({
86
- __name: 'decimal',
87
- toSwagger: () => ({
88
- type: 'integer',
89
- format: 'float',
90
- description: options === null || options === void 0 ? void 0 : options.comment,
91
- }),
92
- toSequelize: () => ({ type: sequelize_1.DataTypes.DECIMAL(options === null || options === void 0 ? void 0 : options.precision, options === null || options === void 0 ? void 0 : options.scale), comment: options === null || options === void 0 ? void 0 : options.comment }),
93
- fixValue: (o) => {
94
- if (o === undefined || o === null)
95
- return o;
96
- return parseFloat(String(o));
97
- },
98
- })),
99
- DOUBLE: typeGenerator((options) => ({
100
- __name: 'double',
101
- toSwagger: () => ({
102
- type: 'number',
103
- format: 'double',
104
- description: options === null || options === void 0 ? void 0 : options.comment,
105
- }),
106
- toSequelize: () => ({ type: sequelize_1.DataTypes.DOUBLE(options === null || options === void 0 ? void 0 : options.length, options === null || options === void 0 ? void 0 : options.decimals), comment: options === null || options === void 0 ? void 0 : options.comment }),
107
- fixValue: (o) => {
108
- if (o === undefined || o === null)
109
- return o;
110
- return parseFloat(String(o));
111
- },
112
- })),
113
- STRING: typeGenerator((options) => ({
114
- __name: 'string',
115
- toSwagger: () => ({
116
- type: 'string',
117
- description: options === null || options === void 0 ? void 0 : options.comment,
118
- }),
119
- toSequelize: () => ({ type: sequelize_1.DataTypes.STRING(options === null || options === void 0 ? void 0 : options.length, options === null || options === void 0 ? void 0 : options.binary), comment: options === null || options === void 0 ? void 0 : options.comment }),
120
- fixValue: (o) => {
121
- if (o === undefined || o === null)
122
- return o;
123
- return String(o);
124
- },
125
- })),
126
- TEXT: typeGenerator((options) => ({
127
- __name: 'text',
128
- toSwagger: () => ({
129
- type: 'string',
130
- description: options === null || options === void 0 ? void 0 : options.comment,
131
- }),
132
- toSequelize: () => ({ type: sequelize_1.DataTypes.TEXT({ length: options === null || options === void 0 ? void 0 : options.length }), comment: options === null || options === void 0 ? void 0 : options.comment }),
133
- fixValue: (o) => {
134
- if (o === undefined || o === null)
135
- return o;
136
- return String(o);
137
- },
138
- })),
139
- PASSWORD: typeGenerator((options) => ({
140
- __name: 'password',
141
- toSwagger: () => ({
142
- type: 'string',
143
- format: 'password',
144
- description: options === null || options === void 0 ? void 0 : options.comment,
145
- }),
146
- toSequelize: () => ({ type: sequelize_1.DataTypes.STRING(512), comment: options === null || options === void 0 ? void 0 : options.comment }),
147
- })),
148
- ENUM: typeGenerator((options) => ({
149
- __name: 'enum',
150
- toSwagger: () => ({
151
- type: 'string',
152
- enum: options === null || options === void 0 ? void 0 : options.values,
153
- description: options === null || options === void 0 ? void 0 : options.comment,
154
- }),
155
- toSequelize: () => ({ type: sequelize_1.DataTypes.ENUM({ values: options === null || options === void 0 ? void 0 : options.values }), comment: options === null || options === void 0 ? void 0 : options.comment }),
156
- fixValue: (o) => {
157
- var _a, _b;
158
- if (o === undefined || o === null)
159
- return o;
160
- return ((_b = (_a = options === null || options === void 0 ? void 0 : options.values) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, String(o))) ? String(o) : undefined;
161
- },
162
- })),
163
- JSON: typeGenerator((options) => ({
164
- __name: 'json',
165
- toSwagger: () => ({
166
- type: 'object',
167
- description: options === null || options === void 0 ? void 0 : options.comment,
168
- }),
169
- toSequelize: () => ({ type: sequelize_1.DataTypes.JSON, comment: options === null || options === void 0 ? void 0 : options.comment }),
170
- fixValue: (o) => {
171
- if (typeof o === 'string')
172
- return JSON.parse(String(o));
173
- return o;
174
- },
175
- })),
176
- BASE64: typeGenerator((options) => ({
177
- __name: 'base64',
178
- toSwagger: () => ({
179
- type: 'string',
180
- format: 'byte',
181
- description: options === null || options === void 0 ? void 0 : options.comment,
182
- }),
183
- toSequelize: () => ({ type: sequelize_1.DataTypes.BLOB(options === null || options === void 0 ? void 0 : options.length), comment: options === null || options === void 0 ? void 0 : options.comment }),
184
- })),
185
- BINARY: typeGenerator((options) => ({
186
- __name: 'binary',
187
- toSwagger: () => ({
188
- type: 'string',
189
- format: 'binary',
190
- description: options === null || options === void 0 ? void 0 : options.comment,
191
- }),
192
- toSequelize: () => ({ type: sequelize_1.DataTypes.BLOB(options === null || options === void 0 ? void 0 : options.length), comment: options === null || options === void 0 ? void 0 : options.comment }),
193
- })),
194
- BOOLEAN: typeGenerator((options) => ({
195
- __name: 'boolean',
196
- toSwagger: () => ({
197
- type: 'boolean',
198
- }),
199
- toSequelize: () => ({ type: sequelize_1.DataTypes.BOOLEAN, comment: options === null || options === void 0 ? void 0 : options.comment }),
200
- fixValue: (o) => {
201
- if (o === undefined || o === null)
202
- return o;
203
- return String(o) === 'true' ? true : String(o) === 'false' ? false : !!o;
204
- },
205
- })),
206
- DATEONLY: typeGenerator((options) => ({
207
- __name: 'date',
208
- toSwagger: () => ({
209
- type: 'string',
210
- format: 'date',
211
- description: options === null || options === void 0 ? void 0 : options.comment,
212
- }),
213
- toSequelize: () => ({ type: sequelize_1.DataTypes.DATEONLY(), comment: options === null || options === void 0 ? void 0 : options.comment }),
214
- })),
215
- DATETIME: typeGenerator((options) => ({
216
- __name: 'datetime',
217
- toSwagger: () => ({
218
- type: 'string',
219
- format: 'date-time',
220
- description: options === null || options === void 0 ? void 0 : options.comment,
221
- }),
222
- toSequelize: () => ({ type: sequelize_1.DataTypes.DATE(), comment: options === null || options === void 0 ? void 0 : options.comment }),
223
- })),
224
- FOREIGNKEY: typeGenerator((table) => ({
225
- __name: 'foreignkey',
226
- toSequelize: () => table,
227
- })),
228
- BELONGSTO: typeGenerator((associatedClassGetter, optionsOrForeignKey) => ({
229
- __name: 'belongsto',
230
- toSequelize: () => ({
231
- associatedClassGetter,
232
- optionsOrForeignKey,
233
- }),
234
- })),
235
- DTO: typeGenerator((options) => ({
236
- __name: 'dto',
237
- toSequelize: () => ({ dto: options === null || options === void 0 ? void 0 : options.dto, as: options === null || options === void 0 ? void 0 : options.as }),
238
- toSwagger: () => {
239
- var _a;
240
- const result = (_a = new (options === null || options === void 0 ? void 0 : options.dto)()) === null || _a === void 0 ? void 0 : _a.swagger();
241
- return Object.assign(Object.assign({}, result), { comment: options === null || options === void 0 ? void 0 : options.comment });
242
- },
243
- })),
244
- QUERY: typeGenerator((options) => ({
245
- __name: 'query',
246
- toSequelize: () => ({
247
- query: (props) => options === null || options === void 0 ? void 0 : options.query(props),
248
- type: options === null || options === void 0 ? void 0 : options.type,
249
- }),
250
- fixValue: (o) => {
251
- var _a, _b;
252
- return ((_b = (_a = options === null || options === void 0 ? void 0 : options.type) === null || _a === void 0 ? void 0 : _a.fixValue) === null || _b === void 0 ? void 0 : _b.call(_a, o)) || o;
253
- },
254
- })),
255
- ARRAY: typeGenerator((options) => ({
256
- __name: 'array',
257
- toSwagger: () => {
258
- var _a, _b, _c;
259
- const isDto = (0, isClass_1.default)(options);
260
- return {
261
- type: 'array',
262
- items: isDto
263
- ? (_a = new options()) === null || _a === void 0 ? void 0 : _a.swagger()
264
- : (_c = (_b = options === null || options === void 0 ? void 0 : options()) === null || _b === void 0 ? void 0 : _b.toSwagger) === null || _c === void 0 ? void 0 : _c.call(_b),
265
- // description: options?.comment,
266
- };
267
- },
268
- })),
269
- };
270
- const TypeArray = (value) => {
271
- return class TypeArrayClass {
272
- constructor() {
273
- this.swagger = () => {
274
- var _a, _b, _c;
275
- const isDto = (0, isClass_1.default)(value);
276
- return {
277
- type: 'array',
278
- items: isDto
279
- ? (_a = new value()) === null || _a === void 0 ? void 0 : _a.swagger()
280
- : (_c = (_b = value === null || value === void 0 ? void 0 : value()) === null || _b === void 0 ? void 0 : _b.toSwagger) === null || _c === void 0 ? void 0 : _c.call(_b),
281
- // description: options?.comment,
282
- };
283
- };
284
- }
285
- };
286
- };
287
- exports.TypeArray = TypeArray;
288
- const TypePaging = (value) => {
289
- return class TypePagingClass {
290
- constructor() {
291
- this.swagger = () => {
292
- var _a, _b, _c;
293
- const isDto = (0, isClass_1.default)(value);
294
- return {
295
- type: 'object',
296
- properties: {
297
- data: {
298
- type: 'array',
299
- items: isDto
300
- ? (_a = new value()) === null || _a === void 0 ? void 0 : _a.swagger()
301
- : (_c = (_b = value === null || value === void 0 ? void 0 : value()) === null || _b === void 0 ? void 0 : _b.toSwagger) === null || _c === void 0 ? void 0 : _c.call(_b),
302
- },
303
- page: {
304
- type: 'integer',
305
- format: 'int32',
306
- description: '현재 페이지',
307
- },
308
- page_size: {
309
- type: 'integer',
310
- format: 'int32',
311
- description: '페이지당 표시 개수',
312
- },
313
- max_page: {
314
- type: 'integer',
315
- format: 'int32',
316
- description: '최대 페이지',
317
- },
318
- has_prev: {
319
- type: 'boolean',
320
- format: 'boolean',
321
- description: '이전 이동가능 여부',
322
- },
323
- has_Next: {
324
- type: 'boolean',
325
- format: 'boolean',
326
- description: '다음 이동가능 여부',
327
- },
328
- total_elements: {
329
- type: 'integer',
330
- format: 'int32',
331
- description: '전체 레코드 개수',
332
- },
333
- },
334
- };
335
- };
336
- }
337
- };
338
- };
339
- exports.TypePaging = TypePaging;
340
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAA4D;AAC5D,+DAAuC;AAGvC,MAAM,IAAI,GAA2B,EAAE,CAAC;AAEjC,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE;;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,MAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,IAAI,CAAA,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAJW,QAAA,YAAY,gBAIvB;AAEK,MAAM,gBAAgB,GAAG,CAAC,UAAe,EAAE,MAAW,EAAE,EAAE;IAC/D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEK,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,YAAiB,EAAE,KAAU,EAAE,EAAE;IAC1E,MAAM,KAAK,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC;IAEnC,KAAK,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;IAE5B,IAAA,wBAAgB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AANW,QAAA,aAAa,iBAMxB;AASF,MAAM,aAAa,GACjB,CAAC,IAAoC,EAAE,EAAE,CACzC,CAAC,GAAG,OAAY,EAAE,EAAE;IAClB,OAAO,CAAC,MAAY,EAAE,YAAqB,EAAE,kBAAuC,EAAqB,EAAE;QACzG,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAE9B,IAAA,qBAAa,EAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YAE1C,IAAI,kBAAkB,EAAE;gBACtB,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC;aACjC;SACF;aAAM;YACL,OAAO,IAAI,CAAC,GAAG,OAAO,CAAQ,CAAC;SAChC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AA+BS,QAAA,MAAM,GAAoB;IACrC,GAAG,EAAE,aAAa,CAAC,CAAC,OAAqF,EAAE,EAAE,CAAC,CAAC;QAC7G,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACpF,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;IACH,IAAI,EAAE,aAAa,CAAC,CAAC,OAAqF,EAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACpF,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;KACF,CAAC,CAAC;IACH,KAAK,EAAE,aAAa,CAAC,CAAC,OAAiE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,KAAK,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QAC7G,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,CAAC,CAAC,OAA+D,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,OAAO;YACf,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,OAAO,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QAC/G,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IACH,MAAM,EAAE,aAAa,CAAC,CAAC,OAAiE,EAAE,EAAE,CAAC,CAAC;QAC5F,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QAC9G,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;IACH,MAAM,EAAE,aAAa,CAAC,CAAC,OAAgE,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QAC5G,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IACH,IAAI,EAAE,aAAa,CAAC,CAAC,OAAkD,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACrG,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,IAAI,EAAE,aAAa,CAAC,CAAC,OAA+C,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;YACrB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACrG,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,0CAAE,QAAQ,mDAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,CAAC;KACF,CAAC,CAAC;IACH,IAAI,EAAE,aAAa,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,OAAO,CAAC,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,CAAC,CAAC;IACH,MAAM,EAAE,aAAa,CAAC,CAAC,OAAgD,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;KAC1F,CAAC,CAAC;IACH,MAAM,EAAE,aAAa,CAAC,CAAC,OAAgD,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;KAC1F,CAAC,CAAC;IACH,OAAO,EAAE,aAAa,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QAC3E,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC;YAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;KAC/E,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;SAC9B,CAAC;QACF,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAS,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;KAC3E,CAAC,CAAC;IACH,UAAU,EAAE,aAAa,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,YAAY;QACpB,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK;KACzB,CAAC,CAAC;IACH,SAAS,EAAE,aAAa,CAAC,CAAC,qBAA0B,EAAE,mBAAwB,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,EAAE,WAAW;QACnB,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,qBAAqB;YACrB,mBAAmB;SACpB,CAAC;KACH,CAAC,CAAC;IACH,GAAG,EAAE,aAAa,CAAC,CAAC,OAAmD,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,EAAE,KAAK;QACb,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAE,EAAE,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,EAAE,CAAC;QAC3D,SAAS,EAAE,GAAG,EAAE;;YACd,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,EAAE,0CAAE,OAAO,EAAE,CAAC;YAC/C,uCAAY,MAAM,KAAE,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,IAAG;QAClD,CAAC;KACF,CAAC,CAAC;IACH,KAAK,EAAE,aAAa,CAClB,CAAC,OAA6F,EAAE,EAAE,CAAC,CAAC;QAClG,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YAClB,KAAK,EAAE,CAAC,KAA2C,EAAE,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,KAAK,CAAC;YAC7E,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SACpB,CAAC;QACF,QAAQ,EAAE,CAAC,CAAM,EAAE,EAAE;;YACnB,OAAO,CAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,mDAAG,CAAC,CAAC,KAAI,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC,CACH;IACD,KAAK,EAAE,aAAa,CAAC,CAAC,OAAoB,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,GAAG,EAAE;;YACd,MAAM,KAAK,GAAG,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;YAC/B,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK;oBACV,CAAC,CAAC,MAAA,IAAK,OAAgC,EAAE,0CAAE,OAAO,EAAE;oBACpD,CAAC,CAAC,MAAA,MAAC,OAA4B,aAA5B,OAAO,uBAAP,OAAO,EAAyB,0CAAE,SAAS,kDAAI;gBACpD,iCAAiC;aAClC,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;CACJ,CAAC;AA0CK,MAAM,SAAS,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC9C,OAAO,MAAM,cAAc;QAApB;YACE,YAAO,GAAG,GAAG,EAAE;;gBACpB,MAAM,KAAK,GAAG,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAC;gBAE7B,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,KAAK;wBACV,CAAC,CAAC,MAAA,IAAK,KAA8B,EAAE,0CAAE,OAAO,EAAE;wBAClD,CAAC,CAAC,MAAA,MAAC,KAA0B,aAA1B,KAAK,uBAAL,KAAK,EAAyB,0CAAE,SAAS,kDAAI;oBAClD,iCAAiC;iBAClC,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KAAA,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,SAAS,aAcpB;AAEK,MAAM,UAAU,GAAG,CAAC,KAAkB,EAAE,EAAE;IAC/C,OAAO,MAAM,eAAe;QAArB;YACE,YAAO,GAAG,GAAG,EAAE;;gBACpB,MAAM,KAAK,GAAG,IAAA,iBAAO,EAAC,KAAK,CAAC,CAAC;gBAE7B,OAAO;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE;4BACJ,IAAI,EAAE,OAAO;4BACb,KAAK,EAAE,KAAK;gCACV,CAAC,CAAC,MAAA,IAAK,KAA8B,EAAE,0CAAE,OAAO,EAAE;gCAClD,CAAC,CAAC,MAAA,MAAC,KAA0B,aAA1B,KAAK,uBAAL,KAAK,EAAyB,0CAAE,SAAS,kDAAI;yBACnD;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,OAAO;4BACf,WAAW,EAAE,QAAQ;yBACtB;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,OAAO;4BACf,WAAW,EAAE,YAAY;yBAC1B;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,OAAO;4BACf,WAAW,EAAE,QAAQ;yBACtB;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,SAAS;4BACjB,WAAW,EAAE,YAAY;yBAC1B;wBACD,QAAQ,EAAE;4BACR,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,SAAS;4BACjB,WAAW,EAAE,YAAY;yBAC1B;wBACD,cAAc,EAAE;4BACd,IAAI,EAAE,SAAS;4BACf,MAAM,EAAE,OAAO;4BACf,WAAW,EAAE,WAAW;yBACzB;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KAAA,CAAC;AACJ,CAAC,CAAC;AAhDW,QAAA,UAAU,cAgDrB"}