@eggjs/tegg-metadata 3.51.2 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/package.json +22 -21
  2. package/src/errors.js +27 -0
  3. package/{dist/src → src}/factory/EggPrototypeCreatorFactory.d.ts +1 -1
  4. package/src/factory/EggPrototypeCreatorFactory.js +103 -0
  5. package/src/factory/EggPrototypeFactory.js +52 -0
  6. package/src/factory/LoadUnitFactory.js +59 -0
  7. package/src/factory/index.d.ts +3 -0
  8. package/src/factory/index.js +4 -0
  9. package/src/impl/EggPrototypeBuilder.js +124 -0
  10. package/{dist/src → src}/impl/EggPrototypeImpl.d.ts +1 -0
  11. package/src/impl/EggPrototypeImpl.js +53 -0
  12. package/src/impl/LoadUnitMultiInstanceProtoHook.js +18 -0
  13. package/{dist/src → src}/impl/ModuleLoadUnit.d.ts +2 -2
  14. package/src/impl/ModuleLoadUnit.js +268 -0
  15. package/src/impl/index.d.ts +4 -0
  16. package/src/impl/index.js +5 -0
  17. package/src/index.d.ts +6 -0
  18. package/src/index.js +7 -0
  19. package/{dist/src → src}/model/AppGraph.d.ts +4 -3
  20. package/src/model/AppGraph.js +264 -0
  21. package/src/model/EggPrototype.js +3 -0
  22. package/src/model/LoadUnit.js +3 -0
  23. package/src/model/ModuleDescriptor.js +38 -0
  24. package/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +30 -0
  25. package/{dist/src → src}/model/ProtoDescriptor/ClassProtoDescriptor.d.ts +1 -1
  26. package/src/model/ProtoDescriptor/ClassProtoDescriptor.js +30 -0
  27. package/src/model/ProtoDescriptor/index.d.ts +2 -0
  28. package/src/model/ProtoDescriptor/index.js +3 -0
  29. package/{dist/src → src}/model/ProtoDescriptorHelper.d.ts +3 -3
  30. package/src/model/ProtoDescriptorHelper.js +129 -0
  31. package/{dist/src → src}/model/graph/GlobalGraph.d.ts +4 -4
  32. package/src/model/graph/GlobalGraph.js +233 -0
  33. package/{dist/src → src}/model/graph/GlobalModuleNode.d.ts +1 -1
  34. package/src/model/graph/GlobalModuleNode.js +38 -0
  35. package/{dist/src → src}/model/graph/GlobalModuleNodeBuilder.d.ts +2 -2
  36. package/src/model/graph/GlobalModuleNodeBuilder.js +53 -0
  37. package/{dist/src → src}/model/graph/ProtoNode.d.ts +1 -1
  38. package/src/model/graph/ProtoNode.js +37 -0
  39. package/src/model/graph/ProtoSelector.js +2 -0
  40. package/src/model/graph/index.d.ts +5 -0
  41. package/src/model/graph/index.js +6 -0
  42. package/src/model/index.d.ts +7 -0
  43. package/src/model/index.js +8 -0
  44. package/src/util/ClassUtil.js +17 -0
  45. package/src/util/index.d.ts +1 -0
  46. package/src/util/index.js +2 -0
  47. package/dist/index.d.ts +0 -21
  48. package/dist/index.js +0 -38
  49. package/dist/src/errors.js +0 -34
  50. package/dist/src/factory/EggPrototypeCreatorFactory.js +0 -104
  51. package/dist/src/factory/EggPrototypeFactory.js +0 -58
  52. package/dist/src/factory/LoadUnitFactory.js +0 -63
  53. package/dist/src/impl/EggPrototypeBuilder.js +0 -128
  54. package/dist/src/impl/EggPrototypeImpl.js +0 -45
  55. package/dist/src/impl/LoadUnitMultiInstanceProtoHook.js +0 -24
  56. package/dist/src/impl/ModuleLoadUnit.js +0 -259
  57. package/dist/src/model/AppGraph.js +0 -262
  58. package/dist/src/model/EggPrototype.js +0 -6
  59. package/dist/src/model/LoadUnit.js +0 -6
  60. package/dist/src/model/ModuleDescriptor.js +0 -46
  61. package/dist/src/model/ProtoDescriptor/AbstractProtoDescriptor.js +0 -21
  62. package/dist/src/model/ProtoDescriptor/ClassProtoDescriptor.js +0 -32
  63. package/dist/src/model/ProtoDescriptorHelper.js +0 -143
  64. package/dist/src/model/graph/GlobalGraph.js +0 -213
  65. package/dist/src/model/graph/GlobalModuleNode.js +0 -36
  66. package/dist/src/model/graph/GlobalModuleNodeBuilder.js +0 -53
  67. package/dist/src/model/graph/ProtoNode.js +0 -39
  68. package/dist/src/model/graph/ProtoSelector.js +0 -3
  69. package/dist/src/util/ClassUtil.js +0 -21
  70. /package/{dist/src → src}/errors.d.ts +0 -0
  71. /package/{dist/src → src}/factory/EggPrototypeFactory.d.ts +0 -0
  72. /package/{dist/src → src}/factory/LoadUnitFactory.d.ts +0 -0
  73. /package/{dist/src → src}/impl/EggPrototypeBuilder.d.ts +0 -0
  74. /package/{dist/src → src}/impl/LoadUnitMultiInstanceProtoHook.d.ts +0 -0
  75. /package/{dist/src → src}/model/EggPrototype.d.ts +0 -0
  76. /package/{dist/src → src}/model/LoadUnit.d.ts +0 -0
  77. /package/{dist/src → src}/model/ModuleDescriptor.d.ts +0 -0
  78. /package/{dist/src → src}/model/ProtoDescriptor/AbstractProtoDescriptor.d.ts +0 -0
  79. /package/{dist/src → src}/model/graph/ProtoSelector.d.ts +0 -0
  80. /package/{dist/src → src}/util/ClassUtil.d.ts +0 -0
@@ -1,262 +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.AppGraph = exports.ModuleNode = exports.ClazzMap = void 0;
7
- const node_assert_1 = __importDefault(require("node:assert"));
8
- const node_util_1 = __importDefault(require("node:util"));
9
- const tegg_common_util_1 = require("@eggjs/tegg-common-util");
10
- const core_decorator_1 = require("@eggjs/core-decorator");
11
- const tegg_types_1 = require("@eggjs/tegg-types");
12
- function verifyQualifier(clazzQualifiers, qualifier) {
13
- const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
14
- return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
15
- }
16
- function verifyQualifiers(clazzQualifiers, qualifiers) {
17
- for (const qualifier of qualifiers) {
18
- if (!verifyQualifier(clazzQualifiers, qualifier)) {
19
- return false;
20
- }
21
- }
22
- return true;
23
- }
24
- class ClazzMap {
25
- constructor(graph) {
26
- this.build(graph);
27
- }
28
- build(graph) {
29
- /**
30
- * 1. iterate all module get all MultiInstanceClazz
31
- * 2. iterate MultiInstanceClazz and all module get object meta
32
- * 3. iterate object meta and build clazz map
33
- */
34
- const clazzMap = {};
35
- for (const ownerNode of graph.nodes.values()) {
36
- for (const clazz of ownerNode.val.getClazzList()) {
37
- const qualifiers = core_decorator_1.QualifierUtil.getProtoQualifiers(clazz);
38
- if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
39
- for (const instanceNode of graph.nodes.values()) {
40
- const property = core_decorator_1.PrototypeUtil.getMultiInstanceProperty(clazz, {
41
- unitPath: instanceNode.val.moduleConfig.path,
42
- moduleName: instanceNode.val.moduleConfig.name,
43
- });
44
- (0, node_assert_1.default)(property, `multi instance property not found for ${clazz.name}`);
45
- for (const info of property.objects) {
46
- const instanceQualifiers = [
47
- ...qualifiers,
48
- ...info.qualifiers,
49
- ];
50
- clazzMap[info.name] = clazzMap[info.name] || [];
51
- clazzMap[info.name].push({
52
- name: info.name,
53
- accessLevel: core_decorator_1.PrototypeUtil.getAccessLevel(clazz, {
54
- unitPath: instanceNode.val.moduleConfig.path,
55
- moduleName: instanceNode.val.moduleConfig.name,
56
- }),
57
- qualifiers: instanceQualifiers,
58
- properQualifiers: info.properQualifiers || {},
59
- instanceModule: instanceNode,
60
- ownerModule: ownerNode,
61
- });
62
- }
63
- }
64
- }
65
- else {
66
- const property = core_decorator_1.PrototypeUtil.getProperty(clazz);
67
- (0, node_assert_1.default)(property, `property not found for ${clazz.name}`);
68
- clazzMap[property.name] = clazzMap[property.name] || [];
69
- clazzMap[property.name].push({
70
- name: property.name,
71
- accessLevel: core_decorator_1.PrototypeUtil.getAccessLevel(clazz, {
72
- unitPath: ownerNode.val.moduleConfig.path,
73
- moduleName: ownerNode.val.moduleConfig.name,
74
- }),
75
- qualifiers,
76
- properQualifiers: {},
77
- ownerModule: ownerNode,
78
- instanceModule: ownerNode,
79
- });
80
- }
81
- }
82
- }
83
- this.clazzMap = clazzMap;
84
- }
85
- findDependencyModule(objName, properQualifiers, intoModule) {
86
- const result = new Set();
87
- const objInfo = this.clazzMap[objName];
88
- if (!objInfo) {
89
- return [];
90
- }
91
- let mayObjs = objInfo.filter(obj => {
92
- // 1. check accessLevel
93
- if (obj.instanceModule !== intoModule && obj.accessLevel === tegg_types_1.AccessLevel.PRIVATE) {
94
- return false;
95
- }
96
- // 2. check qualifier
97
- return verifyQualifiers(obj.qualifiers, properQualifiers);
98
- });
99
- // 3. auto set init type qualifier
100
- if (mayObjs.length > 1) {
101
- const initTypeQualifiers = tegg_types_1.INIT_TYPE_TRY_ORDER.map(type => ({
102
- attribute: tegg_types_1.InitTypeQualifierAttribute,
103
- value: type,
104
- }));
105
- for (const initTypeQualifier of initTypeQualifiers) {
106
- const mayInitTypeObjs = mayObjs.filter(obj => {
107
- return verifyQualifiers(obj.qualifiers, [
108
- ...properQualifiers,
109
- initTypeQualifier,
110
- ]);
111
- });
112
- if (mayInitTypeObjs.length > 0) {
113
- mayObjs = mayInitTypeObjs;
114
- }
115
- }
116
- }
117
- // 4. auto set load unit name qualifier
118
- if (mayObjs.length > 1) {
119
- const moduleNameQualifiers = {
120
- attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
121
- value: intoModule.val.name,
122
- };
123
- const mayLoadUnitNameObjs = mayObjs.filter(obj => {
124
- return verifyQualifiers(obj.qualifiers, [
125
- ...properQualifiers,
126
- moduleNameQualifiers,
127
- ]);
128
- });
129
- if (mayLoadUnitNameObjs.length > 0) {
130
- mayObjs = mayLoadUnitNameObjs;
131
- }
132
- }
133
- if (mayObjs.length > 1) {
134
- const message = node_util_1.default.format('multi class found for %s@%o in module %j', objName, properQualifiers, mayObjs.map(t => {
135
- return t.instanceModule.val.moduleConfig.path;
136
- }));
137
- throw new Error(message);
138
- }
139
- for (const obj of mayObjs) {
140
- result.add(obj.instanceModule);
141
- // result.add(obj.ownerModule);
142
- }
143
- return Array.from(result);
144
- }
145
- }
146
- exports.ClazzMap = ClazzMap;
147
- class ModuleNode {
148
- constructor(moduleConfig) {
149
- this.moduleConfig = moduleConfig;
150
- this.id = moduleConfig.path;
151
- this.name = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(moduleConfig.path);
152
- this.clazzList = [];
153
- }
154
- addClazz(clazz) {
155
- if (!this.clazzList.includes(clazz)) {
156
- this.clazzList.push(clazz);
157
- }
158
- if (!core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
159
- const defaultQualifier = [{
160
- attribute: tegg_types_1.InitTypeQualifierAttribute,
161
- value: core_decorator_1.PrototypeUtil.getInitType(clazz, {
162
- unitPath: this.moduleConfig.path,
163
- moduleName: this.moduleConfig.name,
164
- }),
165
- }, {
166
- attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
167
- value: this.name,
168
- }];
169
- for (const qualifier of defaultQualifier) {
170
- core_decorator_1.QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
171
- }
172
- }
173
- }
174
- toString() {
175
- return `${this.name}@${this.moduleConfig.path}`;
176
- }
177
- getClazzList() {
178
- return this.clazzList;
179
- }
180
- }
181
- exports.ModuleNode = ModuleNode;
182
- class AppGraph {
183
- constructor() {
184
- this.graph = new tegg_common_util_1.Graph();
185
- }
186
- addNode(moduleNode) {
187
- if (!this.graph.addVertex(new tegg_common_util_1.GraphNode(moduleNode))) {
188
- throw new Error(`duplicate module: ${moduleNode}`);
189
- }
190
- }
191
- getClazzList() {
192
- const clazzSet = new Set();
193
- for (const node of this.graph.nodes.values()) {
194
- for (const clazz of node.val.getClazzList()) {
195
- clazzSet.add(clazz);
196
- }
197
- }
198
- return Array.from(clazzSet);
199
- }
200
- build() {
201
- var _a, _b;
202
- this.clazzMap = new ClazzMap(this.graph);
203
- // 1. iterate all modules
204
- for (const node of this.graph.nodes.values()) {
205
- // 2. iterate all class
206
- for (const clazz of node.val.getClazzList()) {
207
- const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz);
208
- // 3. iterate all inject objects
209
- for (const injectObject of injectObjects) {
210
- if (core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz)) {
211
- for (const instanceNode of this.graph.nodes.values()) {
212
- const property = core_decorator_1.PrototypeUtil.getMultiInstanceProperty(clazz, {
213
- unitPath: instanceNode.val.moduleConfig.path,
214
- moduleName: instanceNode.val.moduleConfig.name,
215
- });
216
- for (const info of (property === null || property === void 0 ? void 0 : property.objects) || []) {
217
- const properQualifiers = [
218
- ...core_decorator_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName),
219
- ...(_b = (_a = info.properQualifiers) === null || _a === void 0 ? void 0 : _a[injectObject.refName]) !== null && _b !== void 0 ? _b : [],
220
- ];
221
- // 4. find dependency module
222
- const dependencyModules = this.clazzMap.findDependencyModule(injectObject.objName, properQualifiers, node);
223
- for (const moduleNode of dependencyModules) {
224
- // 5. add edge
225
- if (instanceNode !== moduleNode) {
226
- this.graph.addEdge(instanceNode, moduleNode);
227
- }
228
- }
229
- }
230
- }
231
- }
232
- else {
233
- const properQualifiers = [
234
- ...core_decorator_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName),
235
- ];
236
- // 4. find dependency module
237
- const dependencyModules = this.clazzMap.findDependencyModule(injectObject.objName, properQualifiers, node);
238
- for (const moduleNode of dependencyModules) {
239
- // 5. add edge
240
- if (node !== moduleNode) {
241
- this.graph.addEdge(node, moduleNode);
242
- }
243
- }
244
- }
245
- }
246
- }
247
- }
248
- }
249
- sort() {
250
- const loopPath = this.graph.loopPath();
251
- if (loopPath) {
252
- throw new Error('module has recursive deps: ' + loopPath);
253
- }
254
- this.moduleConfigList = this.graph.sort()
255
- .filter(t => {
256
- return t.val.moduleConfig.optional !== true || t.fromNodeMap.size > 0;
257
- })
258
- .map(t => t.val.moduleConfig);
259
- }
260
- }
261
- exports.AppGraph = AppGraph;
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwR3JhcGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvQXBwR3JhcGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOERBQWlDO0FBQ2pDLDBEQUE2QjtBQUM3Qiw4REFBNkU7QUFDN0UsMERBQXFFO0FBQ3JFLGtEQUFpSTtBQWNqSSxTQUFTLGVBQWUsQ0FBQyxlQUFnQyxFQUFFLFNBQXdCO0lBQ2pGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RixPQUFPLENBQUEsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLEtBQUssTUFBSyxTQUFTLENBQUMsS0FBSyxDQUFDO0FBQ25ELENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLGVBQWdDLEVBQUUsVUFBMkI7SUFDckYsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ2pELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFhLFFBQVE7SUFHbkIsWUFBWSxLQUF3QjtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTyxLQUFLLENBQUMsS0FBd0I7UUFDcEM7Ozs7V0FJRztRQUNILE1BQU0sUUFBUSxHQUFpQixFQUFFLENBQUM7UUFDbEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDN0MsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxF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
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EggPrototypeLifecycleUtil = void 0;
4
- const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
5
- exports.EggPrototypeLifecycleUtil = new tegg_lifecycle_1.LifecycleUtil();
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnUHJvdG90eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL0VnZ1Byb3RvdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwwREFBc0Q7QUFHekMsUUFBQSx5QkFBeUIsR0FBRyxJQUFJLDhCQUFhLEVBQThDLENBQUMifQ==
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadUnitLifecycleUtil = void 0;
4
- const tegg_lifecycle_1 = require("@eggjs/tegg-lifecycle");
5
- exports.LoadUnitLifecycleUtil = new tegg_lifecycle_1.LifecycleUtil();
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvTG9hZFVuaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQXNEO0FBR3pDLFFBQUEscUJBQXFCLEdBQUcsSUFBSSw4QkFBYSxFQUFzQyxDQUFDIn0=
@@ -1,46 +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.ModuleDescriptorDumper = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
8
- const promises_1 = __importDefault(require("node:fs/promises"));
9
- const core_decorator_1 = require("@eggjs/core-decorator");
10
- const DUMP_PATH = process.env.MODULE_DUMP_PATH;
11
- class ModuleDescriptorDumper {
12
- static stringifyDescriptor(moduleDescriptor) {
13
- return '{'
14
- + `"name": "${moduleDescriptor.name}",`
15
- + `"unitPath": "${moduleDescriptor.unitPath}",`
16
- + (typeof moduleDescriptor.optional !== 'undefined' ? `"optional": ${moduleDescriptor.optional},` : '')
17
- + `"clazzList": [${moduleDescriptor.clazzList.map(t => {
18
- return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
19
- }).join(',')}],`
20
- + `"multiInstanceClazzList": [${moduleDescriptor.multiInstanceClazzList.map(t => {
21
- return ModuleDescriptorDumper.stringifyClazz(t, moduleDescriptor);
22
- }).join(',')}],`
23
- + `"protos": [${moduleDescriptor.protos.map(t => {
24
- return JSON.stringify(t);
25
- }).join(',')}]`
26
- + '}';
27
- }
28
- static stringifyClazz(clazz, moduleDescriptor) {
29
- return '{'
30
- + `"name": "${clazz.name}",`
31
- + (core_decorator_1.PrototypeUtil.getFilePath(clazz) ? `"filePath": "${node_path_1.default.relative(moduleDescriptor.unitPath, core_decorator_1.PrototypeUtil.getFilePath(clazz))}"` : '')
32
- + '}';
33
- }
34
- static dumpPath(desc, options) {
35
- var _a;
36
- const dumpDir = (_a = DUMP_PATH !== null && DUMP_PATH !== void 0 ? DUMP_PATH : options === null || options === void 0 ? void 0 : options.dumpDir) !== null && _a !== void 0 ? _a : desc.unitPath;
37
- return node_path_1.default.join(dumpDir, '.egg', `${desc.name}_module_desc.json`);
38
- }
39
- static async dump(desc, options) {
40
- const dumpPath = ModuleDescriptorDumper.dumpPath(desc, options);
41
- await promises_1.default.mkdir(node_path_1.default.dirname(dumpPath), { recursive: true });
42
- await promises_1.default.writeFile(dumpPath, ModuleDescriptorDumper.stringifyDescriptor(desc));
43
- }
44
- }
45
- exports.ModuleDescriptorDumper = ModuleDescriptorDumper;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kdWxlRGVzY3JpcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9Nb2R1bGVEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixnRUFBa0M7QUFFbEMsMERBQXNEO0FBRXRELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUM7QUFlL0MsTUFBYSxzQkFBc0I7SUFDakMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGdCQUFrQztRQUMzRCxPQUFPLEdBQUc7Y0FDTixZQUFZLGdCQUFnQixDQUFDLElBQUksSUFBSTtjQUNyQyxnQkFBZ0IsZ0JBQWdCLENBQUMsUUFBUSxJQUFJO2NBQzdDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxlQUFlLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Y0FDckcsaUJBQWlCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BELE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLDhCQUE4QixnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzlFLE9BQU8sc0JBQXNCLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSTtjQUNkLGNBQWMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztjQUNiLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXdCLEVBQUUsZ0JBQWtDO1FBQ2hGLE9BQU8sR0FBRztjQUNOLFlBQVksS0FBSyxDQUFDLElBQUksSUFBSTtjQUMxQixDQUFDLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsbUJBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLDhCQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2NBQ3hJLEdBQUcsQ0FBQztJQUNWLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQXNCLEVBQUUsT0FBMkI7O1FBQ2pFLE1BQU0sT0FBTyxHQUFHLE1BQUEsU0FBUyxhQUFULFNBQVMsY0FBVCxTQUFTLEdBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE9BQU8sbUNBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvRCxPQUFPLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFzQixFQUFFLE9BQTJCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDaEUsTUFBTSxrQkFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sa0JBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGO0FBbkNELHdEQW1DQyJ9
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractProtoDescriptor = void 0;
4
- class AbstractProtoDescriptor {
5
- constructor(options) {
6
- this.name = options.name;
7
- this.accessLevel = options.accessLevel;
8
- this.initType = options.initType;
9
- this.qualifiers = options.qualifiers;
10
- this.protoImplType = options.protoImplType;
11
- this.injectObjects = options.injectObjects;
12
- this.defineModuleName = options.defineModuleName;
13
- this.defineUnitPath = options.defineUnitPath;
14
- this.instanceModuleName = options.instanceModuleName;
15
- this.instanceDefineUnitPath = options.instanceDefineUnitPath;
16
- this.type = options.type;
17
- this.properQualifiers = options.properQualifiers;
18
- }
19
- }
20
- exports.AbstractProtoDescriptor = AbstractProtoDescriptor;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvUHJvdG9EZXNjcmlwdG9yL0Fic3RyYWN0UHJvdG9EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdCQSxNQUFzQix1QkFBdUI7SUFlM0MsWUFBc0IsT0FBdUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUNyRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FHRjtBQS9CRCwwREErQkMifQ==
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ClassProtoDescriptor = void 0;
4
- const core_decorator_1 = require("@eggjs/core-decorator");
5
- const AbstractProtoDescriptor_1 = require("./AbstractProtoDescriptor");
6
- const ProtoDescriptorType_1 = require("@eggjs/tegg-types/metadata/enum/ProtoDescriptorType");
7
- class ClassProtoDescriptor extends AbstractProtoDescriptor_1.AbstractProtoDescriptor {
8
- static isClassProtoDescriptor(descriptor) {
9
- return descriptor.type === ProtoDescriptorType_1.ProtoDescriptorType.CLASS;
10
- }
11
- constructor(options) {
12
- super({
13
- type: ProtoDescriptorType_1.ProtoDescriptorType.CLASS,
14
- ...options,
15
- });
16
- this.clazz = options.clazz;
17
- this.className = this.clazz.name;
18
- }
19
- equal(protoDescriptor) {
20
- if (!ClassProtoDescriptor.isClassProtoDescriptor(protoDescriptor)) {
21
- return false;
22
- }
23
- return this.clazz === protoDescriptor.clazz
24
- && this.name === protoDescriptor.name
25
- && this.accessLevel === protoDescriptor.accessLevel
26
- && this.initType === protoDescriptor.initType
27
- && this.instanceModuleName === protoDescriptor.instanceModuleName
28
- && core_decorator_1.QualifierUtil.equalQualifiers(this.qualifiers, protoDescriptor.qualifiers);
29
- }
30
- }
31
- exports.ClassProtoDescriptor = ClassProtoDescriptor;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3NQcm90b0Rlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kZWwvUHJvdG9EZXNjcmlwdG9yL0NsYXNzUHJvdG9EZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBEQUFzRDtBQUN0RCx1RUFBb0c7QUFFcEcsNkZBQTBGO0FBTTFGLE1BQWEsb0JBQXFCLFNBQVEsaURBQXVCO0lBSS9ELE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxVQUEyQjtRQUN2RCxPQUFRLFVBQXNDLENBQUMsSUFBSSxLQUFLLHlDQUFtQixDQUFDLEtBQUssQ0FBQztJQUNwRixDQUFDO0lBRUQsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUseUNBQW1CLENBQUMsS0FBSztZQUMvQixHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGVBQWdDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxlQUFlLENBQUMsS0FBSztlQUN0QyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJO2VBQ2xDLElBQUksQ0FBQyxXQUFXLEtBQUssZUFBZSxDQUFDLFdBQVc7ZUFDaEQsSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLENBQUMsUUFBUTtlQUMxQyxJQUFJLENBQUMsa0JBQWtCLEtBQUssZUFBZSxDQUFDLGtCQUFrQjtlQUM5RCw4QkFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0Y7QUE1QkQsb0RBNEJDIn0=
@@ -1,143 +0,0 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __importDefault = (this && this.__importDefault) || function (mod) {
8
- return (mod && mod.__esModule) ? mod : { "default": mod };
9
- };
10
- var _a, _ProtoDescriptorHelper_createByMultiInstanceClazz;
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ProtoDescriptorHelper = void 0;
13
- const core_decorator_1 = require("@eggjs/core-decorator");
14
- const tegg_types_1 = require("@eggjs/tegg-types");
15
- const node_assert_1 = __importDefault(require("node:assert"));
16
- const ClassProtoDescriptor_1 = require("./ProtoDescriptor/ClassProtoDescriptor");
17
- class ProtoDescriptorHelper {
18
- static addDefaultQualifier(qualifiers, initType, loadUnitName) {
19
- const defaultQualifiers = [{
20
- attribute: tegg_types_1.InitTypeQualifierAttribute,
21
- value: initType,
22
- }, {
23
- attribute: tegg_types_1.LoadUnitNameQualifierAttribute,
24
- value: loadUnitName,
25
- }];
26
- const res = [
27
- ...qualifiers,
28
- ];
29
- for (const defaultQualifier of defaultQualifiers) {
30
- if (!qualifiers.find(t => t.attribute === defaultQualifier.attribute)) {
31
- res.push(defaultQualifier);
32
- }
33
- }
34
- return res;
35
- }
36
- static createByMultiInstanceClazz(clazz, options) {
37
- (0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
38
- const type = core_decorator_1.PrototypeUtil.getEggMultiInstancePrototypeType(clazz);
39
- if (type === tegg_types_1.MultiInstanceType.DYNAMIC) {
40
- return _a.createByDynamicMultiInstanceClazz(clazz, options);
41
- }
42
- else if (type === tegg_types_1.MultiInstanceType.STATIC) {
43
- // static multi instance proto create only in self module
44
- if (options.defineModuleName === options.instanceModuleName) {
45
- return _a.createByStaticMultiInstanceClazz(clazz, options);
46
- }
47
- }
48
- return [];
49
- }
50
- static createByDynamicMultiInstanceClazz(clazz, options) {
51
- (0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
52
- const instanceProperty = core_decorator_1.PrototypeUtil.getDynamicMultiInstanceProperty(clazz, {
53
- moduleName: options.instanceModuleName,
54
- unitPath: options.instanceDefineUnitPath,
55
- });
56
- (0, node_assert_1.default)(instanceProperty, `not found PrototypeInfo for clazz ${clazz.name}`);
57
- return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
58
- }
59
- static createByStaticMultiInstanceClazz(clazz, options) {
60
- (0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not MultiInstancePrototype`);
61
- const instanceProperty = core_decorator_1.PrototypeUtil.getStaticMultiInstanceProperty(clazz);
62
- (0, node_assert_1.default)(instanceProperty, `not found PrototypeInfo for clazz ${clazz.name}`);
63
- return __classPrivateFieldGet(_a, _a, "m", _ProtoDescriptorHelper_createByMultiInstanceClazz).call(_a, clazz, instanceProperty, options);
64
- }
65
- static createByInstanceClazz(clazz, ctx) {
66
- (0, node_assert_1.default)(core_decorator_1.PrototypeUtil.isEggPrototype(clazz), `clazz ${clazz.name} is not EggPrototype`);
67
- (0, node_assert_1.default)(!core_decorator_1.PrototypeUtil.isEggMultiInstancePrototype(clazz), `clazz ${clazz.name} is not Prototype`);
68
- const property = core_decorator_1.PrototypeUtil.getProperty(clazz);
69
- (0, node_assert_1.default)(property, `not found PrototypeInfo for clazz ${clazz.name}`);
70
- const protoQualifiers = _a.addDefaultQualifier(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), property.initType, ctx.moduleName);
71
- const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz)
72
- .map(t => {
73
- const qualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(clazz, t.refName);
74
- return {
75
- ...t,
76
- qualifiers,
77
- };
78
- });
79
- return new ClassProtoDescriptor_1.ClassProtoDescriptor({
80
- name: property.name,
81
- protoImplType: property.protoImplType,
82
- accessLevel: property.accessLevel,
83
- initType: property.initType,
84
- qualifiers: protoQualifiers,
85
- injectObjects,
86
- instanceDefineUnitPath: ctx.unitPath,
87
- instanceModuleName: ctx.moduleName,
88
- defineUnitPath: ctx.unitPath,
89
- defineModuleName: ctx.moduleName,
90
- clazz,
91
- properQualifiers: {},
92
- });
93
- }
94
- static selectProto(proto, ctx) {
95
- // 1. name match
96
- if (proto.name !== ctx.name) {
97
- return false;
98
- }
99
- // 2. access level match
100
- if (proto.accessLevel !== tegg_types_1.AccessLevel.PUBLIC && proto.instanceModuleName !== ctx.moduleName) {
101
- return false;
102
- }
103
- // 3. qualifier match
104
- if (!core_decorator_1.QualifierUtil.matchQualifiers(proto.qualifiers, ctx.qualifiers)) {
105
- return false;
106
- }
107
- return true;
108
- }
109
- }
110
- exports.ProtoDescriptorHelper = ProtoDescriptorHelper;
111
- _a = ProtoDescriptorHelper, _ProtoDescriptorHelper_createByMultiInstanceClazz = function _ProtoDescriptorHelper_createByMultiInstanceClazz(clazz, instanceProperty, options) {
112
- const res = [];
113
- for (const obj of instanceProperty.objects) {
114
- let qualifiers = core_decorator_1.QualifierUtil.mergeQualifiers(core_decorator_1.QualifierUtil.getProtoQualifiers(clazz), obj.qualifiers);
115
- qualifiers = _a.addDefaultQualifier(qualifiers, instanceProperty.initType, options.instanceModuleName);
116
- const injectObjects = core_decorator_1.PrototypeUtil.getInjectObjects(clazz)
117
- .map(t => {
118
- var _b, _c;
119
- const qualifiers = core_decorator_1.QualifierUtil.getProperQualifiers(clazz, t.refName);
120
- const instanceQualifier = (_c = (_b = obj.properQualifiers) === null || _b === void 0 ? void 0 : _b[t.refName]) !== null && _c !== void 0 ? _c : [];
121
- return {
122
- ...t,
123
- qualifiers: core_decorator_1.QualifierUtil.mergeQualifiers(qualifiers, instanceQualifier),
124
- };
125
- });
126
- res.push(new ClassProtoDescriptor_1.ClassProtoDescriptor({
127
- name: obj.name,
128
- accessLevel: instanceProperty.accessLevel,
129
- initType: instanceProperty.initType,
130
- protoImplType: instanceProperty.protoImplType,
131
- qualifiers,
132
- injectObjects,
133
- instanceModuleName: options.instanceModuleName,
134
- instanceDefineUnitPath: options.instanceDefineUnitPath,
135
- defineModuleName: options.defineModuleName,
136
- defineUnitPath: options.defineUnitPath,
137
- clazz,
138
- properQualifiers: obj.properQualifiers || {},
139
- }));
140
- }
141
- return res;
142
- };
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdG9EZXNjcmlwdG9ySGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL1Byb3RvRGVzY3JpcHRvckhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSwwREFJK0I7QUFDL0Isa0RBVTJCO0FBQzNCLDhEQUFpQztBQUVqQyxpRkFBOEU7QUFFOUUsTUFBYSxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQTJCLEVBQUUsUUFBNEIsRUFBRSxZQUFvQjtRQUN4RyxNQUFNLGlCQUFpQixHQUFHLENBQUM7Z0JBQ3pCLFNBQVMsRUFBRSx1Q0FBMEI7Z0JBQ3JDLEtBQUssRUFBRSxRQUFRO2FBQ2hCLEVBQUU7Z0JBQ0QsU0FBUyxFQUFFLDJDQUE4QjtnQkFDekMsS0FBSyxFQUFFLFlBQVk7YUFDcEIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUc7WUFDVixHQUFHLFVBQVU7U0FDZCxDQUFDO1FBQ0YsS0FBSyxNQUFNLGdCQUFnQixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RFLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxLQUF3QixFQUFFLE9BSzNEO1FBQ0MsSUFBQSxxQkFBTSxFQUFDLDhCQUFhLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxLQUFLLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDO1FBQzlHLE1BQU0sSUFBSSxHQUFHLDhCQUFhLENBQUMsZ0NBQWdDLENB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