@abp/ng.core 7.1.1 → 7.2.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,6 +23,7 @@ import { ToInjectorPipe } from './pipes/to-injector.pipe';
23
23
  import { CookieLanguageProvider } from './providers/cookie-language.provider';
24
24
  import { LocaleProvider } from './providers/locale.provider';
25
25
  import { LocalizationService } from './services/localization.service';
26
+ import { OTHERS_GROUP } from './tokens';
26
27
  import { localizationContributor, LOCALIZATIONS } from './tokens/localization.token';
27
28
  import { CORE_OPTIONS, coreOptionsFactory } from './tokens/options.token';
28
29
  import { TENANT_KEY } from './tokens/tenant-key.token';
@@ -246,6 +247,10 @@ export class CoreModule {
246
247
  provide: QUEUE_MANAGER,
247
248
  useClass: DefaultQueueManager,
248
249
  },
250
+ {
251
+ provide: OTHERS_GROUP,
252
+ useValue: options.othersGroup || 'AbpUi::OthersGroup',
253
+ },
249
254
  IncludeLocalizationResourcesProvider,
250
255
  ],
251
256
  };
@@ -274,4 +279,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
274
279
  imports: [BaseCoreModule],
275
280
  }]
276
281
  }] });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9B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XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEh0dHBDbGllbnRYc3JmTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdHMvbmctbW9kZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0xheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9keW5hbWljLWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlcGxhY2VhYmxlLXJvdXRlLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRvZm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kZWJvdW5jZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9yLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1TdWJtaXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1zdWJtaXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbml0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFBlcm1pc3Npb25EaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcGVybWlzc2lvbi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXBsYWNlYWJsZVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JlcGxhY2VhYmxlLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zdG9wLXByb3BhZ2F0aW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJvdXRlc0hhbmRsZXIgfSBmcm9tICcuL2hhbmRsZXJzL3JvdXRlcy5oYW5kbGVyJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSAnLi9sb2NhbGl6YXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvbG9jYWxpemF0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBTb3J0UGlwZSB9IGZyb20gJy4vcGlwZXMvc29ydC5waXBlJztcclxuaW1wb3J0IHsgVG9JbmplY3RvclBpcGUgfSBmcm9tICcuL3BpcGVzL3RvLWluamVjdG9yLnBpcGUnO1xyXG5pbXBvcnQgeyBDb29raWVMYW5ndWFnZVByb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvY29va2llLWxhbmd1YWdlLnByb3ZpZGVyJztcclxuaW1wb3J0IHsgTG9jYWxlUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9sb2NhbGUucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9sb2NhbGl6YXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yLCBMT0NBTElaQVRJT05TIH0gZnJvbSAnLi90b2tlbnMvbG9jYWxpemF0aW9uLnRva2VuJztcclxuaW1wb3J0IHsgQ09SRV9PUFRJT05TLCBjb3JlT3B0aW9uc0ZhY3RvcnkgfSBmcm9tICcuL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgVEVOQU5UX0tFWSB9IGZyb20gJy4vdG9rZW5zL3RlbmFudC1rZXkudG9rZW4nO1xyXG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi91dGlscy9jb21tb24tdXRpbHMnO1xyXG5pbXBvcnQgJy4vdXRpbHMvZGF0ZS1leHRlbnNpb25zJztcclxuaW1wb3J0IHsgZ2V0SW5pdGlhbERhdGEsIGxvY2FsZUluaXRpYWxpemVyIH0gZnJvbSAnLi91dGlscy9pbml0aWFsLXV0aWxzJztcclxuaW1wb3J0IHsgU2hvcnREYXRlVGltZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LWRhdGUtdGltZS5waXBlJztcclxuaW1wb3J0IHsgU2hvcnRUaW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvc2hvcnQtdGltZS5waXBlJztcclxuaW1wb3J0IHsgU2hvcnREYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvc2hvcnQtZGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XHJcbmltcG9ydCB7IFFVRVVFX01BTkFHRVIgfSBmcm9tICcuL3Rva2Vucy9xdWV1ZS50b2tlbic7XHJcbmltcG9ydCB7IERlZmF1bHRRdWV1ZU1hbmFnZXIgfSBmcm9tICcuL3V0aWxzL3F1ZXVlJztcclxuaW1wb3J0IHsgSW5jbHVkZUxvY2FsaXphdGlvblJlc291cmNlc1Byb3ZpZGVyIH0gZnJvbSAnLi9wcm92aWRlcnMvaW5jbHVkZS1sb2NhbGl6YXRpb24tcmVzb3VyY2VzLnByb3ZpZGVyJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlQ29yZU1vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgaG9sZHNcclxuICogYWxsIGltcG9ydHMsIGRlY2xhcmF0aW9ucywgZXhwb3J0cywgYW5kIGVudHJ5Q29tcG9uZW50c1xyXG4gKiBidXQgbm90IHRoZSBwcm92aWRlcnMuXHJcbiAqIFRoaXMgbW9kdWxlIHdpbGwgYmUgaW1wb3J0ZWQgYW5kIGV4cG9ydGVkIGJ5IGFsbCBvdGhlcnMuXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQsXHJcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgRm9yRGlyZWN0aXZlLFxyXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcclxuICAgIEluaXREaXJlY3RpdmUsXHJcbiAgICBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUsXHJcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxyXG4gICAgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIFNhZmVIdG1sUGlwZSxcclxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcclxuICAgIFRvSW5qZWN0b3JQaXBlLFxyXG4gICAgU2hvcnREYXRlVGltZVBpcGUsXHJcbiAgICBTaG9ydFRpbWVQaXBlLFxyXG4gICAgU2hvcnREYXRlUGlwZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEFic3RyYWN0TmdNb2RlbENvbXBvbmVudCxcclxuICAgIEF1dG9mb2N1c0RpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnQsXHJcbiAgICBGb3JEaXJlY3RpdmUsXHJcbiAgICBGb3JtU3VibWl0RGlyZWN0aXZlLFxyXG4gICAgSW5pdERpcmVjdGl2ZSxcclxuICAgIElucHV0RXZlbnREZWJvdW5jZURpcmVjdGl2ZSxcclxuICAgIFBlcm1pc3Npb25EaXJlY3RpdmUsXHJcbiAgICBSZXBsYWNlYWJsZVJvdXRlQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgUmVwbGFjZWFibGVUZW1wbGF0ZURpcmVjdGl2ZSxcclxuICAgIFJvdXRlck91dGxldENvbXBvbmVudCxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgU2FmZUh0bWxQaXBlLFxyXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxyXG4gICAgVG9JbmplY3RvclBpcGUsXHJcbiAgICBTaG9ydERhdGVUaW1lUGlwZSxcclxuICAgIFNob3J0VGltZVBpcGUsXHJcbiAgICBTaG9ydERhdGVQaXBlLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbTG9jYWxpemF0aW9uUGlwZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ29yZU1vZHVsZSB7fVxyXG5cclxuLyoqXHJcbiAqIFJvb3RDb3JlTW9kdWxlIGlzIHRoZSBtb2R1bGUgdGhhdCB3aWxsIGJlIHVzZWQgYXQgcm9vdCBsZXZlbFxyXG4gKiBhbmQgaXQgaW50cm9kdWNlcyBpbXBvcnRzIHVzZWZ1bCBhdCByb290IGxldmVsIChlLmcuIE5HWFMpXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGV4cG9ydHM6IFtCYXNlQ29yZU1vZHVsZSwgTG9jYWxpemF0aW9uTW9kdWxlXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBCYXNlQ29yZU1vZHVsZSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRYc3JmTW9kdWxlLndpdGhPcHRpb25zKHtcclxuICAgICAgY29va2llTmFtZTogJ1hTUkYtVE9LRU4nLFxyXG4gICAgICBoZWFkZXJOYW1lOiAnUmVxdWVzdFZlcmlmaWNhdGlvblRva2VuJyxcclxuICAgIH0pLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290Q29yZU1vZHVsZSB7fVxyXG5cclxuLyoqXHJcbiAqIENvcmVNb2R1bGUgaXMgdGhlIG1vZHVsZSB0aGF0IGlzIHB1YmxpY2x5IGF2YWlsYWJsZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbQmFzZUNvcmVNb2R1bGVdLFxyXG4gIGltcG9ydHM6IFtCYXNlQ29yZU1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb3JlTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChvcHRpb25zID0ge30gYXMgQUJQLlJvb3QpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFJvb3RDb3JlTW9kdWxlPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuZ01vZHVsZTogUm9vdENvcmVNb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIExvY2FsZVByb3ZpZGVyLFxyXG4gICAgICAgIENvb2tpZUxhbmd1YWdlUHJvdmlkZXIsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogJ0NPUkVfT1BUSU9OUycsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IENPUkVfT1BUSU9OUyxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNvcmVPcHRpb25zRmFjdG9yeSxcclxuICAgICAgICAgIGRlcHM6IFsnQ09SRV9PUFRJT05TJ10sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBnZXRJbml0aWFsRGF0YSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0luamVjdG9yXSxcclxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGxvY2FsZUluaXRpYWxpemVyLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbUm91dGVzSGFuZGxlcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBub29wLFxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIHsgcHJvdmlkZTogVEVOQU5UX0tFWSwgdXNlVmFsdWU6IG9wdGlvbnMudGVuYW50S2V5IHx8ICdfX3RlbmFudCcgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBMT0NBTElaQVRJT05TLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogbG9jYWxpemF0aW9uQ29udHJpYnV0b3Iob3B0aW9ucy5sb2NhbGl6YXRpb25zKSxcclxuICAgICAgICAgIGRlcHM6IFtMb2NhbGl6YXRpb25TZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IFFVRVVFX01BTkFHRVIsXHJcbiAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdFF1ZXVlTWFuYWdlcixcclxuICAgICAgICB9LFxyXG4gICAgICAgIEluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXNQcm92aWRlcixcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9yQ2hpbGQob3B0aW9ucyA9IHt9IGFzIEFCUC5DaGlsZCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Um9vdENvcmVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBSb290Q29yZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9DQUxJWkFUSU9OUyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yKG9wdGlvbnMubG9jYWxpemF0aW9ucyksXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzNGLE9B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QUMsY0FBYyxDQUFDO29CQUN6QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudFhzcmZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQgfSBmcm9tICcuL2Fic3RyYWN0cy9uZy1tb2RlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2R5bmFtaWMtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3V0ZXItb3V0bGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9mb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RlYm91bmNlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRm9ybVN1Ym1pdERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLXN1Ym1pdC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJbml0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2luaXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9wZXJtaXNzaW9uLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvcmVwbGFjZWFibGUtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3N0b3AtcHJvcGFnYXRpb24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgUm91dGVzSGFuZGxlciB9IGZyb20gJy4vaGFuZGxlcnMvcm91dGVzLmhhbmRsZXInO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuL2xvY2FsaXphdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGl6YXRpb24ucGlwZSc7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSAnLi9waXBlcy9zb3J0LnBpcGUnO1xyXG5pbXBvcnQgeyBUb0luamVjdG9yUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taW5qZWN0b3IucGlwZSc7XHJcbmltcG9ydCB7IENvb2tpZUxhbmd1YWdlUHJvdmlkZXIgfSBmcm9tICcuL3Byb3ZpZGVycy9jb29raWUtbGFuZ3VhZ2UucHJvdmlkZXInO1xyXG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2xvY2FsZS5wcm92aWRlcic7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2xvY2FsaXphdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT1RIRVJTX0dST1VQIH0gZnJvbSAnLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBsb2NhbGl6YXRpb25Db250cmlidXRvciwgTE9DQUxJWkFUSU9OUyB9IGZyb20gJy4vdG9rZW5zL2xvY2FsaXphdGlvbi50b2tlbic7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUywgY29yZU9wdGlvbnNGYWN0b3J5IH0gZnJvbSAnLi90b2tlbnMvb3B0aW9ucy50b2tlbic7XHJcbmltcG9ydCB7IFRFTkFOVF9LRVkgfSBmcm9tICcuL3Rva2Vucy90ZW5hbnQta2V5LnRva2VuJztcclxuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4vdXRpbHMvY29tbW9uLXV0aWxzJztcclxuaW1wb3J0ICcuL3V0aWxzL2RhdGUtZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IGdldEluaXRpYWxEYXRhLCBsb2NhbGVJbml0aWFsaXplciB9IGZyb20gJy4vdXRpbHMvaW5pdGlhbC11dGlscyc7XHJcbmltcG9ydCB7IFNob3J0RGF0ZVRpbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9zaG9ydC1kYXRlLXRpbWUucGlwZSc7XHJcbmltcG9ydCB7IFNob3J0VGltZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LXRpbWUucGlwZSc7XHJcbmltcG9ydCB7IFNob3J0RGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL3Nob3J0LWRhdGUucGlwZSc7XHJcbmltcG9ydCB7IFNhZmVIdG1sUGlwZSB9IGZyb20gJy4vcGlwZXMvc2FmZS1odG1sLnBpcGUnO1xyXG5pbXBvcnQgeyBRVUVVRV9NQU5BR0VSIH0gZnJvbSAnLi90b2tlbnMvcXVldWUudG9rZW4nO1xyXG5pbXBvcnQgeyBEZWZhdWx0UXVldWVNYW5hZ2VyIH0gZnJvbSAnLi91dGlscy9xdWV1ZSc7XHJcbmltcG9ydCB7IEluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXNQcm92aWRlciB9IGZyb20gJy4vcHJvdmlkZXJzL2luY2x1ZGUtbG9jYWxpemF0aW9uLXJlc291cmNlcy5wcm92aWRlcic7XHJcblxyXG4vKipcclxuICogQmFzZUNvcmVNb2R1bGUgaXMgdGhlIG1vZHVsZSB0aGF0IGhvbGRzXHJcbiAqIGFsbCBpbXBvcnRzLCBkZWNsYXJhdGlvbnMsIGV4cG9ydHMsIGFuZCBlbnRyeUNvbXBvbmVudHNcclxuICogYnV0IG5vdCB0aGUgcHJvdmlkZXJzLlxyXG4gKiBUaGlzIG1vZHVsZSB3aWxsIGJlIGltcG9ydGVkIGFuZCBleHBvcnRlZCBieSBhbGwgb3RoZXJzLlxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gICAgQWJzdHJhY3ROZ01vZGVsQ29tcG9uZW50LFxyXG4gICAgQXV0b2ZvY3VzRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcclxuICAgIEZvckRpcmVjdGl2ZSxcclxuICAgIEZvcm1TdWJtaXREaXJlY3RpdmUsXHJcbiAgICBJbml0RGlyZWN0aXZlLFxyXG4gICAgSW5wdXRFdmVudERlYm91bmNlRGlyZWN0aXZlLFxyXG4gICAgUGVybWlzc2lvbkRpcmVjdGl2ZSxcclxuICAgIFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBSZXBsYWNlYWJsZVRlbXBsYXRlRGlyZWN0aXZlLFxyXG4gICAgUm91dGVyT3V0bGV0Q29tcG9uZW50LFxyXG4gICAgU29ydFBpcGUsXHJcbiAgICBTYWZlSHRtbFBpcGUsXHJcbiAgICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXHJcbiAgICBUb0luamVjdG9yUGlwZSxcclxuICAgIFNob3J0RGF0ZVRpbWVQaXBlLFxyXG4gICAgU2hvcnRUaW1lUGlwZSxcclxuICAgIFNob3J0RGF0ZVBpcGUsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTG9jYWxpemF0aW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBYnN0cmFjdE5nTW9kZWxDb21wb25lbnQsXHJcbiAgICBBdXRvZm9jdXNEaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgRm9yRGlyZWN0aXZlLFxyXG4gICAgRm9ybVN1Ym1pdERpcmVjdGl2ZSxcclxuICAgIEluaXREaXJlY3RpdmUsXHJcbiAgICBJbnB1dEV2ZW50RGVib3VuY2VEaXJlY3RpdmUsXHJcbiAgICBQZXJtaXNzaW9uRGlyZWN0aXZlLFxyXG4gICAgUmVwbGFjZWFibGVSb3V0ZUNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFJlcGxhY2VhYmxlVGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIFNhZmVIdG1sUGlwZSxcclxuICAgIFN0b3BQcm9wYWdhdGlvbkRpcmVjdGl2ZSxcclxuICAgIFRvSW5qZWN0b3JQaXBlLFxyXG4gICAgU2hvcnREYXRlVGltZVBpcGUsXHJcbiAgICBTaG9ydFRpbWVQaXBlLFxyXG4gICAgU2hvcnREYXRlUGlwZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW0xvY2FsaXphdGlvblBpcGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFzZUNvcmVNb2R1bGUge31cclxuXHJcbi8qKlxyXG4gKiBSb290Q29yZU1vZHVsZSBpcyB0aGUgbW9kdWxlIHRoYXQgd2lsbCBiZSB1c2VkIGF0IHJvb3QgbGV2ZWxcclxuICogYW5kIGl0IGludHJvZHVjZXMgaW1wb3J0cyB1c2VmdWwgYXQgcm9vdCBsZXZlbCAoZS5nLiBOR1hTKVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbQmFzZUNvcmVNb2R1bGUsIExvY2FsaXphdGlvbk1vZHVsZV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQmFzZUNvcmVNb2R1bGUsXHJcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50WHNyZk1vZHVsZS53aXRoT3B0aW9ucyh7XHJcbiAgICAgIGNvb2tpZU5hbWU6ICdYU1JGLVRPS0VOJyxcclxuICAgICAgaGVhZGVyTmFtZTogJ1JlcXVlc3RWZXJpZmljYXRpb25Ub2tlbicsXHJcbiAgICB9KSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9vdENvcmVNb2R1bGUge31cclxuXHJcbi8qKlxyXG4gKiBDb3JlTW9kdWxlIGlzIHRoZSBtb2R1bGUgdGhhdCBpcyBwdWJsaWNseSBhdmFpbGFibGVcclxuICovXHJcbkBOZ01vZHVsZSh7XHJcbiAgZXhwb3J0czogW0Jhc2VDb3JlTW9kdWxlXSxcclxuICBpbXBvcnRzOiBbQmFzZUNvcmVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9ucyA9IHt9IGFzIEFCUC5Sb290KTogTW9kdWxlV2l0aFByb3ZpZGVyczxSb290Q29yZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IFJvb3RDb3JlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBMb2NhbGVQcm92aWRlcixcclxuICAgICAgICBDb29raWVMYW5ndWFnZVByb3ZpZGVyLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6ICdDT1JFX09QVElPTlMnLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBDT1JFX09QVElPTlMsXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjb3JlT3B0aW9uc0ZhY3RvcnksXHJcbiAgICAgICAgICBkZXBzOiBbJ0NPUkVfT1BUSU9OUyddLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogZ2V0SW5pdGlhbERhdGEsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgIGRlcHM6IFtJbmplY3Rvcl0sXHJcbiAgICAgICAgICB1c2VGYWN0b3J5OiBsb2NhbGVJbml0aWFsaXplcixcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgZGVwczogW1JvdXRlc0hhbmRsZXJdLFxyXG4gICAgICAgICAgdXNlRmFjdG9yeTogbm9vcCxcclxuICAgICAgICB9LFxyXG5cclxuICAgICAgICB7IHByb3ZpZGU6IFRFTkFOVF9LRVksIHVzZVZhbHVlOiBvcHRpb25zLnRlbmFudEtleSB8fCAnX190ZW5hbnQnIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9DQUxJWkFUSU9OUyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yKG9wdGlvbnMubG9jYWxpemF0aW9ucyksXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBRVUVVRV9NQU5BR0VSLFxyXG4gICAgICAgICAgdXNlQ2xhc3M6IERlZmF1bHRRdWV1ZU1hbmFnZXIsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwcm92aWRlOiBPVEhFUlNfR1JPVVAsXHJcbiAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9ucy5vdGhlcnNHcm91cCB8fCAnQWJwVWk6Ok90aGVyc0dyb3VwJyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIEluY2x1ZGVMb2NhbGl6YXRpb25SZXNvdXJjZXNQcm92aWRlcixcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9yQ2hpbGQob3B0aW9ucyA9IHt9IGFzIEFCUC5DaGlsZCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Um9vdENvcmVNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBSb290Q29yZU1vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcHJvdmlkZTogTE9DQUxJWkFUSU9OUyxcclxuICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgICAgdXNlVmFsdWU6IGxvY2FsaXphdGlvbkNvbnRyaWJ1dG9yKG9wdGlvbnMubG9jYWxpemF0aW9ucyksXHJcbiAgICAgICAgICBkZXBzOiBbTG9jYWxpemF0aW9uU2VydmljZV0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuL2Vudmlyb25tZW50JztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQUJQIHtcclxuICBleHBvcnQgaW50ZXJmYWNlIFJvb3Qge1xyXG4gICAgZW52aXJvbm1lbnQ6IFBhcnRpYWw8RW52aXJvbm1lbnQ+O1xyXG4gICAgcmVnaXN0ZXJMb2NhbGVGbjogKGxvY2FsZTogc3RyaW5nKSA9PiBQcm9taXNlPGFueT47XHJcbiAgICBza2lwR2V0QXBwQ29uZmlndXJhdGlvbj86IGJvb2xlYW47XHJcbiAgICBzZW5kTnVsbHNBc1F1ZXJ5UGFyYW0/OiBib29sZWFuO1xyXG4gICAgdGVuYW50S2V5Pzogc3RyaW5nO1xyXG4gICAgbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbltdO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBDaGlsZCB7XHJcbiAgICBsb2NhbGl6YXRpb25zPzogTG9jYWxpemF0aW9uW107XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvbiB7XHJcbiAgICBjdWx0dXJlOiBzdHJpbmc7XHJcbiAgICByZXNvdXJjZXM6IExvY2FsaXphdGlvblJlc291cmNlW107XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIExvY2FsaXphdGlvblJlc291cmNlIHtcclxuICAgIHJlc291cmNlTmFtZTogc3RyaW5nO1xyXG4gICAgdGV4dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIEhhc1BvbGljeSB7XHJcbiAgICByZXF1aXJlZFBvbGljeT86IHN0cmluZztcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGVzdCBleHRlbmRzIFBhcnRpYWw8Um9vdD4ge1xyXG4gICAgYmFzZUhyZWY/OiBzdHJpbmc7XHJcbiAgICBsaXN0UXVlcnlEZWJvdW5jZVRpbWU/OiBudW1iZXI7XHJcbiAgICByb3V0ZXM/OiBSb3V0ZXM7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBQYWdlZFJlc3BvbnNlPFQ+ID0ge1xyXG4gICAgdG90YWxDb3VudDogbnVtYmVyO1xyXG4gIH0gJiBQYWdlZEl0ZW1zUmVzcG9uc2U8VD47XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFnZWRJdGVtc1Jlc3BvbnNlPFQ+IHtcclxuICAgIGl0ZW1zOiBUW107XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIFBhZ2VRdWVyeVBhcmFtcyB7XHJcbiAgICBmaWx0ZXI/OiBzdHJpbmc7XHJcbiAgICBzb3J0aW5nPzogc3RyaW5nO1xyXG4gICAgc2tpcENvdW50PzogbnVtYmVyO1xyXG4gICAgbWF4UmVzdWx0Q291bnQ/OiBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIExvb2t1cCB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgTmF2IHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHBhcmVudE5hbWU/OiBzdHJpbmc7XHJcbiAgICByZXF1aXJlZFBvbGljeT86IHN0cmluZztcclxuICAgIG9yZGVyPzogbnVtYmVyO1xyXG4gICAgaW52aXNpYmxlPzogYm9vbGVhbjtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgUm91dGUgZXh0ZW5kcyBOYXYge1xyXG4gICAgcGF0aD86IHN0cmluZztcclxuICAgIGxheW91dD86IGVMYXlvdXRUeXBlO1xyXG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBUYWIgZXh0ZW5kcyBOYXYge1xyXG4gICAgY29tcG9uZW50OiBUeXBlPGFueT47XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIEJhc2ljSXRlbSB7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb248VD4ge1xyXG4gICAga2V5OiBFeHRyYWN0PGtleW9mIFQsIHN0cmluZz47XHJcbiAgICB2YWx1ZTogVFtFeHRyYWN0PGtleW9mIFQsIHN0cmluZz5dO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBEaWN0aW9uYXJ5PFQgPSBhbnk+IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFQ7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgdHlwZSBFeHRyYWN0RnJvbU91dHB1dDxUIGV4dGVuZHMgRXZlbnRFbWl0dGVyPGFueT4gfCBTdWJqZWN0PGFueT4+ID1cclxuICAgIFQgZXh0ZW5kcyBFdmVudEVtaXR0ZXI8aW5mZXIgWD4gPyBYIDogVCBleHRlbmRzIFN1YmplY3Q8aW5mZXIgWT4gPyBZIDogbmV2ZXI7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21vZGVscy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGVMYXlvdXRUeXBlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuL2Vudmlyb25tZW50JztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgQUJQIHtcclxuICBleHBvcnQgaW50ZXJmYWNlIFJvb3Qge1xyXG4gICAgZW52aXJvbm1lbnQ6IFBhcnRpYWw8RW52aXJvbm1lbnQ+O1xyXG4gICAgcmVnaXN0ZXJMb2NhbGVGbjogKGxvY2FsZTogc3RyaW5nKSA9PiBQcm9taXNlPGFueT47XHJcbiAgICBza2lwR2V0QXBwQ29uZmlndXJhdGlvbj86IGJvb2xlYW47XHJcbiAgICBzZW5kTnVsbHNBc1F1ZXJ5UGFyYW0/OiBib29sZWFuO1xyXG4gICAgdGVuYW50S2V5Pzogc3RyaW5nO1xyXG4gICAgbG9jYWxpemF0aW9ucz86IExvY2FsaXphdGlvbltdO1xyXG4gICAgb3RoZXJzR3JvdXA/OiBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIENoaWxkIHtcclxuICAgIGxvY2FsaXphdGlvbnM/OiBMb2NhbGl6YXRpb25bXTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgTG9jYWxpemF0aW9uIHtcclxuICAgIGN1bHR1cmU6IHN0cmluZztcclxuICAgIHJlc291cmNlczogTG9jYWxpemF0aW9uUmVzb3VyY2VbXTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgTG9jYWxpemF0aW9uUmVzb3VyY2Uge1xyXG4gICAgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XHJcbiAgICB0ZXh0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSGFzUG9saWN5IHtcclxuICAgIHJlcXVpcmVkUG9saWN5Pzogc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBUZXN0IGV4dGVuZHMgUGFydGlhbDxSb290PiB7XHJcbiAgICBiYXNlSHJlZj86IHN0cmluZztcclxuICAgIGxpc3RRdWVyeURlYm91bmNlVGltZT86IG51bWJlcjtcclxuICAgIHJvdXRlcz86IFJvdXRlcztcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIFBhZ2VkUmVzcG9uc2U8VD4gPSB7XHJcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XHJcbiAgfSAmIFBhZ2VkSXRlbXNSZXNwb25zZTxUPjtcclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBQYWdlZEl0ZW1zUmVzcG9uc2U8VD4ge1xyXG4gICAgaXRlbXM6IFRbXTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGFnZVF1ZXJ5UGFyYW1zIHtcclxuICAgIGZpbHRlcj86IHN0cmluZztcclxuICAgIHNvcnRpbmc/OiBzdHJpbmc7XHJcbiAgICBza2lwQ291bnQ/OiBudW1iZXI7XHJcbiAgICBtYXhSZXN1bHRDb3VudD86IG51bWJlcjtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgTG9va3VwIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBOYXYge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgcGFyZW50TmFtZT86IHN0cmluZztcclxuICAgIHJlcXVpcmVkUG9saWN5Pzogc3RyaW5nO1xyXG4gICAgb3JkZXI/OiBudW1iZXI7XHJcbiAgICBpbnZpc2libGU/OiBib29sZWFuO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBSb3V0ZSBleHRlbmRzIE5hdiB7XHJcbiAgICBwYXRoPzogc3RyaW5nO1xyXG4gICAgbGF5b3V0PzogZUxheW91dFR5cGU7XHJcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGFiIGV4dGVuZHMgTmF2IHtcclxuICAgIGNvbXBvbmVudDogVHlwZTxhbnk+O1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBCYXNpY0l0ZW0ge1xyXG4gICAgaWQ6IHN0cmluZztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uPFQ+IHtcclxuICAgIGtleTogRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+O1xyXG4gICAgdmFsdWU6IFRbRXh0cmFjdDxrZXlvZiBULCBzdHJpbmc+XTtcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgRGljdGlvbmFyeTxUID0gYW55PiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBUO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgRXh0cmFjdEZyb21PdXRwdXQ8VCBleHRlbmRzIEV2ZW50RW1pdHRlcjxhbnk+IHwgU3ViamVjdDxhbnk+PiA9XHJcbiAgICBUIGV4dGVuZHMgRXZlbnRFbWl0dGVyPGluZmVyIFg+ID8gWCA6IFQgZXh0ZW5kcyBTdWJqZWN0PGluZmVyIFk+ID8gWSA6IG5ldmVyO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XHJcbiAgZXhwb3J0IHR5cGUgQ29uZmlnID0gUGFydGlhbDx7XHJcbiAgICBhcGlOYW1lOiBzdHJpbmc7XHJcbiAgICBza2lwSGFuZGxlRXJyb3I6IGJvb2xlYW47XHJcbiAgICBvYnNlcnZlOiBPYnNlcnZlO1xyXG4gICAgaHR0cFBhcmFtRW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYztcclxuICB9PjtcclxuXHJcbiAgZXhwb3J0IGNvbnN0IGVudW0gT2JzZXJ2ZSB7XHJcbiAgICBCb2R5ID0gJ2JvZHknLFxyXG4gICAgRXZlbnRzID0gJ2V2ZW50cycsXHJcbiAgICBSZXNwb25zZSA9ICdyZXNwb25zZScsXHJcbiAgfVxyXG5cclxuICBleHBvcnQgY29uc3QgZW51bSBSZXNwb25zZVR5cGUge1xyXG4gICAgQXJyYXlCdWZmZXIgPSAnYXJyYXlidWZmZXInLFxyXG4gICAgQmxvYiA9ICdibG9iJyxcclxuICAgIEpTT04gPSAnanNvbicsXHJcbiAgICBUZXh0ID0gJ3RleHQnLFxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgUGFyYW1zID0gSHR0cFBhcmFtcyB8IHsgW3BhcmFtOiBzdHJpbmddOiBhbnkgfTtcclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0PFQ+IHtcclxuICAgIGJvZHk/OiBUO1xyXG4gICAgaGVhZGVycz86XHJcbiAgICAgIHwgSHR0cEhlYWRlcnNcclxuICAgICAgfCB7XHJcbiAgICAgICAgICBbaGVhZGVyOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAgICAgICB9O1xyXG4gICAgbWV0aG9kOiBzdHJpbmc7XHJcbiAgICBwYXJhbXM/OiBQYXJhbXM7XHJcbiAgICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XHJcbiAgICByZXNwb25zZVR5cGU/OiAnYXJyYXlidWZmZXInIHwgJ2Jsb2InIHwgJ2pzb24nIHwgJ3RleHQnO1xyXG4gICAgdXJsOiBzdHJpbmc7XHJcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xyXG4gIH1cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi9tb2RlbHMvcmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbWV0ZXJDb2RlYywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgUmVzdCB7XHJcbiAgZXhwb3J0IHR5cGUgQ29uZmlnID0gUGFydGlhbDx7XHJcbiAgICBhcGlOYW1lOiBzdHJpbmc7XHJcbiAgICBza2lwSGFuZGxlRXJyb3I6IGJvb2xlYW47XHJcbiAgICBza2lwQWRkaW5nSGVhZGVyOiBib29sZWFuO1xyXG4gICAgb2JzZXJ2ZTogT2JzZXJ2ZTtcclxuICAgIGh0dHBQYXJhbUVuY29kZXI/OiBIdHRwUGFyYW1ldGVyQ29kZWM7XHJcbiAgfT47XHJcblxyXG4gIGV4cG9ydCBjb25zdCBlbnVtIE9ic2VydmUge1xyXG4gICAgQm9keSA9ICdib2R5JyxcclxuICAgIEV2ZW50cyA9ICdldmVudHMnLFxyXG4gICAgUmVzcG9uc2UgPSAncmVzcG9uc2UnLFxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGNvbnN0IGVudW0gUmVzcG9uc2VUeXBlIHtcclxuICAgIEFycmF5QnVmZmVyID0gJ2FycmF5YnVmZmVyJyxcclxuICAgIEJsb2IgPSAnYmxvYicsXHJcbiAgICBKU09OID0gJ2pzb24nLFxyXG4gICAgVGV4dCA9ICd0ZXh0JyxcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIFBhcmFtcyA9IEh0dHBQYXJhbXMgfCB7IFtwYXJhbTogc3RyaW5nXTogYW55IH07XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdDxUPiB7XHJcbiAgICBib2R5PzogVDtcclxuICAgIGhlYWRlcnM/OlxyXG4gICAgICB8IEh0dHBIZWFkZXJzXHJcbiAgICAgIHwge1xyXG4gICAgICAgICAgW2hlYWRlcjogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgICAgICAgfTtcclxuICAgIG1ldGhvZDogc3RyaW5nO1xyXG4gICAgcGFyYW1zPzogUGFyYW1zO1xyXG4gICAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xyXG4gICAgcmVzcG9uc2VUeXBlPzogJ2FycmF5YnVmZmVyJyB8ICdibG9iJyB8ICdqc29uJyB8ICd0ZXh0JztcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgd2l0aENyZWRlbnRpYWxzPzogYm9vbGVhbjtcclxuICB9XHJcbn1cclxuIl19
@@ -2,18 +2,21 @@ import { HttpClient, HttpParams } from '@angular/common/http';
2
2
  import { Inject, Injectable } from '@angular/core';
3
3
  import { throwError } from 'rxjs';
4
4
  import { catchError } from 'rxjs/operators';
5
+ import { ExternalHttpClient } from '../clients/http.client';
5
6
  import { CORE_OPTIONS } from '../tokens/options.token';
6
7
  import { isUndefinedOrEmptyString } from '../utils/common-utils';
7
8
  import { EnvironmentService } from './environment.service';
8
9
  import { HttpErrorReporterService } from './http-error-reporter.service';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/common/http";
11
- import * as i2 from "./environment.service";
12
- import * as i3 from "./http-error-reporter.service";
12
+ import * as i2 from "../clients/http.client";
13
+ import * as i3 from "./environment.service";
14
+ import * as i4 from "./http-error-reporter.service";
13
15
  export class RestService {
14
- constructor(options, http, environment, httpErrorReporter) {
16
+ constructor(options, http, externalHttp, environment, httpErrorReporter) {
15
17
  this.options = options;
16
18
  this.http = http;
19
+ this.externalHttp = externalHttp;
17
20
  this.environment = environment;
18
21
  this.httpErrorReporter = httpErrorReporter;
19
22
  }
@@ -30,7 +33,8 @@ export class RestService {
30
33
  const { method, params, ...options } = request;
31
34
  const { observe = "body" /* Rest.Observe.Body */, skipHandleError } = config;
32
35
  const url = this.removeDuplicateSlashes(api + request.url);
33
- return this.http
36
+ const httpClient = this.getHttpClient(config.skipAddingHeader);
37
+ return httpClient
34
38
  .request(method, url, {
35
39
  observe,
36
40
  ...(params && {
@@ -40,6 +44,9 @@ export class RestService {
40
44
  })
41
45
  .pipe(catchError(err => (skipHandleError ? throwError(err) : this.handleError(err))));
42
46
  }
47
+ getHttpClient(isExternal) {
48
+ return isExternal ? this.externalHttp : this.http;
49
+ }
43
50
  getParams(params, encoder) {
44
51
  const filteredParams = Object.entries(params).reduce((acc, [key, value]) => {
45
52
  if (isUndefinedOrEmptyString(value))
@@ -57,7 +64,7 @@ export class RestService {
57
64
  return url.replace(/([^:]\/)\/+/g, '$1');
58
65
  }
59
66
  }
60
- RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.EnvironmentService }, { token: i3.HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
67
+ RestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.ExternalHttpClient }, { token: i3.EnvironmentService }, { token: i4.HttpErrorReporterService }], target: i0.ɵɵFactoryTarget.Injectable });
61
68
  RestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, providedIn: 'root' });
62
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RestService, decorators: [{
63
70
  type: Injectable,
@@ -67,5 +74,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
67
74
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
68
75
  type: Inject,
69
76
  args: [CORE_OPTIONS]
70
- }] }, { type: i1.HttpClient }, { type: i2.EnvironmentService }, { type: i3.HttpErrorReporterService }]; } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7O0FBS3pFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ2tDLE9BQWlCLEVBQ3ZDLElBQWdCLEVBQ2hCLFdBQStCLEVBQy9CLGlCQUEyQztRQUhyQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBQ3ZDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBMEI7SUFDcEQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxPQUEyQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXLENBQUMsR0FBUTtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQ0wsT0FBeUMsRUFDekMsTUFBb0IsRUFDcEIsR0FBWTtRQUVaLE1BQU0sR0FBRyxNQUFNLElBQUssRUFBa0IsQ0FBQztRQUN2QyxHQUFHLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9DLE1BQU0sRUFBRSxPQUFPLGlDQUFvQixFQUFFLGVBQWUsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNoRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsT0FBTyxDQUFJLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDdkIsT0FBTztZQUNQLEdBQUcsQ0FBQyxNQUFNLElBQUk7Z0JBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQzthQUN4RCxDQUFDO1lBQ0YsR0FBRyxPQUFPO1NBQ0osQ0FBQzthQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFTyxTQUFTLENBQUMsTUFBbUIsRUFBRSxPQUE0QjtRQUNqRSxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3pFLElBQUksd0JBQXdCLENBQUMsS0FBSyxDQUFDO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBQ2hELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMscUJBQXFCO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBQ3RFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDakIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUM7UUFDZCxPQUFPLE9BQU87WUFDWixDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3pELENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxHQUFXO1FBQ3hDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7d0dBcERVLFdBQVcsa0JBRVosWUFBWTs0R0FGWCxXQUFXLGNBRlYsTUFBTTsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBR0ksTUFBTTsyQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtZXRlckNvZGVjLCBIdHRwUGFyYW1zLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuLi9tb2RlbHMvcmVzdCc7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9uLXV0aWxzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLWVycm9yLXJlcG9ydGVyLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ09SRV9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9uczogQUJQLlJvb3QsXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGh0dHBFcnJvclJlcG9ydGVyOiBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0QXBpRnJvbVN0b3JlKGFwaU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5nZXRBcGlVcmwoYXBpTmFtZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnI6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmh0dHBFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yKGVycik7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xyXG4gIH1cclxuXHJcbiAgcmVxdWVzdDxULCBSPihcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFQ+IHwgUmVzdC5SZXF1ZXN0PFQ+LFxyXG4gICAgY29uZmlnPzogUmVzdC5Db25maWcsXHJcbiAgICBhcGk/OiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxSPiB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgKHt9IGFzIFJlc3QuQ29uZmlnKTtcclxuICAgIGFwaSA9IGFwaSB8fCB0aGlzLmdldEFwaUZyb21TdG9yZShjb25maWcuYXBpTmFtZSk7XHJcbiAgICBjb25zdCB7IG1ldGhvZCwgcGFyYW1zLCAuLi5vcHRpb25zIH0gPSByZXF1ZXN0O1xyXG4gICAgY29uc3QgeyBvYnNlcnZlID0gUmVzdC5PYnNlcnZlLkJvZHksIHNraXBIYW5kbGVFcnJvciB9ID0gY29uZmlnO1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVTbGFzaGVzKGFwaSArIHJlcXVlc3QudXJsKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnJlcXVlc3Q8Uj4obWV0aG9kLCB1cmwsIHtcclxuICAgICAgICBvYnNlcnZlLFxyXG4gICAgICAgIC4uLihwYXJhbXMgJiYge1xyXG4gICAgICAgICAgcGFyYW1zOiB0aGlzLmdldFBhcmFtcyhwYXJhbXMsIGNvbmZpZy5odHRwUGFyYW1FbmNvZGVyKSxcclxuICAgICAgICB9KSxcclxuICAgICAgICAuLi5vcHRpb25zLFxyXG4gICAgICB9IGFzIGFueSlcclxuICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlcnIgPT4gKHNraXBIYW5kbGVFcnJvciA/IHRocm93RXJyb3IoZXJyKSA6IHRoaXMuaGFuZGxlRXJyb3IoZXJyKSkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UGFyYW1zKHBhcmFtczogUmVzdC5QYXJhbXMsIGVuY29kZXI/OiBIdHRwUGFyYW1ldGVyQ29kZWMpOiBIdHRwUGFyYW1zIHtcclxuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zID0gT2JqZWN0LmVudHJpZXMocGFyYW1zKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XHJcbiAgICAgIGlmIChpc1VuZGVmaW5lZE9yRW1wdHlTdHJpbmcodmFsdWUpKSByZXR1cm4gYWNjO1xyXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwgJiYgIXRoaXMub3B0aW9ucy5zZW5kTnVsbHNBc1F1ZXJ5UGFyYW0pIHJldHVybiBhY2M7XHJcbiAgICAgIGFjY1trZXldID0gdmFsdWU7XHJcbiAgICAgIHJldHVybiBhY2M7XHJcbiAgICB9LCB7fSBhcyBhbnkpO1xyXG4gICAgcmV0dXJuIGVuY29kZXJcclxuICAgICAgPyBuZXcgSHR0cFBhcmFtcyh7IGVuY29kZXIsIGZyb21PYmplY3Q6IGZpbHRlcmVkUGFyYW1zIH0pXHJcbiAgICAgIDogbmV3IEh0dHBQYXJhbXMoeyBmcm9tT2JqZWN0OiBmaWx0ZXJlZFBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlRHVwbGljYXRlU2xhc2hlcyh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdXJsLnJlcGxhY2UoLyhbXjpdXFwvKVxcLysvZywgJyQxJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
77
+ }] }, { type: i1.HttpClient }, { type: i2.ExternalHttpClient }, { type: i3.EnvironmentService }, { type: i4.HttpErrorReporterService }]; } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3NlcnZpY2VzL3Jlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFzQixVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7OztBQUt6RSxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUNrQyxPQUFpQixFQUN2QyxJQUFnQixFQUNoQixZQUFnQyxFQUNoQyxXQUErQixFQUMvQixpQkFBMkM7UUFKckIsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtJQUNwRCxDQUFDO0lBRU0sZUFBZSxDQUFDLE9BQTJCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJ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ZW50LCBIdHRwUGFyYW1ldGVyQ29kZWMsIEh0dHBQYXJhbXMsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBFeHRlcm5hbEh0dHBDbGllbnQgfSBmcm9tICcuLi9jbGllbnRzL2h0dHAuY2xpZW50JztcclxuaW1wb3J0IHsgQUJQIH0gZnJvbSAnLi4vbW9kZWxzL2NvbW1vbic7XHJcbmltcG9ydCB7IFJlc3QgfSBmcm9tICcuLi9tb2RlbHMvcmVzdCc7XHJcbmltcG9ydCB7IENPUkVfT1BUSU9OUyB9IGZyb20gJy4uL3Rva2Vucy9vcHRpb25zLnRva2VuJztcclxuaW1wb3J0IHsgaXNVbmRlZmluZWRPckVtcHR5U3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMvY29tbW9uLXV0aWxzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9odHRwLWVycm9yLXJlcG9ydGVyLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlc3RTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ09SRV9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9uczogQUJQLlJvb3QsXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBleHRlcm5hbEh0dHA6IEV4dGVybmFsSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGh0dHBFcnJvclJlcG9ydGVyOiBIdHRwRXJyb3JSZXBvcnRlclNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBwcm90ZWN0ZWQgZ2V0QXBpRnJvbVN0b3JlKGFwaU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5nZXRBcGlVcmwoYXBpTmFtZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnI6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmh0dHBFcnJvclJlcG9ydGVyLnJlcG9ydEVycm9yKGVycik7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xyXG4gIH1cclxuXHJcbiAgcmVxdWVzdDxULCBSPihcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFQ+IHwgUmVzdC5SZXF1ZXN0PFQ+LFxyXG4gICAgY29uZmlnPzogUmVzdC5Db25maWcsXHJcbiAgICBhcGk/OiBzdHJpbmcsXHJcbiAgKTogT2JzZXJ2YWJsZTxSPiB7XHJcbiAgICBjb25maWcgPSBjb25maWcgfHwgKHt9IGFzIFJlc3QuQ29uZmlnKTtcclxuICAgIGFwaSA9IGFwaSB8fCB0aGlzLmdldEFwaUZyb21TdG9yZShjb25maWcuYXBpTmFtZSk7XHJcbiAgICBjb25zdCB7IG1ldGhvZCwgcGFyYW1zLCAuLi5vcHRpb25zIH0gPSByZXF1ZXN0O1xyXG4gICAgY29uc3QgeyBvYnNlcnZlID0gUmVzdC5PYnNlcnZlLkJvZHksIHNraXBIYW5kbGVFcnJvciB9ID0gY29uZmlnO1xyXG4gICAgY29uc3QgdXJsID0gdGhpcy5yZW1vdmVEdXBsaWNhdGVTbGFzaGVzKGFwaSArIHJlcXVlc3QudXJsKTtcclxuXHJcbiAgICBjb25zdCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50ID0gdGhpcy5nZXRIdHRwQ2xpZW50KGNvbmZpZy5za2lwQWRkaW5nSGVhZGVyKTtcclxuICAgIHJldHVybiBodHRwQ2xpZW50XHJcbiAgICAgIC5yZXF1ZXN0PFI+KG1ldGhvZCwgdXJsLCB7XHJcbiAgICAgICAgb2JzZXJ2ZSxcclxuICAgICAgICAuLi4ocGFyYW1zICYmIHtcclxuICAgICAgICAgIHBhcmFtczogdGhpcy5nZXRQYXJhbXMocGFyYW1zLCBjb25maWcuaHR0cFBhcmFtRW5jb2RlciksXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgLi4ub3B0aW9ucyxcclxuICAgICAgfSBhcyBhbnkpXHJcbiAgICAgIC5waXBlKGNhdGNoRXJyb3IoZXJyID0+IChza2lwSGFuZGxlRXJyb3IgPyB0aHJvd0Vycm9yKGVycikgOiB0aGlzLmhhbmRsZUVycm9yKGVycikpKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgZ2V0SHR0cENsaWVudChpc0V4dGVybmFsOiBib29sZWFuKSB7XHJcbiAgICByZXR1cm4gaXNFeHRlcm5hbCA/IHRoaXMuZXh0ZXJuYWxIdHRwIDogdGhpcy5odHRwO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQYXJhbXMocGFyYW1zOiBSZXN0LlBhcmFtcywgZW5jb2Rlcj86IEh0dHBQYXJhbWV0ZXJDb2RlYyk6IEh0dHBQYXJhbXMge1xyXG4gICAgY29uc3QgZmlsdGVyZWRQYXJhbXMgPSBPYmplY3QuZW50cmllcyhwYXJhbXMpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgaWYgKGlzVW5kZWZpbmVkT3JFbXB0eVN0cmluZyh2YWx1ZSkpIHJldHVybiBhY2M7XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCAmJiAhdGhpcy5vcHRpb25zLnNlbmROdWxsc0FzUXVlcnlQYXJhbSkgcmV0dXJuIGFjYztcclxuICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcclxuICAgICAgcmV0dXJuIGFjYztcclxuICAgIH0sIHt9IGFzIGFueSk7XHJcbiAgICByZXR1cm4gZW5jb2RlclxyXG4gICAgICA/IG5ldyBIdHRwUGFyYW1zKHsgZW5jb2RlciwgZnJvbU9iamVjdDogZmlsdGVyZWRQYXJhbXMgfSlcclxuICAgICAgOiBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGZpbHRlcmVkUGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVEdXBsaWNhdGVTbGFzaGVzKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmwucmVwbGFjZSgvKFteOl1cXC8pXFwvKy9nLCAnJDEnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,8 @@
1
1
  import { Injectable, Injector } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
2
+ import { BehaviorSubject, map } from 'rxjs';
3
+ import { OTHERS_GROUP } from '../tokens';
3
4
  import { pushValueTo } from '../utils/array-utils';
4
- import { BaseTreeNode, createTreeFromList } from '../utils/tree-utils';
5
+ import { BaseTreeNode, createTreeFromList, createGroupMap, } from '../utils/tree-utils';
5
6
  import { ConfigStateService } from './config-state.service';
6
7
  import { PermissionService } from './permission.service';
7
8
  import * as i0 from "@angular/core";
@@ -33,6 +34,13 @@ export class AbstractTreeService {
33
34
  createTree(items) {
34
35
  return createTreeFromList(items, item => item[this.id], item => item[this.parentId], item => BaseTreeNode.create(item));
35
36
  }
37
+ createGroupedTree(list) {
38
+ const map = createGroupMap(list, this.othersGroup);
39
+ if (!map) {
40
+ return undefined;
41
+ }
42
+ return Array.from(map, ([key, items]) => ({ group: key, items }));
43
+ }
36
44
  filterWith(setOrMap) {
37
45
  return this._flat$.value.filter(item => !setOrMap.has(item[this.id]));
38
46
  }
@@ -112,6 +120,7 @@ export class AbstractNavTreeService extends AbstractTreeService {
112
120
  .createOnUpdateStream(state => state)
113
121
  .subscribe(() => this.refresh());
114
122
  this.permissionService = injector.get(PermissionService);
123
+ this.othersGroup = injector.get(OTHERS_GROUP);
115
124
  }
116
125
  isGranted({ requiredPolicy }) {
117
126
  return this.permissionService.getGrantedPolicy(requiredPolicy);
@@ -135,6 +144,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
135
144
  type: Injectable
136
145
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
137
146
  export class RoutesService extends AbstractNavTreeService {
147
+ hasPathOrChild(item) {
148
+ return Boolean(item.path) || this.hasChildren(item.name);
149
+ }
150
+ get groupedVisible() {
151
+ return this.createGroupedTree(this.visible.filter(item => this.hasPathOrChild(item)));
152
+ }
153
+ get groupedVisible$() {
154
+ return this.visible$.pipe(map(items => items.filter(item => this.hasPathOrChild(item))), map(visible => this.createGroupedTree(visible)));
155
+ }
138
156
  }
139
157
  RoutesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
140
158
  RoutesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RoutesService, providedIn: 'root' });
@@ -142,4 +160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
142
160
  type: Injectable,
143
161
  args: [{ providedIn: 'root' }]
144
162
  }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvcm91dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFekQsd0RBQXdEO0FBQ3hELE1BQU0sT0FBZ0IsbUJBQW1CO0lBQXpDO1FBTVUsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFDaEQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztJQW9IN0QsQ0FBQztJQWxIQyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJ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VUFBa0I7UUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDN0QsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBa0I7UUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDakUsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzttSEExQ21CLHNCQUFzQjt1SEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBRDNDLFVBQVU7O0FBK0NYLE1BQU0sT0FBTyxhQUFjLFNBQVEsc0JBQWlDOzswR0FBdkQsYUFBYTs4R0FBYixhQUFhLGNBREEsTUFBTTsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFCUCB9IGZyb20gJy4uL21vZGVscy9jb21tb24nO1xyXG5pbXBvcnQgeyBwdXNoVmFsdWVUbyB9IGZyb20gJy4uL3V0aWxzL2FycmF5LXV0aWxzJztcclxuaW1wb3J0IHsgQmFzZVRyZWVOb2RlLCBjcmVhdGVUcmVlRnJvbUxpc3QsIFRyZWVOb2RlIH0gZnJvbSAnLi4vdXRpbHMvdHJlZS11dGlscyc7XHJcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSB9IGZyb20gJy4vY29uZmlnLXN0YXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbi5zZXJ2aWNlJztcclxuXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRyZWVTZXJ2aWNlPFQgZXh0ZW5kcyB7W2tleTogc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sXTogYW55fT4ge1xyXG4gIGFic3RyYWN0IGlkOiBzdHJpbmc7XHJcbiAgYWJzdHJhY3QgcGFyZW50SWQ6IHN0cmluZztcclxuICBhYnN0cmFjdCBoaWRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbjtcclxuICBhYnN0cmFjdCBzb3J0OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xyXG5cclxuICBwcml2YXRlIF9mbGF0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBfdHJlZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyZWVOb2RlPFQ+W10+KFtdKTtcclxuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD5bXT4oW10pO1xyXG5cclxuICBnZXQgZmxhdCgpOiBUW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGZsYXQkKCk6IE9ic2VydmFibGU8VFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmxhdCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdHJlZSgpOiBUcmVlTm9kZTxUPltdIHtcclxuICAgIHJldHVybiB0aGlzLl90cmVlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCB0cmVlJCgpOiBPYnNlcnZhYmxlPFRyZWVOb2RlPFQ+W10+IHtcclxuICAgIHJldHVybiB0aGlzLl90cmVlJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlKCk6IFRyZWVOb2RlPFQ+W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZpc2libGUkKCk6IE9ic2VydmFibGU8VHJlZU5vZGU8VD5bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Zpc2libGUkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGNyZWF0ZVRyZWUoaXRlbXM6IFRbXSk6IFRyZWVOb2RlPFQ+W10ge1xyXG4gICAgcmV0dXJuIGNyZWF0ZVRyZWVGcm9tTGlzdDxULCBUcmVlTm9kZTxUPj4oXHJcbiAgICAgIGl0ZW1zLFxyXG4gICAgICBpdGVtID0+IGl0ZW1bdGhpcy5pZF0sXHJcbiAgICAgIGl0ZW0gPT4gaXRlbVt0aGlzLnBhcmVudElkXSxcclxuICAgICAgaXRlbSA9PiBCYXNlVHJlZU5vZGUuY3JlYXRlKGl0ZW0pLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyV2l0aChzZXRPck1hcDogU2V0PHN0cmluZz4gfCBNYXA8c3RyaW5nLCBUPik6IFRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmxhdCQudmFsdWUuZmlsdGVyKGl0ZW0gPT4gIXNldE9yTWFwLmhhcyhpdGVtW3RoaXMuaWRdKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRJdGVtc1RvUmVtb3ZlKHNldDogU2V0PHN0cmluZz4pOiBTZXQ8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmxhdCQudmFsdWUucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcclxuICAgICAgaWYgKCFhY2MuaGFzKGl0ZW1bdGhpcy5wYXJlbnRJZF0pKSByZXR1cm4gYWNjO1xyXG4gICAgICBjb25zdCBjaGlsZFNldCA9IG5ldyBTZXQoW2l0ZW1bdGhpcy5pZF1dKTtcclxuICAgICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmZpbmRJdGVtc1RvUmVtb3ZlKGNoaWxkU2V0KTtcclxuICAgICAgcmV0dXJuIG5ldyBTZXQoWy4uLmFjYywgLi4uY2hpbGRyZW5dKTtcclxuICAgIH0sIHNldCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHB1Ymxpc2goZmxhdEl0ZW1zOiBUW10sIHZpc2libGVJdGVtczogVFtdKTogVFtdIHtcclxuICAgIHRoaXMuX2ZsYXQkLm5leHQoZmxhdEl0ZW1zKTtcclxuICAgIHRoaXMuX3RyZWUkLm5leHQodGhpcy5jcmVhdGVUcmVlKGZsYXRJdGVtcykpO1xyXG4gICAgdGhpcy5fdmlzaWJsZSQubmV4dCh0aGlzLmNyZWF0ZVRyZWUodmlzaWJsZUl0ZW1zKSk7XHJcbiAgICByZXR1cm4gZmxhdEl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgYWRkKGl0ZW1zOiBUW10pOiBUW10ge1xyXG4gICAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFQ+KCk7XHJcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4gbWFwLnNldChpdGVtW3RoaXMuaWRdLCBpdGVtKSk7XHJcblxyXG4gICAgY29uc3QgZmxhdEl0ZW1zID0gdGhpcy5maWx0ZXJXaXRoKG1hcCk7XHJcbiAgICBtYXAuZm9yRWFjaChwdXNoVmFsdWVUbyhmbGF0SXRlbXMpKTtcclxuXHJcbiAgICBmbGF0SXRlbXMuc29ydCh0aGlzLnNvcnQpO1xyXG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnB1Ymxpc2goZmxhdEl0ZW1zLCB2aXNpYmxlSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgZmluZChwcmVkaWNhdGU6IChpdGVtOiBUcmVlTm9kZTxUPikgPT4gYm9vbGVhbiwgdHJlZSA9IHRoaXMudHJlZSk6IFRyZWVOb2RlPFQ+IHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdHJlZS5yZWR1Y2U8VHJlZU5vZGU8VD4gfCBudWxsPihcclxuICAgICAgKGFjYywgbm9kZSkgPT4gKGFjYyA/IGFjYyA6IHByZWRpY2F0ZShub2RlKSA/IG5vZGUgOiB0aGlzLmZpbmQocHJlZGljYXRlLCBub2RlLmNoaWxkcmVuKSksXHJcbiAgICAgIG51bGwsXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2goaWRlbnRpZmllcjogc3RyaW5nLCBwcm9wczogUGFydGlhbDxUPik6IFRbXSB8IGZhbHNlIHtcclxuICAgIGNvbnN0IGZsYXRJdGVtcyA9IHRoaXMuX2ZsYXQkLnZhbHVlO1xyXG4gICAgY29uc3QgaW5kZXggPSBmbGF0SXRlbXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbVt0aGlzLmlkXSA9PT0gaWRlbnRpZmllcik7XHJcbiAgICBpZiAoaW5kZXggPCAwKSByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgZmxhdEl0ZW1zW2luZGV4XSA9IHsgLi4uZmxhdEl0ZW1zW2luZGV4XSwgLi4ucHJvcHMgfTtcclxuXHJcbiAgICBmbGF0SXRlbXMuc29ydCh0aGlzLnNvcnQpO1xyXG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnB1Ymxpc2goZmxhdEl0ZW1zLCB2aXNpYmxlSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBUW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkKFtdKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZShpZGVudGlmaWVyczogc3RyaW5nW10pOiBUW10ge1xyXG4gICAgY29uc3Qgc2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XHJcbiAgICBpZGVudGlmaWVycy5mb3JFYWNoKGlkID0+IHNldC5hZGQoaWQpKTtcclxuXHJcbiAgICBjb25zdCBzZXRUb1JlbW92ZSA9IHRoaXMuZmluZEl0ZW1zVG9SZW1vdmUoc2V0KTtcclxuICAgIGNvbnN0IGZsYXRJdGVtcyA9IHRoaXMuZmlsdGVyV2l0aChzZXRUb1JlbW92ZSk7XHJcbiAgICBjb25zdCB2aXNpYmxlSXRlbXMgPSBmbGF0SXRlbXMuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuaGlkZShpdGVtKSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHVibGlzaChmbGF0SXRlbXMsIHZpc2libGVJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2gocGFyYW1zOiBQYXJ0aWFsPFQ+LCB0cmVlID0gdGhpcy50cmVlKTogVHJlZU5vZGU8VD4gfCBudWxsIHtcclxuICAgIGNvbnN0IHNlYXJjaEtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpIGFzIEFycmF5PGtleW9mIFBhcnRpYWw8VD4+O1xyXG5cclxuICAgIHJldHVybiB0cmVlLnJlZHVjZTxUcmVlTm9kZTxUPiB8IG51bGw+KFxyXG4gICAgICAoYWNjLCBub2RlKSA9PlxyXG4gICAgICAgIGFjY1xyXG4gICAgICAgICAgPyBhY2NcclxuICAgICAgICAgIDogc2VhcmNoS2V5cy5ldmVyeShrZXkgPT4gbm9kZVtrZXldID09PSBwYXJhbXNba2V5XSlcclxuICAgICAgICAgID8gbm9kZVxyXG4gICAgICAgICAgOiB0aGlzLnNlYXJjaChwYXJhbXMsIG5vZGUuY2hpbGRyZW4pLFxyXG4gICAgICBudWxsLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2VHJlZVNlcnZpY2U8VCBleHRlbmRzIEFCUC5OYXY+XHJcbiAgZXh0ZW5kcyBBYnN0cmFjdFRyZWVTZXJ2aWNlPFQ+XHJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcclxue1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBwZXJtaXNzaW9uU2VydmljZTogUGVybWlzc2lvblNlcnZpY2U7XHJcbiAgcmVhZG9ubHkgaWQgPSAnbmFtZSc7XHJcbiAgcmVhZG9ubHkgcGFyZW50SWQgPSAncGFyZW50TmFtZSc7XHJcbiAgcmVhZG9ubHkgaGlkZSA9IChpdGVtOiBUKSA9PiBpdGVtLmludmlzaWJsZSB8fCAhdGhpcy5pc0dyYW50ZWQoaXRlbSk7XHJcbiAgcmVhZG9ubHkgc29ydCA9IChhOiBULCBiOiBUKSA9PiB7XHJcbiAgICBpZiAoIU51bWJlci5pc0ludGVnZXIoYS5vcmRlcikpIHJldHVybiAxO1xyXG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGIub3JkZXIpKSByZXR1cm4gLTE7XHJcblxyXG4gICAgcmV0dXJuIChhLm9yZGVyIGFzIG51bWJlcikgLSAoYi5vcmRlciBhcyBudW1iZXIpO1xyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBjb25zdCBjb25maWdTdGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGNvbmZpZ1N0YXRlXHJcbiAgICAgIC5jcmVhdGVPblVwZGF0ZVN0cmVhbShzdGF0ZSA9PiBzdGF0ZSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlZnJlc2goKSk7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFBlcm1pc3Npb25TZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBpc0dyYW50ZWQoeyByZXF1aXJlZFBvbGljeSB9OiBUKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uU2VydmljZS5nZXRHcmFudGVkUG9saWN5KHJlcXVpcmVkUG9saWN5KTtcclxuICB9XHJcblxyXG4gIGhhc0NoaWxkcmVuKGlkZW50aWZpZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZmluZChpdGVtID0+IGl0ZW1bdGhpcy5pZF0gPT09IGlkZW50aWZpZXIpO1xyXG4gICAgcmV0dXJuIEJvb2xlYW4obm9kZT8uY2hpbGRyZW4/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBoYXNJbnZpc2libGVDaGlsZChpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaWRdID09PSBpZGVudGlmaWVyKTtcclxuICAgIHJldHVybiBub2RlPy5jaGlsZHJlbj8uc29tZShjaGlsZCA9PiBjaGlsZC5pbnZpc2libGUpIHx8IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgUm91dGVzU2VydmljZSBleHRlbmRzIEFic3RyYWN0TmF2VHJlZVNlcnZpY2U8QUJQLlJvdXRlPiB7fVxyXG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvc2VydmljZXMvcm91dGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBNEIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTCxZQUFZLEVBQ1osa0JBQWtCLEVBR2xCLGNBQWMsR0FDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RCx3REFBd0Q7QUFDeEQsTUFBTSxPQUFnQixtQkFBbUI7SUFBekM7UUFNVSxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQU0sRUFBRSxDQUFDLENBQUM7UUFDdEMsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUNoRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBK0g3RCxDQUFDO0lBM0hDLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFD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QUM7SUFDbEMsQ0FBQzs7bUhBM0NtQixzQkFBc0I7dUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUQzQyxVQUFVOztBQWdEWCxNQUFNLE9BQU8sYUFBYyxTQUFRLHNCQUFpQztJQUMxRCxjQUFjLENBQUMsSUFBeUI7UUFDOUMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3ZCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDN0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDOzswR0FkVSxhQUFhOzhHQUFiLGFBQWEsY0FEQSxNQUFNOzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBQlAgfSBmcm9tICcuLi9tb2RlbHMvY29tbW9uJztcclxuaW1wb3J0IHsgT1RIRVJTX0dST1VQIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgcHVzaFZhbHVlVG8gfSBmcm9tICcuLi91dGlscy9hcnJheS11dGlscyc7XHJcbmltcG9ydCB7XHJcbiAgQmFzZVRyZWVOb2RlLFxyXG4gIGNyZWF0ZVRyZWVGcm9tTGlzdCxcclxuICBUcmVlTm9kZSxcclxuICBSb3V0ZUdyb3VwLFxyXG4gIGNyZWF0ZUdyb3VwTWFwLFxyXG59IGZyb20gJy4uL3V0aWxzL3RyZWUtdXRpbHMnO1xyXG5pbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Blcm1pc3Npb24uc2VydmljZSc7XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUcmVlU2VydmljZTxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2xdOiBhbnkgfT4ge1xyXG4gIGFic3RyYWN0IGlkOiBzdHJpbmc7XHJcbiAgYWJzdHJhY3QgcGFyZW50SWQ6IHN0cmluZztcclxuICBhYnN0cmFjdCBoaWRlOiAoaXRlbTogVCkgPT4gYm9vbGVhbjtcclxuICBhYnN0cmFjdCBzb3J0OiAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xyXG5cclxuICBwcml2YXRlIF9mbGF0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XHJcbiAgcHJpdmF0ZSBfdHJlZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFRyZWVOb2RlPFQ+W10+KFtdKTtcclxuICBwcml2YXRlIF92aXNpYmxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHJlZU5vZGU8VD5bXT4oW10pO1xyXG5cclxuICBwcm90ZWN0ZWQgb3RoZXJzR3JvdXA6IHN0cmluZztcclxuXHJcbiAgZ2V0IGZsYXQoKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9mbGF0JC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBmbGF0JCgpOiBPYnNlcnZhYmxlPFRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRyZWUoKTogVHJlZU5vZGU8VD5bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZSQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgdHJlZSQoKTogT2JzZXJ2YWJsZTxUcmVlTm9kZTxUPltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZSQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgdmlzaWJsZSgpOiBUcmVlTm9kZTxUPltdIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCB2aXNpYmxlJCgpOiBPYnNlcnZhYmxlPFRyZWVOb2RlPFQ+W10+IHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBjcmVhdGVUcmVlKGl0ZW1zOiBUW10pOiBUcmVlTm9kZTxUPltdIHtcclxuICAgIHJldHVybiBjcmVhdGVUcmVlRnJvbUxpc3Q8VCwgVHJlZU5vZGU8VD4+KFxyXG4gICAgICBpdGVtcyxcclxuICAgICAgaXRlbSA9PiBpdGVtW3RoaXMuaWRdLFxyXG4gICAgICBpdGVtID0+IGl0ZW1bdGhpcy5wYXJlbnRJZF0sXHJcbiAgICAgIGl0ZW0gPT4gQmFzZVRyZWVOb2RlLmNyZWF0ZShpdGVtKSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgY3JlYXRlR3JvdXBlZFRyZWUobGlzdDogVHJlZU5vZGU8VD5bXSk6IFJvdXRlR3JvdXA8VD5bXSB8IHVuZGVmaW5lZCB7XHJcbiAgICBjb25zdCBtYXAgPSBjcmVhdGVHcm91cE1hcDxUPihsaXN0LCB0aGlzLm90aGVyc0dyb3VwKTtcclxuICAgIGlmICghbWFwKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIEFycmF5LmZyb20obWFwLCAoW2tleSwgaXRlbXNdKSA9PiAoeyBncm91cDoga2V5LCBpdGVtcyB9KSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlcldpdGgoc2V0T3JNYXA6IFNldDxzdHJpbmc+IHwgTWFwPHN0cmluZywgVD4pOiBUW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlLmZpbHRlcihpdGVtID0+ICFzZXRPck1hcC5oYXMoaXRlbVt0aGlzLmlkXSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kSXRlbXNUb1JlbW92ZShzZXQ6IFNldDxzdHJpbmc+KTogU2V0PHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZsYXQkLnZhbHVlLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XHJcbiAgICAgIGlmICghYWNjLmhhcyhpdGVtW3RoaXMucGFyZW50SWRdKSkgcmV0dXJuIGFjYztcclxuICAgICAgY29uc3QgY2hpbGRTZXQgPSBuZXcgU2V0KFtpdGVtW3RoaXMuaWRdXSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gdGhpcy5maW5kSXRlbXNUb1JlbW92ZShjaGlsZFNldCk7XHJcbiAgICAgIHJldHVybiBuZXcgU2V0KFsuLi5hY2MsIC4uLmNoaWxkcmVuXSk7XHJcbiAgICB9LCBzZXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwdWJsaXNoKGZsYXRJdGVtczogVFtdLCB2aXNpYmxlSXRlbXM6IFRbXSk6IFRbXSB7XHJcbiAgICB0aGlzLl9mbGF0JC5uZXh0KGZsYXRJdGVtcyk7XHJcbiAgICB0aGlzLl90cmVlJC5uZXh0KHRoaXMuY3JlYXRlVHJlZShmbGF0SXRlbXMpKTtcclxuICAgIHRoaXMuX3Zpc2libGUkLm5leHQodGhpcy5jcmVhdGVUcmVlKHZpc2libGVJdGVtcykpO1xyXG4gICAgcmV0dXJuIGZsYXRJdGVtcztcclxuICB9XHJcblxyXG4gIGFkZChpdGVtczogVFtdKTogVFtdIHtcclxuICAgIGNvbnN0IG1hcCA9IG5ldyBNYXA8c3RyaW5nLCBUPigpO1xyXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IG1hcC5zZXQoaXRlbVt0aGlzLmlkXSwgaXRlbSkpO1xyXG5cclxuICAgIGNvbnN0IGZsYXRJdGVtcyA9IHRoaXMuZmlsdGVyV2l0aChtYXApO1xyXG4gICAgbWFwLmZvckVhY2gocHVzaFZhbHVlVG8oZmxhdEl0ZW1zKSk7XHJcblxyXG4gICAgZmxhdEl0ZW1zLnNvcnQodGhpcy5zb3J0KTtcclxuICAgIGNvbnN0IHZpc2libGVJdGVtcyA9IGZsYXRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5oaWRlKGl0ZW0pKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wdWJsaXNoKGZsYXRJdGVtcywgdmlzaWJsZUl0ZW1zKTtcclxuICB9XHJcblxyXG4gIGZpbmQocHJlZGljYXRlOiAoaXRlbTogVHJlZU5vZGU8VD4pID0+IGJvb2xlYW4sIHRyZWUgPSB0aGlzLnRyZWUpOiBUcmVlTm9kZTxUPiB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRyZWUucmVkdWNlPFRyZWVOb2RlPFQ+IHwgbnVsbD4oXHJcbiAgICAgIChhY2MsIG5vZGUpID0+IChhY2MgPyBhY2MgOiBwcmVkaWNhdGUobm9kZSkgPyBub2RlIDogdGhpcy5maW5kKHByZWRpY2F0ZSwgbm9kZS5jaGlsZHJlbikpLFxyXG4gICAgICBudWxsLFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHBhdGNoKGlkZW50aWZpZXI6IHN0cmluZywgcHJvcHM6IFBhcnRpYWw8VD4pOiBUW10gfCBmYWxzZSB7XHJcbiAgICBjb25zdCBmbGF0SXRlbXMgPSB0aGlzLl9mbGF0JC52YWx1ZTtcclxuICAgIGNvbnN0IGluZGV4ID0gZmxhdEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW1bdGhpcy5pZF0gPT09IGlkZW50aWZpZXIpO1xyXG4gICAgaWYgKGluZGV4IDwgMCkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGZsYXRJdGVtc1tpbmRleF0gPSB7IC4uLmZsYXRJdGVtc1tpbmRleF0sIC4uLnByb3BzIH07XHJcblxyXG4gICAgZmxhdEl0ZW1zLnNvcnQodGhpcy5zb3J0KTtcclxuICAgIGNvbnN0IHZpc2libGVJdGVtcyA9IGZsYXRJdGVtcy5maWx0ZXIoaXRlbSA9PiAhdGhpcy5oaWRlKGl0ZW0pKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wdWJsaXNoKGZsYXRJdGVtcywgdmlzaWJsZUl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLmFkZChbXSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmUoaWRlbnRpZmllcnM6IHN0cmluZ1tdKTogVFtdIHtcclxuICAgIGNvbnN0IHNldCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xyXG4gICAgaWRlbnRpZmllcnMuZm9yRWFjaChpZCA9PiBzZXQuYWRkKGlkKSk7XHJcblxyXG4gICAgY29uc3Qgc2V0VG9SZW1vdmUgPSB0aGlzLmZpbmRJdGVtc1RvUmVtb3ZlKHNldCk7XHJcbiAgICBjb25zdCBmbGF0SXRlbXMgPSB0aGlzLmZpbHRlcldpdGgoc2V0VG9SZW1vdmUpO1xyXG4gICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gZmxhdEl0ZW1zLmZpbHRlcihpdGVtID0+ICF0aGlzLmhpZGUoaXRlbSkpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnB1Ymxpc2goZmxhdEl0ZW1zLCB2aXNpYmxlSXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKHBhcmFtczogUGFydGlhbDxUPiwgdHJlZSA9IHRoaXMudHJlZSk6IFRyZWVOb2RlPFQ+IHwgbnVsbCB7XHJcbiAgICBjb25zdCBzZWFyY2hLZXlzID0gT2JqZWN0LmtleXMocGFyYW1zKSBhcyBBcnJheTxrZXlvZiBQYXJ0aWFsPFQ+PjtcclxuXHJcbiAgICByZXR1cm4gdHJlZS5yZWR1Y2U8VHJlZU5vZGU8VD4gfCBudWxsPihcclxuICAgICAgKGFjYywgbm9kZSkgPT5cclxuICAgICAgICBhY2NcclxuICAgICAgICAgID8gYWNjXHJcbiAgICAgICAgICA6IHNlYXJjaEtleXMuZXZlcnkoa2V5ID0+IG5vZGVba2V5XSA9PT0gcGFyYW1zW2tleV0pXHJcbiAgICAgICAgICA/IG5vZGVcclxuICAgICAgICAgIDogdGhpcy5zZWFyY2gocGFyYW1zLCBub2RlLmNoaWxkcmVuKSxcclxuICAgICAgbnVsbCxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdlRyZWVTZXJ2aWNlPFQgZXh0ZW5kcyBBQlAuTmF2PlxyXG4gIGV4dGVuZHMgQWJzdHJhY3RUcmVlU2VydmljZTxUPlxyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XHJcbntcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlO1xyXG4gIHJlYWRvbmx5IGlkID0gJ25hbWUnO1xyXG4gIHJlYWRvbmx5IHBhcmVudElkID0gJ3BhcmVudE5hbWUnO1xyXG4gIHJlYWRvbmx5IGhpZGUgPSAoaXRlbTogVCkgPT4gaXRlbS5pbnZpc2libGUgfHwgIXRoaXMuaXNHcmFudGVkKGl0ZW0pO1xyXG4gIHJlYWRvbmx5IHNvcnQgPSAoYTogVCwgYjogVCkgPT4ge1xyXG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGEub3JkZXIpKSByZXR1cm4gMTtcclxuICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihiLm9yZGVyKSkgcmV0dXJuIC0xO1xyXG5cclxuICAgIHJldHVybiAoYS5vcmRlciBhcyBudW1iZXIpIC0gKGIub3JkZXIgYXMgbnVtYmVyKTtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgY29uc3QgY29uZmlnU3RhdGUgPSB0aGlzLmluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSBjb25maWdTdGF0ZVxyXG4gICAgICAuY3JlYXRlT25VcGRhdGVTdHJlYW0oc3RhdGUgPT4gc3RhdGUpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZSA9IGluamVjdG9yLmdldChQZXJtaXNzaW9uU2VydmljZSk7XHJcbiAgICB0aGlzLm90aGVyc0dyb3VwID0gaW5qZWN0b3IuZ2V0KE9USEVSU19HUk9VUCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgaXNHcmFudGVkKHsgcmVxdWlyZWRQb2xpY3kgfTogVCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0R3JhbnRlZFBvbGljeShyZXF1aXJlZFBvbGljeSk7XHJcbiAgfVxyXG5cclxuICBoYXNDaGlsZHJlbihpZGVudGlmaWVyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmZpbmQoaXRlbSA9PiBpdGVtW3RoaXMuaWRdID09PSBpZGVudGlmaWVyKTtcclxuICAgIHJldHVybiBCb29sZWFuKG5vZGU/LmNoaWxkcmVuPy5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgaGFzSW52aXNpYmxlQ2hpbGQoaWRlbnRpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5maW5kKGl0ZW0gPT4gaXRlbVt0aGlzLmlkXSA9PT0gaWRlbnRpZmllcik7XHJcbiAgICByZXR1cm4gbm9kZT8uY2hpbGRyZW4/LnNvbWUoY2hpbGQgPT4gY2hpbGQuaW52aXNpYmxlKSB8fCBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFJvdXRlc1NlcnZpY2UgZXh0ZW5kcyBBYnN0cmFjdE5hdlRyZWVTZXJ2aWNlPEFCUC5Sb3V0ZT4ge1xyXG4gIHByaXZhdGUgaGFzUGF0aE9yQ2hpbGQoaXRlbTogVHJlZU5vZGU8QUJQLlJvdXRlPik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEJvb2xlYW4oaXRlbS5wYXRoKSB8fCB0aGlzLmhhc0NoaWxkcmVuKGl0ZW0ubmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ3JvdXBlZFZpc2libGUoKTogUm91dGVHcm91cDxBQlAuUm91dGU+W10gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlR3JvdXBlZFRyZWUodGhpcy52aXNpYmxlLmZpbHRlcihpdGVtID0+IHRoaXMuaGFzUGF0aE9yQ2hpbGQoaXRlbSkpKTtcclxuICB9XHJcblxyXG4gIGdldCBncm91cGVkVmlzaWJsZSQoKTogT2JzZXJ2YWJsZTxSb3V0ZUdyb3VwPEFCUC5Sb3V0ZT5bXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZSQucGlwZShcclxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLmZpbHRlcihpdGVtID0+IHRoaXMuaGFzUGF0aE9yQ2hpbGQoaXRlbSkpKSxcclxuICAgICAgbWFwKHZpc2libGUgPT4gdGhpcy5jcmVhdGVHcm91cGVkVHJlZSh2aXNpYmxlKSksXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -12,4 +12,5 @@ export * from './pipe-to-login.token';
12
12
  export * from './set-token-response-to-storage.token';
13
13
  export * from './check-authentication-state';
14
14
  export * from './http-context.token';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcHAtY29uZmlnLnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb29raWUtbGFuZ3VhZ2Uta2V5LnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9saXN0LnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9sb2NhbGl6YXRpb24udG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvZGFlci1kZWxheS50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWFuYWdlLXByb2ZpbGUudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL29wdGlvbnMudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL3F1ZXVlLnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQta2V5LnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9pbmNsdWRlLWxvY2FsaXphdGlvbi1yZXNvdXJjZXMudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGUtdG8tbG9naW4udG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL3NldC10b2tlbi1yZXNwb25zZS10by1zdG9yYWdlLnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVjay1hdXRoZW50aWNhdGlvbi1zdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaHR0cC1jb250ZXh0LnRva2VuJztcclxuIl19
15
+ export * from './others-group.token';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvdG9rZW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcC1jb25maWcudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nvb2tpZS1sYW5ndWFnZS1rZXkudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpc3QudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xvY2FsaXphdGlvbi50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9kYWVyLWRlbGF5LnRva2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2UtcHJvZmlsZS50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucy50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcXVldWUudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL3RlbmFudC1rZXkudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2luY2x1ZGUtbG9jYWxpemF0aW9uLXJlc291cmNlcy50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZS10by1sb2dpbi50b2tlbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2V0LXRva2VuLXJlc3BvbnNlLXRvLXN0b3JhZ2UudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL2NoZWNrLWF1dGhlbnRpY2F0aW9uLXN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9odHRwLWNvbnRleHQudG9rZW4nO1xyXG5leHBvcnQgKiBmcm9tICcuL290aGVycy1ncm91cC50b2tlbiciXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const OTHERS_GROUP = new InjectionToken('OTHERS_GROUP');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXJzLWdyb3VwLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL3Rva2Vucy9vdGhlcnMtZ3JvdXAudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxjQUFjLENBQVMsY0FBYyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuZXhwb3J0IGNvbnN0IE9USEVSU19HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdPVEhFUlNfR1JPVVAnKTtcclxuIl19
@@ -1,3 +1,4 @@
1
+ import { isArray } from './common-utils';
1
2
  /* eslint-disable @typescript-eslint/ban-types */
2
3
  export class BaseTreeNode {
3
4
  constructor(props) {
@@ -51,4 +52,19 @@ export function createTreeNodeFilterCreator(key, mapperFn) {
51
52
  };
52
53
  };
53
54
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlEQUFpRDtBQUNqRCxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUFZLEtBQVE7UUFKcEIsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUlaLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQUFtQixLQUFRO1FBQ3RDLE9BQU8sSUFBSSxZQUFZLENBQUksS0FBSyxDQUFnQixDQUFDO0lBQ25ELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLGlCQUFxQyxFQUNyQyxXQUEyQjtJQUUzQixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzlELE1BQU0sSUFBSSxHQUF1QyxFQUFFLENBQUM7SUFFcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU87UUFFbEIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDbkIsTUFBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsTUFBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBWSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsSUFBUyxFQUNULFdBQWlDLEVBQ2pDLFdBQTJCO0lBSTNCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7SUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN6QyxHQUFZLEVBQ1osUUFBZ0M7SUFFaEMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1FBQ3hCLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sU0FBUyxZQUFZLENBQUMsS0FBb0IsRUFBRSxVQUF5QixFQUFFO1lBQzVFLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUN4QixJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRXhELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO29CQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ2hFO1lBRUQsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXMgKi9cclxuZXhwb3J0IGNsYXNzIEJhc2VUcmVlTm9kZTxUIGV4dGVuZHMgb2JqZWN0PiB7XHJcbiAgY2hpbGRyZW46IFRyZWVOb2RlPFQ+W10gPSBbXTtcclxuICBpc0xlYWYgPSB0cnVlO1xyXG4gIHBhcmVudD86IFRyZWVOb2RlPFQ+O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wczogVCkge1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY3JlYXRlPFQgZXh0ZW5kcyBvYmplY3Q+KHByb3BzOiBUKSB7XHJcbiAgICByZXR1cm4gbmV3IEJhc2VUcmVlTm9kZTxUPihwcm9wcykgYXMgVHJlZU5vZGU8VD47XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJlZUZyb21MaXN0PFQgZXh0ZW5kcyBvYmplY3QsIFI+KFxyXG4gIGxpc3Q6IFRbXSxcclxuICBrZXlTZWxlY3RvcjogKGl0ZW06IFQpID0+IE5vZGVLZXksXHJcbiAgcGFyZW50S2V5U2VsZWN0b3I6IHR5cGVvZiBrZXlTZWxlY3RvcixcclxuICB2YWx1ZU1hcHBlcjogKGl0ZW06IFQpID0+IFIsXHJcbikge1xyXG4gIGNvbnN0IG1hcCA9IGNyZWF0ZU1hcEZyb21MaXN0KGxpc3QsIGtleVNlbGVjdG9yLCB2YWx1ZU1hcHBlcik7XHJcbiAgY29uc3QgdHJlZTogTm9kZVZhbHVlPFQsIHR5cGVvZiB2YWx1ZU1hcHBlcj5bXSA9IFtdO1xyXG5cclxuICBsaXN0LmZvckVhY2gocm93ID0+IHtcclxuICAgIGNvbnN0IGlkID0ga2V5U2VsZWN0b3Iocm93KTtcclxuICAgIGNvbnN0IHBhcmVudElkID0gcGFyZW50S2V5U2VsZWN0b3Iocm93KTtcclxuICAgIGNvbnN0IG5vZGUgPSBtYXAuZ2V0KGlkKTtcclxuXHJcbiAgICBpZiAoIW5vZGUpIHJldHVybjtcclxuXHJcbiAgICBpZiAocGFyZW50SWQpIHtcclxuICAgICAgY29uc3QgcGFyZW50ID0gbWFwLmdldChwYXJlbnRJZCk7XHJcbiAgICAgIGlmICghcGFyZW50KSByZXR1cm47XHJcbiAgICAgIChwYXJlbnQgYXMgYW55KS5jaGlsZHJlbi5wdXNoKG5vZGUpO1xyXG4gICAgICAocGFyZW50IGFzIGFueSkuaXNMZWFmID0gZmFsc2U7XHJcbiAgICAgIChub2RlIGFzIGFueSkucGFyZW50ID0gcGFyZW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJlZS5wdXNoKG5vZGUpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gdHJlZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1hcEZyb21MaXN0PFQgZXh0ZW5kcyBvYmplY3QsIFI+KFxyXG4gIGxpc3Q6IFRbXSxcclxuICBrZXlTZWxlY3RvcjogKGl0ZW06IFQpID0+IE5vZGVLZXksXHJcbiAgdmFsdWVNYXBwZXI6IChpdGVtOiBUKSA9PiBSLFxyXG4pIHtcclxuICB0eXBlIEtleSA9IFJldHVyblR5cGU8dHlwZW9mIGtleVNlbGVjdG9yPjtcclxuICB0eXBlIFZhbHVlID0gTm9kZVZhbHVlPFQsIHR5cGVvZiB2YWx1ZU1hcHBlcj47XHJcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxLZXksIFZhbHVlPigpO1xyXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4gbWFwLnNldChrZXlTZWxlY3Rvcihyb3cpLCB2YWx1ZU1hcHBlcihyb3cpKSk7XHJcbiAgcmV0dXJuIG1hcDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyZWVOb2RlRmlsdGVyQ3JlYXRvcjxUIGV4dGVuZHMgb2JqZWN0PihcclxuICBrZXk6IGtleW9mIFQsXHJcbiAgbWFwcGVyRm46ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcsXHJcbikge1xyXG4gIHJldHVybiAoc2VhcmNoOiBzdHJpbmcpID0+IHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnLionICsgc2VhcmNoICsgJy4qJywgJ2knKTtcclxuXHJcbiAgICByZXR1cm4gZnVuY3Rpb24gY29sbGVjdE5vZGVzKG5vZGVzOiBUcmVlTm9kZTxUPltdLCBtYXRjaGVzOiBUcmVlTm9kZTxUPltdID0gW10pIHtcclxuICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgICAgaWYgKHJlZ2V4LnRlc3QobWFwcGVyRm4obm9kZVtrZXldKSkpIG1hdGNoZXMucHVzaChub2RlKTtcclxuXHJcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4ubGVuZ3RoKSBjb2xsZWN0Tm9kZXMobm9kZS5jaGlsZHJlbiwgbWF0Y2hlcyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiBtYXRjaGVzO1xyXG4gICAgfTtcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBUcmVlTm9kZTxUIGV4dGVuZHMgb2JqZWN0PiA9IHtcclxuICBbSyBpbiBrZXlvZiBUXTogVFtLXTtcclxufSAmIHtcclxuICBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXTtcclxuICBpc0xlYWY6IGJvb2xlYW47XHJcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBOb2RlS2V5ID0gbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sIHwgdW5kZWZpbmVkIHwgbnVsbDtcclxuXHJcbmV4cG9ydCB0eXBlIE5vZGVWYWx1ZTxUIGV4dGVuZHMgb2JqZWN0LCBGIGV4dGVuZHMgKC4uLmFyZ3M6IGFueSkgPT4gYW55PiA9IEYgZXh0ZW5kcyB1bmRlZmluZWRcclxuICA/IFRyZWVOb2RlPFQ+XHJcbiAgOiBSZXR1cm5UeXBlPEY+O1xyXG4iXX0=
55
+ export function createGroupMap(list, othersGroupKey) {
56
+ if (!isArray(list) || !list.some(node => Boolean(node.group)))
57
+ return undefined;
58
+ const mapGroup = new Map();
59
+ for (const node of list) {
60
+ const group = node?.group || othersGroupKey;
61
+ if (typeof group !== 'string') {
62
+ throw new Error(`Invalid group: ${group}`);
63
+ }
64
+ const items = mapGroup.get(group) || [];
65
+ items.push(node);
66
+ mapGroup.set(group, items);
67
+ }
68
+ return mapGroup;
69
+ }
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2xpYi91dGlscy90cmVlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxpREFBaUQ7QUFDakQsTUFBTSxPQUFPLFlBQVk7SUFLdkIsWUFBWSxLQUFRO1FBSnBCLGFBQVEsR0FBa0IsRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJWixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBbUIsS0FBUTtRQUN0QyxPQUFPLElBQUksWUFBWSxDQUFJLEtBQUssQ0FBZ0IsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLElBQVMsRUFDVCxXQUFpQyxFQUNqQyxpQkFBcUMsRUFDckMsV0FBMkI7SUFFM0IsTUFBTSxHQUFHLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5RCxNQUFNLElBQUksR0FBdUMsRUFBRSxDQUFDO0lBRXBELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDakIsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBRWxCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPO1lBQ25CLE1BQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLE1BQWMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQzlCLElBQVksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQVMsRUFDVCxXQUFpQyxFQUNqQyxXQUEyQjtJQUkzQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBYyxDQUFDO0lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDekMsR0FBWSxFQUNaLFFBQWdDO0lBRWhDLE9BQU8sQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVwRCxPQUFPLFNBQVMsWUFBWSxDQUFDLEtBQW9CLEVBQUUsVUFBeUIsRUFBRTtZQUM1RSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUV4RCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUNoRTtZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUM1QixJQUFtQixFQUNuQixjQUFzQjtJQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUVoRixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztJQUVsRCxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksRUFBRTtRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLEVBQUUsS0FBSyxJQUFJLGNBQWMsQ0FBQztRQUM1QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO1FBRUQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM1QjtJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5cclxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlcyAqL1xyXG5leHBvcnQgY2xhc3MgQmFzZVRyZWVOb2RlPFQgZXh0ZW5kcyBvYmplY3Q+IHtcclxuICBjaGlsZHJlbjogVHJlZU5vZGU8VD5bXSA9IFtdO1xyXG4gIGlzTGVhZiA9IHRydWU7XHJcbiAgcGFyZW50PzogVHJlZU5vZGU8VD47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBUKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHByb3BzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjcmVhdGU8VCBleHRlbmRzIG9iamVjdD4ocHJvcHM6IFQpIHtcclxuICAgIHJldHVybiBuZXcgQmFzZVRyZWVOb2RlPFQ+KHByb3BzKSBhcyBUcmVlTm9kZTxUPjtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUcmVlRnJvbUxpc3Q8VCBleHRlbmRzIG9iamVjdCwgUj4oXHJcbiAgbGlzdDogVFtdLFxyXG4gIGtleVNlbGVjdG9yOiAoaXRlbTogVCkgPT4gTm9kZUtleSxcclxuICBwYXJlbnRLZXlTZWxlY3RvcjogdHlwZW9mIGtleVNlbGVjdG9yLFxyXG4gIHZhbHVlTWFwcGVyOiAoaXRlbTogVCkgPT4gUixcclxuKSB7XHJcbiAgY29uc3QgbWFwID0gY3JlYXRlTWFwRnJvbUxpc3QobGlzdCwga2V5U2VsZWN0b3IsIHZhbHVlTWFwcGVyKTtcclxuICBjb25zdCB0cmVlOiBOb2RlVmFsdWU8VCwgdHlwZW9mIHZhbHVlTWFwcGVyPltdID0gW107XHJcblxyXG4gIGxpc3QuZm9yRWFjaChyb3cgPT4ge1xyXG4gICAgY29uc3QgaWQgPSBrZXlTZWxlY3Rvcihyb3cpO1xyXG4gICAgY29uc3QgcGFyZW50SWQgPSBwYXJlbnRLZXlTZWxlY3Rvcihyb3cpO1xyXG4gICAgY29uc3Qgbm9kZSA9IG1hcC5nZXQoaWQpO1xyXG5cclxuICAgIGlmICghbm9kZSkgcmV0dXJuO1xyXG5cclxuICAgIGlmIChwYXJlbnRJZCkge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KHBhcmVudElkKTtcclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcclxuICAgICAgKHBhcmVudCBhcyBhbnkpLmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcbiAgICAgIChwYXJlbnQgYXMgYW55KS5pc0xlYWYgPSBmYWxzZTtcclxuICAgICAgKG5vZGUgYXMgYW55KS5wYXJlbnQgPSBwYXJlbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cmVlLnB1c2gobm9kZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiB0cmVlO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFwRnJvbUxpc3Q8VCBleHRlbmRzIG9iamVjdCwgUj4oXHJcbiAgbGlzdDogVFtdLFxyXG4gIGtleVNlbGVjdG9yOiAoaXRlbTogVCkgPT4gTm9kZUtleSxcclxuICB2YWx1ZU1hcHBlcjogKGl0ZW06IFQpID0+IFIsXHJcbikge1xyXG4gIHR5cGUgS2V5ID0gUmV0dXJuVHlwZTx0eXBlb2Yga2V5U2VsZWN0b3I+O1xyXG4gIHR5cGUgVmFsdWUgPSBOb2RlVmFsdWU8VCwgdHlwZW9mIHZhbHVlTWFwcGVyPjtcclxuICBjb25zdCBtYXAgPSBuZXcgTWFwPEtleSwgVmFsdWU+KCk7XHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiBtYXAuc2V0KGtleVNlbGVjdG9yKHJvdyksIHZhbHVlTWFwcGVyKHJvdykpKTtcclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJlZU5vZGVGaWx0ZXJDcmVhdG9yPFQgZXh0ZW5kcyBvYmplY3Q+KFxyXG4gIGtleToga2V5b2YgVCxcclxuICBtYXBwZXJGbjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyxcclxuKSB7XHJcbiAgcmV0dXJuIChzZWFyY2g6IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCcuKicgKyBzZWFyY2ggKyAnLionLCAnaScpO1xyXG5cclxuICAgIHJldHVybiBmdW5jdGlvbiBjb2xsZWN0Tm9kZXMobm9kZXM6IFRyZWVOb2RlPFQ+W10sIG1hdGNoZXM6IFRyZWVOb2RlPFQ+W10gPSBbXSkge1xyXG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcclxuICAgICAgICBpZiAocmVnZXgudGVzdChtYXBwZXJGbihub2RlW2tleV0pKSkgbWF0Y2hlcy5wdXNoKG5vZGUpO1xyXG5cclxuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbi5sZW5ndGgpIGNvbGxlY3ROb2Rlcyhub2RlLmNoaWxkcmVuLCBtYXRjaGVzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIG1hdGNoZXM7XHJcbiAgICB9O1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVHcm91cE1hcDxUIGV4dGVuZHMgeyBncm91cD86IHN0cmluZyB9PihcclxuICBsaXN0OiBUcmVlTm9kZTxUPltdLFxyXG4gIG90aGVyc0dyb3VwS2V5OiBzdHJpbmcsXHJcbikge1xyXG4gIGlmICghaXNBcnJheShsaXN0KSB8fCAhbGlzdC5zb21lKG5vZGUgPT4gQm9vbGVhbihub2RlLmdyb3VwKSkpIHJldHVybiB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0IG1hcEdyb3VwID0gbmV3IE1hcDxzdHJpbmcsIFRyZWVOb2RlPFQ+W10+KCk7XHJcblxyXG4gIGZvciAoY29uc3Qgbm9kZSBvZiBsaXN0KSB7XHJcbiAgICBjb25zdCBncm91cCA9IG5vZGU/Lmdyb3VwIHx8IG90aGVyc0dyb3VwS2V5O1xyXG4gICAgaWYgKHR5cGVvZiBncm91cCAhPT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGdyb3VwOiAke2dyb3VwfWApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gbWFwR3JvdXAuZ2V0KGdyb3VwKSB8fCBbXTtcclxuICAgIGl0ZW1zLnB1c2gobm9kZSk7XHJcbiAgICBtYXBHcm91cC5zZXQoZ3JvdXAsIGl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBtYXBHcm91cDtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgVHJlZU5vZGU8VCBleHRlbmRzIG9iamVjdD4gPSB7XHJcbiAgW0sgaW4ga2V5b2YgVF06IFRbS107XHJcbn0gJiB7XHJcbiAgY2hpbGRyZW46IFRyZWVOb2RlPFQ+W107XHJcbiAgaXNMZWFmOiBib29sZWFuO1xyXG4gIHBhcmVudD86IFRyZWVOb2RlPFQ+O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVHcm91cDxUIGV4dGVuZHMgb2JqZWN0PiA9IHtcclxuICByZWFkb25seSBncm91cDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGl0ZW1zOiBUcmVlTm9kZTxUPltdO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgTm9kZUtleSA9IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbCB8IHVuZGVmaW5lZCB8IG51bGw7XHJcblxyXG5leHBvcnQgdHlwZSBOb2RlVmFsdWU8VCBleHRlbmRzIG9iamVjdCwgRiBleHRlbmRzICguLi5hcmdzOiBhbnkpID0+IGFueT4gPSBGIGV4dGVuZHMgdW5kZWZpbmVkXHJcbiAgPyBUcmVlTm9kZTxUPlxyXG4gIDogUmV0dXJuVHlwZTxGPjtcclxuIl19
@@ -1,4 +1,4 @@
1
- import { CORE_OPTIONS, EnvironmentService, RestService, } from '@abp/ng.core';
1
+ import { CORE_OPTIONS, EnvironmentService, ExternalHttpClient, RestService, } from '@abp/ng.core';
2
2
  import { HttpClient } from '@angular/common/http';
3
3
  import { Inject, Injectable } from '@angular/core';
4
4
  import { throwError } from 'rxjs';
@@ -6,17 +6,18 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common/http";
7
7
  import * as i2 from "@abp/ng.core";
8
8
  export class MockRestService extends RestService {
9
- constructor(options, http, environment) {
10
- super(options, http, environment, null);
9
+ constructor(options, http, externalhttp, environment) {
10
+ super(options, http, externalhttp, environment, null);
11
11
  this.options = options;
12
12
  this.http = http;
13
+ this.externalhttp = externalhttp;
13
14
  this.environment = environment;
14
15
  }
15
16
  handleError(err) {
16
17
  return throwError(err);
17
18
  }
18
19
  }
19
- MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.ExternalHttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
20
21
  MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, providedIn: 'root' });
21
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, decorators: [{
22
23
  type: Injectable,
@@ -26,5 +27,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
26
27
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
27
28
  type: Inject,
28
29
  args: [CORE_OPTIONS]
29
- }] }, { type: i1.HttpClient }, { type: i2.EnvironmentService }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUVsQixXQUFXLEdBQ1osTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFLOUMsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBVztJQUM5QyxZQUNrQyxPQUFpQixFQUN2QyxJQUFnQixFQUNoQixXQUErQjtRQUV6QyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBMkMsQ0FBQyxDQUFDO1FBSi9DLFlBQU8sR0FBUCxPQUFPLENBQVU7UUFDdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFHM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzRHQVhVLGVBQWUsa0JBRWhCLFlBQVk7Z0hBRlgsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQUJQLFxyXG4gIENPUkVfT1BUSU9OUyxcclxuICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlLFxyXG4gIFJlc3RTZXJ2aWNlLFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ja1Jlc3RTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChDT1JFX09QVElPTlMpIHByb3RlY3RlZCBvcHRpb25zOiBBQlAuUm9vdCxcclxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGVudmlyb25tZW50OiBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihvcHRpb25zLCBodHRwLCBlbnZpcm9ubWVudCwgbnVsbCBhcyB1bmtub3duIGFzIEh0dHBFcnJvclJlcG9ydGVyU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFcnJvcihlcnI6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xyXG4gIH1cclxufVxyXG4iXX0=
30
+ }] }, { type: i1.HttpClient }, { type: i2.ExternalHttpClient }, { type: i2.EnvironmentService }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1yZXN0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3Rlc3Rpbmcvc3JjL2xpYi9zZXJ2aWNlcy9tb2NrLXJlc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixrQkFBa0IsRUFFbEIsV0FBVyxHQUNaLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7O0FBSzlDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQVc7SUFDOUMsWUFDa0MsT0FBaUIsRUFDdkMsSUFBZ0IsRUFDaEIsWUFBZ0MsRUFDaEMsV0FBK0I7UUFFekMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUEyQyxDQUFDLENBQUM7UUFMNUQsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUN2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFHM0MsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2xCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzRHQVpVLGVBQWUsa0JBRWhCLFlBQVk7Z0hBRlgsZUFBZSxjQUZkLE1BQU07MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdJLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQUJQLFxyXG4gIENPUkVfT1BUSU9OUyxcclxuICBFbnZpcm9ubWVudFNlcnZpY2UsXHJcbiAgRXh0ZXJuYWxIdHRwQ2xpZW50LFxyXG4gIEh0dHBFcnJvclJlcG9ydGVyU2VydmljZSxcclxuICBSZXN0U2VydmljZSxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vY2tSZXN0U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoQ09SRV9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9uczogQUJQLlJvb3QsXHJcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBleHRlcm5hbGh0dHA6IEV4dGVybmFsSHR0cENsaWVudCxcclxuICAgIHByb3RlY3RlZCBlbnZpcm9ubWVudDogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIob3B0aW9ucywgaHR0cCxleHRlcm5hbGh0dHAsIGVudmlyb25tZW50LCBudWxsIGFzIHVua25vd24gYXMgSHR0cEVycm9yUmVwb3J0ZXJTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { __rest } from 'tslib';
2
- import * as i1 from '@abp/ng.core';
2
+ import * as i2 from '@abp/ng.core';
3
3
  import { PermissionService, RestService, CORE_OPTIONS, coreOptionsFactory, LIST_QUERY_DEBOUNCE_TIME, LOADER_DELAY, INCUDE_LOCALIZATION_RESOURCES_TOKEN, BaseCoreModule } from '@abp/ng.core';
4
4
  import { APP_BASE_HREF } from '@angular/common';
5
5
  import * as i0 from '@angular/core';
@@ -8,7 +8,7 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
8
8
  import { provideRoutes } from '@angular/router';
9
9
  import { RouterTestingModule } from '@angular/router/testing';
10
10
  import { throwError } from 'rxjs';
11
- import * as i1$1 from '@angular/common/http';
11
+ import * as i1 from '@angular/common/http';
12
12
 
13
13
  class MockPermissionService extends PermissionService {
14
14
  constructor(configState) {
@@ -32,27 +32,28 @@ class MockPermissionService extends PermissionService {
32
32
  this.configState['store'].deepPatch({ auth: { grantedPolicies } });
33
33
  }
34
34
  }
35
- MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, deps: [{ token: i1.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
35
+ MockPermissionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, deps: [{ token: i2.ConfigStateService }], target: i0.ɵɵFactoryTarget.Injectable });
36
36
  MockPermissionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, providedIn: 'root' });
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockPermissionService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root',
41
41
  }]
42
- }], ctorParameters: function () { return [{ type: i1.ConfigStateService }]; } });
42
+ }], ctorParameters: function () { return [{ type: i2.ConfigStateService }]; } });
43
43
 
44
44
  class MockRestService extends RestService {
45
- constructor(options, http, environment) {
46
- super(options, http, environment, null);
45
+ constructor(options, http, externalhttp, environment) {
46
+ super(options, http, externalhttp, environment, null);
47
47
  this.options = options;
48
48
  this.http = http;
49
+ this.externalhttp = externalhttp;
49
50
  this.environment = environment;
50
51
  }
51
52
  handleError(err) {
52
53
  return throwError(err);
53
54
  }
54
55
  }
55
- MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1$1.HttpClient }, { token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
56
+ MockRestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, deps: [{ token: CORE_OPTIONS }, { token: i1.HttpClient }, { token: i2.ExternalHttpClient }, { token: i2.EnvironmentService }], target: i0.ɵɵFactoryTarget.Injectable });
56
57
  MockRestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, providedIn: 'root' });
57
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MockRestService, decorators: [{
58
59
  type: Injectable,
@@ -63,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
63
64
  return [{ type: undefined, decorators: [{
64
65
  type: Inject,
65
66
  args: [CORE_OPTIONS]
66
- }] }, { type: i1$1.HttpClient }, { type: i1.EnvironmentService }];
67
+ }] }, { type: i1.HttpClient }, { type: i2.ExternalHttpClient }, { type: i2.EnvironmentService }];
67
68
  } });
68
69
 
69
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {} as { [key: string]: boolean });\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import {\r\n ABP,\r\n CORE_OPTIONS,\r\n EnvironmentService,\r\n HttpErrorReporterService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null as unknown as HttpErrorReporterService);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {} as { [key: string]: boolean });\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import {\r\n ABP,\r\n CORE_OPTIONS,\r\n EnvironmentService,\r\n ExternalHttpClient,\r\n HttpErrorReporterService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected externalhttp: ExternalHttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http,externalhttp, environment, null as unknown as HttpErrorReporterService);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n {\r\n provide: INCUDE_LOCALIZATION_RESOURCES_TOKEN,\r\n useValue: false,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}