@ng-atomic/core 19.9.0 → 19.12.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-core.mjs","sources":["../tmp-esm2022/logger.js","../tmp-esm2022/effect.js","../tmp-esm2022/action-store.js","../tmp-esm2022/action.js","../tmp-esm2022/signals.js","../tmp-esm2022/injectable-component.js","../tmp-esm2022/input.js","../tmp-esm2022/route.js","../tmp-esm2022/ng-atomic-debug.js","../tmp-esm2022/debug/debug.directive.js","../tmp-esm2022/ng-atomic-component.js","../tmp-esm2022/ng-atomic-core.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class NgAtomicActionLogger {\n log(action, scope = 'default') {\n console.info(`[NgAtomicActionLogger] ${action?.name}`, { action, scope });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxLQUFLLEdBQUcsU0FBUztRQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO3VHQUhVLG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRFIsTUFBTTs7MkZBQ2xCLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY0FjdGlvbkxvZ2dlciB7XG4gIGxvZyhhY3Rpb246IEFjdGlvbiwgc2NvcGUgPSAnZGVmYXVsdCcpIHtcbiAgICBjb25zb2xlLmluZm8oYFtOZ0F0b21pY0FjdGlvbkxvZ2dlcl0gJHthY3Rpb24/Lm5hbWV9YCwge2FjdGlvbiwgc2NvcGV9KTtcbiAgfVxufVxuIl19","import { InjectionToken, Injector, inject, runInInjectionContext } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nexport const DEFAULT_EFFECT_PROPS = {\n dispatch: false,\n scopes: ['host'],\n accessor: (action) => action.payload,\n};\nexport function normalizeEffectProps(props = {}) {\n // If props has 'scope' but not 'scopes', convert scope to scopes array\n const propsWithScopes = { ...props };\n if ('scope' in props && !('scopes' in props)) {\n propsWithScopes.scopes = props.scope ? [props.scope] : undefined;\n delete propsWithScopes.scope;\n }\n const normalizedProps = merge({ ...DEFAULT_EFFECT_PROPS }, propsWithScopes);\n // Ensure scopes is always an array\n if (!normalizedProps.scopes || normalizedProps.scopes.length === 0) {\n normalizedProps.scopes = ['host'];\n }\n return normalizedProps;\n}\nconst EFFECT_ENTRY = new InjectionToken('[@ng-atomic/core] EFFECT_ENTRY');\nfunction provideEffectEntryMulti(useFactory) {\n return {\n provide: EFFECT_ENTRY,\n useFactory,\n multi: true,\n deps: [Injector],\n };\n}\nexport function provideEffect(ActionIds, _effectFactory, props) {\n return provideEffectEntryMulti((factoryInjector) => ({\n actionIds: ActionIds,\n effectFactory: (host) => runInInjectionContext(host, () => _effectFactory(factoryInjector)),\n props: normalizeEffectProps(props),\n }));\n}\nexport function injectEffectEntries(injector = inject(Injector)) {\n return injector.get(EFFECT_ENTRY, [], { optional: true }).map((entry) => ({\n ...entry, context: { hostInjector: injector, scope: null }\n }));\n}\nconst EFFECT_ENTRIES_KEY = Symbol('_effectEntries_');\nexport function getEffectEntries(target) {\n return target[EFFECT_ENTRIES_KEY] ??= [];\n}\nexport function Effect(actionId, props = {}) {\n const normalizedProps = normalizeEffectProps(props);\n return function (target, _, descriptor) {\n getEffectEntries(target).push({\n actionIds: [actionId],\n props: normalizedProps,\n effectFactory: () => (payload, context) => descriptor.value.call(context.component, payload),\n context: { hostInjector: Injector.NULL }\n });\n };\n}\nexport class EffectResolver {\n effectEntryMap = new Map();\n register(effectEntry) {\n const actionIds = Array.isArray(effectEntry.actionIds) ? effectEntry.actionIds : [effectEntry.actionIds];\n for (const actionId of actionIds) {\n for (const scope of effectEntry.props.scopes) {\n const key = this.makeKey(actionId, scope);\n this.effectEntryMap.set(key, {\n effectFactory: () => effectEntry.effectFactory(effectEntry.context.hostInjector),\n props: effectEntry.props,\n });\n }\n }\n }\n registerMany(entries) {\n for (const entry of entries)\n this.register(entry);\n }\n resolve(actionId, scope = 'host') {\n return this.effectEntryMap.get(this.makeKey(actionId, scope));\n }\n makeKey(actionId, scope = 'host') {\n return `[${scope}]#${actionId}`;\n }\n}\nexport async function applyEffect(resolver, action, context) {\n const entry = resolver.resolve(action.id, context.scope);\n if (entry?.effectFactory) {\n const effect = entry.effectFactory();\n const payload = entry.props.accessor(action);\n await effect(payload, context);\n return { dispatch: entry.props.dispatch };\n }\n return { dispatch: true };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFZLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBVWxDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUMvQyxRQUFRLEVBQUUsS0FBSztJQUNmLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNoQixRQUFRLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPO0NBQ3BDLENBQUM7QUFFWCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBbUQsRUFBRTtJQUN4Rix1RUFBdUU7SUFDdkUsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3JDLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsZUFBZSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pFLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLEVBQUMsR0FBRyxvQkFBb0IsRUFBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRTFFLG1DQUFtQztJQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxlQUFl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LENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBQcm92aWRlciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi9hY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tIFwiLi9uZy1hdG9taWMtY29tcG9uZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0UHJvcHMge1xuICBkaXNwYXRjaDogYm9vbGVhbjtcbiAgc2NvcGVzOiBzdHJpbmdbXTtcbiAgYWNjZXNzb3I6IChhY3Rpb246IEFjdGlvbikgPT4gYW55O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FRkZFQ1RfUFJPUFM6IEVmZmVjdFByb3BzID0ge1xuICBkaXNwYXRjaDogZmFsc2UsXG4gIHNjb3BlczogWydob3N0J10sXG4gIGFjY2Vzc29yOiAoYWN0aW9uOiBBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUVmZmVjdFByb3BzKHByb3BzOiBQYXJ0aWFsPEVmZmVjdFByb3BzICYgeyBzY29wZT86IHN0cmluZyB9PiA9IHt9KSB7XG4gIC8vIElmIHByb3BzIGhhcyAnc2NvcGUnIGJ1dCBub3QgJ3Njb3BlcycsIGNvbnZlcnQgc2NvcGUgdG8gc2NvcGVzIGFycmF5XG4gIGNvbnN0IHByb3BzV2l0aFNjb3BlcyA9IHsgLi4ucHJvcHMgfTtcbiAgaWYgKCdzY29wZScgaW4gcHJvcHMgJiYgISgnc2NvcGVzJyBpbiBwcm9wcykpIHtcbiAgICBwcm9wc1dpdGhTY29wZXMuc2NvcGVzID0gcHJvcHMuc2NvcGUgPyBbcHJvcHMuc2NvcGVdIDogdW5kZWZpbmVkO1xuICAgIGRlbGV0ZSBwcm9wc1dpdGhTY29wZXMuc2NvcGU7XG4gIH1cbiAgXG4gIGNvbnN0IG5vcm1hbGl6ZWRQcm9wcyA9IG1lcmdlKHsuLi5ERUZBVUxUX0VGRkVDVF9QUk9QU30sIHByb3BzV2l0aFNjb3Blcyk7XG4gIFxuICAvLyBFbnN1cmUgc2NvcGVzIGlzIGFsd2F5cyBhbiBhcnJheVxuICBpZiAoIW5vcm1hbGl6ZWRQcm9wcy5zY29wZXMgfHwgbm9ybWFsaXplZFByb3BzLnNjb3Blcy5sZW5ndGggPT09IDApIHtcbiAgICBub3JtYWxpemVkUHJvcHMuc2NvcGVzID0gWydob3N0J107XG4gIH1cbiAgXG4gIHJldHVybiBub3JtYWxpemVkUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udGV4dCB7XG4gIGhvc3RJbmplY3RvcjogSW5qZWN0b3IsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dCB7XG4gIHNjb3BlOiAncm9vdCcgfCAnaG9zdCcgfCBzdHJpbmcsXG4gIGNvbXBvbmVudD86IE5nQXRvbWljQ29tcG9uZW50LFxufVxuXG50eXBlIEVmZmVjdCA9IChwYXlsb2FkPzogYW55LCBjb250ZXh0PzogQWN0aW9uQ29udGV4dCkgPT4gYW55IHwgUHJvbWlzZTxhbnk+O1xudHlwZSBFZmZlY3RGYWN0b3J5ID0gKGhvc3RJbmplY3Rvcj86IEluamVjdG9yKSA9PiBFZmZlY3Q7XG5leHBvcnQgdHlwZSBFZmZlY3RSZXN1bHQgPSB7IGRpc3BhdGNoOiBib29sZWFuIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0RW50cnkge1xuXHRhY3Rpb25JZHM6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBlZmZlY3RGYWN0b3J5PzogRWZmZWN0RmFjdG9yeTtcbiAgcHJvcHM/OiBFZmZlY3RQcm9wcztcbiAgY29udGV4dD86IEVmZmVjdENvbnRleHQ7XG59XG5cbmludGVyZmFjZSBSZXNvbHZlZEVmZmVjdEVudHJ5IHtcbiAgZWZmZWN0RmFjdG9yeTogKCkgPT4gRWZmZWN0O1xuICBwcm9wczogRWZmZWN0UHJvcHM7XG59XG5cbmNvbnN0IEVGRkVDVF9FTlRSWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFZmZlY3RFbnRyeT4oJ1tAbmctYXRvbWljL2NvcmVdIEVGRkVDVF9FTlRSWScpO1xuXG5mdW5jdGlvbiBwcm92aWRlRWZmZWN0RW50cnlNdWx0aSh1c2VGYWN0b3J5OiAoZmFjdG9yeUluamVjdG9yOiBJbmplY3RvcikgPT4gRWZmZWN0RW50cnkpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogRUZGRUNUX0VOVFJZLFxuICAgIHVzZUZhY3RvcnksXG5cdFx0bXVsdGk6IHRydWUsXG5cdFx0ZGVwczogW0luamVjdG9yXSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVmZmVjdChcbiAgQWN0aW9uSWRzOiBzdHJpbmdbXSB8IHN0cmluZyxcbiAgX2VmZmVjdEZhY3Rvcnk6IChmYWN0b3J5SW5qZWN0b3I6IEluamVjdG9yKSA9PiBFZmZlY3QsXG4gIHByb3BzPzogUGFydGlhbDxFZmZlY3RQcm9wcyAmIHsgc2NvcGU/OiBzdHJpbmcgfT4sXG4pOiBQcm92aWRlciB7XG4gIHJldHVybiBwcm92aWRlRWZmZWN0RW50cnlNdWx0aSgoZmFjdG9yeUluamVjdG9yOiBJbmplY3RvcikgPT4gKHtcbiAgICBhY3Rpb25JZHM6IEFjdGlvbklkcyxcbiAgICBlZmZlY3RGYWN0b3J5OiAoaG9zdDogSW5qZWN0b3IpID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChob3N0LCAoKSA9PiBfZWZmZWN0RmFjdG9yeShmYWN0b3J5SW5qZWN0b3IpKSxcbiAgICBwcm9wczogbm9ybWFsaXplRWZmZWN0UHJvcHMocHJvcHMpLFxuICB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RFZmZlY3RFbnRyaWVzKGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3RvcikpIHtcbiAgcmV0dXJuIGluamVjdG9yLmdldDxFZmZlY3RFbnRyeVtdPihFRkZFQ1RfRU5UUlksIFtdLCB7IG9wdGlvbmFsOiB0cnVlIH0pLm1hcCgoZW50cnkpID0+ICh7XG4gICAgLi4uZW50cnksIGNvbnRleHQ6IHsgaG9zdEluamVjdG9yOiBpbmplY3Rvciwgc2NvcGU6IG51bGwgfVxuICB9KSk7XG59XG5cbmNvbnN0IEVGRkVDVF9FTlRSSUVTX0tFWSA9IFN5bWJvbCgnX2VmZmVjdEVudHJpZXNfJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZmZlY3RFbnRyaWVzKHRhcmdldDogYW55KTogRWZmZWN0RW50cnlbXSB7XG4gIHJldHVybiB0YXJnZXRbRUZGRUNUX0VOVFJJRVNfS0VZXSA/Pz0gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZmZlY3QoYWN0aW9uSWQ6IHN0cmluZywgcHJvcHM6IFBhcnRpYWw8RWZmZWN0UHJvcHMgJiB7IHNjb3BlPzogc3RyaW5nIH0+ID0ge30pIHtcbiAgY29uc3Qgbm9ybWFsaXplZFByb3BzID0gbm9ybWFsaXplRWZmZWN0UHJvcHMocHJvcHMpO1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBfOiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGdldEVmZmVjdEVudHJpZXModGFyZ2V0KS5wdXNoKHtcbiAgICAgIGFjdGlvbklkczogW2FjdGlvbklkXSxcbiAgICAgIHByb3BzOiBub3JtYWxpemVkUHJvcHMsIFxuICAgICAgZWZmZWN0RmFjdG9yeTogKCkgPT4gKHBheWxvYWQ6IGFueSwgY29udGV4dDogQWN0aW9uQ29udGV4dCkgPT4gZGVzY3JpcHRvci52YWx1ZS5jYWxsKGNvbnRleHQuY29tcG9uZW50LCBwYXlsb2FkKSxcbiAgICAgIGNvbnRleHQ6IHsgaG9zdEluamVjdG9yOiBJbmplY3Rvci5OVUxMIH1cbiAgICB9KTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEVmZmVjdFJlc29sdmVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVmZmVjdEVudHJ5TWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlc29sdmVkRWZmZWN0RW50cnk+KCk7XG5cbiAgcmVnaXN0ZXIoZWZmZWN0RW50cnk6IEVmZmVjdEVudHJ5KSB7XG4gICAgY29uc3QgYWN0aW9uSWRzID0gQXJyYXkuaXNBcnJheShlZmZlY3RFbnRyeS5hY3Rpb25JZHMpID8gZWZmZWN0RW50cnkuYWN0aW9uSWRzIDogW2VmZmVjdEVudHJ5LmFjdGlvbklkc107XG4gICAgZm9yIChjb25zdCBhY3Rpb25JZCBvZiBhY3Rpb25JZHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc2NvcGUgb2YgZWZmZWN0RW50cnkucHJvcHMuc2NvcGVzKSB7IFxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkoYWN0aW9uSWQsIHNjb3BlKTtcbiAgICAgICAgdGhpcy5lZmZlY3RFbnRyeU1hcC5zZXQoa2V5LCB7XG4gICAgICAgICAgZWZmZWN0RmFjdG9yeTogKCkgPT4gZWZmZWN0RW50cnkuZWZmZWN0RmFjdG9yeShlZmZlY3RFbnRyeS5jb250ZXh0Lmhvc3RJbmplY3RvciksXG4gICAgICAgICAgcHJvcHM6IGVmZmVjdEVudHJ5LnByb3BzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck1hbnkoZW50cmllczogRWZmZWN0RW50cnlbXSkge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykgdGhpcy5yZWdpc3RlcihlbnRyeSk7XG4gIH1cblxuICByZXNvbHZlKGFjdGlvbklkOiBzdHJpbmcsIHNjb3BlID0gJ2hvc3QnKTogUmVzb2x2ZWRFZmZlY3RFbnRyeSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVmZmVjdEVudHJ5TWFwLmdldCh0aGlzLm1ha2VLZXkoYWN0aW9uSWQsIHNjb3BlKSk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VLZXkoYWN0aW9uSWQ6IHN0cmluZywgc2NvcGUgPSAnaG9zdCcpIHtcbiAgICByZXR1cm4gYFske3Njb3BlfV0jJHthY3Rpb25JZH1gO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseUVmZmVjdChyZXNvbHZlcjogRWZmZWN0UmVzb2x2ZXIsIGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogUHJvbWlzZTxFZmZlY3RSZXN1bHQ+IHtcbiAgY29uc3QgZW50cnkgPSByZXNvbHZlci5yZXNvbHZlKGFjdGlvbi5pZCwgY29udGV4dC5zY29wZSk7XG4gIGlmIChlbnRyeT8uZWZmZWN0RmFjdG9yeSkge1xuICAgIGNvbnN0IGVmZmVjdCA9IGVudHJ5LmVmZmVjdEZhY3RvcnkoKTtcbiAgICBjb25zdCBwYXlsb2FkID0gZW50cnkucHJvcHMuYWNjZXNzb3IoYWN0aW9uKTtcbiAgICBhd2FpdCBlZmZlY3QocGF5bG9hZCwgY29udGV4dCk7XG4gICAgcmV0dXJuIHsgZGlzcGF0Y2g6IGVudHJ5LnByb3BzLmRpc3BhdGNoIH07XG4gIH1cbiAgcmV0dXJuIHsgZGlzcGF0Y2g6IHRydWUgfTtcbn1cbiJdfQ==","import { EventEmitter, inject, Injectable } from \"@angular/core\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { applyEffect, EffectResolver } from \"./effect\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport * as i0 from \"@angular/core\";\nexport class NgAtomicRootActionStore {\n logger = inject(NgAtomicActionLogger);\n actions$ = new EventEmitter();\n resolver = new EffectResolver();\n constructor() {\n this.actions$.pipe(takeUntilDestroyed()).subscribe(action => {\n this.logger.log(action, 'root');\n applyEffect(this.resolver, action, { component: null, scope: 'root' });\n });\n }\n async dispatch(action) {\n this.actions$.emit(action);\n }\n register(effectEntry) {\n this.resolver.register(effectEntry);\n }\n registerMany(effectEntries) {\n this.resolver.registerMany(effectEntries);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBZSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFDZixNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDdEMsUUFBUSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFFbkQ7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUMvQixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLFdBQXdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBNEI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0F0QlUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzsyRkFDbEIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuaW1wb3J0IHsgTmdBdG9taWNBY3Rpb25Mb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXJcIjtcbmltcG9ydCB7IGFwcGx5RWZmZWN0LCBFZmZlY3RFbnRyeSwgRWZmZWN0UmVzb2x2ZXIgfSBmcm9tIFwiLi9lZmZlY3RcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY1Jvb3RBY3Rpb25TdG9yZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTmdBdG9taWNBY3Rpb25Mb2dnZXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9ucyQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc29sdmVyID0gbmV3IEVmZmVjdFJlc29sdmVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZyhhY3Rpb24sICdyb290JylcbiAgICAgIGFwcGx5RWZmZWN0KHRoaXMucmVzb2x2ZXIsIGFjdGlvbiwgeyBjb21wb25lbnQ6IG51bGwsIHNjb3BlOiAncm9vdCcgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNwYXRjaChhY3Rpb246IEFjdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYWN0aW9ucyQuZW1pdChhY3Rpb24pO1xuICB9XG5cbiAgcmVnaXN0ZXIoZWZmZWN0RW50cnk6IEVmZmVjdEVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlci5yZWdpc3RlcihlZmZlY3RFbnRyeSk7XG4gIH1cblxuICByZWdpc3Rlck1hbnkoZWZmZWN0RW50cmllczogRWZmZWN0RW50cnlbXSk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZXIucmVnaXN0ZXJNYW55KGVmZmVjdEVudHJpZXMpO1xuICB9XG59Il19","import Ajv from \"ajv\";\nimport { plainToInstance } from \"class-transformer\";\nimport { validateSync } from \"class-validator\";\nexport function resolveActions(actions, ...args) {\n if (typeof actions === 'function') {\n return actions(...args);\n }\n return actions;\n}\nexport function wrapActions(actions) {\n return typeof actions === 'function' ? actions : () => actions;\n}\nexport function createAction(type, schema, options = {}) {\n const defaultValidator = (item) => {\n if (typeof schema === 'object') {\n const _schema = {\n ...schema,\n required: schema.required.filter((key) => key in item),\n };\n const isValid = new Ajv().compile(_schema)(item);\n if (!isValid)\n return 'invalid';\n return null;\n }\n else {\n const errors = validateSync(plainToInstance(schema, { ...item }));\n if (errors.length)\n return 'invalid';\n return null;\n }\n };\n return {\n validate: options?.validator ?? defaultValidator,\n create: (payload = {}, meta = {}) => ({\n id: type,\n payload,\n name: options.name ?? type,\n icon: options.icon,\n ...meta,\n }),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXNCL0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFnQixFQUFFLEdBQUcsSUFBVztJQUM3RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUNqRSxDQUFDO0FBVUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBWSxFQUNaLE1BQXdDLEVBQ3hDLFVBQW1DLEVBQUU7SUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQU8sRUFBRSxFQUFFO1FBQ25DLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsR0FBRyxNQUFNO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQzthQUMvRCxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBVyxDQUFDLENBQUM7WUFDMUUsSUFBSSxNQUFNLENBQUMsTUFBTTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUE7SUFDRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksZ0JBQWdCO1FBQ2hELE1BQU0sRUFBRSxDQUFDLFVBQWEsRUFBUyxFQUFFLE9BQXVDLEVBQUUsRUFBVSxFQUFFLENBQUMsQ0FBQztZQUN0RixFQUFFLEVBQUUsSUFBSTtZQUNSLE9BQU87WUFDUCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJO1lBQzFCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixHQUFHLElBQUk7U0FDUixDQUFDO0tBQ0gsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWp2IGZyb20gXCJhanZcIjtcbmltcG9ydCB7IENsYXNzQ29uc3RydWN0b3IsIHBsYWluVG9JbnN0YW5jZSB9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lclwiO1xuaW1wb3J0IHsgdmFsaWRhdGVTeW5jIH0gZnJvbSBcImNsYXNzLXZhbGlkYXRvclwiO1xuaW1wb3J0IHsgSnNvblNjaGVtYSB9IGZyb20gXCJqc29uLXNjaGVtYS1saWJyYXJ5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFQ7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogQWN0aW9uPFQ+W10sXG4gIG1ldGE/OiB7Y29tcG9uZW50SWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsfSB8IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uc0ZhY3Rvcnk8VCA9IGFueT4gPSAoLi4uYXJnczogYW55W10pID0+IEFjdGlvbjxUPltdO1xuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIEFjdGlvbnMgPSBBY3Rpb25zRmFjdG9yeSB8IEFjdGlvbltdO1xuXG5leHBvcnQgdHlwZSBOYXZBY3Rpb25zID0gQWN0aW9uW11bXSB8IEFjdGlvbltdO1xuZXhwb3J0IHR5cGUgSXRlbUFjdGlvbnM8VCA9IGFueT4gPSAoaXRlbTogVCkgPT4gQWN0aW9uW107XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25zLCAuLi5hcmdzOiBhbnlbXSkge1xuICBpZiAodHlwZW9mIGFjdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gYWN0aW9ucyguLi5hcmdzKTtcbiAgfVxuICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbnMpOiBBY3Rpb25zRmFjdG9yeSB7XG4gIHJldHVybiB0eXBlb2YgYWN0aW9ucyA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbnMgOiAoKSA9PiBhY3Rpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFjdGlvbnNPcHRpb25zPFAgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IHtcbiAgdmFsaWRhdG9yPzogKGl0ZW06IFApID0+IG51bGwgfCBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgbmFtZT86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uRmFjdG9yeTxQIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IChwYXlsb2FkPzogUCwgbWV0YT86IENyZWF0ZUFjdGlvbnNPcHRpb25zKSA9PiBBY3Rpb248UD47XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBY3Rpb248UCBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gIHR5cGU6IHN0cmluZyxcbiAgc2NoZW1hOiBKc29uU2NoZW1hIHwgQ2xhc3NDb25zdHJ1Y3RvcjxQPixcbiAgb3B0aW9uczogQ3JlYXRlQWN0aW9uc09wdGlvbnM8UD4gPSB7fSxcbik6IHt2YWxpZGF0ZTogKGl0ZW06IFApID0+IG51bGwgfCBzdHJpbmcgfCBzdHJpbmdbXSwgY3JlYXRlOiBBY3Rpb25GYWN0b3J5PFA+fSB7ICBcbiAgY29uc3QgZGVmYXVsdFZhbGlkYXRvciA9IChpdGVtOiBQKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBzY2hlbWEgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBfc2NoZW1hID0ge1xuICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgIHJlcXVpcmVkOiBzY2hlbWEucmVxdWlyZWQuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ga2V5IGluIGl0ZW0pLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgQWp2KCkuY29tcGlsZShfc2NoZW1hKShpdGVtKTtcbiAgICAgIGlmICghaXNWYWxpZCkgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlcnJvcnMgPSB2YWxpZGF0ZVN5bmMocGxhaW5Ub0luc3RhbmNlKHNjaGVtYSwgey4uLml0ZW19KSBhcyBvYmplY3QpO1xuICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHJldHVybiAnaW52YWxpZCc7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogb3B0aW9ucz8udmFsaWRhdG9yID8/IGRlZmF1bHRWYWxpZGF0b3IsXG4gICAgY3JlYXRlOiAocGF5bG9hZDogUCA9IHt9IGFzIGFueSwgbWV0YToge25hbWU/OiBzdHJpbmcsIGljb24/OiBzdHJpbmd9ID0ge30pOiBBY3Rpb24gPT4gKHtcbiAgICAgIGlkOiB0eXBlLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSA/PyB0eXBlLFxuICAgICAgaWNvbjogb3B0aW9ucy5pY29uLFxuICAgICAgLi4ubWV0YSxcbiAgICB9KSxcbiAgfVxufVxuIl19","import { Pipe, computed, isSignal } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nfunction call(valueOrSignal) {\n return isSignal(valueOrSignal) ? call(valueOrSignal()) : valueOrSignal;\n}\nexport function proxyFakeComputedInputValueFn(inputValueFn) {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n return computeFake(target(...args));\n }\n });\n}\nexport function computeFake(valueOrFakeComputed) {\n return isFakeComputed(valueOrFakeComputed) ? valueOrFakeComputed() : valueOrFakeComputed;\n}\nexport function isSignalOrFakeComputed(value) {\n return isSignal(value) || isFakeComputed(value);\n}\nexport function computeFakeV2(valueOrFakeComputed) {\n return isSignalOrFakeComputed(valueOrFakeComputed) ? computeFakeV2(valueOrFakeComputed()) : valueOrFakeComputed;\n}\nexport function proxyFakeComputedInputs(target, inputs) {\n inputs.filter(input => isSignal(target[input])).forEach(input => {\n target[input] = proxyFakeComputedInputValueFn(target[input]);\n });\n}\nexport const FAKE_COMPUTED = /* @__PURE__ */ Symbol('FAKE_COMPUTED');\nexport function compute(target, propName) {\n let inputValueFn;\n Object.defineProperty(target, propName, {\n get() {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n const valueOrSignal = target(...args);\n return isSignal(valueOrSignal) ? valueOrSignal() : valueOrSignal;\n }\n });\n },\n set(value) {\n inputValueFn = value;\n },\n });\n}\nexport function fakeComputed(computation, options) {\n const _computed = computed(computation, options);\n _computed[FAKE_COMPUTED] = true;\n return _computed;\n}\nexport function _computed(computation, options) {\n return fakeComputed(computation, options);\n}\nexport function isFakeComputed(_computed) {\n return !!_computed?.[FAKE_COMPUTED];\n}\nexport class CallPipe {\n transform(value) {\n return call(value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, isStandalone: true, name: \"call\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'call', standalone: true, pure: true }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29yZS9zcmMvbGliL3NpZ25hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixJQUFJLEVBQVUsUUFBUSxFQUFFLFFBQVEsRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXZHLFNBQVMsSUFBSSxDQUFJLGFBQTRCO0lBQzNDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsWUFBaUI7SUFDN0QsT0FBTyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7UUFDN0IsS0FBSyxFQUFFLFVBQVUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzlCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFJLG1CQUFzQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztBQUNoRyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFJLEtBQVU7SUFDbEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFJLG1CQUFrQztJQUNqRSxPQUFPLHNCQUFzQixDQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0FBQzFILENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBVyxFQUFFLE1BQWdCO0lBQ25FLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBVyxFQUFFLFFBQWdCO0lBQ25ELElBQUksWUFBaUIsQ0FBQztJQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7UUFDdEMsR0FBRztZQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO2dCQUM3QixLQUFLLEVBQUUsVUFBVSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUk7b0JBQzlCLE1BQU0sYUFBYSxHQUFRLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO29CQUMzQyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDbkUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxHQUFHLENBQUMsS0FBSztZQUNQLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFJLFdBQW9CLEVBQUUsT0FBa0M7SUFDdEYsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQWUsQ0FBQztJQUMvRCxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLFdBQW9CLEVBQUUsT0FBa0M7SUFDbkYsT0FBTyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWM7SUFDM0MsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUdELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBSSxLQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO3VHQUhVLFFBQVE7cUdBQVIsUUFBUTs7MkZBQVIsUUFBUTtrQkFEcEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zLCBQaXBlLCBTaWduYWwsIGNvbXB1dGVkLCBpc1NpZ25hbCwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmZ1bmN0aW9uIGNhbGw8VD4odmFsdWVPclNpZ25hbDogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWwodmFsdWVPclNpZ25hbCkgPyBjYWxsKHZhbHVlT3JTaWduYWwoKSkgOiB2YWx1ZU9yU2lnbmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJveHlGYWtlQ29tcHV0ZWRJbnB1dFZhbHVlRm4oaW5wdXRWYWx1ZUZuOiBhbnkpIHtcbiAgcmV0dXJuIG5ldyBQcm94eShpbnB1dFZhbHVlRm4sIHtcbiAgICBhcHBseTogZnVuY3Rpb24gKHRhcmdldCwgXywgYXJncykge1xuICAgICAgcmV0dXJuIGNvbXB1dGVGYWtlKHRhcmdldCguLi5hcmdzKSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVGYWtlPFQ+KHZhbHVlT3JGYWtlQ29tcHV0ZWQ6IFQpOiBUIHtcbiAgcmV0dXJuIGlzRmFrZUNvbXB1dGVkKHZhbHVlT3JGYWtlQ29tcHV0ZWQpID8gdmFsdWVPckZha2VDb21wdXRlZCgpIGFzIFQgOiB2YWx1ZU9yRmFrZUNvbXB1dGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaWduYWxPckZha2VDb21wdXRlZDxUPih2YWx1ZTogYW55KTogdmFsdWUgaXMgKFNpZ25hbDxUPiB8IFJldHVyblR5cGU8dHlwZW9mIGNvbXB1dGVkPFQ+Pikge1xuICByZXR1cm4gaXNTaWduYWwodmFsdWUpIHx8IGlzRmFrZUNvbXB1dGVkKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVGYWtlVjI8VD4odmFsdWVPckZha2VDb21wdXRlZDogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWxPckZha2VDb21wdXRlZDxUPih2YWx1ZU9yRmFrZUNvbXB1dGVkKSA/IGNvbXB1dGVGYWtlVjIodmFsdWVPckZha2VDb21wdXRlZCgpKSBhcyBUIDogdmFsdWVPckZha2VDb21wdXRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKHRhcmdldDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSB7XG4gIGlucHV0cy5maWx0ZXIoaW5wdXQgPT4gaXNTaWduYWwodGFyZ2V0W2lucHV0XSkpLmZvckVhY2goaW5wdXQgPT4ge1xuICAgIHRhcmdldFtpbnB1dF0gPSBwcm94eUZha2VDb21wdXRlZElucHV0VmFsdWVGbih0YXJnZXRbaW5wdXRdKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBGQUtFX0NPTVBVVEVEID0gLyogQF9fUFVSRV9fICovIFN5bWJvbCgnRkFLRV9DT01QVVRFRCcpO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZSh0YXJnZXQ6IGFueSwgcHJvcE5hbWU6IHN0cmluZykge1xuICBsZXQgaW5wdXRWYWx1ZUZuOiBhbnk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BOYW1lLCB7XG4gICAgZ2V0KCkge1xuICAgICAgcmV0dXJuIG5ldyBQcm94eShpbnB1dFZhbHVlRm4sIHtcbiAgICAgICAgYXBwbHk6IGZ1bmN0aW9uICh0YXJnZXQsIF8sIGFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZU9yU2lnbmFsOiBhbnkgPSB0YXJnZXQoLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuIGlzU2lnbmFsKHZhbHVlT3JTaWduYWwpID8gdmFsdWVPclNpZ25hbCgpIDogdmFsdWVPclNpZ25hbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBzZXQodmFsdWUpIHtcbiAgICAgIGlucHV0VmFsdWVGbiA9IHZhbHVlO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFrZUNvbXB1dGVkPFQ+KGNvbXB1dGF0aW9uOiAoKSA9PiBULCBvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFQ+KTogVCB7XG4gIGNvbnN0IF9jb21wdXRlZCA9IGNvbXB1dGVkKGNvbXB1dGF0aW9uLCBvcHRpb25zKSBhcyBuZXZlciBhcyBUO1xuICBfY29tcHV0ZWRbRkFLRV9DT01QVVRFRF0gPSB0cnVlO1xuICByZXR1cm4gX2NvbXB1dGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2NvbXB1dGVkPFQ+KGNvbXB1dGF0aW9uOiAoKSA9PiBULCBvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFQ+KTogVCB7XG4gIHJldHVybiBmYWtlQ29tcHV0ZWQoY29tcHV0YXRpb24sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlQ29tcHV0ZWQoX2NvbXB1dGVkOiBhbnkpOiBfY29tcHV0ZWQgaXMgUmV0dXJuVHlwZTx0eXBlb2YgY29tcHV0ZWQ+IHtcbiAgcmV0dXJuICEhX2NvbXB1dGVkPy5bRkFLRV9DT01QVVRFRF07XG59XG5cbkBQaXBlKHsgbmFtZTogJ2NhbGwnLCBzdGFuZGFsb25lOiB0cnVlLCBwdXJlOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBDYWxsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm08VD4odmFsdWU6IFNpZ25hbDxUPiB8IFQpOiBUIHtcbiAgICByZXR1cm4gY2FsbCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==","import { DestroyRef, Directive, ElementRef, InjectionToken, Injector, ViewContainerRef, inject, input, PLATFORM_ID, EventEmitter, output } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { reflectComponentType } from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { proxyFakeComputedInputs } from \"./signals\";\nimport * as i0 from \"@angular/core\";\nexport const TOKEN = 'Δtkn';\nexport function provideComponent(abstract, typeOrFactory) {\n async function loadComponentType() {\n if (typeof typeOrFactory === 'function' && !typeOrFactory.prototype) {\n return await typeOrFactory();\n }\n else {\n return typeOrFactory;\n }\n }\n return { provide: abstract[TOKEN], useValue: loadComponentType };\n}\nexport function makeProvideComopnentConfigure(abstract) {\n return (typeOrFactory) => provideComponent(abstract, typeOrFactory);\n}\nexport function TokenizedType() {\n return function (type) {\n type[TOKEN] = new InjectionToken(type.name);\n };\n}\nexport function getToken(type) {\n return type[TOKEN];\n}\nexport var HostType;\n(function (HostType) {\n HostType[\"Dir\"] = \"\\u0275dir\";\n HostType[\"Cmp\"] = \"\\u0275cmp\";\n})(HostType || (HostType = {}));\nexport function getMeta(type) {\n if (HostType.Cmp in type) {\n return type[HostType.Cmp];\n }\n else if (HostType.Dir in type) {\n return type[HostType.Dir];\n }\n}\nexport function getInputs(type) {\n const meta = getMeta(type);\n return Object.entries(meta['inputs'])\n .map(([templateName, [propName]]) => ({ propName, templateName }));\n}\nexport function getOutputs(type) {\n const meta = getMeta(type);\n return Object.entries(meta['outputs'])\n .map(([templateName, propName]) => ({ propName, templateName }));\n}\nexport function getInputsByComponentRef(cmp) {\n return getInputs(cmp.instance.constructor);\n}\nexport function getOutputsByInstance(cmp) {\n return getOutputs(cmp.instance.constructor);\n}\nexport class InjectableComponent {\n #platformId = inject(PLATFORM_ID);\n #viewContainerRef = inject(ViewContainerRef);\n #injector = inject(Injector);\n #destroyRef = inject(DestroyRef);\n #el = inject(ElementRef);\n #component = null;\n #componentMirror = null;\n injectable = input(false, { transform: (value) => value === '' ? true : value });\n // TOTO: 消すと一部のActionEffectが動かなくなる。おそらくバインディングの問題。\n __action = output({ alias: 'action' });\n get #inputs() {\n return getInputs(this.constructor);\n }\n get #outputs() {\n return getOutputs(this.constructor);\n // const impl = this.#componentMirror!.outputs;\n // return abs.filter(abstractOutput => impl.some(implOutput => implOutput.templateName === abstractOutput.templateName));\n }\n #setAttribute() {\n const hostElement = this.#component.hostView.rootNodes[0];\n const attributes = this.#el.nativeElement.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (attr.name === 'injectable') {\n hostElement.setAttribute('injected', '');\n }\n else {\n hostElement.setAttribute(attr.name, attr.value);\n }\n }\n }\n #bindInputs() {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable')\n continue;\n const valueOrInputValueFn = this[input.propName];\n const value = typeof valueOrInputValueFn === 'function' ? valueOrInputValueFn() : valueOrInputValueFn;\n this.#setInput(input, value);\n }\n }\n get propNames() {\n return this.#inputs.map(input => input.propName);\n }\n get injected() {\n return this.#component?.instance ?? null;\n }\n proxyFakeComputedInputs() {\n proxyFakeComputedInputs(this, this.propNames);\n }\n #bindOutputs() {\n for (const output of this.#outputs) {\n const outputFn = this.#component.instance?.[output.propName];\n if (!outputFn) {\n continue;\n }\n else if (outputFn instanceof EventEmitter) {\n outputFn.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((value) => this[output.propName].emit(value));\n }\n else {\n outputFn.subscribe((value) => this[output.propName].emit(value));\n }\n }\n }\n #bindEvents() {\n for (const name of ['click']) {\n this.#component.injector.get(ElementRef).nativeElement.addEventListener(name, (event) => {\n this.#el.nativeElement.dispatchEvent(new Event(name, {}));\n });\n }\n }\n #setInput(input, value) {\n this.#component.setInput(input?.templateName, value);\n }\n constructor() {\n this.proxyFakeComputedInputs();\n }\n ngOnInit() {\n if (this.injectable() && isPlatformBrowser(this.#platformId)) {\n this.#injector.get(getToken(this.constructor))().then(type => {\n this.#component = this.#viewContainerRef.createComponent(type, {\n projectableNodes: [\n Array.from(this.#el.nativeElement.childNodes)\n ],\n });\n this.#componentMirror = reflectComponentType(type);\n this.#bindInputs();\n this.#bindOutputs();\n this.#bindEvents();\n this.#setAttribute();\n // this.#viewContainerRef.remove(0);\n this.#component.changeDetectorRef.detectChanges();\n this.#el.nativeElement.style.display = 'none';\n // this.#el.nativeElement.remove();\n });\n }\n this.proxyFakeComputedInputs();\n }\n ngOnChanges(simpleChanges) {\n if (this.injectable() && this.#componentMirror) {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable')\n return;\n const change = simpleChanges[input.propName];\n if (change) {\n this.#setInput(input, change.currentValue);\n }\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InjectableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: InjectableComponent, isStandalone: true, inputs: { injectable: { classPropertyName: \"injectable\", publicName: \"injectable\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { __action: \"action\" }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InjectableComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n // host: {ngSkipHydration: 'true'}\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbmplY3RhYmxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQzBCLFVBQVUsRUFDekMsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBQUUsUUFBUSxFQUNsQixnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFDbEQsWUFBWSxFQUVaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFPcEQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUU1QixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLFFBQW1CLEVBQ25CLGFBQXNDO0lBRXRDLEtBQUssVUFBVSxpQkFBaUI7UUFDOUIsSUFBSSxPQUFPLGFBQWEsS0FBSyxVQUFVLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEUsT0FBTyxNQUFPLGFBQW1DLEVBQUUsQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sYUFBMkIsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEVBQUcsUUFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUErQixRQUFxQjtJQUMvRixPQUFP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VUFBVSxFQUFFLElBQUk7b0JBQ2hCLGtDQUFrQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRNaXJyb3IsIENvbXBvbmVudFJlZiwgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLFxuICBUeXBlLCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QsIGlucHV0LCBQTEFURk9STV9JRCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRSZWYsXG4gIG91dHB1dFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyByZWZsZWN0Q29tcG9uZW50VHlwZSwgT25Jbml0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBwcm94eUZha2VDb21wdXRlZElucHV0cyB9IGZyb20gXCIuL3NpZ25hbHNcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuXG5leHBvcnQgdHlwZSBUeXBlRmFjdG9yeUFzeW5jPFQ+ID0gKCkgPT4gUHJvbWlzZTxUeXBlPFQ+PjtcbmV4cG9ydCB0eXBlIFR5cGVGYWN0b3J5PFQ+ID0gKCkgPT4gKFR5cGU8VD4gfCBQcm9taXNlPFR5cGU8VD4+KTtcbmV4cG9ydCB0eXBlIFR5cGVPclR5cGVGYWN0b3J5PFQ+ID0gVHlwZTxUPiB8IFR5cGVGYWN0b3J5PFQ+O1xuXG5leHBvcnQgY29uc3QgVE9LRU4gPSAnzpR0a24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbXBvbmVudDxBQlMgPSBhbnksIElNUEwgPSBhbnk+KFxuICBhYnN0cmFjdDogVHlwZTxBQlM+LFxuICB0eXBlT3JGYWN0b3J5OiBUeXBlT3JUeXBlRmFjdG9yeTxJTVBMPixcbikge1xuICBhc3luYyBmdW5jdGlvbiBsb2FkQ29tcG9uZW50VHlwZSgpOiBQcm9taXNlPFR5cGU8SU1QTD4+IHtcbiAgICBpZiAodHlwZW9mIHR5cGVPckZhY3RvcnkgPT09ICdmdW5jdGlvbicgJiYgIXR5cGVPckZhY3RvcnkucHJvdG90eXBlKSB7XG4gICAgICByZXR1cm4gYXdhaXQgKHR5cGVPckZhY3RvcnkgYXMgVHlwZUZhY3Rvcnk8SU1QTD4pKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0eXBlT3JGYWN0b3J5IGFzIFR5cGU8SU1QTD47XG4gICAgfVxuICB9XG4gIHJldHVybiB7IHByb3ZpZGU6IChhYnN0cmFjdCBhcyBhbnkpW1RPS0VOXSwgdXNlVmFsdWU6IGxvYWRDb21wb25lbnRUeXBlIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUHJvdmlkZUNvbW9wbmVudENvbmZpZ3VyZTxTdG9yZSA9IGFueSwgQ29tcG9uZW50ID0gYW55PihhYnN0cmFjdDogVHlwZTxTdG9yZT4pIHtcbiAgcmV0dXJuICh0eXBlT3JGYWN0b3J5OiBUeXBlT3JUeXBlRmFjdG9yeTxDb21wb25lbnQ+KSA9PiBwcm92aWRlQ29tcG9uZW50KGFic3RyYWN0LCB0eXBlT3JGYWN0b3J5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRva2VuaXplZFR5cGUoKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFR5cGU8YW55Pj4odHlwZTogVCkge1xuICAgICh0eXBlIGFzIGFueSlbVE9LRU5dID0gbmV3IEluamVjdGlvblRva2VuPFQ+KHR5cGUubmFtZSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb2tlbih0eXBlOiBUeXBlPGFueT4pIHtcbiAgcmV0dXJuICh0eXBlIGFzIGFueSlbVE9LRU5dO1xufVxuXG5leHBvcnQgZW51bSBIb3N0VHlwZSB7XG4gIERpciA9ICfJtWRpcicsXG4gIENtcCA9ICfJtWNtcCcsXG59XG5cbnR5cGUgSU8gPSB7cHJvcE5hbWU6IHN0cmluZywgdGVtcGxhdGVOYW1lOiBzdHJpbmd9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YTxUPih0eXBlOiBUeXBlPFQ+KSB7XG4gIGlmIChIb3N0VHlwZS5DbXAgaW4gdHlwZSkge1xuICAgIHJldHVybiB0eXBlW0hvc3RUeXBlLkNtcF07XG4gIH0gZWxzZSBpZiAoSG9zdFR5cGUuRGlyIGluIHR5cGUpIHtcbiAgICByZXR1cm4gdHlwZVtIb3N0VHlwZS5EaXJdO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHM8VD4odHlwZTogVHlwZTxUPik6IElPW10ge1xuICBjb25zdCBtZXRhID0gZ2V0TWV0YSh0eXBlKTtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzPHN0cmluZz4obWV0YVsnaW5wdXRzJ10pXG4gICAgLm1hcCgoW3RlbXBsYXRlTmFtZSwgW3Byb3BOYW1lXV0pID0+ICh7cHJvcE5hbWUsIHRlbXBsYXRlTmFtZX0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE91dHB1dHM8VD4odHlwZTogVHlwZTxUPik6IElPW10ge1xuICBjb25zdCBtZXRhID0gZ2V0TWV0YSh0eXBlKTtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzPHN0cmluZz4obWV0YVsnb3V0cHV0cyddKVxuICAgIC5tYXAoKFt0ZW1wbGF0ZU5hbWUsIHByb3BOYW1lXSkgPT4gKHtwcm9wTmFtZSwgdGVtcGxhdGVOYW1lfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRzQnlDb21wb25lbnRSZWY8VCBleHRlbmRzIHt9ID0gYW55PihjbXA6IENvbXBvbmVudFJlZjxUPik6IElPW10ge1xuICByZXR1cm4gZ2V0SW5wdXRzKGNtcC5pbnN0YW5jZS5jb25zdHJ1Y3RvciBhcyBUeXBlPFQ+KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE91dHB1dHNCeUluc3RhbmNlPFQgZXh0ZW5kcyB7fSA9IGFueT4oY21wOiBDb21wb25lbnRSZWY8VD4pOiBJT1tdIHtcbiAgcmV0dXJuIGdldE91dHB1dHMoY21wLmluc3RhbmNlLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gaG9zdDoge25nU2tpcEh5ZHJhdGlvbjogJ3RydWUnfVxufSlcbmV4cG9ydCBjbGFzcyBJbmplY3RhYmxlQ29tcG9uZW50PFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICByZWFkb25seSAjcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHJlYWRvbmx5ICN2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICByZWFkb25seSAjaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI2VsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgI2NvbXBvbmVudDogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG4gICNjb21wb25lbnRNaXJyb3I6IENvbXBvbmVudE1pcnJvcjxUPiB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IGluamVjdGFibGUgPSBpbnB1dChmYWxzZSwge3RyYW5zZm9ybTogKHZhbHVlOiBhbnkpID0+IHZhbHVlID09PSAnJyA/IHRydWUgOiB2YWx1ZX0pO1xuICAvLyBUT1RPOiDmtojjgZnjgajkuIDpg6jjga5BY3Rpb25FZmZlY3TjgYzli5XjgYvjgarjgY/jgarjgovjgILjgYrjgZ3jgonjgY/jg5DjgqTjg7Pjg4fjgqPjg7PjgrDjga7llY/poYzjgIJcbiAgcmVhZG9ubHkgX19hY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPih7YWxpYXM6ICdhY3Rpb24nfSk7XG5cbiAgZ2V0ICNpbnB1dHMoKTogSU9bXSB7XG4gICAgcmV0dXJuIGdldElucHV0cyh0aGlzLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xuICB9XG5cbiAgZ2V0ICNvdXRwdXRzKCk6IElPW10ge1xuICAgIHJldHVybiBnZXRPdXRwdXRzKHRoaXMuY29uc3RydWN0b3IgYXMgVHlwZTxUPik7XG4gICAgLy8gY29uc3QgaW1wbCA9IHRoaXMuI2NvbXBvbmVudE1pcnJvciEub3V0cHV0cztcbiAgICAvLyByZXR1cm4gYWJzLmZpbHRlcihhYnN0cmFjdE91dHB1dCA9PiBpbXBsLnNvbWUoaW1wbE91dHB1dCA9PiBpbXBsT3V0cHV0LnRlbXBsYXRlTmFtZSA9PT0gYWJzdHJhY3RPdXRwdXQudGVtcGxhdGVOYW1lKSk7XG4gIH1cblxuICAjc2V0QXR0cmlidXRlKCkge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gKHRoaXMuI2NvbXBvbmVudCEuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBOYW1lZE5vZGVNYXAgPSB0aGlzLiNlbC5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlcy5pdGVtKGkpITtcbiAgICAgIGlmIChhdHRyLm5hbWUgPT09ICdpbmplY3RhYmxlJykge1xuICAgICAgICBob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2luamVjdGVkJywgJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYXR0ci52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2JpbmRJbnB1dHMoKSB7XG4gICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgIGlmIChpbnB1dC5wcm9wTmFtZSA9PT0gJ2luamVjdGFibGUnKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHZhbHVlT3JJbnB1dFZhbHVlRm4gPSB0aGlzW2lucHV0LnByb3BOYW1lXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIHZhbHVlT3JJbnB1dFZhbHVlRm4gPT09ICdmdW5jdGlvbicgPyB2YWx1ZU9ySW5wdXRWYWx1ZUZuKCkgOiB2YWx1ZU9ySW5wdXRWYWx1ZUZuO1xuICAgICAgdGhpcy4jc2V0SW5wdXQoaW5wdXQsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcHJvcE5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLiNpbnB1dHMubWFwKGlucHV0ID0+IGlucHV0LnByb3BOYW1lKTtcbiAgfVxuXG4gIGdldCBpbmplY3RlZCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbXBvbmVudD8uaW5zdGFuY2UgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCkge1xuICAgIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKHRoaXMsIHRoaXMucHJvcE5hbWVzKTtcbiAgfVxuXG4gICNiaW5kT3V0cHV0cygpIHtcbiAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0aGlzLiNvdXRwdXRzKSB7XG4gICAgICBjb25zdCBvdXRwdXRGbiA9ICh0aGlzLiNjb21wb25lbnQhLmluc3RhbmNlIGFzIGFueSk/LltvdXRwdXQucHJvcE5hbWVdIGFzIEV2ZW50RW1pdHRlcjxhbnk+IHwgT3V0cHV0UmVmPGFueT47XG4gICAgICBpZiAoIW91dHB1dEZuKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChvdXRwdXRGbiBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcikge1xuICAgICAgICBvdXRwdXRGbi5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXNbb3V0cHV0LnByb3BOYW1lXS5lbWl0KHZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRwdXRGbi5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzW291dHB1dC5wcm9wTmFtZV0uZW1pdCh2YWx1ZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNiaW5kRXZlbnRzKCkge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiBbJ2NsaWNrJ10pIHtcbiAgICAgIHRoaXMuI2NvbXBvbmVudC5pbmplY3Rvci5nZXQoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLiNlbC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KG5hbWUsIHt9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjc2V0SW5wdXQoaW5wdXQ6IHtwcm9wTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZ30sIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLiNjb21wb25lbnQhLnNldElucHV0KGlucHV0Py50ZW1wbGF0ZU5hbWUsIHZhbHVlKTtcbiAgfVxuICBcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm94eUZha2VDb21wdXRlZElucHV0cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuI3BsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLiNpbmplY3Rvci5nZXQ8VHlwZUZhY3RvcnlBc3luYzxUPj4oZ2V0VG9rZW4odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKSgpLnRoZW4odHlwZSA9PiB7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudCA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFQ+KHR5cGUsIHtcbiAgICAgICAgICBwcm9qZWN0YWJsZU5vZGVzOiBbXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcylcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY29tcG9uZW50TWlycm9yID0gcmVmbGVjdENvbXBvbmVudFR5cGUodHlwZSk7XG4gICAgICAgIHRoaXMuI2JpbmRJbnB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZE91dHB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZEV2ZW50cygpO1xuICAgICAgICB0aGlzLiNzZXRBdHRyaWJ1dGUoKTtcbiAgICAgICAgLy8gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoMCk7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudC5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgLy8gdGhpcy4jZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIHRoaXMuI2NvbXBvbmVudE1pcnJvcikge1xuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgICAgaWYgKGlucHV0LnByb3BOYW1lID09PSAnaW5qZWN0YWJsZScpIHJldHVybjtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gc2ltcGxlQ2hhbmdlc1tpbnB1dC5wcm9wTmFtZV0gYXMgU2ltcGxlQ2hhbmdlO1xuICAgICAgICBpZiAoY2hhbmdlKSB7XG4gICAgICAgICAgdGhpcy4jc2V0SW5wdXQoaW5wdXQsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=","import { SIGNAL } from '@angular/core/primitives/signals';\nfunction applyValueToInputField(instance, inputSignalNode, privateName, value) {\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[privateName] = value;\n }\n}\nexport function applyToInput(instance, propName, value) {\n const inputSignalNode = instance[propName][SIGNAL];\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[propName] = value;\n }\n}\nexport function updateInput(instance, propName, updater) {\n const inputSignalNode = instance[propName][SIGNAL];\n if (inputSignalNode !== null) {\n const value = updater(instance[propName]());\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[propName] = updater(instance[propName]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUQsU0FBUyxzQkFBc0IsQ0FDN0IsUUFBVyxFQUNYLGVBQXlELEVBQ3pELFdBQW1CLEVBQ25CLEtBQWM7SUFFZCxJQUFJLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixlQUFlLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7U0FBTSxDQUFDO1FBQ0wsUUFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixRQUFXLEVBQ1gsUUFBVyxFQUNYLEtBQTRCO0lBRTdCLE1BQU0sZUFBZSxHQUFJLFFBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFzQyxDQUFDO0lBQ2pHLElBQUksZUFBZSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0FBQ0YsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLFFBQVcsRUFDWCxRQUFXLEVBQ1gsT0FBZ0U7SUFFaEUsTUFBTSxlQUFlLEdBQUksUUFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQXNDLENBQUM7SUFDakcsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFFLFFBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDTCxRQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBRSxRQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNpZ25hbCwgybVJbnB1dFNpZ25hbE5vZGUgYXMgSW5wdXRTaWduYWxOb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTSUdOQUwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3ByaW1pdGl2ZXMvc2lnbmFscyc7XG5cbmZ1bmN0aW9uIGFwcGx5VmFsdWVUb0lucHV0RmllbGQ8VD4oXG4gIGluc3RhbmNlOiBULFxuICBpbnB1dFNpZ25hbE5vZGU6IG51bGwgfCBJbnB1dFNpZ25hbE5vZGU8dW5rbm93biwgdW5rbm93bj4sXG4gIHByaXZhdGVOYW1lOiBzdHJpbmcsXG4gIHZhbHVlOiB1bmtub3duLFxuKSB7XG4gIGlmIChpbnB1dFNpZ25hbE5vZGUgIT09IG51bGwpIHtcbiAgICBpbnB1dFNpZ25hbE5vZGUuYXBwbHlWYWx1ZVRvSW5wdXRTaWduYWwoaW5wdXRTaWduYWxOb2RlLCB2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgKGluc3RhbmNlIGFzIGFueSlbcHJpdmF0ZU5hbWVdID0gdmFsdWU7XG4gIH1cbn1cblxudHlwZSBJbnB1dFNpZ25hbFR5cGU8VD4gPSBUIGV4dGVuZHMgSW5wdXRTaWduYWw8aW5mZXIgVT4gPyBVIDogbmV2ZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRvSW5wdXQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICBpbnN0YW5jZTogVCxcbiAgcHJvcE5hbWU6IEssXG4gIHZhbHVlOiBJbnB1dFNpZ25hbFR5cGU8VFtLXT4sXG4pIHtcblx0Y29uc3QgaW5wdXRTaWduYWxOb2RlID0gKGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdW1NJR05BTF0gYXMgSW5wdXRTaWduYWxOb2RlPHVua25vd24sIHVua25vd24+O1xuXHRpZiAoaW5wdXRTaWduYWxOb2RlICE9PSBudWxsKSB7XG5cdFx0aW5wdXRTaWduYWxOb2RlLmFwcGx5VmFsdWVUb0lucHV0U2lnbmFsKGlucHV0U2lnbmFsTm9kZSwgdmFsdWUpO1xuXHR9IGVsc2Uge1xuXHRcdChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXSA9IHZhbHVlO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbnB1dDxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIGluc3RhbmNlOiBULFxuICBwcm9wTmFtZTogSyxcbiAgdXBkYXRlcjogKHZhbHVlOiBJbnB1dFNpZ25hbFR5cGU8VFtLXT4pID0+IElucHV0U2lnbmFsVHlwZTxUW0tdPixcbikge1xuICBjb25zdCBpbnB1dFNpZ25hbE5vZGUgPSAoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV1bU0lHTkFMXSBhcyBJbnB1dFNpZ25hbE5vZGU8dW5rbm93biwgdW5rbm93bj47XG4gIGlmIChpbnB1dFNpZ25hbE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHVwZGF0ZXIoKGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdKCkpO1xuICAgIGlucHV0U2lnbmFsTm9kZS5hcHBseVZhbHVlVG9JbnB1dFNpZ25hbChpbnB1dFNpZ25hbE5vZGUsIHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICAoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV0gPSB1cGRhdGVyKChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXSk7XG4gIH1cbn1cbiJdfQ==","import { isObservable, lastValueFrom } from 'rxjs';\nexport async function wrapLoadChildren(loadChildrenCallback) {\n const children = await loadChildrenCallback();\n const _children = isObservable(children) ? await lastValueFrom(children) : children;\n const __children = 'default' in _children\n ? _children.default\n : 'routes' in _children\n ? _children.routes\n : _children;\n return __children;\n}\nexport function recursiveWrapRoute(route, ...wrappers) {\n const wrappedRoute = wrappers.reduce((acc, wrapper) => wrapper(acc), route);\n return {\n ...wrappedRoute,\n children: wrappedRoute.children\n ? recursiveWrapRoutes(wrappedRoute.children, ...wrappers)\n : undefined,\n loadChildren: wrappedRoute.loadChildren\n ? () => wrapLoadChildren(wrappedRoute.loadChildren).then(routes => recursiveWrapRoutes(routes, ...wrappers))\n : undefined,\n };\n}\nexport function recursiveWrapRoutes(routes, ...wrappers) {\n return routes.map(route => recursiveWrapRoute(route, ...wrappers));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxvQkFBMEM7SUFFMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRixNQUFNLFVBQVUsR0FBRyxTQUFTLElBQUksU0FBUztRQUN2QyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU87UUFDbkIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUNsQixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2QsT0FBTyxVQUFzQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBWSxFQUFFLEdBQUcsUUFBcUM7SUFDdkYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RSxPQUFPO1FBQ0wsR0FBRyxZQUFZO1FBQ2YsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQzdCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxTQUFTO1FBQ2IsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO1lBQ3JDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDNUcsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsR0FBRyxRQUFxQztJQUMxRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkQ2hpbGRyZW5DYWxsYmFjaywgUm91dGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBpc09ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyYXBMb2FkQ2hpbGRyZW4oXG4gIGxvYWRDaGlsZHJlbkNhbGxiYWNrOiBMb2FkQ2hpbGRyZW5DYWxsYmFja1xuKTogUHJvbWlzZTxSb3V0ZXM+IHtcbiAgY29uc3QgY2hpbGRyZW4gPSBhd2FpdCBsb2FkQ2hpbGRyZW5DYWxsYmFjaygpO1xuICBjb25zdCBfY2hpbGRyZW4gPSBpc09ic2VydmFibGUoY2hpbGRyZW4pID8gYXdhaXQgbGFzdFZhbHVlRnJvbShjaGlsZHJlbikgOiBjaGlsZHJlbjtcbiAgY29uc3QgX19jaGlsZHJlbiA9ICdkZWZhdWx0JyBpbiBfY2hpbGRyZW4gXG4gICAgPyBfY2hpbGRyZW4uZGVmYXVsdFxuICAgIDogJ3JvdXRlcycgaW4gX2NoaWxkcmVuXG4gICAgPyBfY2hpbGRyZW4ucm91dGVzXG4gICAgOiBfY2hpbGRyZW47XG4gIHJldHVybiBfX2NoaWxkcmVuIGFzIG5ldmVyIGFzIFByb21pc2U8Um91dGVzPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY3Vyc2l2ZVdyYXBSb3V0ZShyb3V0ZTogUm91dGUsIC4uLndyYXBwZXJzOiAoKHJvdXRlOiBSb3V0ZSkgPT4gUm91dGUpW10pOiBSb3V0ZSB7XG4gIGNvbnN0IHdyYXBwZWRSb3V0ZSA9IHdyYXBwZXJzLnJlZHVjZSgoYWNjLCB3cmFwcGVyKSA9PiB3cmFwcGVyKGFjYyksIHJvdXRlKTtcbiAgcmV0dXJuIHtcbiAgICAuLi53cmFwcGVkUm91dGUsXG4gICAgY2hpbGRyZW46IHdyYXBwZWRSb3V0ZS5jaGlsZHJlbiBcbiAgICAgID8gcmVjdXJzaXZlV3JhcFJvdXRlcyh3cmFwcGVkUm91dGUuY2hpbGRyZW4sIC4uLndyYXBwZXJzKVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbG9hZENoaWxkcmVuOiB3cmFwcGVkUm91dGUubG9hZENoaWxkcmVuIFxuICAgICAgPyAoKSA9PiB3cmFwTG9hZENoaWxkcmVuKHdyYXBwZWRSb3V0ZS5sb2FkQ2hpbGRyZW4pLnRoZW4ocm91dGVzID0+IHJlY3Vyc2l2ZVdyYXBSb3V0ZXMocm91dGVzLCAuLi53cmFwcGVycykpXG4gICAgICA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY3Vyc2l2ZVdyYXBSb3V0ZXMocm91dGVzOiBSb3V0ZXMsIC4uLndyYXBwZXJzOiAoKHJvdXRlOiBSb3V0ZSkgPT4gUm91dGUpW10pOiBSb3V0ZXMge1xuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiByZWN1cnNpdmVXcmFwUm91dGUocm91dGUsIC4uLndyYXBwZXJzKSk7XG59XG4iXX0=","import { InjectionToken } from \"@angular/core\";\nexport const NG_ATOMIC_DEBUG = new InjectionToken('NG_ATOMIC_DEBUG');\nexport function withNgAtomicDebug() {\n return { provide: NG_ATOMIC_DEBUG, useValue: true };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvbmctYXRvbWljLWRlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFVLGlCQUFpQixDQUFDLENBQUM7QUFDOUUsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IE5HX0FUT01JQ19ERUJVRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignTkdfQVRPTUlDX0RFQlVHJyk7XG5leHBvcnQgZnVuY3Rpb24gd2l0aE5nQXRvbWljRGVidWcoKSB7XG4gIHJldHVybiB7cHJvdmlkZTogTkdfQVRPTUlDX0RFQlVHLCB1c2VWYWx1ZTogdHJ1ZX07XG59XG4iXX0=","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, inject, input } from '@angular/core';\nimport { NG_ATOMIC_DEBUG } from '../ng-atomic-debug';\nimport * as i0 from \"@angular/core\";\nconst DEBUG_CONFIG = {\n outline: '1px',\n colors: {\n 'templates': '#f00',\n 'organisms': '#0f0',\n 'molecules': '#00f',\n 'atoms': '#ff0',\n 'frames': 'transparent',\n 'default': '#000',\n },\n excludes: ['frames', 'app', 'pages', 'atoms'],\n};\nfunction getType(element) {\n return element.tagName.toLowerCase().split('-')[0];\n}\nfunction getName(element) {\n return element.tagName.toLowerCase();\n}\nfunction getLabel(element) {\n const name = getName(element);\n const type = getType(element);\n if (DEBUG_CONFIG.excludes.includes(type))\n return;\n return `${name}${element.hasAttribute('injected') ? '[injected]' : ''}`;\n}\nexport class DebugDirective {\n el = inject(ElementRef);\n platformId = inject(PLATFORM_ID);\n isDebug = input(inject(NG_ATOMIC_DEBUG, { optional: true }) ?? false);\n label = input(getLabel(this.el.nativeElement));\n ngOnInit() {\n if (isPlatformBrowser(this.platformId) && this.isDebug()) {\n const type = getType(this.el.nativeElement);\n const color = DEBUG_CONFIG.colors?.[type] ?? DEBUG_CONFIG.colors.default;\n this.createLabelElement({ label: this.label(), color });\n this.createOutline(color);\n }\n }\n createLabelElement(options) {\n const el = document.createElement('span');\n el.textContent = options.label;\n el.style.backgroundColor = `${options.color}`;\n el.style.color = '#fff';\n el.style.padding = '2px 4px';\n el.style.position = 'absolute';\n el.style.fontSize = '10px';\n el.style.top = '0';\n el.style.left = '0';\n el.style.zIndex = '9999';\n el.style.lineHeight = '1.5em';\n el.style.whiteSpace = 'nowrap';\n this.el.nativeElement.appendChild(el);\n }\n createOutline(color) {\n this.el.nativeElement.style.outline = `${DEBUG_CONFIG.outline} solid ${color}`;\n this.el.nativeElement.style.outlineOffset = '-1px';\n this.el.nativeElement.style.position = 'relative';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DebugDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: DebugDirective, isStandalone: true, selector: \"debug\", inputs: { isDebug: { classPropertyName: \"isDebug\", publicName: \"isDebug\", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DebugDirective, decorators: [{\n type: Directive,\n args: [{ standalone: true, selector: 'debug' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZGVidWcvZGVidWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFckQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUU7UUFDTixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0NBQzlDLENBQUM7QUFFRixTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNuQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNuQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQW9CO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixNQUFNLElBQUksR0FBRyxPQUFP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QUM7dUdBdENVLGNBQWM7MkZBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUExBVEZPUk1fSUQsIGluamVjdCwgT25Jbml0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfQVRPTUlDX0RFQlVHIH0gZnJvbSAnLi4vbmctYXRvbWljLWRlYnVnJztcblxuY29uc3QgREVCVUdfQ09ORklHID0ge1xuICBvdXRsaW5lOiAnMXB4JyxcbiAgY29sb3JzOiB7XG4gICAgJ3RlbXBsYXRlcyc6ICcjZjAwJyxcbiAgICAnb3JnYW5pc21zJzogJyMwZjAnLFxuICAgICdtb2xlY3VsZXMnOiAnIzAwZicsXG4gICAgJ2F0b21zJzogJyNmZjAnLFxuICAgICdmcmFtZXMnOiAndHJhbnNwYXJlbnQnLFxuICAgICdkZWZhdWx0JzogJyMwMDAnLFxuICB9LFxuICBleGNsdWRlczogWydmcmFtZXMnLCAnYXBwJywgJ3BhZ2VzJywgJ2F0b21zJ10sXG59O1xuXG5mdW5jdGlvbiBnZXRUeXBlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCctJylbMF07XG59XG5cbmZ1bmN0aW9uIGdldE5hbWUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBzdHJpbmcge1xuICByZXR1cm4gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldExhYmVsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgY29uc3QgbmFtZSA9IGdldE5hbWUoZWxlbWVudCk7XG4gIGNvbnN0IHR5cGUgPSBnZXRUeXBlKGVsZW1lbnQpO1xuICBpZiAoREVCVUdfQ09ORklHLmV4Y2x1ZGVzLmluY2x1ZGVzKHR5cGUpKSByZXR1cm47XG4gIHJldHVybiBgJHtuYW1lfSR7ZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2luamVjdGVkJykgPyAnW2luamVjdGVkXScgOiAnJ31gO1xufVxuXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2RlYnVnJ30pXG5leHBvcnQgY2xhc3MgRGVidWdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcm90ZWN0ZWQgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByb3RlY3RlZCBpc0RlYnVnID0gaW5wdXQoaW5qZWN0KE5HX0FUT01JQ19ERUJVRywge29wdGlvbmFsOiB0cnVlfSkgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgbGFiZWwgPSBpbnB1dChnZXRMYWJlbCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmlzRGVidWcoKSkge1xuICAgICAgY29uc3QgdHlwZSA9IGdldFR5cGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIGNvbnN0IGNvbG9yID0gREVCVUdfQ09ORklHLmNvbG9ycz8uW3R5cGVdID8/IERFQlVHX0NPTkZJRy5jb2xvcnMuZGVmYXVsdDtcbiAgICAgIHRoaXMuY3JlYXRlTGFiZWxFbGVtZW50KHsgbGFiZWw6IHRoaXMubGFiZWwoKSwgY29sb3IgfSk7XG4gICAgICB0aGlzLmNyZWF0ZU91dGxpbmUoY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVMYWJlbEVsZW1lbnQob3B0aW9uczoge1xuICAgIGxhYmVsOiBzdHJpbmdcbiAgICBjb2xvcjogc3RyaW5nXG4gIH0pIHtcbiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBlbC50ZXh0Q29udGVudCA9IG9wdGlvbnMubGFiZWw7XG4gICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYCR7b3B0aW9ucy5jb2xvcn1gO1xuICAgIGVsLnN0eWxlLmNvbG9yID0gJyNmZmYnO1xuICAgIGVsLnN0eWxlLnBhZGRpbmcgPSAnMnB4IDRweCc7XG4gICAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGVsLnN0eWxlLmZvbnRTaXplID0gJzEwcHgnO1xuICAgIGVsLnN0eWxlLnRvcCA9ICcwJztcbiAgICBlbC5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIGVsLnN0eWxlLnpJbmRleCA9ICc5OTk5JztcbiAgICBlbC5zdHlsZS5saW5lSGVpZ2h0ID0gJzEuNWVtJztcbiAgICBlbC5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPdXRsaW5lKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3V0bGluZSA9IGAke0RFQlVHX0NPTkZJRy5vdXRsaW5lfSBzb2xpZCAke2NvbG9yfWA7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLm91dGxpbmVPZmZzZXQgPSAnLTFweCc7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgfVxufSJdfQ==","import { ApplicationRef, Directive, ElementRef, Injector, output, inject } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { InjectableComponent } from \"./injectable-component\";\nimport { NgAtomicRootActionStore } from \"./action-store\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { DebugDirective } from './debug';\nimport { applyEffect, EffectResolver, getEffectEntries } from \"./effect\";\nimport { injectEffectEntries } from \"./effect\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./debug/debug.directive\";\nexport class NgAtomicHostActionStore {\n logger = inject(NgAtomicActionLogger);\n root = inject(NgAtomicRootActionStore);\n appRef = inject(ApplicationRef);\n route = inject(ActivatedRoute);\n injector = inject(Injector);\n async dispatch(action, context) {\n this.logger.log(action, context.scope);\n if (context.scope === 'root') {\n return this.root.dispatch(action);\n }\n const resolver = new EffectResolver();\n const entries = [...getEffectEntries(context?.component), ...injectEffectEntries(this.injector)];\n resolver.registerMany(entries);\n const result = await applyEffect(resolver, action, context);\n if (!result.dispatch)\n return;\n if (this.isBootstrapOrRouteComponent(context)) {\n return this.dispatchToParentInjector(action, context);\n }\n else {\n return context.component.__action.emit(action);\n }\n }\n async dispatchToParentInjector(action, context, injector = this.injector) {\n this.logger.log(action, 'injector');\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (parentInjector && parentInjector !== Injector.NULL) {\n const effectEntries = injectEffectEntries(parentInjector);\n const resolver = new EffectResolver();\n resolver.registerMany(effectEntries);\n const result = await applyEffect(resolver, action, context);\n if (result.dispatch) {\n await this.dispatchToParentInjector(action, context, parentInjector);\n }\n }\n else {\n await this.root.dispatch(action);\n }\n }\n isBootstrapOrRouteComponent(context) {\n return this.isBootstrapComponent(context) || this.isRouteComponent(context);\n }\n isRouteComponent(context) {\n return this.route.snapshot.component === context.component.constructor;\n }\n isBootstrapComponent(context) {\n return this.appRef.components.some(component => component.instance === context.component);\n }\n registerRootEffectEntries(component) {\n const entries = [...getEffectEntries(component), ...injectEffectEntries(this.injector)]\n .filter(entry => entry.props.scopes.includes('root'));\n this.root.registerMany(entries);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicHostActionStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: NgAtomicHostActionStore, isStandalone: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicHostActionStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }] });\nexport class NgAtomicComponent extends InjectableComponent {\n actionStore = inject(NgAtomicHostActionStore);\n logger = inject(NgAtomicActionLogger);\n __injector = inject(Injector);\n __action = output({ alias: 'action' });\n #el = inject(ElementRef);\n get selector() {\n return this.#el.nativeElement.tagName.toLowerCase();\n }\n constructor() {\n super();\n this.actionStore.registerRootEffectEntries(this);\n }\n async dispatch(action_, scope = 'host', componentId = null) {\n const action = { ...action_, meta: { componentId, selector: this.selector } };\n return this.actionStore.dispatch(action, { component: this, scope });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: NgAtomicComponent, isStandalone: true, outputs: { __action: \"action\" }, usesInheritance: true, hostDirectives: [{ directive: NgAtomicHostActionStore }, { directive: i1.DebugDirective }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n hostDirectives: [\n NgAtomicHostActionStore,\n DebugDirective,\n ],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29yZS9zcmMvbGliL25nLWF0b21pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFdBQVcsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFJL0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFckMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFjLEVBQUUsT0FBc0I7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxF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LEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzt1R0F2QlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsNEdBdkVqQix1QkFBdUI7OzJGQXVFdkIsaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixjQUFjLEVBQUU7d0JBQ2QsdUJBQXVCO3dCQUN2QixjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIG91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4vYWN0aW9uXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vaW5qZWN0YWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7IE5nQXRvbWljUm9vdEFjdGlvblN0b3JlIH0gZnJvbSBcIi4vYWN0aW9uLXN0b3JlXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0FjdGlvbkxvZ2dlciB9IGZyb20gXCIuL2xvZ2dlclwiO1xuaW1wb3J0IHsgRGVidWdEaXJlY3RpdmUgfSBmcm9tICcuL2RlYnVnJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHQsIGFwcGx5RWZmZWN0LCBFZmZlY3RSZXNvbHZlciwgZ2V0RWZmZWN0RW50cmllcyB9IGZyb20gXCIuL2VmZmVjdFwiO1xuaW1wb3J0IHsgaW5qZWN0RWZmZWN0RW50cmllcyB9IGZyb20gXCIuL2VmZmVjdFwiO1xuXG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNIb3N0QWN0aW9uU3RvcmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KE5nQXRvbWljQWN0aW9uTG9nZ2VyKTtcbiAgcmVhZG9ubHkgcm9vdCA9IGluamVjdChOZ0F0b21pY1Jvb3RBY3Rpb25TdG9yZSk7XG4gIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGFzeW5jIGRpc3BhdGNoKGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIubG9nKGFjdGlvbiwgY29udGV4dC5zY29wZSk7XG5cbiAgICBpZiAoY29udGV4dC5zY29wZSA9PT0gJ3Jvb3QnKXtcbiAgICAgIHJldHVybiB0aGlzLnJvb3QuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICB9XG4gICAgICBcbiAgICBjb25zdCByZXNvbHZlciA9IG5ldyBFZmZlY3RSZXNvbHZlcigpO1xuICAgIGNvbnN0IGVudHJpZXMgPSBbLi4uZ2V0RWZmZWN0RW50cmllcyhjb250ZXh0Py5jb21wb25lbnQpLCAuLi5pbmplY3RFZmZlY3RFbnRyaWVzKHRoaXMuaW5qZWN0b3IpXTtcbiAgICByZXNvbHZlci5yZWdpc3Rlck1hbnkoZW50cmllcyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcHBseUVmZmVjdChyZXNvbHZlciwgYWN0aW9uLCBjb250ZXh0KTtcbiAgICBpZiAoIXJlc3VsdC5kaXNwYXRjaCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuaXNCb290c3RyYXBPclJvdXRlQ29tcG9uZW50KGNvbnRleHQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaFRvUGFyZW50SW5qZWN0b3IoYWN0aW9uLCBjb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNvbnRleHQuY29tcG9uZW50Ll9fYWN0aW9uLmVtaXQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZGlzcGF0Y2hUb1BhcmVudEluamVjdG9yKGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0LCBpbmplY3RvciA9IHRoaXMuaW5qZWN0b3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvZ2dlci5sb2coYWN0aW9uLCAnaW5qZWN0b3InKTtcbiAgICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGluamVjdG9yLmdldChJbmplY3RvciwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICBpZiAocGFyZW50SW5qZWN0b3IgJiYgcGFyZW50SW5qZWN0b3IgIT09IEluamVjdG9yLk5VTEwpIHtcbiAgICAgIGNvbnN0IGVmZmVjdEVudHJpZXMgPSBpbmplY3RFZmZlY3RFbnRyaWVzKHBhcmVudEluamVjdG9yKTtcbiAgICAgIGNvbnN0IHJlc29sdmVyID0gbmV3IEVmZmVjdFJlc29sdmVyKCk7XG4gICAgICByZXNvbHZlci5yZWdpc3Rlck1hbnkoZWZmZWN0RW50cmllcyk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcHBseUVmZmVjdChyZXNvbHZlciwgYWN0aW9uLCBjb250ZXh0KTtcbiAgXG4gICAgICBpZiAocmVzdWx0LmRpc3BhdGNoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2hUb1BhcmVudEluamVjdG9yKGFjdGlvbiwgY29udGV4dCwgcGFyZW50SW5qZWN0b3IpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnJvb3QuZGlzcGF0Y2goYWN0aW9uKTsgICAgXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzQm9vdHN0cmFwT3JSb3V0ZUNvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNCb290c3RyYXBDb21wb25lbnQoY29udGV4dCkgfHwgdGhpcy5pc1JvdXRlQ29tcG9uZW50KGNvbnRleHQpO1xuICB9XG4gIFxuICBwcm90ZWN0ZWQgaXNSb3V0ZUNvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuY29tcG9uZW50ID09PSBjb250ZXh0LmNvbXBvbmVudC5jb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0Jvb3RzdHJhcENvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUmVmLmNvbXBvbmVudHMuc29tZShjb21wb25lbnQgPT4gY29tcG9uZW50Lmluc3RhbmNlID09PSBjb250ZXh0LmNvbXBvbmVudCk7XG4gIH1cblxuICByZWdpc3RlclJvb3RFZmZlY3RFbnRyaWVzKGNvbXBvbmVudDogTmdBdG9taWNDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbnRyaWVzID0gWy4uLmdldEVmZmVjdEVudHJpZXMoY29tcG9uZW50KSwgLi4uaW5qZWN0RWZmZWN0RW50cmllcyh0aGlzLmluamVjdG9yKV1cbiAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnkucHJvcHMuc2NvcGVzLmluY2x1ZGVzKCdyb290JykpO1xuICAgIHRoaXMucm9vdC5yZWdpc3Rlck1hbnkoZW50cmllcyk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgTmdBdG9taWNIb3N0QWN0aW9uU3RvcmUsXG4gICAgRGVidWdEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nQXRvbWljQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudDxUPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25TdG9yZSA9IGluamVjdChOZ0F0b21pY0hvc3RBY3Rpb25TdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTmdBdG9taWNBY3Rpb25Mb2dnZXIpO1xuICByZWFkb25seSBfX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcmVhZG9ubHkgX19hY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPih7YWxpYXM6ICdhY3Rpb24nfSk7XG4gIHJlYWRvbmx5ICNlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBnZXQgc2VsZWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFjdGlvblN0b3JlLnJlZ2lzdGVyUm9vdEVmZmVjdEVudHJpZXModGhpcyk7XG4gIH1cblxuICBhc3luYyBkaXNwYXRjaChcbiAgICBhY3Rpb25fOiBBY3Rpb24sXG4gICAgc2NvcGUgPSAnaG9zdCcsXG4gICAgY29tcG9uZW50SWQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsLFxuICApIHtcbiAgICBjb25zdCBhY3Rpb24gPSB7Li4uYWN0aW9uXywgbWV0YTogeyBjb21wb25lbnRJZCwgc2VsZWN0b3I6IHRoaXMuc2VsZWN0b3IgfX07XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uU3RvcmUuZGlzcGF0Y2goYWN0aW9uLCB7IGNvbXBvbmVudDogdGhpcywgc2NvcGUgfSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9uZy1hdG9taWMtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1.DebugDirective"],"mappings":";;;;;;;;;;;;AAEO,MAAM,oBAAoB,CAAC;AAClC,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE;AACnC,QAAQ,OAAO,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACjF;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC/K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACVD,MAAC,oBAAoB,GAAG;AACpC,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC;AACpB,IAAI,QAAQ,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO;AACxC;AACO,SAAS,oBAAoB,CAAC,KAAK,GAAG,EAAE,EAAE;AACjD;AACA,IAAI,MAAM,eAAe,GAAG,EAAE,GAAG,KAAK,EAAE;AACxC,IAAI,IAAI,OAAO,IAAI,KAAK,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE;AAClD,QAAQ,eAAe,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,SAAS;AACxE,QAAQ,OAAO,eAAe,CAAC,KAAK;AACpC;AACA,IAAI,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,GAAG,oBAAoB,EAAE,EAAE,eAAe,CAAC;AAC/E;AACA,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACxE,QAAQ,eAAe,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC;AACzC;AACA,IAAI,OAAO,eAAe;AAC1B;AACA,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,gCAAgC,CAAC;AACzE,SAAS,uBAAuB,CAAC,UAAU,EAAE;AAC7C,IAAI,OAAO;AACX,QAAQ,OAAO,EAAE,YAAY;AAC7B,QAAQ,UAAU;AAClB,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;AACxB,KAAK;AACL;AACO,SAAS,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE;AAChE,IAAI,OAAO,uBAAuB,CAAC,CAAC,eAAe,MAAM;AACzD,QAAQ,SAAS,EAAE,SAAS;AAC5B,QAAQ,aAAa,EAAE,CAAC,IAAI,KAAK,qBAAqB,CAAC,IAAI,EAAE,MAAM,cAAc,CAAC,eAAe,CAAC,CAAC;AACnG,QAAQ,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;AAC1C,KAAK,CAAC,CAAC;AACP;AACO,SAAS,mBAAmB,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE;AACjE,IAAI,OAAO,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AAC9E,QAAQ,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI;AAChE,KAAK,CAAC,CAAC;AACP;AACA,MAAM,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC7C,SAAS,gBAAgB,CAAC,MAAM,EAAE;AACzC,IAAI,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE;AAC5C;AACO,SAAS,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAE;AAC7C,IAAI,MAAM,eAAe,GAAG,oBAAoB,CAAC,KAAK,CAAC;AACvD,IAAI,OAAO,UAAU,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE;AAC5C,QAAQ,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;AACtC,YAAY,SAAS,EAAE,CAAC,QAAQ,CAAC;AACjC,YAAY,KAAK,EAAE,eAAe;AAClC,YAAY,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;AACxG,YAAY,OAAO,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI;AAClD,SAAS,CAAC;AACV,KAAK;AACL;AACO,MAAM,cAAc,CAAC;AAC5B,IAAI,cAAc,GAAG,IAAI,GAAG,EAAE;AAC9B,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC1B,QAAQ,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC;AAChH,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAC1C,YAAY,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE;AAC1D,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;AACzD,gBAAgB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE;AAC7C,oBAAoB,aAAa,EAAE,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC;AACpG,oBAAoB,KAAK,EAAE,WAAW,CAAC,KAAK;AAC5C,iBAAiB,CAAC;AAClB;AACA;AACA;AACA,IAAI,YAAY,CAAC,OAAO,EAAE;AAC1B,QAAQ,KAAK,MAAM,KAAK,IAAI,OAAO;AACnC,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChC;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE;AACtC,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACrE;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE;AACtC,QAAQ,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACvC;AACA;AACO,eAAe,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;AAC7D,IAAI,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC;AAC5D,IAAI,IAAI,KAAK,EAAE,aAAa,EAAE;AAC9B,QAAQ,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;AAC5C,QAAQ,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;AACpD,QAAQ,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;AACtC,QAAQ,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;AACjD;AACA,IAAI,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC7B;;ACtFO,MAAM,uBAAuB,CAAC;AACrC,IAAI,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACzC,IAAI,QAAQ,GAAG,IAAI,YAAY,EAAE;AACjC,IAAI,QAAQ,GAAG,IAAI,cAAc,EAAE;AACnC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI;AACrE,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAC3C,YAAY,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAClF,SAAS,CAAC;AACV;AACA,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE;AAC3B,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAClC;AACA,IAAI,QAAQ,CAAC,WAAW,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC3C;AACA,IAAI,YAAY,CAAC,aAAa,EAAE;AAChC,QAAQ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC;AACjD;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAClL,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACzJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC3BhC,SAAS,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;AACjD,IAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;AACvC,QAAQ,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC;AAC/B;AACA,IAAI,OAAO,OAAO;AAClB;AACO,SAAS,WAAW,CAAC,OAAO,EAAE;AACrC,IAAI,OAAO,OAAO,OAAO,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,OAAO;AAClE;AACO,SAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE;AACzD,IAAI,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AACvC,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG;AAC5B,gBAAgB,GAAG,MAAM;AACzB,gBAAgB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC;AACtE,aAAa;AACb,YAAY,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;AAC5D,YAAY,IAAI,CAAC,OAAO;AACxB,gBAAgB,OAAO,SAAS;AAChC,YAAY,OAAO,IAAI;AACvB;AACA,aAAa;AACb,YAAY,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAC7E,YAAY,IAAI,MAAM,CAAC,MAAM;AAC7B,gBAAgB,OAAO,SAAS;AAChC,YAAY,OAAO,IAAI;AACvB;AACA,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,QAAQ,EAAE,OAAO,EAAE,SAAS,IAAI,gBAAgB;AACxD,QAAQ,MAAM,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM;AAC9C,YAAY,EAAE,EAAE,IAAI;AACpB,YAAY,OAAO;AACnB,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;AACtC,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,YAAY,GAAG,IAAI;AACnB,SAAS,CAAC;AACV,KAAK;AACL;;ACvCA,SAAS,IAAI,CAAC,aAAa,EAAE;AAC7B,IAAI,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,aAAa;AAC1E;AACO,SAAS,6BAA6B,CAAC,YAAY,EAAE;AAC5D,IAAI,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;AACnC,QAAQ,KAAK,EAAE,UAAU,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE;AAC1C,YAAY,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAC/C;AACA,KAAK,CAAC;AACN;AACO,SAAS,WAAW,CAAC,mBAAmB,EAAE;AACjD,IAAI,OAAO,cAAc,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB;AAC5F;AACO,SAAS,sBAAsB,CAAC,KAAK,EAAE;AAC9C,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC;AACnD;AACO,SAAS,aAAa,CAAC,mBAAmB,EAAE;AACnD,IAAI,OAAO,sBAAsB,CAAC,mBAAmB,CAAC,GAAG,aAAa,CAAC,mBAAmB,EAAE,CAAC,GAAG,mBAAmB;AACnH;AACO,SAAS,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE;AACxD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI;AACrE,QAAQ,MAAM,CAAC,KAAK,CAAC,GAAG,6BAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,KAAK,CAAC;AACN;AACY,MAAC,aAAa,mBAAmB,MAAM,CAAC,eAAe;AAC5D,SAAS,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC1C,IAAI,IAAI,YAAY;AACpB,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC5C,QAAQ,GAAG,GAAG;AACd,YAAY,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE;AAC3C,gBAAgB,KAAK,EAAE,UAAU,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE;AAClD,oBAAoB,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC;AACzD,oBAAoB,OAAO,QAAQ,CAAC,aAAa,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa;AACpF;AACA,aAAa,CAAC;AACd,SAAS;AACT,QAAQ,GAAG,CAAC,KAAK,EAAE;AACnB,YAAY,YAAY,GAAG,KAAK;AAChC,SAAS;AACT,KAAK,CAAC;AACN;AACO,SAAS,YAAY,CAAC,WAAW,EAAE,OAAO,EAAE;AACnD,IAAI,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;AACpD,IAAI,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI;AACnC,IAAI,OAAO,SAAS;AACpB;AACO,SAAS,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE;AAChD,IAAI,OAAO,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC;AAC7C;AACO,SAAS,cAAc,CAAC,SAAS,EAAE;AAC1C,IAAI,OAAO,CAAC,CAAC,SAAS,GAAG,aAAa,CAAC;AACvC;AACO,MAAM,QAAQ,CAAC;AACtB,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC;AAC1B;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;AAC7J,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAClJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,IAAI;AACtB,YAAY,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;AACjE,SAAS,CAAC,EAAE,CAAC;;AC1DD,MAAC,KAAK,GAAG;AACd,SAAS,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE;AAC1D,IAAI,eAAe,iBAAiB,GAAG;AACvC,QAAQ,IAAI,OAAO,aAAa,KAAK,UAAU,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;AAC7E,YAAY,OAAO,MAAM,aAAa,EAAE;AACxC;AACA,aAAa;AACb,YAAY,OAAO,aAAa;AAChC;AACA;AACA,IAAI,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE;AACpE;AACO,SAAS,6BAA6B,CAAC,QAAQ,EAAE;AACxD,IAAI,OAAO,CAAC,aAAa,KAAK,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC;AACvE;AACO,SAAS,aAAa,GAAG;AAChC,IAAI,OAAO,UAAU,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;AACnD,KAAK;AACL;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC/B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC;AACtB;AACU,IAAC;AACX,CAAC,UAAU,QAAQ,EAAE;AACrB,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW;AACjC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW;AACjC,CAAC,EAAE,QAAQ,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;AACxB,SAAS,OAAO,CAAC,IAAI,EAAE;AAC9B,IAAI,IAAI,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE;AAC9B,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACjC;AACA,SAAS,IAAI,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AACjC;AACA;AACO,SAAS,SAAS,CAAC,IAAI,EAAE;AAChC,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9B,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;AACxC,SAAS,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;AAC1E;AACO,SAAS,UAAU,CAAC,IAAI,EAAE;AACjC,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AAC9B,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;AACzC,SAAS,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;AACxE;AACO,SAAS,uBAAuB,CAAC,GAAG,EAAE;AAC7C,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC9C;AACO,SAAS,oBAAoB,CAAC,GAAG,EAAE;AAC1C,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;AAC/C;AACO,MAAM,mBAAmB,CAAC;AACjC,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAChD,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AACpC,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,IAAI,UAAU,GAAG,IAAI;AACrB,IAAI,gBAAgB,GAAG,IAAI;AAC3B,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACpF;AACA,IAAI,QAAQ,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC1C,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;AAC1C;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C;AACA;AACA;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACjE,QAAQ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU;AAC5D,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpD,YAAY,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3C,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE;AAC5C,gBAAgB,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC;AACxD;AACA,iBAAiB;AACjB,gBAAgB,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AAC/D;AACA;AACA;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1C,YAAY,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY;AAC/C,gBAAgB;AAChB,YAAY,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D,YAAY,MAAM,KAAK,GAAG,OAAO,mBAAmB,KAAK,UAAU,GAAG,mBAAmB,EAAE,GAAG,mBAAmB;AACjH,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;AACxC;AACA;AACA,IAAI,IAAI,SAAS,GAAG;AACpB,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC;AACxD;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,UAAU,EAAE,QAAQ,IAAI,IAAI;AAChD;AACA,IAAI,uBAAuB,GAAG;AAC9B,QAAQ,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACrD;AACA,IAAI,YAAY,GAAG;AACnB,QAAQ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC5C,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxE,YAAY,IAAI,CAAC,QAAQ,EAAE;AAC3B,gBAAgB;AAChB;AACA,iBAAiB,IAAI,QAAQ,YAAY,YAAY,EAAE;AACvD,gBAAgB,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3H;AACA,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChF;AACA;AACA;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;AACtC,YAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK;AACrG,gBAAgB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACzE,aAAa,CAAC;AACd;AACA;AACA,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE;AAC5B,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC;AAC5D;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,uBAAuB,EAAE;AACtC;AACA,IAAI,QAAQ,GAAG;AACf,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACtE,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;AAC1E,gBAAgB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,EAAE;AAC/E,oBAAoB,gBAAgB,EAAE;AACtC,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU;AACpE,qBAAqB;AACrB,iBAAiB,CAAC;AAClB,gBAAgB,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC;AAClE,gBAAgB,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,IAAI,CAAC,YAAY,EAAE;AACnC,gBAAgB,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,IAAI,CAAC,aAAa,EAAE;AACpC;AACA,gBAAgB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,EAAE;AACjE,gBAAgB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AAC7D;AACA,aAAa,CAAC;AACd;AACA,QAAQ,IAAI,CAAC,uBAAuB,EAAE;AACtC;AACA,IAAI,WAAW,CAAC,aAAa,EAAE;AAC/B,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACxD,YAAY,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;AAC9C,gBAAgB,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY;AACnD,oBAAoB;AACpB,gBAAgB,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC5D,gBAAgB,IAAI,MAAM,EAAE;AAC5B,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;AAC9D;AACA;AACA;AACA;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC7K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC5V;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC;AACA,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AChLvC,SAAS,sBAAsB,CAAC,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,EAAE;AAC/E,IAAI,IAAI,eAAe,KAAK,IAAI,EAAE;AAClC,QAAQ,eAAe,CAAC,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC;AACvE;AACA,SAAS;AACT,QAAQ,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAK;AACrC;AACA;AACO,SAAS,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;AACxD,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AACtD,IAAI,IAAI,eAAe,KAAK,IAAI,EAAE;AAClC,QAAQ,eAAe,CAAC,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC;AACvE;AACA,SAAS;AACT,QAAQ,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK;AAClC;AACA;AACO,SAAS,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;AACzD,IAAI,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AACtD,IAAI,IAAI,eAAe,KAAK,IAAI,EAAE;AAClC,QAAQ,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AACnD,QAAQ,eAAe,CAAC,uBAAuB,CAAC,eAAe,EAAE,KAAK,CAAC;AACvE;AACA,SAAS;AACT,QAAQ,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxD;AACA;;AC1BO,eAAe,gBAAgB,CAAC,oBAAoB,EAAE;AAC7D,IAAI,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE;AACjD,IAAI,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,GAAG,QAAQ;AACvF,IAAI,MAAM,UAAU,GAAG,SAAS,IAAI;AACpC,UAAU,SAAS,CAAC;AACpB,UAAU,QAAQ,IAAI;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS;AACvB,IAAI,OAAO,UAAU;AACrB;AACO,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG,QAAQ,EAAE;AACvD,IAAI,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;AAC/E,IAAI,OAAO;AACX,QAAQ,GAAG,YAAY;AACvB,QAAQ,QAAQ,EAAE,YAAY,CAAC;AAC/B,cAAc,mBAAmB,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,QAAQ;AACpE,cAAc,SAAS;AACvB,QAAQ,YAAY,EAAE,YAAY,CAAC;AACnC,cAAc,MAAM,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC;AACvH,cAAc,SAAS;AACvB,KAAK;AACL;AACO,SAAS,mBAAmB,CAAC,MAAM,EAAE,GAAG,QAAQ,EAAE;AACzD,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;AACtE;;ACxBY,MAAC,eAAe,GAAG,IAAI,cAAc,CAAC,iBAAiB;AAC5D,SAAS,iBAAiB,GAAG;AACpC,IAAI,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;AACvD;;ACAA,MAAM,YAAY,GAAG;AACrB,IAAI,OAAO,EAAE,KAAK;AAClB,IAAI,MAAM,EAAE;AACZ,QAAQ,WAAW,EAAE,MAAM;AAC3B,QAAQ,WAAW,EAAE,MAAM;AAC3B,QAAQ,WAAW,EAAE,MAAM;AAC3B,QAAQ,OAAO,EAAE,MAAM;AACvB,QAAQ,QAAQ,EAAE,aAAa;AAC/B,QAAQ,SAAS,EAAE,MAAM;AACzB,KAAK;AACL,IAAI,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;AACjD,CAAC;AACD,SAAS,OAAO,CAAC,OAAO,EAAE;AAC1B,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACtD;AACA,SAAS,OAAO,CAAC,OAAO,EAAE;AAC1B,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;AACxC;AACA,SAAS,QAAQ,CAAC,OAAO,EAAE;AAC3B,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;AACjC,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;AACjC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC5C,QAAQ;AACR,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC;AAC3E;AACO,MAAM,cAAc,CAAC;AAC5B,IAAI,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC3B,IAAI,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,IAAI,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;AACzE,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AAClD,IAAI,QAAQ,GAAG;AACf,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AAClE,YAAY,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AACvD,YAAY,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO;AACpF,YAAY,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC;AACnE,YAAY,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACrC;AACA;AACA,IAAI,kBAAkB,CAAC,OAAO,EAAE;AAChC,QAAQ,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACjD,QAAQ,EAAE,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK;AACtC,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AACrD,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM;AAC/B,QAAQ,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS;AACpC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;AACtC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM;AAClC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG;AAC1B,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG;AAC3B,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;AAChC,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO;AACrC,QAAQ,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ;AACtC,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;AAC7C;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACtF,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM;AAC1D,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;AACzD;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACxK,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACna;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC1D,SAAS,CAAC,EAAE,CAAC;;AC1DN,MAAM,uBAAuB,CAAC;AACrC,IAAI,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACzC,IAAI,IAAI,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC1C,IAAI,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AACnC,IAAI,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/B,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE;AACpC,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC;AAC9C,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE;AACtC,YAAY,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7C;AACA,QAAQ,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE;AAC7C,QAAQ,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxG,QAAQ,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;AACtC,QAAQ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;AACnE,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC5B,YAAY;AACZ,QAAQ,IAAI,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;AACvD,YAAY,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC;AACjE;AACA,aAAa;AACb,YAAY,OAAO,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1D;AACA;AACA,IAAI,MAAM,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC9E,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;AAC3C,QAAQ,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/E,QAAQ,IAAI,cAAc,IAAI,cAAc,KAAK,QAAQ,CAAC,IAAI,EAAE;AAChE,YAAY,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,CAAC;AACrE,YAAY,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE;AACjD,YAAY,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC;AAChD,YAAY,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;AACvE,YAAY,IAAI,MAAM,CAAC,QAAQ,EAAE;AACjC,gBAAgB,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC;AACpF;AACA;AACA,aAAa;AACb,YAAY,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5C;AACA;AACA,IAAI,2BAA2B,CAAC,OAAO,EAAE;AACzC,QAAQ,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACnF;AACA,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC9B,QAAQ,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,WAAW;AAC9E;AACA,IAAI,oBAAoB,CAAC,OAAO,EAAE;AAClC,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;AACjG;AACA,IAAI,yBAAyB,CAAC,SAAS,EAAE;AACzC,QAAQ,MAAM,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9F,aAAa,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACjE,QAAQ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;AACvC;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACjL,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACvJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;AACvC,SAAS,CAAC,EAAE,CAAC;AACN,MAAM,iBAAiB,SAAS,mBAAmB,CAAC;AAC3D,IAAI,WAAW,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACjD,IAAI,MAAM,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACzC,IAAI,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC1C,IAAI,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE;AAC3D;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,EAAE;AACf,QAAQ,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACxD;AACA,IAAI,MAAM,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE;AAChE,QAAQ,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE;AACrF,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5E;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC3K,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,uBAAuB,EAAE,EAAE,EAAE,SAAS,EAAEA,cAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACrS;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC,oBAAoB,cAAc,EAAE;AACpC,wBAAwB,uBAAuB;AAC/C,wBAAwB,cAAc;AACtC,qBAAqB;AACrB,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACpGvC;AACA;AACA;;;;"}
1
+ {"version":3,"file":"ng-atomic-core.mjs","sources":["../tmp-esm2022/logger.js","../tmp-esm2022/effect.js","../tmp-esm2022/action-store.js","../tmp-esm2022/action.js","../tmp-esm2022/signals.js","../tmp-esm2022/injectable-component.js","../tmp-esm2022/input.js","../tmp-esm2022/route.js","../tmp-esm2022/ng-atomic-debug.js","../tmp-esm2022/debug/debug.directive.js","../tmp-esm2022/ng-atomic-component.js","../tmp-esm2022/ng-atomic-core.js"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nexport class NgAtomicActionLogger {\n log(action, scope = 'default') {\n console.info(`[NgAtomicActionLogger] ${action?.name}`, { action, scope });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicActionLogger, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsR0FBRyxDQUFDLE1BQWMsRUFBRSxLQUFLLEdBQUcsU0FBUztRQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDLDBCQUEwQixNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO3VHQUhVLG9CQUFvQjsyR0FBcEIsb0JBQW9CLGNBRFIsTUFBTTs7MkZBQ2xCLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY0FjdGlvbkxvZ2dlciB7XG4gIGxvZyhhY3Rpb246IEFjdGlvbiwgc2NvcGUgPSAnZGVmYXVsdCcpIHtcbiAgICBjb25zb2xlLmluZm8oYFtOZ0F0b21pY0FjdGlvbkxvZ2dlcl0gJHthY3Rpb24/Lm5hbWV9YCwge2FjdGlvbiwgc2NvcGV9KTtcbiAgfVxufVxuIl19","import { InjectionToken, Injector, inject, runInInjectionContext } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nexport const DEFAULT_EFFECT_PROPS = {\n dispatch: false,\n scopes: ['host'],\n accessor: (action) => action.payload,\n};\nexport function normalizeEffectProps(props = {}) {\n // If props has 'scope' but not 'scopes', convert scope to scopes array\n const propsWithScopes = { ...props };\n if ('scope' in props && !('scopes' in props)) {\n propsWithScopes.scopes = props.scope ? [props.scope] : undefined;\n delete propsWithScopes.scope;\n }\n const normalizedProps = merge({ ...DEFAULT_EFFECT_PROPS }, propsWithScopes);\n // Ensure scopes is always an array\n if (!normalizedProps.scopes || normalizedProps.scopes.length === 0) {\n normalizedProps.scopes = ['host'];\n }\n return normalizedProps;\n}\nconst EFFECT_ENTRY = new InjectionToken('[@ng-atomic/core] EFFECT_ENTRY');\nfunction provideEffectEntryMulti(useFactory) {\n return {\n provide: EFFECT_ENTRY,\n useFactory,\n multi: true,\n deps: [Injector],\n };\n}\nexport function provideEffect(ActionIds, _effectFactory, props) {\n return provideEffectEntryMulti((factoryInjector) => ({\n actionIds: ActionIds,\n effectFactory: (host) => runInInjectionContext(host, () => _effectFactory(factoryInjector)),\n props: normalizeEffectProps(props),\n }));\n}\nexport function injectEffectEntries(injector = inject(Injector)) {\n return injector.get(EFFECT_ENTRY, [], { optional: true }).map((entry) => ({\n ...entry, context: { hostInjector: injector, scope: null }\n }));\n}\nconst EFFECT_ENTRIES_KEY = Symbol('_effectEntries_');\nexport function getEffectEntries(target) {\n return target[EFFECT_ENTRIES_KEY] ??= [];\n}\nexport function Effect(actionId, props = {}) {\n const normalizedProps = normalizeEffectProps(props);\n return function (target, _, descriptor) {\n getEffectEntries(target).push({\n actionIds: [actionId],\n props: normalizedProps,\n effectFactory: () => (payload, context) => descriptor.value.call(context.component, payload),\n context: { hostInjector: Injector.NULL }\n });\n };\n}\nexport class EffectResolver {\n effectEntryMap = new Map();\n register(effectEntry) {\n const actionIds = Array.isArray(effectEntry.actionIds) ? effectEntry.actionIds : [effectEntry.actionIds];\n for (const actionId of actionIds) {\n for (const scope of effectEntry.props.scopes) {\n const key = this.makeKey(actionId, scope);\n this.effectEntryMap.set(key, {\n effectFactory: () => effectEntry.effectFactory(effectEntry.context.hostInjector),\n props: effectEntry.props,\n });\n }\n }\n }\n registerMany(entries) {\n for (const entry of entries)\n this.register(entry);\n }\n resolve(actionId, scope = 'host') {\n return this.effectEntryMap.get(this.makeKey(actionId, scope));\n }\n makeKey(actionId, scope = 'host') {\n return `[${scope}]#${actionId}`;\n }\n}\nexport async function applyEffect(resolver, action, context) {\n const entry = resolver.resolve(action.id, context.scope);\n if (entry?.effectFactory) {\n const effect = entry.effectFactory();\n const payload = entry.props.accessor(action);\n await effect(payload, context);\n return { dispatch: entry.props.dispatch };\n }\n return { dispatch: true };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFZLE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBVWxDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUMvQyxRQUFRLEVBQUUsS0FBSztJQUNmLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNoQixRQUFRLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPO0NBQ3BDLENBQUM7QUFFWCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBbUQsRUFBRTtJQUN4Rix1RUFBdUU7SUFDdkUsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQ3JDLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0MsZUFBZSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2pFLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLEVBQUMsR0FBRyxvQkFBb0IsRUFBQyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBRTFFLG1DQUFtQztJQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuRSxlQUFl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LENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBQcm92aWRlciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi9hY3Rpb25cIjtcbmltcG9ydCB0eXBlIHsgTmdBdG9taWNDb21wb25lbnQgfSBmcm9tIFwiLi9uZy1hdG9taWMtY29tcG9uZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0UHJvcHMge1xuICBkaXNwYXRjaDogYm9vbGVhbjtcbiAgc2NvcGVzOiBzdHJpbmdbXTtcbiAgYWNjZXNzb3I6IChhY3Rpb246IEFjdGlvbikgPT4gYW55O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FRkZFQ1RfUFJPUFM6IEVmZmVjdFByb3BzID0ge1xuICBkaXNwYXRjaDogZmFsc2UsXG4gIHNjb3BlczogWydob3N0J10sXG4gIGFjY2Vzc29yOiAoYWN0aW9uOiBBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUVmZmVjdFByb3BzKHByb3BzOiBQYXJ0aWFsPEVmZmVjdFByb3BzICYgeyBzY29wZT86IHN0cmluZyB9PiA9IHt9KSB7XG4gIC8vIElmIHByb3BzIGhhcyAnc2NvcGUnIGJ1dCBub3QgJ3Njb3BlcycsIGNvbnZlcnQgc2NvcGUgdG8gc2NvcGVzIGFycmF5XG4gIGNvbnN0IHByb3BzV2l0aFNjb3BlcyA9IHsgLi4ucHJvcHMgfTtcbiAgaWYgKCdzY29wZScgaW4gcHJvcHMgJiYgISgnc2NvcGVzJyBpbiBwcm9wcykpIHtcbiAgICBwcm9wc1dpdGhTY29wZXMuc2NvcGVzID0gcHJvcHMuc2NvcGUgPyBbcHJvcHMuc2NvcGVdIDogdW5kZWZpbmVkO1xuICAgIGRlbGV0ZSBwcm9wc1dpdGhTY29wZXMuc2NvcGU7XG4gIH1cbiAgXG4gIGNvbnN0IG5vcm1hbGl6ZWRQcm9wcyA9IG1lcmdlKHsuLi5ERUZBVUxUX0VGRkVDVF9QUk9QU30sIHByb3BzV2l0aFNjb3Blcyk7XG4gIFxuICAvLyBFbnN1cmUgc2NvcGVzIGlzIGFsd2F5cyBhbiBhcnJheVxuICBpZiAoIW5vcm1hbGl6ZWRQcm9wcy5zY29wZXMgfHwgbm9ybWFsaXplZFByb3BzLnNjb3Blcy5sZW5ndGggPT09IDApIHtcbiAgICBub3JtYWxpemVkUHJvcHMuc2NvcGVzID0gWydob3N0J107XG4gIH1cbiAgXG4gIHJldHVybiBub3JtYWxpemVkUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udGV4dCB7XG4gIGhvc3RJbmplY3RvcjogSW5qZWN0b3IsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dCB7XG4gIHNjb3BlOiAncm9vdCcgfCAnaG9zdCcgfCBzdHJpbmcsXG4gIGNvbXBvbmVudD86IE5nQXRvbWljQ29tcG9uZW50LFxufVxuXG50eXBlIEVmZmVjdCA9IChwYXlsb2FkPzogYW55LCBjb250ZXh0PzogQWN0aW9uQ29udGV4dCkgPT4gYW55IHwgUHJvbWlzZTxhbnk+O1xudHlwZSBFZmZlY3RGYWN0b3J5ID0gKGhvc3RJbmplY3Rvcj86IEluamVjdG9yKSA9PiBFZmZlY3Q7XG5leHBvcnQgdHlwZSBFZmZlY3RSZXN1bHQgPSB7IGRpc3BhdGNoOiBib29sZWFuIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0RW50cnkge1xuXHRhY3Rpb25JZHM6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBlZmZlY3RGYWN0b3J5PzogRWZmZWN0RmFjdG9yeTtcbiAgcHJvcHM/OiBFZmZlY3RQcm9wcztcbiAgY29udGV4dD86IEVmZmVjdENvbnRleHQ7XG59XG5cbmludGVyZmFjZSBSZXNvbHZlZEVmZmVjdEVudHJ5IHtcbiAgZWZmZWN0RmFjdG9yeTogKCkgPT4gRWZmZWN0O1xuICBwcm9wczogRWZmZWN0UHJvcHM7XG59XG5cbmNvbnN0IEVGRkVDVF9FTlRSWSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFZmZlY3RFbnRyeT4oJ1tAbmctYXRvbWljL2NvcmVdIEVGRkVDVF9FTlRSWScpO1xuXG5mdW5jdGlvbiBwcm92aWRlRWZmZWN0RW50cnlNdWx0aSh1c2VGYWN0b3J5OiAoZmFjdG9yeUluamVjdG9yOiBJbmplY3RvcikgPT4gRWZmZWN0RW50cnkpOiBQcm92aWRlciB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogRUZGRUNUX0VOVFJZLFxuICAgIHVzZUZhY3RvcnksXG5cdFx0bXVsdGk6IHRydWUsXG5cdFx0ZGVwczogW0luamVjdG9yXSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVmZmVjdChcbiAgQWN0aW9uSWRzOiBzdHJpbmdbXSB8IHN0cmluZyxcbiAgX2VmZmVjdEZhY3Rvcnk6IChmYWN0b3J5SW5qZWN0b3I6IEluamVjdG9yKSA9PiBFZmZlY3QsXG4gIHByb3BzPzogUGFydGlhbDxFZmZlY3RQcm9wcyAmIHsgc2NvcGU/OiBzdHJpbmcgfT4sXG4pOiBQcm92aWRlciB7XG4gIHJldHVybiBwcm92aWRlRWZmZWN0RW50cnlNdWx0aSgoZmFjdG9yeUluamVjdG9yOiBJbmplY3RvcikgPT4gKHtcbiAgICBhY3Rpb25JZHM6IEFjdGlvbklkcyxcbiAgICBlZmZlY3RGYWN0b3J5OiAoaG9zdDogSW5qZWN0b3IpID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChob3N0LCAoKSA9PiBfZWZmZWN0RmFjdG9yeShmYWN0b3J5SW5qZWN0b3IpKSxcbiAgICBwcm9wczogbm9ybWFsaXplRWZmZWN0UHJvcHMocHJvcHMpLFxuICB9KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RFZmZlY3RFbnRyaWVzKGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3RvcikpIHtcbiAgcmV0dXJuIGluamVjdG9yLmdldDxFZmZlY3RFbnRyeVtdPihFRkZFQ1RfRU5UUlksIFtdLCB7IG9wdGlvbmFsOiB0cnVlIH0pLm1hcCgoZW50cnkpID0+ICh7XG4gICAgLi4uZW50cnksIGNvbnRleHQ6IHsgaG9zdEluamVjdG9yOiBpbmplY3Rvciwgc2NvcGU6IG51bGwgfVxuICB9KSk7XG59XG5cbmNvbnN0IEVGRkVDVF9FTlRSSUVTX0tFWSA9IFN5bWJvbCgnX2VmZmVjdEVudHJpZXNfJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFZmZlY3RFbnRyaWVzKHRhcmdldDogYW55KTogRWZmZWN0RW50cnlbXSB7XG4gIHJldHVybiB0YXJnZXRbRUZGRUNUX0VOVFJJRVNfS0VZXSA/Pz0gW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBFZmZlY3QoYWN0aW9uSWQ6IHN0cmluZywgcHJvcHM6IFBhcnRpYWw8RWZmZWN0UHJvcHMgJiB7IHNjb3BlPzogc3RyaW5nIH0+ID0ge30pIHtcbiAgY29uc3Qgbm9ybWFsaXplZFByb3BzID0gbm9ybWFsaXplRWZmZWN0UHJvcHMocHJvcHMpO1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55LCBfOiBzdHJpbmcsIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcikge1xuICAgIGdldEVmZmVjdEVudHJpZXModGFyZ2V0KS5wdXNoKHtcbiAgICAgIGFjdGlvbklkczogW2FjdGlvbklkXSxcbiAgICAgIHByb3BzOiBub3JtYWxpemVkUHJvcHMsIFxuICAgICAgZWZmZWN0RmFjdG9yeTogKCkgPT4gKHBheWxvYWQ6IGFueSwgY29udGV4dDogQWN0aW9uQ29udGV4dCkgPT4gZGVzY3JpcHRvci52YWx1ZS5jYWxsKGNvbnRleHQuY29tcG9uZW50LCBwYXlsb2FkKSxcbiAgICAgIGNvbnRleHQ6IHsgaG9zdEluamVjdG9yOiBJbmplY3Rvci5OVUxMIH1cbiAgICB9KTtcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEVmZmVjdFJlc29sdmVyIHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVmZmVjdEVudHJ5TWFwID0gbmV3IE1hcDxzdHJpbmcsIFJlc29sdmVkRWZmZWN0RW50cnk+KCk7XG5cbiAgcmVnaXN0ZXIoZWZmZWN0RW50cnk6IEVmZmVjdEVudHJ5KSB7XG4gICAgY29uc3QgYWN0aW9uSWRzID0gQXJyYXkuaXNBcnJheShlZmZlY3RFbnRyeS5hY3Rpb25JZHMpID8gZWZmZWN0RW50cnkuYWN0aW9uSWRzIDogW2VmZmVjdEVudHJ5LmFjdGlvbklkc107XG4gICAgZm9yIChjb25zdCBhY3Rpb25JZCBvZiBhY3Rpb25JZHMpIHtcbiAgICAgIGZvciAoY29uc3Qgc2NvcGUgb2YgZWZmZWN0RW50cnkucHJvcHMuc2NvcGVzKSB7IFxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkoYWN0aW9uSWQsIHNjb3BlKTtcbiAgICAgICAgdGhpcy5lZmZlY3RFbnRyeU1hcC5zZXQoa2V5LCB7XG4gICAgICAgICAgZWZmZWN0RmFjdG9yeTogKCkgPT4gZWZmZWN0RW50cnkuZWZmZWN0RmFjdG9yeShlZmZlY3RFbnRyeS5jb250ZXh0Lmhvc3RJbmplY3RvciksXG4gICAgICAgICAgcHJvcHM6IGVmZmVjdEVudHJ5LnByb3BzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZWdpc3Rlck1hbnkoZW50cmllczogRWZmZWN0RW50cnlbXSkge1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykgdGhpcy5yZWdpc3RlcihlbnRyeSk7XG4gIH1cblxuICByZXNvbHZlKGFjdGlvbklkOiBzdHJpbmcsIHNjb3BlID0gJ2hvc3QnKTogUmVzb2x2ZWRFZmZlY3RFbnRyeSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVmZmVjdEVudHJ5TWFwLmdldCh0aGlzLm1ha2VLZXkoYWN0aW9uSWQsIHNjb3BlKSk7XG4gIH1cblxuICBwcml2YXRlIG1ha2VLZXkoYWN0aW9uSWQ6IHN0cmluZywgc2NvcGUgPSAnaG9zdCcpIHtcbiAgICByZXR1cm4gYFske3Njb3BlfV0jJHthY3Rpb25JZH1gO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBseUVmZmVjdChyZXNvbHZlcjogRWZmZWN0UmVzb2x2ZXIsIGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogUHJvbWlzZTxFZmZlY3RSZXN1bHQ+IHtcbiAgY29uc3QgZW50cnkgPSByZXNvbHZlci5yZXNvbHZlKGFjdGlvbi5pZCwgY29udGV4dC5zY29wZSk7XG4gIGlmIChlbnRyeT8uZWZmZWN0RmFjdG9yeSkge1xuICAgIGNvbnN0IGVmZmVjdCA9IGVudHJ5LmVmZmVjdEZhY3RvcnkoKTtcbiAgICBjb25zdCBwYXlsb2FkID0gZW50cnkucHJvcHMuYWNjZXNzb3IoYWN0aW9uKTtcbiAgICBhd2FpdCBlZmZlY3QocGF5bG9hZCwgY29udGV4dCk7XG4gICAgcmV0dXJuIHsgZGlzcGF0Y2g6IGVudHJ5LnByb3BzLmRpc3BhdGNoIH07XG4gIH1cbiAgcmV0dXJuIHsgZGlzcGF0Y2g6IHRydWUgfTtcbn1cbiJdfQ==","import { EventEmitter, inject, Injectable } from \"@angular/core\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { applyEffect, EffectResolver } from \"./effect\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport * as i0 from \"@angular/core\";\nexport class NgAtomicRootActionStore {\n logger = inject(NgAtomicActionLogger);\n actions$ = new EventEmitter();\n resolver = new EffectResolver();\n constructor() {\n this.actions$.pipe(takeUntilDestroyed()).subscribe(action => {\n this.logger.log(action, 'root');\n applyEffect(this.resolver, action, { component: null, scope: 'root' });\n });\n }\n async dispatch(action) {\n this.actions$.emit(action);\n }\n register(effectEntry) {\n this.resolver.register(effectEntry);\n }\n registerMany(effectEntries) {\n this.resolver.registerMany(effectEntries);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicRootActionStore, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBZSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFDZixNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdEMsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDdEMsUUFBUSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7SUFFbkQ7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUMvQixXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUSxDQUFDLFdBQXdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZLENBQUMsYUFBNEI7UUFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUMsQ0FBQzt1R0F0QlUsdUJBQXVCOzJHQUF2Qix1QkFBdUIsY0FEWCxNQUFNOzsyRkFDbEIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuaW1wb3J0IHsgTmdBdG9taWNBY3Rpb25Mb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXJcIjtcbmltcG9ydCB7IGFwcGx5RWZmZWN0LCBFZmZlY3RFbnRyeSwgRWZmZWN0UmVzb2x2ZXIgfSBmcm9tIFwiLi9lZmZlY3RcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBOZ0F0b21pY1Jvb3RBY3Rpb25TdG9yZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTmdBdG9taWNBY3Rpb25Mb2dnZXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aW9ucyQgPSBuZXcgRXZlbnRFbWl0dGVyPEFjdGlvbj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc29sdmVyID0gbmV3IEVmZmVjdFJlc29sdmVyKCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoYWN0aW9uID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmxvZyhhY3Rpb24sICdyb290JylcbiAgICAgIGFwcGx5RWZmZWN0KHRoaXMucmVzb2x2ZXIsIGFjdGlvbiwgeyBjb21wb25lbnQ6IG51bGwsIHNjb3BlOiAncm9vdCcgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNwYXRjaChhY3Rpb246IEFjdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYWN0aW9ucyQuZW1pdChhY3Rpb24pO1xuICB9XG5cbiAgcmVnaXN0ZXIoZWZmZWN0RW50cnk6IEVmZmVjdEVudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlci5yZWdpc3RlcihlZmZlY3RFbnRyeSk7XG4gIH1cblxuICByZWdpc3Rlck1hbnkoZWZmZWN0RW50cmllczogRWZmZWN0RW50cnlbXSk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZXIucmVnaXN0ZXJNYW55KGVmZmVjdEVudHJpZXMpO1xuICB9XG59Il19","import Ajv from \"ajv\";\nimport { plainToInstance } from \"class-transformer\";\nimport { validateSync } from \"class-validator\";\nexport function resolveActions(actions, ...args) {\n if (typeof actions === 'function') {\n return actions(...args);\n }\n return actions;\n}\nexport function wrapActions(actions) {\n return typeof actions === 'function' ? actions : () => actions;\n}\nexport function createAction(type, schema, options = {}) {\n const defaultValidator = (item) => {\n if (typeof schema === 'object') {\n const _schema = {\n ...schema,\n required: schema.required.filter((key) => key in item),\n };\n const isValid = new Ajv().compile(_schema)(item);\n if (!isValid)\n return 'invalid';\n return null;\n }\n else {\n const errors = validateSync(plainToInstance(schema, { ...item }));\n if (errors.length)\n return 'invalid';\n return null;\n }\n };\n return {\n validate: options?.validator ?? defaultValidator,\n create: (payload = {}, meta = {}) => ({\n id: type,\n payload,\n name: options.name ?? type,\n icon: options.icon,\n ...meta,\n }),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQXNCL0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxPQUFnQixFQUFFLEdBQUcsSUFBVztJQUM3RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWdCO0lBQzFDLE9BQU8sT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUNqRSxDQUFDO0FBVUQsTUFBTSxVQUFVLFlBQVksQ0FDMUIsSUFBWSxFQUNaLE1BQXdDLEVBQ3hDLFVBQW1DLEVBQUU7SUFFckMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQU8sRUFBRSxFQUFFO1FBQ25DLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDL0IsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsR0FBRyxNQUFNO2dCQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQzthQUMvRCxDQUFDO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUMsR0FBRyxJQUFJLEVBQUMsQ0FBVyxDQUFDLENBQUM7WUFDMUUsSUFBSSxNQUFNLENBQUMsTUFBTTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUE7SUFDRCxPQUFPO1FBQ0wsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksZ0JBQWdCO1FBQ2hELE1BQU0sRUFBRSxDQUFDLFVBQWEsRUFBUyxFQUFFLE9BQXVDLEVBQUUsRUFBVSxFQUFFLENBQUMsQ0FBQztZQUN0RixFQUFFLEVBQUUsSUFBSTtZQUNSLE9BQU87WUFDUCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJO1lBQzFCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixHQUFHLElBQUk7U0FDUixDQUFDO0tBQ0gsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWp2IGZyb20gXCJhanZcIjtcbmltcG9ydCB7IENsYXNzQ29uc3RydWN0b3IsIHBsYWluVG9JbnN0YW5jZSB9IGZyb20gXCJjbGFzcy10cmFuc2Zvcm1lclwiO1xuaW1wb3J0IHsgdmFsaWRhdGVTeW5jIH0gZnJvbSBcImNsYXNzLXZhbGlkYXRvclwiO1xuaW1wb3J0IHsgSnNvblNjaGVtYSB9IGZyb20gXCJqc29uLXNjaGVtYS1saWJyYXJ5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF5bG9hZD86IFQ7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogQWN0aW9uPFQ+W10sXG4gIG1ldGE/OiB7Y29tcG9uZW50SWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsfSB8IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uc0ZhY3Rvcnk8VCA9IGFueT4gPSAoLi4uYXJnczogYW55W10pID0+IEFjdGlvbjxUPltdO1xuXG4vKiogQGRlcHJlY2F0ZWQgKi9cbmV4cG9ydCB0eXBlIEFjdGlvbnMgPSBBY3Rpb25zRmFjdG9yeSB8IEFjdGlvbltdO1xuXG5leHBvcnQgdHlwZSBOYXZBY3Rpb25zID0gQWN0aW9uW11bXSB8IEFjdGlvbltdO1xuZXhwb3J0IHR5cGUgSXRlbUFjdGlvbnM8VCA9IGFueT4gPSAoaXRlbTogVCkgPT4gQWN0aW9uW107XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25zLCAuLi5hcmdzOiBhbnlbXSkge1xuICBpZiAodHlwZW9mIGFjdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gYWN0aW9ucyguLi5hcmdzKTtcbiAgfVxuICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbnMpOiBBY3Rpb25zRmFjdG9yeSB7XG4gIHJldHVybiB0eXBlb2YgYWN0aW9ucyA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbnMgOiAoKSA9PiBhY3Rpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFjdGlvbnNPcHRpb25zPFAgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IHtcbiAgdmFsaWRhdG9yPzogKGl0ZW06IFApID0+IG51bGwgfCBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgbmFtZT86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWN0aW9uRmFjdG9yeTxQIGV4dGVuZHMgb2JqZWN0ID0gYW55PiA9IChwYXlsb2FkPzogUCwgbWV0YT86IENyZWF0ZUFjdGlvbnNPcHRpb25zKSA9PiBBY3Rpb248UD47XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVBY3Rpb248UCBleHRlbmRzIG9iamVjdCA9IGFueT4oXG4gIHR5cGU6IHN0cmluZyxcbiAgc2NoZW1hOiBKc29uU2NoZW1hIHwgQ2xhc3NDb25zdHJ1Y3RvcjxQPixcbiAgb3B0aW9uczogQ3JlYXRlQWN0aW9uc09wdGlvbnM8UD4gPSB7fSxcbik6IHt2YWxpZGF0ZTogKGl0ZW06IFApID0+IG51bGwgfCBzdHJpbmcgfCBzdHJpbmdbXSwgY3JlYXRlOiBBY3Rpb25GYWN0b3J5PFA+fSB7ICBcbiAgY29uc3QgZGVmYXVsdFZhbGlkYXRvciA9IChpdGVtOiBQKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBzY2hlbWEgPT09ICdvYmplY3QnKSB7XG4gICAgICBjb25zdCBfc2NoZW1hID0ge1xuICAgICAgICAuLi5zY2hlbWEsXG4gICAgICAgIHJlcXVpcmVkOiBzY2hlbWEucmVxdWlyZWQuZmlsdGVyKChrZXk6IHN0cmluZykgPT4ga2V5IGluIGl0ZW0pLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGlzVmFsaWQgPSBuZXcgQWp2KCkuY29tcGlsZShfc2NoZW1hKShpdGVtKTtcbiAgICAgIGlmICghaXNWYWxpZCkgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlcnJvcnMgPSB2YWxpZGF0ZVN5bmMocGxhaW5Ub0luc3RhbmNlKHNjaGVtYSwgey4uLml0ZW19KSBhcyBvYmplY3QpO1xuICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHJldHVybiAnaW52YWxpZCc7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB2YWxpZGF0ZTogb3B0aW9ucz8udmFsaWRhdG9yID8/IGRlZmF1bHRWYWxpZGF0b3IsXG4gICAgY3JlYXRlOiAocGF5bG9hZDogUCA9IHt9IGFzIGFueSwgbWV0YToge25hbWU/OiBzdHJpbmcsIGljb24/OiBzdHJpbmd9ID0ge30pOiBBY3Rpb24gPT4gKHtcbiAgICAgIGlkOiB0eXBlLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSA/PyB0eXBlLFxuICAgICAgaWNvbjogb3B0aW9ucy5pY29uLFxuICAgICAgLi4ubWV0YSxcbiAgICB9KSxcbiAgfVxufVxuIl19","import { Pipe, computed, isSignal } from \"@angular/core\";\nimport * as i0 from \"@angular/core\";\nfunction call(valueOrSignal) {\n return isSignal(valueOrSignal) ? call(valueOrSignal()) : valueOrSignal;\n}\nexport function proxyFakeComputedInputValueFn(inputValueFn) {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n return computeFake(target(...args));\n }\n });\n}\nexport function computeFake(valueOrFakeComputed) {\n return isFakeComputed(valueOrFakeComputed) ? valueOrFakeComputed() : valueOrFakeComputed;\n}\nexport function isSignalOrFakeComputed(value) {\n return isSignal(value) || isFakeComputed(value);\n}\nexport function computeFakeV2(valueOrFakeComputed) {\n return isSignalOrFakeComputed(valueOrFakeComputed) ? computeFakeV2(valueOrFakeComputed()) : valueOrFakeComputed;\n}\nexport function proxyFakeComputedInputs(target, inputs) {\n inputs.filter(input => isSignal(target[input])).forEach(input => {\n target[input] = proxyFakeComputedInputValueFn(target[input]);\n });\n}\nexport const FAKE_COMPUTED = /* @__PURE__ */ Symbol('FAKE_COMPUTED');\nexport function compute(target, propName) {\n let inputValueFn;\n Object.defineProperty(target, propName, {\n get() {\n return new Proxy(inputValueFn, {\n apply: function (target, _, args) {\n const valueOrSignal = target(...args);\n return isSignal(valueOrSignal) ? valueOrSignal() : valueOrSignal;\n }\n });\n },\n set(value) {\n inputValueFn = value;\n },\n });\n}\nexport function fakeComputed(computation, options) {\n const _computed = computed(computation, options);\n _computed[FAKE_COMPUTED] = true;\n return _computed;\n}\nexport function _computed(computation, options) {\n return fakeComputed(computation, options);\n}\nexport function isFakeComputed(_computed) {\n return !!_computed?.[FAKE_COMPUTED];\n}\nexport class CallPipe {\n transform(value) {\n return call(value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\n static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, isStandalone: true, name: \"call\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CallPipe, decorators: [{\n type: Pipe,\n args: [{ name: 'call', standalone: true, pure: true }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29yZS9zcmMvbGliL3NpZ25hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixJQUFJLEVBQVUsUUFBUSxFQUFFLFFBQVEsRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXZHLFNBQVMsSUFBSSxDQUFJLGFBQTRCO0lBQzNDLE9BQU8sUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsWUFBaUI7SUFDN0QsT0FBTyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7UUFDN0IsS0FBSyxFQUFFLFVBQVUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzlCLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFJLG1CQUFzQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztBQUNoRyxDQUFDO0FBRUQsTUFBTSxVQUFVLHNCQUFzQixDQUFJLEtBQVU7SUFDbEQsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFJLG1CQUFrQztJQUNqRSxPQUFPLHNCQUFzQixDQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO0FBQzFILENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBVyxFQUFFLE1BQWdCO0lBQ25FLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBVyxFQUFFLFFBQWdCO0lBQ25ELElBQUksWUFBaUIsQ0FBQztJQUN0QixNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7UUFDdEMsR0FBRztZQUNELE9BQU8sSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFO2dCQUM3QixLQUFLLEVBQUUsVUFBVSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUk7b0JBQzlCLE1BQU0sYUFBYSxHQUFRLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO29CQUMzQyxPQUFPLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztnQkFDbkUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxHQUFHLENBQUMsS0FBSztZQUNQLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFJLFdBQW9CLEVBQUUsT0FBa0M7SUFDdEYsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQWUsQ0FBQztJQUMvRCxTQUFTLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLFdBQW9CLEVBQUUsT0FBa0M7SUFDbkYsT0FBTyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQWM7SUFDM0MsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUdELE1BQU0sT0FBTyxRQUFRO0lBQ25CLFNBQVMsQ0FBSSxLQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO3VHQUhVLFFBQVE7cUdBQVIsUUFBUTs7MkZBQVIsUUFBUTtrQkFEcEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlQ29tcHV0ZWRPcHRpb25zLCBQaXBlLCBTaWduYWwsIGNvbXB1dGVkLCBpc1NpZ25hbCwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmZ1bmN0aW9uIGNhbGw8VD4odmFsdWVPclNpZ25hbDogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWwodmFsdWVPclNpZ25hbCkgPyBjYWxsKHZhbHVlT3JTaWduYWwoKSkgOiB2YWx1ZU9yU2lnbmFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJveHlGYWtlQ29tcHV0ZWRJbnB1dFZhbHVlRm4oaW5wdXRWYWx1ZUZuOiBhbnkpIHtcbiAgcmV0dXJuIG5ldyBQcm94eShpbnB1dFZhbHVlRm4sIHtcbiAgICBhcHBseTogZnVuY3Rpb24gKHRhcmdldCwgXywgYXJncykge1xuICAgICAgcmV0dXJuIGNvbXB1dGVGYWtlKHRhcmdldCguLi5hcmdzKSk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVGYWtlPFQ+KHZhbHVlT3JGYWtlQ29tcHV0ZWQ6IFQpOiBUIHtcbiAgcmV0dXJuIGlzRmFrZUNvbXB1dGVkKHZhbHVlT3JGYWtlQ29tcHV0ZWQpID8gdmFsdWVPckZha2VDb21wdXRlZCgpIGFzIFQgOiB2YWx1ZU9yRmFrZUNvbXB1dGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTaWduYWxPckZha2VDb21wdXRlZDxUPih2YWx1ZTogYW55KTogdmFsdWUgaXMgKFNpZ25hbDxUPiB8IFJldHVyblR5cGU8dHlwZW9mIGNvbXB1dGVkPFQ+Pikge1xuICByZXR1cm4gaXNTaWduYWwodmFsdWUpIHx8IGlzRmFrZUNvbXB1dGVkKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVGYWtlVjI8VD4odmFsdWVPckZha2VDb21wdXRlZDogU2lnbmFsPFQ+IHwgVCk6IFQge1xuICByZXR1cm4gaXNTaWduYWxPckZha2VDb21wdXRlZDxUPih2YWx1ZU9yRmFrZUNvbXB1dGVkKSA/IGNvbXB1dGVGYWtlVjIodmFsdWVPckZha2VDb21wdXRlZCgpKSBhcyBUIDogdmFsdWVPckZha2VDb21wdXRlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKHRhcmdldDogYW55LCBpbnB1dHM6IHN0cmluZ1tdKSB7XG4gIGlucHV0cy5maWx0ZXIoaW5wdXQgPT4gaXNTaWduYWwodGFyZ2V0W2lucHV0XSkpLmZvckVhY2goaW5wdXQgPT4ge1xuICAgIHRhcmdldFtpbnB1dF0gPSBwcm94eUZha2VDb21wdXRlZElucHV0VmFsdWVGbih0YXJnZXRbaW5wdXRdKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBjb25zdCBGQUtFX0NPTVBVVEVEID0gLyogQF9fUFVSRV9fICovIFN5bWJvbCgnRkFLRV9DT01QVVRFRCcpO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tcHV0ZSh0YXJnZXQ6IGFueSwgcHJvcE5hbWU6IHN0cmluZykge1xuICBsZXQgaW5wdXRWYWx1ZUZuOiBhbnk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIHByb3BOYW1lLCB7XG4gICAgZ2V0KCkge1xuICAgICAgcmV0dXJuIG5ldyBQcm94eShpbnB1dFZhbHVlRm4sIHtcbiAgICAgICAgYXBwbHk6IGZ1bmN0aW9uICh0YXJnZXQsIF8sIGFyZ3MpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZU9yU2lnbmFsOiBhbnkgPSB0YXJnZXQoLi4uYXJncyk7XG4gICAgICAgICAgcmV0dXJuIGlzU2lnbmFsKHZhbHVlT3JTaWduYWwpID8gdmFsdWVPclNpZ25hbCgpIDogdmFsdWVPclNpZ25hbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSxcbiAgICBzZXQodmFsdWUpIHtcbiAgICAgIGlucHV0VmFsdWVGbiA9IHZhbHVlO1xuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFrZUNvbXB1dGVkPFQ+KGNvbXB1dGF0aW9uOiAoKSA9PiBULCBvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFQ+KTogVCB7XG4gIGNvbnN0IF9jb21wdXRlZCA9IGNvbXB1dGVkKGNvbXB1dGF0aW9uLCBvcHRpb25zKSBhcyBuZXZlciBhcyBUO1xuICBfY29tcHV0ZWRbRkFLRV9DT01QVVRFRF0gPSB0cnVlO1xuICByZXR1cm4gX2NvbXB1dGVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX2NvbXB1dGVkPFQ+KGNvbXB1dGF0aW9uOiAoKSA9PiBULCBvcHRpb25zPzogQ3JlYXRlQ29tcHV0ZWRPcHRpb25zPFQ+KTogVCB7XG4gIHJldHVybiBmYWtlQ29tcHV0ZWQoY29tcHV0YXRpb24sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGYWtlQ29tcHV0ZWQoX2NvbXB1dGVkOiBhbnkpOiBfY29tcHV0ZWQgaXMgUmV0dXJuVHlwZTx0eXBlb2YgY29tcHV0ZWQ+IHtcbiAgcmV0dXJuICEhX2NvbXB1dGVkPy5bRkFLRV9DT01QVVRFRF07XG59XG5cbkBQaXBlKHsgbmFtZTogJ2NhbGwnLCBzdGFuZGFsb25lOiB0cnVlLCBwdXJlOiB0cnVlfSlcbmV4cG9ydCBjbGFzcyBDYWxsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm08VD4odmFsdWU6IFNpZ25hbDxUPiB8IFQpOiBUIHtcbiAgICByZXR1cm4gY2FsbCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==","import { DestroyRef, Directive, ElementRef, InjectionToken, Injector, ViewContainerRef, inject, input, PLATFORM_ID, EventEmitter, output } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { reflectComponentType } from \"@angular/core\";\nimport { isPlatformBrowser } from \"@angular/common\";\nimport { proxyFakeComputedInputs } from \"./signals\";\nimport * as i0 from \"@angular/core\";\nexport const TOKEN = 'Δtkn';\nexport function provideComponent(abstract, typeOrFactory) {\n async function loadComponentType() {\n if (typeof typeOrFactory === 'function' && !typeOrFactory.prototype) {\n return await typeOrFactory();\n }\n else {\n return typeOrFactory;\n }\n }\n return { provide: abstract[TOKEN], useValue: loadComponentType };\n}\nexport function makeProvideComopnentConfigure(abstract) {\n return (typeOrFactory) => provideComponent(abstract, typeOrFactory);\n}\nexport function TokenizedType() {\n return function (type) {\n type[TOKEN] = new InjectionToken(type.name);\n };\n}\nexport function getToken(type) {\n return type[TOKEN];\n}\nexport var HostType;\n(function (HostType) {\n HostType[\"Dir\"] = \"\\u0275dir\";\n HostType[\"Cmp\"] = \"\\u0275cmp\";\n})(HostType || (HostType = {}));\nexport function getMeta(type) {\n if (HostType.Cmp in type) {\n return type[HostType.Cmp];\n }\n else if (HostType.Dir in type) {\n return type[HostType.Dir];\n }\n}\nexport function getInputs(type) {\n const meta = getMeta(type);\n return Object.entries(meta['inputs'])\n .map(([templateName, [propName]]) => ({ propName, templateName }));\n}\nexport function getOutputs(type) {\n const meta = getMeta(type);\n return Object.entries(meta['outputs'])\n .map(([templateName, propName]) => ({ propName, templateName }));\n}\nexport function getInputsByComponentRef(cmp) {\n return getInputs(cmp.instance.constructor);\n}\nexport function getOutputsByInstance(cmp) {\n return getOutputs(cmp.instance.constructor);\n}\nexport class InjectableComponent {\n #platformId = inject(PLATFORM_ID);\n #viewContainerRef = inject(ViewContainerRef);\n #injector = inject(Injector);\n #destroyRef = inject(DestroyRef);\n #el = inject(ElementRef);\n #component = null;\n #componentMirror = null;\n injectable = input(false, { transform: (value) => value === '' ? true : value });\n // TOTO: 消すと一部のActionEffectが動かなくなる。おそらくバインディングの問題。\n __action = output({ alias: 'action' });\n get #inputs() {\n return getInputs(this.constructor);\n }\n get #outputs() {\n return getOutputs(this.constructor);\n // const impl = this.#componentMirror!.outputs;\n // return abs.filter(abstractOutput => impl.some(implOutput => implOutput.templateName === abstractOutput.templateName));\n }\n #setAttribute() {\n const hostElement = this.#component.hostView.rootNodes[0];\n const attributes = this.#el.nativeElement.attributes;\n for (let i = 0; i < attributes.length; i++) {\n const attr = attributes.item(i);\n if (attr.name === 'injectable') {\n hostElement.setAttribute('injected', '');\n }\n else {\n hostElement.setAttribute(attr.name, attr.value);\n }\n }\n }\n #bindInputs() {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable')\n continue;\n const valueOrInputValueFn = this[input.propName];\n const value = typeof valueOrInputValueFn === 'function' ? valueOrInputValueFn() : valueOrInputValueFn;\n this.#setInput(input, value);\n }\n }\n get propNames() {\n return this.#inputs.map(input => input.propName);\n }\n get injected() {\n return this.#component?.instance ?? null;\n }\n proxyFakeComputedInputs() {\n proxyFakeComputedInputs(this, this.propNames);\n }\n #bindOutputs() {\n for (const output of this.#outputs) {\n const outputFn = this.#component.instance?.[output.propName];\n if (!outputFn) {\n continue;\n }\n else if (outputFn instanceof EventEmitter) {\n outputFn.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((value) => this[output.propName].emit(value));\n }\n else {\n outputFn.subscribe((value) => this[output.propName].emit(value));\n }\n }\n }\n #bindEvents() {\n for (const name of ['click']) {\n this.#component.injector.get(ElementRef).nativeElement.addEventListener(name, (event) => {\n this.#el.nativeElement.dispatchEvent(new Event(name, {}));\n });\n }\n }\n #setInput(input, value) {\n this.#component.setInput(input?.templateName, value);\n }\n constructor() {\n this.proxyFakeComputedInputs();\n }\n ngOnInit() {\n if (this.injectable() && isPlatformBrowser(this.#platformId)) {\n this.#injector.get(getToken(this.constructor))().then(type => {\n this.#component = this.#viewContainerRef.createComponent(type, {\n projectableNodes: [\n Array.from(this.#el.nativeElement.childNodes)\n ],\n });\n this.#componentMirror = reflectComponentType(type);\n this.#bindInputs();\n this.#bindOutputs();\n this.#bindEvents();\n this.#setAttribute();\n // this.#viewContainerRef.remove(0);\n this.#component.changeDetectorRef.detectChanges();\n this.#el.nativeElement.style.display = 'none';\n // this.#el.nativeElement.remove();\n });\n }\n this.proxyFakeComputedInputs();\n }\n ngOnChanges(simpleChanges) {\n if (this.injectable() && this.#componentMirror) {\n for (const input of this.#inputs) {\n if (input.propName === 'injectable')\n return;\n const change = simpleChanges[input.propName];\n if (change) {\n this.#setInput(input, change.currentValue);\n }\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InjectableComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: InjectableComponent, isStandalone: true, inputs: { injectable: { classPropertyName: \"injectable\", publicName: \"injectable\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { __action: \"action\" }, usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: InjectableComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n // host: {ngSkipHydration: 'true'}\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbmplY3RhYmxlLWNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQzBCLFVBQVUsRUFDekMsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBQUUsUUFBUSxFQUNsQixnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFDbEQsWUFBWSxFQUVaLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFPcEQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQztBQUU1QixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLFFBQW1CLEVBQ25CLGFBQXNDO0lBRXRDLEtBQUssVUFBVSxpQkFBaUI7UUFDOUIsSUFBSSxPQUFPLGFBQWEsS0FBSyxVQUFVLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEUsT0FBTyxNQUFPLGFBQW1DLEVBQUUsQ0FBQztRQUN0RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sYUFBMkIsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxPQUFPLEVBQUcsUUFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUErQixRQUFxQjtJQUMvRixPQUFP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VUFBVSxFQUFFLElBQUk7b0JBQ2hCLGtDQUFrQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRNaXJyb3IsIENvbXBvbmVudFJlZiwgRGVzdHJveVJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLCBFbWJlZGRlZFZpZXdSZWYsXG4gIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLFxuICBUeXBlLCBWaWV3Q29udGFpbmVyUmVmLCBpbmplY3QsIGlucHV0LCBQTEFURk9STV9JRCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXRSZWYsXG4gIG91dHB1dFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wXCI7XG5pbXBvcnQgeyByZWZsZWN0Q29tcG9uZW50VHlwZSwgT25Jbml0LCBPbkNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBwcm94eUZha2VDb21wdXRlZElucHV0cyB9IGZyb20gXCIuL3NpZ25hbHNcIjtcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCIuL2FjdGlvblwiO1xuXG5leHBvcnQgdHlwZSBUeXBlRmFjdG9yeUFzeW5jPFQ+ID0gKCkgPT4gUHJvbWlzZTxUeXBlPFQ+PjtcbmV4cG9ydCB0eXBlIFR5cGVGYWN0b3J5PFQ+ID0gKCkgPT4gKFR5cGU8VD4gfCBQcm9taXNlPFR5cGU8VD4+KTtcbmV4cG9ydCB0eXBlIFR5cGVPclR5cGVGYWN0b3J5PFQ+ID0gVHlwZTxUPiB8IFR5cGVGYWN0b3J5PFQ+O1xuXG5leHBvcnQgY29uc3QgVE9LRU4gPSAnzpR0a24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbXBvbmVudDxBQlMgPSBhbnksIElNUEwgPSBhbnk+KFxuICBhYnN0cmFjdDogVHlwZTxBQlM+LFxuICB0eXBlT3JGYWN0b3J5OiBUeXBlT3JUeXBlRmFjdG9yeTxJTVBMPixcbikge1xuICBhc3luYyBmdW5jdGlvbiBsb2FkQ29tcG9uZW50VHlwZSgpOiBQcm9taXNlPFR5cGU8SU1QTD4+IHtcbiAgICBpZiAodHlwZW9mIHR5cGVPckZhY3RvcnkgPT09ICdmdW5jdGlvbicgJiYgIXR5cGVPckZhY3RvcnkucHJvdG90eXBlKSB7XG4gICAgICByZXR1cm4gYXdhaXQgKHR5cGVPckZhY3RvcnkgYXMgVHlwZUZhY3Rvcnk8SU1QTD4pKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0eXBlT3JGYWN0b3J5IGFzIFR5cGU8SU1QTD47XG4gICAgfVxuICB9XG4gIHJldHVybiB7IHByb3ZpZGU6IChhYnN0cmFjdCBhcyBhbnkpW1RPS0VOXSwgdXNlVmFsdWU6IGxvYWRDb21wb25lbnRUeXBlIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUHJvdmlkZUNvbW9wbmVudENvbmZpZ3VyZTxTdG9yZSA9IGFueSwgQ29tcG9uZW50ID0gYW55PihhYnN0cmFjdDogVHlwZTxTdG9yZT4pIHtcbiAgcmV0dXJuICh0eXBlT3JGYWN0b3J5OiBUeXBlT3JUeXBlRmFjdG9yeTxDb21wb25lbnQ+KSA9PiBwcm92aWRlQ29tcG9uZW50KGFic3RyYWN0LCB0eXBlT3JGYWN0b3J5KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRva2VuaXplZFR5cGUoKSB7XG4gIHJldHVybiBmdW5jdGlvbiA8VCBleHRlbmRzIFR5cGU8YW55Pj4odHlwZTogVCkge1xuICAgICh0eXBlIGFzIGFueSlbVE9LRU5dID0gbmV3IEluamVjdGlvblRva2VuPFQ+KHR5cGUubmFtZSk7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb2tlbih0eXBlOiBUeXBlPGFueT4pIHtcbiAgcmV0dXJuICh0eXBlIGFzIGFueSlbVE9LRU5dO1xufVxuXG5leHBvcnQgZW51bSBIb3N0VHlwZSB7XG4gIERpciA9ICfJtWRpcicsXG4gIENtcCA9ICfJtWNtcCcsXG59XG5cbnR5cGUgSU8gPSB7cHJvcE5hbWU6IHN0cmluZywgdGVtcGxhdGVOYW1lOiBzdHJpbmd9O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YTxUPih0eXBlOiBUeXBlPFQ+KSB7XG4gIGlmIChIb3N0VHlwZS5DbXAgaW4gdHlwZSkge1xuICAgIHJldHVybiB0eXBlW0hvc3RUeXBlLkNtcF07XG4gIH0gZWxzZSBpZiAoSG9zdFR5cGUuRGlyIGluIHR5cGUpIHtcbiAgICByZXR1cm4gdHlwZVtIb3N0VHlwZS5EaXJdO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRJbnB1dHM8VD4odHlwZTogVHlwZTxUPik6IElPW10ge1xuICBjb25zdCBtZXRhID0gZ2V0TWV0YSh0eXBlKTtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzPHN0cmluZz4obWV0YVsnaW5wdXRzJ10pXG4gICAgLm1hcCgoW3RlbXBsYXRlTmFtZSwgW3Byb3BOYW1lXV0pID0+ICh7cHJvcE5hbWUsIHRlbXBsYXRlTmFtZX0pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE91dHB1dHM8VD4odHlwZTogVHlwZTxUPik6IElPW10ge1xuICBjb25zdCBtZXRhID0gZ2V0TWV0YSh0eXBlKTtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzPHN0cmluZz4obWV0YVsnb3V0cHV0cyddKVxuICAgIC5tYXAoKFt0ZW1wbGF0ZU5hbWUsIHByb3BOYW1lXSkgPT4gKHtwcm9wTmFtZSwgdGVtcGxhdGVOYW1lfSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5wdXRzQnlDb21wb25lbnRSZWY8VCBleHRlbmRzIHt9ID0gYW55PihjbXA6IENvbXBvbmVudFJlZjxUPik6IElPW10ge1xuICByZXR1cm4gZ2V0SW5wdXRzKGNtcC5pbnN0YW5jZS5jb25zdHJ1Y3RvciBhcyBUeXBlPFQ+KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE91dHB1dHNCeUluc3RhbmNlPFQgZXh0ZW5kcyB7fSA9IGFueT4oY21wOiBDb21wb25lbnRSZWY8VD4pOiBJT1tdIHtcbiAgcmV0dXJuIGdldE91dHB1dHMoY21wLmluc3RhbmNlLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gaG9zdDoge25nU2tpcEh5ZHJhdGlvbjogJ3RydWUnfVxufSlcbmV4cG9ydCBjbGFzcyBJbmplY3RhYmxlQ29tcG9uZW50PFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICByZWFkb25seSAjcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHJlYWRvbmx5ICN2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICByZWFkb25seSAjaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI2VsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgI2NvbXBvbmVudDogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCA9IG51bGw7XG4gICNjb21wb25lbnRNaXJyb3I6IENvbXBvbmVudE1pcnJvcjxUPiB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IGluamVjdGFibGUgPSBpbnB1dChmYWxzZSwge3RyYW5zZm9ybTogKHZhbHVlOiBhbnkpID0+IHZhbHVlID09PSAnJyA/IHRydWUgOiB2YWx1ZX0pO1xuICAvLyBUT1RPOiDmtojjgZnjgajkuIDpg6jjga5BY3Rpb25FZmZlY3TjgYzli5XjgYvjgarjgY/jgarjgovjgILjgYrjgZ3jgonjgY/jg5DjgqTjg7Pjg4fjgqPjg7PjgrDjga7llY/poYzjgIJcbiAgcmVhZG9ubHkgX19hY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPih7YWxpYXM6ICdhY3Rpb24nfSk7XG5cbiAgZ2V0ICNpbnB1dHMoKTogSU9bXSB7XG4gICAgcmV0dXJuIGdldElucHV0cyh0aGlzLmNvbnN0cnVjdG9yIGFzIFR5cGU8VD4pO1xuICB9XG5cbiAgZ2V0ICNvdXRwdXRzKCk6IElPW10ge1xuICAgIHJldHVybiBnZXRPdXRwdXRzKHRoaXMuY29uc3RydWN0b3IgYXMgVHlwZTxUPik7XG4gICAgLy8gY29uc3QgaW1wbCA9IHRoaXMuI2NvbXBvbmVudE1pcnJvciEub3V0cHV0cztcbiAgICAvLyByZXR1cm4gYWJzLmZpbHRlcihhYnN0cmFjdE91dHB1dCA9PiBpbXBsLnNvbWUoaW1wbE91dHB1dCA9PiBpbXBsT3V0cHV0LnRlbXBsYXRlTmFtZSA9PT0gYWJzdHJhY3RPdXRwdXQudGVtcGxhdGVOYW1lKSk7XG4gIH1cblxuICAjc2V0QXR0cmlidXRlKCkge1xuICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gKHRoaXMuI2NvbXBvbmVudCEuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBjb25zdCBhdHRyaWJ1dGVzOiBOYW1lZE5vZGVNYXAgPSB0aGlzLiNlbC5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyaWJ1dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBhdHRyID0gYXR0cmlidXRlcy5pdGVtKGkpITtcbiAgICAgIGlmIChhdHRyLm5hbWUgPT09ICdpbmplY3RhYmxlJykge1xuICAgICAgICBob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2luamVjdGVkJywgJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYXR0ci52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2JpbmRJbnB1dHMoKSB7XG4gICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgIGlmIChpbnB1dC5wcm9wTmFtZSA9PT0gJ2luamVjdGFibGUnKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHZhbHVlT3JJbnB1dFZhbHVlRm4gPSB0aGlzW2lucHV0LnByb3BOYW1lXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIHZhbHVlT3JJbnB1dFZhbHVlRm4gPT09ICdmdW5jdGlvbicgPyB2YWx1ZU9ySW5wdXRWYWx1ZUZuKCkgOiB2YWx1ZU9ySW5wdXRWYWx1ZUZuO1xuICAgICAgdGhpcy4jc2V0SW5wdXQoaW5wdXQsIHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBnZXQgcHJvcE5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLiNpbnB1dHMubWFwKGlucHV0ID0+IGlucHV0LnByb3BOYW1lKTtcbiAgfVxuXG4gIGdldCBpbmplY3RlZCgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuI2NvbXBvbmVudD8uaW5zdGFuY2UgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCkge1xuICAgIHByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKHRoaXMsIHRoaXMucHJvcE5hbWVzKTtcbiAgfVxuXG4gICNiaW5kT3V0cHV0cygpIHtcbiAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0aGlzLiNvdXRwdXRzKSB7XG4gICAgICBjb25zdCBvdXRwdXRGbiA9ICh0aGlzLiNjb21wb25lbnQhLmluc3RhbmNlIGFzIGFueSk/LltvdXRwdXQucHJvcE5hbWVdIGFzIEV2ZW50RW1pdHRlcjxhbnk+IHwgT3V0cHV0UmVmPGFueT47XG4gICAgICBpZiAoIW91dHB1dEZuKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChvdXRwdXRGbiBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlcikge1xuICAgICAgICBvdXRwdXRGbi5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgICApLnN1YnNjcmliZSgodmFsdWUpID0+IHRoaXNbb3V0cHV0LnByb3BOYW1lXS5lbWl0KHZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRwdXRGbi5zdWJzY3JpYmUoKHZhbHVlKSA9PiB0aGlzW291dHB1dC5wcm9wTmFtZV0uZW1pdCh2YWx1ZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNiaW5kRXZlbnRzKCkge1xuICAgIGZvciAoY29uc3QgbmFtZSBvZiBbJ2NsaWNrJ10pIHtcbiAgICAgIHRoaXMuI2NvbXBvbmVudC5pbmplY3Rvci5nZXQoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIChldmVudCkgPT4ge1xuICAgICAgICB0aGlzLiNlbC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KG5hbWUsIHt9KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjc2V0SW5wdXQoaW5wdXQ6IHtwcm9wTmFtZTogc3RyaW5nLCB0ZW1wbGF0ZU5hbWU6IHN0cmluZ30sIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLiNjb21wb25lbnQhLnNldElucHV0KGlucHV0Py50ZW1wbGF0ZU5hbWUsIHZhbHVlKTtcbiAgfVxuICBcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5wcm94eUZha2VDb21wdXRlZElucHV0cygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuI3BsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLiNpbmplY3Rvci5nZXQ8VHlwZUZhY3RvcnlBc3luYzxUPj4oZ2V0VG9rZW4odGhpcy5jb25zdHJ1Y3RvciBhcyBhbnkpKSgpLnRoZW4odHlwZSA9PiB7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudCA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50PFQ+KHR5cGUsIHtcbiAgICAgICAgICBwcm9qZWN0YWJsZU5vZGVzOiBbXG4gICAgICAgICAgICBBcnJheS5mcm9tKHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2RlcylcbiAgICAgICAgICBdLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy4jY29tcG9uZW50TWlycm9yID0gcmVmbGVjdENvbXBvbmVudFR5cGUodHlwZSk7XG4gICAgICAgIHRoaXMuI2JpbmRJbnB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZE91dHB1dHMoKTtcbiAgICAgICAgdGhpcy4jYmluZEV2ZW50cygpO1xuICAgICAgICB0aGlzLiNzZXRBdHRyaWJ1dGUoKTtcbiAgICAgICAgLy8gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5yZW1vdmUoMCk7XG4gICAgICAgIHRoaXMuI2NvbXBvbmVudC5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgLy8gdGhpcy4jZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnByb3h5RmFrZUNvbXB1dGVkSW5wdXRzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuaW5qZWN0YWJsZSgpICYmIHRoaXMuI2NvbXBvbmVudE1pcnJvcikge1xuICAgICAgZm9yIChjb25zdCBpbnB1dCBvZiB0aGlzLiNpbnB1dHMpIHtcbiAgICAgICAgaWYgKGlucHV0LnByb3BOYW1lID09PSAnaW5qZWN0YWJsZScpIHJldHVybjtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gc2ltcGxlQ2hhbmdlc1tpbnB1dC5wcm9wTmFtZV0gYXMgU2ltcGxlQ2hhbmdlO1xuICAgICAgICBpZiAoY2hhbmdlKSB7XG4gICAgICAgICAgdGhpcy4jc2V0SW5wdXQoaW5wdXQsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=","import { SIGNAL } from '@angular/core/primitives/signals';\nfunction applyValueToInputField(instance, inputSignalNode, privateName, value) {\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[privateName] = value;\n }\n}\nexport function applyToInput(instance, propName, value) {\n const inputSignalNode = instance[propName][SIGNAL];\n if (inputSignalNode !== null) {\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[propName] = value;\n }\n}\nexport function updateInput(instance, propName, updater) {\n const inputSignalNode = instance[propName][SIGNAL];\n if (inputSignalNode !== null) {\n const value = updater(instance[propName]());\n inputSignalNode.applyValueToInputSignal(inputSignalNode, value);\n }\n else {\n instance[propName] = updater(instance[propName]);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUQsU0FBUyxzQkFBc0IsQ0FDN0IsUUFBVyxFQUNYLGVBQXlELEVBQ3pELFdBQW1CLEVBQ25CLEtBQWM7SUFFZCxJQUFJLGVBQWUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM3QixlQUFlLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7U0FBTSxDQUFDO1FBQ0wsUUFBZ0IsQ0FBQyxXQUFXLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQztBQUNILENBQUM7QUFJRCxNQUFNLFVBQVUsWUFBWSxDQUMxQixRQUFXLEVBQ1gsUUFBVyxFQUNYLEtBQTRCO0lBRTdCLE1BQU0sZUFBZSxHQUFJLFFBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFzQyxDQUFDO0lBQ2pHLElBQUksZUFBZSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0FBQ0YsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQ3pCLFFBQVcsRUFDWCxRQUFXLEVBQ1gsT0FBZ0U7SUFFaEUsTUFBTSxlQUFlLEdBQUksUUFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQXNDLENBQUM7SUFDakcsSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDN0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFFLFFBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztTQUFNLENBQUM7UUFDTCxRQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBRSxRQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDckUsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNpZ25hbCwgybVJbnB1dFNpZ25hbE5vZGUgYXMgSW5wdXRTaWduYWxOb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTSUdOQUwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3ByaW1pdGl2ZXMvc2lnbmFscyc7XG5cbmZ1bmN0aW9uIGFwcGx5VmFsdWVUb0lucHV0RmllbGQ8VD4oXG4gIGluc3RhbmNlOiBULFxuICBpbnB1dFNpZ25hbE5vZGU6IG51bGwgfCBJbnB1dFNpZ25hbE5vZGU8dW5rbm93biwgdW5rbm93bj4sXG4gIHByaXZhdGVOYW1lOiBzdHJpbmcsXG4gIHZhbHVlOiB1bmtub3duLFxuKSB7XG4gIGlmIChpbnB1dFNpZ25hbE5vZGUgIT09IG51bGwpIHtcbiAgICBpbnB1dFNpZ25hbE5vZGUuYXBwbHlWYWx1ZVRvSW5wdXRTaWduYWwoaW5wdXRTaWduYWxOb2RlLCB2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgKGluc3RhbmNlIGFzIGFueSlbcHJpdmF0ZU5hbWVdID0gdmFsdWU7XG4gIH1cbn1cblxudHlwZSBJbnB1dFNpZ25hbFR5cGU8VD4gPSBUIGV4dGVuZHMgSW5wdXRTaWduYWw8aW5mZXIgVT4gPyBVIDogbmV2ZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRvSW5wdXQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KFxuICBpbnN0YW5jZTogVCxcbiAgcHJvcE5hbWU6IEssXG4gIHZhbHVlOiBJbnB1dFNpZ25hbFR5cGU8VFtLXT4sXG4pIHtcblx0Y29uc3QgaW5wdXRTaWduYWxOb2RlID0gKGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdW1NJR05BTF0gYXMgSW5wdXRTaWduYWxOb2RlPHVua25vd24sIHVua25vd24+O1xuXHRpZiAoaW5wdXRTaWduYWxOb2RlICE9PSBudWxsKSB7XG5cdFx0aW5wdXRTaWduYWxOb2RlLmFwcGx5VmFsdWVUb0lucHV0U2lnbmFsKGlucHV0U2lnbmFsTm9kZSwgdmFsdWUpO1xuXHR9IGVsc2Uge1xuXHRcdChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXSA9IHZhbHVlO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVJbnB1dDxULCBLIGV4dGVuZHMga2V5b2YgVD4oXG4gIGluc3RhbmNlOiBULFxuICBwcm9wTmFtZTogSyxcbiAgdXBkYXRlcjogKHZhbHVlOiBJbnB1dFNpZ25hbFR5cGU8VFtLXT4pID0+IElucHV0U2lnbmFsVHlwZTxUW0tdPixcbikge1xuICBjb25zdCBpbnB1dFNpZ25hbE5vZGUgPSAoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV1bU0lHTkFMXSBhcyBJbnB1dFNpZ25hbE5vZGU8dW5rbm93biwgdW5rbm93bj47XG4gIGlmIChpbnB1dFNpZ25hbE5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZSA9IHVwZGF0ZXIoKGluc3RhbmNlIGFzIGFueSlbcHJvcE5hbWVdKCkpO1xuICAgIGlucHV0U2lnbmFsTm9kZS5hcHBseVZhbHVlVG9JbnB1dFNpZ25hbChpbnB1dFNpZ25hbE5vZGUsIHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICAoaW5zdGFuY2UgYXMgYW55KVtwcm9wTmFtZV0gPSB1cGRhdGVyKChpbnN0YW5jZSBhcyBhbnkpW3Byb3BOYW1lXSk7XG4gIH1cbn1cbiJdfQ==","import { isObservable, lastValueFrom } from 'rxjs';\nexport async function wrapLoadChildren(loadChildrenCallback) {\n const children = await loadChildrenCallback();\n const _children = isObservable(children) ? await lastValueFrom(children) : children;\n const __children = 'default' in _children\n ? _children.default\n : 'routes' in _children\n ? _children.routes\n : _children;\n return __children;\n}\nexport function recursiveWrapRoute(route, ...wrappers) {\n const wrappedRoute = wrappers.reduce((acc, wrapper) => wrapper(acc), route);\n return {\n ...wrappedRoute,\n children: wrappedRoute.children\n ? recursiveWrapRoutes(wrappedRoute.children, ...wrappers)\n : undefined,\n loadChildren: wrappedRoute.loadChildren\n ? () => wrapLoadChildren(wrappedRoute.loadChildren).then(routes => recursiveWrapRoutes(routes, ...wrappers))\n : undefined,\n };\n}\nexport function recursiveWrapRoutes(routes, ...wrappers) {\n return routes.map(route => recursiveWrapRoute(route, ...wrappers));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVuRCxNQUFNLENBQUMsS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxvQkFBMEM7SUFFMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUNwRixNQUFNLFVBQVUsR0FBRyxTQUFTLElBQUksU0FBUztRQUN2QyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU87UUFDbkIsQ0FBQyxDQUFDLFFBQVEsSUFBSSxTQUFTO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUNsQixDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2QsT0FBTyxVQUFzQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBWSxFQUFFLEdBQUcsUUFBcUM7SUFDdkYsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RSxPQUFPO1FBQ0wsR0FBRyxZQUFZO1FBQ2YsUUFBUSxFQUFFLFlBQVksQ0FBQyxRQUFRO1lBQzdCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxTQUFTO1FBQ2IsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZO1lBQ3JDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDNUcsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsR0FBRyxRQUFxQztJQUMxRixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkQ2hpbGRyZW5DYWxsYmFjaywgUm91dGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBpc09ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyYXBMb2FkQ2hpbGRyZW4oXG4gIGxvYWRDaGlsZHJlbkNhbGxiYWNrOiBMb2FkQ2hpbGRyZW5DYWxsYmFja1xuKTogUHJvbWlzZTxSb3V0ZXM+IHtcbiAgY29uc3QgY2hpbGRyZW4gPSBhd2FpdCBsb2FkQ2hpbGRyZW5DYWxsYmFjaygpO1xuICBjb25zdCBfY2hpbGRyZW4gPSBpc09ic2VydmFibGUoY2hpbGRyZW4pID8gYXdhaXQgbGFzdFZhbHVlRnJvbShjaGlsZHJlbikgOiBjaGlsZHJlbjtcbiAgY29uc3QgX19jaGlsZHJlbiA9ICdkZWZhdWx0JyBpbiBfY2hpbGRyZW4gXG4gICAgPyBfY2hpbGRyZW4uZGVmYXVsdFxuICAgIDogJ3JvdXRlcycgaW4gX2NoaWxkcmVuXG4gICAgPyBfY2hpbGRyZW4ucm91dGVzXG4gICAgOiBfY2hpbGRyZW47XG4gIHJldHVybiBfX2NoaWxkcmVuIGFzIG5ldmVyIGFzIFByb21pc2U8Um91dGVzPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY3Vyc2l2ZVdyYXBSb3V0ZShyb3V0ZTogUm91dGUsIC4uLndyYXBwZXJzOiAoKHJvdXRlOiBSb3V0ZSkgPT4gUm91dGUpW10pOiBSb3V0ZSB7XG4gIGNvbnN0IHdyYXBwZWRSb3V0ZSA9IHdyYXBwZXJzLnJlZHVjZSgoYWNjLCB3cmFwcGVyKSA9PiB3cmFwcGVyKGFjYyksIHJvdXRlKTtcbiAgcmV0dXJuIHtcbiAgICAuLi53cmFwcGVkUm91dGUsXG4gICAgY2hpbGRyZW46IHdyYXBwZWRSb3V0ZS5jaGlsZHJlbiBcbiAgICAgID8gcmVjdXJzaXZlV3JhcFJvdXRlcyh3cmFwcGVkUm91dGUuY2hpbGRyZW4sIC4uLndyYXBwZXJzKVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAgbG9hZENoaWxkcmVuOiB3cmFwcGVkUm91dGUubG9hZENoaWxkcmVuIFxuICAgICAgPyAoKSA9PiB3cmFwTG9hZENoaWxkcmVuKHdyYXBwZWRSb3V0ZS5sb2FkQ2hpbGRyZW4pLnRoZW4ocm91dGVzID0+IHJlY3Vyc2l2ZVdyYXBSb3V0ZXMocm91dGVzLCAuLi53cmFwcGVycykpXG4gICAgICA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlY3Vyc2l2ZVdyYXBSb3V0ZXMocm91dGVzOiBSb3V0ZXMsIC4uLndyYXBwZXJzOiAoKHJvdXRlOiBSb3V0ZSkgPT4gUm91dGUpW10pOiBSb3V0ZXMge1xuICByZXR1cm4gcm91dGVzLm1hcChyb3V0ZSA9PiByZWN1cnNpdmVXcmFwUm91dGUocm91dGUsIC4uLndyYXBwZXJzKSk7XG59XG4iXX0=","import { InjectionToken } from \"@angular/core\";\nexport const NG_ATOMIC_DEBUG = new InjectionToken('NG_ATOMIC_DEBUG');\nexport function withNgAtomicDebug() {\n return { provide: NG_ATOMIC_DEBUG, useValue: true };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWRlYnVnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvbmctYXRvbWljLWRlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFVLGlCQUFpQixDQUFDLENBQUM7QUFDOUUsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDcEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IE5HX0FUT01JQ19ERUJVRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxib29sZWFuPignTkdfQVRPTUlDX0RFQlVHJyk7XG5leHBvcnQgZnVuY3Rpb24gd2l0aE5nQXRvbWljRGVidWcoKSB7XG4gIHJldHVybiB7cHJvdmlkZTogTkdfQVRPTUlDX0RFQlVHLCB1c2VWYWx1ZTogdHJ1ZX07XG59XG4iXX0=","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, inject, input } from '@angular/core';\nimport { NG_ATOMIC_DEBUG } from '../ng-atomic-debug';\nimport * as i0 from \"@angular/core\";\nconst DEBUG_CONFIG = {\n outline: '1px',\n colors: {\n 'templates': '#f00',\n 'organisms': '#0f0',\n 'molecules': '#00f',\n 'atoms': '#ff0',\n 'frames': 'transparent',\n 'default': '#000',\n },\n excludes: ['frames', 'app', 'pages', 'atoms'],\n};\nfunction getType(element) {\n return element.tagName.toLowerCase().split('-')[0];\n}\nfunction getName(element) {\n return element.tagName.toLowerCase();\n}\nfunction getLabel(element) {\n const name = getName(element);\n const type = getType(element);\n if (DEBUG_CONFIG.excludes.includes(type))\n return;\n return `${name}${element.hasAttribute('injected') ? '[injected]' : ''}`;\n}\nexport class DebugDirective {\n el = inject(ElementRef);\n platformId = inject(PLATFORM_ID);\n isDebug = input(inject(NG_ATOMIC_DEBUG, { optional: true }) ?? false);\n label = input(getLabel(this.el.nativeElement));\n ngOnInit() {\n if (isPlatformBrowser(this.platformId) && this.isDebug()) {\n const type = getType(this.el.nativeElement);\n const color = DEBUG_CONFIG.colors?.[type] ?? DEBUG_CONFIG.colors.default;\n this.createLabelElement({ label: this.label(), color });\n this.createOutline(color);\n }\n }\n createLabelElement(options) {\n const el = document.createElement('span');\n el.textContent = options.label;\n el.style.backgroundColor = `${options.color}`;\n el.style.color = '#fff';\n el.style.padding = '2px 4px';\n el.style.position = 'absolute';\n el.style.fontSize = '10px';\n el.style.top = '0';\n el.style.left = '0';\n el.style.zIndex = '9999';\n el.style.lineHeight = '1.5em';\n el.style.whiteSpace = 'nowrap';\n this.el.nativeElement.appendChild(el);\n }\n createOutline(color) {\n this.el.nativeElement.style.outline = `${DEBUG_CONFIG.outline} solid ${color}`;\n this.el.nativeElement.style.outlineOffset = '-1px';\n this.el.nativeElement.style.position = 'relative';\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DebugDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: DebugDirective, isStandalone: true, selector: \"debug\", inputs: { isDebug: { classPropertyName: \"isDebug\", publicName: \"isDebug\", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: \"label\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: DebugDirective, decorators: [{\n type: Directive,\n args: [{ standalone: true, selector: 'debug' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb3JlL3NyYy9saWIvZGVidWcvZGVidWcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFckQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUU7UUFDTixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixXQUFXLEVBQUUsTUFBTTtRQUNuQixPQUFPLEVBQUUsTUFBTTtRQUNmLFFBQVEsRUFBRSxhQUFhO1FBQ3ZCLFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0lBQ0QsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0NBQzlDLENBQUM7QUFFRixTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNuQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxPQUFvQjtJQUNuQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDdkMsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQW9CO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixNQUFNLElBQUksR0FBRyxPQUFP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QUM7dUdBdENVLGNBQWM7MkZBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgUExBVEZPUk1fSUQsIGluamVjdCwgT25Jbml0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfQVRPTUlDX0RFQlVHIH0gZnJvbSAnLi4vbmctYXRvbWljLWRlYnVnJztcblxuY29uc3QgREVCVUdfQ09ORklHID0ge1xuICBvdXRsaW5lOiAnMXB4JyxcbiAgY29sb3JzOiB7XG4gICAgJ3RlbXBsYXRlcyc6ICcjZjAwJyxcbiAgICAnb3JnYW5pc21zJzogJyMwZjAnLFxuICAgICdtb2xlY3VsZXMnOiAnIzAwZicsXG4gICAgJ2F0b21zJzogJyNmZjAnLFxuICAgICdmcmFtZXMnOiAndHJhbnNwYXJlbnQnLFxuICAgICdkZWZhdWx0JzogJyMwMDAnLFxuICB9LFxuICBleGNsdWRlczogWydmcmFtZXMnLCAnYXBwJywgJ3BhZ2VzJywgJ2F0b21zJ10sXG59O1xuXG5mdW5jdGlvbiBnZXRUeXBlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgcmV0dXJuIGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCctJylbMF07XG59XG5cbmZ1bmN0aW9uIGdldE5hbWUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBzdHJpbmcge1xuICByZXR1cm4gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7XG59XG5cbmZ1bmN0aW9uIGdldExhYmVsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgY29uc3QgbmFtZSA9IGdldE5hbWUoZWxlbWVudCk7XG4gIGNvbnN0IHR5cGUgPSBnZXRUeXBlKGVsZW1lbnQpO1xuICBpZiAoREVCVUdfQ09ORklHLmV4Y2x1ZGVzLmluY2x1ZGVzKHR5cGUpKSByZXR1cm47XG4gIHJldHVybiBgJHtuYW1lfSR7ZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2luamVjdGVkJykgPyAnW2luamVjdGVkXScgOiAnJ31gO1xufVxuXG5ARGlyZWN0aXZlKHtzdGFuZGFsb25lOiB0cnVlLCBzZWxlY3RvcjogJ2RlYnVnJ30pXG5leHBvcnQgY2xhc3MgRGVidWdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcm90ZWN0ZWQgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG4gIHByb3RlY3RlZCBpc0RlYnVnID0gaW5wdXQoaW5qZWN0KE5HX0FUT01JQ19ERUJVRywge29wdGlvbmFsOiB0cnVlfSkgPz8gZmFsc2UpO1xuICBwcm90ZWN0ZWQgbGFiZWwgPSBpbnB1dChnZXRMYWJlbCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLmlzRGVidWcoKSkge1xuICAgICAgY29uc3QgdHlwZSA9IGdldFR5cGUodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICAgIGNvbnN0IGNvbG9yID0gREVCVUdfQ09ORklHLmNvbG9ycz8uW3R5cGVdID8/IERFQlVHX0NPTkZJRy5jb2xvcnMuZGVmYXVsdDtcbiAgICAgIHRoaXMuY3JlYXRlTGFiZWxFbGVtZW50KHsgbGFiZWw6IHRoaXMubGFiZWwoKSwgY29sb3IgfSk7XG4gICAgICB0aGlzLmNyZWF0ZU91dGxpbmUoY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVMYWJlbEVsZW1lbnQob3B0aW9uczoge1xuICAgIGxhYmVsOiBzdHJpbmdcbiAgICBjb2xvcjogc3RyaW5nXG4gIH0pIHtcbiAgICBjb25zdCBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICBlbC50ZXh0Q29udGVudCA9IG9wdGlvbnMubGFiZWw7XG4gICAgZWwuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gYCR7b3B0aW9ucy5jb2xvcn1gO1xuICAgIGVsLnN0eWxlLmNvbG9yID0gJyNmZmYnO1xuICAgIGVsLnN0eWxlLnBhZGRpbmcgPSAnMnB4IDRweCc7XG4gICAgZWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgIGVsLnN0eWxlLmZvbnRTaXplID0gJzEwcHgnO1xuICAgIGVsLnN0eWxlLnRvcCA9ICcwJztcbiAgICBlbC5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgIGVsLnN0eWxlLnpJbmRleCA9ICc5OTk5JztcbiAgICBlbC5zdHlsZS5saW5lSGVpZ2h0ID0gJzEuNWVtJztcbiAgICBlbC5zdHlsZS53aGl0ZVNwYWNlID0gJ25vd3JhcCc7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVPdXRsaW5lKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3V0bGluZSA9IGAke0RFQlVHX0NPTkZJRy5vdXRsaW5lfSBzb2xpZCAke2NvbG9yfWA7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLm91dGxpbmVPZmZzZXQgPSAnLTFweCc7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgfVxufSJdfQ==","import { ApplicationRef, Directive, ElementRef, Injector, output, inject } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { InjectableComponent } from \"./injectable-component\";\nimport { NgAtomicRootActionStore } from \"./action-store\";\nimport { NgAtomicActionLogger } from \"./logger\";\nimport { DebugDirective } from './debug';\nimport { applyEffect, EffectResolver, getEffectEntries } from \"./effect\";\nimport { injectEffectEntries } from \"./effect\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./debug/debug.directive\";\nexport class NgAtomicHostActionStore {\n logger = inject(NgAtomicActionLogger);\n root = inject(NgAtomicRootActionStore);\n appRef = inject(ApplicationRef);\n route = inject(ActivatedRoute);\n injector = inject(Injector);\n async dispatch(action, context) {\n this.logger.log(action, context.scope);\n if (context.scope === 'root') {\n return this.root.dispatch(action);\n }\n const resolver = new EffectResolver();\n const entries = [...getEffectEntries(context?.component), ...injectEffectEntries(this.injector)];\n resolver.registerMany(entries);\n const result = await applyEffect(resolver, action, context);\n if (!result.dispatch)\n return;\n if (this.isBootstrapOrRouteComponent(context)) {\n return this.dispatchToParentInjector(action, context);\n }\n else {\n return context.component.__action.emit(action);\n }\n }\n async dispatchToParentInjector(action, context, injector = this.injector) {\n this.logger.log(action, 'injector');\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (parentInjector && parentInjector !== Injector.NULL) {\n const effectEntries = injectEffectEntries(parentInjector);\n const resolver = new EffectResolver();\n resolver.registerMany(effectEntries);\n const result = await applyEffect(resolver, action, context);\n if (result.dispatch) {\n await this.dispatchToParentInjector(action, context, parentInjector);\n }\n }\n else {\n await this.root.dispatch(action);\n }\n }\n isBootstrapOrRouteComponent(context) {\n return this.isBootstrapComponent(context) || this.isRouteComponent(context);\n }\n isRouteComponent(context) {\n return this.route.snapshot.component === context.component.constructor;\n }\n isBootstrapComponent(context) {\n return this.appRef.components.some(component => component.instance === context.component);\n }\n registerRootEffectEntries(component) {\n const entries = [...getEffectEntries(component), ...injectEffectEntries(this.injector)]\n .filter(entry => entry.props.scopes.includes('root'));\n this.root.registerMany(entries);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicHostActionStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: NgAtomicHostActionStore, isStandalone: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicHostActionStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }] });\nexport class NgAtomicComponent extends InjectableComponent {\n actionStore = inject(NgAtomicHostActionStore);\n logger = inject(NgAtomicActionLogger);\n __injector = inject(Injector);\n __action = output({ alias: 'action' });\n #el = inject(ElementRef);\n get selector() {\n return this.#el.nativeElement.tagName.toLowerCase();\n }\n constructor() {\n super();\n this.actionStore.registerRootEffectEntries(this);\n }\n async dispatch(action_, scope = 'host', componentId = null) {\n const action = { ...action_, meta: { componentId, selector: this.selector } };\n return this.actionStore.dispatch(action, { component: this, scope });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.5\", type: NgAtomicComponent, isStandalone: true, outputs: { __action: \"action\" }, usesInheritance: true, hostDirectives: [{ directive: NgAtomicHostActionStore }, { directive: i1.DebugDirective }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: NgAtomicComponent, decorators: [{\n type: Directive,\n args: [{\n standalone: true,\n hostDirectives: [\n NgAtomicHostActionStore,\n DebugDirective,\n ],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29yZS9zcmMvbGliL25nLWF0b21pYy1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN6QyxPQUFPLEVBQWlCLFdBQVcsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOzs7QUFJL0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNmLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDdkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFckMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFjLEVBQUUsT0FBc0I7UUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFDLENBQUM7WUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUN0QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakcsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQixNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUFFLE9BQU87UUFFN0IsSUFBSSxJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVTLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFjLEVBQUUsT0FBc0IsRUFBRSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7UUFDdkcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksY0FBYyxJQUFJLGNBQWMsS0FBSyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUN0QyxRQUFRLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLE1BQU0sV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFNUQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7WUFDdkUsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVTLDJCQUEyQixDQUFDLE9BQXNCO1FBQzFELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZ0JBQWdCLENBQUMsT0FBc0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7SUFDekUsQ0FBQztJQUVTLG9CQUFvQixDQUFDLE9BQXNCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELHlCQUF5QixDQUFDLFNBQTRCO1FBQ3BELE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO3VHQTdEVSx1QkFBdUI7MkZBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7O0FBd0UvQixNQUFNLE9BQU8saUJBQTJCLFNBQVEsbUJBQXNCO0lBQ2pELFdBQVcsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM5QyxNQUFNLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEQsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixRQUFRLEdBQUcsTUFBTSxDQUFTLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7SUFDN0MsR0FBRyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVsQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQ1osT0FBZSxFQUNmLEtBQUssR0FBRyxNQUFNLEVBQ2QsY0FBc0MsSUFBSTtRQUUxQyxNQUFNLE1BQU0sR0FBRyxFQUFDLEdBQUcsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFDLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQzt1R0F2QlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsNEdBdkVqQix1QkFBdUI7OzJGQXVFdkIsaUJBQWlCO2tCQVA3QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixjQUFjLEVBQUU7d0JBQ2QsdUJBQXVCO3dCQUN2QixjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25SZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIG91dHB1dCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSBcIi4vYWN0aW9uXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlQ29tcG9uZW50IH0gZnJvbSBcIi4vaW5qZWN0YWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7IE5nQXRvbWljUm9vdEFjdGlvblN0b3JlIH0gZnJvbSBcIi4vYWN0aW9uLXN0b3JlXCI7XG5pbXBvcnQgeyBOZ0F0b21pY0FjdGlvbkxvZ2dlciB9IGZyb20gXCIuL2xvZ2dlclwiO1xuaW1wb3J0IHsgRGVidWdEaXJlY3RpdmUgfSBmcm9tICcuL2RlYnVnJztcbmltcG9ydCB7IEFjdGlvbkNvbnRleHQsIGFwcGx5RWZmZWN0LCBFZmZlY3RSZXNvbHZlciwgZ2V0RWZmZWN0RW50cmllcyB9IGZyb20gXCIuL2VmZmVjdFwiO1xuaW1wb3J0IHsgaW5qZWN0RWZmZWN0RW50cmllcyB9IGZyb20gXCIuL2VmZmVjdFwiO1xuXG5cbkBEaXJlY3RpdmUoeyBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmdBdG9taWNIb3N0QWN0aW9uU3RvcmUge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9nZ2VyID0gaW5qZWN0KE5nQXRvbWljQWN0aW9uTG9nZ2VyKTtcbiAgcmVhZG9ubHkgcm9vdCA9IGluamVjdChOZ0F0b21pY1Jvb3RBY3Rpb25TdG9yZSk7XG4gIHJlYWRvbmx5IGFwcFJlZiA9IGluamVjdChBcHBsaWNhdGlvblJlZik7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcmVhZG9ubHkgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIGFzeW5jIGRpc3BhdGNoKGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2dnZXIubG9nKGFjdGlvbiwgY29udGV4dC5zY29wZSk7XG5cbiAgICBpZiAoY29udGV4dC5zY29wZSA9PT0gJ3Jvb3QnKXtcbiAgICAgIHJldHVybiB0aGlzLnJvb3QuZGlzcGF0Y2goYWN0aW9uKTtcbiAgICB9XG4gICAgICBcbiAgICBjb25zdCByZXNvbHZlciA9IG5ldyBFZmZlY3RSZXNvbHZlcigpO1xuICAgIGNvbnN0IGVudHJpZXMgPSBbLi4uZ2V0RWZmZWN0RW50cmllcyhjb250ZXh0Py5jb21wb25lbnQpLCAuLi5pbmplY3RFZmZlY3RFbnRyaWVzKHRoaXMuaW5qZWN0b3IpXTtcbiAgICByZXNvbHZlci5yZWdpc3Rlck1hbnkoZW50cmllcyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcHBseUVmZmVjdChyZXNvbHZlciwgYWN0aW9uLCBjb250ZXh0KTtcbiAgICBpZiAoIXJlc3VsdC5kaXNwYXRjaCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuaXNCb290c3RyYXBPclJvdXRlQ29tcG9uZW50KGNvbnRleHQpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaFRvUGFyZW50SW5qZWN0b3IoYWN0aW9uLCBjb250ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGNvbnRleHQuY29tcG9uZW50Ll9fYWN0aW9uLmVtaXQoYWN0aW9uKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZGlzcGF0Y2hUb1BhcmVudEluamVjdG9yKGFjdGlvbjogQWN0aW9uLCBjb250ZXh0OiBBY3Rpb25Db250ZXh0LCBpbmplY3RvciA9IHRoaXMuaW5qZWN0b3IpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvZ2dlci5sb2coYWN0aW9uLCAnaW5qZWN0b3InKTtcbiAgICBjb25zdCBwYXJlbnRJbmplY3RvciA9IGluamVjdG9yLmdldChJbmplY3RvciwgbnVsbCwgeyBza2lwU2VsZjogdHJ1ZSB9KTtcbiAgICBpZiAocGFyZW50SW5qZWN0b3IgJiYgcGFyZW50SW5qZWN0b3IgIT09IEluamVjdG9yLk5VTEwpIHtcbiAgICAgIGNvbnN0IGVmZmVjdEVudHJpZXMgPSBpbmplY3RFZmZlY3RFbnRyaWVzKHBhcmVudEluamVjdG9yKTtcbiAgICAgIGNvbnN0IHJlc29sdmVyID0gbmV3IEVmZmVjdFJlc29sdmVyKCk7XG4gICAgICByZXNvbHZlci5yZWdpc3Rlck1hbnkoZWZmZWN0RW50cmllcyk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcHBseUVmZmVjdChyZXNvbHZlciwgYWN0aW9uLCBjb250ZXh0KTtcbiAgXG4gICAgICBpZiAocmVzdWx0LmRpc3BhdGNoKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2hUb1BhcmVudEluamVjdG9yKGFjdGlvbiwgY29udGV4dCwgcGFyZW50SW5qZWN0b3IpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnJvb3QuZGlzcGF0Y2goYWN0aW9uKTsgICAgXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGlzQm9vdHN0cmFwT3JSb3V0ZUNvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNCb290c3RyYXBDb21wb25lbnQoY29udGV4dCkgfHwgdGhpcy5pc1JvdXRlQ29tcG9uZW50KGNvbnRleHQpO1xuICB9XG4gIFxuICBwcm90ZWN0ZWQgaXNSb3V0ZUNvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGUuc25hcHNob3QuY29tcG9uZW50ID09PSBjb250ZXh0LmNvbXBvbmVudC5jb25zdHJ1Y3RvcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0Jvb3RzdHJhcENvbXBvbmVudChjb250ZXh0OiBBY3Rpb25Db250ZXh0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwUmVmLmNvbXBvbmVudHMuc29tZShjb21wb25lbnQgPT4gY29tcG9uZW50Lmluc3RhbmNlID09PSBjb250ZXh0LmNvbXBvbmVudCk7XG4gIH1cblxuICByZWdpc3RlclJvb3RFZmZlY3RFbnRyaWVzKGNvbXBvbmVudDogTmdBdG9taWNDb21wb25lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbnRyaWVzID0gWy4uLmdldEVmZmVjdEVudHJpZXMoY29tcG9uZW50KSwgLi4uaW5qZWN0RWZmZWN0RW50cmllcyh0aGlzLmluamVjdG9yKV1cbiAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnkucHJvcHMuc2NvcGVzLmluY2x1ZGVzKCdyb290JykpO1xuICAgIHRoaXMucm9vdC5yZWdpc3Rlck1hbnkoZW50cmllcyk7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgTmdBdG9taWNIb3N0QWN0aW9uU3RvcmUsXG4gICAgRGVidWdEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nQXRvbWljQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudDxUPiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhY3Rpb25TdG9yZSA9IGluamVjdChOZ0F0b21pY0hvc3RBY3Rpb25TdG9yZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTmdBdG9taWNBY3Rpb25Mb2dnZXIpO1xuICByZWFkb25seSBfX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcmVhZG9ubHkgX19hY3Rpb24gPSBvdXRwdXQ8QWN0aW9uPih7YWxpYXM6ICdhY3Rpb24nfSk7XG4gIHJlYWRvbmx5ICNlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBnZXQgc2VsZWN0b3IoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2VsLm5hdGl2ZUVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFjdGlvblN0b3JlLnJlZ2lzdGVyUm9vdEVmZmVjdEVudHJpZXModGhpcyk7XG4gIH1cblxuICBhc3luYyBkaXNwYXRjaChcbiAgICBhY3Rpb25fOiBBY3Rpb24sXG4gICAgc2NvcGUgPSAnaG9zdCcsXG4gICAgY29tcG9uZW50SWQ6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsLFxuICApIHtcbiAgICBjb25zdCBhY3Rpb24gPSB7Li4uYWN0aW9uXywgbWV0YTogeyBjb21wb25lbnRJZCwgc2VsZWN0b3I6IHRoaXMuc2VsZWN0b3IgfX07XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uU3RvcmUuZGlzcGF0Y2goYWN0aW9uLCB7IGNvbXBvbmVudDogdGhpcywgc2NvcGUgfSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctYXRvbWljLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvcmUvc3JjL2xpYi9uZy1hdG9taWMtY29yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1.DebugDirective"],"mappings":"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"}
package/index.d.ts CHANGED
@@ -233,3 +233,4 @@ declare function withNgAtomicDebug(): {
233
233
 
234
234
  export { CallPipe, DEFAULT_EFFECT_PROPS, DebugDirective, Effect, EffectResolver, FAKE_COMPUTED, HostType, InjectableComponent, NG_ATOMIC_DEBUG, NgAtomicActionLogger, NgAtomicComponent, NgAtomicHostActionStore, NgAtomicRootActionStore, TOKEN, TokenizedType, _computed, applyEffect, applyToInput, compute, computeFake, computeFakeV2, createAction, fakeComputed, getEffectEntries, getInputs, getInputsByComponentRef, getMeta, getOutputs, getOutputsByInstance, getToken, injectEffectEntries, isFakeComputed, isSignalOrFakeComputed, makeProvideComopnentConfigure, normalizeEffectProps, provideComponent, provideEffect, proxyFakeComputedInputValueFn, proxyFakeComputedInputs, recursiveWrapRoute, recursiveWrapRoutes, resolveActions, updateInput, withNgAtomicDebug, wrapActions, wrapLoadChildren };
235
235
  export type { Action, ActionContext, ActionFactory, Actions, ActionsFactory, CreateActionsOptions, EffectContext, EffectEntry, EffectProps, EffectResult, ItemActions, NavActions, TypeFactory, TypeFactoryAsync, TypeOrTypeFactory };
236
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../packages/@ng-atomic/core/src/lib/action.ts","../../../../packages/@ng-atomic/core/src/lib/logger.ts","../../../../packages/@ng-atomic/core/src/lib/injectable-component.ts","../../../../packages/@ng-atomic/core/src/lib/debug/debug.directive.ts","../../../../packages/@ng-atomic/core/src/lib/ng-atomic-component.ts","../../../../packages/@ng-atomic/core/src/lib/effect.ts","../../../../packages/@ng-atomic/core/src/lib/action-store.ts","../../../../packages/@ng-atomic/core/src/lib/input.ts","../../../../packages/@ng-atomic/core/src/lib/route.ts","../../../../packages/@ng-atomic/core/src/lib/signals.ts","../../../../packages/@ng-atomic/core/src/lib/ng-atomic-debug.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["_angular_core","i1.DebugDirective"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-atomic/core",
3
- "version": "19.9.0",
3
+ "version": "19.12.0",
4
4
  "homepage": "https://github.com/xx-machina/plaform/tree/main/packages/@ng-atomic/core",
5
5
  "repository": {
6
6
  "type": "git",