@bett3r-dev/pv3 1.1.7 → 3.0.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/libraries/deployment-units/computeMDUs.js +15 -15
  3. package/build/libraries/deployment-units/computeMDUs.js.map +1 -1
  4. package/build/libraries/deployment-units/computeMDUs.test.js +94 -4
  5. package/build/libraries/deployment-units/computeMDUs.test.js.map +1 -1
  6. package/build/libraries/deployment-units/types.d.ts +1 -1
  7. package/build/libraries/deployment-units/types.d.ts.map +1 -1
  8. package/build/libraries/eventsourcing/__tests__/vocabularyCensus.test.d.ts +2 -0
  9. package/build/libraries/eventsourcing/__tests__/vocabularyCensus.test.d.ts.map +1 -0
  10. package/build/libraries/eventsourcing/__tests__/vocabularyCensus.test.js +126 -0
  11. package/build/libraries/eventsourcing/__tests__/vocabularyCensus.test.js.map +1 -0
  12. package/build/libraries/eventsourcing/commandHandlers/index.d.ts.map +1 -1
  13. package/build/libraries/eventsourcing/commandHandlers/index.js +26 -22
  14. package/build/libraries/eventsourcing/commandHandlers/index.js.map +1 -1
  15. package/build/libraries/eventsourcing/index.d.ts.map +1 -1
  16. package/build/libraries/eventsourcing/index.js +7 -7
  17. package/build/libraries/eventsourcing/index.js.map +1 -1
  18. package/build/libraries/eventsourcing/utils/aggregateBuilder.js +2 -2
  19. package/build/libraries/eventsourcing/utils/aggregateBuilder.js.map +1 -1
  20. package/build/libraries/eventsourcing/utils/commandHandlerBase.d.ts +16 -0
  21. package/build/libraries/eventsourcing/utils/commandHandlerBase.d.ts.map +1 -0
  22. package/build/libraries/eventsourcing/utils/commandHandlerBase.js +46 -0
  23. package/build/libraries/eventsourcing/utils/commandHandlerBase.js.map +1 -0
  24. package/build/libraries/eventsourcing/utils/externalSystemBuilder.d.ts.map +1 -1
  25. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js +3 -32
  26. package/build/libraries/eventsourcing/utils/externalSystemBuilder.js.map +1 -1
  27. package/build/libraries/eventsourcing/utils/index.d.ts +2 -2
  28. package/build/libraries/eventsourcing/utils/index.d.ts.map +1 -1
  29. package/build/libraries/eventsourcing/utils/index.js +8 -9
  30. package/build/libraries/eventsourcing/utils/index.js.map +1 -1
  31. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts +3 -3
  32. package/build/libraries/eventsourcing/utils/policyBuilder.d.ts.map +1 -1
  33. package/build/libraries/eventsourcing/utils/policyBuilder.js.map +1 -1
  34. package/build/libraries/eventsourcing/utils/recorderBuilder.d.ts +9 -0
  35. package/build/libraries/eventsourcing/utils/recorderBuilder.d.ts.map +1 -0
  36. package/build/libraries/eventsourcing/utils/recorderBuilder.js +21 -0
  37. package/build/libraries/eventsourcing/utils/recorderBuilder.js.map +1 -0
  38. package/build/libraries/modules/selectiveLoader.d.ts.map +1 -1
  39. package/build/libraries/modules/selectiveLoader.js +27 -2
  40. package/build/libraries/modules/selectiveLoader.js.map +1 -1
  41. package/build/libraries/modules/selectiveLoader.test.js +113 -3
  42. package/build/libraries/modules/selectiveLoader.test.js.map +1 -1
  43. package/build/ports/endpoints/declarationSite.d.ts +2 -2
  44. package/build/ports/endpoints/index.js +1 -1
  45. package/build/ports/endpoints/index.js.map +1 -1
  46. package/build/ports/endpoints/openApi.js +2 -2
  47. package/build/ports/endpoints/openApi.js.map +1 -1
  48. package/build/ports/infrastructure/index.d.ts +1 -1
  49. package/build/ports/infrastructure/utils.js +1 -1
  50. package/build/ports/infrastructure/utils.js.map +1 -1
  51. package/build/utils/index.d.ts +4 -3
  52. package/build/utils/index.d.ts.map +1 -1
  53. package/build/utils/index.js +6 -4
  54. package/build/utils/index.js.map +1 -1
  55. package/package.json +4 -4
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandHandlerBase = void 0;
4
+ const _1 = require(".");
5
+ const commandBuilder_1 = require("./commandBuilder");
6
+ const change_case_1 = require("change-case");
7
+ /**
8
+ * Internal base shared by AggregateBuilder and RecorderBuilder. NOT
9
+ * re-exported from the utils barrel. Passing a `schema` makes the handler an aggregate (always
10
+ * keyed); omitting it yields a recorder, keyed only when `system.keyed` is set.
11
+ */
12
+ const CommandHandlerBase = (events, schema, system = {}) => {
13
+ const isAggregate = !!schema;
14
+ // An aggregate is always keyed.
15
+ const keyed = isAggregate || !!system.keyed;
16
+ const info = (0, _1.getStackTrace)();
17
+ const name = system.name || (0, change_case_1.pascalCase)(info.name);
18
+ system = { ...system, name, subdomain: system.subdomain || info.subdomain, filePath: info.filePath, artifactType: isAggregate ? 'aggregate' : info.artifactType, events, isAggregate, keyed };
19
+ system.isEventsourced = true;
20
+ const withCommandTemplate = (template) => {
21
+ system.templateCommand = template;
22
+ return builder;
23
+ };
24
+ /**
25
+ * This is the last function that builds the aggregate, the last function you'll call
26
+ */
27
+ const withCommands = (commands) => {
28
+ system.commands = commands({
29
+ commandBuilder: (0, commandBuilder_1.CommandBuilder)(system.templateCommand)
30
+ });
31
+ return system;
32
+ };
33
+ const withSubdomain = (subdomain) => {
34
+ system.subdomain = subdomain;
35
+ return builder;
36
+ };
37
+ const builder = {
38
+ system: system,
39
+ withCommandTemplate,
40
+ withSubdomain,
41
+ withCommands
42
+ };
43
+ return builder;
44
+ };
45
+ exports.CommandHandlerBase = CommandHandlerBase;
46
+ //# sourceMappingURL=commandHandlerBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandHandlerBase.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/commandHandlerBase.ts"],"names":[],"mappings":";;;AAEA,wBAAkC;AAClC,qDAAkD;AAClD,6CAAyC;AAEzC;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,CAA4F,MAAc,EAAE,MAA0B,EAAE,MAAM,GAAsB,EAAE,EAAE,EAAE;IAC1M,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,gCAAgC;IAChC,MAAM,KAAK,GAAG,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAA,wBAAU,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;IACpD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAc,CAAC;IAC1M,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,mBAAmB,GAAG,CAAE,QAAyB,EAAG,EAAE;QAC1D,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,CAGjB,QAEU,EAA+B,EAAE;QAC7C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,cAAc,EAAE,IAAA,+BAAc,EAAE,MAAM,CAAC,eAAe,CAAE;SACzD,CAAC,CAAC;QACH,OAAO,MAAkB,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAE,SAAiB,EAAG,EAAE;QAC5C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,MAAkB;QAC1B,mBAAmB;QACnB,aAAa;QACb,YAAY;KACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AA1CW,QAAA,kBAAkB,GAAlB,kBAAkB,CA0C7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"externalSystemBuilder.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAyD,YAAY,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK/I,eAAO,MAAM,8BAA8B,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,WAAW,UAAU,CAAC,KAAK,CAAC,WAAU,OAAO,CAAC,MAAM,CAAC,KAAQ,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAEjR,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,WAAW,UAAU,CAAC,KAAK,CAAC,WAAU,OAAO,CAAC,MAAM,CAAC,KAAQ,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAwClQ,CAAC"}
1
+ {"version":3,"file":"externalSystemBuilder.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGxF,eAAO,MAAM,8BAA8B,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,QAAQ,KAAK,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,WAAW,UAAU,CAAC,KAAK,CAAC,WAAU,OAAO,CAAC,MAAM,CAAC,KAAQ,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAEjR,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,WAAW,UAAU,CAAC,KAAK,CAAC,WAAU,OAAO,CAAC,MAAM,CAAC,KAAQ,yBAAyB,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAGlQ,CAAC"}
@@ -1,43 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExternalSystemBuilder = exports._internalExternalSystemBuilder = void 0;
4
- const _1 = require(".");
5
- const commandBuilder_1 = require("./commandBuilder");
6
- const change_case_1 = require("change-case");
4
+ const commandHandlerBase_1 = require("./commandHandlerBase");
7
5
  const _internalExternalSystemBuilder = () => (events, schema, system = {}) => {
8
6
  return (0, exports.ExternalSystemBuilder)(events, schema, system);
9
7
  };
10
8
  exports._internalExternalSystemBuilder = _internalExternalSystemBuilder;
11
9
  const ExternalSystemBuilder = (events, schema, system = {}) => {
12
- const isAggregate = !!schema;
13
- const info = (0, _1.getStackTrace)();
14
- const name = system.name || (0, change_case_1.pascalCase)(info.name);
15
- system = { ...system, name, subdomain: system.subdomain || info.subdomain, filePath: info.filePath, artifactType: isAggregate ? 'aggregate' : info.artifactType, events, isAggregate, isStreamable: isAggregate || system.isStreamable };
16
- system.isEventsourced = true;
17
- const withCommandTemplate = (template) => {
18
- system.templateCommand = template;
19
- return builder;
20
- };
21
- /**
22
- * This is the last function that builds the aggregate, the last function you'll call
23
- */
24
- const withCommands = (commands) => {
25
- system.commands = commands({
26
- commandBuilder: (0, commandBuilder_1.CommandBuilder)(system.templateCommand)
27
- });
28
- return system;
29
- };
30
- const withSubdomain = (subdomain) => {
31
- system.subdomain = subdomain;
32
- return builder;
33
- };
34
- const builder = {
35
- system: system,
36
- withCommandTemplate,
37
- withSubdomain,
38
- withCommands
39
- };
40
- return builder;
10
+ // `isStreamable` is this builder's name for `keyed`, so both builders take the same path.
11
+ return (0, commandHandlerBase_1.CommandHandlerBase)(events, undefined, { ...system, keyed: system.keyed ?? system.isStreamable });
41
12
  };
42
13
  exports.ExternalSystemBuilder = ExternalSystemBuilder;
43
14
  //# sourceMappingURL=externalSystemBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"externalSystemBuilder.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":";;;AAEA,wBAAkC;AAClC,qDAAkD;AAClD,6CAAyC;AAElC,MAAM,8BAA8B,GAAG,GAA+B,EAAE,CAAC,CAAgE,MAAc,EAAE,MAA0B,EAAE,MAAM,GAAoB,EAAE,EAA4D,EAAE;IACpR,OAAO,IAAA,QAAA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,8BAA8B,GAA9B,8BAA8B,CAEzC;AAEK,MAAM,qBAAqB,GAAG,CAA4F,MAAc,EAAE,MAA0B,EAAE,MAAM,GAAoB,EAAE,EAA4D,EAAE;IACrQ,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAA,wBAAU,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;IACpD,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,MAAM,CAAC,YAAY,EAAY,CAAC;IACnP,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,mBAAmB,GAAG,CAAE,QAAyB,EAAG,EAAE;QAC1D,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC;QAClC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,YAAY,GAAG,CAGjB,QAEU,EAA6B,EAAE;QAC3C,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,cAAc,EAAE,IAAA,+BAAc,EAAE,MAAM,CAAC,eAAe,CAAE;SACzD,CAAC,CAAC;QACH,OAAO,MAAgB,CAAC;IAC1B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAE,SAAiB,EAAG,EAAE;QAC5C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,MAAgB;QACxB,mBAAmB;QACnB,aAAa;QACb,YAAY;KACb,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAxCW,QAAA,qBAAqB,GAArB,qBAAqB,CAwChC"}
1
+ {"version":3,"file":"externalSystemBuilder.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/externalSystemBuilder.ts"],"names":[],"mappings":";;;AAEA,6DAA0D;AAEnD,MAAM,8BAA8B,GAAG,GAA+B,EAAE,CAAC,CAAgE,MAAc,EAAE,MAA0B,EAAE,MAAM,GAAoB,EAAE,EAA4D,EAAE;IACpR,OAAO,IAAA,QAAA,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAE,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,8BAA8B,GAA9B,8BAA8B,CAEzC;AAEK,MAAM,qBAAqB,GAAG,CAA4F,MAAc,EAAE,MAA0B,EAAE,MAAM,GAAoB,EAAE,EAA4D,EAAE;IACrQ,0FAA0F;IAC1F,OAAO,IAAA,uCAAkB,EAAiC,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;AAC1I,CAAC,CAAC;AAHW,QAAA,qBAAqB,GAArB,qBAAqB,CAGhC"}
@@ -1,8 +1,8 @@
1
1
  export * from './aggregateBuilder';
2
2
  export * from './commandBuilder';
3
- export * from './externalSystemBuilder';
4
3
  export * from './policyBuilder';
5
4
  export * from './readmodelBuilder';
5
+ export * from './recorderBuilder';
6
6
  export declare const formatStream: import("Function/Curry").Curry<(aggreateOrSystem: string, id: string) => string>;
7
7
  export declare const EXTERNAL_STREAM_FANOUT_BUCKETS = 4096;
8
8
  export declare const randomStreamSuffix: () => string;
@@ -11,7 +11,7 @@ export declare const extractIdFromEventStream: (event: {
11
11
  stream: string;
12
12
  }) => string;
13
13
  export declare const existsPath: (path: string[], obj: any) => any;
14
- export type ArtifactType = 'aggregate' | 'readmodel' | 'policy' | 'externalSystem';
14
+ export type ArtifactType = 'aggregate' | 'readmodel' | 'policy' | 'recorder';
15
15
  export type ArtifactInfo = {
16
16
  name: string;
17
17
  subdomain?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAEnC,eAAO,MAAM,YAAY,oDAA4B,MAAM,MAAM,MAAM,YAAkG,CAAC;AAM1K,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAMnD,eAAO,MAAM,kBAAkB,cAG9B,CAAC;AACF,eAAO,MAAM,eAAe,WAAa,MAAM,WAA+C,CAAC;AAC/F,eAAO,MAAM,wBAAwB,UAAY;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,WAAoC,CAAC;AAExG,eAAO,MAAM,UAAU,SAAW,MAAM,EAAE,OAAO,GAAG,QAQnD,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAEnF,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AAUF,eAAO,MAAM,aAAa,QAAO,YAehC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/index.ts"],"names":[],"mappings":"AAKA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,YAAY,oDAA4B,MAAM,MAAM,MAAM,YAAkG,CAAC;AAM1K,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAMnD,eAAO,MAAM,kBAAkB,cAG9B,CAAC;AACF,eAAO,MAAM,eAAe,WAAa,MAAM,WAA+C,CAAC;AAC/F,eAAO,MAAM,wBAAwB,UAAY;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,WAAoC,CAAC;AAExG,eAAO,MAAM,UAAU,SAAW,MAAM,EAAE,OAAO,GAAG,QAQnD,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;CAC5B,CAAC;AASF,eAAO,MAAM,aAAa,QAAO,YAehC,CAAC"}
@@ -24,16 +24,16 @@ const ramda_1 = require("ramda");
24
24
  const modulePath_1 = require("../../modulePath");
25
25
  __exportStar(require("./aggregateBuilder"), exports);
26
26
  __exportStar(require("./commandBuilder"), exports);
27
- __exportStar(require("./externalSystemBuilder"), exports);
28
27
  __exportStar(require("./policyBuilder"), exports);
29
28
  __exportStar(require("./readmodelBuilder"), exports);
29
+ __exportStar(require("./recorderBuilder"), exports);
30
30
  exports.formatStream = (0, ramda_1.curry)((aggreateOrSystem, id) => `${aggreateOrSystem[0].toUpperCase()}${aggreateOrSystem.slice(1)}${id ? `-${id}` : ''}`);
31
- // Bounded random space for external-system fan-out stream ids. Distinct stream
31
+ // Bounded random space for recorder fan-out stream ids. Distinct stream
32
32
  // values spread events across data splits (md5(stream)→jumpConsistentHash), so
33
- // non-streamable systems are no longer pinned to one consumer. Tunable; any
33
+ // non-keyed recorders are no longer pinned to one consumer. Tunable; any
34
34
  // value ≫ splitCount saturates all splits.
35
35
  exports.EXTERNAL_STREAM_FANOUT_BUCKETS = 4096;
36
- // Random fan-out token appended to a non-streamable/non-aggregate system stream
36
+ // Random fan-out token appended to a non-keyed recorder stream
37
37
  // when no grouping id is supplied. The `_rand` suffix marks this as a random
38
38
  // fan-out token, NOT a real entity id. Collisions are acceptable: these events
39
39
  // are null-version (order-free) → no optimistic-concurrency check on the stream.
@@ -63,13 +63,12 @@ exports.existsPath = existsPath;
63
63
  const artifactTypeMap = {
64
64
  readmodel: 'readmodel',
65
65
  aggregate: 'aggregate',
66
- system: 'externalSystem',
67
- externalSystem: 'externalSystem',
66
+ recorder: 'recorder',
68
67
  policy: 'policy'
69
68
  };
70
69
  const getStackTrace = () => {
71
70
  const e = Error('ReadmodelBuilder');
72
- let line = e.stack?.split('\n').find((l) => /\.(readmodel|aggregate|system|externalSystem|policy)\.(t|j)s:/.test(l));
71
+ let line = e.stack?.split('\n').find((l) => /\.(readmodel|aggregate|recorder|policy)\.(t|j)s:/.test(l));
73
72
  if (!line) {
74
73
  line = e.stack?.split('\n').find(l => l.includes('__tests__'));
75
74
  }
@@ -80,8 +79,8 @@ const getStackTrace = () => {
80
79
  const f = path_1.default.basename(file);
81
80
  const name = f.replace(/\..+$/, '');
82
81
  const subdomain = (0, modulePath_1.moduleFromPath)(file);
83
- const artifactTypeMatch = f.match(/\.(readmodel|aggregate|system|externalSystem|policy)\.(t|j)s$/);
84
- const artifactType = artifactTypeMatch ? (artifactTypeMap[artifactTypeMatch[1]] || 'externalSystem') : 'externalSystem';
82
+ const artifactTypeMatch = f.match(/\.(readmodel|aggregate|recorder|policy)\.(t|j)s$/);
83
+ const artifactType = artifactTypeMatch ? (artifactTypeMap[artifactTypeMatch[1]] || 'recorder') : 'recorder';
85
84
  return { name, subdomain, filePath, artifactType };
86
85
  };
87
86
  exports.getStackTrace = getStackTrace;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EventFactory, Policy, PolicyBuilderType, System } from '@bett3r-dev/pv3-types';
2
- export declare const _internalPolicyBuilder: () => <EVENTS extends Record<string, EventFactory>, CommandHandler extends System>(events: EVENTS, commandHandler?: CommandHandler, policy?: Policy) => PolicyBuilderType<CommandHandler, EVENTS>;
3
- export declare const PolicyBuilder: <EVENTS extends Record<string, EventFactory>, CommandHandler extends System>(events: EVENTS, commandHandler?: CommandHandler, policy?: Policy) => PolicyBuilderType<CommandHandler, EVENTS>;
1
+ import { EventFactory, Policy, PolicyBuilderType, Recorder } from '@bett3r-dev/pv3-types';
2
+ export declare const _internalPolicyBuilder: () => <EVENTS extends Record<string, EventFactory>, CommandHandler extends Recorder>(events: EVENTS, commandHandler?: CommandHandler, policy?: Policy) => PolicyBuilderType<CommandHandler, EVENTS>;
3
+ export declare const PolicyBuilder: <EVENTS extends Record<string, EventFactory>, CommandHandler extends Recorder>(events: EVENTS, commandHandler?: CommandHandler, policy?: Policy) => PolicyBuilderType<CommandHandler, EVENTS>;
4
4
  //# sourceMappingURL=policyBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"policyBuilder.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/policyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAkB,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAiB,MAAM,uBAAuB,CAAC;AAKxJ,eAAO,MAAM,sBAAsB,SAAU,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,SAAS,MAAM,UAAW,MAAM,mBAAmB,cAAc,WAAiB,MAAM,8CAE/L,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,SAAS,MAAM,UAAW,MAAM,mBAAmB,cAAc,WAAiB,MAAM,KAAI,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAgD5N,CAAC"}
1
+ {"version":3,"file":"policyBuilder.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/policyBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,YAAY,EAAkB,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAiB,MAAM,uBAAuB,CAAC;AAK1J,eAAO,MAAM,sBAAsB,SAAU,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,SAAS,QAAQ,UAAW,MAAM,mBAAmB,cAAc,WAAiB,MAAM,8CAEjM,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,cAAc,SAAS,QAAQ,UAAW,MAAM,mBAAmB,cAAc,WAAiB,MAAM,KAAI,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAgD9N,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"policyBuilder.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/policyBuilder.ts"],"names":[],"mappings":";;;AAAA,qDAAwJ;AACxJ,6CAAyC;AACzC,wBAAkC;AAClC,+DAA4D;AAErD,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,CAA8E,MAAc,EAAE,cAA+B,EAAE,MAAM,GAAG,EAAY,EAAG,EAAE;IACnM,OAAO,IAAA,QAAA,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAE,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,sBAAsB,GAAtB,sBAAsB,CAEjC;AAEK,MAAM,aAAa,GAAG,CAA8E,MAAc,EAAE,cAA+B,EAAE,MAAM,GAAG,EAAY,EAA8C,EAAE;IAC/N,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAG,IAAA,yCAAmB,EAA0C,MAAM,CAAE,CAAC;IAC3G,MAAM,GAAG,YAA8C,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,GAAG,IAAA,wBAAU,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;IACtC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IAEvC,MAAM,iBAAiB,GAAG,CAAE,QAE3B,EAAE,EAAE;QACH,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,aAAa,EAAE,IAAA,yBAAa,EAAkB,cAAgC,CAAE;SACjF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAE,SAAiB,EAAG,EAAE;QAC5C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAE,GAAG,cAAwB,EAAE,EAAE;QAChD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAwC,CAAC;IAE7D,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO;QACV,iBAAiB;QACjB,aAAa;QACb,QAAQ;QACR,UAAU;QACV,YAAY,EAAE,MAAM;QACpB,KAAK;KACN,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAhDW,QAAA,aAAa,GAAb,aAAa,CAgDxB"}
1
+ {"version":3,"file":"policyBuilder.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/policyBuilder.ts"],"names":[],"mappings":";;;AAAA,qDAA0J;AAC1J,6CAAyC;AACzC,wBAAkC;AAClC,+DAA4D;AAErD,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,CAAgF,MAAc,EAAE,cAA+B,EAAE,MAAM,GAAG,EAAY,EAAG,EAAE;IACrM,OAAO,IAAA,QAAA,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAE,CAAC;AACzD,CAAC,CAAC;AAFW,QAAA,sBAAsB,GAAtB,sBAAsB,CAEjC;AAEK,MAAM,aAAa,GAAG,CAAgF,MAAc,EAAE,cAA+B,EAAE,MAAM,GAAG,EAAY,EAA8C,EAAE;IACjO,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAG,IAAA,yCAAmB,EAA0C,MAAM,CAAE,CAAC;IAC3G,MAAM,GAAG,YAA8C,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,gBAAa,GAAE,CAAC;IAC7B,MAAM,CAAC,IAAI,GAAG,IAAA,wBAAU,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;IACtC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;IACtD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IAEvC,MAAM,iBAAiB,GAAG,CAAE,QAE3B,EAAE,EAAE;QACH,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,aAAa,EAAE,IAAA,yBAAa,EAAkB,cAAgC,CAAE;SACjF,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAE,SAAiB,EAAG,EAAE;QAC5C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAE,GAAG,cAAwB,EAAE,EAAE;QAChD,MAAM,CAAC,QAAQ,GAAG,cAAc,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,MAAwC,CAAC;IAE7D,MAAM,QAAQ,GAAG;QACf,GAAG,OAAO;QACV,iBAAiB;QACjB,aAAa;QACb,QAAQ;QACR,UAAU;QACV,YAAY,EAAE,MAAM;QACpB,KAAK;KACN,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAhDW,QAAA,aAAa,GAAb,aAAa,CAgDxB"}
@@ -0,0 +1,9 @@
1
+ import { EventFactory, RecorderBuilderType, RecorderOptions } from '@bett3r-dev/pv3-types';
2
+ /** The `ports.eventsourcing.RecorderBuilder` binding: a RecorderBuilder typed with the service's METADATA and USER. */
3
+ export declare const _internalRecorderBuilder: <METADATA = any, USER = any>() => <EVENTS extends Record<string, EventFactory> = any>(events: EVENTS, options?: RecorderOptions) => RecorderBuilderType<METADATA, USER, EVENTS>;
4
+ /**
5
+ * Builds a recorder: a stateless command handler that loads no state and records its events at
6
+ * `version = null`. It takes no schema, so it can never become an aggregate.
7
+ */
8
+ export declare const RecorderBuilder: <METADATA = any, USER = any, EVENTS extends Record<string, EventFactory> = any>(events: EVENTS, options?: RecorderOptions) => RecorderBuilderType<METADATA, USER, EVENTS>;
9
+ //# sourceMappingURL=recorderBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorderBuilder.d.ts","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/recorderBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG3F,uHAAuH;AACvH,eAAO,MAAM,wBAAwB,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,YAAW,eAAe,KAAQ,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAEtN,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAC,GAAG,UAAW,MAAM,YAAW,eAAe,KAAQ,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAKvM,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecorderBuilder = exports._internalRecorderBuilder = void 0;
4
+ const commandHandlerBase_1 = require("./commandHandlerBase");
5
+ /** The `ports.eventsourcing.RecorderBuilder` binding: a RecorderBuilder typed with the service's METADATA and USER. */
6
+ const _internalRecorderBuilder = () => (events, options = {}) => {
7
+ return (0, exports.RecorderBuilder)(events, options);
8
+ };
9
+ exports._internalRecorderBuilder = _internalRecorderBuilder;
10
+ /**
11
+ * Builds a recorder: a stateless command handler that loads no state and records its events at
12
+ * `version = null`. It takes no schema, so it can never become an aggregate.
13
+ */
14
+ const RecorderBuilder = (events, options = {}) => {
15
+ const builder = (0, commandHandlerBase_1.CommandHandlerBase)(events, undefined, options);
16
+ // The builder, not the file suffix, makes it a recorder: routes and endpoint types key on this.
17
+ builder.system.artifactType = 'recorder';
18
+ return builder;
19
+ };
20
+ exports.RecorderBuilder = RecorderBuilder;
21
+ //# sourceMappingURL=recorderBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recorderBuilder.js","sourceRoot":"","sources":["../../../../src/libraries/eventsourcing/utils/recorderBuilder.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,uHAAuH;AAChH,MAAM,wBAAwB,GAAG,GAA+B,EAAE,CAAC,CAAmD,MAAc,EAAE,OAAO,GAAoB,EAAE,EAA+C,EAAE;IACzN,OAAO,IAAA,QAAA,eAAe,EAA0B,MAAM,EAAE,OAAO,CAAE,CAAC;AACpE,CAAC,CAAC;AAFW,QAAA,wBAAwB,GAAxB,wBAAwB,CAEnC;AAEF;;;GAGG;AACI,MAAM,eAAe,GAAG,CAA+E,MAAc,EAAE,OAAO,GAAoB,EAAE,EAA+C,EAAE;IAC1M,MAAM,OAAO,GAAG,IAAA,uCAAkB,EAAmC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAE,CAAC;IAClG,gGAAgG;IAChG,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AALW,QAAA,eAAe,GAAf,eAAe,CAK1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectiveLoader.d.ts","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAgBxF,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA+EF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,EAChD,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CA6Gf"}
1
+ {"version":3,"file":"selectiveLoader.d.ts","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AA0CxF,KAAK,oBAAoB,GAAG;IAC1B,aAAa,EAAE,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,GAAG,mBAAmB,CAAC,CAAC;IAC3F,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,0GAA0G;IAC1G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA+EF,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,EAChD,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,IAAI,CAAC,CAgHf"}
@@ -13,6 +13,28 @@ const scopedPortsView_1 = require("./scopedPortsView");
13
13
  const MANIFEST_SOURCE_ROOT = 'src';
14
14
  /** Extensions a manifest-declared artifact can have materialised as at runtime. */
15
15
  const RUNTIME_EXTENSIONS = ['.ts', '.js'];
16
+ /** A Record, so a type added to `ArtifactEntry` fails to compile until it is listed here. */
17
+ const KNOWN_ARTIFACT_TYPES = {
18
+ aggregate: true,
19
+ recorder: true,
20
+ readmodel: true,
21
+ policy: true,
22
+ endpoint: true
23
+ };
24
+ /**
25
+ * Refuses a manifest naming an artifact type the loader cannot route (a stale
26
+ * externalSystem entry, say) before any setup runs or any factory is
27
+ * imported. Without it the factory would run and nothing would be routed, so
28
+ * the pod would boot without that artifact's handlers, silently.
29
+ */
30
+ const assertKnownArtifactTypes = (units) => {
31
+ for (const artifact of units.flatMap(u => u.artifacts)) {
32
+ if (!Object.prototype.hasOwnProperty.call(KNOWN_ARTIFACT_TYPES, artifact.type)) {
33
+ throw new Error(`Unknown artifact type "${artifact.type}" for ${artifact.name} (${artifact.filePath}). `
34
+ + 'Manifest is stale. Run --generateDeploymentUnits');
35
+ }
36
+ }
37
+ };
16
38
  function matchLiftPatterns(patterns, units) {
17
39
  const unitIds = Object.keys(units);
18
40
  const matched = new Set();
@@ -95,6 +117,7 @@ async function loadFromManifest(servicePath, liftPatterns, ports, options = {})
95
117
  const manifestContent = await promises_1.default.readFile(manifestPath, 'utf-8');
96
118
  const manifest = JSON.parse(manifestContent);
97
119
  const matchedUnits = matchLiftPatterns(liftPatterns, manifest.units);
120
+ assertKnownArtifactTypes(matchedUnits);
98
121
  // Whose setup.ts to run comes from where the artifacts live, not from the
99
122
  // unit's single label: a cross-module merge (`batch-processes:BatchProcesses`
100
123
  // spans batch-processes, items-publishing and systems-integrations) carries
@@ -140,7 +163,7 @@ async function loadFromManifest(servicePath, liftPatterns, ports, options = {})
140
163
  const candidates = Object.entries(mod)
141
164
  .filter(([, v]) => typeof v === 'function')
142
165
  .filter(([k]) => k !== 'default' && k !== '__esModule');
143
- const match = candidates.find(([k]) => k.toLowerCase().includes(normalizedName.replace(/aggregate$|readmodel$|policy$|system$/, '')));
166
+ const match = candidates.find(([k]) => k.toLowerCase().includes(normalizedName.replace(/aggregate$|readmodel$|policy$|recorder$/, '')));
144
167
  if (match) {
145
168
  factory = match[1];
146
169
  }
@@ -152,7 +175,9 @@ async function loadFromManifest(servicePath, liftPatterns, ports, options = {})
152
175
  // Several registration functions are `async`; without the await the
153
176
  // unresolved promise is routed and the artifact races the rest of boot.
154
177
  const instance = await factory(scopedPorts);
155
- if (artifact.type === 'aggregate' || artifact.type === 'externalSystem') {
178
+ // An endpoint routes nothing here: its factory registered its own routes
179
+ // when it ran above. Every other type was checked by `assertKnownArtifactTypes`.
180
+ if (artifact.type === 'aggregate' || artifact.type === 'recorder') {
156
181
  eventsourcing.routeCommandHandler(instance);
157
182
  }
158
183
  else if (artifact.type === 'readmodel' || artifact.type === 'policy') {
@@ -1 +1 @@
1
- {"version":3,"file":"selectiveLoader.js","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectiveLoader.js","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ /** The pre-recorder artifact type (TV1-2495), fed as stale input. Built from parts so concern C2's grep stays clean. */
7
+ const LEGACY_TYPE = ['external', 'System'].join('');
6
8
  // ---------------------------------------------------------------------------
7
9
  // We need to test matchLiftPatterns which is not exported directly.
8
10
  // Extract it by importing the module and testing through loadFromManifest,
@@ -418,9 +420,9 @@ const MERGED_UNIT_MANIFEST = buildManifest({
418
420
  },
419
421
  {
420
422
  name: 'SystemsIntegrationsElement',
421
- type: 'externalSystem',
422
- filePath: 'src/modules/systems-integrations/systemsIntegrationsElement.system.ts',
423
- exportName: 'SystemsIntegrationsElementSystem'
423
+ type: 'recorder',
424
+ filePath: 'src/modules/systems-integrations/systemsIntegrationsElement.recorder.ts',
425
+ exportName: 'SystemsIntegrationsElementRecorder'
424
426
  }
425
427
  ]
426
428
  })
@@ -468,4 +470,112 @@ describe('selectiveLoader — setup resolution across a merged unit', () => {
468
470
  expect(setups.some(p => p.includes('/src/'))).toBe(false);
469
471
  });
470
472
  });
473
+ // ---------------------------------------------------------------------------
474
+ // Routing by artifact type.
475
+ //
476
+ // The manifest's `type` decides how an artifact's instance is routed. A type
477
+ // the loader does not know must fail the boot: importing the factory and
478
+ // routing nothing would bring a lifted pod up without that artifact's
479
+ // commands or subscriptions, silently. The pre-recorder externalSystem is such a type since
480
+ // the recorder rename — a manifest still carrying it is stale.
481
+ // ---------------------------------------------------------------------------
482
+ const SYSTEMS_INTEGRATIONS_UNIT = 'systems-integrations:SystemsIntegrationsElement';
483
+ // Written as raw JSON rather than through `DeploymentUnit`: a stale manifest is
484
+ // exactly the file whose `type` the current union no longer admits.
485
+ const manifestWithArtifact = (artifact) => ({
486
+ version: '1.0',
487
+ generatedAt: '2026-01-01T00:00:00.000Z',
488
+ service: 'test-service',
489
+ units: {
490
+ [SYSTEMS_INTEGRATIONS_UNIT]: { type: 'command-group', module: 'systems-integrations', artifacts: [artifact] }
491
+ },
492
+ merges: []
493
+ });
494
+ describe('selectiveLoader — routing by artifact type', () => {
495
+ const instance = { name: 'SystemsIntegrationsElement' };
496
+ const factory = jest.fn().mockReturnValue(instance);
497
+ beforeEach(() => {
498
+ jest.clearAllMocks();
499
+ jest.resetModules();
500
+ mockRequireModule.mockReset();
501
+ mockedFs.access.mockResolvedValue(undefined);
502
+ mockRequireModule.mockImplementation((specifier) => {
503
+ if (specifier.endsWith('/setup'))
504
+ return {};
505
+ return { SystemsIntegrationsElementRecorder: factory, SystemsIntegrationsElementSystem: factory, registerWebhooks: factory };
506
+ });
507
+ });
508
+ const makePorts = () => ({
509
+ eventsourcing: { routeCommandHandler: jest.fn(), routeEventHandler: jest.fn() },
510
+ logger: { createLoggerInstance: jest.fn().mockReturnValue({}) }
511
+ });
512
+ it('routes a recorder entry as a command handler with the factory\'s instance', async () => {
513
+ mockedFs.readFile.mockResolvedValue(JSON.stringify(manifestWithArtifact({
514
+ name: 'SystemsIntegrationsElement',
515
+ type: 'recorder',
516
+ filePath: 'src/modules/systems-integrations/systemsIntegrationsElement.recorder.ts',
517
+ exportName: 'SystemsIntegrationsElementRecorder'
518
+ })));
519
+ const ports = makePorts();
520
+ await (0, selectiveLoader_1.loadFromManifest)(SERVICE_PATH, [SYSTEMS_INTEGRATIONS_UNIT], ports);
521
+ expect(ports.eventsourcing.routeCommandHandler).toHaveBeenCalledTimes(1);
522
+ expect(ports.eventsourcing.routeCommandHandler.mock.calls[0][0]).toBe(instance);
523
+ expect(ports.eventsourcing.routeEventHandler).not.toHaveBeenCalled();
524
+ });
525
+ it('falls back to a legacy *System export for a recorder entry and routes it as a command handler', async () => {
526
+ // GIVEN a recorder entry whose module still exports only the pre-rename name
527
+ const legacyInstance = { name: 'SystemsIntegrationsElementLegacy' };
528
+ const legacyFactory = jest.fn().mockReturnValue(legacyInstance);
529
+ mockRequireModule.mockImplementation((specifier) => {
530
+ if (specifier.endsWith('/setup'))
531
+ return {};
532
+ return { SystemsIntegrationsElementSystem: legacyFactory };
533
+ });
534
+ mockedFs.readFile.mockResolvedValue(JSON.stringify(manifestWithArtifact({
535
+ name: 'SystemsIntegrationsElement',
536
+ type: 'recorder',
537
+ filePath: 'src/modules/systems-integrations/systemsIntegrationsElement.recorder.ts',
538
+ exportName: 'SystemsIntegrationsElementRecorder'
539
+ })));
540
+ const ports = makePorts();
541
+ // WHEN
542
+ await (0, selectiveLoader_1.loadFromManifest)(SERVICE_PATH, [SYSTEMS_INTEGRATIONS_UNIT], ports);
543
+ // THEN the `recorder$` suffix is stripped and the legacy export matches
544
+ expect(legacyFactory).toHaveBeenCalledTimes(1);
545
+ expect(ports.eventsourcing.routeCommandHandler).toHaveBeenCalledTimes(1);
546
+ expect(ports.eventsourcing.routeCommandHandler.mock.calls[0][0]).toBe(legacyInstance);
547
+ expect(ports.eventsourcing.routeEventHandler).not.toHaveBeenCalled();
548
+ });
549
+ it('throws on a stale externalSystem entry, naming the type and the artifact, and routes nothing', async () => {
550
+ mockedFs.readFile.mockResolvedValue(JSON.stringify(manifestWithArtifact({
551
+ name: 'SystemsIntegrationsElement',
552
+ type: LEGACY_TYPE,
553
+ filePath: 'src/modules/systems-integrations/systemsIntegrationsElement.system.ts',
554
+ exportName: 'SystemsIntegrationsElementSystem'
555
+ })));
556
+ const ports = makePorts();
557
+ await expect((0, selectiveLoader_1.loadFromManifest)(SERVICE_PATH, [SYSTEMS_INTEGRATIONS_UNIT], ports))
558
+ .rejects.toThrow(`Unknown artifact type "${LEGACY_TYPE}" for SystemsIntegrationsElement `
559
+ + '(src/modules/systems-integrations/systemsIntegrationsElement.system.ts). '
560
+ + 'Manifest is stale. Run --generateDeploymentUnits');
561
+ expect(ports.eventsourcing.routeCommandHandler).not.toHaveBeenCalled();
562
+ expect(ports.eventsourcing.routeEventHandler).not.toHaveBeenCalled();
563
+ // Refused before anything is imported: no setup, no artifact module.
564
+ expect(mockRequireModule).not.toHaveBeenCalled();
565
+ expect(factory).not.toHaveBeenCalled();
566
+ });
567
+ it('runs an endpoint entry\'s factory and routes nothing, without throwing', async () => {
568
+ mockedFs.readFile.mockResolvedValue(JSON.stringify(manifestWithArtifact({
569
+ name: 'Systems Integrations Webhooks',
570
+ type: 'endpoint',
571
+ filePath: 'src/modules/systems-integrations/systemsIntegrations.endpoints.ts',
572
+ exportName: 'registerWebhooks'
573
+ })));
574
+ const ports = makePorts();
575
+ await (0, selectiveLoader_1.loadFromManifest)(SERVICE_PATH, [SYSTEMS_INTEGRATIONS_UNIT], ports);
576
+ expect(factory).toHaveBeenCalledTimes(1);
577
+ expect(ports.eventsourcing.routeCommandHandler).not.toHaveBeenCalled();
578
+ expect(ports.eventsourcing.routeEventHandler).not.toHaveBeenCalled();
579
+ });
580
+ });
471
581
  //# sourceMappingURL=selectiveLoader.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectiveLoader.test.js","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectiveLoader.test.js","sourceRoot":"","sources":["../../../src/libraries/modules/selectiveLoader.test.ts"],"names":[],"mappings":";;;;;AAEA,wHAAwH;AACxH,MAAM,WAAW,GAAG,CAAE,UAAU,EAAE,QAAQ,CAAE,CAAC,IAAI,CAAE,EAAE,CAAE,CAAC;AAExD,8EAA8E;AAC9E,oEAAoE;AACpE,2EAA2E;AAC3E,2CAA2C;AAC3C,uEAAuE;AACvE,sDAAsD;AACtD,6EAA6E;AAC7E,wEAAwE;AACxE,oEAAoE;AACpE,8EAA8E;AAE9E,8EAA8E;AAC9E,IAAI,CAAC,IAAI,CAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;CACpB,CAAC,CAAC,CAAC;AAEJ,iFAAiF;AACjF,kFAAkF;AAClF,+EAA+E;AAC/E,8BAA8B;AAC9B,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAEpC,IAAI,CAAC,IAAI,CAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,GAAG,IAAI,CAAC,aAAa,CAAE,QAAQ,CAAE;IACjC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAE,SAAiB,EAAG,EAAE,CAAC,iBAAiB,CAAE,SAAS,CAAE,CAAC;CACtF,CAAC,CAAC,CAAC;AAEJ,2DAA6B;AAC7B,uDAAqD;AAErD,MAAM,QAAQ,GAAG,kBAA4B,CAAC;AAE9C,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,QAAQ,GAAG,CAAE,SAAuD,EAAkB,EAAE,CAAC,CAAC;IAC9F,IAAI,EAAE,eAAe;IACrB,SAAS,EAAE,EAAE;IACb,GAAG,SAAS;CACb,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAE,KAAqC,EAAG,EAAE,CAAC,CAAC;IAClE,OAAO,EAAE,KAAc;IACvB,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,cAAc;IACvB,KAAK;IACL,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,aAAa,CAAC;IACxC,uBAAuB,EAAE,QAAQ,CAAC;QAChC,MAAM,EAAE,OAAO;QACf,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,uCAAuC,EAAE,UAAU,EAAE,iBAAiB,EAAE;SACjI;KACF,CAAC;IACF,uBAAuB,EAAE,QAAQ,CAAC;QAChC,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,uCAAuC,EAAE,UAAU,EAAE,iBAAiB,EAAE;SACjI;KACF,CAAC;IACF,qCAAqC,EAAE,QAAQ,CAAC;QAC9C,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,qDAAqD,EAAE,UAAU,EAAE,0BAA0B,EAAE;SACjK;KACF,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,4BAA4B,CAAC;AAElD,8EAA8E;AAC9E,qEAAqE;AACrE,8EAA8E;AAE9E,MAAM,UAAU,GAAG,CAAE,QAAQ,GAAG,mBAAmB,EAAG,EAAE;IACtD,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAE,SAAS,CAAE,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,QAAQ,CAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,QAAQ,CAAE,oCAAoC,EAAE,GAAG,EAAE;IACnD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,4CAA4C;IAC5C,4EAA4E;IAC5E,QAAQ,CAAE,6BAA6B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAE,mDAAmD,EAAE,KAAK,IAAI,EAAE;YAClE,UAAU,EAAE,CAAC;YAEb,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE3D,yDAAyD;YACzD,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAElD,gDAAgD;YAChD,mEAAmE;YACnE,sEAAsE;YACtE,6BAA6B;YAE7B,iEAAiE;YACjE,oEAAoE;YACpE,oCAAoC;YACpC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAE,KAAK,EAAG,QAAQ,EAAG,EAAE;gBACvD,sCAAsC;gBACtC,IAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO;gBAC1E,IAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAE,UAAU,CAAE;oBAAE,OAAO;gBAC7E,uBAAuB;gBACvB,IAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAE,QAAQ,CAAE;oBAAE,OAAO;gBAC3E,IAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAE,aAAa,CAAE;oBAAE,OAAO;gBAChF,MAAM,IAAI,KAAK,CAAE,QAAQ,CAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,EAAE;gBACzD,MAAM,EAAE,EAAE,oBAAoB,EAAE;aACjC,CAAC;YAEF,yDAAyD;YACzD,4DAA4D;YAC5D,mEAAmE;YACnE,wDAAwD;YACxD,uDAAuD;YACvD,IAAI,CAAC;gBACH,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAE,CAAC;YAC7D,CAAC;YAAC,OAAQ,CAAU,EAAG,CAAC;gBACtB,0DAA0D;gBAC1D,yDAAyD;gBACzD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC,CAAC;gBACvE,MAAM,CAAE,cAAc,CAAE,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;gBAE3C,uCAAuC;gBACvC,MAAM,CAAE,QAAQ,CAAC,QAAQ,CAAE,CAAC,oBAAoB,CAC9C,GAAG,YAAY,yBAAyB,EACxC,OAAO,CACR,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,sCAAsC;IACtC,4EAA4E;IAC5E,QAAQ,CAAE,6BAA6B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAE,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACvD,UAAU,EAAE,CAAC;YAEb,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE3D,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,EAAE;gBACzD,MAAM,EAAE,EAAE,oBAAoB,EAAE;aACjC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,qCAAqC,CAAC,EAAE,KAAK,CAAE,CAAC;YACzF,CAAC;YAAC,OAAQ,CAAU,EAAG,CAAC;gBACtB,2DAA2D;gBAC3D,qEAAqE;gBACrE,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;gBACnD,MAAM,CAAE,aAAa,CAAE,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;gBAE1C,qEAAqE;gBACrE,uCAAuC;gBACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAC1C,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAE,UAAU,CAAE,CAClD,CAAC;gBACF,qEAAqE;gBACrE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,YAAY,CAAE,CAAC,CAAC;gBAC7E,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC,CAAC;gBACnE,MAAM,CAAE,eAAe,CAAE,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;gBAC5C,MAAM,CAAE,UAAU,CAAE,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,mDAAmD;IACnD,4EAA4E;IAC5E,QAAQ,CAAE,iBAAiB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAE,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACxD,UAAU,EAAE,CAAC;YAEb,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;aAChE,CAAC;YAEF,MAAM,MAAM,CACV,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAE,CACnE,CAAC,OAAO,CAAC,OAAO,CAAE,oCAAoC,CAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAE,kDAAkD,EAAE,KAAK,IAAI,EAAE;YACjE,UAAU,EAAE,CAAC;YAEb,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;aAChE,CAAC;YAEF,MAAM,MAAM,CACV,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,CAAE,CAC3D,CAAC,OAAO,CAAC,OAAO,CAAE,uBAAuB,CAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,qCAAqC;IACrC,4EAA4E;IAC5E,QAAQ,CAAE,wBAAwB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAE,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC3D,UAAU,EAAE,CAAC;YAEb,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;aAChE,CAAC;YAEF,MAAM,MAAM,CACV,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAE,CAC5D,CAAC,OAAO,CAAC,OAAO,CAAE,uBAAuB,CAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAC5E,QAAQ,CAAE,uBAAuB,EAAE,GAAG,EAAE;QACtC,EAAE,CAAE,mDAAmD,EAAE,KAAK,IAAI,EAAE;YAClE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAE,IAAI,KAAK,CAAE,QAAQ,CAAE,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG;gBACZ,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;gBAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;aAChE,CAAC;YAEF,MAAM,MAAM,CACV,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,CAAE,CACrD,CAAC,OAAO,CAAC,OAAO,CAAE,kCAAkC,CAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,qEAAqE;AACrE,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,iEAAiE;AACjE,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,kBAAkB,GAAG,aAAa,CAAC;IACvC,4BAA4B,EAAE,QAAQ,CAAC;QACrC,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,4CAA4C;gBACtD,UAAU,EAAE,kBAAkB;aAC/B;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAEH,QAAQ,CAAE,uCAAuC,EAAE,GAAG,EAAE;IACtD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAE,SAAS,CAAE,CAAC;QAC/C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,kBAAkB,CAAE,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;QAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;KAChE,CAAC,CAAC;IAEH,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAC5E,QAAQ,CAAE,gBAAgB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAE,0FAA0F,EAAE,KAAK,IAAI,EAAE;YACzG,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAExE,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;gBAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;gBACrE,IAAK,SAAS,CAAC,QAAQ,CAAE,mBAAmB,CAAE;oBAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;gBACrF,MAAM,IAAI,KAAK,CAAE,wBAAwB,SAAS,KAAK,CAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,CAAE,CAAC;YAE/D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAE,QAAQ,CAAE,CAAC,SAAS,CAAE,GAAG,YAAY,8BAA8B,CAAE,CAAC;YAC9E,MAAM,CAAE,QAAQ,CAAE,CAAC,SAAS,CAAE,GAAG,YAAY,0CAA0C,CAAE,CAAC;YAC1F,MAAM,CAAE,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,KAAK,CAAE,CAAC,CAAC,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;YAEhE,MAAM,CAAE,YAAY,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;YAClD,MAAM,CAAE,OAAO,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;YAC7C,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,oBAAoB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,4DAA4D;IAC5D,4EAA4E;IAC5E,QAAQ,CAAE,mBAAmB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAE,yHAAyH,EAAE,KAAK,IAAI,EAAE;YACxI,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,IAAI,EAAsB,CAAC;YAE3B,MAAM,KAAK,GAAG,SAAS,EAAyD,CAAC;YACjF,MAAM,CAAC,cAAc,CAAE,KAAK,EAAE,UAAU,EAAE;gBACxC,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;gBAClB,GAAG,EAAE,GAAG,EAAE;oBACR,IAAK,CAAC,EAAE,EAAG,CAAC;wBACV,WAAW,CAAC,IAAI,CAAE,UAAU,CAAE,CAAC;wBAC/B,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC5B,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,eAAe,GAAU,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAU,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAM,EAAG,EAAE,GAAG,eAAe,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,CAAM,EAAG,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAE,CAAC,CAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnF,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;gBAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;gBACrE,IAAK,SAAS,CAAC,QAAQ,CAAE,mBAAmB,CAAE;oBAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;gBACrF,MAAM,IAAI,KAAK,CAAE,wBAAwB,SAAS,KAAK,CAAE,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,CAAE,CAAC;YAE/D,2CAA2C;YAC3C,MAAM,CAAE,WAAW,CAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAElC,KAAM,MAAM,QAAQ,IAAI,CAAE,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAE,EAAE,CAAC;gBACrE,MAAM,CAAE,MAAM,CAAC,mBAAmB,CAAE,QAAQ,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACjE,MAAM,CAAE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAE,QAAQ,EAAE,UAAU,CAAE,CAAC,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;gBACpF,MAAM,CAAE,QAAQ,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAE,KAAK,CAAC,QAAQ,CAAE,CAAC;YACrD,CAAC;YAED,0DAA0D;YAC1D,MAAM,CAAE,WAAW,CAAE,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,kDAAkD;IAClD,4EAA4E;IAC5E,QAAQ,CAAE,wBAAwB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAE,8EAA8E,EAAE,KAAK,IAAI,EAAE;YAC7F,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAE,KAAK,IAAI,EAAE;gBAClC,MAAM,IAAI,OAAO,CAAE,OAAO,CAAC,EAAE,CAAC,UAAU,CAAE,OAAO,EAAE,CAAC,CAAE,CAAC,CAAC;gBACxD,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;gBAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,CAAE,CAAC;YAE/D,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;YAClC,MAAM,CAAE,MAAM,CAAE,CAAC,GAAG,CAAC,cAAc,CAAE,OAAO,CAAE,CAAC;YAC/C,MAAM,CAAE,OAAO,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,wEAAwE;IACxE,4EAA4E;IAC5E,QAAQ,CAAE,cAAc,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAE,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC3E,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;gBAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YAExF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAE,QAAQ,CAAE,CAAC,SAAS,CAAE,GAAG,YAAY,4CAA4C,CAAE,CAAC;YAC5F,MAAM,CAAE,QAAQ,CAAE,CAAC,SAAS,CAAE,GAAG,YAAY,gCAAgC,CAAE,CAAC;YAChF,MAAM,CAAE,QAAQ,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC,CAAC,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAE,mFAAmF,EAAE,KAAK,IAAI,EAAE;YAClG,6EAA6E;YAC7E,kDAAkD;YAClD,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAE,KAAK,EAAG,QAAQ,EAAG,EAAE;gBACvD,MAAM,CAAC,GAAG,MAAM,CAAE,QAAQ,CAAE,CAAC;gBAC7B,IAAK,CAAC,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO;gBACnC,IAAK,CAAC,CAAC,QAAQ,CAAE,KAAK,CAAE;oBAAE,OAAO;gBACjC,MAAM,IAAI,KAAK,CAAE,QAAQ,CAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;gBAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,OAAO,CAAE;oBAAE,OAAO,EAAE,CAAC;gBAC9C,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YAExF,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,sCAAsC;AACtC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,yEAAyE;AACzE,8EAA8E;AAC9E,uEAAuE;AACvE,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,aAAa,CAAC;IACzC,gCAAgC,EAAE,QAAQ,CAAC;QACzC,MAAM,EAAE,iBAAiB;QACzB,SAAS,EAAE;YACT;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,yDAAyD;gBACnE,UAAU,EAAE,yBAAyB;aACtC;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,uDAAuD;gBACjE,UAAU,EAAE,gBAAgB;aAC7B;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,qEAAqE;gBAC/E,UAAU,EAAE,uBAAuB;aACpC;YACD;gBACE,IAAI,EAAE,4BAA4B;gBAClC,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,yEAAyE;gBACnF,UAAU,EAAE,oCAAoC;aACjD;SACF;KACF,CAAC;CACH,CAAC,CAAC;AAEH,QAAQ,CAAE,yDAAyD,EAAE,GAAG,EAAE;IACxE,MAAM,cAAc,GAAG,CAAE,KAAkB,EAAE,EAAE,CAC7C,KAAK,CAAC,GAAG,CAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,QAAQ,CAAE,CAAC,CAAC;IAEtE,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAE,SAAS,CAAE,CAAC;QAC/C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,oBAAoB,CAAE,CAAC,CAAC;QAC7E,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;YAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,QAAQ,CAAE;gBAAE,OAAO,EAAE,CAAC;YAC/C,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;QAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;KAChE,CAAC,CAAC;IAEH,EAAE,CAAE,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACtG,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAE,cAAc,CAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YACrE,GAAG,YAAY,oCAAoC;YACnD,GAAG,YAAY,qCAAqC;YACpD,GAAG,YAAY,yCAAyC;SACzD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAE1E,MAAM,eAAe,GAAG,cAAc,CAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAE;aACnE,MAAM,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,oBAAoB,CAAE,CAAC,CAAC;QACpD,MAAM,CAAE,eAAe,CAAE,CAAC,YAAY,CAAE,CAAC,CAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAEpG,MAAM,MAAM,GAAG,cAAc,CAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC;QAC9D,MAAM,CAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YAC7B,GAAG,YAAY,sCAAsC;YACrD,GAAG,YAAY,uCAAuC;YACtD,GAAG,YAAY,2CAA2C;SAC3D,CAAC,CAAC;QACH,MAAM,CAAE,MAAM,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAE,OAAO,CAAE,CAAC,CAAC,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,sEAAsE;AACtE,4FAA4F;AAC5F,+DAA+D;AAC/D,8EAA8E;AAE9E,MAAM,yBAAyB,GAAG,iDAAiD,CAAC;AAEpF,gFAAgF;AAChF,oEAAoE;AACpE,MAAM,oBAAoB,GAAG,CAAE,QAA8E,EAAE,EAAE,CAAC,CAAC;IACjH,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE;QACL,CAAC,yBAAyB,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAC;KAC7G;IACD,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEH,QAAQ,CAAE,4CAA4C,EAAE,GAAG,EAAE;IAC3D,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAE,QAAQ,CAAE,CAAC;IAEtD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAE,SAAS,CAAE,CAAC;QAC/C,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;YAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,QAAQ,CAAE;gBAAE,OAAO,EAAE,CAAC;YAC/C,OAAO,EAAE,kCAAkC,EAAE,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC/H,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC;QACvB,aAAa,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE;QAC/E,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE;KAChE,CAAC,CAAC;IAEH,EAAE,CAAE,2EAA2E,EAAE,KAAK,IAAI,EAAE;QAC1F,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,oBAAoB,CAAC;YACxE,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,yEAAyE;YACnF,UAAU,EAAE,oCAAoC;SACjD,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAE,CAAC;QAE3E,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;QAC7E,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;QACnF,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC9G,6EAA6E;QAC7E,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;QACpE,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAE,cAAc,CAAE,CAAC;QAClE,iBAAiB,CAAC,kBAAkB,CAAC,CAAE,SAAiB,EAAG,EAAE;YAC3D,IAAK,SAAS,CAAC,QAAQ,CAAE,QAAQ,CAAE;gBAAE,OAAO,EAAE,CAAC;YAC/C,OAAO,EAAE,gCAAgC,EAAE,aAAa,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,oBAAoB,CAAC;YACxE,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,yEAAyE;YACnF,UAAU,EAAE,oCAAoC;SACjD,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,OAAO;QACP,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAE,CAAC;QAE3E,wEAAwE;QACxE,MAAM,CAAE,aAAa,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;QACnD,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;QAC7E,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,cAAc,CAAE,CAAC;QACzF,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC7G,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,oBAAoB,CAAC;YACxE,IAAI,EAAE,4BAA4B;YAClC,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,uEAAuE;YACjF,UAAU,EAAE,kCAAkC;SAC/C,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,MAAM,MAAM,CAAE,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAE,CAAC;aAChF,OAAO,CAAC,OAAO,CACd,0BAA0B,WAAW,mCAAmC;cACtE,2EAA2E;cAC3E,kDAAkD,CACrD,CAAC;QACJ,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzE,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvE,qEAAqE;QACrE,MAAM,CAAE,iBAAiB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnD,MAAM,CAAE,OAAO,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACvF,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAE,IAAI,CAAC,SAAS,CAAE,oBAAoB,CAAC;YACxE,IAAI,EAAE,+BAA+B;YACrC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,mEAAmE;YAC7E,UAAU,EAAE,kBAAkB;SAC/B,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAE1B,MAAM,IAAA,kCAAgB,EAAE,YAAY,EAAE,CAAC,yBAAyB,CAAC,EAAE,KAAK,CAAE,CAAC;QAE3E,MAAM,CAAE,OAAO,CAAE,CAAC,qBAAqB,CAAE,CAAC,CAAE,CAAC;QAC7C,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzE,MAAM,CAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}