@archtx/core 4.0.0 → 4.1.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.
- package/dist/exports.d.ts +2 -0
- package/dist/exports.js +2 -0
- package/dist/exports.js.map +1 -1
- package/dist/src/Entity/Entity.benchmark.test.js +1 -1
- package/dist/src/Entity/Entity.benchmark.test.js.map +1 -1
- package/dist/src/Entity/Entity.d.ts +25 -8
- package/dist/src/Entity/Entity.js +60 -47
- package/dist/src/Entity/Entity.js.map +1 -1
- package/dist/src/Entity/Entity.test.js +14 -21
- package/dist/src/Entity/Entity.test.js.map +1 -1
- package/dist/src/common-types.d.ts +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/exports.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ export * from './src/errors/EntityError.js';
|
|
|
6
6
|
export * from './src/errors/ExpiredError.js';
|
|
7
7
|
export * from './src/errors/NotFoundError.js';
|
|
8
8
|
export * from './src/errors/ParamError.js';
|
|
9
|
+
export * from './src/errors/RepoError.js';
|
|
9
10
|
export * from './src/errors/RootError.js';
|
|
11
|
+
export * from './src/errors/ServiceError.js';
|
|
10
12
|
export * from './src/errors/UseCaseError.js';
|
|
11
13
|
export * from './src/errors/ValidationError.js';
|
|
12
14
|
export * from './src/common-types.js';
|
package/dist/exports.js
CHANGED
|
@@ -6,7 +6,9 @@ export * from './src/errors/EntityError.js';
|
|
|
6
6
|
export * from './src/errors/ExpiredError.js';
|
|
7
7
|
export * from './src/errors/NotFoundError.js';
|
|
8
8
|
export * from './src/errors/ParamError.js';
|
|
9
|
+
export * from './src/errors/RepoError.js';
|
|
9
10
|
export * from './src/errors/RootError.js';
|
|
11
|
+
export * from './src/errors/ServiceError.js';
|
|
10
12
|
export * from './src/errors/UseCaseError.js';
|
|
11
13
|
export * from './src/errors/ValidationError.js';
|
|
12
14
|
export * from './src/common-types.js';
|
package/dist/exports.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../exports.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AAErC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAE/C,cAAc,uBAAuB,CAAA;AAErC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"exports.js","sourceRoot":"","sources":["../exports.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AAErC,cAAc,qCAAqC,CAAA;AACnD,cAAc,oCAAoC,CAAA;AAClD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,iCAAiC,CAAA;AAE/C,cAAc,uBAAuB,CAAA;AAErC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA"}
|
|
@@ -13,7 +13,7 @@ class TestEntity extends Entity {
|
|
|
13
13
|
throw new Error('Age cannot be negative');
|
|
14
14
|
}
|
|
15
15
|
static create(props) {
|
|
16
|
-
return new TestEntity(props);
|
|
16
|
+
return new TestEntity(props, { newEntity: true });
|
|
17
17
|
}
|
|
18
18
|
// Expose private methods for benchmarking
|
|
19
19
|
benchmarkCloneProps(obj) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.benchmark.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.benchmark.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Entity.benchmark.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.benchmark.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IWithID } from '../common-types.js';
|
|
2
2
|
export declare abstract class Entity<Schema extends IWithID, PrivateSetters extends keyof Schema = never> {
|
|
3
|
+
protected metadata: {
|
|
4
|
+
newEntity: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Validates the properties of the entity. If the props do not pass validation
|
|
8
|
+
* it should throw a ValidationError
|
|
9
|
+
* @param props
|
|
10
|
+
*/
|
|
3
11
|
abstract validate(props: Schema): void;
|
|
4
|
-
protected _previousProps
|
|
12
|
+
protected _previousProps: Schema | null;
|
|
5
13
|
protected _props: Schema;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* The constructor is used by sub-classes. When an entity is "new" ie: it is not being
|
|
16
|
+
* loaded from a database, the `newEntity` option should be set to true. This is
|
|
17
|
+
* used to determine if the entity is new or not in db/repos for saving or updating.
|
|
18
|
+
* @param props
|
|
19
|
+
* @param metadata
|
|
20
|
+
* @protected
|
|
21
|
+
*/
|
|
22
|
+
protected constructor(props: Schema, metadata: {
|
|
23
|
+
newEntity: boolean;
|
|
24
|
+
});
|
|
25
|
+
props: Schema;
|
|
26
|
+
get previousProps(): Schema | null;
|
|
11
27
|
get name(): string;
|
|
12
28
|
set(updater: (draft: Schema) => void): void;
|
|
13
29
|
set<Key extends Exclude<keyof Schema, PrivateSetters | 'id'>>(key: Key, value: Schema[Key]): void;
|
|
14
30
|
set<Key extends Exclude<keyof Schema, PrivateSetters | 'id'>>(key: Key, updater: (draft: Schema[Key]) => void | Schema[Key]): void;
|
|
15
|
-
|
|
31
|
+
toPOJO(): Schema;
|
|
32
|
+
protected _cloneProps<T>(o: T): T;
|
|
16
33
|
protected _deepFreeze(obj: any): void;
|
|
17
34
|
}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
export class Entity {
|
|
2
|
+
metadata;
|
|
2
3
|
/* Only exists if the _props were changed */
|
|
3
|
-
_previousProps;
|
|
4
|
+
_previousProps = null;
|
|
4
5
|
_props;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this._props = props;
|
|
6
|
+
/**
|
|
7
|
+
* The constructor is used by sub-classes. When an entity is "new" ie: it is not being
|
|
8
|
+
* loaded from a database, the `newEntity` option should be set to true. This is
|
|
9
|
+
* used to determine if the entity is new or not in db/repos for saving or updating.
|
|
10
|
+
* @param props
|
|
11
|
+
* @param metadata
|
|
12
|
+
* @protected
|
|
13
|
+
*/
|
|
14
|
+
constructor(props, metadata) {
|
|
15
|
+
this.metadata = metadata;
|
|
16
|
+
this._props = this._cloneProps(props);
|
|
17
|
+
this._deepFreeze(this._props);
|
|
18
|
+
this.props = this._props;
|
|
19
19
|
}
|
|
20
|
+
props;
|
|
20
21
|
get previousProps() {
|
|
21
|
-
return
|
|
22
|
+
return this._previousProps;
|
|
22
23
|
}
|
|
23
24
|
get name() {
|
|
24
25
|
return this.constructor.name;
|
|
@@ -69,44 +70,56 @@ export class Entity {
|
|
|
69
70
|
}
|
|
70
71
|
// Validate (must be before setting _props)
|
|
71
72
|
this.validate(newProps);
|
|
72
|
-
this._props = newProps;
|
|
73
|
-
this.
|
|
74
|
-
this.
|
|
73
|
+
this._props = this._cloneProps(newProps);
|
|
74
|
+
this._deepFreeze(this._props);
|
|
75
|
+
this.props = this._props;
|
|
76
|
+
}
|
|
77
|
+
toPOJO() {
|
|
78
|
+
return this._cloneProps(this._props);
|
|
75
79
|
}
|
|
76
|
-
_cloneProps(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
+
_cloneProps(o) {
|
|
81
|
+
let newO;
|
|
82
|
+
let i;
|
|
83
|
+
if (typeof o !== 'object') {
|
|
84
|
+
return o;
|
|
80
85
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return new Date(obj);
|
|
86
|
+
if (!o) {
|
|
87
|
+
return o;
|
|
84
88
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
// Copy each property value
|
|
90
|
-
for (const key in obj) {
|
|
91
|
-
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
92
|
-
const val = obj[key];
|
|
93
|
-
// Recursively clone nested objects and arrays
|
|
94
|
-
clone[key] =
|
|
95
|
-
val && typeof val === 'object' ? this._cloneProps(val) : val;
|
|
89
|
+
if (Array.isArray(o)) {
|
|
90
|
+
newO = [];
|
|
91
|
+
for (i = 0; i < o.length; i += 1) {
|
|
92
|
+
newO[i] = this._cloneProps(o[i]);
|
|
96
93
|
}
|
|
94
|
+
return newO;
|
|
97
95
|
}
|
|
98
|
-
|
|
96
|
+
newO = {};
|
|
97
|
+
for (i in o) {
|
|
98
|
+
if (Object.prototype.hasOwnProperty.call(o, i)) {
|
|
99
|
+
newO[i] = this._cloneProps(o[i]);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return newO;
|
|
99
103
|
}
|
|
100
104
|
_deepFreeze(obj) {
|
|
101
|
-
if
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
105
|
+
// Skip if not an object or already frozen
|
|
106
|
+
if (!obj || typeof obj !== 'object' || Object.isFrozen(obj)) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
// Freeze the object first
|
|
110
|
+
Object.freeze(obj);
|
|
111
|
+
// Get all property names once
|
|
112
|
+
const props = Object.getOwnPropertyNames(obj);
|
|
113
|
+
// Loop through properties without using forEach (more efficient)
|
|
114
|
+
for (let i = 0; i < props.length; i++) {
|
|
115
|
+
const prop = props[i];
|
|
116
|
+
const value = obj[prop];
|
|
117
|
+
// Only recurse if it's a non-null object that isn't already frozen
|
|
118
|
+
if (value !== null &&
|
|
119
|
+
typeof value === 'object' &&
|
|
120
|
+
!Object.isFrozen(value)) {
|
|
121
|
+
this._deepFreeze(value);
|
|
122
|
+
}
|
|
110
123
|
}
|
|
111
124
|
}
|
|
112
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/Entity/Entity.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,MAAM;
|
|
1
|
+
{"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/Entity/Entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
import { describe, it, expect
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
2
|
import { Entity } from './Entity.js';
|
|
3
3
|
describe('Entity', () => {
|
|
4
|
-
afterEach(() => {
|
|
5
|
-
process.env.NODE_ENV = 'development';
|
|
6
|
-
});
|
|
7
4
|
describe('Initialization', () => {
|
|
8
5
|
it('should initialize with props', () => {
|
|
9
6
|
class Profile extends Entity {
|
|
10
7
|
static create(props) {
|
|
11
|
-
return new Profile(props);
|
|
8
|
+
return new Profile(props, { newEntity: false });
|
|
12
9
|
}
|
|
13
10
|
validate() {
|
|
14
11
|
if (this.props.name.length === 0) {
|
|
@@ -27,7 +24,7 @@ describe('Entity', () => {
|
|
|
27
24
|
return new Profile({
|
|
28
25
|
...props,
|
|
29
26
|
tags: props.tags || [],
|
|
30
|
-
});
|
|
27
|
+
}, { newEntity: false });
|
|
31
28
|
}
|
|
32
29
|
validate() {
|
|
33
30
|
if (this.props.name.length === 0) {
|
|
@@ -38,15 +35,13 @@ describe('Entity', () => {
|
|
|
38
35
|
const profile = Profile.create({ id: '123', name: 'Test' });
|
|
39
36
|
// Direct modification attempts should throw errors in strict mode
|
|
40
37
|
expect(() => {
|
|
41
|
-
// @ts-expect-error - Intentionally trying to modify readonly property
|
|
42
38
|
profile.props.name = 'Modified';
|
|
43
39
|
}).toThrow();
|
|
44
40
|
expect(() => {
|
|
45
|
-
// @ts-expect-error - Intentionally trying to modify readonly property
|
|
46
41
|
profile.props.tags.push('tag3');
|
|
47
42
|
}).toThrow();
|
|
48
43
|
expect(() => {
|
|
49
|
-
|
|
44
|
+
profile.props.metadata ??= { email: '' };
|
|
50
45
|
profile.props.metadata.email = 'cory@therms.io';
|
|
51
46
|
}).toThrow();
|
|
52
47
|
});
|
|
@@ -55,7 +50,7 @@ describe('Entity', () => {
|
|
|
55
50
|
it('should not allow setting the ID property', () => {
|
|
56
51
|
class Profile extends Entity {
|
|
57
52
|
static create(props) {
|
|
58
|
-
return new Profile(props);
|
|
53
|
+
return new Profile(props, { newEntity: false });
|
|
59
54
|
}
|
|
60
55
|
validate() {
|
|
61
56
|
if (this.props.name.length === 0) {
|
|
@@ -75,7 +70,7 @@ describe('Entity', () => {
|
|
|
75
70
|
return new Profile({
|
|
76
71
|
...props,
|
|
77
72
|
tags: props.tags || [],
|
|
78
|
-
});
|
|
73
|
+
}, { newEntity: false });
|
|
79
74
|
}
|
|
80
75
|
validate() {
|
|
81
76
|
if (this.props.name.length === 0) {
|
|
@@ -90,7 +85,7 @@ describe('Entity', () => {
|
|
|
90
85
|
it('should allow null/undefined values', () => {
|
|
91
86
|
class Profile extends Entity {
|
|
92
87
|
static create(props) {
|
|
93
|
-
return new Profile(props);
|
|
88
|
+
return new Profile(props, { newEntity: false });
|
|
94
89
|
}
|
|
95
90
|
validate() {
|
|
96
91
|
if (this.props.name.length === 0) {
|
|
@@ -112,7 +107,7 @@ describe('Entity', () => {
|
|
|
112
107
|
return new Profile({
|
|
113
108
|
...props,
|
|
114
109
|
tags: props.tags || [],
|
|
115
|
-
});
|
|
110
|
+
}, { newEntity: false });
|
|
116
111
|
}
|
|
117
112
|
validate() {
|
|
118
113
|
if (this.props.name.length === 0) {
|
|
@@ -133,7 +128,7 @@ describe('Entity', () => {
|
|
|
133
128
|
return new Profile({
|
|
134
129
|
...props,
|
|
135
130
|
tags: props.tags || [],
|
|
136
|
-
});
|
|
131
|
+
}, { newEntity: false });
|
|
137
132
|
}
|
|
138
133
|
validate() {
|
|
139
134
|
if (this.props.name.length === 0) {
|
|
@@ -150,10 +145,8 @@ describe('Entity', () => {
|
|
|
150
145
|
},
|
|
151
146
|
};
|
|
152
147
|
profile.set('metadata', newMetadata);
|
|
153
|
-
// Modify the original object
|
|
154
|
-
|
|
155
|
-
newMetadata.nested.value = 200;
|
|
156
|
-
}).toThrow();
|
|
148
|
+
// Modify the original object - should not affect the entity
|
|
149
|
+
newMetadata.nested.value = 200;
|
|
157
150
|
// Entity props should have the original value
|
|
158
151
|
expect(profile.props.metadata?.nested?.value).toBe(100);
|
|
159
152
|
});
|
|
@@ -163,7 +156,7 @@ describe('Entity', () => {
|
|
|
163
156
|
return new Profile({
|
|
164
157
|
...props,
|
|
165
158
|
tags: props.tags || [],
|
|
166
|
-
});
|
|
159
|
+
}, { newEntity: false });
|
|
167
160
|
}
|
|
168
161
|
validate() {
|
|
169
162
|
if (this.props.name.length === 0) {
|
|
@@ -195,7 +188,7 @@ describe('Entity', () => {
|
|
|
195
188
|
return new Profile({
|
|
196
189
|
...props,
|
|
197
190
|
tags: props.tags || [],
|
|
198
|
-
});
|
|
191
|
+
}, { newEntity: false });
|
|
199
192
|
}
|
|
200
193
|
validate(props) {
|
|
201
194
|
if (props.name.length === 0) {
|
|
@@ -218,7 +211,7 @@ describe('Entity', () => {
|
|
|
218
211
|
it('should not update props if validation fails', () => {
|
|
219
212
|
class Profile extends Entity {
|
|
220
213
|
static create(props) {
|
|
221
|
-
return new Profile(props);
|
|
214
|
+
return new Profile(props, { newEntity: false });
|
|
222
215
|
}
|
|
223
216
|
validate(props) {
|
|
224
217
|
if (props.name.length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/Entity/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,OAAQ,SAAQ,MAAoC;gBACxD,MAAM,CAAC,MAAM,CAAC,KAAmC;oBAC/C,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBAC9C,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,OAAQ,SAAQ,MAKpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAKb;oBACC,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,kEAAkE;YAClE,MAAM,CAAC,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAA;YACjC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YAEZ,MAAM,CAAC,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACjC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;YAEZ,MAAM,CAAC,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;gBACxC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAA;YACjD,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;QACd,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,OAAQ,SAAQ,MAAoC;gBACxD,MAAM,CAAC,MAAM,CAAC,KAAmC;oBAC/C,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBAC9C,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,MAAM,CAAC,GAAG,EAAE;gBACV,oDAAoD;gBACpD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,OAAQ,SAAQ,MAKpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAKb;oBACC,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,OAAQ,SAAQ,MAIpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAIb;oBACC,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBAC9C,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;YAC/B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC7B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,OAAQ,SAAQ,MAKpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAKb;oBACC,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;YACnC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;YAE9B,gCAAgC;YAChC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;YACvB,MAAM,OAAQ,SAAQ,MAKpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAKb;oBACC,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,MAAM,WAAW,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE;oBACN,KAAK,EAAE,GAAG;iBACX;aACF,CAAA;YAED,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YAEpC,4DAA4D;YAC5D,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAA;YAE9B,8CAA8C;YAC9C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,MAAM,OAAQ,SAAQ,MAIpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAAoD;oBAChE,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ;oBACN,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAEjE,4BAA4B;YAC5B,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACnB,CAAC,CAAC,CAAC,OAAO,CAAA;YACV,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;YAClB,CAAC,CAAC,CAAC,OAAO,CAAA;YAEV,8CAA8C;YAC9C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE1C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;YAE5D,yCAAyC;YACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,OAAQ,SAAQ,MAIpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAAoD;oBAChE,OAAO,IAAI,OAAO,CAAC;wBACjB,GAAG,KAAK;wBACR,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;qBACvB,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBACvB,CAAC;gBAED,QAAQ,CAAC,KAAmD;oBAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;oBAED,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,+BAA+B;YAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YAC7D,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;YAE3D,+BAA+B;YAC/B,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;YACrE,qDAAqD;YACrD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAClD,sBAAsB,CACvB,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,OAAQ,SAAQ,MAGpB;gBACA,MAAM,CAAC,MAAM,CAAC,KAAmC;oBAC/C,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAA;gBAC9C,CAAC;gBAED,QAAQ,CAAC,KAAmD;oBAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACzC,CAAC;gBACH,CAAC;aACF;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YAE3D,8BAA8B;YAC9B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mBAAmB;YACrB,CAAC;YAED,8BAA8B;YAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|