@eggjs/tegg-standalone 3.17.0 → 3.18.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.
@@ -1,5 +1,9 @@
1
1
  import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
2
2
  import { LifecycleHook } from '@eggjs/tegg';
3
+ /**
4
+ * Hook for inject moduleConfig.
5
+ * Add default qualifier value is current module name.
6
+ */
3
7
  export declare class ConfigSourceLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
4
8
  preCreate(ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
5
9
  }
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConfigSourceLoadUnitHook = void 0;
4
4
  const tegg_1 = require("@eggjs/tegg");
5
5
  const ConfigSource_1 = require("./ConfigSource");
6
+ /**
7
+ * Hook for inject moduleConfig.
8
+ * Add default qualifier value is current module name.
9
+ */
6
10
  class ConfigSourceLoadUnitHook {
7
11
  async preCreate(ctx, loadUnit) {
8
12
  const classList = ctx.loader.load();
@@ -17,4 +21,4 @@ class ConfigSourceLoadUnitHook {
17
21
  }
18
22
  }
19
23
  exports.ConfigSourceLoadUnitHook = ConfigSourceLoadUnitHook;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZ1NvdXJjZUxvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FHcUI7QUFDckIsaURBQXVGO0FBRXZGLE1BQWEsd0JBQXdCO0lBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkIsRUFBRSxRQUFrQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLG9CQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQztZQUNqRixNQUFNLHFCQUFxQixHQUFHLG9CQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSw2Q0FBOEIsQ0FBQyxDQUFDO1lBQ3RILElBQUksa0JBQWtCLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDaEQsSUFBQSxvQ0FBcUIsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRjtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBWkQsNERBWUMifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnU291cmNlTG9hZFVuaXRIb29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbmZpZ1NvdXJjZUxvYWRVbml0SG9vay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FHcUI7QUFDckIsaURBQXVGO0FBRXZGOzs7R0FHRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBNkIsRUFBRSxRQUFrQjtRQUMvRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFO1lBQzdCLE1BQU0sYUFBYSxHQUFHLG9CQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQztZQUNqRixNQUFNLHFCQUFxQixHQUFHLG9CQUFhLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSw2Q0FBOEIsQ0FBQyxDQUFDO1lBQ3RILElBQUksa0JBQWtCLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDaEQsSUFBQSxvQ0FBcUIsRUFBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRjtTQUNGO0lBQ0gsQ0FBQztDQUNGO0FBWkQsNERBWUMifQ==
@@ -3,36 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EggModuleLoader = void 0;
4
4
  const tegg_metadata_1 = require("@eggjs/tegg-metadata");
5
5
  const tegg_loader_1 = require("@eggjs/tegg-loader");
6
- const StandaloneGraph_1 = require("./StandaloneGraph");
7
- const tegg_1 = require("@eggjs/tegg");
8
- const tegg_common_util_1 = require("@eggjs/tegg-common-util");
6
+ const helper_1 = require("@eggjs/tegg/helper");
9
7
  class EggModuleLoader {
10
8
  constructor(moduleReferences) {
11
9
  this.moduleReferences = moduleReferences;
12
10
  }
13
11
  buildAppGraph(loaderCache) {
14
- const appGraph = new StandaloneGraph_1.StandaloneGraph();
12
+ const appGraph = new helper_1.AppGraph();
15
13
  for (const moduleConfig of this.moduleReferences) {
16
14
  const modulePath = moduleConfig.path;
17
- const moduleNode = new StandaloneGraph_1.ModuleNode(moduleConfig);
15
+ const moduleNode = new helper_1.ModuleNode(moduleConfig);
18
16
  const loader = tegg_loader_1.LoaderFactory.createLoader(modulePath, tegg_metadata_1.EggLoadUnitType.MODULE);
19
17
  loaderCache.set(modulePath, loader);
20
18
  const clazzList = loader.load();
21
19
  for (const clazz of clazzList) {
22
- // TODO copy from ModuleLoadUnit, duplicate code
23
- const moduleName = tegg_common_util_1.ModuleConfigUtil.readModuleNameSync(modulePath);
24
- const defaultQualifier = [{
25
- attribute: tegg_1.InitTypeQualifierAttribute,
26
- value: tegg_1.PrototypeUtil.getInitType(clazz, {
27
- unitPath: modulePath,
28
- }),
29
- }, {
30
- attribute: tegg_1.LoadUnitNameQualifierAttribute,
31
- value: moduleName,
32
- }];
33
- defaultQualifier.forEach(qualifier => {
34
- tegg_1.QualifierUtil.addProtoQualifier(clazz, qualifier.attribute, qualifier.value);
35
- });
36
20
  moduleNode.addClazz(clazz);
37
21
  }
38
22
  appGraph.addNode(moduleNode);
@@ -57,4 +41,4 @@ class EggModuleLoader {
57
41
  }
58
42
  }
59
43
  exports.EggModuleLoader = EggModuleLoader;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VnZ01vZHVsZUxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBMEY7QUFDMUYsb0RBQW1EO0FBQ25ELHVEQUFnRTtBQUNoRSxzQ0FLcUI7QUFDckIsOERBQTRFO0FBRTVFLE1BQWEsZUFBZTtJQUcxQixZQUFZLGdCQUE0QztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQztJQUVPLGFBQWEsQ0FBQyxXQUFnQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLGlDQUFlLEVBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLElBQUksNEJBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNoRCxNQUFNLE1BQU0sR0FBRywyQkFBYSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsK0JBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM5RSxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNwQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNLEtBQUssSUFBSSxTQUFTLEVBQUU7Z0JBQzdCLGdEQUFnRDtnQkFDaEQsTUFBTSxVQUFVLEdBQUcsbUNBQWdCLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQzt3QkFDeEIsU0FBUyxFQUFFLGlDQUEwQjt3QkFDckMsS0FBSyxFQUFFLG9CQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTs0QkFDdEMsUUFBUSxFQUFFLFVBQVU7eUJBQ3JCLENBQUU7cUJBQ0osRUFBRTt3QkFDRCxTQUFTLEVBQUUscUNBQThCO3dCQUN6QyxLQUFLLEVBQUUsVUFBVTtxQkFDbEIsQ0FBQyxDQUFDO2dCQUNILGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDbkMsb0JBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9FLENBQUMsQ0FBQyxDQUFDO2dCQUNILFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7WUFDRCxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFlLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUM5QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNuRCxLQUFLLE1BQU0sWUFBWSxJQUFJLGdCQUFnQixFQUFFO1lBQzNDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUUsQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxNQUFNLCtCQUFlLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSwrQkFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxTQUFTLENBQUM7UUFDakIsb0JBQW9CO0lBQ3RCLENBQUM7Q0FDRjtBQXJERCwwQ0FxREMifQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRWdnTW9kdWxlTG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VnZ01vZHVsZUxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBMEY7QUFDMUYsb0RBQW1EO0FBQ25ELCtDQUEwRDtBQUcxRCxNQUFhLGVBQWU7SUFHMUIsWUFBWSxnQkFBNEM7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBQzNDLENBQUM7SUFFTyxhQUFhLENBQUMsV0FBZ0M7UUFDcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxpQkFBUSxFQUFFLENBQUM7UUFDaEMsS0FBSyxNQUFNLFlBQVksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQztZQUNyQyxNQUFNLFVBQVUsR0FBRyxJQUFJLG1CQUFVLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsMkJBQWEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLCtCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDcEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxLQUFLLElBQUksU0FBUyxFQUFFO2dCQUM3QixVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM5QjtRQUNELFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLFNBQVMsR0FBZSxFQUFFLENBQUM7UUFDakMsTUFBTSxXQUFXLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7UUFDbkQsS0FBSyxNQUFNLFlBQVksSUFBSSxnQkFBZ0IsRUFBRTtZQUMzQyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFFLENBQUM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsTUFBTSwrQkFBZSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsK0JBQWUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEcsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMxQjtRQUNELE9BQU8sU0FBUyxDQUFDO1FBQ2pCLG9CQUFvQjtJQUN0QixDQUFDO0NBQ0Y7QUF2Q0QsMENBdUNDIn0=
@@ -0,0 +1,5 @@
1
+ import { LifecycleHook } from '@eggjs/tegg-lifecycle';
2
+ import { LoadUnit, LoadUnitLifecycleContext } from '@eggjs/tegg-metadata';
3
+ export declare class LoadUnitInnerClassHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
4
+ postCreate(_: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
5
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LoadUnitInnerClassHook = void 0;
4
+ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
5
+ const tegg_dynamic_inject_runtime_1 = require("@eggjs/tegg-dynamic-inject-runtime");
6
+ const INNER_CLASS_LIST = [
7
+ tegg_dynamic_inject_runtime_1.EggObjectFactory,
8
+ ];
9
+ class LoadUnitInnerClassHook {
10
+ async postCreate(_, loadUnit) {
11
+ if (loadUnit.type === 'StandaloneLoadUnitType') {
12
+ for (const clazz of INNER_CLASS_LIST) {
13
+ const protos = await tegg_metadata_1.EggPrototypeCreatorFactory.createProto(clazz, loadUnit);
14
+ for (const proto of protos) {
15
+ tegg_metadata_1.EggPrototypeFactory.instance.registerPrototype(proto, loadUnit);
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ exports.LoadUnitInnerClassHook = LoadUnitInnerClassHook;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9hZFVuaXRJbm5lckNsYXNzSG9vay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Mb2FkVW5pdElubmVyQ2xhc3NIb29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHdEQUs4QjtBQUU5QixvRkFBc0U7QUFFdEUsTUFBTSxnQkFBZ0IsR0FBRztJQUN2Qiw4Q0FBZ0I7Q0FDakIsQ0FBQztBQUVGLE1BQWEsc0JBQXNCO0lBQ2pDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBMkIsRUFBRSxRQUFrQjtRQUM5RCxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssd0JBQXdCLEVBQUU7WUFDOUMsS0FBSyxNQUFNLEtBQUssSUFBSSxnQkFBZ0IsRUFBRTtnQkFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSwwQ0FBMEIsQ0FBQyxXQUFXLENBQUMsS0FBMEIsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDbEcsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7b0JBQzFCLG1DQUFtQixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQ2pFO2FBQ0Y7U0FDRjtJQUNILENBQUM7Q0FDRjtBQVhELHdEQVdDIn0=
@@ -18,6 +18,12 @@ export declare class Runner {
18
18
  private loadUnitLoader;
19
19
  private runnerProto;
20
20
  private configSourceEggPrototypeHook;
21
+ private loadUnitMultiInstanceProtoHook;
22
+ private readonly loadUnitInnerClassHook;
23
+ private readonly crosscutAdviceFactory;
24
+ private readonly loadUnitAopHook;
25
+ private readonly eggPrototypeCrossCutHook;
26
+ private readonly eggObjectAopHook;
21
27
  loadUnits: LoadUnit[];
22
28
  loadUnitInstances: LoadUnitInstance[];
23
29
  innerObjects: Record<string, InnerObject[]>;
@@ -6,6 +6,8 @@ const tegg_metadata_1 = require("@eggjs/tegg-metadata");
6
6
  const tegg_runtime_1 = require("@eggjs/tegg-runtime");
7
7
  const tegg_1 = require("@eggjs/tegg");
8
8
  const standalone_1 = require("@eggjs/tegg/standalone");
9
+ const aop_1 = require("@eggjs/tegg/aop");
10
+ const tegg_aop_runtime_1 = require("@eggjs/tegg-aop-runtime");
9
11
  const EggModuleLoader_1 = require("./EggModuleLoader");
10
12
  const StandaloneLoadUnit_1 = require("./StandaloneLoadUnit");
11
13
  const StandaloneContext_1 = require("./StandaloneContext");
@@ -13,6 +15,7 @@ const StandaloneContextHandler_1 = require("./StandaloneContextHandler");
13
15
  const ModuleConfigs_1 = require("./ModuleConfigs");
14
16
  const ConfigSource_1 = require("./ConfigSource");
15
17
  const ConfigSourceLoadUnitHook_1 = require("./ConfigSourceLoadUnitHook");
18
+ const LoadUnitInnerClassHook_1 = require("./LoadUnitInnerClassHook");
16
19
  class Runner {
17
20
  constructor(cwd, options) {
18
21
  this.loadUnits = [];
@@ -66,6 +69,19 @@ class Runner {
66
69
  this.loadUnitLoader = new EggModuleLoader_1.EggModuleLoader(this.moduleReferences);
67
70
  const configSourceEggPrototypeHook = new ConfigSourceLoadUnitHook_1.ConfigSourceLoadUnitHook();
68
71
  tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(configSourceEggPrototypeHook);
72
+ this.loadUnitInnerClassHook = new LoadUnitInnerClassHook_1.LoadUnitInnerClassHook();
73
+ tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitInnerClassHook);
74
+ // TODO refactor with egg module
75
+ // aop runtime
76
+ this.crosscutAdviceFactory = new aop_1.CrosscutAdviceFactory();
77
+ this.loadUnitAopHook = new tegg_aop_runtime_1.LoadUnitAopHook(this.crosscutAdviceFactory);
78
+ this.eggPrototypeCrossCutHook = new tegg_aop_runtime_1.EggPrototypeCrossCutHook(this.crosscutAdviceFactory);
79
+ this.eggObjectAopHook = new tegg_aop_runtime_1.EggObjectAopHook();
80
+ tegg_metadata_1.EggPrototypeLifecycleUtil.registerLifecycle(this.eggPrototypeCrossCutHook);
81
+ tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitAopHook);
82
+ tegg_runtime_1.EggObjectLifecycleUtil.registerLifecycle(this.eggObjectAopHook);
83
+ this.loadUnitMultiInstanceProtoHook = new tegg_metadata_1.LoadUnitMultiInstanceProtoHook();
84
+ tegg_metadata_1.LoadUnitLifecycleUtil.registerLifecycle(this.loadUnitMultiInstanceProtoHook);
69
85
  }
70
86
  async init() {
71
87
  StandaloneContextHandler_1.StandaloneContextHandler.register();
@@ -132,7 +148,22 @@ class Runner {
132
148
  if (this.configSourceEggPrototypeHook) {
133
149
  tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.configSourceEggPrototypeHook);
134
150
  }
151
+ if (this.loadUnitInnerClassHook) {
152
+ tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitInnerClassHook);
153
+ }
154
+ if (this.eggPrototypeCrossCutHook) {
155
+ tegg_metadata_1.EggPrototypeLifecycleUtil.deleteLifecycle(this.eggPrototypeCrossCutHook);
156
+ }
157
+ if (this.loadUnitAopHook) {
158
+ tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitAopHook);
159
+ }
160
+ if (this.eggObjectAopHook) {
161
+ tegg_runtime_1.EggObjectLifecycleUtil.deleteLifecycle(this.eggObjectAopHook);
162
+ }
163
+ if (this.loadUnitMultiInstanceProtoHook) {
164
+ tegg_metadata_1.LoadUnitLifecycleUtil.deleteLifecycle(this.loadUnitMultiInstanceProtoHook);
165
+ }
135
166
  }
136
167
  }
137
168
  exports.Runner = Runner;
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBMkY7QUFDM0Ysd0RBSzhCO0FBQzlCLHNEQU02QjtBQUM3QixzQ0FBK0Q7QUFDL0QsdURBQW9FO0FBQ3BFLHVEQUFvRDtBQUNwRCw2REFBK0Y7QUFDL0YsMkRBQXdEO0FBQ3hELHlFQUFzRTtBQUN0RSxtREFBb0U7QUFDcEUsaURBQWdFO0FBQ2hFLHlFQUFzRTtBQVl0RSxNQUFhLE1BQU07SUFZakIsWUFBWSxHQUFXLEVBQUUsT0FBdUI7UUFKaEQsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQUMzQixzQkFBaUIsR0FBdUIsRUFBRSxDQUFDO1FBSXpDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLG1DQUFnQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHO1lBQ2xCLGFBQWEsRUFBRSxDQUFDO29CQUNkLEdBQUcsRUFBRSxJQUFJLDZCQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztpQkFDM0MsQ0FBQztZQUNGLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBMkI7WUFDNUMsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2xCLENBQUM7UUFDRix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsQ0FBQztnQkFDakMsR0FBRyxFQUFFLGFBQWE7YUFDbkIsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDN0MsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLElBQUksRUFBRSxtQ0FBZ0IsQ0FB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
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4REFBMkY7QUFDM0Ysd0RBSzhCO0FBQzlCLHNEQU02QjtBQUM3QixzQ0FBK0Q7QUFDL0QsdURBQW9FO0FBQ3BFLHlDQUF3RDtBQUN4RCw4REFBc0c7QUFFdEcsdURBQW9EO0FBQ3BELDZEQUErRjtBQUMvRiwyREFBd0Q7QUFDeEQseUVBQXNFO0FBQ3RFLG1EQUFvRTtBQUNwRSxpREFBZ0U7QUFDaEUseUVBQXNFO0FBQ3RFLHFFQUFrRTtBQVlsRSxNQUFhLE1BQU07SUFtQmpCLFlBQVksR0FBVyxFQUFFLE9BQXVCO1FBSmhELGNBQVMsR0FBZSxFQUFFLENBQUM7UUFDM0Isc0JBQWlCLEdBQXVCLEVBQUUsQ0FBQztRQUl6QyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxtQ0FBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRztZQUNsQixhQUFhLEVBQUUsQ0FBQztvQkFDZCxHQUFHLEVBQUUsSUFBSSw2QkFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7aUJBQzNDLENBQUM7WUFDRixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDO1FBRUYsTUFBTSxhQUFhLEdBQTJCO1lBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRztTQUNsQixDQUFDO1FBQ0YsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLENBQUM7Z0JBQ2pDLEdBQUcsRUFBRSxhQUFhO2FBQ25CLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzdDLE1B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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@eggjs/tegg-standalone",
3
3
  "description": "tegg standalone",
4
- "version": "3.17.0",
4
+ "version": "3.18.1",
5
5
  "keywords": [
6
6
  "egg",
7
7
  "typescript",
@@ -38,15 +38,16 @@
38
38
  "author": "killagu <killa123@126.com>",
39
39
  "license": "MIT",
40
40
  "dependencies": {
41
- "@eggjs/egg-module-common": "^3.17.0",
42
- "@eggjs/tegg": "^3.17.0",
43
- "@eggjs/tegg-background-task": "^3.17.0",
44
- "@eggjs/tegg-common-util": "^3.17.0",
45
- "@eggjs/tegg-dynamic-inject-runtime": "^3.17.0",
46
- "@eggjs/tegg-lifecycle": "^3.17.0",
47
- "@eggjs/tegg-loader": "^3.17.0",
48
- "@eggjs/tegg-metadata": "^3.17.0",
49
- "@eggjs/tegg-runtime": "^3.17.0"
41
+ "@eggjs/egg-module-common": "^3.18.1",
42
+ "@eggjs/tegg": "^3.18.1",
43
+ "@eggjs/tegg-aop-runtime": "^3.18.1",
44
+ "@eggjs/tegg-background-task": "^3.18.1",
45
+ "@eggjs/tegg-common-util": "^3.18.1",
46
+ "@eggjs/tegg-dynamic-inject-runtime": "^3.18.1",
47
+ "@eggjs/tegg-lifecycle": "^3.18.1",
48
+ "@eggjs/tegg-loader": "^3.18.1",
49
+ "@eggjs/tegg-metadata": "^3.18.1",
50
+ "@eggjs/tegg-runtime": "^3.18.1"
50
51
  },
51
52
  "publishConfig": {
52
53
  "access": "public"
@@ -59,5 +60,5 @@
59
60
  "ts-node": "^10.9.1",
60
61
  "typescript": "^5.0.4"
61
62
  },
62
- "gitHead": "f049412d99d784468f48e030dcc501c428112d63"
63
+ "gitHead": "265ac4ae37cad57cd7d38a0ea21d945a8f620b0c"
63
64
  }
@@ -1,29 +0,0 @@
1
- import { GraphNodeObj } from '@eggjs/tegg-common-util';
2
- import { EggProtoImplClass, EggPrototypeName, QualifierInfo } from '@eggjs/tegg';
3
- export interface ModuleConfig {
4
- path: string;
5
- }
6
- export declare class ModuleNode implements GraphNodeObj {
7
- readonly id: string;
8
- readonly name: string;
9
- readonly moduleConfig: ModuleConfig;
10
- private clazzList;
11
- static readModuleName(modulePath: string): string;
12
- constructor(moduleConfig: ModuleConfig);
13
- addClazz(clazz: EggProtoImplClass): void;
14
- getClazzList(): readonly EggProtoImplClass[];
15
- getPublicClazzList(): readonly EggProtoImplClass[];
16
- toString(): string;
17
- verifyQualifiers(clazz: EggProtoImplClass, qualifiers: QualifierInfo[]): boolean;
18
- verifyQualifier(clazzQualifiers: QualifierInfo[], qualifier: QualifierInfo): boolean;
19
- findImplementClazzList(objName: EggPrototypeName, qualifiers: QualifierInfo[], innerFind: boolean): EggProtoImplClass[];
20
- }
21
- export declare class StandaloneGraph {
22
- private graph;
23
- moduleConfigList: Array<ModuleConfig>;
24
- constructor();
25
- addNode(moduleNode: ModuleNode): void;
26
- private findDependencyModule;
27
- build(): void;
28
- sort(): void;
29
- }
@@ -1,127 +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.StandaloneGraph = exports.ModuleNode = void 0;
7
- const assert_1 = __importDefault(require("assert"));
8
- const path_1 = __importDefault(require("path"));
9
- const tegg_common_util_1 = require("@eggjs/tegg-common-util");
10
- const tegg_1 = require("@eggjs/tegg");
11
- class ModuleNode {
12
- // TODO refactor to ModuleUtil
13
- static readModuleName(modulePath) {
14
- const pkgPath = path_1.default.join(modulePath, 'package.json');
15
- // eslint-disable-next-line @typescript-eslint/no-var-requires
16
- const pkg = require(pkgPath);
17
- (0, assert_1.default)(pkg.eggModule, `module config not found in package ${pkgPath}`);
18
- const { name } = pkg.eggModule;
19
- return name;
20
- }
21
- constructor(moduleConfig) {
22
- this.moduleConfig = moduleConfig;
23
- this.id = moduleConfig.path;
24
- this.name = ModuleNode.readModuleName(moduleConfig.path);
25
- this.clazzList = [];
26
- }
27
- addClazz(clazz) {
28
- this.clazzList.push(clazz);
29
- }
30
- getClazzList() {
31
- return this.clazzList;
32
- }
33
- getPublicClazzList() {
34
- return this.clazzList.filter(clazz => tegg_1.PrototypeUtil.getInitType(clazz, {
35
- unitPath: this.moduleConfig.path,
36
- }) === tegg_1.AccessLevel.PUBLIC);
37
- }
38
- toString() {
39
- return `${this.name}@${this.moduleConfig.path}`;
40
- }
41
- verifyQualifiers(clazz, qualifiers) {
42
- const clazzQualifiers = tegg_1.QualifierUtil.getProtoQualifiers(clazz);
43
- for (const qualifier of qualifiers) {
44
- if (!this.verifyQualifier(clazzQualifiers, qualifier)) {
45
- return false;
46
- }
47
- }
48
- return true;
49
- }
50
- verifyQualifier(clazzQualifiers, qualifier) {
51
- const selfQualifiers = clazzQualifiers.find(t => t.attribute === qualifier.attribute);
52
- return (selfQualifiers === null || selfQualifiers === void 0 ? void 0 : selfQualifiers.value) === qualifier.value;
53
- }
54
- findImplementClazzList(objName, qualifiers, innerFind) {
55
- const moduleQualifier = qualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute);
56
- if (moduleQualifier && moduleQualifier.value !== this.name) {
57
- return [];
58
- }
59
- const clazzList = innerFind ? this.clazzList : this.getPublicClazzList();
60
- const implList = clazzList
61
- .filter(clazz => tegg_1.PrototypeUtil.getObjNames(clazz, {
62
- unitPath: this.moduleConfig.path,
63
- }).includes(objName))
64
- .filter(clazz => this.verifyQualifiers(clazz, qualifiers));
65
- if (implList.length === 1) {
66
- return implList;
67
- }
68
- const initTypeQualifiers = tegg_1.INIT_TYPE_TRY_ORDER.map(type => ({
69
- attribute: tegg_1.InitTypeQualifierAttribute,
70
- value: type,
71
- }));
72
- for (const initTypeQualifier of initTypeQualifiers) {
73
- const initTypeList = implList.filter(clazz => this.verifyQualifiers(clazz, [initTypeQualifier]));
74
- if (initTypeList.length === 1) {
75
- return initTypeList;
76
- }
77
- }
78
- return implList;
79
- }
80
- }
81
- exports.ModuleNode = ModuleNode;
82
- class StandaloneGraph {
83
- constructor() {
84
- this.graph = new tegg_common_util_1.Graph();
85
- }
86
- addNode(moduleNode) {
87
- if (!this.graph.addVertex(new tegg_common_util_1.GraphNode(moduleNode))) {
88
- throw new Error(`duplicate module: ${moduleNode}`);
89
- }
90
- }
91
- findDependencyModule(objName, properqualifiers, protoQualifiers) {
92
- var _a;
93
- const nodes = Array.from(this.graph.nodes.values());
94
- const hostModuleName = (_a = protoQualifiers.find(t => t.attribute === tegg_1.LoadUnitNameQualifierAttribute)) === null || _a === void 0 ? void 0 : _a.value;
95
- return nodes.filter(node => {
96
- // private 的类只能在当前 module 中被找到
97
- const clazzList = node.val.findImplementClazzList(objName, properqualifiers, hostModuleName === node.val.name);
98
- return clazzList.length;
99
- });
100
- }
101
- build() {
102
- for (const node of this.graph.nodes.values()) {
103
- for (const clazz of node.val.getClazzList()) {
104
- const injectObjects = tegg_1.PrototypeUtil.getInjectObjects(clazz);
105
- for (const injectObject of injectObjects) {
106
- const properqualifiers = tegg_1.QualifierUtil.getProperQualifiers(clazz, injectObject.refName);
107
- const protoQualifiers = tegg_1.QualifierUtil.getProtoQualifiers(clazz);
108
- const dependencyModules = this.findDependencyModule(injectObject.objName, properqualifiers, protoQualifiers);
109
- for (const moduleNode of dependencyModules) {
110
- if (node !== moduleNode) {
111
- this.graph.addEdge(node, moduleNode);
112
- }
113
- }
114
- }
115
- }
116
- }
117
- }
118
- sort() {
119
- const loopPath = this.graph.loopPath();
120
- if (loopPath) {
121
- throw new Error('module has recursive deps: ' + loopPath);
122
- }
123
- this.moduleConfigList = this.graph.sort().map(t => t.val.moduleConfig);
124
- }
125
- }
126
- exports.StandaloneGraph = StandaloneGraph;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhbmRhbG9uZUdyYXBoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1N0YW5kYWxvbmVHcmFwaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBQ3hCLDhEQUF5RTtBQUN6RSxzQ0FVcUI7QUFNckIsTUFBYSxVQUFVO0lBTXJCLDhCQUE4QjtJQUM5QixNQUFNLENBQUMsY0FBYyxDQUFDLFVBQWtCO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELDhEQUE4RDtRQUM5RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBQSxnQkFBTSxFQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsc0NBQXNDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsWUFBWSxZQUEwQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQXdCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG9CQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUNyRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJO1NBQ2pDLENBQUMsS0FBSyxrQkFBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBd0IsRUFBRSxVQUEyQjtRQUNwRSxNQUFNLGVBQWUsR0FBRyxvQkFBYSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDckQsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZSxDQUFDLGVBQWdDLEVBQUUsU0FBd0I7UUFDeEUsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sQ0FBQSxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsS0FBSyxNQUFLLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE9BQXlCLEVBQUUsVUFBMkIsRUFBRSxTQUFrQjtRQUMvRixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxxQ0FBOEIsQ0FBQyxDQUFDO1FBQzdGLElBQUksZUFBZSxJQUFJLGVBQWUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUMxRCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN6RSxNQUFNLFFBQVEsR0FBRyxTQUFTO2FBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLG9CQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUNoRCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJO1NBQ2pDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDcEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzdELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFDRCxNQUFNLGtCQUFrQixHQUFHLDBCQUFtQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUQsU0FBUyxFQUFFLGlDQUEwQjtZQUNyQyxLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0osS0FBSyxNQUFNLGlCQUFpQixJQUFJLGtCQUFrQixFQUFFO1lBQ2xELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUUsaUJBQWlCLENBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbkcsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxZQUFZLENBQUM7YUFDckI7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7Q0FDRjtBQWxGRCxnQ0FrRkM7QUFFRCxNQUFhLGVBQWU7SUFJMUI7UUFDRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksd0JBQUssRUFBYyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLENBQUMsVUFBc0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksNEJBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFO1lBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFVBQVUsRUFBRSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsT0FBeUIsRUFBRSxnQkFBaUMsRUFBRSxlQUFnQzs7UUFDekgsTUFBTSxLQUFLLEdBQWlDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNsRixNQUFNLGNBQWMsR0FBRyxNQUFBLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLHFDQUE4QixDQUFDLDBDQUFFLEtBQUssQ0FBQztRQUN4RyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekIsOEJBQThCO1lBQzlCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9HLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QyxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQzNDLE1BQU0sYUFBYSxHQUFHLG9CQUFhLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVELEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxFQUFFO29CQUN4QyxNQUFNLGdCQUFnQixHQUFHLG9CQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDeEYsTUFBTSxlQUFlLEdBQUcsb0JBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDaEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQztvQkFDN0csS0FBSyxNQUFNLFVBQVUsSUFBSSxpQkFBaUIsRUFBRTt3QkFDMUMsSUFBSSxJQUFJLEtBQUssVUFBVSxFQUFFOzRCQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7eUJBQ3RDO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLFFBQVEsRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsUUFBUSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRjtBQWpERCwwQ0FpREMifQ==