new-front-common-library 0.0.79 → 0.0.81-ERGO-ROBOTO
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/README.md +28 -28
- package/assets/css/_dark-theme.scss +648 -648
- package/assets/css/_flex.scss +55 -55
- package/assets/css/_global.scss +692 -692
- package/assets/css/_light-theme.scss +651 -651
- package/assets/css/_mat-palettes.scss +96 -96
- package/assets/css/_themes.scss +52 -52
- package/assets/i18n/front-common/de.json +24 -24
- package/assets/i18n/front-common/en.json +24 -24
- package/assets/i18n/front-common/fr.json +24 -24
- package/bundles/new-front-common-library.umd.js +22 -4
- package/bundles/new-front-common-library.umd.js.map +1 -1
- package/esm2015/lib/util/array.service.js +1 -1
- package/esm2015/lib/util/component/header/header.component.js +5 -2
- package/esm2015/lib/util/component/overlay/overlay.component.js +2 -2
- package/esm2015/lib/util/component/overlay/overlay.service.js +1 -1
- package/esm2015/lib/util/component/popup/popup-login/popup-login.component.js +2 -2
- package/esm2015/lib/util/component/sub-header/sub-header.component.js +2 -2
- package/esm2015/lib/util/config.js +1 -1
- package/esm2015/lib/util/date/PeriodModel.js +1 -1
- package/esm2015/lib/util/date/date-adapter.js +1 -1
- package/esm2015/lib/util/date/date-format-constants.js +1 -1
- package/esm2015/lib/util/date/date.util.js +1 -1
- package/esm2015/lib/util/decorators/theme.decorator.js +1 -1
- package/esm2015/lib/util/decorators/user.decorator.js +1 -1
- package/esm2015/lib/util/directives/my-number-formatter-directive.js +1 -1
- package/esm2015/lib/util/directives/show-if-truncated.directive.js +1 -1
- package/esm2015/lib/util/enums/rapid-search-item-type.enum.js +1 -1
- package/esm2015/lib/util/enums/status-color.enum.js +1 -1
- package/esm2015/lib/util/event/header/header-events.service.js +1 -1
- package/esm2015/lib/util/event/storage/local-storage-events.service.js +1 -1
- package/esm2015/lib/util/event/storage/session-storage-events.service.js +1 -1
- package/esm2015/lib/util/http/http-params.builder.js +1 -1
- package/esm2015/lib/util/i18n/de.js +4 -1
- package/esm2015/lib/util/i18n/en.js +4 -1
- package/esm2015/lib/util/i18n/fr.js +4 -1
- package/esm2015/lib/util/i18n/multi-translate-http-loader.js +1 -1
- package/esm2015/lib/util/interfaces/permissions.interface.js +1 -1
- package/esm2015/lib/util/models/any-line.model.js +1 -1
- package/esm2015/lib/util/models/audio-content.model.js +1 -1
- package/esm2015/lib/util/models/authPermission.model.js +1 -1
- package/esm2015/lib/util/models/authUser.model.js +1 -1
- package/esm2015/lib/util/models/basic.model.js +1 -1
- package/esm2015/lib/util/models/box-set-item.model.js +1 -1
- package/esm2015/lib/util/models/commercial/deal-rapid-search-model.js +3 -0
- package/esm2015/lib/util/models/disc-program.model.js +1 -1
- package/esm2015/lib/util/models/disc.model.js +1 -1
- package/esm2015/lib/util/models/eventType.model.js +1 -1
- package/esm2015/lib/util/models/expenditure-commitment/purchase-order-file.model.js +1 -1
- package/esm2015/lib/util/models/expenditure-commitment/purchase-order-rapid-search.model.js +1 -1
- package/esm2015/lib/util/models/index.js +1 -1
- package/esm2015/lib/util/models/lang-line.model.js +1 -1
- package/esm2015/lib/util/models/legal/contract-work.model.js +1 -1
- package/esm2015/lib/util/models/legal/contract-work2.model.js +1 -1
- package/esm2015/lib/util/models/media-line.model.js +1 -1
- package/esm2015/lib/util/models/menu-language.model.js +1 -1
- package/esm2015/lib/util/models/permission.model.js +1 -1
- package/esm2015/lib/util/models/product-box-set.model.js +1 -1
- package/esm2015/lib/util/models/product-disc-detail.model.js +1 -1
- package/esm2015/lib/util/models/product-disc.model.js +1 -1
- package/esm2015/lib/util/models/product-division.model.js +1 -1
- package/esm2015/lib/util/models/product-type.model.js +1 -1
- package/esm2015/lib/util/models/product.model.js +1 -1
- package/esm2015/lib/util/models/program.model.js +1 -1
- package/esm2015/lib/util/models/purchase-order/purchase-order.model.js +1 -1
- package/esm2015/lib/util/models/referential/WorkVersionArticleDto.js +1 -1
- package/esm2015/lib/util/models/referential/adress-type.model.js +1 -1
- package/esm2015/lib/util/models/referential/adress.model.js +1 -1
- package/esm2015/lib/util/models/referential/attached-file.model.js +1 -1
- package/esm2015/lib/util/models/referential/bank-account.model.js +1 -1
- package/esm2015/lib/util/models/referential/bank-accounts.model.js +1 -1
- package/esm2015/lib/util/models/referential/basic-hierarchy.model.js +1 -1
- package/esm2015/lib/util/models/referential/broadcast-list-item.model.js +1 -1
- package/esm2015/lib/util/models/referential/color.model.js +1 -1
- package/esm2015/lib/util/models/referential/company.model.js +1 -1
- package/esm2015/lib/util/models/referential/content-type.model.js +1 -1
- package/esm2015/lib/util/models/referential/content.model.js +1 -1
- package/esm2015/lib/util/models/referential/cost-center-criteria-values.model.js +1 -1
- package/esm2015/lib/util/models/referential/cost-center-criteria.model.js +1 -1
- package/esm2015/lib/util/models/referential/cost-center.model.js +1 -1
- package/esm2015/lib/util/models/referential/coutry.model.js +1 -1
- package/esm2015/lib/util/models/referential/currency.model.js +1 -1
- package/esm2015/lib/util/models/referential/editorial-content.model.js +1 -1
- package/esm2015/lib/util/models/referential/fixing.model.js +1 -1
- package/esm2015/lib/util/models/referential/flat-media.model.js +1 -1
- package/esm2015/lib/util/models/referential/format-image.model.js +1 -1
- package/esm2015/lib/util/models/referential/format-type.model.js +1 -1
- package/esm2015/lib/util/models/referential/format.model.js +1 -1
- package/esm2015/lib/util/models/referential/fsk-index.model.js +1 -1
- package/esm2015/lib/util/models/referential/fsk.model.js +1 -1
- package/esm2015/lib/util/models/referential/function.model.js +1 -1
- package/esm2015/lib/util/models/referential/genre.model.js +1 -1
- package/esm2015/lib/util/models/referential/invoice-product-type.model.js +1 -1
- package/esm2015/lib/util/models/referential/keywords.model.js +1 -1
- package/esm2015/lib/util/models/referential/language.model.js +1 -1
- package/esm2015/lib/util/models/referential/media-filter.model.js +1 -1
- package/esm2015/lib/util/models/referential/media.model.js +1 -1
- package/esm2015/lib/util/models/referential/module.model.js +1 -1
- package/esm2015/lib/util/models/referential/parameter.model.js +1 -1
- package/esm2015/lib/util/models/referential/participant.model.js +1 -1
- package/esm2015/lib/util/models/referential/person.model.js +1 -1
- package/esm2015/lib/util/models/referential/project-status.model.js +1 -1
- package/esm2015/lib/util/models/referential/quota.model.js +1 -1
- package/esm2015/lib/util/models/referential/referential-entity-state.model.js +1 -1
- package/esm2015/lib/util/models/referential/referential-value.model.js +1 -1
- package/esm2015/lib/util/models/referential/referentiel.model.js +1 -1
- package/esm2015/lib/util/models/referential/restriction.model.js +1 -1
- package/esm2015/lib/util/models/referential/sap-order.model.js +1 -1
- package/esm2015/lib/util/models/referential/service-error.model.js +1 -1
- package/esm2015/lib/util/models/referential/sound.model.js +1 -1
- package/esm2015/lib/util/models/referential/territories-languages.model.js +1 -1
- package/esm2015/lib/util/models/referential/territory-filter.model.js +1 -1
- package/esm2015/lib/util/models/referential/territory.model.js +1 -1
- package/esm2015/lib/util/models/referential/theme.model.js +1 -1
- package/esm2015/lib/util/models/referential/third-party-creation-request.model.js +1 -1
- package/esm2015/lib/util/models/referential/third-party-module.model.js +1 -1
- package/esm2015/lib/util/models/referential/third-party.model.js +1 -1
- package/esm2015/lib/util/models/referential/translated-value-model.js +1 -1
- package/esm2015/lib/util/models/referential/tva.model.js +1 -1
- package/esm2015/lib/util/models/referential/type-export.model.js +1 -1
- package/esm2015/lib/util/models/referential/type-tva-company-territory.model.js +1 -1
- package/esm2015/lib/util/models/referential/type-tva.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-addons-model.js +1 -1
- package/esm2015/lib/util/models/referential/work-appartenance.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-genre.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-language.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-milo.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-participant.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-restrictions-model.js +1 -1
- package/esm2015/lib/util/models/referential/work-theme.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-title.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-version-origin.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-version-rapid-search.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-versions-used.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-versions.model.js +1 -1
- package/esm2015/lib/util/models/referential/work-year-production.model.js +1 -1
- package/esm2015/lib/util/models/referential/work.model.js +1 -1
- package/esm2015/lib/util/models/referential/zone.model.js +1 -1
- package/esm2015/lib/util/models/referentiel.model.js +1 -1
- package/esm2015/lib/util/models/search-response.model.js +1 -1
- package/esm2015/lib/util/models/section.model.js +1 -1
- package/esm2015/lib/util/models/select/options.model.js +1 -1
- package/esm2015/lib/util/models/select/select.model.js +1 -1
- package/esm2015/lib/util/models/subtitle-content.model.js +1 -1
- package/esm2015/lib/util/models/user-video.model.js +1 -1
- package/esm2015/lib/util/models/user.model.js +1 -1
- package/esm2015/lib/util/models/video/product-rapid-search.model.js +1 -1
- package/esm2015/lib/util/models/video/support-rapid-search.model.js +1 -1
- package/esm2015/lib/util/models/video-content.model.js +1 -1
- package/esm2015/lib/util/number.validator.js +1 -1
- package/esm2015/lib/util/permissions/permissions.service.js +1 -1
- package/esm2015/lib/util/pipes/capitalizefirst.pipe.js +1 -1
- package/esm2015/lib/util/pipes/comma-separated-number.pipe.js +1 -1
- package/esm2015/lib/util/pipes/common-translate.pipe.js +1 -1
- package/esm2015/lib/util/pipes/display-html.pipe.js +1 -1
- package/esm2015/lib/util/pipes/display-null.pipe.js +1 -1
- package/esm2015/lib/util/pipes/format-duration.pipe.js +1 -1
- package/esm2015/lib/util/pipes/format-number-input.pipe.js +1 -1
- package/esm2015/lib/util/pipes/local-date.pipe.js +1 -1
- package/esm2015/lib/util/pipes/my-number.pipe.js +1 -1
- package/esm2015/lib/util/pipes/third-party-address.pipe.js +1 -1
- package/esm2015/lib/util/pipes/trim-string.pipe.js +1 -1
- package/esm2015/lib/util/regex/regex.service.js +1 -1
- package/esm2015/lib/util/services/api/common-api.service.js +1 -1
- package/esm2015/lib/util/services/elasticsearch/elasticsearch.service.js +7 -1
- package/esm2015/lib/util/services/form-action/form-actions-events.service.js +1 -1
- package/esm2015/lib/util/services/guard/auth.guard.js +1 -1
- package/esm2015/lib/util/services/guard/login.guard.js +1 -1
- package/esm2015/lib/util/services/history/history.service.js +1 -1
- package/esm2015/lib/util/services/interceptor/auth.interceptor.js +1 -1
- package/esm2015/lib/util/services/jwt-security/aes.service.js +1 -1
- package/esm2015/lib/util/services/jwt-security/interceptorhttp.service.js +1 -1
- package/esm2015/lib/util/services/jwt-security/jwt.helpher.js +1 -1
- package/esm2015/lib/util/services/storage/local-storage.service.js +1 -1
- package/esm2015/lib/util/services/storage/session-storage.service.js +1 -1
- package/esm2015/lib/util/services/translate-language/lang.service.js +1 -1
- package/esm2015/lib/util/sort.js +1 -1
- package/esm2015/lib/util/theme/theme-event.service.js +1 -1
- package/esm2015/lib/util/toaster/toaster-events.service.js +1 -1
- package/esm2015/lib/util/util.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/fesm2015/new-front-common-library.js +22 -4
- package/fesm2015/new-front-common-library.js.map +1 -1
- package/lib/util/component/header/header.component.d.ts +2 -1
- package/lib/util/i18n/de.d.ts +3 -0
- package/lib/util/i18n/en.d.ts +3 -0
- package/lib/util/i18n/fr.d.ts +3 -0
- package/lib/util/models/commercial/deal-rapid-search-model.d.ts +10 -0
- package/lib/util/services/elasticsearch/elasticsearch.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -16,4 +16,4 @@ ArrayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version
|
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: ArrayService, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvYXJyYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixtQ0FBbUM7SUFDNUIsT0FBTyxDQUFDLEtBQVUsRUFBRSxLQUFVO1FBQ2pDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1lBQ2xDLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDOzt5R0FUUSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFycmF5U2VydmljZSB7XHJcblxyXG4gICAgLyoqIENoZWNrIGlmIGEgdmFsdWUgaXMgaW4gYXJyYXkgKi9cclxuICAgIHB1YmxpYyBpbkFycmF5KHZhbHVlOiBhbnksIGFycmF5OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgYXJyYXkgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhcnJheS5pbmRleE9mKHZhbHVlKSAhPT0gLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -159,11 +159,14 @@ export class HeaderComponent {
|
|
|
159
159
|
case RapidSearchItemType.WORK_VERSION:
|
|
160
160
|
this.navigate(null, '/work-summary/' + doc.id + '/info');
|
|
161
161
|
break;
|
|
162
|
+
case RapidSearchItemType.DEAL:
|
|
163
|
+
this.navigate(null, '/commercial/deal/consult/' + doc.id);
|
|
164
|
+
break;
|
|
162
165
|
}
|
|
163
166
|
}
|
|
164
167
|
}
|
|
165
168
|
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.Router }, { token: i2.LocalStorageEventsService }, { token: i3.LocalStorageService }, { token: i4.ToasterEventsService }, { token: i5.TranslateService }, { token: i6.CommonApiService }, { token: i7.SessionStorageService }, { token: i8.PermissionsService }, { token: i9.OverlayContainer }, { token: i10.CookieService }, { token: i11.LangService }, { token: i12.ElasticsearchService }, { token: WEB_CONFIG }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: HeaderComponent, selector: "sc-header", outputs: { toogleMenuEvent: "toogleMenuEvent" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<mat-toolbar [ngClass]=\"{ 'light-header': theme !== 'dark' }\"\n class=\"sc-header d-flex align-items-center\">\n <span class=\"d-flex align-items-end\">\n <a\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\n <img class=\"logo-unity\" src=\"./assets/img/unity_logo_48x48.png\">\n </a>\n <span *ngIf=\"env != 'prod'\" [attr.id]=\"'env-' + env\" class=\"env\">{{env}}</span>\n </span>\n <span class=\"header-separator\"></span>\n <span [matMenuTriggerFor]=\"menu_global\" class=\"material-icons header-icon max-width-5\">apps</span>\n <mat-menu #menu_global=\"matMenu\" class=\"action-menu\">\n <!--DASHBOARD-->\n <button (click)=\"navigate(null, '/dashboard')\" mat-menu-item>\n <span class=\"material-icons-outlined\">apps</span>\n <span>{{ 'COMMON.HEADER.MENU.DASHBOARD' | commonTranslate: lang }}</span>\n </button>\n <!--COMMERCIAL-->\n <span *ngxPermissionsOnly=\"['COMMERCIAL']\">\n <button (click)=\"navigate('commercial', '/deal/search')\" mat-menu-item>\n <span class=\"material-icons-outlined\">local_offer</span>\n <span>{{ 'COMMON.HEADER.MENU.COMMERCIAL' | commonTranslate: lang }}</span>\n </button>\n <button (click)=\"navigate('commercial', '/turnover/search')\"\n *ngxPermissionsOnly=\"['ACCOUNTANT', 'ADMINISTRATIVE_CONTROLLER']\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">request_quote</span>\n <span>{{ 'COMMON.HEADER.MENU.COMMERCIAL.FINANCE' | commonTranslate: lang }}</span>\n </button>\n </span>\n <!--USER-->\n <button (click)=\"navigate('user', '/account/authorization/search')\" *ngIf=\"user && user.admin\" mat-menu-item>\n <span class=\"material-icons-outlined\">manage_accounts</span>\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang }}</span>\n </button>\n <!--MY PREFERENCES-->\n <button (click)=\"navigate('user', '/account/settings')\" mat-menu-item>\n <span class=\"material-icons-outlined\">settings</span>\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang }}</span>\n </button>\n <!--BATCH-->\n <button (click)=\"navigate('batch', '/jobs/referential')\" *ngxPermissionsOnly=\"['MODULE REF']\" mat-menu-item>\n <span class=\"material-icons-outlined\">autorenew</span>\n <span>{{ 'COMMON.HEADER.MENU.REFERENTIAL.BATCH' | commonTranslate: lang }}</span>\n </button>\n <!--TV DATA-->\n <button (click)=\"navigate('tvdata', '/infos-center')\" *ngxPermissionsOnly=\"['TVDATA']\" mat-menu-item>\n <span class=\"material-icons-outlined\">source</span>\n <span>{{ 'COMMON.HEADER.MENU.TV-DATA' | commonTranslate: lang }}</span>\n </button>\n <!--EXPENDITURE COMMITMENT-->\n <button (click)=\"navigate('expenditure-commitment', '/home/commands')\" *ngxPermissionsExcept=\"['UNIVERSAL_ROLE']\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">receipt_long</span>\n <span>{{ 'COMMON.HEADER.MENU.EXPENDITURE_COMMITMENT' | commonTranslate: lang }}</span>\n </button>\n <!--BI-->\n <button (click)=\"navigate('bi', '/simple-search/form')\" *ngxPermissionsOnly=\"['MODULE BI']\" mat-menu-item>\n <span class=\"material-icons-outlined\">travel_explore</span>\n <span>{{ 'COMMON.HEADER.MENU.BI.SEARCH' | commonTranslate: lang }}</span>\n </button>\n <!--LEGAL-->\n <button (click)=\"navigate('legal', '/contracts/menu/legals-det')\" *ngxPermissionsOnly=\"['LEGAL']\" mat-menu-item>\n <span class=\"material-icons-outlined\">gavel</span>\n <span>{{ 'COMMON.HEADER.MENU.LEGAL' | commonTranslate: lang }}</span>\n </button>\n <!--CALENDAR-->\n <button (click)=\"navigate('calendar', '')\" mat-menu-item>\n <span class=\"material-icons-outlined\">calendar_month</span>\n <span>{{ 'COMMON.HEADER.MENU.CALENDAR' | commonTranslate: lang }}</span>\n </button>\n </mat-menu>\n <span class=\"header-separator\"></span>\n <span [matMenuTriggerFor]=\"menu\" class=\"material-icons-outlined header-icon max-width-5\">add_box</span>\n <mat-menu #menu=\"matMenu\" class=\"action-menu\">\n <button (click)=\"navigate('video', '/product/form')\" mat-menu-item>\n <span class=\"material-icons-outlined\">theaters</span>\n {{ 'COMMON.HEADER.CREATION.PRODUCT' | commonTranslate: lang }}\n </button>\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/form')\" mat-menu-item>\n <span class=\"material-icons-outlined\">receipt_long</span>\n {{ 'COMMON.HEADER.CREATION.PO' | commonTranslate: lang }}\n </button>\n <button (click)=\"navigate('commercial', '/deal/form')\" mat-menu-item>\n <span class=\"material-icons-outlined\">local_offer</span>\n {{ 'COMMON.HEADER.CREATION.DEAL' | commonTranslate: lang }}\n </button>\n <button (click)=\"navigate('legal', '/createContract/acq')\" mat-menu-item>\n <span class=\"material-icons-outlined\">shop_two</span>\n {{ 'COMMON.HEADER.CREATION.CREATION_ACQ' | commonTranslate: lang }}\n </button>\n <button (click)=\"navigate('legal', '/createContract/sales')\" mat-menu-item>\n <span class=\"material-icons-outlined\">article</span>\n {{ 'COMMON.HEADER.CREATION.CREATION_CESS' | commonTranslate: lang }}\n </button>\n\t <button (click)=\"navigate('legal', '/createContract/auth')\" mat-menu-item>\n <span class=\"material-icons-outlined\">account_circle</span>\n {{ 'COMMON.HEADER.CREATION.CREATION_AUTH' | commonTranslate: lang }}\n </button>\n <button (click)=\"navigate('pa', '/campaign/form')\" mat-menu-item>\n <span class=\"material-icons-outlined\">campaign</span>\n {{ 'COMMON.HEADER.CREATION.CAMPAIGN' | commonTranslate: lang }}\n </button>\n </mat-menu>\n <span class=\"header-separator\"></span>\n <span (click)=\"getHistory()\" [matMenuTriggerFor]=\"menuHistory\"\n class=\"material-icons header-icon max-width-5\">history</span>\n <mat-menu #menuHistory=\"matMenu\" class=\"action-menu\">\n <ng-container *ngFor=\"let history of historyList\" [ngSwitch]=\"history.type\">\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/' + history.id)\" *ngSwitchCase=\"'PRODUCT'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">theaters</span>\n {{ 'COMMON.HEADER.HISTORY.PRODUCT' | commonTranslate : lang }}{{history.type}} {{history.ref}}\n </button>\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/' + history.id)\" *ngSwitchCase=\"'PO'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">receipt_long</span>\n {{ 'COMMON.HEADER.HISTORY.PO' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button (click)=\"navigate('commercial', '/deal/consult/' + history.id)\" *ngSwitchCase=\"'DEAL'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">local_offer</span>\n {{ 'COMMON.HEADER.HISTORY.DEAL' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button (click)=\"navigate('commercial', '/work-record/consult/'+ history.id +'/general')\" *ngSwitchCase=\"'WORK'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">theaters</span>\n {{ 'COMMON.HEADER.HISTORY.WORK' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button (click)=\"navigate('legal', '/contracts/contract-acq/consult/' + history.id)\"\n *ngSwitchCase=\"'CONTRACT_ACQ'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">assignment</span>\n {{ 'COMMON.HEADER.HISTORY.CONTRACT-ACQ' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button (click)=\"navigate('legal', '/contracts/contract-cess/consult/' + history.id)\"\n *ngSwitchCase=\"'CONTRACT_CESS'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">article</span>\n {{ 'COMMON.HEADER.HISTORY.CONTRACT-CESS' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button (click)=\"navigate('expenditure-commitment', '/budget/form/' + history.id)\" *ngSwitchCase=\"'BUDGET'\"\n mat-menu-item>\n <span class=\"material-icons-outlined\">payments</span>\n {{ 'COMMON.HEADER.HISTORY.BUDGET' | commonTranslate : lang }} {{history.ref}}\n </button>\n <button *ngSwitchCase=\"'NO_HISTORY_AVAILABLE'\" mat-menu-item>\n <span class=\"material-icons-outlined\">not_interested</span>\n {{ 'COMMON.HEADER.HISTORY.NO_HISTORY_AVAILABLE' | commonTranslate : lang }}\n </button>\n </ng-container>\n </mat-menu>\n\n <div class=\"global-search d-flex max-width-60\">\n <i class=\"material-icons global-search-icon header-icon\">search</i>\n <span class=\"global-search-separator\"></span>\n <mat-form-field class=\"max-width-100\" floatLabel=\"never\">\n <div class=\"d-flex\">\n <input [formControl]=\"formControlSearch\" [matAutocomplete]=\"autoSearch\"\n class=\"global-search-input max-width-85\"\n id=\"search-input\"\n matInput\n placeholder=\"search ...\"/>\n <button (click)=\"navigate(null, '/advanced-search')\"\n class=\"btn advanced-button\" mat-raised-button>\n <span class=\"material-icons icon\">flash_on</span>\n {{ 'COMMON.HEADER.GLOBAL_SEARCH.ADVANCED' | commonTranslate: lang }}\n </button>\n\n <mat-autocomplete #autoSearch=\"matAutocomplete\" class=\"mat-autocomplete-global-search\" panelWidth=\"56vw\">\n <mat-option (onSelectionChange)=\"onSelectSearch($event, doc)\"\n *ngFor=\"let doc of documents$ | async\"\n class=\"mat-option-global-search\">\n <!--PURCHASE_ORDER-->\n <div *ngIf=\"doc.docType === RapidSearchItemType.PURCHASE_ORDER\" class=\"d-flex align-items-center\">\n <div class=\"max-width-5\">\n <span class=\"material-icons-outlined rapid-search-type-icon\">receipt_long</span>\n </div>\n <div class=\"d-flex max-width-95\">\n <div class=\"d-flex flex-column max-width-70\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PURCHASE_ORDER' | commonTranslate: lang }}</span>\n <span>{{ doc.poNumber }}\n - {{ doc.totalAmount | currency: doc.currencyCode:'symbol':undefined:'fr-FR'}}</span>\n </div>\n <div class=\"d-flex flex-column max-width-15\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.BASKET_NUMBER' | commonTranslate: lang }}</span>\n <span>{{ doc?.basketNumber ? doc.basketNumber : '-' }}</span>\n </div>\n <div class=\"d-flex flex-column max-width-15\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.EAN' | commonTranslate: lang }}</span>\n <span>{{ doc?.ean ? doc.ean : '-' }}</span>\n </div>\n </div>\n </div>\n <!--PRODUCT-->\n <div *ngIf=\"doc.docType === RapidSearchItemType.PRODUCT\" class=\"d-flex align-items-center\">\n <div class=\"max-width-5\">\n <span class=\"material-icons-outlined rapid-search-type-icon\">movie</span>\n </div>\n <div class=\"d-flex max-width-95\">\n <div class=\"ellipsis d-flex flex-column max-width-60\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PRODUCT' | commonTranslate: lang }}</span>\n <span class=\"ellipsis\">{{ doc.title }}</span>\n </div>\n <div class=\"d-flex flex-column max-width-10\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.SUPPORT' | commonTranslate: lang }}</span>\n <span>{{doc.support[labelLang]}}</span>\n </div>\n <div class=\"d-flex flex-column max-width-15\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.EAN' | commonTranslate: lang }}</span>\n <span>{{ doc.ean }}</span>\n </div>\n <div class=\"d-flex flex-column max-width-15\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.RELEASE_DATE' | commonTranslate: lang }}</span>\n <span>{{ doc?.releaseDate ? doc.releaseDate : '-' }}</span>\n </div>\n </div>\n </div>\n <!--WORK-->\n <div *ngIf=\"doc.docType === RapidSearchItemType.WORK_VERSION\" class=\"d-flex align-items-center\">\n <div class=\"max-width-5\">\n <span class=\"material-icons-outlined rapid-search-type-icon\">theaters</span>\n </div>\n <div class=\"d-flex max-width-95\">\n <div class=\"d-flex flex-column max-width-75 ellipsis\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.WORK' | commonTranslate: lang }}</span>\n <span class=\"ellipsis\">{{ doc.title }} ({{doc.codeIso}})</span>\n </div>\n <div class=\"d-flex flex-column max-width-10\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.MILO_CODE' | commonTranslate: lang }}</span>\n <span>{{doc.miloCode}}</span>\n </div>\n <div class=\"d-flex flex-column max-width-15\">\n <span\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PRODUCTION_YEAR' | commonTranslate: lang }}</span>\n <span>{{ doc.yearOfProduction }}</span>\n </div>\n </div>\n </div>\n </mat-option>\n </mat-autocomplete>\n </div>\n\n </mat-form-field>\n\n </div>\n\n <span class=\"d-flex flex-column max-width-15\"></span>\n <div *ngIf=\"user && user.secondary\" class=\"connected-as d-flex justify-content-between align-items-center\">\n <span style=\"margin-right: 10px\">\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{user.login + ' - ' + user.firstName + ' ' + user.name }}\n </span>\n\n <button (click)=\"stopIdentityTheft()\" *ngIf=\"user.secondary\" color=\"warn\" mat-raised-button>\n {{ 'CORE.STOP' | commonTranslate: lang }}\n </button>\n </div>\n <span class=\"header-separator\"></span>\n\n <span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon max-width-5\">settings</span>\n\n <!-- #enddocregion mat-menu-trigger-for -->\n <mat-menu #settings=\"matMenu\" class=\"action-menu\">\n <button (click)=\"switchTheme()\" mat-menu-item>\n <mat-icon class=\"menu-icon mat-icon\">toggle_on</mat-icon>\n <span>{{'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang}}</span>\n </button>\n <button (click)='switchLang(\"en\")' *ngIf='lang !== \"en\"' mat-menu-item>\n <img src=\"assets/img/flag/en-flag.png\">\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.ENGLISH' | commonTranslate: lang }}\n </button>\n <button (click)='switchLang(\"fr\")' *ngIf='lang !== \"fr\"' mat-menu-item>\n <img src=\"assets/img/flag/fr-flag.png\">\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.FRENCH' | commonTranslate: lang }}\n </button>\n <button (click)='switchLang(\"de\")' *ngIf='lang !== \"de\" ' mat-menu-item>\n <img src=\"assets/img/flag/de-flag.png\">\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.DEUTCH' | commonTranslate: lang }}\n </button>\n </mat-menu>\n</mat-toolbar>\n\n", styles: [".sc-header{height:64px;position:fixed;z-index:999}mat-toolbar{width:100%}.logo-unity{height:48px;width:48px}.header-icon{width:22px;height:20px}.global-search{height:40px;background:#EFF3F6;padding:0;margin-left:30px;border-radius:8px}.global-search-icon{width:18px;height:18px;margin:10px 12px 10px 10px}.global-search-input{background:#EFF3F6;border:none;margin-left:10px;font-size:14px!important}.global-search-input:focus{outline:none}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC;margin-top:6px}.rapid-search-type-icon{font-size:1.4em;vertical-align:middle}.advanced-button{width:90px!important;min-width:90px!important;height:24px!important;background:#7C87FF;border:none;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;border-radius:4px;line-height:12px;color:#fff;margin:auto 5px auto auto;cursor:pointer;padding:0!important}.advanced-button .icon{font-size:12px;vertical-align:middle}.sc-header .header-icon{color:#009ef7;cursor:pointer;text-align:center}.header-separator{display:inline-block;height:25%;margin-top:6px}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-uat{background-color:#809ec1;color:#fff}#env-dev{background-color:#809ec1;color:#fff}#env-sbx{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}:host ::ng-deep .global-search .mat-form-field-appearance-legacy .mat-form-field-label{top:2.2em!important;margin-left:10px;font-family:Sofia Pro;font-style:italic;font-weight:bold;font-size:14px;line-height:14px}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}.auto-complete-label{font-size:8px}.center{text-align:center}.mr-10{margin-right:10px}.mr-20{margin-right:20px}.mr-30{margin-right:30px}.mb-2{margin-bottom:2px}.mat-menu-item img{height:12px!important;margin-right:13px;margin-bottom:-2px;margin-left:3px}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}\n"], components: [{ type: i13.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i14.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i14.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i15.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i16.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i17.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i18.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i20.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i21.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { type: i20.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i20.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i20.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i22.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i23.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i17.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i23.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i23.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "commonTranslate": i24.CommonTranslatePipe, "async": i20.AsyncPipe, "currency": i20.CurrencyPipe } });
|
|
169
|
+
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: HeaderComponent, selector: "sc-header", outputs: { toogleMenuEvent: "toogleMenuEvent" }, host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<mat-toolbar [ngClass]=\"{ 'light-header': theme !== 'dark' }\"\r\n class=\"sc-header d-flex align-items-center\">\r\n <span class=\"d-flex align-items-end\">\r\n <a\r\n [href]=\"env === 'prod' ? 'https://unity.studiocanal.com/dashboard' : (env === 'sbx' ? 'https://unity-sbx.cplus/dashboard' : 'https://unity-' + env + '.studiocanal.com/dashboard')\">\r\n <img class=\"logo-unity\" src=\"./assets/img/unity_logo_48x48.png\">\r\n </a>\r\n <span *ngIf=\"env != 'prod'\" [attr.id]=\"'env-' + env\" class=\"env\">{{env}}</span>\r\n </span>\r\n <span class=\"header-separator\"></span>\r\n <span [matMenuTriggerFor]=\"menu_global\" class=\"material-icons header-icon max-width-5\">apps</span>\r\n <mat-menu #menu_global=\"matMenu\" class=\"action-menu\">\r\n <!--DASHBOARD-->\r\n <button (click)=\"navigate(null, '/dashboard')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">apps</span>\r\n <span>{{ 'COMMON.HEADER.MENU.DASHBOARD' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--COMMERCIAL-->\r\n <span *ngxPermissionsOnly=\"['COMMERCIAL']\">\r\n <button (click)=\"navigate('commercial', '/deal/search')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">local_offer</span>\r\n <span>{{ 'COMMON.HEADER.MENU.COMMERCIAL' | commonTranslate: lang }}</span>\r\n </button>\r\n <button (click)=\"navigate('commercial', '/turnover/search')\"\r\n *ngxPermissionsOnly=\"['ACCOUNTANT', 'ADMINISTRATIVE_CONTROLLER']\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">request_quote</span>\r\n <span>{{ 'COMMON.HEADER.MENU.COMMERCIAL.FINANCE' | commonTranslate: lang }}</span>\r\n </button>\r\n </span>\r\n <!--USER-->\r\n <button (click)=\"navigate('user', '/account/authorization/search')\" *ngIf=\"user && user.admin\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">manage_accounts</span>\r\n <span>{{ 'COMMON.HEADER.MENU.USER.SECTION_TITLE' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--MY PREFERENCES-->\r\n <button (click)=\"navigate('user', '/account/settings')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">settings</span>\r\n <span>{{ 'COMMON.HEADER.MENU.USER.SETTINGS' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--BATCH-->\r\n <button (click)=\"navigate('batch', '/jobs/referential')\" *ngxPermissionsOnly=\"['MODULE REF']\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">autorenew</span>\r\n <span>{{ 'COMMON.HEADER.MENU.REFERENTIAL.BATCH' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--TV DATA-->\r\n <button (click)=\"navigate('tvdata', '/infos-center')\" *ngxPermissionsOnly=\"['TVDATA']\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">source</span>\r\n <span>{{ 'COMMON.HEADER.MENU.TV-DATA' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--EXPENDITURE COMMITMENT-->\r\n <button (click)=\"navigate('expenditure-commitment', '/home/commands')\" *ngxPermissionsExcept=\"['UNIVERSAL_ROLE']\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">receipt_long</span>\r\n <span>{{ 'COMMON.HEADER.MENU.EXPENDITURE_COMMITMENT' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--BI-->\r\n <button (click)=\"navigate('bi', '/simple-search/form')\" *ngxPermissionsOnly=\"['MODULE BI']\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">travel_explore</span>\r\n <span>{{ 'COMMON.HEADER.MENU.BI.SEARCH' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--LEGAL-->\r\n <button (click)=\"navigate('legal', '/contracts/menu/legals-det')\" *ngxPermissionsOnly=\"['LEGAL']\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">gavel</span>\r\n <span>{{ 'COMMON.HEADER.MENU.LEGAL' | commonTranslate: lang }}</span>\r\n </button>\r\n <!--CALENDAR-->\r\n <button (click)=\"navigate('calendar', '')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">calendar_month</span>\r\n <span>{{ 'COMMON.HEADER.MENU.CALENDAR' | commonTranslate: lang }}</span>\r\n </button>\r\n </mat-menu>\r\n <span class=\"header-separator\"></span>\r\n <span [matMenuTriggerFor]=\"menu\" class=\"material-icons-outlined header-icon max-width-5\">add_box</span>\r\n <mat-menu #menu=\"matMenu\" class=\"action-menu\">\r\n <button (click)=\"navigate('video', '/product/form')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">theaters</span>\r\n {{ 'COMMON.HEADER.CREATION.PRODUCT' | commonTranslate: lang }}\r\n </button>\r\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/form')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">receipt_long</span>\r\n {{ 'COMMON.HEADER.CREATION.PO' | commonTranslate: lang }}\r\n </button>\r\n <button (click)=\"navigate('commercial', '/deal/form')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">local_offer</span>\r\n {{ 'COMMON.HEADER.CREATION.DEAL' | commonTranslate: lang }}\r\n </button>\r\n <button (click)=\"navigate('legal', '/createContract/acq')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">shop_two</span>\r\n {{ 'COMMON.HEADER.CREATION.CREATION_ACQ' | commonTranslate: lang }}\r\n </button>\r\n <button (click)=\"navigate('legal', '/createContract/sales')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">article</span>\r\n {{ 'COMMON.HEADER.CREATION.CREATION_CESS' | commonTranslate: lang }}\r\n </button>\r\n\t <button (click)=\"navigate('legal', '/createContract/auth')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">account_circle</span>\r\n {{ 'COMMON.HEADER.CREATION.CREATION_AUTH' | commonTranslate: lang }}\r\n </button>\r\n <button (click)=\"navigate('pa', '/campaign/form')\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">campaign</span>\r\n {{ 'COMMON.HEADER.CREATION.CAMPAIGN' | commonTranslate: lang }}\r\n </button>\r\n </mat-menu>\r\n <span class=\"header-separator\"></span>\r\n <span (click)=\"getHistory()\" [matMenuTriggerFor]=\"menuHistory\"\r\n class=\"material-icons header-icon max-width-5\">history</span>\r\n <mat-menu #menuHistory=\"matMenu\" class=\"action-menu\">\r\n <ng-container *ngFor=\"let history of historyList\" [ngSwitch]=\"history.type\">\r\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/' + history.id)\" *ngSwitchCase=\"'PRODUCT'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">theaters</span>\r\n {{ 'COMMON.HEADER.HISTORY.PRODUCT' | commonTranslate : lang }}{{history.type}} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('expenditure-commitment', '/purchase-orders/' + history.id)\" *ngSwitchCase=\"'PO'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">receipt_long</span>\r\n {{ 'COMMON.HEADER.HISTORY.PO' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('commercial', '/deal/consult/' + history.id)\" *ngSwitchCase=\"'DEAL'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">local_offer</span>\r\n {{ 'COMMON.HEADER.HISTORY.DEAL' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('commercial', '/work-record/consult/'+ history.id +'/general')\" *ngSwitchCase=\"'WORK'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">theaters</span>\r\n {{ 'COMMON.HEADER.HISTORY.WORK' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('legal', '/contracts/contract-acq/consult/' + history.id)\"\r\n *ngSwitchCase=\"'CONTRACT_ACQ'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">assignment</span>\r\n {{ 'COMMON.HEADER.HISTORY.CONTRACT-ACQ' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('legal', '/contracts/contract-cess/consult/' + history.id)\"\r\n *ngSwitchCase=\"'CONTRACT_CESS'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">article</span>\r\n {{ 'COMMON.HEADER.HISTORY.CONTRACT-CESS' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button (click)=\"navigate('expenditure-commitment', '/budget/form/' + history.id)\" *ngSwitchCase=\"'BUDGET'\"\r\n mat-menu-item>\r\n <span class=\"material-icons-outlined\">payments</span>\r\n {{ 'COMMON.HEADER.HISTORY.BUDGET' | commonTranslate : lang }} {{history.ref}}\r\n </button>\r\n <button *ngSwitchCase=\"'NO_HISTORY_AVAILABLE'\" mat-menu-item>\r\n <span class=\"material-icons-outlined\">not_interested</span>\r\n {{ 'COMMON.HEADER.HISTORY.NO_HISTORY_AVAILABLE' | commonTranslate : lang }}\r\n </button>\r\n </ng-container>\r\n </mat-menu>\r\n\r\n <div class=\"global-search d-flex max-width-60\">\r\n <i class=\"material-icons global-search-icon header-icon\">search</i>\r\n <span class=\"global-search-separator\"></span>\r\n <mat-form-field class=\"max-width-100\" floatLabel=\"never\">\r\n <div class=\"d-flex\">\r\n <input [formControl]=\"formControlSearch\" [matAutocomplete]=\"autoSearch\"\r\n class=\"global-search-input max-width-85\"\r\n id=\"search-input\"\r\n matInput\r\n placeholder=\"search ...\"/>\r\n <button (click)=\"navigate(null, '/advanced-search')\"\r\n class=\"btn advanced-button\" mat-raised-button>\r\n <span class=\"material-icons icon\">flash_on</span>\r\n {{ 'COMMON.HEADER.GLOBAL_SEARCH.ADVANCED' | commonTranslate: lang }}\r\n </button>\r\n\r\n <mat-autocomplete #autoSearch=\"matAutocomplete\" class=\"mat-autocomplete-global-search\" panelWidth=\"56vw\">\r\n <mat-option (onSelectionChange)=\"onSelectSearch($event, doc)\"\r\n *ngFor=\"let doc of documents$ | async\"\r\n class=\"mat-option-global-search\">\r\n <!--PURCHASE_ORDER-->\r\n <div *ngIf=\"doc.docType === RapidSearchItemType.PURCHASE_ORDER\" class=\"d-flex align-items-center\">\r\n <div class=\"max-width-5\">\r\n <span class=\"material-icons-outlined rapid-search-type-icon\">receipt_long</span>\r\n </div>\r\n <div class=\"d-flex max-width-95\">\r\n <div class=\"d-flex flex-column max-width-70\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PURCHASE_ORDER' | commonTranslate: lang }}</span>\r\n <span>{{ doc.poNumber }}\r\n - {{ doc.totalAmount | currency: doc.currencyCode:'symbol':undefined:'fr-FR'}}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.BASKET_NUMBER' | commonTranslate: lang }}</span>\r\n <span>{{ doc?.basketNumber ? doc.basketNumber : '-' }}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.EAN' | commonTranslate: lang }}</span>\r\n <span>{{ doc?.ean ? doc.ean : '-' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--PRODUCT-->\r\n <div *ngIf=\"doc.docType === RapidSearchItemType.PRODUCT\" class=\"d-flex align-items-center\">\r\n <div class=\"max-width-5\">\r\n <span class=\"material-icons-outlined rapid-search-type-icon\">movie</span>\r\n </div>\r\n <div class=\"d-flex max-width-95\">\r\n <div class=\"ellipsis d-flex flex-column max-width-60\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PRODUCT' | commonTranslate: lang }}</span>\r\n <span class=\"ellipsis\">{{ doc.title }}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-10\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.SUPPORT' | commonTranslate: lang }}</span>\r\n <span>{{doc.support[labelLang]}}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.EAN' | commonTranslate: lang }}</span>\r\n <span>{{ doc.ean }}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.RELEASE_DATE' | commonTranslate: lang }}</span>\r\n <span>{{ doc?.releaseDate ? doc.releaseDate : '-' }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--WORK-->\r\n <div *ngIf=\"doc.docType === RapidSearchItemType.WORK_VERSION\" class=\"d-flex align-items-center\">\r\n <div class=\"max-width-5\">\r\n <span class=\"material-icons-outlined rapid-search-type-icon\">theaters</span>\r\n </div>\r\n <div class=\"d-flex max-width-95\">\r\n <div class=\"d-flex flex-column max-width-75 ellipsis\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.WORK' | commonTranslate: lang }}</span>\r\n <span class=\"ellipsis\">{{ doc.title }} ({{doc.codeIso}})</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-10\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.MILO_CODE' | commonTranslate: lang }}</span>\r\n <span>{{doc.miloCode}}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span\r\n class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.PRODUCTION_YEAR' | commonTranslate: lang }}</span>\r\n <span>{{ doc.yearOfProduction }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--DEAL-->\r\n <div *ngIf=\"doc.docType === RapidSearchItemType.DEAL\" class=\"d-flex align-items-center\">\r\n <div class=\"max-width-5\">\r\n <span class=\"material-icons-outlined rapid-search-type-icon\">local_offer</span>\r\n </div>\r\n <div class=\"d-flex max-width-95\">\r\n <div class=\"d-flex flex-column max-width-70 ellipsis\">\r\n <span class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.DEAL' | commonTranslate: lang }}</span>\r\n <span class=\"ellipsis\">{{ doc.dealNumber }} - {{doc.thirdPartyClientName}} ({{doc.thirdPartyClientSap}})</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.AMOUNT' | commonTranslate: lang\r\n }}</span>\r\n <span>{{doc.calculatedAmount | currency: doc.currencyCode:'symbol'}}</span>\r\n </div>\r\n <div class=\"d-flex flex-column max-width-15\">\r\n <span class=\"auto-complete-label\">{{ 'COMMON.HEADER.GLOBAL_SEARCH.ITEM.VALIDATION_DATE' | commonTranslate: lang\r\n }}</span>\r\n <span>{{ doc.validationDate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </mat-option>\r\n </mat-autocomplete>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n <span class=\"d-flex flex-column max-width-15\"></span>\r\n <div *ngIf=\"user && user.secondary\" class=\"connected-as d-flex justify-content-between align-items-center\">\r\n <span style=\"margin-right: 10px\">\r\n {{ 'COMMON.HEADER.CONNECTED_AS' | commonTranslate: lang }} {{user.login + ' - ' + user.firstName + ' ' + user.name }}\r\n </span>\r\n\r\n <button (click)=\"stopIdentityTheft()\" *ngIf=\"user.secondary\" color=\"warn\" mat-raised-button>\r\n {{ 'CORE.STOP' | commonTranslate: lang }}\r\n </button>\r\n </div>\r\n <span class=\"header-separator\"></span>\r\n\r\n <span [matMenuTriggerFor]=\"settings\" class=\"material-icons-outlined header-icon max-width-5\">settings</span>\r\n\r\n <!-- #enddocregion mat-menu-trigger-for -->\r\n <mat-menu #settings=\"matMenu\" class=\"action-menu\">\r\n <button (click)=\"switchTheme()\" mat-menu-item>\r\n <mat-icon class=\"menu-icon mat-icon\">toggle_on</mat-icon>\r\n <span>{{'COMMON.HEADER.PARAMETERS.THEME' | commonTranslate: lang}}</span>\r\n </button>\r\n <button (click)='switchLang(\"en\")' *ngIf='lang !== \"en\"' mat-menu-item>\r\n <img src=\"assets/img/flag/en-flag.png\">\r\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.ENGLISH' | commonTranslate: lang }}\r\n </button>\r\n <button (click)='switchLang(\"fr\")' *ngIf='lang !== \"fr\"' mat-menu-item>\r\n <img src=\"assets/img/flag/fr-flag.png\">\r\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.FRENCH' | commonTranslate: lang }}\r\n </button>\r\n <button (click)='switchLang(\"de\")' *ngIf='lang !== \"de\" ' mat-menu-item>\r\n <img src=\"assets/img/flag/de-flag.png\">\r\n {{ 'COMMON.HEADER.PARAMETERS.TITLE.LANGUAGES.DEUTCH' | commonTranslate: lang }}\r\n </button>\r\n </mat-menu>\r\n</mat-toolbar>\r\n\r\n", styles: [".sc-header{height:64px;position:fixed;z-index:999}mat-toolbar{width:100%}.logo-unity{height:48px;width:48px}.header-icon{width:22px;height:20px}.global-search{height:40px;background:#EFF3F6;padding:0;margin-left:30px;border-radius:8px}.global-search-icon{width:18px;height:18px;margin:10px 12px 10px 10px}.global-search-input{background:#EFF3F6;border:none;margin-left:10px;font-size:14px!important}.global-search-input:focus{outline:none}.global-search-separator{display:inline-block;height:70%;border-right:2px solid #D3DFEC;margin-top:6px}.rapid-search-type-icon{font-size:1.4em;vertical-align:middle}.advanced-button{width:90px!important;min-width:90px!important;height:24px!important;background:#7C87FF;border:none;box-shadow:0 2px 6px #445d7b29,inset 0 2px 6px #ffffff14,inset 0 -2px 4px #445d7b0f;border-radius:4px;line-height:12px;color:#fff;margin:auto 5px auto auto;cursor:pointer;padding:0!important}.advanced-button .icon{font-size:12px;vertical-align:middle}.sc-header .header-icon{color:#009ef7;cursor:pointer;text-align:center}.header-separator{display:inline-block;height:25%;margin-top:6px}.connected-as{font-size:12px}.user-thumb{margin-right:16px;width:40px;height:40px}#env-uat{background-color:#809ec1;color:#fff}#env-dev{background-color:#809ec1;color:#fff}#env-sbx{background-color:#809ec1;color:#fff}.env{color:#fff;font-size:10px;border-radius:1px;padding:0 5px;line-height:16px;height:16px}:host ::ng-deep .global-search .mat-form-field-appearance-legacy .mat-form-field-label{top:2.2em!important;margin-left:10px;font-family:Roboto;font-style:italic;font-weight:bold;font-size:14px;line-height:14px}.mat-option-global-search{height:30px!important;line-height:15px!important;padding:0 8px}.auto-complete-label{font-size:8px}.center{text-align:center}.mr-10{margin-right:10px}.mr-20{margin-right:20px}.mr-30{margin-right:30px}.mb-2{margin-bottom:2px}.mat-menu-item img{height:12px!important;margin-right:13px;margin-bottom:-2px;margin-left:3px}.max-width-5{flex:1 1 5%;max-width:5%}.max-width-10{flex:1 1 10%;max-width:10%}.max-width-15{flex:1 1 15%;max-width:15%}.max-width-60{flex:1 1 60%;max-width:60%}.max-width-70{flex:1 1 70%;max-width:70%}.max-width-75{flex:1 1 75%;max-width:75%}.max-width-85{flex:1 1 85%;max-width:85%}.max-width-95{flex:1 1 95%;max-width:95%}.max-width-100{flex:1 1 100%;max-width:100%}\n"], components: [{ type: i13.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i14.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i14.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i15.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i16.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i17.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i18.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i20.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i20.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["matMenuTriggerRestoreFocus", "mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { type: i21.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { type: i20.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i20.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i20.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i22.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i23.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i17.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i23.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i23.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "commonTranslate": i24.CommonTranslatePipe, "async": i20.AsyncPipe, "currency": i20.CurrencyPipe } });
|
|
167
170
|
__decorate([
|
|
168
171
|
Theme()
|
|
169
172
|
], HeaderComponent.prototype, "theme", void 0);
|
|
@@ -186,4 +189,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImpor
|
|
|
186
189
|
type: HostListener,
|
|
187
190
|
args: ['window:scroll', []]
|
|
188
191
|
}] } });
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNOUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVF2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBS2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVN0QyxNQUFNLE9BQU8sZUFBZTtJQWtCMUIsWUFDVSxNQUFjLEVBQ2Qsa0JBQTZDLEVBQzdDLFlBQWlDLEVBQ2pDLGNBQW9DLEVBQ3BDLFNBQTJCLEVBQzNCLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsa0JBQXNDLEVBQ3RDLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixXQUF3QixFQUN4QixvQkFBMEMsRUFDdEIsTUFBYztRQVpsQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEyQjtRQUM3QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBQ3BDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBM0JoQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHMUMsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN0QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2Ysa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFHakIsd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFtQi9DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDcEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUM7UUFDbEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDeEQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNULE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2Y7WUFDRCxPQUFPLElBQUksQ0FBQyxvQkFBb0I7aUJBQzdCLGlCQUFpQixDQUFDLElBQUksQ0FBQztpQkFDdkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2hFLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDTixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUdRLGNBQWM7UUFDakIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUNELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7U0FDdkI7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBR00sc0JBQXNCO1FBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxnQkFBZ0I7aUJBQ2hCLG1CQUFtQixFQUFFO2lCQUNyQixTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDNUU7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsZ0JBQWdCO2lCQUNoQixtQkFBbUIsRUFBRTtpQkFDckIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNiLGNBQWMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsS0FBYTtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QixLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFdkUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjthQUFNLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQzthQUFNO1lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDdkQ7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQzlFO0lBQ0wsQ0FBQztJQUVJLFVBQVUsQ0FBQyxJQUFJO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxlQUFlLENBQUMsSUFBWTtRQUNsQyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7YUFBTSxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFnQyxFQUFFLEdBQVE7UUFDdkQsUUFBTyxHQUFHLENBQUMsT0FBTyxFQUFDO1lBQ2pCLEtBQUssbUJBQW1CLENBQUMsY0FBYztnQkFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxtQkFBbUIsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hFLE1BQU07WUFDUixLQUFLLG1CQUFtQixDQUFDLE9BQU87Z0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLG1CQUFtQixHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDNUQsTUFBTTtZQUNSLEtBQUssbUJBQW1CLENBQUMsWUFBWTtnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztnQkFDekQsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7NEdBN0pVLGVBQWUsOFpBK0JoQixVQUFVO2dHQS9CVCxlQUFlLGdLQ2pDNUIsbzZmQW1TQTtBRGpRYTtJQUFSLEtBQUssRUFBRTs4Q0FBc0I7QUFDdEI7SUFBUCxJQUFJLEVBQUU7NkNBQTRCOzJGQUYxQixlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsV0FBVyxFQUFFLHlCQUF5QjtpQkFDekM7OzBCQWdDSSxNQUFNOzJCQUFDLFVBQVU7NENBOUJGLEtBQUssTUFDTixJQUFJLE1BRVQsZUFBZTtzQkFBeEIsTUFBTTtnQkE4REEsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uc0ludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzL3Blcm1pc3Npb25zLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVGhlbWUgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9ycy90aGVtZS5kZWNvcmF0b3JcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9ycy91c2VyLmRlY29yYXRvclwiO1xuaW1wb3J0IHsgQXV0aFVzZXJNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHNcIjtcbmltcG9ydCB7IExvY2FsU3RvcmFnZUV2ZW50c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZXZlbnQvc3RvcmFnZS9sb2NhbC1zdG9yYWdlLWV2ZW50cy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUb2FzdGVyRXZlbnRzU2VydmljZSB9IGZyb20gXCIuLi8uLi90b2FzdGVyL3RvYXN0ZXItZXZlbnRzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbW1vbkFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXBpL2NvbW1vbi1hcGkuc2VydmljZVwiO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2VcIjtcbmltcG9ydCB7IFBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gXCIuLi8uLi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUtbGFuZ3VhZ2UvbGFuZy5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBFbGFzdGljc2VhcmNoU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9lbGFzdGljc2VhcmNoL2VsYXN0aWNzZWFyY2guc2VydmljZVwiO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlclJhcGlkU2VhcmNoTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQvcHVyY2hhc2Utb3JkZXItcmFwaWQtc2VhcmNoLm1vZGVsXCI7XG5pbXBvcnQgeyBQcm9kdWN0UmFwaWRTZWFyY2hNb2RlbCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdmlkZW8vcHJvZHVjdC1yYXBpZC1zZWFyY2gubW9kZWxcIjtcbmltcG9ydCB7IFJhcGlkU2VhcmNoSXRlbVR5cGUgfSBmcm9tIFwiLi4vLi4vZW51bXMvcmFwaWQtc2VhcmNoLWl0ZW0tdHlwZS5lbnVtXCJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV29ya1ZlcnNpb25SYXBpZFNlYXJjaE1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZWZlcmVudGlhbC93b3JrLXZlcnNpb24tcmFwaWQtc2VhcmNoLm1vZGVsXCI7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1hdE9wdGlvblNlbGVjdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2MtaGVhZGVyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIFBlcm1pc3Npb25zSW50ZXJmYWNlIHtcbiAgICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcbiAgICBAVXNlcigpIHB1YmxpYyB1c2VyOiBBdXRoVXNlck1vZGVsO1xuXG4gICAgQE91dHB1dCgpIHRvb2dsZU1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBwdWJsaWMgbGFuZzogc3RyaW5nO1xuICBwdWJsaWMgbGFiZWxMYW5nID0gJ2xhYmVsRnInO1xuICBwdWJsaWMgaXNIaWRlID0gZmFsc2U7XG4gIHB1YmxpYyBjdXJyZW50U2Nyb2xsID0gMDtcbiAgcHVibGljIGVudjogc3RyaW5nO1xuICBwdWJsaWMgaGlzdG9yeUxpc3QgPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlVcmw6IHN0cmluZztcblxuICBwdWJsaWMgUmFwaWRTZWFyY2hJdGVtVHlwZSA9IFJhcGlkU2VhcmNoSXRlbVR5cGU7XG4gIHB1YmxpYyBmb3JtQ29udHJvbFNlYXJjaDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBkb2N1bWVudHMkOiBPYnNlcnZhYmxlPChQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbCB8IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIHwgV29ya1ZlcnNpb25SYXBpZFNlYXJjaE1vZGVsKVtdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlRXZlbnRzOiBMb2NhbFN0b3JhZ2VFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0ZXJFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29tbW9uQXBpU2VydmljZTogQ29tbW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGVybWlzc2lvbnNTZXJ2aWNlOiBQZXJtaXNzaW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyLFxuICAgIHByaXZhdGUgY29va2llU2VydmljZTogQ29va2llU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSxcbiAgICBwcml2YXRlIGVsYXN0aWNzZWFyY2hTZXJ2aWNlOiBFbGFzdGljc2VhcmNoU2VydmljZSxcbiAgICBASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBDb25maWdcbiAgKSB7XG4gICAgdGhpcy5hcGlVcmwgPSB0aGlzLmNvbmZpZy5hcGlfdXJsO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZm9ybUNvbnRyb2xTZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XG5cbiAgICB0aGlzLmluaXRQZXJtaXNzaW9uc1NlcnZpY2UoKTtcbiAgICB0aGlzLmxhbmcgPSB0aGlzLmxvY2FsU3RvcmFnZS5nZXQoJ2xhbmcnKSB8fCAnZnInO1xuICAgIHRoaXMudXBkYXRlTGFiZWxMYW5nKHRoaXMubGFuZyk7XG4gICAgdGhpcy5lbnYgPSB0aGlzLmNvbmZpZy5lbnYudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUV2ZW50cy5sb2NhbFN0b3JhZ2VFdmVudC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5sYW5nID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCdsYW5nJyk7XG4gICAgICB0aGlzLnVwZGF0ZUxhYmVsTGFuZyh0aGlzLmxhbmcpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kb2N1bWVudHMkID0gdGhpcy5mb3JtQ29udHJvbFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgc3dpdGNoTWFwKHRlcm0gPT4ge1xuICAgICAgICBpZiAoIXRlcm0pIHtcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmVsYXN0aWNzZWFyY2hTZXJ2aWNlXG4gICAgICAgICAgLmdldFNlYXJjaFJlc3BvbnNlKHRlcm0pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoc2VhcmNoUmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lbGFzdGljc2VhcmNoU2VydmljZS5nZXREb2N1bWVudHMoc2VhcmNoUmVzcG9uc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgW10pXG4gICAgcHVibGljIG9uV2luZG93U2Nyb2xsKCkge1xuICAgICAgICBjb25zdCBudW1iZXJWYXIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wO1xuICAgICAgICBpZiAobnVtYmVyVmFyID4gdGhpcy5jdXJyZW50U2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG51bWJlclZhciA8IHRoaXMuY3VycmVudFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5pc0hpZGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRTY3JvbGwgPSBudW1iZXJWYXI7XG4gICAgfVxuXG5cbiAgICBwdWJsaWMgaW5pdFBlcm1pc3Npb25zU2VydmljZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wZXJtaXNzaW9uc1NlcnZpY2UuaW5pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzd2l0Y2hUaGVtZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlbWUgPT09ICdkYXJrJykge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnbmV3VGhlbWUnLCAnbGlnaHQnKTtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lclxuICAgICAgICAgICAgICAgIC5nZXRDb250YWluZXJFbGVtZW50KClcbiAgICAgICAgICAgICAgICAuY2xhc3NMaXN0LnJlbW92ZSgnZGFyay10aGVtZScpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdsaWdodC10aGVtZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnbmV3VGhlbWUnLCAnZGFyaycpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyXG4gICAgICAgICAgICAgICAgLmdldENvbnRhaW5lckVsZW1lbnQoKVxuICAgICAgICAgICAgICAgIC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodC10aGVtZScpO1xuICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5jbGFzc0xpc3QuYWRkKCdkYXJrLXRoZW1lJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdG9wSWRlbnRpdHlUaGVmdCgpIHtcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aFRva2VuU2Vjb25kYXJ5Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5hdmlnYXRlKG1vZHVsZSA9ICcnLCByb3V0ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghcm91dGUuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICByb3V0ZSA9ICcvJyArIHJvdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jb25maWcuYXBpX3VybCArIChtb2R1bGUgPyBgLyR7bW9kdWxlfWAgOiAnJykgKyByb3V0ZTtcblxuICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLmhyZWYgPT09IHVybCkge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGAvJHttb2R1bGV9YCkpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocm91dGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0SGlzdG9yeSgpIHtcbiAgICAgICAgdGhpcy5oaXN0b3J5TGlzdCA9IFtdO1xuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2UuZXhpc3QoJ2hpc3RvcnknKSkge1xuICAgICAgICAgICAgdGhpcy5oaXN0b3J5TGlzdCA9IHRoaXMubG9jYWxTdG9yYWdlLmdldCgnaGlzdG9yeScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaGlzdG9yeUxpc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlMaXN0LnB1c2goe3R5cGU6ICdOT19ISVNUT1JZX0FWQUlMQUJMRScsIGlkOiBudWxsLCByZWY6IG51bGx9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICBwdWJsaWMgc3dpdGNoTGFuZyhsYW5nKSB7XG4gICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnbGFuZycsIGxhbmcpO1xuICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKTtcbiAgICB0aGlzLmxhbmdTZXJ2aWNlLnN3aXRjaExhbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlTGFiZWxMYW5nKGxhbmc6IHN0cmluZykge1xuICAgIGlmICgnZW4nID09PSBsYW5nKSB7XG4gICAgICB0aGlzLmxhYmVsTGFuZyA9ICdsYWJlbEVuJztcbiAgICB9IGVsc2UgaWYgKCdkZScgPT09IGxhbmcpIHtcbiAgICAgIHRoaXMubGFiZWxMYW5nID0gJ2xhYmVsRGUnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxhYmVsTGFuZyA9ICdsYWJlbEZyJztcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdFNlYXJjaCgkZXZlbnQ6IE1hdE9wdGlvblNlbGVjdGlvbkNoYW5nZSwgZG9jOiBhbnkpIHtcbiAgICBzd2l0Y2goZG9jLmRvY1R5cGUpe1xuICAgICAgY2FzZSBSYXBpZFNlYXJjaEl0ZW1UeXBlLlBVUkNIQVNFX09SREVSOlxuICAgICAgICB0aGlzLm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9wdXJjaGFzZS1vcmRlcnMvJyArIGRvYy5wb0lkKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFJhcGlkU2VhcmNoSXRlbVR5cGUuUFJPRFVDVDpcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZSgndmlkZW8nLCAnL3Byb2R1Y3QvY29uc3VsdC8nICsgZG9jLnByb2R1Y3RJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBSYXBpZFNlYXJjaEl0ZW1UeXBlLldPUktfVkVSU0lPTjpcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShudWxsLCAnL3dvcmstc3VtbWFyeS8nICsgZG9jLmlkICsgJy9pbmZvJyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC10b29sYmFyIFtuZ0NsYXNzXT1cInsgJ2xpZ2h0LWhlYWRlcic6IHRoZW1lICE9PSAnZGFyaycgfVwiXG4gICAgICAgICAgICAgY2xhc3M9XCJzYy1oZWFkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1lbmRcIj5cbiAgICA8YVxuICAgICAgW2hyZWZdPVwiZW52ID09PSAncHJvZCcgPyAnaHR0cHM6Ly91bml0eS5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJyA6IChlbnYgPT09ICdzYngnID8gJ2h0dHBzOi8vdW5pdHktc2J4LmNwbHVzL2Rhc2hib2FyZCcgOiAnaHR0cHM6Ly91bml0eS0nICsgZW52ICsgJy5zdHVkaW9jYW5hbC5jb20vZGFzaGJvYXJkJylcIj5cbiAgICAgIDxpbWcgY2xhc3M9XCJsb2dvLXVuaXR5XCIgc3JjPVwiLi9hc3NldHMvaW1nL3VuaXR5X2xvZ29fNDh4NDgucG5nXCI+XG4gICAgPC9hPlxuICAgIDxzcGFuICpuZ0lmPVwiZW52ICE9ICdwcm9kJ1wiIFthdHRyLmlkXT1cIidlbnYtJyArIGVudlwiIGNsYXNzPVwiZW52XCI+e3tlbnZ9fTwvc3Bhbj5cbiAgPC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XG4gIDxzcGFuIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51X2dsb2JhbFwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIj5hcHBzPC9zcGFuPlxuICA8bWF0LW1lbnUgI21lbnVfZ2xvYmFsPVwibWF0TWVudVwiIGNsYXNzPVwiYWN0aW9uLW1lbnVcIj5cbiAgICA8IS0tREFTSEJPQVJELS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUobnVsbCwgJy9kYXNoYm9hcmQnKVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+YXBwczwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuREFTSEJPQVJEJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tQ09NTUVSQ0lBTC0tPlxuICAgIDxzcGFuICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ0NPTU1FUkNJQUwnXVwiPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2NvbW1lcmNpYWwnLCAnL2RlYWwvc2VhcmNoJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+bG9jYWxfb2ZmZXI8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ09NTUVSQ0lBTCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdjb21tZXJjaWFsJywgJy90dXJub3Zlci9zZWFyY2gnKVwiXG4gICAgICAgICAgICAgICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ0FDQ09VTlRBTlQnLCAnQURNSU5JU1RSQVRJVkVfQ09OVFJPTExFUiddXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnJlcXVlc3RfcXVvdGU8L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ09NTUVSQ0lBTC5GSU5BTkNFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbiAgICA8IS0tVVNFUi0tPlxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCd1c2VyJywgJy9hY2NvdW50L2F1dGhvcml6YXRpb24vc2VhcmNoJylcIiAqbmdJZj1cInVzZXIgJiYgdXNlci5hZG1pblwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+bWFuYWdlX2FjY291bnRzPC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLlNFQ1RJT05fVElUTEUnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDwhLS1NWSBQUkVGRVJFTkNFUy0tPlxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCd1c2VyJywgJy9hY2NvdW50L3NldHRpbmdzJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnNldHRpbmdzPC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLlNFVFRJTkdTJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tQkFUQ0gtLT5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnYmF0Y2gnLCAnL2pvYnMvcmVmZXJlbnRpYWwnKVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ01PRFVMRSBSRUYnXVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+YXV0b3JlbmV3PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5SRUZFUkVOVElBTC5CQVRDSCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPCEtLVRWIERBVEEtLT5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgndHZkYXRhJywgJy9pbmZvcy1jZW50ZXInKVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ1RWREFUQSddXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5zb3VyY2U8L3NwYW4+XG4gICAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLlRWLURBVEEnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICAgIDwhLS1FWFBFTkRJVFVSRSBDT01NSVRNRU5ULS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQnLCAnL2hvbWUvY29tbWFuZHMnKVwiICpuZ3hQZXJtaXNzaW9uc0V4Y2VwdD1cIlsnVU5JVkVSU0FMX1JPTEUnXVwiXG4gICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnJlY2VpcHRfbG9uZzwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuRVhQRU5ESVRVUkVfQ09NTUlUTUVOVCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPCEtLUJJLS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2JpJywgJy9zaW1wbGUtc2VhcmNoL2Zvcm0nKVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ01PRFVMRSBCSSddXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj50cmF2ZWxfZXhwbG9yZTwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQkkuU0VBUkNIJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8IS0tTEVHQUwtLT5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NvbnRyYWN0cy9tZW51L2xlZ2Fscy1kZXQnKVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ0xFR0FMJ11cIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmdhdmVsPC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5MRUdBTCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gICAgPCEtLUNBTEVOREFSLS0+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2NhbGVuZGFyJywgJycpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5jYWxlbmRhcl9tb250aDwvc3Bhbj5cbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ0FMRU5EQVInIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XG4gIDxzcGFuIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBoZWFkZXItaWNvbiBtYXgtd2lkdGgtNVwiPmFkZF9ib3g8L3NwYW4+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjdGlvbi1tZW51XCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ3ZpZGVvJywgJy9wcm9kdWN0L2Zvcm0nKVwiIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+dGhlYXRlcnM8L3NwYW4+XG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5QUk9EVUNUJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9wdXJjaGFzZS1vcmRlcnMvZm9ybScpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5yZWNlaXB0X2xvbmc8L3NwYW4+XG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5QTycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY29tbWVyY2lhbCcsICcvZGVhbC9mb3JtJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmxvY2FsX29mZmVyPC9zcGFuPlxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuQ1JFQVRJT04uREVBTCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NyZWF0ZUNvbnRyYWN0L2FjcScpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5zaG9wX3R3bzwvc3Bhbj5cbiAgICAgIHt7ICdDT01NT04uSEVBREVSLkNSRUFUSU9OLkNSRUFUSU9OX0FDUScgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NyZWF0ZUNvbnRyYWN0L3NhbGVzJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmFydGljbGU8L3NwYW4+XG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5DUkVBVElPTl9DRVNTJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgIDwvYnV0dG9uPlxuXHQgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdsZWdhbCcsICcvY3JlYXRlQ29udHJhY3QvYXV0aCcpXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hY2NvdW50X2NpcmNsZTwvc3Bhbj5cbiAgICAgIHt7ICdDT01NT04uSEVBREVSLkNSRUFUSU9OLkNSRUFUSU9OX0FVVEgnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ3BhJywgJy9jYW1wYWlnbi9mb3JtJylcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmNhbXBhaWduPC9zcGFuPlxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuQ1JFQVRJT04uQ0FNUEFJR04nIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XG4gICAgPC9idXR0b24+XG4gIDwvbWF0LW1lbnU+XG4gIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgPHNwYW4gKGNsaWNrKT1cImdldEhpc3RvcnkoKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51SGlzdG9yeVwiXG4gICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIj5oaXN0b3J5PC9zcGFuPlxuICA8bWF0LW1lbnUgI21lbnVIaXN0b3J5PVwibWF0TWVudVwiIGNsYXNzPVwiYWN0aW9uLW1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIGhpc3RvcnlMaXN0XCIgW25nU3dpdGNoXT1cImhpc3RvcnkudHlwZVwiPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQnLCAnL3B1cmNoYXNlLW9yZGVycy8nICsgaGlzdG9yeS5pZClcIiAqbmdTd2l0Y2hDYXNlPVwiJ1BST0RVQ1QnXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnRoZWF0ZXJzPC9zcGFuPlxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLlBST0RVQ1QnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyB9fXt7aGlzdG9yeS50eXBlfX0ge3toaXN0b3J5LnJlZn19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9wdXJjaGFzZS1vcmRlcnMvJyArIGhpc3RvcnkuaWQpXCIgKm5nU3dpdGNoQ2FzZT1cIidQTydcIlxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+cmVjZWlwdF9sb25nPC9zcGFuPlxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLlBPJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19IHt7aGlzdG9yeS5yZWZ9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY29tbWVyY2lhbCcsICcvZGVhbC9jb25zdWx0LycgKyBoaXN0b3J5LmlkKVwiICpuZ1N3aXRjaENhc2U9XCInREVBTCdcIlxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+bG9jYWxfb2ZmZXI8L3NwYW4+XG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuREVBTCcgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nICB9fSB7e2hpc3RvcnkucmVmfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2NvbW1lcmNpYWwnLCAnL3dvcmstcmVjb3JkL2NvbnN1bHQvJysgaGlzdG9yeS5pZCArJy9nZW5lcmFsJylcIiAqbmdTd2l0Y2hDYXNlPVwiJ1dPUksnXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnRoZWF0ZXJzPC9zcGFuPlxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLldPUksnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyB9fSB7e2hpc3RvcnkucmVmfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2xlZ2FsJywgJy9jb250cmFjdHMvY29udHJhY3QtYWNxL2NvbnN1bHQvJyArIGhpc3RvcnkuaWQpXCJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDT05UUkFDVF9BQ1EnXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmFzc2lnbm1lbnQ8L3NwYW4+XG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuQ09OVFJBQ1QtQUNRJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19IHt7aGlzdG9yeS5yZWZ9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NvbnRyYWN0cy9jb250cmFjdC1jZXNzL2NvbnN1bHQvJyArIGhpc3RvcnkuaWQpXCJcbiAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDT05UUkFDVF9DRVNTJ1wiXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hcnRpY2xlPC9zcGFuPlxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLkNPTlRSQUNULUNFU1MnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyAgfX0ge3toaXN0b3J5LnJlZn19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9idWRnZXQvZm9ybS8nICsgaGlzdG9yeS5pZClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0JVREdFVCdcIlxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+cGF5bWVudHM8L3NwYW4+XG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuQlVER0VUJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19IHt7aGlzdG9yeS5yZWZ9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCInTk9fSElTVE9SWV9BVkFJTEFCTEUnXCIgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm5vdF9pbnRlcmVzdGVkPC9zcGFuPlxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLk5PX0hJU1RPUllfQVZBSUxBQkxFJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtbWVudT5cblxuICA8ZGl2IGNsYXNzPVwiZ2xvYmFsLXNlYXJjaCBkLWZsZXggbWF4LXdpZHRoLTYwXCI+XG4gICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBnbG9iYWwtc2VhcmNoLWljb24gaGVhZGVyLWljb25cIj5zZWFyY2g8L2k+XG4gICAgPHNwYW4gY2xhc3M9XCJnbG9iYWwtc2VhcmNoLXNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXgtd2lkdGgtMTAwXCIgZmxvYXRMYWJlbD1cIm5ldmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XG4gICAgICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xTZWFyY2hcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9TZWFyY2hcIlxuICAgICAgICAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoLWlucHV0IG1heC13aWR0aC04NVwiXG4gICAgICAgICAgICAgICBpZD1cInNlYXJjaC1pbnB1dFwiXG4gICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJzZWFyY2ggLi4uXCIvPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZShudWxsLCAnL2FkdmFuY2VkLXNlYXJjaCcpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBhZHZhbmNlZC1idXR0b25cIiBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGljb25cIj5mbGFzaF9vbjwvc3Bhbj5cbiAgICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILkFEVkFOQ0VEJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b1NlYXJjaD1cIm1hdEF1dG9jb21wbGV0ZVwiIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1nbG9iYWwtc2VhcmNoXCIgcGFuZWxXaWR0aD1cIjU2dndcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3RTZWFyY2goJGV2ZW50LCBkb2MpXCJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZG9jIG9mIGRvY3VtZW50cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXQtb3B0aW9uLWdsb2JhbC1zZWFyY2hcIj5cbiAgICAgICAgICAgIDwhLS1QVVJDSEFTRV9PUkRFUi0tPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRvYy5kb2NUeXBlID09PSBSYXBpZFNlYXJjaEl0ZW1UeXBlLlBVUkNIQVNFX09SREVSXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXgtd2lkdGgtNVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcmFwaWQtc2VhcmNoLXR5cGUtaWNvblwiPnJlY2VpcHRfbG9uZzwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbWF4LXdpZHRoLTk1XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtNzBcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5QVVJDSEFTRV9PUkRFUicgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2MucG9OdW1iZXIgfX1cbiAgICAgICAgICAgICAgICAgICAgLSB7eyBkb2MudG90YWxBbW91bnQgfCBjdXJyZW5jeTogZG9jLmN1cnJlbmN5Q29kZTonc3ltYm9sJzp1bmRlZmluZWQ6J2ZyLUZSJ319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTE1XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uQkFTS0VUX05VTUJFUicgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2M/LmJhc2tldE51bWJlciA/IGRvYy5iYXNrZXROdW1iZXIgOiAnLScgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtMTVcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5FQU4nIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jPy5lYW4gPyBkb2MuZWFuIDogJy0nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLVBST0RVQ1QtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2MuZG9jVHlwZSA9PT0gUmFwaWRTZWFyY2hJdGVtVHlwZS5QUk9EVUNUXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXgtd2lkdGgtNVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcmFwaWQtc2VhcmNoLXR5cGUtaWNvblwiPm1vdmllPC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtYXgtd2lkdGgtOTVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWxsaXBzaXMgZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC02MFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLlBST0RVQ1QnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbGxpcHNpc1wiPnt7IGRvYy50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xMFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLlNVUFBPUlQnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3tkb2Muc3VwcG9ydFtsYWJlbExhbmddfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtMTVcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5FQU4nIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jLmVhbiB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xNVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLlJFTEVBU0VfREFURScgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2M/LnJlbGVhc2VEYXRlID8gZG9jLnJlbGVhc2VEYXRlIDogJy0nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPCEtLVdPUkstLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2MuZG9jVHlwZSA9PT0gUmFwaWRTZWFyY2hJdGVtVHlwZS5XT1JLX1ZFUlNJT05cIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13aWR0aC01XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCByYXBpZC1zZWFyY2gtdHlwZS1pY29uXCI+dGhlYXRlcnM8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1heC13aWR0aC05NVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTc1IGVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uV09SSycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+e3sgZG9jLnRpdGxlIH19ICh7e2RvYy5jb2RlSXNvfX0pPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTEwXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uTUlMT19DT0RFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZG9jLm1pbG9Db2RlfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtMTVcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5QUk9EVUNUSU9OX1lFQVInIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jLnllYXJPZlByb2R1Y3Rpb24gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICA8L2Rpdj5cblxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgPC9kaXY+XG5cbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTE1XCI+PC9zcGFuPlxuICA8ZGl2ICpuZ0lmPVwidXNlciAmJiB1c2VyLnNlY29uZGFyeVwiIGNsYXNzPVwiY29ubmVjdGVkLWFzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHB4XCI+XG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkNPTk5FQ1RFRF9BUycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX0gIHt7dXNlci5sb2dpbiArICcgLSAnICsgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLm5hbWUgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgIDxidXR0b24gKGNsaWNrKT1cInN0b3BJZGVudGl0eVRoZWZ0KClcIiAqbmdJZj1cInVzZXIuc2Vjb25kYXJ5XCIgY29sb3I9XCJ3YXJuXCIgbWF0LXJhaXNlZC1idXR0b24+XG4gICAgICB7eyAnQ09SRS5TVE9QJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPHNwYW4gY2xhc3M9XCJoZWFkZXItc2VwYXJhdG9yXCI+PC9zcGFuPlxuXG4gIDxzcGFuIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZXR0aW5nc1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIj5zZXR0aW5nczwvc3Bhbj5cblxuICA8IS0tICNlbmRkb2NyZWdpb24gbWF0LW1lbnUtdHJpZ2dlci1mb3IgLS0+XG4gIDxtYXQtbWVudSAjc2V0dGluZ3M9XCJtYXRNZW51XCIgY2xhc3M9XCJhY3Rpb24tbWVudVwiPlxuICAgIDxidXR0b24gKGNsaWNrKT1cInN3aXRjaFRoZW1lKClcIiBtYXQtbWVudS1pdGVtPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWVudS1pY29uIG1hdC1pY29uXCI+dG9nZ2xlX29uPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuPnt7J0NPTU1PTi5IRUFERVIuUEFSQU1FVEVSUy5USEVNRScgfCBjb21tb25UcmFuc2xhdGU6IGxhbmd9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9J3N3aXRjaExhbmcoXCJlblwiKScgKm5nSWY9J2xhbmcgIT09IFwiZW5cIicgbWF0LW1lbnUtaXRlbT5cbiAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltZy9mbGFnL2VuLWZsYWcucG5nXCI+XG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5QQVJBTUVURVJTLlRJVExFLkxBTkdVQUdFUy5FTkdMSVNIJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT0nc3dpdGNoTGFuZyhcImZyXCIpJyAqbmdJZj0nbGFuZyAhPT0gXCJmclwiJyBtYXQtbWVudS1pdGVtPlxuICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ZsYWcvZnItZmxhZy5wbmdcIj5cbiAgICAgIHt7ICdDT01NT04uSEVBREVSLlBBUkFNRVRFUlMuVElUTEUuTEFOR1VBR0VTLkZSRU5DSCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIChjbGljayk9J3N3aXRjaExhbmcoXCJkZVwiKScgKm5nSWY9J2xhbmcgIT09IFwiZGVcIiAnIG1hdC1tZW51LWl0ZW0+XG4gICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWcvZmxhZy9kZS1mbGFnLnBuZ1wiPlxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuUEFSQU1FVEVSUy5USVRMRS5MQU5HVUFHRVMuREVVVENIJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1tZW51PlxuPC9tYXQtdG9vbGJhcj5cblxuIl19
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldy1mcm9udC1jb21tb24tbGlicmFyeS9zcmMvbGliL3V0aWwvY29tcG9uZW50L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNOUYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVF2RCxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBS2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVV0QyxNQUFNLE9BQU8sZUFBZTtJQWtCMUIsWUFDVSxNQUFjLEVBQ2Qsa0JBQTZDLEVBQzdDLFlBQWlDLEVBQ2pDLGNBQW9DLEVBQ3BDLFNBQTJCLEVBQzNCLGdCQUFrQyxFQUNsQyxxQkFBNEMsRUFDNUMsa0JBQXNDLEVBQ3RDLGdCQUFrQyxFQUNsQyxhQUE0QixFQUM1QixXQUF3QixFQUN4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QUFXO29CQUNyQixTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDdEMsV0FBVyxFQUFFLHlCQUF5QjtpQkFDekM7OzBCQWdDSSxNQUFNOzJCQUFDLFVBQVU7NENBOUJGLEtBQUssTUFDTixJQUFJLE1BRVQsZUFBZTtzQkFBeEIsTUFBTTtnQkE4REEsY0FBYztzQkFEcEIsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbnNJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHsgVGhlbWUgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9ycy90aGVtZS5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gXCIuLi8uLi9kZWNvcmF0b3JzL3VzZXIuZGVjb3JhdG9yXCI7XHJcbmltcG9ydCB7IEF1dGhVc2VyTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZUV2ZW50c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZXZlbnQvc3RvcmFnZS9sb2NhbC1zdG9yYWdlLWV2ZW50cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmFnZS9sb2NhbC1zdG9yYWdlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVG9hc3RlckV2ZW50c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vdG9hc3Rlci90b2FzdGVyLWV2ZW50cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IENvbW1vbkFwaVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXBpL2NvbW1vbi1hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vcGVybWlzc2lvbnMvcGVybWlzc2lvbnMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb25maWcsIFdFQl9DT05GSUcgfSBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS1sYW5ndWFnZS9sYW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRWxhc3RpY3NlYXJjaFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZWxhc3RpY3NlYXJjaC9lbGFzdGljc2VhcmNoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHVyY2hhc2VPcmRlclJhcGlkU2VhcmNoTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQvcHVyY2hhc2Utb3JkZXItcmFwaWQtc2VhcmNoLm1vZGVsXCI7XHJcbmltcG9ydCB7IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIH0gZnJvbSBcIi4uLy4uL21vZGVscy92aWRlby9wcm9kdWN0LXJhcGlkLXNlYXJjaC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBSYXBpZFNlYXJjaEl0ZW1UeXBlIH0gZnJvbSBcIi4uLy4uL2VudW1zL3JhcGlkLXNlYXJjaC1pdGVtLXR5cGUuZW51bVwiXHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBXb3JrVmVyc2lvblJhcGlkU2VhcmNoTW9kZWwgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3JlZmVyZW50aWFsL3dvcmstdmVyc2lvbi1yYXBpZC1zZWFyY2gubW9kZWxcIjtcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTWF0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IERlYWxSYXBpZFNlYXJjaE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvZGVhbC1yYXBpZC1zZWFyY2gtbW9kZWwnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdzYy1oZWFkZXInLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBQZXJtaXNzaW9uc0ludGVyZmFjZSB7XHJcbiAgICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcclxuICAgIEBVc2VyKCkgcHVibGljIHVzZXI6IEF1dGhVc2VyTW9kZWw7XHJcblxyXG4gICAgQE91dHB1dCgpIHRvb2dsZU1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIGxhbmc6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWxMYW5nID0gJ2xhYmVsRnInO1xyXG4gIHB1YmxpYyBpc0hpZGUgPSBmYWxzZTtcclxuICBwdWJsaWMgY3VycmVudFNjcm9sbCA9IDA7XHJcbiAgcHVibGljIGVudjogc3RyaW5nO1xyXG4gIHB1YmxpYyBoaXN0b3J5TGlzdCA9IFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpVXJsOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBSYXBpZFNlYXJjaEl0ZW1UeXBlID0gUmFwaWRTZWFyY2hJdGVtVHlwZTtcclxuICBwdWJsaWMgZm9ybUNvbnRyb2xTZWFyY2g6IEZvcm1Db250cm9sO1xyXG4gIHB1YmxpYyBkb2N1bWVudHMkOiBPYnNlcnZhYmxlPChQdXJjaGFzZU9yZGVyUmFwaWRTZWFyY2hNb2RlbCB8IFByb2R1Y3RSYXBpZFNlYXJjaE1vZGVsIHwgV29ya1ZlcnNpb25SYXBpZFNlYXJjaE1vZGVsIHwgRGVhbFJhcGlkU2VhcmNoTW9kZWwpW10+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGxvY2FsU3RvcmFnZUV2ZW50czogTG9jYWxTdG9yYWdlRXZlbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlckV2ZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tbW9uQXBpU2VydmljZTogQ29tbW9uQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zU2VydmljZTogUGVybWlzc2lvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyLFxyXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsYXN0aWNzZWFyY2hTZXJ2aWNlOiBFbGFzdGljc2VhcmNoU2VydmljZSxcclxuICAgIEBJbmplY3QoV0VCX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IENvbmZpZ1xyXG4gICkge1xyXG4gICAgdGhpcy5hcGlVcmwgPSB0aGlzLmNvbmZpZy5hcGlfdXJsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbChudWxsKTtcclxuXHJcbiAgICB0aGlzLmluaXRQZXJtaXNzaW9uc1NlcnZpY2UoKTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMubG9jYWxTdG9yYWdlLmdldCgnbGFuZycpIHx8ICdmcic7XHJcbiAgICB0aGlzLnVwZGF0ZUxhYmVsTGFuZyh0aGlzLmxhbmcpO1xyXG4gICAgdGhpcy5lbnYgPSB0aGlzLmNvbmZpZy5lbnYudG9Mb3dlckNhc2UoKTtcclxuICAgIHRoaXMubG9jYWxTdG9yYWdlRXZlbnRzLmxvY2FsU3RvcmFnZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubGFuZyA9IHRoaXMubG9jYWxTdG9yYWdlLmdldCgnbGFuZycpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUxhYmVsTGFuZyh0aGlzLmxhbmcpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5kb2N1bWVudHMkID0gdGhpcy5mb3JtQ29udHJvbFNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKDUwMCksXHJcbiAgICAgIHN3aXRjaE1hcCh0ZXJtID0+IHtcclxuICAgICAgICBpZiAoIXRlcm0pIHtcclxuICAgICAgICAgIHJldHVybiBvZihbXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmVsYXN0aWNzZWFyY2hTZXJ2aWNlXHJcbiAgICAgICAgICAuZ2V0U2VhcmNoUmVzcG9uc2UodGVybSlcclxuICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICBtYXAoc2VhcmNoUmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmVsYXN0aWNzZWFyY2hTZXJ2aWNlLmdldERvY3VtZW50cyhzZWFyY2hSZXNwb25zZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFtdKVxyXG4gICAgcHVibGljIG9uV2luZG93U2Nyb2xsKCkge1xyXG4gICAgICAgIGNvbnN0IG51bWJlclZhciA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICAgICAgaWYgKG51bWJlclZhciA+IHRoaXMuY3VycmVudFNjcm9sbCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChudW1iZXJWYXIgPCB0aGlzLmN1cnJlbnRTY3JvbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0hpZGUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsID0gbnVtYmVyVmFyO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwdWJsaWMgaW5pdFBlcm1pc3Npb25zU2VydmljZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnBlcm1pc3Npb25zU2VydmljZS5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN3aXRjaFRoZW1lKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnRoZW1lID09PSAnZGFyaycpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnbmV3VGhlbWUnLCAnbGlnaHQnKTtcclxuICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAuZ2V0Q29udGFpbmVyRWxlbWVudCgpXHJcbiAgICAgICAgICAgICAgICAuY2xhc3NMaXN0LnJlbW92ZSgnZGFyay10aGVtZScpO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2xpZ2h0LXRoZW1lJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2UucG9zdCgnbmV3VGhlbWUnLCAnZGFyaycpO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlDb250YWluZXJcclxuICAgICAgICAgICAgICAgIC5nZXRDb250YWluZXJFbGVtZW50KClcclxuICAgICAgICAgICAgICAgIC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodC10aGVtZScpO1xyXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2RhcmstdGhlbWUnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcElkZW50aXR5VGhlZnQoKSB7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aFRva2VuU2Vjb25kYXJ5Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5hdmlnYXRlKG1vZHVsZSA9ICcnLCByb3V0ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCFyb3V0ZS5zdGFydHNXaXRoKCcvJykpIHtcclxuICAgICAgICAgICAgcm91dGUgPSAnLycgKyByb3V0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uZmlnLmFwaV91cmwgKyAobW9kdWxlID8gYC8ke21vZHVsZX1gIDogJycpICsgcm91dGU7XHJcblxyXG4gICAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZiA9PT0gdXJsKSB7XHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGAvJHttb2R1bGV9YCkpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyb3V0ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRIaXN0b3J5KCkge1xyXG4gICAgICAgIHRoaXMuaGlzdG9yeUxpc3QgPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5sb2NhbFN0b3JhZ2UuZXhpc3QoJ2hpc3RvcnknKSkge1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlMaXN0ID0gdGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCdoaXN0b3J5Jyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5oaXN0b3J5TGlzdC5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5oaXN0b3J5TGlzdC5wdXNoKHt0eXBlOiAnTk9fSElTVE9SWV9BVkFJTEFCTEUnLCBpZDogbnVsbCwgcmVmOiBudWxsfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICBwdWJsaWMgc3dpdGNoTGFuZyhsYW5nKSB7XHJcbiAgICB0aGlzLmxvY2FsU3RvcmFnZS5wb3N0KCdsYW5nJywgbGFuZyk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZyk7XHJcbiAgICB0aGlzLmxhbmdTZXJ2aWNlLnN3aXRjaExhbmcoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlTGFiZWxMYW5nKGxhbmc6IHN0cmluZykge1xyXG4gICAgaWYgKCdlbicgPT09IGxhbmcpIHtcclxuICAgICAgdGhpcy5sYWJlbExhbmcgPSAnbGFiZWxFbic7XHJcbiAgICB9IGVsc2UgaWYgKCdkZScgPT09IGxhbmcpIHtcclxuICAgICAgdGhpcy5sYWJlbExhbmcgPSAnbGFiZWxEZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxhYmVsTGFuZyA9ICdsYWJlbEZyJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0U2VhcmNoKCRldmVudDogTWF0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlLCBkb2M6IGFueSkge1xyXG4gICAgc3dpdGNoKGRvYy5kb2NUeXBlKXtcclxuICAgICAgY2FzZSBSYXBpZFNlYXJjaEl0ZW1UeXBlLlBVUkNIQVNFX09SREVSOlxyXG4gICAgICAgIHRoaXMubmF2aWdhdGUoJ2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQnLCAnL3B1cmNoYXNlLW9yZGVycy8nICsgZG9jLnBvSWQpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFJhcGlkU2VhcmNoSXRlbVR5cGUuUFJPRFVDVDpcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKCd2aWRlbycsICcvcHJvZHVjdC9jb25zdWx0LycgKyBkb2MucHJvZHVjdElkKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBSYXBpZFNlYXJjaEl0ZW1UeXBlLldPUktfVkVSU0lPTjpcclxuICAgICAgICB0aGlzLm5hdmlnYXRlKG51bGwsICcvd29yay1zdW1tYXJ5LycgKyBkb2MuaWQgKyAnL2luZm8nKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBSYXBpZFNlYXJjaEl0ZW1UeXBlLkRFQUw6XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShudWxsLCAnL2NvbW1lcmNpYWwvZGVhbC9jb25zdWx0LycgKyBkb2MuaWQgKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC10b29sYmFyIFtuZ0NsYXNzXT1cInsgJ2xpZ2h0LWhlYWRlcic6IHRoZW1lICE9PSAnZGFyaycgfVwiXHJcbiAgICAgICAgICAgICBjbGFzcz1cInNjLWhlYWRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtZW5kXCI+XHJcbiAgICA8YVxyXG4gICAgICBbaHJlZl09XCJlbnYgPT09ICdwcm9kJyA/ICdodHRwczovL3VuaXR5LnN0dWRpb2NhbmFsLmNvbS9kYXNoYm9hcmQnIDogKGVudiA9PT0gJ3NieCcgPyAnaHR0cHM6Ly91bml0eS1zYnguY3BsdXMvZGFzaGJvYXJkJyA6ICdodHRwczovL3VuaXR5LScgKyBlbnYgKyAnLnN0dWRpb2NhbmFsLmNvbS9kYXNoYm9hcmQnKVwiPlxyXG4gICAgICA8aW1nIGNsYXNzPVwibG9nby11bml0eVwiIHNyYz1cIi4vYXNzZXRzL2ltZy91bml0eV9sb2dvXzQ4eDQ4LnBuZ1wiPlxyXG4gICAgPC9hPlxyXG4gICAgPHNwYW4gKm5nSWY9XCJlbnYgIT0gJ3Byb2QnXCIgW2F0dHIuaWRdPVwiJ2Vudi0nICsgZW52XCIgY2xhc3M9XCJlbnZcIj57e2Vudn19PC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgPHNwYW4gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVfZ2xvYmFsXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBoZWFkZXItaWNvbiBtYXgtd2lkdGgtNVwiPmFwcHM8L3NwYW4+XHJcbiAgPG1hdC1tZW51ICNtZW51X2dsb2JhbD1cIm1hdE1lbnVcIiBjbGFzcz1cImFjdGlvbi1tZW51XCI+XHJcbiAgICA8IS0tREFTSEJPQVJELS0+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZShudWxsLCAnL2Rhc2hib2FyZCcpXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmFwcHM8L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuREFTSEJPQVJEJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLUNPTU1FUkNJQUwtLT5cclxuICAgIDxzcGFuICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ0NPTU1FUkNJQUwnXVwiPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY29tbWVyY2lhbCcsICcvZGVhbC9zZWFyY2gnKVwiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmxvY2FsX29mZmVyPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ09NTUVSQ0lBTCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY29tbWVyY2lhbCcsICcvdHVybm92ZXIvc2VhcmNoJylcIlxyXG4gICAgICAgICAgICAgICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ0FDQ09VTlRBTlQnLCAnQURNSU5JU1RSQVRJVkVfQ09OVFJPTExFUiddXCJcclxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5yZXF1ZXN0X3F1b3RlPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ09NTUVSQ0lBTC5GSU5BTkNFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8IS0tVVNFUi0tPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ3VzZXInLCAnL2FjY291bnQvYXV0aG9yaXphdGlvbi9zZWFyY2gnKVwiICpuZ0lmPVwidXNlciAmJiB1c2VyLmFkbWluXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm1hbmFnZV9hY2NvdW50czwvc3Bhbj5cclxuICAgICAgPHNwYW4+e3sgJ0NPTU1PTi5IRUFERVIuTUVOVS5VU0VSLlNFQ1RJT05fVElUTEUnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8IS0tTVkgUFJFRkVSRU5DRVMtLT5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCd1c2VyJywgJy9hY2NvdW50L3NldHRpbmdzJylcIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+c2V0dGluZ3M8L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuVVNFUi5TRVRUSU5HUycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDwhLS1CQVRDSC0tPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2JhdGNoJywgJy9qb2JzL3JlZmVyZW50aWFsJylcIiAqbmd4UGVybWlzc2lvbnNPbmx5PVwiWydNT0RVTEUgUkVGJ11cIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+YXV0b3JlbmV3PC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLlJFRkVSRU5USUFMLkJBVENIJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLVRWIERBVEEtLT5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCd0dmRhdGEnLCAnL2luZm9zLWNlbnRlcicpXCIgKm5neFBlcm1pc3Npb25zT25seT1cIlsnVFZEQVRBJ11cIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+c291cmNlPC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLlRWLURBVEEnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8IS0tRVhQRU5ESVRVUkUgQ09NTUlUTUVOVC0tPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQnLCAnL2hvbWUvY29tbWFuZHMnKVwiICpuZ3hQZXJtaXNzaW9uc0V4Y2VwdD1cIlsnVU5JVkVSU0FMX1JPTEUnXVwiXHJcbiAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5yZWNlaXB0X2xvbmc8L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuRVhQRU5ESVRVUkVfQ09NTUlUTUVOVCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDwhLS1CSS0tPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2JpJywgJy9zaW1wbGUtc2VhcmNoL2Zvcm0nKVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ01PRFVMRSBCSSddXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnRyYXZlbF9leHBsb3JlPC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLkJJLlNFQVJDSCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDwhLS1MRUdBTC0tPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2xlZ2FsJywgJy9jb250cmFjdHMvbWVudS9sZWdhbHMtZGV0JylcIiAqbmd4UGVybWlzc2lvbnNPbmx5PVwiWydMRUdBTCddXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmdhdmVsPC9zcGFuPlxyXG4gICAgICA8c3Bhbj57eyAnQ09NTU9OLkhFQURFUi5NRU5VLkxFR0FMJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLUNBTEVOREFSLS0+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY2FsZW5kYXInLCAnJylcIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2FsZW5kYXJfbW9udGg8L3NwYW4+XHJcbiAgICAgIDxzcGFuPnt7ICdDT01NT04uSEVBREVSLk1FTlUuQ0FMRU5EQVInIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgPHNwYW4gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIGhlYWRlci1pY29uIG1heC13aWR0aC01XCI+YWRkX2JveDwvc3Bhbj5cclxuICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJhY3Rpb24tbWVudVwiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ3ZpZGVvJywgJy9wcm9kdWN0L2Zvcm0nKVwiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj50aGVhdGVyczwvc3Bhbj5cclxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuQ1JFQVRJT04uUFJPRFVDVCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2V4cGVuZGl0dXJlLWNvbW1pdG1lbnQnLCAnL3B1cmNoYXNlLW9yZGVycy9mb3JtJylcIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+cmVjZWlwdF9sb25nPC9zcGFuPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5QTycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2NvbW1lcmNpYWwnLCAnL2RlYWwvZm9ybScpXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmxvY2FsX29mZmVyPC9zcGFuPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5ERUFMJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NyZWF0ZUNvbnRyYWN0L2FjcScpXCIgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnNob3BfdHdvPC9zcGFuPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5DUkVBVElPTl9BQ1EnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdsZWdhbCcsICcvY3JlYXRlQ29udHJhY3Qvc2FsZXMnKVwiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hcnRpY2xlPC9zcGFuPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5DUkVBVElPTi5DUkVBVElPTl9DRVNTJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9idXR0b24+XHJcblx0ICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NyZWF0ZUNvbnRyYWN0L2F1dGgnKVwiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hY2NvdW50X2NpcmNsZTwvc3Bhbj5cclxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuQ1JFQVRJT04uQ1JFQVRJT05fQVVUSCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ3BhJywgJy9jYW1wYWlnbi9mb3JtJylcIiBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+Y2FtcGFpZ248L3NwYW4+XHJcbiAgICAgIHt7ICdDT01NT04uSEVBREVSLkNSRUFUSU9OLkNBTVBBSUdOJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgPHNwYW4gKGNsaWNrKT1cImdldEhpc3RvcnkoKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51SGlzdG9yeVwiXHJcbiAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBoZWFkZXItaWNvbiBtYXgtd2lkdGgtNVwiPmhpc3Rvcnk8L3NwYW4+XHJcbiAgPG1hdC1tZW51ICNtZW51SGlzdG9yeT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjdGlvbi1tZW51XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIGhpc3RvcnlMaXN0XCIgW25nU3dpdGNoXT1cImhpc3RvcnkudHlwZVwiPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnZXhwZW5kaXR1cmUtY29tbWl0bWVudCcsICcvcHVyY2hhc2Utb3JkZXJzLycgKyBoaXN0b3J5LmlkKVwiICpuZ1N3aXRjaENhc2U9XCInUFJPRFVDVCdcIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnRoZWF0ZXJzPC9zcGFuPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuUFJPRFVDVCcgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nIH19e3toaXN0b3J5LnR5cGV9fSB7e2hpc3RvcnkucmVmfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9wdXJjaGFzZS1vcmRlcnMvJyArIGhpc3RvcnkuaWQpXCIgKm5nU3dpdGNoQ2FzZT1cIidQTydcIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnJlY2VpcHRfbG9uZzwvc3Bhbj5cclxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLlBPJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19IHt7aGlzdG9yeS5yZWZ9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2NvbW1lcmNpYWwnLCAnL2RlYWwvY29uc3VsdC8nICsgaGlzdG9yeS5pZClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0RFQUwnXCJcclxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5sb2NhbF9vZmZlcjwvc3Bhbj5cclxuICAgICAgICB7eyAnQ09NTU9OLkhFQURFUi5ISVNUT1JZLkRFQUwnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyAgfX0ge3toaXN0b3J5LnJlZn19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnY29tbWVyY2lhbCcsICcvd29yay1yZWNvcmQvY29uc3VsdC8nKyBoaXN0b3J5LmlkICsnL2dlbmVyYWwnKVwiICpuZ1N3aXRjaENhc2U9XCInV09SSydcIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnRoZWF0ZXJzPC9zcGFuPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuV09SSycgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nIH19IHt7aGlzdG9yeS5yZWZ9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibmF2aWdhdGUoJ2xlZ2FsJywgJy9jb250cmFjdHMvY29udHJhY3QtYWNxL2NvbnN1bHQvJyArIGhpc3RvcnkuaWQpXCJcclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0NPTlRSQUNUX0FDUSdcIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmFzc2lnbm1lbnQ8L3NwYW4+XHJcbiAgICAgICAge3sgJ0NPTU1PTi5IRUFERVIuSElTVE9SWS5DT05UUkFDVC1BQ1EnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyAgfX0ge3toaXN0b3J5LnJlZn19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIChjbGljayk9XCJuYXZpZ2F0ZSgnbGVnYWwnLCAnL2NvbnRyYWN0cy9jb250cmFjdC1jZXNzL2NvbnN1bHQvJyArIGhpc3RvcnkuaWQpXCJcclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0NPTlRSQUNUX0NFU1MnXCJcclxuICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5hcnRpY2xlPC9zcGFuPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuQ09OVFJBQ1QtQ0VTUycgfCBjb21tb25UcmFuc2xhdGUgOiBsYW5nICB9fSB7e2hpc3RvcnkucmVmfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKCdleHBlbmRpdHVyZS1jb21taXRtZW50JywgJy9idWRnZXQvZm9ybS8nICsgaGlzdG9yeS5pZClcIiAqbmdTd2l0Y2hDYXNlPVwiJ0JVREdFVCdcIlxyXG4gICAgICAgICAgICAgIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPnBheW1lbnRzPC9zcGFuPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuQlVER0VUJyB8IGNvbW1vblRyYW5zbGF0ZSA6IGxhbmcgIH19IHt7aGlzdG9yeS5yZWZ9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ05PX0hJU1RPUllfQVZBSUxBQkxFJ1wiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPm5vdF9pbnRlcmVzdGVkPC9zcGFuPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkhJU1RPUlkuTk9fSElTVE9SWV9BVkFJTEFCTEUnIHwgY29tbW9uVHJhbnNsYXRlIDogbGFuZyAgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1tZW51PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZ2xvYmFsLXNlYXJjaCBkLWZsZXggbWF4LXdpZHRoLTYwXCI+XHJcbiAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGdsb2JhbC1zZWFyY2gtaWNvbiBoZWFkZXItaWNvblwiPnNlYXJjaDwvaT5cclxuICAgIDxzcGFuIGNsYXNzPVwiZ2xvYmFsLXNlYXJjaC1zZXBhcmF0b3JcIj48L3NwYW4+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXgtd2lkdGgtMTAwXCIgZmxvYXRMYWJlbD1cIm5ldmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sU2VhcmNoXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvU2VhcmNoXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJnbG9iYWwtc2VhcmNoLWlucHV0IG1heC13aWR0aC04NVwiXHJcbiAgICAgICAgICAgICAgIGlkPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJzZWFyY2ggLi4uXCIvPlxyXG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm5hdmlnYXRlKG51bGwsICcvYWR2YW5jZWQtc2VhcmNoJylcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYWR2YW5jZWQtYnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGljb25cIj5mbGFzaF9vbjwvc3Bhbj5cclxuICAgICAgICAgIHt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guQURWQU5DRUQnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvU2VhcmNoPVwibWF0QXV0b2NvbXBsZXRlXCIgY2xhc3M9XCJtYXQtYXV0b2NvbXBsZXRlLWdsb2JhbC1zZWFyY2hcIiBwYW5lbFdpZHRoPVwiNTZ2d1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0U2VhcmNoKCRldmVudCwgZG9jKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZG9jIG9mIGRvY3VtZW50cyQgfCBhc3luY1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdC1vcHRpb24tZ2xvYmFsLXNlYXJjaFwiPlxyXG4gICAgICAgICAgICA8IS0tUFVSQ0hBU0VfT1JERVItLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRvYy5kb2NUeXBlID09PSBSYXBpZFNlYXJjaEl0ZW1UeXBlLlBVUkNIQVNFX09SREVSXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13aWR0aC01XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIHJhcGlkLXNlYXJjaC10eXBlLWljb25cIj5yZWNlaXB0X2xvbmc8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtYXgtd2lkdGgtOTVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTcwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLlBVUkNIQVNFX09SREVSJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jLnBvTnVtYmVyIH19XHJcbiAgICAgICAgICAgICAgICAgICAgLSB7eyBkb2MudG90YWxBbW91bnQgfCBjdXJyZW5jeTogZG9jLmN1cnJlbmN5Q29kZTonc3ltYm9sJzp1bmRlZmluZWQ6J2ZyLUZSJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5CQVNLRVRfTlVNQkVSJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jPy5iYXNrZXROdW1iZXIgPyBkb2MuYmFza2V0TnVtYmVyIDogJy0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5FQU4nIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2M/LmVhbiA/IGRvYy5lYW4gOiAnLScgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS1QUk9EVUNULS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb2MuZG9jVHlwZSA9PT0gUmFwaWRTZWFyY2hJdGVtVHlwZS5QUk9EVUNUXCIgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1heC13aWR0aC01XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkIHJhcGlkLXNlYXJjaC10eXBlLWljb25cIj5tb3ZpZTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG1heC13aWR0aC05NVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVsbGlwc2lzIGQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtNjBcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uUFJPRFVDVCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj57eyBkb2MudGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTEwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLlNVUFBPUlQnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57e2RvYy5zdXBwb3J0W2xhYmVsTGFuZ119fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtMTVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uRUFOJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jLmVhbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBtYXgtd2lkdGgtMTVcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uUkVMRUFTRV9EQVRFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZG9jPy5yZWxlYXNlRGF0ZSA/IGRvYy5yZWxlYXNlRGF0ZSA6ICctJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLVdPUkstLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRvYy5kb2NUeXBlID09PSBSYXBpZFNlYXJjaEl0ZW1UeXBlLldPUktfVkVSU0lPTlwiIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXgtd2lkdGgtNVwiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCByYXBpZC1zZWFyY2gtdHlwZS1pY29uXCI+dGhlYXRlcnM8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtYXgtd2lkdGgtOTVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTc1IGVsbGlwc2lzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLWNvbXBsZXRlLWxhYmVsXCI+e3sgJ0NPTU1PTi5IRUFERVIuR0xPQkFMX1NFQVJDSC5JVEVNLldPUksnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVsbGlwc2lzXCI+e3sgZG9jLnRpdGxlIH19ICh7e2RvYy5jb2RlSXNvfX0pPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5NSUxPX0NPREUnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57e2RvYy5taWxvQ29kZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5QUk9EVUNUSU9OX1lFQVInIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2MueWVhck9mUHJvZHVjdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLURFQUwtLT5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImRvYy5kb2NUeXBlID09PSBSYXBpZFNlYXJjaEl0ZW1UeXBlLkRFQUxcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF4LXdpZHRoLTVcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgcmFwaWQtc2VhcmNoLXR5cGUtaWNvblwiPmxvY2FsX29mZmVyPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbWF4LXdpZHRoLTk1XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC03MCBlbGxpcHNpc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uREVBTCcgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj57eyBkb2MuZGVhbE51bWJlciB9fSAtIHt7ZG9jLnRoaXJkUGFydHlDbGllbnROYW1lfX0gKHt7ZG9jLnRoaXJkUGFydHlDbGllbnRTYXB9fSk8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTE1XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXV0by1jb21wbGV0ZS1sYWJlbFwiPnt7ICdDT01NT04uSEVBREVSLkdMT0JBTF9TRUFSQ0guSVRFTS5BTU9VTlQnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nXHJcbiAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuPnt7ZG9jLmNhbGN1bGF0ZWRBbW91bnQgfCBjdXJyZW5jeTogZG9jLmN1cnJlbmN5Q29kZTonc3ltYm9sJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIG1heC13aWR0aC0xNVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF1dG8tY29tcGxldGUtbGFiZWxcIj57eyAnQ09NTU9OLkhFQURFUi5HTE9CQUxfU0VBUkNILklURU0uVkFMSURBVElPTl9EQVRFJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZ1xyXG4gICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3Bhbj57eyBkb2MudmFsaWRhdGlvbkRhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gbWF4LXdpZHRoLTE1XCI+PC9zcGFuPlxyXG4gIDxkaXYgKm5nSWY9XCJ1c2VyICYmIHVzZXIuc2Vjb25kYXJ5XCIgY2xhc3M9XCJjb25uZWN0ZWQtYXMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8c3BhbiBzdHlsZT1cIm1hcmdpbi1yaWdodDogMTBweFwiPlxyXG4gICAgICAgIHt7ICdDT01NT04uSEVBREVSLkNPTk5FQ1RFRF9BUycgfCBjb21tb25UcmFuc2xhdGU6IGxhbmcgfX0gIHt7dXNlci5sb2dpbiArICcgLSAnICsgdXNlci5maXJzdE5hbWUgKyAnICcgKyB1c2VyLm5hbWUgfX1cclxuICAgICAgPC9zcGFuPlxyXG5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cInN0b3BJZGVudGl0eVRoZWZ0KClcIiAqbmdJZj1cInVzZXIuc2Vjb25kYXJ5XCIgY29sb3I9XCJ3YXJuXCIgbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgIHt7ICdDT1JFLlNUT1AnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8c3BhbiBjbGFzcz1cImhlYWRlci1zZXBhcmF0b3JcIj48L3NwYW4+XHJcblxyXG4gIDxzcGFuIFttYXRNZW51VHJpZ2dlckZvcl09XCJzZXR0aW5nc1wiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgaGVhZGVyLWljb24gbWF4LXdpZHRoLTVcIj5zZXR0aW5nczwvc3Bhbj5cclxuXHJcbiAgPCEtLSAjZW5kZG9jcmVnaW9uIG1hdC1tZW51LXRyaWdnZXItZm9yIC0tPlxyXG4gIDxtYXQtbWVudSAjc2V0dGluZ3M9XCJtYXRNZW51XCIgY2xhc3M9XCJhY3Rpb24tbWVudVwiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwic3dpdGNoVGhlbWUoKVwiIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1lbnUtaWNvbiBtYXQtaWNvblwiPnRvZ2dsZV9vbjwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuPnt7J0NPTU1PTi5IRUFERVIuUEFSQU1FVEVSUy5USEVNRScgfCBjb21tb25UcmFuc2xhdGU6IGxhbmd9fTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPSdzd2l0Y2hMYW5nKFwiZW5cIiknICpuZ0lmPSdsYW5nICE9PSBcImVuXCInIG1hdC1tZW51LWl0ZW0+XHJcbiAgICAgIDxpbWcgc3JjPVwiYXNzZXRzL2ltZy9mbGFnL2VuLWZsYWcucG5nXCI+XHJcbiAgICAgIHt7ICdDT01NT04uSEVBREVSLlBBUkFNRVRFUlMuVElUTEUuTEFOR1VBR0VTLkVOR0xJU0gnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT0nc3dpdGNoTGFuZyhcImZyXCIpJyAqbmdJZj0nbGFuZyAhPT0gXCJmclwiJyBtYXQtbWVudS1pdGVtPlxyXG4gICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWcvZmxhZy9mci1mbGFnLnBuZ1wiPlxyXG4gICAgICB7eyAnQ09NTU9OLkhFQURFUi5QQVJBTUVURVJTLlRJVExFLkxBTkdVQUdFUy5GUkVOQ0gnIHwgY29tbW9uVHJhbnNsYXRlOiBsYW5nIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b24gKGNsaWNrKT0nc3dpdGNoTGFuZyhcImRlXCIpJyAqbmdJZj0nbGFuZyAhPT0gXCJkZVwiICcgbWF0LW1lbnUtaXRlbT5cclxuICAgICAgPGltZyBzcmM9XCJhc3NldHMvaW1nL2ZsYWcvZGUtZmxhZy5wbmdcIj5cclxuICAgICAge3sgJ0NPTU1PTi5IRUFERVIuUEFSQU1FVEVSUy5USVRMRS5MQU5HVUFHRVMuREVVVENIJyB8IGNvbW1vblRyYW5zbGF0ZTogbGFuZyB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtbWVudT5cclxuPC9tYXQtdG9vbGJhcj5cclxuXHJcbiJdfQ==
|
|
@@ -32,7 +32,7 @@ export class OverlayComponent {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
OverlayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: OverlayComponent, deps: [{ token: i1.Router }, { token: i2.TranslateService }, { token: i3.OverlayService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
OverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: OverlayComponent, selector: "sc-overlay", ngImport: i0, template: "<div *ngIf=\"show\" class=\"blackshield\"></div>\n\n<div *ngIf=\"show\" class=\"d-flex justify-content-center align-items-center\">\n <mat-card class=\"overshield\">\n <mat-card-content class=\"d-flex justify-content-between align-items-center\">\n <span>{{ message || 'CORE.OVERLAY.LOADING' | translate}}</span>\n <mat-spinner diameter=\"40\"></mat-spinner>\n </mat-card-content>\n </mat-card>\n</div>\n", styles: [".blackshield{position:fixed;display:block!important;top:0;left:0;width:100%;background:black;opacity:.8;height:100vh;z-index:2000000;padding-top:150px}.overshield{position:fixed;width:30%;min-height:6vh;margin-top:250px;z-index:20000000}\n"], components: [{ type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }], pipes: { "translate": i2.TranslatePipe } });
|
|
35
|
+
OverlayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: OverlayComponent, selector: "sc-overlay", ngImport: i0, template: "<div *ngIf=\"show\" class=\"blackshield\"></div>\r\n\r\n<div *ngIf=\"show\" class=\"d-flex justify-content-center align-items-center\">\r\n <mat-card class=\"overshield\">\r\n <mat-card-content class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ message || 'CORE.OVERLAY.LOADING' | translate}}</span>\r\n <mat-spinner diameter=\"40\"></mat-spinner>\r\n </mat-card-content>\r\n </mat-card>\r\n</div>\r\n", styles: [".blackshield{position:fixed;display:block!important;top:0;left:0;width:100%;background:black;opacity:.8;height:100vh;z-index:2000000;padding-top:150px}.overshield{position:fixed;width:30%;min-height:6vh;margin-top:250px;z-index:20000000}\n"], components: [{ type: i4.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i5.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }], pipes: { "translate": i2.TranslatePipe } });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: OverlayComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImpor
|
|
|
41
41
|
templateUrl: './overlay.component.html'
|
|
42
42
|
}]
|
|
43
43
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.TranslateService }, { type: i3.OverlayService }, { type: i0.ChangeDetectorRef }]; } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVVyRSxNQUFNLE9BQU8sZ0JBQWdCO0lBSXpCLFlBQ1ksTUFBYyxFQUNkLGdCQUFrQyxFQUNsQyxjQUE4QixFQUM5QixFQUFxQjtRQUhyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFOMUIsU0FBSSxHQUFHLEtBQUssQ0FBQztJQVFwQixDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7NkdBOUJRLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGtEQ1Y3Qiw0YkFVQTsyRkRBYSxnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxXQUFXLEVBQUUsMEJBQTBCO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5U2VydmljZSB9IGZyb20gJy4vb3ZlcmxheS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NjLW92ZXJsYXknLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vb3ZlcmxheS5jb21wb25lbnQuY3NzJ10sXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3ZlcmxheS5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcclxuICAgIHB1YmxpYyBzaG93ID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogT3ZlcmxheVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2Uuc2hvd0V2ZW50LnN1YnNjcmliZSgobWVzc2FnZT86IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8IHRoaXMubWVzc2FnZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93ID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuaGlkZUV2ZW50LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnNldE1lc3NhZ2VFdmVudC5zdWJzY3JpYmUoKG1lc3NhZ2U6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJzaG93XCIgY2xhc3M9XCJibGFja3NoaWVsZFwiPjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInNob3dcIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gIDxtYXQtY2FyZCBjbGFzcz1cIm92ZXJzaGllbGRcIj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICA8c3Bhbj57eyBtZXNzYWdlIHx8ICdDT1JFLk9WRVJMQVkuTE9BRElORycgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPG1hdC1zcGlubmVyIGRpYW1ldGVyPVwiNDBcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -21,4 +21,4 @@ OverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versi
|
|
|
21
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: OverlayService, decorators: [{
|
|
22
22
|
type: Injectable
|
|
23
23
|
}], ctorParameters: function () { return []; } });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR3pELE1BQU0sT0FBTyxjQUFjO0lBS3ZCO1FBSk8sY0FBUyxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzdELGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2RCxvQkFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRzFFLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZ0I7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxPQUFlO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxJQUFJO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOzsyR0FsQlEsY0FBYzsrR0FBZCxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE92ZXJsYXlTZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBzaG93RXZlbnQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgICBwdWJsaWMgaGlkZUV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHVibGljIHNldE1lc3NhZ2VFdmVudDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2hvdyhtZXNzYWdlPzogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5zaG93RXZlbnQuZW1pdChtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0TWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLnNldE1lc3NhZ2VFdmVudC5lbWl0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoaWRlKCkge1xyXG4gICAgICAgIHRoaXMuaGlkZUV2ZW50LmVtaXQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -72,7 +72,7 @@ export class MyDialogPopupLoginComponent {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
MyDialogPopupLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: MyDialogPopupLoginComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.AesService }, { token: WEB_CONFIG }, { token: i3.HttpClient }, { token: i4.TranslateService }, { token: i5.CookieService }, { token: MAT_DIALOG_DATA }, { token: i6.CommonApiService }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
MyDialogPopupLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: MyDialogPopupLoginComponent, selector: "sc-popup-login", ngImport: i0, template: "<h3 mat-dialog-title>Log in</h3>\n\n<mat-dialog-content>\n <form (keyup.enter)=\"onLogin()\" [formGroup]=\"userForm\" class=\"d-flex flex-column\">\n <div class=\"form-group\">\n <mat-label>{{'CORE.LOGIN.USERNAME' | translate }} <span style=\"color:#ef5350; font-weight: bold\">*</span>\n </mat-label>\n <mat-form-field appearance=\"outline\">\n <input [(ngModel)]=\"username\" formControlName=\"username\" matInput/>\n </mat-form-field>\n </div>\n <div class=\"form-group\">\n <mat-label>{{'CORE.LOGIN.PASSWORD' | translate }} <span style=\"color:#ef5350; font-weight: bold\">*</span>\n </mat-label>\n <mat-form-field appearance=\"outline\">\n <input [(ngModel)]=\"password\" formControlName=\"password\" matInput type=\"password\"/>\n </mat-form-field>\n </div>\n </form>\n</mat-dialog-content>\n\n<mat-dialog-actions>\n <button (click)=\"onLogin()\" [disabled]=\"loading\" class=\"primary w-100\" mat-raised-button\n type=\"submit\">{{ 'CORE.LOGIN.SIGN_IN' | translate }}</button>\n <mat-spinner *ngIf=\"loading\" [diameter]=\"30\" class=\"not-so-close-from-button login-spinner\"></mat-spinner>\n <div *ngIf=\"(errorMessage !== null || errorMessage !== '')\" class=\"errorMessage not-so-close-from-button\">\n {{errorMessage}} </div>\n</mat-dialog-actions>\n\n", styles: [".w-100{width:100%}\n"], components: [{ type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.MatLabel, selector: "mat-label" }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
75
|
+
MyDialogPopupLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: MyDialogPopupLoginComponent, selector: "sc-popup-login", ngImport: i0, template: "<h3 mat-dialog-title>Log in</h3>\r\n\r\n<mat-dialog-content>\r\n <form (keyup.enter)=\"onLogin()\" [formGroup]=\"userForm\" class=\"d-flex flex-column\">\r\n <div class=\"form-group\">\r\n <mat-label>{{'CORE.LOGIN.USERNAME' | translate }} <span style=\"color:#ef5350; font-weight: bold\">*</span>\r\n </mat-label>\r\n <mat-form-field appearance=\"outline\">\r\n <input [(ngModel)]=\"username\" formControlName=\"username\" matInput/>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"form-group\">\r\n <mat-label>{{'CORE.LOGIN.PASSWORD' | translate }} <span style=\"color:#ef5350; font-weight: bold\">*</span>\r\n </mat-label>\r\n <mat-form-field appearance=\"outline\">\r\n <input [(ngModel)]=\"password\" formControlName=\"password\" matInput type=\"password\"/>\r\n </mat-form-field>\r\n </div>\r\n </form>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <button (click)=\"onLogin()\" [disabled]=\"loading\" class=\"primary w-100\" mat-raised-button\r\n type=\"submit\">{{ 'CORE.LOGIN.SIGN_IN' | translate }}</button>\r\n <mat-spinner *ngIf=\"loading\" [diameter]=\"30\" class=\"not-so-close-from-button login-spinner\"></mat-spinner>\r\n <div *ngIf=\"(errorMessage !== null || errorMessage !== '')\" class=\"errorMessage not-so-close-from-button\">\r\n {{errorMessage}} </div>\r\n</mat-dialog-actions>\r\n\r\n", styles: [".w-100{width:100%}\n"], components: [{ type: i7.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i10.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i10.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i10.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.MatLabel, selector: "mat-label" }, { type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i10.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i4.TranslatePipe } });
|
|
76
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: MyDialogPopupLoginComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImpor
|
|
|
87
87
|
type: Inject,
|
|
88
88
|
args: [MAT_DIALOG_DATA]
|
|
89
89
|
}] }, { type: i6.CommonApiService }]; } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvcG9wdXAvcG9wdXAtbG9naW4vcG9wdXAtbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvcG9wdXAvcG9wdXAtbG9naW4vcG9wdXAtbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RSxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFjLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sMkJBQTJCO0lBV3RDLFlBQ1MsU0FBb0QsRUFDbkQsT0FBbUIsRUFDQyxNQUFjLEVBQ2xDLElBQWdCLEVBQ2hCLGdCQUFrQyxFQUNsQyxhQUE0QixFQUNKLElBQVMsRUFDakMsZ0JBQWtDO1FBUG5DLGNBQVMsR0FBVCxTQUFTLENBQTJDO1FBQ25ELFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2xDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNKLFNB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QUFRLEVBQUUsZ0JBQWdCO29CQUMxQixXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDM0M7OzBCQWVJLE1BQU07MkJBQUMsVUFBVTs7MEJBSWpCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBBZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvand0LXNlY3VyaXR5L2Flcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uZmlnLCBXRUJfQ09ORklHIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlnJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwaS9jb21tb24tYXBpLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1wb3B1cC1sb2dpbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLWxvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wb3B1cC1sb2dpbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIE15RGlhbG9nUG9wdXBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHVzZXJuYW1lID0gJyc7XHJcbiAgcHVibGljIHBhc3N3b3JkID0gJyc7XHJcbiAgcHVibGljIGxvYWRpbmcgPSBmYWxzZTtcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJyc7XHJcbiAgcHVibGljIGFwaVVybCA9ICcnO1xyXG4gIHB1YmxpYyB1c2VyRm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB1c2VybmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHBhc3N3b3JkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE15RGlhbG9nUG9wdXBMb2dpbkNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIGFlc1V0aWw6IEFlc1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KFdFQl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBDb25maWcsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvb2tpZVNlcnZpY2U6IENvb2tpZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgIHByaXZhdGUgY29tbW9uQXBpU2VydmljZTogQ29tbW9uQXBpU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5hcGlVcmwgPSBjb25maWcuYXBpX3VybCArICcvYXV0aG9yaXphdGlvbi1hcGknO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9naW4oKSB7XHJcbiAgICBpZiAodGhpcy51c2VyRm9ybS5pbnZhbGlkKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXHJcbiAgICAgICAgJ0NPUkUuTE9HSU4uQUNDRVNTX0RFTklFRCdcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XHJcblxyXG4gICAgdGhpcy5sb2dpbihcclxuICAgICAge3VzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLCBwYXNzd29yZDogdGhpcy5wYXNzd29yZH0sXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZ1xyXG4gICAgKS5zdWJzY3JpYmUoXHJcbiAgICAgIHVzZXIgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2xvZ2luRmxhZycsICd0cnVlJyk7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aFRva2VuJyk7XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnYXV0aFRva2VuJywgdXNlci50b2tlbik7XHJcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCgnYXV0aC1tYWlsJywgdGhpcy5jb21tb25BcGlTZXJ2aWNlLmdldFVzZXJEYXRhRnJvbVRva2VuKCkuZW1haWwpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcclxuICAgICAgICAgICdDT1JFLkxPR0lOLkFDQ0VTU19ERU5JRUQnXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbG9naW4odXNlcjogYW55LCBsYW5ndWFnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHRoaXMuYXBpVXJsICsgJy9sb2dpbi9maW5kVXNlcic7XHJcbiAgICBpZiAobGFuZ3VhZ2UpIHtcclxuICAgICAgdXJsICs9ICc/bGFuZ3VhZ2U9JyArIGxhbmd1YWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHVzZXIucGFzc3dvcmQgPSB0aGlzLmFlc1V0aWwuZW5jcnlwdCh1c2VyLnBhc3N3b3JkKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodXJsLCB1c2VyLCB7XHJcbiAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxoMyBtYXQtZGlhbG9nLXRpdGxlPkxvZyBpbjwvaDM+XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gIDxmb3JtIChrZXl1cC5lbnRlcik9XCJvbkxvZ2luKClcIiBbZm9ybUdyb3VwXT1cInVzZXJGb3JtXCIgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ09SRS5MT0dJTi5VU0VSTkFNRScgfCB0cmFuc2xhdGUgfX0gPHNwYW4gc3R5bGU9XCJjb2xvcjojZWY1MzUwOyBmb250LXdlaWdodDogYm9sZFwiPio8L3NwYW4+XHJcbiAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cclxuICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJ1c2VybmFtZVwiIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCIgbWF0SW5wdXQvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0NPUkUuTE9HSU4uUEFTU1dPUkQnIHwgdHJhbnNsYXRlIH19IDxzcGFuIHN0eWxlPVwiY29sb3I6I2VmNTM1MDsgZm9udC13ZWlnaHQ6IGJvbGRcIj4qPC9zcGFuPlxyXG4gICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIG1hdElucHV0IHR5cGU9XCJwYXNzd29yZFwiLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT5cclxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcblxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gKGNsaWNrKT1cIm9uTG9naW4oKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCIgY2xhc3M9XCJwcmltYXJ5IHctMTAwXCIgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIj57eyAnQ09SRS5MT0dJTi5TSUdOX0lOJyB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gIDxtYXQtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdcIiBbZGlhbWV0ZXJdPVwiMzBcIiBjbGFzcz1cIm5vdC1zby1jbG9zZS1mcm9tLWJ1dHRvbiBsb2dpbi1zcGlubmVyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICA8ZGl2ICpuZ0lmPVwiKGVycm9yTWVzc2FnZSAhPT0gbnVsbCB8fCBlcnJvck1lc3NhZ2UgIT09ICcnKVwiIGNsYXNzPVwiZXJyb3JNZXNzYWdlIG5vdC1zby1jbG9zZS1mcm9tLWJ1dHRvblwiPlxyXG4gICAge3tlcnJvck1lc3NhZ2V9fSA8L2Rpdj5cclxuPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcblxyXG4iXX0=
|
|
@@ -27,7 +27,7 @@ export class SubHeaderComponent {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
SubHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: SubHeaderComponent, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
SubHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: SubHeaderComponent, selector: "sc-sub-header", host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<div id=\"template-header-container\">\n <div [ngClass]=\"{'header-hide':isHide}\" id=\"template-header\">\n\n <!-- What you want -->\n <div id=\"left-part\">\n <ng-content select=[left]></ng-content>\n </div>\n\n <!-- What you want -->\n <div id=\"middle-part\">\n <ng-content select=[middle]></ng-content>\n </div>\n\n <!-- What you want -->\n <div id=\"right-part\">\n <ng-content select=[right]></ng-content>\n </div>\n\n </div>\n</div>\n", styles: ["#template-header-container{position:relative;background:#3F3F3F}#template-header{position:fixed;z-index:300;top:20px;width:100%;padding-top:30px!important;background:#3F3F3F;color:#fff;transition:.3s}#left-part{float:left;margin-left:15px}#right-part{float:right;margin-right:230px;height:100%}a{vertical-align:middle;text-align:center;color:#afafaf}.header-hide{top:-25px!important;transition:.3s}.title{color:#fff!important;font-weight:bold!important}.subtitle{color:#b3b3b3!important;cursor:pointer}@media only screen and (min-width: 64.063em){.title{font-size:23px}.subtitle{font-size:16px}.status{color:#65d39b;margin-left:10px;font-size:12px}.codeMilo{color:#b3b3b3;font-size:15px}.dealNumber{color:#b3b3b3;font-weight:bold;font-size:19px}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.title{font-size:15px}.subtitle{font-size:10px}.status{color:#65d39b;margin-left:10px;font-size:10px}#template-header{padding:45px 0 5px 55px}}@media only screen and (max-width: 40em){.title{font-size:10px}.subtitle{font-size:8px}.status{color:#65d39b;margin-left:10px;font-size:8px}#template-header{padding:45px 0 5px}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
30
|
+
SubHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.2", type: SubHeaderComponent, selector: "sc-sub-header", host: { listeners: { "window:scroll": "onWindowScroll()" } }, ngImport: i0, template: "<div id=\"template-header-container\">\r\n <div [ngClass]=\"{'header-hide':isHide}\" id=\"template-header\">\r\n\r\n <!-- What you want -->\r\n <div id=\"left-part\">\r\n <ng-content select=[left]></ng-content>\r\n </div>\r\n\r\n <!-- What you want -->\r\n <div id=\"middle-part\">\r\n <ng-content select=[middle]></ng-content>\r\n </div>\r\n\r\n <!-- What you want -->\r\n <div id=\"right-part\">\r\n <ng-content select=[right]></ng-content>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", styles: ["#template-header-container{position:relative;background:#3F3F3F}#template-header{position:fixed;z-index:300;top:20px;width:100%;padding-top:30px!important;background:#3F3F3F;color:#fff;transition:.3s}#left-part{float:left;margin-left:15px}#right-part{float:right;margin-right:230px;height:100%}a{vertical-align:middle;text-align:center;color:#afafaf}.header-hide{top:-25px!important;transition:.3s}.title{color:#fff!important;font-weight:bold!important}.subtitle{color:#b3b3b3!important;cursor:pointer}@media only screen and (min-width: 64.063em){.title{font-size:23px}.subtitle{font-size:16px}.status{color:#65d39b;margin-left:10px;font-size:12px}.codeMilo{color:#b3b3b3;font-size:15px}.dealNumber{color:#b3b3b3;font-weight:bold;font-size:19px}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.title{font-size:15px}.subtitle{font-size:10px}.status{color:#65d39b;margin-left:10px;font-size:10px}#template-header{padding:45px 0 5px 55px}}@media only screen and (max-width: 40em){.title{font-size:10px}.subtitle{font-size:8px}.status{color:#65d39b;margin-left:10px;font-size:8px}#template-header{padding:45px 0 5px}}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
31
31
|
__decorate([
|
|
32
32
|
Theme()
|
|
33
33
|
], SubHeaderComponent.prototype, "theme", void 0);
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImpor
|
|
|
45
45
|
type: HostListener,
|
|
46
46
|
args: ['window:scroll', []]
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2NvbXBvbmVudC9zdWItaGVhZGVyL3N1Yi1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb21wb25lbnQvc3ViLWhlYWRlci9zdWItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxZQUFZO0FBQ1osT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLGFBQWE7QUFDYixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFFM0MsMEJBQTBCO0FBTzFCLE1BQU0sT0FBTyxrQkFBa0I7SUFNM0IsWUFBc0MsUUFBYTtRQUFiLGFBQVEsR0FBUixRQUFRLENBQUs7UUFINUMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO0lBR3pCLENBQUM7SUFFTSxRQUFRO0lBQ2YsQ0FBQztJQUdNLGNBQWM7UUFDakIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1FBQzFELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFDRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFDbkMsQ0FBQzs7K0dBdEJRLGtCQUFrQixrQkFNUCxRQUFRO21HQU5uQixrQkFBa0IsbUhDYi9CLGdoQkFvQkE7QUROYTtJQUFSLEtBQUssRUFBRTtpREFBc0I7MkZBRHJCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzVDOzswQkFPZ0IsTUFBTTsyQkFBQyxRQUFROzRDQUxaLEtBQUssTUFZZCxjQUFjO3NCQURwQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhciAyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG4vLyBEZWNvcmF0b3JzXHJcbmltcG9ydCB7IFRoZW1lIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy90aGVtZS5kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vLyBDb21wb25lbnQgY29uZmlndXJhdGlvblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3NjLXN1Yi1oZWFkZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N1Yi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vc3ViLWhlYWRlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YkhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBAVGhlbWUoKSBwdWJsaWMgdGhlbWU6IHN0cmluZztcclxuXHJcbiAgICBwdWJsaWMgaXNIaWRlID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY3VycmVudFNjcm9sbCA9IDA7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55KSB7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbXSlcclxuICAgIHB1YmxpYyBvbldpbmRvd1Njcm9sbCgpIHtcclxuICAgICAgICBjb25zdCBudW1iZXJWYXIgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgICAgICAgaWYgKG51bWJlclZhciA+IHRoaXMuY3VycmVudFNjcm9sbCkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSGlkZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChudW1iZXJWYXIgPCB0aGlzLmN1cnJlbnRTY3JvbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0hpZGUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsID0gbnVtYmVyVmFyO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ0ZW1wbGF0ZS1oZWFkZXItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hlYWRlci1oaWRlJzppc0hpZGV9XCIgaWQ9XCJ0ZW1wbGF0ZS1oZWFkZXJcIj5cclxuXHJcbiAgICA8IS0tIFdoYXQgeW91IHdhbnQgLS0+XHJcbiAgICA8ZGl2IGlkPVwibGVmdC1wYXJ0XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1bbGVmdF0+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBXaGF0IHlvdSB3YW50IC0tPlxyXG4gICAgPGRpdiBpZD1cIm1pZGRsZS1wYXJ0XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1bbWlkZGxlXT48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8IS0tIFdoYXQgeW91IHdhbnQgLS0+XHJcbiAgICA8ZGl2IGlkPVwicmlnaHQtcGFydFwiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9W3JpZ2h0XT48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -5,4 +5,4 @@ export const DEFAULT_WEB_CONFIG = {
|
|
|
5
5
|
env: 'DEV',
|
|
6
6
|
elasticsearch_url: 'https://vpc-unity-search-dev-nm5ydumospctjfaatstfjvoqey.eu-west-1.es.amazonaws.com'
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQVMsWUFBWSxDQUFDLENBQUM7QUFRbkUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQVc7SUFDeEMsT0FBTyxFQUFFLHVCQUF1QjtJQUNoQyxHQUFHLEVBQUUsS0FBSztJQUNWLGlCQUFpQixFQUFFLG9GQUFvRjtDQUN4RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBXRUJfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPENvbmZpZz4oJ1dFQl9DT05GSUcnKTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcclxuICBhcGlfdXJsOiBzdHJpbmc7XHJcbiAgZW52OiBzdHJpbmc7XHJcbiAgZWxhc3RpY3NlYXJjaF91cmw/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX1dFQl9DT05GSUc6IENvbmZpZyA9IHtcclxuICBhcGlfdXJsOiAnaHR0cDovL2xvY2FsaG9zdDo4MDgwJyxcclxuICBlbnY6ICdERVYnLFxyXG4gIGVsYXN0aWNzZWFyY2hfdXJsOiAnaHR0cHM6Ly92cGMtdW5pdHktc2VhcmNoLWRldi1ubTV5ZHVtb3NwY3RqZmFhdHN0Zmp2b3FleS5ldS13ZXN0LTEuZXMuYW1hem9uYXdzLmNvbSdcclxufTtcclxuIl19
|
|
@@ -5,4 +5,4 @@ export class PeriodModel {
|
|
|
5
5
|
this.days = days;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyaW9kTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXctZnJvbnQtY29tbW9uLWxpYnJhcnkvc3JjL2xpYi91dGlsL2RhdGUvUGVyaW9kTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFFcEIsWUFBbUIsS0FBYSxFQUNiLE1BQWMsRUFDZCxJQUFZO1FBRlosVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxTQUFJLEdBQUosSUFBSSxDQUFRO0lBQy9CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBQZXJpb2RNb2RlbCB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIHllYXJzOiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgbW9udGhzOiBudW1iZXIsXHJcbiAgICAgICAgICAgICAgICBwdWJsaWMgZGF5czogbnVtYmVyKSB7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -38,4 +38,4 @@ CustomDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", ve
|
|
|
38
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.2", ngImport: i0, type: CustomDateAdapter, decorators: [{
|
|
39
39
|
type: Injectable
|
|
40
40
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV3LWZyb250LWNvbW1vbi1saWJyYXJ5L3NyYy9saWIvdXRpbC9kYXRlL2RhdGUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBSXBELDJEQUEyRDtJQUMzRCxhQUFhO0lBQ2IscURBQXFEO0lBQ3JELDBEQUEwRDtJQUMxRCxJQUFJO0lBRUcsTUFBTSxDQUFDLElBQVUsRUFBRSxhQUFxQjtRQUUzQyxpQkFBaUI7UUFDakIsbURBQW1EO1FBQ25ELG1DQUFtQztRQUNuQyx5Q0FBeUM7UUFDekMsa0RBQWtEO1FBQ2xELHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IsTUFBTTtRQUNOLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsTUFBTTtRQUNOLHFDQUFxQztRQUNyQyxzREFBc0Q7UUFDdEQsd0NBQXdDO1FBQ3hDLDZEQUE2RDtRQUM3RCx3Q0FBd0M7UUFDeEMsNkRBQTZEO1FBQzdELHdDQUF3QztRQUN4QyxNQUFNO1FBQ04sV0FBVztRQUNYLDhDQUE4QztRQUM5QyxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7OEdBbkNRLGlCQUFpQjtrSEFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXRpdmVEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlQWRhcHRlciBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyIHtcclxuXHJcbiAgICBwdWJsaWMgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gICAgLy8gY29uc3RydWN0b3IocHVibGljIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIC8vICAgc3VwZXIoKTtcclxuICAgIC8vICAgdGhpcy5sb2NhbGUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmc7XHJcbiAgICAvLyAgIC8vIHRoaXMuc2V0TG9jYWxlKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgcHVibGljIGZvcm1hdChkYXRlOiBEYXRlLCBkaXNwbGF5Rm9ybWF0OiBPYmplY3QpIHtcclxuXHJcbiAgICAgICAgLy8gVE9ETyDDoCByZWZhaXJlXHJcbiAgICAgICAgLy8gdGhpcy5sb2NhbGUgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmc7XHJcbiAgICAgICAgLy8gaWYgKGRpc3BsYXlGb3JtYXQgPT09ICdpbnB1dCcpIHtcclxuICAgICAgICAvLyAgIGxldCBkYXkgPSBkYXRlLmdldERhdGUoKS50b1N0cmluZygpO1xyXG4gICAgICAgIC8vICAgbGV0IG1vbnRoID0gKGRhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgLy8gICBpZiAoK21vbnRoIDwgMTApIHtcclxuICAgICAgICAvLyAgICAgbW9udGggPSAnMCcgKyBtb250aDtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyAgIGlmICgrZGF5IDwgMTApIHtcclxuICAgICAgICAvLyAgICAgZGF5ID0gJzAnICsgZGF5O1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgICAgICAvLyAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPT09ICdlbicpIHtcclxuICAgICAgICAvLyAgICAgcmV0dXJuIGAke3llYXJ9LyR7bW9udGh9LyR7ZGF5fWA7XHJcbiAgICAgICAgLy8gICB9IGVsc2UgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyA9PT0gJ2ZyJykge1xyXG4gICAgICAgIC8vICAgICByZXR1cm4gYCR7ZGF5fS8ke21vbnRofS8ke3llYXJ9YDtcclxuICAgICAgICAvLyAgIH0gZWxzZSBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID09PSAnZGUnKSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiBgJHtkYXl9LiR7bW9udGh9LiR7eWVhcn1gO1xyXG4gICAgICAgIC8vICAgfVxyXG4gICAgICAgIC8vIH0gZWxzZSB7XHJcbiAgICAgICAgLy8gICByZXR1cm4gc3VwZXIuZm9ybWF0KGRhdGUsIGRpc3BsYXlGb3JtYXQpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufVxyXG4iXX0=
|