@esfaenza/core 16.2.28 → 19.2.2
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.
- package/components/back-top/back-top.component.d.ts +12 -12
- package/components/base/base.component.d.ts +26 -26
- package/components/base/embedding.component.d.ts +22 -22
- package/components/base/reactive.component.d.ts +9 -9
- package/components/breadcrumb/breadcrumb.component.d.ts +26 -26
- package/components/components.module.d.ts +32 -32
- package/components/error/404/pagenotfound.component.d.ts +15 -15
- package/components/error/500/servererror.component.d.ts +20 -20
- package/components/error/Angular/angularerror.component.d.ts +25 -25
- package/components/es-image-cropper/es-image-cropper.component.d.ts +25 -25
- package/components/es-modal/es-modal-head/es-modal-head.component.d.ts +11 -11
- package/components/es-modal/es-modal.component.d.ts +18 -18
- package/components/external-page/external_pages.component.d.ts +21 -21
- package/components/index.d.ts +5 -5
- package/components/jace-login/jace-login.component.d.ts +8 -8
- package/components/jace-resource/jace-resource.component.d.ts +25 -25
- package/components/labeled-span/labeled-span.component.d.ts +11 -11
- package/components/navbar/navbar.component.d.ts +58 -58
- package/components/navbar/navbar.component.loc.d.ts +8 -8
- package/components/page/pages.component.d.ts +23 -23
- package/components/public-api.d.ts +21 -21
- package/components/redirecter/redirecter.component.d.ts +23 -23
- package/components/sidebar/sidebar.component.d.ts +64 -64
- package/components/sidebar/sidebar.component.loc.d.ts +8 -8
- package/components/user_infos/user_infos.component.d.ts +50 -50
- package/components/user_infos/user_infos.component.loc.d.ts +8 -8
- package/directives/componentHost/componentHost.directive.d.ts +12 -12
- package/directives/directives.module.d.ts +12 -12
- package/directives/draggable/draggable.directive.d.ts +13 -13
- package/directives/es-modal/es-modal.directive.d.ts +20 -20
- package/directives/es-routerLink/es-routerLink.directive.d.ts +13 -13
- package/directives/index.d.ts +5 -5
- package/directives/public-api.d.ts +7 -7
- package/directives/slim-scroll/slim-scroll.directive.d.ts +15 -15
- package/directives/widget/widget.directive.d.ts +9 -9
- package/domain/index.d.ts +5 -5
- package/domain/models/core/ApplicationJob.d.ts +12 -12
- package/domain/models/core/ApplicationMenu.d.ts +16 -16
- package/domain/models/core/ApplicationRoutes.d.ts +2 -2
- package/domain/models/core/EnvOptions.d.ts +15 -15
- package/domain/models/core/GenericItem.d.ts +10 -10
- package/domain/models/core/KeyValue.d.ts +5 -5
- package/domain/models/global_search/SaerchResultContainer.d.ts +5 -5
- package/domain/models/global_search/SearchResult.d.ts +10 -10
- package/domain/models/jace/AccountScope.d.ts +9 -9
- package/domain/models/jace/ActiveModuleView.d.ts +11 -11
- package/domain/models/jace/CategoriesWithModules.d.ts +6 -6
- package/domain/models/jace/JaceAccount.d.ts +17 -17
- package/domain/models/jace/JaceIdentity.d.ts +17 -17
- package/domain/models/jace/JaceModule.d.ts +8 -8
- package/domain/models/jace/JacePermission.d.ts +10 -10
- package/domain/models/jace/JaceRole.d.ts +13 -13
- package/domain/models/jace/JaceUser.d.ts +9 -9
- package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +5 -5
- package/domain/models/user/UpdatePasswordDto.d.ts +9 -9
- package/domain/models/user/UpdateProfilePictureDto.d.ts +4 -4
- package/domain/models/user/UserAccount.d.ts +23 -23
- package/domain/public-api.d.ts +22 -22
- package/domain/tokens.d.ts +22 -22
- package/fesm2022/esfaenza-core-components.mjs +1492 -1480
- package/fesm2022/esfaenza-core-components.mjs.map +1 -1
- package/fesm2022/esfaenza-core-directives.mjs +269 -269
- package/fesm2022/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2022/esfaenza-core-domain.mjs +153 -153
- package/fesm2022/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2022/esfaenza-core-helpers.mjs +38 -38
- package/fesm2022/esfaenza-core-helpers.mjs.map +1 -1
- package/fesm2022/esfaenza-core-modules.mjs +128 -134
- package/fesm2022/esfaenza-core-modules.mjs.map +1 -1
- package/fesm2022/esfaenza-core-pipes.mjs +96 -96
- package/fesm2022/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2022/esfaenza-core-services.mjs +1760 -1754
- package/fesm2022/esfaenza-core-services.mjs.map +1 -1
- package/fesm2022/esfaenza-core.mjs +206 -230
- package/fesm2022/esfaenza-core.mjs.map +1 -1
- package/helpers/classes/ResizeListener.d.ts +12 -12
- package/helpers/index.d.ts +5 -5
- package/helpers/public-api.d.ts +1 -1
- package/index.d.ts +5 -5
- package/lib/app.component.d.ts +13 -13
- package/lib/core.module.d.ts +85 -86
- package/modules/classes/_base.module.d.ts +4 -4
- package/modules/classes/_embedding.module.d.ts +11 -11
- package/modules/classes/_shared.module.d.ts +28 -29
- package/modules/classes/t_c.module.d.ts +18 -19
- package/modules/index.d.ts +5 -5
- package/modules/public-api.d.ts +4 -4
- package/package.json +84 -104
- package/pipes/classes/included_in.pipe.d.ts +7 -7
- package/pipes/classes/safe_html.pipe.d.ts +10 -10
- package/pipes/classes/safe_script.pipe.d.ts +10 -10
- package/pipes/classes/safe_style.pipe.d.ts +10 -10
- package/pipes/classes/safe_url.pipe.d.ts +10 -10
- package/pipes/index.d.ts +5 -5
- package/pipes/pipes.module.d.ts +11 -11
- package/pipes/public-api.d.ts +6 -6
- package/public-api.d.ts +2 -2
- package/services/classes/app.accesstoken.d.ts +17 -17
- package/services/classes/app.completedjobredirection.d.ts +12 -12
- package/services/classes/app.errorhandler.d.ts +11 -11
- package/services/classes/app.event.d.ts +10 -10
- package/services/classes/app.globalsearch.d.ts +25 -25
- package/services/classes/app.httpextensions.d.ts +34 -34
- package/services/classes/app.httpextensions.loc.d.ts +8 -8
- package/services/classes/app.menufilter.d.ts +14 -14
- package/services/classes/app.routeguard.d.ts +10 -10
- package/services/classes/app.session.d.ts +15 -15
- package/services/classes/app.state.d.ts +55 -55
- package/services/classes/preferences/app.cache.persistor.d.ts +25 -25
- package/services/classes/preferences/app.preference.persistor.d.ts +25 -25
- package/services/classes/preferences/user/app.userpreferences.base.d.ts +25 -25
- package/services/index.d.ts +5 -5
- package/services/public-api.d.ts +13 -13
- package/theme/initial.scss +17 -7
- package/esm2022/components/back-top/back-top.component.mjs +0 -43
- package/esm2022/components/base/base.component.mjs +0 -67
- package/esm2022/components/base/embedding.component.mjs +0 -64
- package/esm2022/components/base/reactive.component.mjs +0 -28
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -80
- package/esm2022/components/components.module.mjs +0 -97
- package/esm2022/components/error/404/pagenotfound.component.mjs +0 -36
- package/esm2022/components/error/500/servererror.component.mjs +0 -47
- package/esm2022/components/error/Angular/angularerror.component.mjs +0 -62
- package/esm2022/components/es-image-cropper/es-image-cropper.component.mjs +0 -82
- package/esm2022/components/es-modal/es-modal-head/es-modal-head.component.mjs +0 -22
- package/esm2022/components/es-modal/es-modal.component.mjs +0 -40
- package/esm2022/components/esfaenza-core-components.mjs +0 -5
- package/esm2022/components/external-page/external_pages.component.mjs +0 -48
- package/esm2022/components/jace-login/jace-login.component.mjs +0 -31
- package/esm2022/components/jace-resource/jace-resource.component.mjs +0 -68
- package/esm2022/components/labeled-span/labeled-span.component.mjs +0 -25
- package/esm2022/components/navbar/navbar.component.loc.mjs +0 -41
- package/esm2022/components/navbar/navbar.component.mjs +0 -223
- package/esm2022/components/page/pages.component.mjs +0 -60
- package/esm2022/components/public-api.mjs +0 -22
- package/esm2022/components/redirecter/redirecter.component.mjs +0 -65
- package/esm2022/components/sidebar/sidebar.component.loc.mjs +0 -39
- package/esm2022/components/sidebar/sidebar.component.mjs +0 -286
- package/esm2022/components/user_infos/user_infos.component.loc.mjs +0 -43
- package/esm2022/components/user_infos/user_infos.component.mjs +0 -148
- package/esm2022/directives/componentHost/componentHost.directive.mjs +0 -29
- package/esm2022/directives/directives.module.mjs +0 -21
- package/esm2022/directives/draggable/draggable.directive.mjs +0 -49
- package/esm2022/directives/es-modal/es-modal.directive.mjs +0 -79
- package/esm2022/directives/es-routerLink/es-routerLink.directive.mjs +0 -55
- package/esm2022/directives/esfaenza-core-directives.mjs +0 -5
- package/esm2022/directives/public-api.mjs +0 -8
- package/esm2022/directives/slim-scroll/slim-scroll.directive.mjs +0 -41
- package/esm2022/directives/widget/widget.directive.mjs +0 -37
- package/esm2022/domain/esfaenza-core-domain.mjs +0 -5
- package/esm2022/domain/models/core/ApplicationJob.mjs +0 -3
- package/esm2022/domain/models/core/ApplicationMenu.mjs +0 -26
- package/esm2022/domain/models/core/ApplicationRoutes.mjs +0 -3
- package/esm2022/domain/models/core/EnvOptions.mjs +0 -13
- package/esm2022/domain/models/core/GenericItem.mjs +0 -12
- package/esm2022/domain/models/core/KeyValue.mjs +0 -15
- package/esm2022/domain/models/global_search/SaerchResultContainer.mjs +0 -6
- package/esm2022/domain/models/global_search/SearchResult.mjs +0 -8
- package/esm2022/domain/models/jace/AccountScope.mjs +0 -8
- package/esm2022/domain/models/jace/ActiveModuleView.mjs +0 -6
- package/esm2022/domain/models/jace/CategoriesWithModules.mjs +0 -7
- package/esm2022/domain/models/jace/JaceAccount.mjs +0 -3
- package/esm2022/domain/models/jace/JaceIdentity.mjs +0 -15
- package/esm2022/domain/models/jace/JaceModule.mjs +0 -10
- package/esm2022/domain/models/jace/JacePermission.mjs +0 -3
- package/esm2022/domain/models/jace/JaceRole.mjs +0 -9
- package/esm2022/domain/models/jace/JaceUser.mjs +0 -3
- package/esm2022/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +0 -7
- package/esm2022/domain/models/user/UpdatePasswordDto.mjs +0 -11
- package/esm2022/domain/models/user/UpdateProfilePictureDto.mjs +0 -6
- package/esm2022/domain/models/user/UserAccount.mjs +0 -3
- package/esm2022/domain/public-api.mjs +0 -23
- package/esm2022/domain/tokens.mjs +0 -17
- package/esm2022/esfaenza-core.mjs +0 -5
- package/esm2022/helpers/classes/ResizeListener.mjs +0 -38
- package/esm2022/helpers/esfaenza-core-helpers.mjs +0 -5
- package/esm2022/helpers/public-api.mjs +0 -2
- package/esm2022/lib/app.component.mjs +0 -34
- package/esm2022/lib/core.module.mjs +0 -258
- package/esm2022/modules/classes/_base.module.mjs +0 -32
- package/esm2022/modules/classes/_embedding.module.mjs +0 -27
- package/esm2022/modules/classes/_shared.module.mjs +0 -47
- package/esm2022/modules/classes/t_c.module.mjs +0 -85
- package/esm2022/modules/esfaenza-core-modules.mjs +0 -5
- package/esm2022/modules/public-api.mjs +0 -5
- package/esm2022/pipes/classes/included_in.pipe.mjs +0 -20
- package/esm2022/pipes/classes/safe_html.pipe.mjs +0 -21
- package/esm2022/pipes/classes/safe_script.pipe.mjs +0 -21
- package/esm2022/pipes/classes/safe_style.pipe.mjs +0 -21
- package/esm2022/pipes/classes/safe_url.pipe.mjs +0 -21
- package/esm2022/pipes/esfaenza-core-pipes.mjs +0 -5
- package/esm2022/pipes/pipes.module.mjs +0 -20
- package/esm2022/pipes/public-api.mjs +0 -7
- package/esm2022/public-api.mjs +0 -3
- package/esm2022/services/classes/app.accesstoken.mjs +0 -1042
- package/esm2022/services/classes/app.completedjobredirection.mjs +0 -18
- package/esm2022/services/classes/app.errorhandler.mjs +0 -41
- package/esm2022/services/classes/app.event.mjs +0 -27
- package/esm2022/services/classes/app.globalsearch.mjs +0 -34
- package/esm2022/services/classes/app.httpextensions.loc.mjs +0 -15
- package/esm2022/services/classes/app.httpextensions.mjs +0 -90
- package/esm2022/services/classes/app.menufilter.mjs +0 -21
- package/esm2022/services/classes/app.routeguard.mjs +0 -23
- package/esm2022/services/classes/app.session.mjs +0 -40
- package/esm2022/services/classes/app.state.mjs +0 -229
- package/esm2022/services/classes/preferences/app.cache.persistor.mjs +0 -94
- package/esm2022/services/classes/preferences/app.preference.persistor.mjs +0 -94
- package/esm2022/services/classes/preferences/user/app.userpreferences.base.mjs +0 -101
- package/esm2022/services/esfaenza-core-services.mjs +0 -5
- package/esm2022/services/public-api.mjs +0 -14
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { NgModule, ErrorHandler, LOCALE_ID, APP_INITIALIZER, isDevMode } from "@angular/core";
|
|
3
|
-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
4
|
-
import { RouterModule, NoPreloading, ROUTES } from "@angular/router";
|
|
5
|
-
import { MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
6
|
-
import { EVENT_MANAGER_PLUGINS } from "@angular/platform-browser";
|
|
7
|
-
import { ServiceWorkerModule } from "@angular/service-worker";
|
|
8
|
-
import { HttpClientModule } from "@angular/common/http";
|
|
9
|
-
import "@angular/common/locales/global/it";
|
|
10
|
-
// Plugins
|
|
11
|
-
import { NgxMatDateAdapter, NGX_MAT_DATE_FORMATS } from "@angular-material-components/datetime-picker";
|
|
12
|
-
import { CookieService } from "ngx-cookie-service";
|
|
13
|
-
import { ToastrModule } from "ngx-toastr";
|
|
14
|
-
import "widgster/widgster.js";
|
|
15
|
-
// ES
|
|
16
|
-
import { PreferencesModule, PREF_DEBUG_MODE, PreferencesPersistor, LocalStoragePreferencesPersistor, CachePersistor, LocalStorageCachePersistor } from "@esfaenza/preferences";
|
|
17
|
-
import { LocalizationModule, LocalizationService, LocalizationMissingPolicy, LOC_DEBUG_MODE, BaseLocalization } from "@esfaenza/localizations";
|
|
18
|
-
import { HttpserviceModule, HttpServiceExtensions, HTTPService, HTTP_DEBUG_MODE, HTTP_INVALIDATION } from "@esfaenza/httpservice";
|
|
19
|
-
import { SignalrNotificationsModule, SGR_DEBUG_MODE, BaseMessageService } from "@esfaenza/signalr-notifications";
|
|
20
|
-
import { FormsAndValidationsModule, NgxExpandedDayJsDateAdapter } from "@esfaenza/forms-and-validations";
|
|
21
|
-
import { AccessControlModule, AccessControlService, ACC_DEBUG_MODE } from "@esfaenza/access-control";
|
|
22
|
-
import { BaseAdapter, EsChartsModule, ESC_DEBUG_MODE } from "@esfaenza/es-charts";
|
|
23
|
-
import { ExtensionsModule, EXT_DEBUG_MODE } from "@esfaenza/extensions";
|
|
24
|
-
import { ContextMenuModule } from "@esfaenza/ngx-contextmenu";
|
|
25
|
-
import { DragulaModule } from '@esfaenza/ngx-dragula';
|
|
26
|
-
import { EsTableModule } from "@esfaenza/es-table";
|
|
27
|
-
import { TAB_DEBUG_MODE } from "@esfaenza/tabber";
|
|
28
|
-
// Core
|
|
29
|
-
import { APPErrorHandler, HTTPServiceExtensions, ApplicationPreferencesPersistor, ApplicationCachePersistor, SessionRetriever, OutZoneEventPlugin, TokenService, GlobalSearchService, CompletedJobRedirectionService, MenuFilteringService, UserPreferencesService } from "@esfaenza/core/services";
|
|
30
|
-
import { PageNotFoundComponent, ServerErrorComponent, AngularErrorComponent, ExternalPagesComponent, JaceLoginComponent, PagesComponent, RedirecterComponent, ComponentsModule, UserInfosComponent } from "@esfaenza/core/components";
|
|
31
|
-
import { MENU, MENU_LOCALIZATION, REDIRECT_MAP, USE_FAKE_ACCESS_TOKEN, NAVBAR_EXTENSIONS, LOGIN_URL_LEGACY, ANONYMOUS_MODE } from "@esfaenza/core/domain";
|
|
32
|
-
import { ROUTE, EMBEDDED_ROUTE } from "@esfaenza/core/domain";
|
|
33
|
-
import { TemplateCommon } from "@esfaenza/core/modules";
|
|
34
|
-
// RxJs
|
|
35
|
-
import { catchError, switchMap, take, tap } from "rxjs/operators";
|
|
36
|
-
import { forkJoin, of } from "rxjs";
|
|
37
|
-
// Bootstrap
|
|
38
|
-
import { ProgressbarModule } from "ngx-bootstrap/progressbar";
|
|
39
|
-
import { TimepickerModule } from "ngx-bootstrap/timepicker";
|
|
40
|
-
import { BsDropdownModule } from "ngx-bootstrap/dropdown";
|
|
41
|
-
import { TooltipModule } from "ngx-bootstrap/tooltip";
|
|
42
|
-
import { ModalModule } from "ngx-bootstrap/modal";
|
|
43
|
-
// Applicazione
|
|
44
|
-
import { AppComponent } from "./app.component";
|
|
45
|
-
import * as i0 from "@angular/core";
|
|
46
|
-
import * as i1 from "@angular/service-worker";
|
|
47
|
-
import * as i2 from "@angular/router";
|
|
48
|
-
import * as i3 from "@esfaenza/es-table";
|
|
49
|
-
import * as i4 from "@esfaenza/forms-and-validations";
|
|
50
|
-
import * as i5 from "@esfaenza/extensions";
|
|
51
|
-
import * as i6 from "@esfaenza/localizations";
|
|
52
|
-
import * as i7 from "@esfaenza/access-control";
|
|
53
|
-
import * as i8 from "@esfaenza/httpservice";
|
|
54
|
-
import * as i9 from "@esfaenza/signalr-notifications";
|
|
55
|
-
import * as i10 from "@esfaenza/preferences";
|
|
56
|
-
import * as i11 from "@esfaenza/es-charts";
|
|
57
|
-
import * as i12 from "ngx-bootstrap/tooltip";
|
|
58
|
-
import * as i13 from "ngx-bootstrap/modal";
|
|
59
|
-
import * as i14 from "ngx-bootstrap/progressbar";
|
|
60
|
-
import * as i15 from "ngx-bootstrap/dropdown";
|
|
61
|
-
import * as i16 from "ngx-toastr";
|
|
62
|
-
import * as i17 from "ngx-bootstrap/timepicker";
|
|
63
|
-
import * as i18 from "@esfaenza/ngx-contextmenu";
|
|
64
|
-
import * as i19 from "@esfaenza/ngx-dragula";
|
|
65
|
-
// Repositories
|
|
66
|
-
const GET_Jace_GetAccountScope = "/api/Jace/GetAccountScope";
|
|
67
|
-
const GET_AppConfig_GetAppConfig = "/api/AppConfig/GetAppConfig";
|
|
68
|
-
const baseAppRoutes = [
|
|
69
|
-
{ path: "", redirectTo: "pages/{emptyRouteRedirect}", pathMatch: "full" },
|
|
70
|
-
{ path: EMBEDDED_ROUTE, component: ExternalPagesComponent },
|
|
71
|
-
{ path: ROUTE, component: PagesComponent },
|
|
72
|
-
{ path: "rd", component: RedirecterComponent },
|
|
73
|
-
{ path: "rd/:tenant", component: RedirecterComponent },
|
|
74
|
-
{ path: "login", component: JaceLoginComponent },
|
|
75
|
-
{ path: "iserr", component: ServerErrorComponent },
|
|
76
|
-
{ path: "anerr", component: AngularErrorComponent },
|
|
77
|
-
{ path: "**", component: PageNotFoundComponent },
|
|
78
|
-
];
|
|
79
|
-
const MODULES = [
|
|
80
|
-
BrowserAnimationsModule,
|
|
81
|
-
HttpClientModule,
|
|
82
|
-
TemplateCommon,
|
|
83
|
-
ComponentsModule,
|
|
84
|
-
// Attenzione a lasciarlo attivo in ng serve: https://github.com/angular/angular/issues/47455
|
|
85
|
-
ServiceWorkerModule.register('ngsw-worker.js', { enabled: !isDevMode() }),
|
|
86
|
-
RouterModule.forRoot([], { useHash: true, preloadingStrategy: NoPreloading, onSameUrlNavigation: "reload" }),
|
|
87
|
-
// ES
|
|
88
|
-
EsTableModule.forRoot(),
|
|
89
|
-
FormsAndValidationsModule.forRoot({ acocustom: "O", sliderMode: true }),
|
|
90
|
-
ExtensionsModule.forRoot(),
|
|
91
|
-
LocalizationModule.forRoot({ localizationMissingPolicy: LocalizationMissingPolicy.PrintSource, defaultLocale: 'it-IT' }),
|
|
92
|
-
AccessControlModule.forRoot({ contextAwareKey: "O", defaultCondition: '(R:Jace Admin || R:Jace Support)' }),
|
|
93
|
-
HttpserviceModule.forRoot(),
|
|
94
|
-
SignalrNotificationsModule.forRoot({ endpointUrl: 'notify', useMessagePack: true }),
|
|
95
|
-
PreferencesModule.forRoot({ retrieveAllAtStart: true, sessionRetriever: SessionRetriever, preferencePersistor: ApplicationPreferencesPersistor, cachePersistor: ApplicationCachePersistor }),
|
|
96
|
-
EsChartsModule.forRoot(),
|
|
97
|
-
// Bootstrap
|
|
98
|
-
TooltipModule.forRoot(),
|
|
99
|
-
ModalModule.forRoot(),
|
|
100
|
-
ProgressbarModule.forRoot(),
|
|
101
|
-
BsDropdownModule.forRoot(),
|
|
102
|
-
ToastrModule.forRoot(),
|
|
103
|
-
TimepickerModule.forRoot(),
|
|
104
|
-
ContextMenuModule.forRoot(),
|
|
105
|
-
DragulaModule.forRoot()
|
|
106
|
-
];
|
|
107
|
-
// Generatore dei formati data
|
|
108
|
-
var formats = (style) => {
|
|
109
|
-
return {
|
|
110
|
-
parse: { dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : '') },
|
|
111
|
-
display: {
|
|
112
|
-
dateInput: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),
|
|
113
|
-
monthYearLabel: 'MM YYYY',
|
|
114
|
-
dateA11yLabel: 'DD/MM/YYYY' + (style === 'long' ? ' HH:mm:ss' : ''),
|
|
115
|
-
monthYearA11yLabel: 'MM YYYY',
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
const localeFactory = (loc) => loc.SmallLocale;
|
|
120
|
-
const PROVIDERS = [
|
|
121
|
-
CookieService,
|
|
122
|
-
// Providers applicativi
|
|
123
|
-
{ provide: ErrorHandler, useClass: APPErrorHandler },
|
|
124
|
-
{ provide: EVENT_MANAGER_PLUGINS, useExisting: OutZoneEventPlugin, multi: true },
|
|
125
|
-
{ provide: HttpServiceExtensions, useClass: HTTPServiceExtensions },
|
|
126
|
-
// Locale e gestioni delle date
|
|
127
|
-
{ provide: LOCALE_ID, useFactory: localeFactory, deps: [LocalizationService] },
|
|
128
|
-
{ provide: MAT_DATE_LOCALE, useFactory: localeFactory, deps: [LocalizationService] },
|
|
129
|
-
{ provide: MAT_DATE_FORMATS, useValue: formats('short') },
|
|
130
|
-
// Questi due sono providati dal FormsAndValidationModule stesso, però quest'ultimo è definito in forRoot solo lato componenti shared,
|
|
131
|
-
// quindi per rendere questi provider disponibili anche a moduli esterni devo riprovidarli anche qui
|
|
132
|
-
{ provide: NGX_MAT_DATE_FORMATS, useValue: formats('long') },
|
|
133
|
-
{ provide: NgxMatDateAdapter, useClass: NgxExpandedDayJsDateAdapter }
|
|
134
|
-
];
|
|
135
|
-
export class EsFaenzaCoreModule {
|
|
136
|
-
static forRoot(config) {
|
|
137
|
-
if (config.routes) {
|
|
138
|
-
// Aggiunta della route di embedding se non dichiarata, lato aggiunta faccio in modo che l'embedding sia disponibile solo da route interne (pages OK, pages_ext NON OK)
|
|
139
|
-
if (!config.routes.find(t => t.path.startsWith("embed")))
|
|
140
|
-
config.routes = [...config.routes, { path: "embed/:module", loadChildren: () => import('@esfaenza/core/modules').then(m => m.EmbeddingModule) }];
|
|
141
|
-
baseAppRoutes[0].redirectTo = ["pages", "pages_ext"].map(t => (config.emptyRouteRedirect || '').startsWith(t)).some(t => !!t) ? "/" + config.emptyRouteRedirect : `pages/${config.emptyRouteRedirect || 'dashboard'}`;
|
|
142
|
-
baseAppRoutes.filter(t => ["pages", "pages_ext"].includes(t.path)).forEach(path => {
|
|
143
|
-
path.children = [
|
|
144
|
-
{ path: "profile", component: UserInfosComponent, data: { InternalNavigation: true, title: "profilo" } },
|
|
145
|
-
...config.routes.filter(r => !path.path.includes("pages_ext") || !r.path.startsWith("embed"))
|
|
146
|
-
];
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
config.debugMode = (!isDevMode() && !config.forceDebugModeForProdBuilds) ? DebugFlags.None : (config.debugMode || DebugFlags.All);
|
|
150
|
-
let mergedAppInitializer = (http, bts, aac, loc) => {
|
|
151
|
-
return () => {
|
|
152
|
-
if (config.anonymousMode) {
|
|
153
|
-
console.log("%c[APP_INITIALIZER] Loading AppConfig...", "background-color: yellow");
|
|
154
|
-
return http.get(GET_AppConfig_GetAppConfig, null, null, false).pipe(catchError(_ => of({}))).pipe(tap((appConfig) => {
|
|
155
|
-
myconfig = appConfig;
|
|
156
|
-
console.log("%c[APP_INITIALIZER] appConfig registered", "background-color: yellow");
|
|
157
|
-
aac.initializeIdentity(null);
|
|
158
|
-
}), switchMap(_ => {
|
|
159
|
-
if (!config.initializerFunction)
|
|
160
|
-
return of();
|
|
161
|
-
console.log("%c[APP_INITIALIZER] Loading custom application initialization", "background-color: yellow");
|
|
162
|
-
return config.initializerFunction(http, bts, aac)().pipe(tap(_ => {
|
|
163
|
-
console.log("%c[APP_INITIALIZER] Initialization is over", "background-color: yellow");
|
|
164
|
-
}));
|
|
165
|
-
}));
|
|
166
|
-
}
|
|
167
|
-
console.log("%c[APP_INITIALIZER] Loading AppConfig and Account Scope...", "background-color: yellow");
|
|
168
|
-
let realObservable = forkJoin({
|
|
169
|
-
appConfig: http.get(GET_AppConfig_GetAppConfig, null, null, false).pipe(catchError(_ => of({}))),
|
|
170
|
-
scope: http.get(GET_Jace_GetAccountScope, null, null, false).pipe(catchError(_ => of(null))),
|
|
171
|
-
locale: loc.Locale.pipe(take(1), catchError(_ => of('it-IT'))),
|
|
172
|
-
});
|
|
173
|
-
let usedObservable = config.optionsAndScopeProvider || realObservable;
|
|
174
|
-
return usedObservable.pipe(tap((res) => {
|
|
175
|
-
myconfig = res.appConfig;
|
|
176
|
-
http.setAppConfig(myconfig);
|
|
177
|
-
// L'account scope lo prendo dalla Query a backend solo se non uso il Fake token
|
|
178
|
-
if (!bts.USE_FAKE_ACCESS_TOKEN)
|
|
179
|
-
bts.accountScope = res.scope;
|
|
180
|
-
console.log("%c[APP_INITIALIZER] appConfig and scope registered", "background-color: yellow");
|
|
181
|
-
var identtity = bts.getJaceIdentity();
|
|
182
|
-
if (bts.accountScope)
|
|
183
|
-
aac.initializeIdentity(identtity);
|
|
184
|
-
}), switchMap(_ => {
|
|
185
|
-
if (!config.initializerFunction)
|
|
186
|
-
return of();
|
|
187
|
-
console.log("%c[APP_INITIALIZER] Loading custom application initialization", "background-color: yellow");
|
|
188
|
-
return config.initializerFunction(http, bts, aac)().pipe(tap(_ => {
|
|
189
|
-
console.log("%c[APP_INITIALIZER] Initialization is over", "background-color: yellow");
|
|
190
|
-
}));
|
|
191
|
-
}));
|
|
192
|
-
};
|
|
193
|
-
};
|
|
194
|
-
return {
|
|
195
|
-
ngModule: EsFaenzaCoreModule,
|
|
196
|
-
providers: [
|
|
197
|
-
// *************************** Provider statici ***************************
|
|
198
|
-
...PROVIDERS,
|
|
199
|
-
// ************************ Provider customizzabili ************************
|
|
200
|
-
...(!config.redirectionMap ? [] : [{ provide: REDIRECT_MAP, useValue: config.redirectionMap }]),
|
|
201
|
-
{ provide: APP_INITIALIZER, useFactory: mergedAppInitializer, deps: [HTTPService, TokenService, AccessControlService, BaseLocalization], multi: true },
|
|
202
|
-
{ provide: ROUTES, useValue: baseAppRoutes, multi: true },
|
|
203
|
-
{ provide: LOC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Localizations) == DebugFlags.Localizations : false },
|
|
204
|
-
{ provide: EXT_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Extensions) == DebugFlags.Extensions : false },
|
|
205
|
-
{ provide: ACC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.AccessControl) == DebugFlags.AccessControl : false },
|
|
206
|
-
{ provide: HTTP_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Http) == DebugFlags.Http : false },
|
|
207
|
-
{ provide: HTTP_INVALIDATION, useValue: config?.httpInvalidationCache },
|
|
208
|
-
{ provide: TAB_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Tabber) == DebugFlags.Tabber : false },
|
|
209
|
-
{ provide: SGR_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.SignalR) == DebugFlags.SignalR : false },
|
|
210
|
-
{ provide: PREF_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Preferences) == DebugFlags.Preferences : false },
|
|
211
|
-
{ provide: ESC_DEBUG_MODE, useValue: config.debugMode ? (config.debugMode & DebugFlags.Charts) == DebugFlags.Charts : false },
|
|
212
|
-
{ provide: LOGIN_URL_LEGACY, useValue: config.legacyLogin !== null && config.legacyLogin !== undefined ? config.legacyLogin : false },
|
|
213
|
-
{ provide: NAVBAR_EXTENSIONS, useValue: config.navbarExtensions ? config.navbarExtensions : [] },
|
|
214
|
-
{ provide: ANONYMOUS_MODE, useValue: config.anonymousMode ? config.anonymousMode : false },
|
|
215
|
-
{ provide: BaseAdapter, useClass: config?.chartsAdapter || BaseAdapter },
|
|
216
|
-
{ provide: BaseMessageService, useClass: config?.messageService || BaseMessageService },
|
|
217
|
-
{ provide: GlobalSearchService, useClass: config?.globalSearchService || GlobalSearchService },
|
|
218
|
-
{ provide: CompletedJobRedirectionService, useClass: config?.completedJobRedirectionService || CompletedJobRedirectionService },
|
|
219
|
-
{ provide: MenuFilteringService, useClass: config?.menuFilteringService || MenuFilteringService },
|
|
220
|
-
{ provide: UserPreferencesService, useClass: config?.userPreferencesProvider || UserPreferencesService },
|
|
221
|
-
{ provide: MENU_LOCALIZATION, useValue: config.menuLoc || null },
|
|
222
|
-
{ provide: MENU, useValue: config.menu },
|
|
223
|
-
{ provide: USE_FAKE_ACCESS_TOKEN, useValue: !!config.fakeAccessToken },
|
|
224
|
-
{ provide: PreferencesPersistor, useClass: config.fakeAccessToken ? LocalStoragePreferencesPersistor : ApplicationPreferencesPersistor },
|
|
225
|
-
{ provide: CachePersistor, useClass: config.fakeAccessToken ? LocalStorageCachePersistor : ApplicationCachePersistor }
|
|
226
|
-
]
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsFaenzaCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
230
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EsFaenzaCoreModule, declarations: [AppComponent], imports: [BrowserAnimationsModule,
|
|
231
|
-
HttpClientModule,
|
|
232
|
-
TemplateCommon,
|
|
233
|
-
ComponentsModule, i1.ServiceWorkerModule, i2.RouterModule, i3.EsTableModule, i4.FormsAndValidationsModule, i5.ExtensionsModule, i6.LocalizationModule, i7.AccessControlModule, i8.HttpserviceModule, i9.SignalrNotificationsModule, i10.PreferencesModule, i11.EsChartsModule, i12.TooltipModule, i13.ModalModule, i14.ProgressbarModule, i15.BsDropdownModule, i16.ToastrModule, i17.TimepickerModule, i18.ContextMenuModule, i19.DragulaModule] }); }
|
|
234
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsFaenzaCoreModule, imports: [MODULES] }); }
|
|
235
|
-
}
|
|
236
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EsFaenzaCoreModule, decorators: [{
|
|
237
|
-
type: NgModule,
|
|
238
|
-
args: [{
|
|
239
|
-
declarations: [AppComponent],
|
|
240
|
-
imports: [...MODULES]
|
|
241
|
-
}]
|
|
242
|
-
}] });
|
|
243
|
-
export class EsFaenzaCoreModuleConfig {
|
|
244
|
-
}
|
|
245
|
-
export var DebugFlags;
|
|
246
|
-
(function (DebugFlags) {
|
|
247
|
-
DebugFlags[DebugFlags["None"] = 0] = "None";
|
|
248
|
-
DebugFlags[DebugFlags["Localizations"] = 1] = "Localizations";
|
|
249
|
-
DebugFlags[DebugFlags["Extensions"] = 2] = "Extensions";
|
|
250
|
-
DebugFlags[DebugFlags["AccessControl"] = 4] = "AccessControl";
|
|
251
|
-
DebugFlags[DebugFlags["Http"] = 8] = "Http";
|
|
252
|
-
DebugFlags[DebugFlags["SignalR"] = 16] = "SignalR";
|
|
253
|
-
DebugFlags[DebugFlags["Preferences"] = 32] = "Preferences";
|
|
254
|
-
DebugFlags[DebugFlags["Charts"] = 64] = "Charts";
|
|
255
|
-
DebugFlags[DebugFlags["Tabber"] = 128] = "Tabber";
|
|
256
|
-
DebugFlags[DebugFlags["All"] = 255] = "All";
|
|
257
|
-
})(DebugFlags || (DebugFlags = {}));
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQTZCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQVUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxtQ0FBbUMsQ0FBQztBQUUzQyxVQUFVO0FBQ1YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUMsT0FBTyxzQkFBc0IsQ0FBQztBQUU5QixLQUFLO0FBQ0wsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvSyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsY0FBYyxFQUFFLGdC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QUFDLENBQUMsS0FBSyxFQUFFO2dCQUMzSSxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUMxSCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFO2dCQUN2RSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM3SCxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUMvSCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUN4SSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUM3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bnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBOZ01vZHVsZSwgRXJyb3JIYW5kbGVyLCBMT0NBTEVfSUQsIEFQUF9JTklUSUFMSVpFUiwgTW9kdWxlV2l0aFByb3ZpZGVycywgVHlwZSwgaXNEZXZNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBSb3V0ZXMsIFJvdXRlck1vZHVsZSwgTm9QcmVsb2FkaW5nLCBST1VURVMgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XHJcbmltcG9ydCB7IEVWRU5UX01BTkFHRVJfUExVR0lOUyB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IFNlcnZpY2VXb3JrZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvc2VydmljZS13b3JrZXJcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgXCJAYW5ndWxhci9jb21tb24vbG9jYWxlcy9nbG9iYWwvaXRcIjtcclxuXHJcbi8vIFBsdWdpbnNcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZUFkYXB0ZXIsIE5HWF9NQVRfREFURV9GT1JNQVRTIH0gZnJvbSBcIkBhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyXCI7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tIFwibmd4LWNvb2tpZS1zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0ck1vZHVsZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCBcIndpZGdzdGVyL3dpZGdzdGVyLmpzXCI7XHJcblxyXG4vLyBFU1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc01vZHVsZSwgUFJFRl9ERUJVR19NT0RFLCBQcmVmZXJlbmNlc1BlcnNpc3RvciwgTG9jYWxTdG9yYWdlUHJlZmVyZW5jZXNQZXJzaXN0b3IsIENhY2hlUGVyc2lzdG9yLCBMb2NhbFN0b3JhZ2VDYWNoZVBlcnNpc3RvciB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlLCBMb2NhbGl6YXRpb25TZXJ2aWNlLCBMb2NhbGl6YXRpb25NaXNzaW5nUG9saWN5LCBMT0NfREVCVUdfTU9ERSwgQmFzZUxvY2FsaXphdGlvbiB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBIdHRwc2VydmljZU1vZHVsZSwgSHR0cFNlcnZpY2VFeHRlbnNpb25zLCBIVFRQU2VydmljZSwgSFRUUF9ERUJVR19NT0RFLCBIVFRQX0lOVkFMSURBVElPTiB9IGZyb20gXCJAZXNmYWVuemEvaHR0cHNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2lnbmFsck5vdGlmaWNhdGlvbnNNb2R1bGUsIFNHUl9ERUJVR19NT0RFLCBCYXNlTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL3NpZ25hbHItbm90aWZpY2F0aW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlLCBOZ3hFeHBhbmRlZERheUpzRGF0ZUFkYXB0ZXIgfSBmcm9tIFwiQGVzZmFlbnphL2Zvcm1zLWFuZC12YWxpZGF0aW9uc1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sTW9kdWxlLCBBY2Nlc3NDb250cm9sU2VydmljZSwgQUNDX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sXCI7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyLCBFc0NoYXJ0c01vZHVsZSwgRVNDX0RFQlVHX01PREUgfSBmcm9tIFwiQGVzZmFlbnphL2VzLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25zTW9kdWxlLCBFWFRfREVCVUdfTU9ERSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvbmd4LWNvbnRleHRtZW51XCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tICdAZXNmYWVuemEvbmd4LWRyYWd1bGEnO1xyXG5pbXBvcnQgeyBFc1RhYmxlTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy10YWJsZVwiO1xyXG5pbXBvcnQgeyBUQUJfREVCVUdfTU9ERSB9IGZyb20gXCJAZXNmYWVuemEvdGFiYmVyXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFQUEVycm9ySGFuZGxlciwgSFRUUFNlcnZpY2VFeHRlbnNpb25zLCBBcHBsaWNhdGlvblByZWZlcmVuY2VzUGVyc2lzdG9yLCBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yLCBTZXNzaW9uUmV0cmlldmVyLCBPdXRab25lRXZlbnRQbHVnaW4sIFRva2VuU2VydmljZSwgR2xvYmFsU2VhcmNoU2VydmljZSwgQ29tcGxldGVkSm9iUmVkaXJlY3Rpb25TZXJ2aWNlLCBNZW51RmlsdGVyaW5nU2VydmljZSwgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQgeyBQYWdlTm90Rm91bmRDb21wb25lbnQsIFNlcnZlckVycm9yQ29tcG9uZW50LCBBbmd1bGFyRXJyb3JDb21wb25lbnQsIEV4dGVybmFsUGFnZXNDb21wb25lbnQsIEphY2VMb2dpbkNvbXBvbmVudCwgUGFnZXNDb21wb25lbnQsIFJlZGlyZWN0ZXJDb21wb25lbnQsIENvbXBvbmVudHNNb2R1bGUsIFVzZXJJbmZvc0NvbXBvbmVudCB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSwgRW52T3B0aW9ucywgQWNjb3VudFNjb3BlLCBNRU5VLCBNRU5VX0xPQ0FMSVpBVElPTiwgUkVESVJFQ1RfTUFQLCBVU0VfRkFLRV9BQ0NFU1NfVE9LRU4sIE5BVkJBUl9FWFRFTlNJT05TLCBMT0dJTl9VUkxfTEVHQUNZLCBBTk9OWU1PVVNfTU9ERSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIlxyXG5pbXBvcnQgeyBST1VURSwgRU1CRURERURfUk9VVEUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCJcclxuaW1wb3J0IHsgVGVtcGxhdGVDb21tb24gfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvbW9kdWxlc1wiO1xyXG5cclxuLy8gUnhKc1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLy8gQm9vdHN0cmFwXHJcbmltcG9ydCB7IFByb2dyZXNzYmFyTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvcHJvZ3Jlc3NiYXJcIjtcclxuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3RpbWVwaWNrZXJcIjtcclxuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC90b29sdGlwXCI7XHJcbmltcG9ydCB7IE1vZGFsTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvbW9kYWxcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBBcHBDb21wb25lbnQgfSBmcm9tIFwiLi9hcHAuY29tcG9uZW50XCI7XHJcblxyXG4vLyBSZXBvc2l0b3JpZXNcclxuY29uc3QgR0VUX0phY2VfR2V0QWNjb3VudFNjb3BlOiBzdHJpbmcgPSBcIi9hcGkvSmFjZS9HZXRBY2NvdW50U2NvcGVcIjtcclxuY29uc3QgR0VUX0FwcENvbmZpZ19HZXRBcHBDb25maWc6IHN0cmluZyA9IFwiL2FwaS9BcHBDb25maWcvR2V0QXBwQ29uZmlnXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbmNvbnN0IGJhc2VBcHBSb3V0ZXM6IFJvdXRlcyA9IFtcclxuICAgIHsgcGF0aDogXCJcIiwgcmVkaXJlY3RUbzogXCJwYWdlcy97ZW1wdHlSb3V0ZVJlZGlyZWN0fVwiLCBwYXRoTWF0Y2g6IFwiZnVsbFwiIH0sXHJcbiAgICB7IHBhdGg6IEVNQkVEREVEX1JPVVRFLCBjb21wb25lbnQ6IEV4dGVybmFsUGFnZXNDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogUk9VVEUsIGNvbXBvbmVudDogUGFnZXNDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCJyZFwiLCBjb21wb25lbnQ6IFJlZGlyZWN0ZXJDb21wb25lbnQgfSxcclxuICAgIHsgcGF0aDogXCJyZC86dGVuYW50XCIsIGNvbXBvbmVudDogUmVkaXJlY3RlckNvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcImxvZ2luXCIsIGNvbXBvbmVudDogSmFjZUxvZ2luQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwiaXNlcnJcIiwgY29tcG9uZW50OiBTZXJ2ZXJFcnJvckNvbXBvbmVudCB9LFxyXG4gICAgeyBwYXRoOiBcImFuZXJyXCIsIGNvbXBvbmVudDogQW5ndWxhckVycm9yQ29tcG9uZW50IH0sXHJcbiAgICB7IHBhdGg6IFwiKipcIiwgY29tcG9uZW50OiBQYWdlTm90Rm91bmRDb21wb25lbnQgfSxcclxuXHJcbl07XHJcblxyXG5jb25zdCBNT0RVTEVTID0gW1xyXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgVGVtcGxhdGVDb21tb24sXHJcbiAgICBDb21wb25lbnRzTW9kdWxlLFxyXG5cclxuICAgIC8vIEF0dGVuemlvbmUgYSBsYXNjaWFybG8gYXR0aXZvIGluIG5nIHNlcnZlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy80NzQ1NVxyXG4gICAgU2VydmljZVdvcmtlck1vZHVsZS5yZWdpc3Rlcignbmdzdy13b3JrZXIuanMnLCB7IGVuYWJsZWQ6ICFpc0Rldk1vZGUoKSB9KSxcclxuICAgIFJvdXRlck1vZHVsZS5mb3JSb290KFtdLCB7IHVzZUhhc2g6IHRydWUsIHByZWxvYWRpbmdTdHJhdGVneTogTm9QcmVsb2FkaW5nLCBvblNhbWVVcmxOYXZpZ2F0aW9uOiBcInJlbG9hZFwiIH0pLFxyXG5cclxuICAgIC8vIEVTXHJcbiAgICBFc1RhYmxlTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUuZm9yUm9vdCh7IGFjb2N1c3RvbTogXCJPXCIsIHNsaWRlck1vZGU6IHRydWUgfSksXHJcbiAgICBFeHRlbnNpb25zTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIExvY2FsaXphdGlvbk1vZHVsZS5mb3JSb290KHsgbG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeTogTG9jYWxpemF0aW9uTWlzc2luZ1BvbGljeS5QcmludFNvdXJjZSwgZGVmYXVsdExvY2FsZTogJ2l0LUlUJyB9KSxcclxuICAgIEFjY2Vzc0NvbnRyb2xNb2R1bGUuZm9yUm9vdCh7IGNvbnRleHRBd2FyZUtleTogXCJPXCIsIGRlZmF1bHRDb25kaXRpb246ICcoUjpKYWNlIEFkbWluIHx8IFI6SmFjZSBTdXBwb3J0KScgfSksXHJcbiAgICBIdHRwc2VydmljZU1vZHVsZS5mb3JSb290KCksXHJcbiAgICBTaWduYWxyTm90aWZpY2F0aW9uc01vZHVsZS5mb3JSb290KHsgZW5kcG9pbnRVcmw6ICdub3RpZnknLCB1c2VNZXNzYWdlUGFjazogdHJ1ZSB9KSxcclxuICAgIFByZWZlcmVuY2VzTW9kdWxlLmZvclJvb3QoeyByZXRyaWV2ZUFsbEF0U3RhcnQ6IHRydWUsIHNlc3Npb25SZXRyaWV2ZXI6IFNlc3Npb25SZXRyaWV2ZXIsIHByZWZlcmVuY2VQZXJzaXN0b3I6IEFwcGxpY2F0aW9uUHJlZmVyZW5jZXNQZXJzaXN0b3IsIGNhY2hlUGVyc2lzdG9yOiBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIH0pLFxyXG4gICAgRXNDaGFydHNNb2R1bGUuZm9yUm9vdCgpLFxyXG5cclxuICAgIC8vIEJvb3RzdHJhcFxyXG4gICAgVG9vbHRpcE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBNb2RhbE1vZHVsZS5mb3JSb290KCksXHJcbiAgICBQcm9ncmVzc2Jhck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIFRvYXN0ck1vZHVsZS5mb3JSb290KCksXHJcbiAgICBUaW1lcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcclxuICAgIENvbnRleHRNZW51TW9kdWxlLmZvclJvb3QoKSxcclxuICAgIERyYWd1bGFNb2R1bGUuZm9yUm9vdCgpXHJcbl07XHJcblxyXG4vLyBHZW5lcmF0b3JlIGRlaSBmb3JtYXRpIGRhdGFcclxudmFyIGZvcm1hdHMgPSAoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcpID0+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgcGFyc2U6IHsgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScgKyAoc3R5bGUgPT09ICdsb25nJyA/ICcgSEg6bW06c3MnIDogJycpIH0sXHJcbiAgICAgICAgZGlzcGxheToge1xyXG4gICAgICAgICAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJyArIChzdHlsZSA9PT0gJ2xvbmcnID8gJyBISDptbTpzcycgOiAnJyksXHJcbiAgICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU0gWVlZWScsXHJcbiAgICAgICAgICAgIGRhdGVBMTF5TGFiZWw6ICdERC9NTS9ZWVlZJyArIChzdHlsZSA9PT0gJ2xvbmcnID8gJyBISDptbTpzcycgOiAnJyksXHJcbiAgICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NIFlZWVknLFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbn1cclxuXHJcbmNvbnN0IGxvY2FsZUZhY3RvcnkgPSAobG9jOiBMb2NhbGl6YXRpb25TZXJ2aWNlKSA9PiBsb2MuU21hbGxMb2NhbGU7XHJcblxyXG5jb25zdCBQUk9WSURFUlMgPSBbXHJcbiAgICBDb29raWVTZXJ2aWNlLFxyXG5cclxuICAgIC8vIFByb3ZpZGVycyBhcHBsaWNhdGl2aVxyXG4gICAgeyBwcm92aWRlOiBFcnJvckhhbmRsZXIsIHVzZUNsYXNzOiBBUFBFcnJvckhhbmRsZXIgfSxcclxuICAgIHsgcHJvdmlkZTogRVZFTlRfTUFOQUdFUl9QTFVHSU5TLCB1c2VFeGlzdGluZzogT3V0Wm9uZUV2ZW50UGx1Z2luLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiBIdHRwU2VydmljZUV4dGVuc2lvbnMsIHVzZUNsYXNzOiBIVFRQU2VydmljZUV4dGVuc2lvbnMgfSxcclxuXHJcbiAgICAvLyBMb2NhbGUgZSBnZXN0aW9uaSBkZWxsZSBkYXRlXHJcbiAgICB7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlRmFjdG9yeTogbG9jYWxlRmFjdG9yeSwgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlRmFjdG9yeTogbG9jYWxlRmFjdG9yeSwgZGVwczogW0xvY2FsaXphdGlvblNlcnZpY2VdIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzKCdzaG9ydCcpIH0sXHJcblxyXG4gICAgLy8gUXVlc3RpIGR1ZSBzb25vIHByb3ZpZGF0aSBkYWwgRm9ybXNBbmRWYWxpZGF0aW9uTW9kdWxlIHN0ZXNzbywgcGVyw7IgcXVlc3QndWx0aW1vIMOoIGRlZmluaXRvIGluIGZvclJvb3Qgc29sbyBsYXRvIGNvbXBvbmVudGkgc2hhcmVkLCBcclxuICAgIC8vIHF1aW5kaSBwZXIgcmVuZGVyZSBxdWVzdGkgcHJvdmlkZXIgZGlzcG9uaWJpbGkgYW5jaGUgYSBtb2R1bGkgZXN0ZXJuaSBkZXZvIHJpcHJvdmlkYXJsaSBhbmNoZSBxdWlcclxuICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzKCdsb25nJykgfSxcclxuICAgIHsgcHJvdmlkZTogTmd4TWF0RGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBOZ3hFeHBhbmRlZERheUpzRGF0ZUFkYXB0ZXIgfVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXHJcbiAgICBpbXBvcnRzOiBbLi4uTU9EVUxFU11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVzRmFlbnphQ29yZU1vZHVsZSB7XHJcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFc0ZhZW56YUNvcmVNb2R1bGVDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVzRmFlbnphQ29yZU1vZHVsZT4ge1xyXG4gICAgICAgIGlmIChjb25maWcucm91dGVzKSB7XHJcbiAgICAgICAgICAgIC8vIEFnZ2l1bnRhIGRlbGxhIHJvdXRlIGRpIGVtYmVkZGluZyBzZSBub24gZGljaGlhcmF0YSwgbGF0byBhZ2dpdW50YSBmYWNjaW8gaW4gbW9kbyBjaGUgbCdlbWJlZGRpbmcgc2lhIGRpc3BvbmliaWxlIHNvbG8gZGEgcm91dGUgaW50ZXJuZSAocGFnZXMgT0ssIHBhZ2VzX2V4dCBOT04gT0spXHJcbiAgICAgICAgICAgIGlmICghY29uZmlnLnJvdXRlcy5maW5kKHQgPT4gdC5wYXRoLnN0YXJ0c1dpdGgoXCJlbWJlZFwiKSkpXHJcbiAgICAgICAgICAgICAgICBjb25maWcucm91dGVzID0gWy4uLmNvbmZpZy5yb3V0ZXMsIHsgcGF0aDogXCJlbWJlZC86bW9kdWxlXCIsIGxvYWRDaGlsZHJlbjogKCkgPT4gaW1wb3J0KCdAZXNmYWVuemEvY29yZS9tb2R1bGVzJykudGhlbihtID0+IG0uRW1iZWRkaW5nTW9kdWxlKSB9XVxyXG5cclxuICAgICAgICAgICAgYmFzZUFwcFJvdXRlc1swXS5yZWRpcmVjdFRvID0gW1wicGFnZXNcIiwgXCJwYWdlc19leHRcIl0ubWFwKHQgPT4gKGNvbmZpZy5lbXB0eVJvdXRlUmVkaXJlY3QgfHwgJycpLnN0YXJ0c1dpdGgodCkpLnNvbWUodCA9PiAhIXQpID8gXCIvXCIgKyBjb25maWcuZW1wdHlSb3V0ZVJlZGlyZWN0IDogIGBwYWdlcy8ke2NvbmZpZy5lbXB0eVJvdXRlUmVkaXJlY3QgfHwgJ2Rhc2hib2FyZCd9YDtcclxuICAgICAgICAgICAgYmFzZUFwcFJvdXRlcy5maWx0ZXIodCA9PiBbXCJwYWdlc1wiLCBcInBhZ2VzX2V4dFwiXS5pbmNsdWRlcyh0LnBhdGgpKS5mb3JFYWNoKHBhdGggPT4ge1xyXG4gICAgICAgICAgICAgICAgcGF0aC5jaGlsZHJlbiA9IFtcclxuICAgICAgICAgICAgICAgICAgICB7IHBhdGg6IFwicHJvZmlsZVwiLCBjb21wb25lbnQ6IFVzZXJJbmZvc0NvbXBvbmVudCwgZGF0YTogeyBJbnRlcm5hbE5hdmlnYXRpb246IHRydWUsIHRpdGxlOiBcInByb2ZpbG9cIiB9IH0sXHJcbiAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLnJvdXRlcy5maWx0ZXIociA9PiAhcGF0aC5wYXRoLmluY2x1ZGVzKFwicGFnZXNfZXh0XCIpIHx8ICFyLnBhdGguc3RhcnRzV2l0aChcImVtYmVkXCIpKVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbmZpZy5kZWJ1Z01vZGUgPSAoIWlzRGV2TW9kZSgpICYmICFjb25maWcuZm9yY2VEZWJ1Z01vZGVGb3JQcm9kQnVpbGRzKSA/IERlYnVnRmxhZ3MuTm9uZSA6IChjb25maWcuZGVidWdNb2RlIHx8IERlYnVnRmxhZ3MuQWxsKTtcclxuXHJcbiAgICAgICAgbGV0IG1lcmdlZEFwcEluaXRpYWxpemVyID0gKGh0dHA6IEhUVFBTZXJ2aWNlLCBidHM6IFRva2VuU2VydmljZSwgYWFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgbG9jOiBCYXNlTG9jYWxpemF0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmFub255bW91c01vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIiVjW0FQUF9JTklUSUFMSVpFUl0gTG9hZGluZyBBcHBDb25maWcuLi5cIiwgXCJiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3dcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0dHAuZ2V0PEVudk9wdGlvbnM+KEdFVF9BcHBDb25maWdfR2V0QXBwQ29uZmlnLCBudWxsLCBudWxsLCBmYWxzZSkucGlwZShjYXRjaEVycm9yKF8gPT4gb2Yoe30pKSkucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKChhcHBDb25maWc6IEVudk9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG15Y29uZmlnID0gYXBwQ29uZmlnO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiJWNbQVBQX0lOSVRJQUxJWkVSXSBhcHBDb25maWcgcmVnaXN0ZXJlZFwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFhYy5pbml0aWFsaXplSWRlbnRpdHkobnVsbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5pbml0aWFsaXplckZ1bmN0aW9uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiJWNbQVBQX0lOSVRJQUxJWkVSXSBMb2FkaW5nIGN1c3RvbSBhcHBsaWNhdGlvbiBpbml0aWFsaXphdGlvblwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25maWcuaW5pdGlhbGl6ZXJGdW5jdGlvbihodHRwLCBidHMsIGFhYykoKS5waXBlKHRhcChfID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIiVjW0FQUF9JTklUSUFMSVpFUl0gSW5pdGlhbGl6YXRpb24gaXMgb3ZlclwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiJWNbQVBQX0lOSVRJQUxJWkVSXSBMb2FkaW5nIEFwcENvbmZpZyBhbmQgQWNjb3VudCBTY29wZS4uLlwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgIGxldCByZWFsT2JzZXJ2YWJsZSA9IGZvcmtKb2luKFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwQ29uZmlnOiBodHRwLmdldDxFbnZPcHRpb25zPihHRVRfQXBwQ29uZmlnX0dldEFwcENvbmZpZywgbnVsbCwgbnVsbCwgZmFsc2UpLnBpcGUoY2F0Y2hFcnJvcihfID0+IG9mKHt9KSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogaHR0cC5nZXQ8QWNjb3VudFNjb3BlPihHRVRfSmFjZV9HZXRBY2NvdW50U2NvcGUsIG51bGwsIG51bGwsIGZhbHNlKS5waXBlKGNhdGNoRXJyb3IoXyA9PiBvZihudWxsKSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IGxvYy5Mb2NhbGUucGlwZSh0YWtlKDEpLCBjYXRjaEVycm9yKF8gPT4gb2YoJ2l0LUlUJykpKSxcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICBsZXQgdXNlZE9ic2VydmFibGUgPSBjb25maWcub3B0aW9uc0FuZFNjb3BlUHJvdmlkZXIgfHwgcmVhbE9ic2VydmFibGU7XHJcblxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZWRPYnNlcnZhYmxlLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXM6IHsgYXBwQ29uZmlnOiBFbnZPcHRpb25zLCBzY29wZTogQWNjb3VudFNjb3BlLCBsb2NhbGU6IHN0cmluZyB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG15Y29uZmlnID0gcmVzLmFwcENvbmZpZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaHR0cC5zZXRBcHBDb25maWcobXljb25maWcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBMJ2FjY291bnQgc2NvcGUgbG8gcHJlbmRvIGRhbGxhIFF1ZXJ5IGEgYmFja2VuZCBzb2xvIHNlIG5vbiB1c28gaWwgRmFrZSB0b2tlblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJ0cy5VU0VfRkFLRV9BQ0NFU1NfVE9LRU4pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidHMuYWNjb3VudFNjb3BlID0gcmVzLnNjb3BlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIGFwcENvbmZpZyBhbmQgc2NvcGUgcmVnaXN0ZXJlZFwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpZGVudHRpdHkgPSBidHMuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChidHMuYWNjb3VudFNjb3BlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWFjLmluaXRpYWxpemVJZGVudGl0eShpZGVudHRpdHkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChfID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25maWcuaW5pdGlhbGl6ZXJGdW5jdGlvbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZigpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCIlY1tBUFBfSU5JVElBTElaRVJdIExvYWRpbmcgY3VzdG9tIGFwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uXCIsIFwiYmFja2dyb3VuZC1jb2xvcjogeWVsbG93XCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uZmlnLmluaXRpYWxpemVyRnVuY3Rpb24oaHR0cCwgYnRzLCBhYWMpKCkucGlwZSh0YXAoXyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIiVjW0FQUF9JTklUSUFMSVpFUl0gSW5pdGlhbGl6YXRpb24gaXMgb3ZlclwiLCBcImJhY2tncm91bmQtY29sb3I6IHllbGxvd1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IEVzRmFlbnphQ29yZU1vZHVsZSxcclxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgICAgICAgICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKiogUHJvdmlkZXIgc3RhdGljaSAqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHJcbiAgICAgICAgICAgICAgICAuLi5QUk9WSURFUlMsXHJcblxyXG4gICAgICAgICAgICAgICAgLy8gKioqKioqKioqKioqKioqKioqKioqKioqIFByb3ZpZGVyIGN1c3RvbWl6emFiaWxpICoqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICAgICAgLi4uKCFjb25maWcucmVkaXJlY3Rpb25NYXAgPyBbXSA6IFt7IHByb3ZpZGU6IFJFRElSRUNUX01BUCwgdXNlVmFsdWU6IGNvbmZpZy5yZWRpcmVjdGlvbk1hcCB9XSksXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogbWVyZ2VkQXBwSW5pdGlhbGl6ZXIsIGRlcHM6IFtIVFRQU2VydmljZSwgVG9rZW5TZXJ2aWNlLCBBY2Nlc3NDb250cm9sU2VydmljZSwgQmFzZUxvY2FsaXphdGlvbl0sIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFJPVVRFUywgdXNlVmFsdWU6IGJhc2VBcHBSb3V0ZXMsIG11bHRpOiB0cnVlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExPQ19ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5Mb2NhbGl6YXRpb25zKSA9PSBEZWJ1Z0ZsYWdzLkxvY2FsaXphdGlvbnMgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBFWFRfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuRXh0ZW5zaW9ucykgPT0gRGVidWdGbGFncy5FeHRlbnNpb25zIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQUNDX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkFjY2Vzc0NvbnRyb2wpID09IERlYnVnRmxhZ3MuQWNjZXNzQ29udHJvbCA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEhUVFBfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuSHR0cCkgPT0gRGVidWdGbGFncy5IdHRwIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogSFRUUF9JTlZBTElEQVRJT04sIHVzZVZhbHVlOiBjb25maWc/Lmh0dHBJbnZhbGlkYXRpb25DYWNoZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBUQUJfREVCVUdfTU9ERSwgdXNlVmFsdWU6IGNvbmZpZy5kZWJ1Z01vZGUgPyAoY29uZmlnLmRlYnVnTW9kZSAmIERlYnVnRmxhZ3MuVGFiYmVyKSA9PSBEZWJ1Z0ZsYWdzLlRhYmJlciA6IGZhbHNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFNHUl9ERUJVR19NT0RFLCB1c2VWYWx1ZTogY29uZmlnLmRlYnVnTW9kZSA/IChjb25maWcuZGVidWdNb2RlICYgRGVidWdGbGFncy5TaWduYWxSKSA9PSBEZWJ1Z0ZsYWdzLlNpZ25hbFIgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBQUkVGX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLlByZWZlcmVuY2VzKSA9PSBEZWJ1Z0ZsYWdzLlByZWZlcmVuY2VzIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRVNDX0RFQlVHX01PREUsIHVzZVZhbHVlOiBjb25maWcuZGVidWdNb2RlID8gKGNvbmZpZy5kZWJ1Z01vZGUgJiBEZWJ1Z0ZsYWdzLkNoYXJ0cykgPT0gRGVidWdGbGFncy5DaGFydHMgOiBmYWxzZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMT0dJTl9VUkxfTEVHQUNZLCB1c2VWYWx1ZTogY29uZmlnLmxlZ2FjeUxvZ2luICE9PSBudWxsICYmIGNvbmZpZy5sZWdhY3lMb2dpbiAhPT0gdW5kZWZpbmVkID8gY29uZmlnLmxlZ2FjeUxvZ2luIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTkFWQkFSX0VYVEVOU0lPTlMsIHVzZVZhbHVlOiBjb25maWcubmF2YmFyRXh0ZW5zaW9ucyA/IGNvbmZpZy5uYXZiYXJFeHRlbnNpb25zIDogW10gfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQU5PTllNT1VTX01PREUsIHVzZVZhbHVlOiBjb25maWcuYW5vbnltb3VzTW9kZSA/IGNvbmZpZy5hbm9ueW1vdXNNb2RlIDogZmFsc2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQmFzZUFkYXB0ZXIsIHVzZUNsYXNzOiBjb25maWc/LmNoYXJ0c0FkYXB0ZXIgfHwgQmFzZUFkYXB0ZXIgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQmFzZU1lc3NhZ2VTZXJ2aWNlLCB1c2VDbGFzczogY29uZmlnPy5tZXNzYWdlU2VydmljZSB8fCBCYXNlTWVzc2FnZVNlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogR2xvYmFsU2VhcmNoU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8uZ2xvYmFsU2VhcmNoU2VydmljZSB8fCBHbG9iYWxTZWFyY2hTZXJ2aWNlIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8uY29tcGxldGVkSm9iUmVkaXJlY3Rpb25TZXJ2aWNlIHx8IENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBNZW51RmlsdGVyaW5nU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8ubWVudUZpbHRlcmluZ1NlcnZpY2UgfHwgTWVudUZpbHRlcmluZ1NlcnZpY2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogVXNlclByZWZlcmVuY2VzU2VydmljZSwgdXNlQ2xhc3M6IGNvbmZpZz8udXNlclByZWZlcmVuY2VzUHJvdmlkZXIgfHwgVXNlclByZWZlcmVuY2VzU2VydmljZSB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBNRU5VX0xPQ0FMSVpBVElPTiwgdXNlVmFsdWU6IGNvbmZpZy5tZW51TG9jIHx8IG51bGwgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTUVOVSwgdXNlVmFsdWU6IGNvbmZpZy5tZW51IH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFVTRV9GQUtFX0FDQ0VTU19UT0tFTiwgdXNlVmFsdWU6ICEhY29uZmlnLmZha2VBY2Nlc3NUb2tlbiB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBQcmVmZXJlbmNlc1BlcnNpc3RvciwgdXNlQ2xhc3M6IGNvbmZpZy5mYWtlQWNjZXNzVG9rZW4gPyBMb2NhbFN0b3JhZ2VQcmVmZXJlbmNlc1BlcnNpc3RvciA6IEFwcGxpY2F0aW9uUHJlZmVyZW5jZXNQZXJzaXN0b3IgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogQ2FjaGVQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWcuZmFrZUFjY2Vzc1Rva2VuID8gTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgOiBBcHBsaWNhdGlvbkNhY2hlUGVyc2lzdG9yIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFc0ZhZW56YUNvcmVNb2R1bGVDb25maWcge1xyXG4gICAgLyogUm91dGUgYXBwbGljYXRpdmUsIHNvbG8gcXVlbGxlIGRlbnRybyBhICoqcGFnZXMqKiAqL1xyXG4gICAgcm91dGVzITogUm91dGVzO1xyXG4gICAgLyogTWVuw7kgZGVsbGEgc2lkZWJhciBkZWxsJ2FwcGxpY2F6aW9uZSAqL1xyXG4gICAgbWVudTogQXBwbGljYXRpb25NZW51W107XHJcbiAgICAvKiBJbmRpY2Egc2UgdXRpbGl6emFyZSBsJ2FjY2VzcyB0b2tlbiBmaW50byAqL1xyXG4gICAgZmFrZUFjY2Vzc1Rva2VuPzogYm9vbGVhbjtcclxuICAgIC8qIFRpcG8gZGEgdXNhcmUgcGVyIGdlbmVyYXJlIGxlIGxvY2FsaXp6YWl6b25pIGRlbCBtZW7DuSAqL1xyXG4gICAgbWVudUxvYz86IFR5cGU8TG9jYWxpemF0aW9uU2VydmljZT47XHJcbiAgICAvKiBSZWRpcmVjdCBwZXIgbGEgcm9vdCBkZWxsJ2FwcGxpY2F6aW9uZSwgZGkgZGVmYXVsdCDDqCBpbXBvc3RhdG8gYSAqKmRhc2hib2FyZCoqLiBTZSBhbGwnaW50ZXJubyBkZWxsZSAqKnJvdXRlcyoqIG5vbiBlc2lzdGUgbGEgcm91dGUgKipkYXNoYm9hcmQqKiDDqCBkYSBpbXBvc3RhcmUgYWRlZ3VhdGFtZW50ZSAqL1xyXG4gICAgZW1wdHlSb3V0ZVJlZGlyZWN0Pzogc3RyaW5nO1xyXG4gICAgLyogU2Ugbm9uIHNwZWNpZmljYXRhIHZpZW5lIGltcG9zdGF0YSBhdXRvbWF0aWNhbWVudGUgYWQgXCJBbGxcIiBpbiBmYXNlIGRpIGRlYnVnLCBcIk5vbmVcIiBpbiBwcm9kdXppb25lIChxdWVzdCd1bHRpbW8gYSBwcmVzY2luZGVyZSwgYSBtZW5vIGNoZSAqKmZvcmNlRGVidWdNb2RlRm9yUHJvZEJ1aWxkcyoqIG5vbiBzaWEgdHJ1ZSkqL1xyXG4gICAgZGVidWdNb2RlPzogRGVidWdGbGFncztcclxuICAgIC8qIFBlcm1ldHRlIGRpIGZvcnphcmUgbGEgbW9kYWxpdMOgIGRpIGRlYnVnIHNwZWNpZmljYXRhIGFuY2hlIHBlciBsZSBidWlsZCBkaSBwcm9kdXppb25lLCAqKk5PTiBJTVBPU1RBUkUgQSBUUlVFKiogYSBtZW5vIGRpIHJhcmlzc2ltaXNzaW1pc3NpbWkgY2FzaSAqL1xyXG4gICAgZm9yY2VEZWJ1Z01vZGVGb3JQcm9kQnVpbGRzPzogYm9vbGVhbjtcclxuICAgIC8qIENhY2hlIGRpIGludmFsaWRhemlvbmUgcGVyIGxlIGNoaWFtYXRlIGh0dHAgKi9cclxuICAgIGh0dHBJbnZhbGlkYXRpb25DYWNoZT86IGFueTtcclxuICAgIC8qIEZ1bnppb25lIGRpIGluaXppYWxpenphemlvbmUgQVBQX0lOSVRJQUxJWkVSLWxpa2UgY2hlIHZpZW5lIHJpY2hpYW1hdGEgZG9wbyBhbGxhIGZ1bnppb25lIGRpIGluaXppYWxpenphemlvbmUgZGkgZGVmYXVsdCAqL1xyXG4gICAgaW5pdGlhbGl6ZXJGdW5jdGlvbj86IChodHRwOiBIVFRQU2VydmljZSwgYnRzOiBUb2tlblNlcnZpY2UsIGFhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UpID0+ICgpID0+IE9ic2VydmFibGU8YW55PjtcclxuICAgIC8qIE1hcHBhIGRpIHJlZGlyZWN0IHBlciBwZXJtZXR0ZXJlIGFsICoqUmVkaXJlY3RlckNvbXBvbmVudCoqIGRpIHNhcGVyZSBkb3ZlIG5hdmlnYXJlIGluIGJhc2UgYSBPZ2dldHRvLVBhcmFtZXRyaSAqL1xyXG4gICAgcmVkaXJlY3Rpb25NYXA/OiB7IFtpbmRleDogc3RyaW5nXTogeyB1cmw6IHN0cmluZywgcGFyYW1zOiBzdHJpbmdbXSB9IH07XHJcbiAgICAvKiBBZGF0dGF0b3JlIGRlaSBncmFmaWNpIG5lbCBjYXNvIHVuIHByb2dldHRvIGZvc3NlIHZlY2NoaW8gKFJpbXVvdmliaWxlIHF1YW5kbyB0dXR0aSBpIHByb2dldHRpIHVzYW5vIG5hdGl2YW1lbnRlIGVzLWNoYXJ0cykgKi9cclxuICAgIGNoYXJ0c0FkYXB0ZXI/OiBUeXBlPEJhc2VBZGFwdGVyPjtcclxuICAgIC8qIFNlcnZpemlvIGNoZSBlc3BvbmUgaSBtZXNzYWdnaSBkaXNwb25pYmlsaSBzdSBTaWduYWxyICovXHJcbiAgICBtZXNzYWdlU2VydmljZT86IFR5cGU8QmFzZU1lc3NhZ2VTZXJ2aWNlPjtcclxuICAgIC8qIFNlcnZpemlvIHBlciBsYSBzZWFyY2ggZ2xvYmFsZSBkZWwgbW9kdWxvICovXHJcbiAgICBnbG9iYWxTZWFyY2hTZXJ2aWNlPzogVHlwZTxHbG9iYWxTZWFyY2hTZXJ2aWNlPjtcclxuICAgIC8qIFNlcnZpemlvIHBlciBmaWx0cmFyZSBsZSB2b2NpIGRpIG1lbsO5ICovXHJcbiAgICBtZW51RmlsdGVyaW5nU2VydmljZT86IFR5cGU8TWVudUZpbHRlcmluZ1NlcnZpY2U+O1xyXG4gICAgLyogU2Vydml6aW8gZGkgcmlkaXJlemlvbmUgcGVyIGpvYiBjb21wbGV0YXRpICovXHJcbiAgICBjb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2U/OiBUeXBlPENvbXBsZXRlZEpvYlJlZGlyZWN0aW9uU2VydmljZT47XHJcbiAgICAvKiBGdW56aW9uZSBkaSBvdmVycmlkZSBwZXIgcmVjdXBlcmFyZSBhY2NvdW50IHNjb3BlIGUgZW52b3B0aW9ucy4gUHXDsiBhbmNoZSBlc3NlcmUgdXRpbGl6emF0YSBwZXIgZm9ybmlyZSBtb2RlbGxpIGZpbnRpIGZpbm8gYWQgaW1wbGVtZW50YXppb25lICovXHJcbiAgICBvcHRpb25zQW5kU2NvcGVQcm92aWRlcj86IE9ic2VydmFibGU8eyBhcHBDb25maWc6IEVudk9wdGlvbnMsIHNjb3BlOiBBY2NvdW50U2NvcGUsIGxvY2FsZTogc3RyaW5nIH0+O1xyXG4gICAgLyogTGlzdGEgZGVpIGNvbXBvbmVudGkgY29uIGN1aSBlc3BhbmRlcmUgbGEgbmF2YmFyICovXHJcbiAgICBuYXZiYXJFeHRlbnNpb25zPzogVHlwZTxhbnk+W107XHJcbiAgICAvKiBTZXJ2aXppbyBkaSByZWN1cGVyby9tb2RpZmljYSBwcmVmZXJlbnplIHV0ZW50ZSAqL1xyXG4gICAgdXNlclByZWZlcmVuY2VzUHJvdmlkZXI/OiBUeXBlPFVzZXJQcmVmZXJlbmNlc1NlcnZpY2U+O1xyXG4gICAgLyogaWRlbnRpZmljYSBzZSB1dGlsaXp6YXJlIGxhIHZlcnNpb25lIHZlY2NoaWEgZGVsbCd1cmwgZGkgYXV0aCAoJHtteWNvbmZpZy5BVVRIX1VSTH0vbG9naW4vZm9ybT9jbGllbnQ9JHtteWNvbmZpZy5DTElFTlRfTkFNRX0pIGludmVjZSBjaGUgbGEgbnVvdmEgKCR7bXljb25maWcuQVVUSF9VUkx9L2xvZ2luO2NsaWVudD0ke215Y29uZmlnLkNMSUVOVF9OQU1FfSkgKi9cclxuICAgIGxlZ2FjeUxvZ2luPzogYm9vbGVhbjtcclxuICAgIC8qIEluZGljYSBzZSBpbCBzZXJ2aXppbyBkaSBhdXRlbnRpY2F6aW9uZSBkZXZlIGZ1bnppb25hcmUgaW4gYW5vbmltbyBsYXRvIEZyb250ZW5kLiBEZXYnZXNzZXJlIHV0aWxpenphdG8gaW5zaWVtZSBhbCB0YWcgXCJBdXRoXCIgaW4gY29kZSBiZWhpbmQgKi9cclxuICAgIGFub255bW91c01vZGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBEZWJ1Z0ZsYWdzIHtcclxuICAgIE5vbmUgPSAwLFxyXG4gICAgTG9jYWxpemF0aW9ucyA9IDEgPDwgMCxcclxuICAgIEV4dGVuc2lvbnMgPSAxIDw8IDEsXHJcbiAgICBBY2Nlc3NDb250cm9sID0gMSA8PCAyLFxyXG4gICAgSHR0cCA9IDEgPDwgMyxcclxuICAgIFNpZ25hbFIgPSAxIDw8IDQsXHJcbiAgICBQcmVmZXJlbmNlcyA9IDEgPDwgNSxcclxuICAgIENoYXJ0cyA9IDEgPDwgNixcclxuICAgIFRhYmJlciA9IDEgPDwgNyxcclxuICAgIEFsbCA9IH4ofjAgPDwgOClcclxufSJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Router, RoutesRecognized } from "@angular/router";
|
|
2
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
-
// RxJs
|
|
4
|
-
import { filter, take } from "rxjs/operators";
|
|
5
|
-
// Application
|
|
6
|
-
import { AppState } from "@esfaenza/core/services";
|
|
7
|
-
export class BaseLazyModule {
|
|
8
|
-
constructor(injector) {
|
|
9
|
-
let _state = injector.get(AppState);
|
|
10
|
-
let router = injector.get(Router);
|
|
11
|
-
let moduleLoc = injector.get(LocalizationService, null, { optional: true });
|
|
12
|
-
if (!moduleLoc)
|
|
13
|
-
return;
|
|
14
|
-
router.events.pipe(filter(event => event instanceof RoutesRecognized), take(1))
|
|
15
|
-
.subscribe((route) => {
|
|
16
|
-
/*
|
|
17
|
-
* Router State
|
|
18
|
-
* V
|
|
19
|
-
* Root ("#")
|
|
20
|
-
* firstChild (url: [{path: "pages" | "pages_ext"}])
|
|
21
|
-
* firstChild (url: [{path: "{modulo}"}])
|
|
22
|
-
*
|
|
23
|
-
* Attenzione: Se la prima navigazione avviene verso una pagina non applicativa (pagina di errore ecc) devo ignorare il caricamento della localizzazione
|
|
24
|
-
* Sinceramente non pensavo che in quel caso sarebbe stato caricato un modulo lazy, ma tant'è
|
|
25
|
-
*/
|
|
26
|
-
let modulePath = route.state.root.firstChild?.firstChild?.url?.[0]?.path;
|
|
27
|
-
if (modulePath)
|
|
28
|
-
_state.ModulesLocalizations[modulePath] = moduleLoc;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2Jhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9tb2R1bGVzL3NyYy9jbGFzc2VzL19iYXNlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTztBQUNQLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsY0FBYztBQUNkLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRCxNQUFNLE9BQU8sY0FBYztJQUN2QixZQUFZLFFBQWtCO1FBQzFCLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsSUFBSSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyxTQUFTO1lBQ1YsT0FBTztRQUVYLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxRSxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUU7WUFDbkM7Ozs7Ozs7OztlQVNHO1lBQ0gsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7WUFDekUsSUFBSSxVQUFVO2dCQUNWLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXNSZWNvZ25pemVkIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcblxyXG4vLyBSeEpzXHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQXBwbGljYXRpb25cclxuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlTGF6eU1vZHVsZSB7XHJcbiAgICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgICAgICBsZXQgX3N0YXRlID0gaW5qZWN0b3IuZ2V0KEFwcFN0YXRlKTtcclxuICAgICAgICBsZXQgcm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcbiAgICAgICAgbGV0IG1vZHVsZUxvYyA9IGluamVjdG9yLmdldChMb2NhbGl6YXRpb25TZXJ2aWNlLCBudWxsLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xyXG5cclxuICAgICAgICBpZiAoIW1vZHVsZUxvYylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgUm91dGVzUmVjb2duaXplZCksIHRha2UoMSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJvdXRlOiBSb3V0ZXNSZWNvZ25pemVkKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICogIFJvdXRlciBTdGF0ZVxyXG4gICAgICAgICAgICAgICAgICogICAgICBWXHJcbiAgICAgICAgICAgICAgICAgKiAgUm9vdCAoXCIjXCIpXHJcbiAgICAgICAgICAgICAgICAgKiAgICAgIGZpcnN0Q2hpbGQgKHVybDogW3twYXRoOiBcInBhZ2VzXCIgfCBcInBhZ2VzX2V4dFwifV0pXHJcbiAgICAgICAgICAgICAgICAgKiAgICAgICAgICBmaXJzdENoaWxkICh1cmw6IFt7cGF0aDogXCJ7bW9kdWxvfVwifV0pXHJcbiAgICAgICAgICAgICAgICAgKiBcclxuICAgICAgICAgICAgICAgICAqIEF0dGVuemlvbmU6IFNlIGxhIHByaW1hIG5hdmlnYXppb25lIGF2dmllbmUgdmVyc28gdW5hIHBhZ2luYSBub24gYXBwbGljYXRpdmEgKHBhZ2luYSBkaSBlcnJvcmUgZWNjKSBkZXZvIGlnbm9yYXJlIGlsIGNhcmljYW1lbnRvIGRlbGxhIGxvY2FsaXp6YXppb25lXHJcbiAgICAgICAgICAgICAgICAgKiBTaW5jZXJhbWVudGUgbm9uIHBlbnNhdm8gY2hlIGluIHF1ZWwgY2FzbyBzYXJlYmJlIHN0YXRvIGNhcmljYXRvIHVuIG1vZHVsbyBsYXp5LCBtYSB0YW50J8OoXHJcbiAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgIGxldCBtb2R1bGVQYXRoID0gcm91dGUuc3RhdGUucm9vdC5maXJzdENoaWxkPy5maXJzdENoaWxkPy51cmw/LlswXT8ucGF0aDtcclxuICAgICAgICAgICAgICAgIGlmIChtb2R1bGVQYXRoKVxyXG4gICAgICAgICAgICAgICAgICAgIF9zdGF0ZS5Nb2R1bGVzTG9jYWxpemF0aW9uc1ttb2R1bGVQYXRoXSA9IG1vZHVsZUxvYztcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
//Angular
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { RouterModule } from "@angular/router";
|
|
4
|
-
import { BaseLazyModule } from "./_base.module";
|
|
5
|
-
import { TemplateCommon } from "./t_c.module";
|
|
6
|
-
import { EmbeddingComponent } from "@esfaenza/core/components";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/router";
|
|
9
|
-
const routes = [
|
|
10
|
-
{
|
|
11
|
-
path: "",
|
|
12
|
-
children: [
|
|
13
|
-
{ path: "**", component: EmbeddingComponent, data: null },
|
|
14
|
-
]
|
|
15
|
-
}
|
|
16
|
-
];
|
|
17
|
-
export class EmbeddingModule extends BaseLazyModule {
|
|
18
|
-
constructor(injector) { super(injector); }
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmbeddingModule, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EmbeddingModule, imports: [TemplateCommon, i1.RouterModule] }); }
|
|
21
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmbeddingModule, imports: [TemplateCommon, RouterModule.forChild(routes)] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EmbeddingModule, decorators: [{
|
|
24
|
-
type: NgModule,
|
|
25
|
-
args: [{ imports: [TemplateCommon, RouterModule.forChild(routes)] }]
|
|
26
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2VtYmVkZGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL21vZHVsZXMvc3JjL2NsYXNzZXMvX2VtYmVkZGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULE9BQU8sRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFL0QsTUFBTSxNQUFNLEdBQUc7SUFDWDtRQUNJLElBQUksRUFBRSxFQUFFO1FBQ1IsUUFBUSxFQUFFO1lBQ04sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO1NBQzVEO0tBQ0o7Q0FDSixDQUFBO0FBR0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQUFHLFlBQVksUUFBa0IsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDOytHQUE3RixlQUFlO2dIQUFmLGVBQWUsWUFETixjQUFjO2dIQUN2QixlQUFlLFlBRE4sY0FBYyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDOzs0RkFDdEQsZUFBZTtrQkFEM0IsUUFBUTttQkFBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0b3IsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuXHJcbmltcG9ydCB7IEJhc2VMYXp5TW9kdWxlIH0gZnJvbSBcIi4vX2Jhc2UubW9kdWxlXCI7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29tbW9uIH0gZnJvbSBcIi4vdF9jLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBFbWJlZGRpbmdDb21wb25lbnQgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvY29tcG9uZW50c1wiO1xyXG5cclxuY29uc3Qgcm91dGVzID0gW1xyXG4gICAge1xyXG4gICAgICAgIHBhdGg6IFwiXCIsXHJcbiAgICAgICAgY2hpbGRyZW46IFtcclxuICAgICAgICAgICAgeyBwYXRoOiBcIioqXCIsIGNvbXBvbmVudDogRW1iZWRkaW5nQ29tcG9uZW50LCBkYXRhOiBudWxsIH0sXHJcbiAgICAgICAgXVxyXG4gICAgfVxyXG5dXHJcblxyXG5ATmdNb2R1bGUoeyBpbXBvcnRzOiBbVGVtcGxhdGVDb21tb24sIFJvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSB9KVxyXG5leHBvcnQgY2xhc3MgRW1iZWRkaW5nTW9kdWxlIGV4dGVuZHMgQmFzZUxhenlNb2R1bGUgeyBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHsgc3VwZXIoaW5qZWN0b3IpOyB9IH0iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { AccessControlModule } from "@esfaenza/access-control";
|
|
4
|
-
import { EsCronModule } from "@esfaenza/cron";
|
|
5
|
-
import { EsChartsModule } from "@esfaenza/es-charts";
|
|
6
|
-
import { EsTableModule } from "@esfaenza/es-table";
|
|
7
|
-
import { ExtensionsModule } from "@esfaenza/extensions";
|
|
8
|
-
import { FormsAndValidationsModule } from "@esfaenza/forms-and-validations";
|
|
9
|
-
import { UtilityComponentsModule } from "@esfaenza/utility-components";
|
|
10
|
-
import { EsGertrudeModule } from "@esfaenza/gertrude";
|
|
11
|
-
import { LocalizationModule } from "@esfaenza/localizations";
|
|
12
|
-
import { EsMatrixValuesModule } from "@esfaenza/matrix-values";
|
|
13
|
-
import { ContextMenuModule } from "@esfaenza/ngx-contextmenu";
|
|
14
|
-
import { CurrencyMaskModule } from "@esfaenza/ngx-currency-mask";
|
|
15
|
-
import { DragulaModule } from "@esfaenza/ngx-dragula";
|
|
16
|
-
import { EsParametersModule } from "@esfaenza/parameters";
|
|
17
|
-
import { EsQueryBuilderModule } from "@esfaenza/query-builder";
|
|
18
|
-
import { EsTagChooserModule } from "@esfaenza/tag-chooser";
|
|
19
|
-
import { EsWizardModule } from "@esfaenza/wizard";
|
|
20
|
-
import { BsDropdownModule } from "ngx-bootstrap/dropdown";
|
|
21
|
-
import { ProgressbarModule } from "ngx-bootstrap/progressbar";
|
|
22
|
-
import { TimepickerModule } from "ngx-bootstrap/timepicker";
|
|
23
|
-
import { TooltipModule } from "ngx-bootstrap/tooltip";
|
|
24
|
-
import { TabberModule } from "@esfaenza/tabber";
|
|
25
|
-
import { ComponentsModule } from "@esfaenza/core/components";
|
|
26
|
-
import * as i0 from "@angular/core";
|
|
27
|
-
const MODULES_TO_EXPORT = [
|
|
28
|
-
ContextMenuModule, TabberModule, ComponentsModule,
|
|
29
|
-
TimepickerModule, BsDropdownModule, TooltipModule, ProgressbarModule, DragulaModule, LocalizationModule, ExtensionsModule, AccessControlModule, EsChartsModule, UtilityComponentsModule,
|
|
30
|
-
EsWizardModule, EsCronModule, EsGertrudeModule, EsMatrixValuesModule, EsTagChooserModule, EsQueryBuilderModule, EsParametersModule, CurrencyMaskModule, FormsAndValidationsModule, EsTableModule
|
|
31
|
-
];
|
|
32
|
-
export class SharedCommon {
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SharedCommon, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
34
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SharedCommon, imports: [ContextMenuModule, TabberModule, ComponentsModule,
|
|
35
|
-
TimepickerModule, BsDropdownModule, TooltipModule, ProgressbarModule, DragulaModule, LocalizationModule, ExtensionsModule, AccessControlModule, EsChartsModule, UtilityComponentsModule,
|
|
36
|
-
EsWizardModule, EsCronModule, EsGertrudeModule, EsMatrixValuesModule, EsTagChooserModule, EsQueryBuilderModule, EsParametersModule, CurrencyMaskModule, FormsAndValidationsModule, EsTableModule], exports: [ContextMenuModule, TabberModule, ComponentsModule,
|
|
37
|
-
TimepickerModule, BsDropdownModule, TooltipModule, ProgressbarModule, DragulaModule, LocalizationModule, ExtensionsModule, AccessControlModule, EsChartsModule, UtilityComponentsModule,
|
|
38
|
-
EsWizardModule, EsCronModule, EsGertrudeModule, EsMatrixValuesModule, EsTagChooserModule, EsQueryBuilderModule, EsParametersModule, CurrencyMaskModule, FormsAndValidationsModule, EsTableModule] }); }
|
|
39
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SharedCommon, imports: [MODULES_TO_EXPORT, ContextMenuModule, TabberModule, ComponentsModule,
|
|
40
|
-
TimepickerModule, BsDropdownModule, TooltipModule, ProgressbarModule, DragulaModule, LocalizationModule, ExtensionsModule, AccessControlModule, EsChartsModule, UtilityComponentsModule,
|
|
41
|
-
EsWizardModule, EsCronModule, EsGertrudeModule, EsMatrixValuesModule, EsTagChooserModule, EsQueryBuilderModule, EsParametersModule, CurrencyMaskModule, FormsAndValidationsModule, EsTableModule] }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SharedCommon, decorators: [{
|
|
44
|
-
type: NgModule,
|
|
45
|
-
args: [{ imports: [...MODULES_TO_EXPORT], exports: [...MODULES_TO_EXPORT] }]
|
|
46
|
-
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX3NoYXJlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL21vZHVsZXMvc3JjL2NsYXNzZXMvX3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUU3RCxNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxnQkFBZ0I7SUFDakQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZMLGNBQWMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsYUFBYTtDQUNuTSxDQUFDO0FBR0YsTUFBTSxPQUFPLFlBQVk7K0dBQVosWUFBWTtnSEFBWixZQUFZLFlBTnJCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxnQkFBZ0I7WUFDakQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsdUJBQXVCO1lBQ3ZMLGNBQWMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsYUFBYSxhQUZoTSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCO1lBQ2pELGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLHVCQUF1QjtZQUN2TCxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLGFBQWE7Z0hBSXZMLFlBQVksWUFEQSxpQkFBaUIsRUFMdEMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQjtZQUNqRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSx1QkFBdUI7WUFDdkwsY0FBYyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxhQUFhOzs0RkFJdkwsWUFBWTtrQkFEeEIsUUFBUTttQkFBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbE1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvYWNjZXNzLWNvbnRyb2xcIjtcclxuaW1wb3J0IHsgRXNDcm9uTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9jcm9uXCI7XHJcbmltcG9ydCB7IEVzQ2hhcnRzTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9lcy1jaGFydHNcIjtcclxuaW1wb3J0IHsgRXNUYWJsZU1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvZXMtdGFibGVcIjtcclxuaW1wb3J0IHsgRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5pbXBvcnQgeyBGb3Jtc0FuZFZhbGlkYXRpb25zTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9mb3Jtcy1hbmQtdmFsaWRhdGlvbnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudHNNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL3V0aWxpdHktY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBFc0dlcnRydWRlTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9nZXJ0cnVkZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgRXNNYXRyaXhWYWx1ZXNNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL21hdHJpeC12YWx1ZXNcIjtcclxuaW1wb3J0IHsgQ29udGV4dE1lbnVNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL25neC1jb250ZXh0bWVudVwiO1xyXG5pbXBvcnQgeyBDdXJyZW5jeU1hc2tNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL25neC1jdXJyZW5jeS1tYXNrXCI7XHJcbmltcG9ydCB7IERyYWd1bGFNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL25neC1kcmFndWxhXCI7XHJcbmltcG9ydCB7IEVzUGFyYW1ldGVyc01vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvcGFyYW1ldGVyc1wiO1xyXG5pbXBvcnQgeyBFc1F1ZXJ5QnVpbGRlck1vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvcXVlcnktYnVpbGRlclwiO1xyXG5pbXBvcnQgeyBFc1RhZ0Nob29zZXJNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL3RhZy1jaG9vc2VyXCI7XHJcbmltcG9ydCB7IEVzV2l6YXJkTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS93aXphcmRcIjtcclxuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duXCI7XHJcbmltcG9ydCB7IFByb2dyZXNzYmFyTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvcHJvZ3Jlc3NiYXJcIjtcclxuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3RpbWVwaWNrZXJcIjtcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL3Rvb2x0aXBcIjtcclxuaW1wb3J0IHsgVGFiYmVyTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS90YWJiZXJcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50c01vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9jb21wb25lbnRzXCI7XHJcblxyXG5jb25zdCBNT0RVTEVTX1RPX0VYUE9SVCA9IFtcclxuICAgIENvbnRleHRNZW51TW9kdWxlLCBUYWJiZXJNb2R1bGUsIENvbXBvbmVudHNNb2R1bGUsXHJcbiAgICBUaW1lcGlja2VyTW9kdWxlLCBCc0Ryb3Bkb3duTW9kdWxlLCBUb29sdGlwTW9kdWxlLCBQcm9ncmVzc2Jhck1vZHVsZSwgRHJhZ3VsYU1vZHVsZSwgTG9jYWxpemF0aW9uTW9kdWxlLCBFeHRlbnNpb25zTW9kdWxlLCBBY2Nlc3NDb250cm9sTW9kdWxlLCBFc0NoYXJ0c01vZHVsZSwgVXRpbGl0eUNvbXBvbmVudHNNb2R1bGUsXHJcbiAgICBFc1dpemFyZE1vZHVsZSwgRXNDcm9uTW9kdWxlLCBFc0dlcnRydWRlTW9kdWxlLCBFc01hdHJpeFZhbHVlc01vZHVsZSwgRXNUYWdDaG9vc2VyTW9kdWxlLCBFc1F1ZXJ5QnVpbGRlck1vZHVsZSwgRXNQYXJhbWV0ZXJzTW9kdWxlLCBDdXJyZW5jeU1hc2tNb2R1bGUsIEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUsIEVzVGFibGVNb2R1bGVcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7IGltcG9ydHM6IFsuLi5NT0RVTEVTX1RPX0VYUE9SVF0sIGV4cG9ydHM6IFsuLi5NT0RVTEVTX1RPX0VYUE9SVF0gfSlcclxuZXhwb3J0IGNsYXNzIFNoYXJlZENvbW1vbiB7IH0iXX0=
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { CommonModule } from "@angular/common";
|
|
4
|
-
import { FormsModule } from "@angular/forms";
|
|
5
|
-
import { RouterModule } from "@angular/router";
|
|
6
|
-
// Moduli
|
|
7
|
-
import { ModalModule } from "ngx-bootstrap/modal";
|
|
8
|
-
// Material
|
|
9
|
-
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
10
|
-
import { MatDayjsDateModule } from '@esfaenza/material-dayjs-adapter';
|
|
11
|
-
import { MatLegacyInputModule as MatInputModule } from "@angular/material/legacy-input";
|
|
12
|
-
import { MatLegacyButtonModule as MatButtonModule } from "@angular/material/legacy-button";
|
|
13
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
14
|
-
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
15
|
-
import { MatLegacySlideToggleModule as MatSlideToggleModule } from '@angular/material/legacy-slide-toggle';
|
|
16
|
-
// Direttive
|
|
17
|
-
import { DirectivesModule } from "@esfaenza/core/directives";
|
|
18
|
-
// Pipe
|
|
19
|
-
import { PipesModule } from "@esfaenza/core/pipes";
|
|
20
|
-
import * as i0 from "@angular/core";
|
|
21
|
-
const MODULES_TO_EXPORT = [
|
|
22
|
-
CommonModule,
|
|
23
|
-
FormsModule,
|
|
24
|
-
RouterModule,
|
|
25
|
-
DirectivesModule,
|
|
26
|
-
PipesModule,
|
|
27
|
-
ModalModule,
|
|
28
|
-
//Material
|
|
29
|
-
MatInputModule,
|
|
30
|
-
MatButtonModule,
|
|
31
|
-
MatDatepickerModule,
|
|
32
|
-
MatDayjsDateModule,
|
|
33
|
-
MatIconModule,
|
|
34
|
-
MatSlideToggleModule,
|
|
35
|
-
DragDropModule
|
|
36
|
-
];
|
|
37
|
-
export class TemplateCommon {
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateCommon, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
39
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TemplateCommon, imports: [CommonModule,
|
|
40
|
-
FormsModule,
|
|
41
|
-
RouterModule,
|
|
42
|
-
DirectivesModule,
|
|
43
|
-
PipesModule,
|
|
44
|
-
ModalModule,
|
|
45
|
-
//Material
|
|
46
|
-
MatInputModule,
|
|
47
|
-
MatButtonModule,
|
|
48
|
-
MatDatepickerModule,
|
|
49
|
-
MatDayjsDateModule,
|
|
50
|
-
MatIconModule,
|
|
51
|
-
MatSlideToggleModule,
|
|
52
|
-
DragDropModule], exports: [CommonModule,
|
|
53
|
-
FormsModule,
|
|
54
|
-
RouterModule,
|
|
55
|
-
DirectivesModule,
|
|
56
|
-
PipesModule,
|
|
57
|
-
ModalModule,
|
|
58
|
-
//Material
|
|
59
|
-
MatInputModule,
|
|
60
|
-
MatButtonModule,
|
|
61
|
-
MatDatepickerModule,
|
|
62
|
-
MatDayjsDateModule,
|
|
63
|
-
MatIconModule,
|
|
64
|
-
MatSlideToggleModule,
|
|
65
|
-
DragDropModule] }); }
|
|
66
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateCommon, imports: [MODULES_TO_EXPORT, CommonModule,
|
|
67
|
-
FormsModule,
|
|
68
|
-
RouterModule,
|
|
69
|
-
DirectivesModule,
|
|
70
|
-
PipesModule,
|
|
71
|
-
ModalModule,
|
|
72
|
-
//Material
|
|
73
|
-
MatInputModule,
|
|
74
|
-
MatButtonModule,
|
|
75
|
-
MatDatepickerModule,
|
|
76
|
-
MatDayjsDateModule,
|
|
77
|
-
MatIconModule,
|
|
78
|
-
MatSlideToggleModule,
|
|
79
|
-
DragDropModule] }); }
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TemplateCommon, decorators: [{
|
|
82
|
-
type: NgModule,
|
|
83
|
-
args: [{ imports: [...MODULES_TO_EXPORT], exports: [...MODULES_TO_EXPORT] }]
|
|
84
|
-
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidF9jLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbW9kdWxlcy9zcmMvY2xhc3Nlcy90X2MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLFNBQVM7QUFDVCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsV0FBVztBQUNYLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLElBQUksZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMEJBQTBCLElBQUksb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUUzRyxZQUFZO0FBQ1osT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTztBQUNQLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFbkQsTUFBTSxpQkFBaUIsR0FBRztJQUN0QixZQUFZO0lBQ1osV0FBVztJQUNYLFlBQVk7SUFFWixnQkFBZ0I7SUFDaEIsV0FBVztJQUVYLFdBQVc7SUFDWCxVQUFVO0lBQ1YsY0FBYztJQUNkLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsY0FBYztDQUNqQixDQUFDO0FBR0YsTUFBTSxPQUFPLGNBQWM7K0dBQWQsY0FBYztnSEFBZCxjQUFjLFlBbkJ2QixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFFWixnQkFBZ0I7WUFDaEIsV0FBVztZQUVYLFdBQVc7WUFDWCxVQUFVO1lBQ1YsY0FBYztZQUNkLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsY0FBYyxhQWZkLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUVaLGdCQUFnQjtZQUNoQixXQUFXO1lBRVgsV0FBVztZQUNYLFVBQVU7WUFDVixjQUFjO1lBQ2QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixjQUFjO2dIQUlMLGNBQWMsWUFERixpQkFBaUIsRUFsQnRDLFlBQVk7WUFDWixXQUFXO1lBQ1gsWUFBWTtZQUVaLGdCQUFnQjtZQUNoQixXQUFXO1lBRVgsV0FBVztZQUNYLFVBQVU7WUFDVixjQUFjO1lBQ2QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixjQUFjOzs0RkFJTCxjQUFjO2tCQUQxQixRQUFRO21CQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIE1vZHVsaVxyXG5pbXBvcnQgeyBNb2RhbE1vZHVsZSB9IGZyb20gXCJuZ3gtYm9vdHN0cmFwL21vZGFsXCI7XHJcblxyXG4vLyBNYXRlcmlhbFxyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IE1hdERheWpzRGF0ZU1vZHVsZSB9IGZyb20gJ0Blc2ZhZW56YS9tYXRlcmlhbC1kYXlqcy1hZGFwdGVyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5SW5wdXRNb2R1bGUgYXMgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWlucHV0XCI7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUJ1dHRvbk1vZHVsZSBhcyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVNsaWRlVG9nZ2xlTW9kdWxlIGFzIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXNsaWRlLXRvZ2dsZSc7XHJcblxyXG4vLyBEaXJldHRpdmVcclxuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kaXJlY3RpdmVzXCI7XHJcblxyXG4vLyBQaXBlXHJcbmltcG9ydCB7IFBpcGVzTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3BpcGVzXCI7XHJcblxyXG5jb25zdCBNT0RVTEVTX1RPX0VYUE9SVCA9IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG5cclxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICBQaXBlc01vZHVsZSxcclxuXHJcbiAgICBNb2RhbE1vZHVsZSxcclxuICAgIC8vTWF0ZXJpYWxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIE1hdERheWpzRGF0ZU1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoeyBpbXBvcnRzOiBbLi4uTU9EVUxFU19UT19FWFBPUlRdLCBleHBvcnRzOiBbLi4uTU9EVUxFU19UT19FWFBPUlRdIH0pXHJcbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUNvbW1vbiB7IH0iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNmYWVuemEtY29yZS1tb2R1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9tb2R1bGVzL3NyYy9lc2ZhZW56YS1jb3JlLW1vZHVsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './classes/_base.module';
|
|
2
|
-
export * from './classes/t_c.module';
|
|
3
|
-
export * from './classes/_shared.module';
|
|
4
|
-
export * from './classes/_embedding.module';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvbW9kdWxlcy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL19iYXNlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2xhc3Nlcy90X2MubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL19zaGFyZWQubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jbGFzc2VzL19lbWJlZGRpbmcubW9kdWxlJzsiXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Pipe } from "@angular/core";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class IncludedInPipe {
|
|
5
|
-
transform(value, list) {
|
|
6
|
-
if (value == null || list == null || list.length == 0)
|
|
7
|
-
return value;
|
|
8
|
-
return list.includes(value);
|
|
9
|
-
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IncludedInPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: IncludedInPipe, isStandalone: true, name: "included_in" }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: IncludedInPipe, decorators: [{
|
|
14
|
-
type: Pipe,
|
|
15
|
-
args: [{
|
|
16
|
-
name: 'included_in',
|
|
17
|
-
standalone: true
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZWRfaW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvcGlwZXMvc3JjL2NsYXNzZXMvaW5jbHVkZWRfaW4ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFNBQVMsQ0FBQyxLQUFVLEVBQUUsSUFBVztRQUM3QixJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDakQsT0FBTyxLQUFLLENBQUM7UUFFakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7K0dBUlEsY0FBYzs2R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ2luY2x1ZGVkX2luJyxcclxuICAgIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEluY2x1ZGVkSW5QaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gICAgdHJhbnNmb3JtPFQ+KHZhbHVlOiBULCBsaXN0OiBUW10pXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgbGlzdDogYW55W10pOiBhbnkge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IGxpc3QgPT0gbnVsbCB8fCBsaXN0Lmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcblxyXG4gICAgICAgIHJldHVybiBsaXN0LmluY2x1ZGVzKHZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|