@adlfe/campaign-management-library 2.9.21 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{campaign-management-library.metadata.json → adlfe-campaign-management-library.metadata.json} +1 -1
- package/bundles/{campaign-management-library.umd.js → adlfe-campaign-management-library.umd.js} +47 -56
- package/bundles/adlfe-campaign-management-library.umd.js.map +1 -0
- package/bundles/adlfe-campaign-management-library.umd.min.js +16 -0
- package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -0
- package/esm2015/adlfe-campaign-management-library.js +29 -0
- package/esm2015/environments/environment.js +3 -1
- package/esm2015/lib/adl-campaign-management-library-internal.component.js +1 -1
- package/esm2015/lib/adl-campaign-management-library-internal.module.js +1 -1
- package/esm2015/lib/campaign-management/campaign-management.component.js +1 -1
- package/esm2015/lib/campaign-management/campaign-management.module.js +1 -1
- package/esm2015/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/models/contact-category-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/models/failover-req.model.js +1 -1
- package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +1 -3
- package/esm2015/lib/campaign-management/models/index.js +1 -1
- package/esm2015/lib/campaign-management/models/scheduler-req.model.js +1 -1
- package/esm2015/lib/campaign-management/models/template-wa.model.js +1 -1
- package/esm2015/lib/campaign-management/models/whatsapp-account.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.module.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +2 -2
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/campaign-index/models/table.model.js +1 -1
- package/esm2015/lib/campaign-management/modules/dashboard/dashboard.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/dashboard/dashboard.module.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +3 -15
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +2 -2
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +1 -4
- package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +29 -24
- package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/summary/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/new-campaign/summary/summary.component.js +1 -1
- package/esm2015/lib/campaign-management/modules/wizard/index.js +1 -1
- package/esm2015/lib/campaign-management/modules/wizard/wizard.component.js +1 -1
- package/esm2015/lib/campaign-management/util/enums.js +1 -1
- package/esm2015/lib/core/const/constants.const.js +1 -1
- package/esm2015/lib/core/const/create-package-service.const.js +1 -1
- package/esm2015/lib/core/const/failover.const.js +1 -1
- package/esm2015/lib/core/const/form-validators.js +1 -1
- package/esm2015/lib/core/const/index.js +1 -1
- package/esm2015/lib/core/const/rate-card-table-config.js +1 -1
- package/esm2015/lib/core/const/validation-message.const.js +1 -1
- package/esm2015/lib/core/directives/index.js +1 -1
- package/esm2015/lib/core/directives/mat-select-infinite-scroll.js +1 -1
- package/esm2015/lib/core/enums/constant.enum.js +1 -1
- package/esm2015/lib/core/enums/http-verb.enum.js +1 -1
- package/esm2015/lib/core/enums/index.js +1 -1
- package/esm2015/lib/core/enums/main-area.enum.js +1 -1
- package/esm2015/lib/core/models/Package.js +1 -1
- package/esm2015/lib/core/models/base-option.model.js +1 -1
- package/esm2015/lib/core/models/billing-param-req.component.js +1 -1
- package/esm2015/lib/core/models/country.model.js +1 -1
- package/esm2015/lib/core/models/create-package-param.model.js +1 -1
- package/esm2015/lib/core/models/http-body-resp.model.js +1 -1
- package/esm2015/lib/core/models/index.js +1 -1
- package/esm2015/lib/core/models/util/api-adapter-service-models/index.js +1 -1
- package/esm2015/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -1
- package/esm2015/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/request-models/app-request.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/app-response.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/error.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/index.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/meta.js +1 -1
- package/esm2015/lib/core/models/util/api-dto/response-models/paging.js +1 -1
- package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +1 -1
- package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +1 -1
- package/esm2015/lib/core/models/util/http-body-req/index.js +1 -1
- package/esm2015/lib/core/models/util/index.js +1 -1
- package/esm2015/lib/core/services/api-adapter-service.service.js +13 -13
- package/esm2015/lib/core/services/index.js +1 -1
- package/esm2015/lib/core/util/custom-paginator.js +1 -1
- package/esm2015/lib/core/util/download-blob-file.js +1 -1
- package/esm2015/lib/core/util/enum-to-option-generator.js +1 -1
- package/esm2015/lib/core/util/http-param-generator.js +1 -1
- package/esm2015/lib/core/util/index.js +1 -1
- package/esm2015/lib/global/confirmation/confirmation/confirmation.component.js +1 -1
- package/esm2015/lib/global/confirmation/confirmation/index.js +1 -1
- package/esm2015/lib/global/confirmation/confirmation.module.js +1 -1
- package/esm2015/lib/global/confirmation/shared/model/confirmation.model.js +1 -1
- package/esm2015/lib/global/confirmation/shared/model/index.js +1 -1
- package/esm2015/lib/global/confirmation/shared/shared-services.service.js +1 -1
- package/esm2015/lib/global/search/search/search.component.js +1 -1
- package/esm2015/lib/global/search/search.module.js +1 -1
- package/esm2015/public-api.js +1 -1
- package/esm5/adlfe-campaign-management-library.js +29 -0
- package/esm5/environments/environment.js +3 -1
- package/esm5/lib/adl-campaign-management-library-internal.component.js +1 -1
- package/esm5/lib/adl-campaign-management-library-internal.module.js +1 -1
- package/esm5/lib/campaign-management/campaign-management.component.js +1 -1
- package/esm5/lib/campaign-management/campaign-management.module.js +1 -1
- package/esm5/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -1
- package/esm5/lib/campaign-management/models/contact-category-dto.model.js +1 -1
- package/esm5/lib/campaign-management/models/failover-req.model.js +1 -1
- package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +1 -3
- package/esm5/lib/campaign-management/models/index.js +1 -1
- package/esm5/lib/campaign-management/models/scheduler-req.model.js +1 -1
- package/esm5/lib/campaign-management/models/template-wa.model.js +1 -1
- package/esm5/lib/campaign-management/models/whatsapp-account.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.component.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.module.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +2 -2
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/index.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -1
- package/esm5/lib/campaign-management/modules/campaign-index/models/table.model.js +1 -1
- package/esm5/lib/campaign-management/modules/dashboard/dashboard.component.js +1 -1
- package/esm5/lib/campaign-management/modules/dashboard/dashboard.module.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +3 -15
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +2 -2
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +1 -4
- package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +30 -24
- package/esm5/lib/campaign-management/modules/new-campaign/scheduler/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/summary/index.js +1 -1
- package/esm5/lib/campaign-management/modules/new-campaign/summary/summary.component.js +1 -1
- package/esm5/lib/campaign-management/modules/wizard/index.js +1 -1
- package/esm5/lib/campaign-management/modules/wizard/wizard.component.js +1 -1
- package/esm5/lib/campaign-management/util/enums.js +1 -1
- package/esm5/lib/core/const/constants.const.js +1 -1
- package/esm5/lib/core/const/create-package-service.const.js +1 -1
- package/esm5/lib/core/const/failover.const.js +1 -1
- package/esm5/lib/core/const/form-validators.js +1 -1
- package/esm5/lib/core/const/index.js +1 -1
- package/esm5/lib/core/const/rate-card-table-config.js +1 -1
- package/esm5/lib/core/const/validation-message.const.js +1 -1
- package/esm5/lib/core/directives/index.js +1 -1
- package/esm5/lib/core/directives/mat-select-infinite-scroll.js +1 -1
- package/esm5/lib/core/enums/constant.enum.js +1 -1
- package/esm5/lib/core/enums/http-verb.enum.js +1 -1
- package/esm5/lib/core/enums/index.js +1 -1
- package/esm5/lib/core/enums/main-area.enum.js +1 -1
- package/esm5/lib/core/models/Package.js +1 -1
- package/esm5/lib/core/models/base-option.model.js +1 -1
- package/esm5/lib/core/models/billing-param-req.component.js +1 -1
- package/esm5/lib/core/models/country.model.js +1 -1
- package/esm5/lib/core/models/create-package-param.model.js +1 -1
- package/esm5/lib/core/models/http-body-resp.model.js +1 -1
- package/esm5/lib/core/models/index.js +1 -1
- package/esm5/lib/core/models/util/api-adapter-service-models/index.js +1 -1
- package/esm5/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -1
- package/esm5/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -1
- package/esm5/lib/core/models/util/api-dto/request-models/app-request.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/app-response.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/error.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/index.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/meta.js +1 -1
- package/esm5/lib/core/models/util/api-dto/response-models/paging.js +1 -1
- package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +1 -1
- package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +1 -1
- package/esm5/lib/core/models/util/http-body-req/index.js +1 -1
- package/esm5/lib/core/models/util/index.js +1 -1
- package/esm5/lib/core/services/api-adapter-service.service.js +11 -11
- package/esm5/lib/core/services/index.js +1 -1
- package/esm5/lib/core/util/custom-paginator.js +1 -1
- package/esm5/lib/core/util/download-blob-file.js +1 -1
- package/esm5/lib/core/util/enum-to-option-generator.js +1 -1
- package/esm5/lib/core/util/http-param-generator.js +1 -1
- package/esm5/lib/core/util/index.js +1 -1
- package/esm5/lib/global/confirmation/confirmation/confirmation.component.js +1 -1
- package/esm5/lib/global/confirmation/confirmation/index.js +1 -1
- package/esm5/lib/global/confirmation/confirmation.module.js +1 -1
- package/esm5/lib/global/confirmation/shared/model/confirmation.model.js +1 -1
- package/esm5/lib/global/confirmation/shared/model/index.js +1 -1
- package/esm5/lib/global/confirmation/shared/shared-services.service.js +1 -1
- package/esm5/lib/global/search/search/search.component.js +1 -1
- package/esm5/lib/global/search/search.module.js +1 -1
- package/esm5/public-api.js +1 -1
- package/fesm2015/{campaign-management-library.js → adlfe-campaign-management-library.js} +46 -56
- package/fesm2015/adlfe-campaign-management-library.js.map +1 -0
- package/fesm5/{campaign-management-library.js → adlfe-campaign-management-library.js} +45 -54
- package/fesm5/adlfe-campaign-management-library.js.map +1 -0
- package/lib/campaign-management/models/general-information-wa-req.model.d.ts +0 -1
- package/lib/campaign-management/models/template-wa.model.d.ts +0 -1
- package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +0 -6
- package/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.d.ts +3 -2
- package/lib/core/services/api-adapter-service.service.d.ts +1 -0
- package/package.json +11 -20
- package/bundles/campaign-management-library.umd.js.map +0 -1
- package/bundles/campaign-management-library.umd.min.js +0 -16
- package/bundles/campaign-management-library.umd.min.js.map +0 -1
- package/esm2015/campaign-management-library.js +0 -29
- package/esm5/campaign-management-library.js +0 -29
- package/fesm2015/campaign-management-library.js.map +0 -1
- package/fesm5/campaign-management-library.js.map +0 -1
- /package/{campaign-management-library.d.ts → adlfe-campaign-management-library.d.ts} +0 -0
|
@@ -317,4 +317,4 @@ FailoverMechanismComponent = __decorate([
|
|
|
317
317
|
})
|
|
318
318
|
], FailoverMechanismComponent);
|
|
319
319
|
export { FailoverMechanismComponent };
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbG92ZXItbWVjaGFuaXNtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NhbXBhaWduLW1hbmFnZW1lbnQtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9jYW1wYWlnbi1tYW5hZ2VtZW50L21vZHVsZXMvbmV3LWNhbXBhaWduL2ZhaWxvdmVyLW1lY2hhbmlzbS9mYWlsb3Zlci1tZWNoYW5pc20uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUNOLGdDQUFnQyxFQUNoQyxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxHQUNaLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFRckUsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7SUFvQnRDLFlBQW9CLGlCQUEyQztRQUEzQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQTBCO1FBYnhELDZCQUF3QixxQkFBUSxnQkFBZ0IsRUFBRztRQUNuRCw0QkFBdUIscUJBQVEsZUFBZSxFQUFHO1FBQ2pELG1CQUFjLHFCQUFRLFVBQVUsRUFBRztRQUNuQywyQkFBc0IscUJBQVEsZUFBZSxFQUFHO1FBQ2hELDRCQUF1QixxQkFBUSxnQkFBZ0IsRUFBRztRQUNsRCxrQkFBYSxxQkFBUSxVQUFVLEVBQUc7UUFFakMsZ0JBQVcsR0FBbUIsRUFB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LE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGNBQWM7WUFDakIsSUFBSSxDQUFDLHdCQUF3QixDQUM1QixjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFDcEMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQXlCO1FBQ3BDLGVBQWUsQ0FDZCxJQUFJLENBQUMsVUFBVSxFQUNmLEtBQUssQ0FBQyxhQUFhLEVBQ25CLEtBQUssQ0FBQyxZQUFZLENBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRCxDQUFBOztZQW5adUMsd0JBQXdCOztBQWxCL0Q7SUFEQyxNQUFNLEVBQUU7NERBQ2dDO0FBZ0JoQztJQUFSLEtBQUssRUFBRTtrRUFBZ0M7QUFsQjVCLDBCQUEwQjtJQUx0QyxTQUFTLENBQUM7UUFDVixRQUFRLEVBQUUsd0JBQXdCO1FBQ2xDLHkvVkFBa0Q7O0tBRWxELENBQUM7R0FDVywwQkFBMEIsQ0F1YXRDO1NBdmFZLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdElucHV0LFxyXG5cdE9uRGVzdHJveSxcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG5cdEZhaWxvdmVyTWVjaGFuaXNtVmFsaWRhdGlvbkNvbnN0LFxyXG5cdFBsYXRmb3JtT3B0aW9uQ29uc3QsXHJcblx0aXNIYXZlTmV4dE9wdGlvbixcclxuXHRpc0xvYWRpbmdPcHRpb24sXHJcblx0b3B0aW9uTGlzdCxcclxuXHRwYWdlTm9PcHRpb24sXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb25zdCc7XHJcbmltcG9ydCB7IGludGVydmFsVGltZVZhbGlkYXRvciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3QvZm9ybS12YWxpZGF0b3JzJztcclxuaW1wb3J0IHsgUGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvdXRpbC9hcGktYWRhcHRlci1zZXJ2aWNlLW1vZGVscyc7XHJcbmltcG9ydCB7IEFwcFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9tb2RlbHMvdXRpbC9hcGktZHRvL3Jlc3BvbnNlLW1vZGVscyc7XHJcbmltcG9ydCB7IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVdBTW9kZWwsIFdoYXRzQXBwQWNjb3VudER0byB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1mYWlsb3Zlci1tZWNoYW5pc20nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9mYWlsb3Zlci1tZWNoYW5pc20uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2ZhaWxvdmVyLW1lY2hhbmlzbS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFpbG92ZXJNZWNoYW5pc21Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0QE91dHB1dCgpXHJcblx0cHVibGljIGZhaWxvdmVyOiBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwPjtcclxuXHJcblx0cHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHRwdWJsaWMgY2hhbm5lbE9wdGlvbjogYW55O1xyXG5cdHB1YmxpYyB2YWxpZGF0aW9uTWVzc2FnZXM6IGFueTtcclxuXHRwdWJsaWMgaXNIYXZlTmV4dFRlbXBsYXRlT3B0aW9uID0geyAuLi5pc0hhdmVOZXh0T3B0aW9uIH07XHJcblx0cHVibGljIGlzTG9hZGluZ1RlbXBsYXRlT3B0aW9uID0geyAuLi5pc0xvYWRpbmdPcHRpb24gfTtcclxuXHRwdWJsaWMgdGVtcGxhdGVPcHRpb24gPSB7IC4uLm9wdGlvbkxpc3QgfTtcclxuXHRwdWJsaWMgaXNMb2FkaW5nQWNjb3VudE9wdGlvbiA9IHsgLi4uaXNMb2FkaW5nT3B0aW9uIH07XHJcblx0cHVibGljIGlzSGF2ZU5leHRBY2NvdW50T3B0aW9uID0geyAuLi5pc0hhdmVOZXh0T3B0aW9uIH07XHJcblx0cHVibGljIGFjY291bnRPcHRpb24gPSB7IC4uLm9wdGlvbkxpc3QgfTtcclxuXHJcblx0cHJpdmF0ZSBzdWJzY3JpYmVyczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHRwcml2YXRlIHBhZ2VOb1RlbXBsYXRlT3B0aW9uID0geyAuLi5wYWdlTm9PcHRpb24gfTtcclxuXHRwcml2YXRlIHBhZ2VOb0FjY291bnRPcHRpb24gPSB7IC4uLnBhZ2VOb09wdGlvbiB9O1xyXG5cclxuXHRASW5wdXQoKSBwdWJsaWMgaXNSZWFkT25seU1vZGU6IGJvb2xlYW47XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpQWRhcHRlclNlcnZpY2U6IEFwaUFkYXB0ZXJTZXJ2aWNlU2VydmljZSkge1xyXG5cdFx0dGhpcy5mYWlsb3ZlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy52YWxpZGF0aW9uTWVzc2FnZXMgPSBGYWlsb3Zlck1lY2hhbmlzbVZhbGlkYXRpb25Db25zdDtcclxuXHRcdHRoaXMuY2hhbm5lbE9wdGlvbiA9IFtcclxuXHRcdFx0Li4uUGxhdGZvcm1PcHRpb25Db25zdCxcclxuXHRcdFx0Lyoge1xyXG4gICAgICAgIGljb246ICcnLFxyXG4gICAgICAgIGlucHV0U3ZnSWNvbjogJ2ljb24tdm9pY2UtZ3JheScsXHJcbiAgICAgICAgaW1hZ2U6ICdsaW5lLnBuZycsXHJcbiAgICAgICAgbGFiZWw6ICdWb2ljZScsXHJcbiAgICAgICAgdmFsdWU6ICdWT0lDRScsXHJcbiAgICAgIH0sICovXHJcblx0XHRdLmZpbHRlcihcclxuXHRcdFx0dCA9PlxyXG5cdFx0XHRcdCFbXHJcblx0XHRcdFx0XHQnTElORScsXHJcblx0XHRcdFx0XHR0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtPy5tZWRpdW0sXHJcblx0XHRcdFx0XS5pbmNsdWRlcyh0LnZhbHVlKVxyXG5cdFx0KTtcclxuXHJcblx0XHR0aGlzLmluaXRGb3JtKCk7XHJcblx0XHR0aGlzLmluaXREaXNhYmxlKCk7XHJcblx0XHR0aGlzLmluaXRFZGl0KCk7XHJcblx0XHR0aGlzLmZhaWxvdmVyLmVtaXQodGhpcy5mb3JtKTtcclxuXHR9XHJcblxyXG5cdGdldCBnZXRDYW1wYWlnblN0b3JhZ2UoKTogYW55IHtcclxuXHRcdHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG5cdFx0XHQ/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcblx0XHRcdDoge307XHJcblx0fVxyXG5cclxuXHRnZXQgaW50ZXJ2YWwoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5mb3JtLmdldCgnaW50ZXJ2YWwnKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XHJcblx0XHR0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuXHRcdFx0YWN0aXZlOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0XHR0eXBlOiBuZXcgRm9ybUNvbnRyb2woJycpLFxyXG5cdFx0XHRpbnRlcnZhbDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG5cdFx0XHRhY2NvdW50czogbmV3IEZvcm1BcnJheShbXSksXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmludGVydmFsLnRvdWNoZWQgJiYgdGhpcy5pbnRlcnZhbC52YWx1ZSA9PT0gMCkge1xyXG5cdFx0XHRcdHRoaXMuZm9ybS5nZXQoJ2ludGVydmFsJykuc2V0RXJyb3JzKHsgaW50ZXJ2YWxUaW1lOiB0cnVlIH0pO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuZmFpbG92ZXIuZW1pdCh0aGlzLmZvcm0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXREaXNhYmxlKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLmlzUmVhZE9ubHlNb2RlKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmZvcm0uZGlzYWJsZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0RWRpdCgpOiB2b2lkIHtcclxuXHRcdGlmIChcclxuXHRcdFx0T2JqZWN0LmVudHJpZXModGhpcy5nZXRDYW1wYWlnblN0b3JhZ2UpLmxlbmd0aCA9PT0gMCB8fFxyXG5cdFx0XHQhdGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyXHJcblx0XHQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHR0aGlzLmZvcm1cclxuXHRcdFx0LmdldCgnYWN0aXZlJylcclxuXHRcdFx0LnNldFZhbHVlKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3Zlcj8uYWN0aXZlKTtcclxuXHRcdHRoaXMuZm9ybVxyXG5cdFx0XHQuZ2V0KCd0eXBlJylcclxuXHRcdFx0LnNldFZhbHVlKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3Zlcj8udHlwZSA/PyAnJyk7XHJcblx0XHR0aGlzLmZvcm1cclxuXHRcdFx0LmdldCgnaW50ZXJ2YWwnKVxyXG5cdFx0XHQuc2V0VmFsdWUodGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyPy5pbnRlcnZhbCA/PyBudWxsKTtcclxuXHJcblx0XHR0aGlzLmFjdGl2ZUNoYW5nZSh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZmFpbG92ZXI/LmFjdGl2ZSk7XHJcblx0XHR0aGlzLnZhbGlkYXRpb25BY2NvdW50KCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRBY2NvdW50KGRhdGE6IGFueSA9IG51bGwsIF9jaGFubmVsOiBhbnkgPSBudWxsKTogRm9ybUdyb3VwIHtcclxuXHRcdGNvbnN0IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuXHRcdFx0Y2hhbm5lbDogbmV3IEZvcm1Db250cm9sKF9jaGFubmVsKSxcclxuXHRcdFx0cGxhdGZvcm06IG5ldyBGb3JtQ29udHJvbChfY2hhbm5lbD8udmFsdWUpLFxyXG5cdFx0XHRhY2NvdW50SWQ6IG5ldyBGb3JtQ29udHJvbChcclxuXHRcdFx0XHR7XHJcblx0XHRcdFx0XHR2YWx1ZTpcclxuXHRcdFx0XHRcdFx0ZGF0YT8uYWNjb3VudElkICYmIHR5cGVvZiBkYXRhPy5hY2NvdW50SWQgPT09ICdzdHJpbmcnXHJcblx0XHRcdFx0XHRcdFx0PyB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiBkYXRhPy5hY2NvdW50SWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG5hbWU6IGRhdGE/LmFjY291bnROYW1lLFxyXG5cdFx0XHRcdFx0XHRcdCAgfVxyXG5cdFx0XHRcdFx0XHRcdDogZGF0YT8uYWNjb3VudElkID8/ICcnLFxyXG5cdFx0XHRcdFx0ZGlzYWJsZWQ6IHRoaXMuaXNSZWFkT25seU1vZGUsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRWYWxpZGF0b3JzLnJlcXVpcmVkXHJcblx0XHRcdCksXHJcblx0XHRcdGFjY291bnROYW1lOiBuZXcgRm9ybUNvbnRyb2woZGF0YT8uYWNjb3VudE5hbWUgPz8gJycpLFxyXG5cdFx0XHRzdWJqZWN0OiBuZXcgRm9ybUNvbnRyb2woe1xyXG5cdFx0XHRcdHZhbHVlOiBkYXRhPy5zdWJqZWN0ID8/ICcnLFxyXG5cdFx0XHRcdGRpc2FibGVkOiB0aGlzLmlzUmVhZE9ubHlNb2RlLFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0dGVtcGxhdGU6IG5ldyBGb3JtQ29udHJvbCh7XHJcblx0XHRcdFx0dmFsdWU6IGRhdGE/LnRlbXBsYXRlID8/ICcnLFxyXG5cdFx0XHRcdGRpc2FibGVkOiB0aGlzLmlzUmVhZE9ubHlNb2RlLFxyXG5cdFx0XHR9KSxcclxuXHRcdFx0cGFyYW1Cb2R5OiBuZXcgRm9ybUFycmF5KFtdKSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiBmb3JtO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldEFjY291bnQoKTogRm9ybUdyb3VwW10ge1xyXG5cdFx0cmV0dXJuICh0aGlzLmZvcm0uZ2V0KCdhY2NvdW50cycpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW107XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYWRkQWNjb3VudChkYXRhOiBhbnkgPSBudWxsLCBjaGFubmVsOiBhbnkgPSBudWxsKTogdm9pZCB7XHJcblx0XHRjb25zdCBmb3JtID0gdGhpcy5pbml0QWNjb3VudChkYXRhLCBjaGFubmVsKTtcclxuXHRcdCh0aGlzLmZvcm0uZ2V0KCdhY2NvdW50cycpIGFzIEZvcm1BcnJheSkucHVzaChmb3JtKTtcclxuXHJcblx0XHR0aGlzLmdldEFjY291bnRPcHRpb25TZXJ2aWNlKGNoYW5uZWw/LnZhbHVlLCBkYXRhPy5hY2NvdW50TmFtZSA/PyAnJyk7XHJcblx0XHR0aGlzLmdldFRlbXBsYXRlT3B0aW9uU2VydmljZShjaGFubmVsPy52YWx1ZSwge30sIGRhdGE/LnRlbXBsYXRlPy5uYW1lKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdFBhcmFtZXRlcigpOiBGb3JtR3JvdXAge1xyXG5cdFx0Y29uc3QgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG5cdFx0XHRuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0fSk7XHJcblxyXG5cdFx0cmV0dXJuIGZvcm07XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0UGFyYW1Cb2R5KGFjY291bnQ6IEZvcm1Hcm91cCk6IEZvcm1Hcm91cFtdIHtcclxuXHRcdHJldHVybiAoYWNjb3VudC5nZXQoJ3BhcmFtQm9keScpIGFzIEZvcm1BcnJheSkuY29udHJvbHMgYXMgRm9ybUdyb3VwW107XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYWRkUGFyYW1Cb2R5KGFjY291bnQ6IEZvcm1Hcm91cCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgZm9ybSA9IHRoaXMuaW5pdFBhcmFtZXRlcigpO1xyXG5cdFx0KGFjY291bnQuZ2V0KCdwYXJhbUJvZHknKSBhcyBGb3JtQXJyYXkpLnB1c2goZm9ybSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZGVsZXRlUGFyYW1Cb2R5KGFjY291bnQ6IEZvcm1Hcm91cCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xyXG5cdFx0KGFjY291bnQuZ2V0KCdwYXJhbUJvZHknKSBhcyBGb3JtQXJyYXkpLnJlbW92ZUF0KGluZGV4KTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdFBhcmFtKF9uYW1lOiBzdHJpbmcsIF92YWx1ZTogYW55LCBfdHlwZTogc3RyaW5nKTogUGFyYW1ldGVyIHtcclxuXHRcdHJldHVybiB7XHJcblx0XHRcdG5hbWU6IF9uYW1lLFxyXG5cdFx0XHR2YWx1ZTogX3ZhbHVlLFxyXG5cdFx0XHRpbjogJ3F1ZXJ5JyxcclxuXHRcdFx0dHlwZTogX3R5cGUsXHJcblx0XHR9O1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBnZXRBY2NvdW50T3B0aW9uU2VydmljZShcclxuXHRcdHBsYXRmb3JtOiBzdHJpbmcsXHJcblx0XHRmaWx0ZXI6IHN0cmluZyA9ICcnLFxyXG5cdFx0aXNJbmZpbml0ZTogYm9vbGVhbiA9IGZhbHNlXHJcblx0KTogdm9pZCB7XHJcblx0XHR0aGlzLmlzTG9hZGluZ0FjY291bnRPcHRpb25bcGxhdGZvcm1dID0gdHJ1ZTtcclxuXHJcblx0XHRjb25zdCBwYXJhbWV0ZXJMaXN0OiBBcnJheTxQYXJhbWV0ZXI+ID0gW1xyXG5cdFx0XHR0aGlzLmluaXRQYXJhbShcclxuXHRcdFx0XHQncGFnZU5vJyxcclxuXHRcdFx0XHR0aGlzLnBhZ2VOb0FjY291bnRPcHRpb25bcGxhdGZvcm1dLFxyXG5cdFx0XHRcdCdudW1iZXInXHJcblx0XHRcdCksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdyb3dQZXJQYWdlJywgMjAsICdudW1iZXInKSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ3N0YXR1cycsICdBUFBST1ZFRCcsICdzdHJpbmcnKSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ3BsYXRmb3JtJywgcGxhdGZvcm0sICdzdHJpbmcnKSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ2ZpbHRlcicsIGZpbHRlciwgJ3N0cmluZycpLFxyXG5cdFx0XTtcclxuXHJcblx0XHRjb25zdCBzdWJzID0gdGhpcy5hcGlBZGFwdGVyU2VydmljZVxyXG5cdFx0XHQuZXhlY3V0ZUFwaVJlcXVlc3QocGFyYW1ldGVyTGlzdCwgJy9hZG1pbi9hY2NvdW50JywgJ0dFVCcpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlc3A6IEFwcFJlc3BvbnNlPFdoYXRzQXBwQWNjb3VudER0b1tdPikgPT4ge1xyXG5cdFx0XHRcdGlmICghcmVzcC5kYXRhKSByZXR1cm47XHJcblxyXG5cdFx0XHRcdHRoaXMuYWNjb3VudE9wdGlvbltwbGF0Zm9ybV0gPSBpc0luZmluaXRlXHJcblx0XHRcdFx0XHQ/IFsuLi50aGlzLmFjY291bnRPcHRpb25bcGxhdGZvcm1dLCAuLi5yZXNwLmRhdGFdXHJcblx0XHRcdFx0XHQ6IHJlc3AuZGF0YTtcclxuXHJcblx0XHRcdFx0dGhpcy5pc0hhdmVOZXh0QWNjb3VudE9wdGlvbltwbGF0Zm9ybV0gPSByZXNwLmhhdmVOZXh0O1xyXG5cdFx0XHRcdHRoaXMuaXNMb2FkaW5nQWNjb3VudE9wdGlvbltwbGF0Zm9ybV0gPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldFRlbXBsYXRlT3B0aW9uU2VydmljZShcclxuXHRcdHBsYXRmb3JtOiBzdHJpbmcsXHJcblx0XHRhY2NvdW50OiBhbnksXHJcblx0XHRmaWx0ZXI6IHN0cmluZyA9ICcnLFxyXG5cdFx0aXNJbmZpbml0ZTogYm9vbGVhbiA9IGZhbHNlXHJcblx0KTogdm9pZCB7XHJcblx0XHR0aGlzLmlzTG9hZGluZ1RlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSA9IHRydWU7XHJcblxyXG5cdFx0Y29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oXHJcblx0XHRcdFx0J3BhZ2VObycsXHJcblx0XHRcdFx0dGhpcy5wYWdlTm9UZW1wbGF0ZU9wdGlvbltwbGF0Zm9ybV0sXHJcblx0XHRcdFx0J251bWJlcidcclxuXHRcdFx0KSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ3Jvd1BlclBhZ2UnLCAyMCwgJ251bWJlcicpLFxyXG5cdFx0XHR0aGlzLmluaXRQYXJhbSgncGxhdGZvcm0nLCBwbGF0Zm9ybSwgJ3N0cmluZycpLFxyXG5cdFx0XHR0aGlzLmluaXRQYXJhbSgnZmlsdGVyJywgZmlsdGVyLCAnc3RyaW5nJyksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdjbGllbnRJZCcsIGFjY291bnQ/LmNsaWVudElkID8/ICcnLCAnc3RyaW5nJyksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCd3YWJhSWQnLCBhY2NvdW50Py53YWJhSWQgPz8gJycsICdzdHJpbmcnKSxcclxuXHRcdF07XHJcblxyXG5cdFx0aWYgKHBsYXRmb3JtID09PSAnV0EnKVxyXG5cdFx0XHRwYXJhbWV0ZXJMaXN0LnB1c2godGhpcy5pbml0UGFyYW0oJ3N0YXR1cycsICdBUFBST1ZFRCcsICdzdHJpbmcnKSk7XHJcblxyXG5cdFx0Y29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuXHRcdFx0LmV4ZWN1dGVBcGlSZXF1ZXN0KHBhcmFtZXRlckxpc3QsICcvbWVzc2FnZS90ZW1wbGF0ZScsICdHRVQnKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXNwOiBBcHBSZXNwb25zZTxUZW1wbGF0ZVdBTW9kZWxbXT4pID0+IHtcclxuXHRcdFx0XHR0aGlzLnRlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSA9IGlzSW5maW5pdGVcclxuXHRcdFx0XHRcdD8gWy4uLnRoaXMudGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dLCAuLi5yZXNwLmRhdGFdXHJcblx0XHRcdFx0XHQ6IHJlc3AuZGF0YTtcclxuXHJcblx0XHRcdFx0dGhpcy5pc0hhdmVOZXh0VGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dID0gcmVzcC5oYXZlTmV4dDtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ1RlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSA9IGZhbHNlO1xyXG5cdFx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnN1YnNjcmliZXJzLnB1c2goc3Vicyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0TmV4dEFjY291bnRCYXRjaChwbGF0Zm9ybTogc3RyaW5nKSB7XHJcblx0XHRpZiAoIXRoaXMuaXNIYXZlTmV4dEFjY291bnRPcHRpb25bcGxhdGZvcm1dKSByZXR1cm47XHJcblxyXG5cdFx0dGhpcy5wYWdlTm9BY2NvdW50T3B0aW9uW3BsYXRmb3JtXSArPSAxO1xyXG5cdFx0dGhpcy5nZXRBY2NvdW50T3B0aW9uU2VydmljZShwbGF0Zm9ybSwgJycsIHRydWUpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFjY291bnRTZWxlY3RlZERpc3BsYXkoXHJcblx0XHRhdHRyaWJ1dGUxOiBXaGF0c0FwcEFjY291bnREdG8sXHJcblx0XHRhdHRyaWJ1dGUyOiBXaGF0c0FwcEFjY291bnREdG9cclxuXHQpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGF0dHJpYnV0ZTEgJiYgYXR0cmlidXRlMiAmJiBhdHRyaWJ1dGUxLmlkID09IGF0dHJpYnV0ZTIuaWRcclxuXHRcdFx0PyBgJHthdHRyaWJ1dGUxLm5hbWV9ICgke2F0dHJpYnV0ZTEuYWNjb3VudE5vfSlgXHJcblx0XHRcdDogJyc7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdGVtcGxhdGVTZWxlY3RlZERpc3BsYXkoXHJcblx0XHRhdHRyaWJ1dGUxOiBUZW1wbGF0ZVdBTW9kZWwsXHJcblx0XHRhdHRyaWJ1dGUyOiBUZW1wbGF0ZVdBTW9kZWxcclxuXHQpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGF0dHJpYnV0ZTEgJiYgYXR0cmlidXRlMiAmJiBhdHRyaWJ1dGUxLm5hbWUgPT0gYXR0cmlidXRlMi5uYW1lXHJcblx0XHRcdD8gYCR7YXR0cmlidXRlMS5uYW1lfWBcclxuXHRcdFx0OiAnJztcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXROZXh0VGVtcGxhdGVCYXRjaChwbGF0Zm9ybTogc3RyaW5nLCBhY2NvdW50OiBhbnkpIHtcclxuXHRcdGlmICghdGhpcy5pc0hhdmVOZXh0VGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dKSByZXR1cm47XHJcblxyXG5cdFx0dGhpcy5wYWdlTm9UZW1wbGF0ZU9wdGlvbltwbGF0Zm9ybV0gKz0gMTtcclxuXHRcdHRoaXMuZ2V0VGVtcGxhdGVPcHRpb25TZXJ2aWNlKHBsYXRmb3JtLCBhY2NvdW50LCAnJywgdHJ1ZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlU2VhcmNoKFxyXG5cdFx0c2VhcmNoVmFsdWU6IHN0cmluZyxcclxuXHRcdHBsYXRmb3JtOiBzdHJpbmcsXHJcblx0XHRhY2NvdW50OiBhbnlcclxuXHQpOiB2b2lkIHtcclxuXHRcdHRoaXMucGFnZU5vVGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dID0gMTtcclxuXHRcdHRoaXMuZ2V0VGVtcGxhdGVPcHRpb25TZXJ2aWNlKHBsYXRmb3JtLCBhY2NvdW50LCBzZWFyY2hWYWx1ZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlU2VhcmNoQWNjb3VudChzZWFyY2hWYWx1ZTogc3RyaW5nLCBwbGF0Zm9ybTogc3RyaW5nKTogdm9pZCB7XHJcblx0XHR0aGlzLnBhZ2VOb0FjY291bnRPcHRpb25bcGxhdGZvcm1dID0gMTtcclxuXHRcdHRoaXMuZ2V0QWNjb3VudE9wdGlvblNlcnZpY2UocGxhdGZvcm0sIHNlYXJjaFZhbHVlKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhY3RpdmVDaGFuZ2UoX2FjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xyXG5cdFx0dGhpcy5mb3JtXHJcblx0XHRcdC5nZXQoJ3R5cGUnKVxyXG5cdFx0XHQuc2V0VmFsdWUodGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyPy50eXBlID8/ICcnKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ3R5cGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cdFx0dGhpcy5mb3JtLmdldCgndHlwZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHJcblx0XHRpZiAoX2FjdGl2ZSkge1xyXG5cdFx0XHRjb25zdCBhY2NvdW50cyA9XHJcblx0XHRcdFx0dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyPy5hY2NvdW50cz8uZmlsdGVyKFxyXG5cdFx0XHRcdFx0KHQ6IGFueSkgPT5cclxuXHRcdFx0XHRcdFx0dC5wbGF0Zm9ybSAhPT1cclxuXHRcdFx0XHRcdFx0dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybVxyXG5cdFx0XHRcdFx0XHRcdD8ubWVkaXVtXHJcblx0XHRcdFx0KTtcclxuXHJcblx0XHRcdGlmIChhY2NvdW50cykge1xyXG5cdFx0XHRcdGFjY291bnRzLm1hcChhY2NvdW50ID0+XHJcblx0XHRcdFx0XHR0aGlzLmFkZEFjY291bnQoXHJcblx0XHRcdFx0XHRcdGFjY291bnQsXHJcblx0XHRcdFx0XHRcdHRoaXMuY2hhbm5lbE9wdGlvbi5maW5kKFxyXG5cdFx0XHRcdFx0XHRcdCh0OiBhbnkpID0+IHQudmFsdWUgPT09IGFjY291bnQucGxhdGZvcm1cclxuXHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRcdHRoaXMuY2hhbm5lbE9wdGlvblxyXG5cdFx0XHRcdFx0LmZpbHRlcigodDogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiAhYWNjb3VudHMuZmluZCgoYWNjb3VudDogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGFjY291bnQucGxhdGZvcm0gPT09IHQudmFsdWU7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdC5tYXAoY2hhbm5lbCA9PiB0aGlzLmFkZEFjY291bnQoe30sIGNoYW5uZWwpKTtcclxuXHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuY2hhbm5lbE9wdGlvbi5tYXAoY2hhbm5lbCA9PiB0aGlzLmFkZEFjY291bnQoe30sIGNoYW5uZWwpKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuZm9ybS5nZXQoJ3R5cGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ3R5cGUnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHQodGhpcy5mb3JtLmdldCgnYWNjb3VudHMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzID0gW107XHJcblx0XHQodGhpcy5mb3JtLmdldCgnYWNjb3VudHMnKSBhcyBGb3JtQXJyYXkpLnJlc2V0KCk7XHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdhY2NvdW50cycpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHJcblx0XHR0aGlzLnR5cGVDaGFuZ2UoJ1N0YXR1cycpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHR5cGVDaGFuZ2UoX3R5cGU6IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0aWYgKF90eXBlID09PSAnVGltZScpIHtcclxuXHRcdFx0dGhpcy5mb3JtXHJcblx0XHRcdFx0LmdldCgnaW50ZXJ2YWwnKVxyXG5cdFx0XHRcdC5zZXRWYWx1ZSh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZmFpbG92ZXI/LmludGVydmFsID8/IG51bGwpO1xyXG5cdFx0XHR0aGlzLmZvcm1cclxuXHRcdFx0XHQuZ2V0KCdpbnRlcnZhbCcpXHJcblx0XHRcdFx0LnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIGludGVydmFsVGltZVZhbGlkYXRvcigpXSk7XHJcblx0XHRcdHRoaXMuZm9ybS5nZXQoJ2ludGVydmFsJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5mb3JtLmdldCgnaW50ZXJ2YWwnKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2ludGVydmFsJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHZhbGlkYXRpb25BY2NvdW50KFxyXG5cdFx0YWNjb3VudDogV2hhdHNBcHBBY2NvdW50RHRvID0gbnVsbCxcclxuXHRcdGFjY291bnRDb250cm9sOiBGb3JtR3JvdXAgPSBudWxsXHJcblx0KTogdm9pZCB7XHJcblx0XHRhY2NvdW50Q29udHJvbFxyXG5cdFx0XHQ/LmdldCgnYWNjb3VudE5hbWUnKVxyXG5cdFx0XHQuc2V0VmFsdWUoXHJcblx0XHRcdFx0dGhpcy5hY2NvdW50T3B0aW9uW2FjY291bnRDb250cm9sLmdldCgncGxhdGZvcm0nKS52YWx1ZV0uZmluZChcclxuXHRcdFx0XHRcdHQgPT4gdC5pZCA9PT0gYWNjb3VudD8uaWRcclxuXHRcdFx0XHQpPy5uYW1lID8/ICcnXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0Y29uc3QgaXNDaG9vc2VBY2NvdW50ID0gdGhpcy5nZXRBY2NvdW50LmZpbHRlcihcclxuXHRcdFx0Y29udHJvbCA9PiBjb250cm9sLmdldCgnYWNjb3VudElkJykudmFsdWVcclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy5nZXRBY2NvdW50LmZvckVhY2goY29udHJvbCA9PiB7XHJcblx0XHRcdGNvbnRyb2wuZ2V0KCdhY2NvdW50SWQnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cdFx0XHRjb250cm9sLmdldCgnc3ViamVjdCcpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblx0XHRcdGNvbnRyb2wuZ2V0KCd0ZW1wbGF0ZScpLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcblxyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0IWNvbnRyb2wuZ2V0KCdhY2NvdW50SWQnKS52YWx1ZSAmJlxyXG5cdFx0XHRcdGlzQ2hvb3NlQWNjb3VudD8ubGVuZ3RoID4gMFxyXG5cdFx0XHQpIHtcclxuXHRcdFx0XHRjb250cm9sLmdldCgnYWNjb3VudElkJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ3N1YmplY3QnKS5zZXRWYWx1ZSgnJyk7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ3N1YmplY3QnKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuXHRcdFx0XHRjb250cm9sLmdldCgndGVtcGxhdGUnKS5zZXRWYWx1ZSgnJyk7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ3RlbXBsYXRlJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHRcdH0gZWxzZSBpZiAoXHJcblx0XHRcdFx0WydXQScsICdTTVMnLCAnVk9JQ0UnXS5pbmNsdWRlcyhjb250cm9sLmdldCgncGxhdGZvcm0nKS52YWx1ZSlcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ3N1YmplY3QnKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Y29udHJvbC5nZXQoJ2FjY291bnRJZCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHRcdFx0Y29udHJvbC5nZXQoJ3N1YmplY3QnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHRcdGNvbnRyb2wuZ2V0KCd0ZW1wbGF0ZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdGlmIChhY2NvdW50Q29udHJvbClcclxuXHRcdFx0dGhpcy5nZXRUZW1wbGF0ZU9wdGlvblNlcnZpY2UoXHJcblx0XHRcdFx0YWNjb3VudENvbnRyb2wuZ2V0KCdwbGF0Zm9ybScpLnZhbHVlLFxyXG5cdFx0XHRcdGFjY291bnRDb250cm9sLmdldCgnYWNjb3VudElkJykudmFsdWVcclxuXHRcdFx0KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4pIHtcclxuXHRcdG1vdmVJdGVtSW5BcnJheShcclxuXHRcdFx0dGhpcy5nZXRBY2NvdW50LFxyXG5cdFx0XHRldmVudC5wcmV2aW91c0luZGV4LFxyXG5cdFx0XHRldmVudC5jdXJyZW50SW5kZXhcclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy5mYWlsb3Zlci5lbWl0KHRoaXMuZm9ybSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc3Vic2NyaWJlcnMuZm9yRWFjaChlYWNoID0+IGVhY2gudW5zdWJzY3JpYmUoKSk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbG92ZXItbWVjaGFuaXNtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BhZGxmZS9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9mYWlsb3Zlci1tZWNoYW5pc20vZmFpbG92ZXItbWVjaGFuaXNtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9FLE9BQU8sRUFDTixnQ0FBZ0MsRUFDaEMsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksR0FDWixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRy9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUXJFLElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0lBb0J0QyxZQUFvQixpQkFBMkM7UUFBM0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUEwQjtRQWJ4RCw2QkFBd0IscUJBQVEsZ0JBQWdCLEVBQUc7UUFDbkQsNEJBQXVCLHFCQUFRLGVBQWUsRUFBRztRQUNqRCxtQkFBYyxxQkFBUSxVQUFVLEVBQUc7UUFDbkMsMkJBQXNCLHFCQUFRLGVBQWUsRUFBRztRQUNoRCw0QkFBdUIscUJBQVEsZ0JBQWdCLEVBQUc7UUFDbEQsa0JBQWEscUJBQVEsVUFBVSxFQUFHO1FBRWpDLGdCQUFXLEdB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QztZQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxjQUFjO1lBQ2pCLElBQUksQ0FBQyx3QkFBd0IsQ0FDNUIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQ3BDLGNBQWMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVNLElBQUksQ0FBQyxLQUF5QjtRQUNwQyxlQUFlLENBQ2QsSUFBSSxDQUFDLFVBQVUsRUFDZixLQUFLLENBQUMsYUFBYSxFQUNuQixLQUFLLENBQUMsWUFBWSxDQUNsQixDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0QsQ0FBQTs7WUFuWnVDLHdCQUF3Qjs7QUFsQi9EO0lBREMsTUFBTSxFQUFFOzREQUNnQztBQWdCaEM7SUFBUixLQUFLLEVBQUU7a0VBQWdDO0FBbEI1QiwwQkFBMEI7SUFMdEMsU0FBUyxDQUFDO1FBQ1YsUUFBUSxFQUFFLHdCQUF3QjtRQUNsQyx5L1ZBQWtEOztLQUVsRCxDQUFDO0dBQ1csMEJBQTBCLENBdWF0QztTQXZhWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEcmFnRHJvcCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPbkRlc3Ryb3ksXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuXHRGYWlsb3Zlck1lY2hhbmlzbVZhbGlkYXRpb25Db25zdCxcclxuXHRQbGF0Zm9ybU9wdGlvbkNvbnN0LFxyXG5cdGlzSGF2ZU5leHRPcHRpb24sXHJcblx0aXNMb2FkaW5nT3B0aW9uLFxyXG5cdG9wdGlvbkxpc3QsXHJcblx0cGFnZU5vT3B0aW9uLFxyXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3QnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbFRpbWVWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbnN0L2Zvcm0tdmFsaWRhdG9ycyc7XHJcbmltcG9ydCB7IFBhcmFtZXRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWFkYXB0ZXItc2VydmljZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcHBSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWxzL3V0aWwvYXBpLWR0by9yZXNwb25zZS1tb2RlbHMnO1xyXG5pbXBvcnQgeyBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgVGVtcGxhdGVXQU1vZGVsLCBXaGF0c0FwcEFjY291bnREdG8gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdsaWItZmFpbG92ZXItbWVjaGFuaXNtJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZmFpbG92ZXItbWVjaGFuaXNtLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9mYWlsb3Zlci1tZWNoYW5pc20uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZhaWxvdmVyTWVjaGFuaXNtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cdEBPdXRwdXQoKVxyXG5cdHB1YmxpYyBmYWlsb3ZlcjogRXZlbnRFbWl0dGVyPEZvcm1Hcm91cD47XHJcblxyXG5cdHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XHJcblx0cHVibGljIGNoYW5uZWxPcHRpb246IGFueTtcclxuXHRwdWJsaWMgdmFsaWRhdGlvbk1lc3NhZ2VzOiBhbnk7XHJcblx0cHVibGljIGlzSGF2ZU5leHRUZW1wbGF0ZU9wdGlvbiA9IHsgLi4uaXNIYXZlTmV4dE9wdGlvbiB9O1xyXG5cdHB1YmxpYyBpc0xvYWRpbmdUZW1wbGF0ZU9wdGlvbiA9IHsgLi4uaXNMb2FkaW5nT3B0aW9uIH07XHJcblx0cHVibGljIHRlbXBsYXRlT3B0aW9uID0geyAuLi5vcHRpb25MaXN0IH07XHJcblx0cHVibGljIGlzTG9hZGluZ0FjY291bnRPcHRpb24gPSB7IC4uLmlzTG9hZGluZ09wdGlvbiB9O1xyXG5cdHB1YmxpYyBpc0hhdmVOZXh0QWNjb3VudE9wdGlvbiA9IHsgLi4uaXNIYXZlTmV4dE9wdGlvbiB9O1xyXG5cdHB1YmxpYyBhY2NvdW50T3B0aW9uID0geyAuLi5vcHRpb25MaXN0IH07XHJcblxyXG5cdHByaXZhdGUgc3Vic2NyaWJlcnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblx0cHJpdmF0ZSBwYWdlTm9UZW1wbGF0ZU9wdGlvbiA9IHsgLi4ucGFnZU5vT3B0aW9uIH07XHJcblx0cHJpdmF0ZSBwYWdlTm9BY2NvdW50T3B0aW9uID0geyAuLi5wYWdlTm9PcHRpb24gfTtcclxuXHJcblx0QElucHV0KCkgcHVibGljIGlzUmVhZE9ubHlNb2RlOiBib29sZWFuO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaUFkYXB0ZXJTZXJ2aWNlOiBBcGlBZGFwdGVyU2VydmljZVNlcnZpY2UpIHtcclxuXHRcdHRoaXMuZmFpbG92ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzID0gRmFpbG92ZXJNZWNoYW5pc21WYWxpZGF0aW9uQ29uc3Q7XHJcblx0XHR0aGlzLmNoYW5uZWxPcHRpb24gPSBbXHJcblx0XHRcdC4uLlBsYXRmb3JtT3B0aW9uQ29uc3QsXHJcblx0XHRcdC8qIHtcclxuICAgICAgICBpY29uOiAnJyxcclxuICAgICAgICBpbnB1dFN2Z0ljb246ICdpY29uLXZvaWNlLWdyYXknLFxyXG4gICAgICAgIGltYWdlOiAnbGluZS5wbmcnLFxyXG4gICAgICAgIGxhYmVsOiAnVm9pY2UnLFxyXG4gICAgICAgIHZhbHVlOiAnVk9JQ0UnLFxyXG4gICAgICB9LCAqL1xyXG5cdFx0XS5maWx0ZXIoXHJcblx0XHRcdHQgPT5cclxuXHRcdFx0XHQhW1xyXG5cdFx0XHRcdFx0J0xJTkUnLFxyXG5cdFx0XHRcdFx0dGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybT8ubWVkaXVtLFxyXG5cdFx0XHRcdF0uaW5jbHVkZXModC52YWx1ZSlcclxuXHRcdCk7XHJcblxyXG5cdFx0dGhpcy5pbml0Rm9ybSgpO1xyXG5cdFx0dGhpcy5pbml0RGlzYWJsZSgpO1xyXG5cdFx0dGhpcy5pbml0RWRpdCgpO1xyXG5cdFx0dGhpcy5mYWlsb3Zlci5lbWl0KHRoaXMuZm9ybSk7XHJcblx0fVxyXG5cclxuXHRnZXQgZ2V0Q2FtcGFpZ25TdG9yYWdlKCk6IGFueSB7XHJcblx0XHRyZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJylcclxuXHRcdFx0PyBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpKVxyXG5cdFx0XHQ6IHt9O1xyXG5cdH1cclxuXHJcblx0Z2V0IGludGVydmFsKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2ludGVydmFsJyk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRGb3JtKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcblx0XHRcdGFjdGl2ZTogbmV3IEZvcm1Db250cm9sKGZhbHNlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuXHRcdFx0dHlwZTogbmV3IEZvcm1Db250cm9sKCcnKSxcclxuXHRcdFx0aW50ZXJ2YWw6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHRcdFx0YWNjb3VudHM6IG5ldyBGb3JtQXJyYXkoW10pLFxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pbnRlcnZhbC50b3VjaGVkICYmIHRoaXMuaW50ZXJ2YWwudmFsdWUgPT09IDApIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uZ2V0KCdpbnRlcnZhbCcpLnNldEVycm9ycyh7IGludGVydmFsVGltZTogdHJ1ZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmZhaWxvdmVyLmVtaXQodGhpcy5mb3JtKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0RGlzYWJsZSgpOiB2b2lkIHtcclxuXHRcdGlmICghdGhpcy5pc1JlYWRPbmx5TW9kZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5mb3JtLmRpc2FibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdEVkaXQoKTogdm9pZCB7XHJcblx0XHRpZiAoXHJcblx0XHRcdE9iamVjdC5lbnRyaWVzKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlKS5sZW5ndGggPT09IDAgfHxcclxuXHRcdFx0IXRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3ZlclxyXG5cdFx0KVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0dGhpcy5mb3JtXHJcblx0XHRcdC5nZXQoJ2FjdGl2ZScpXHJcblx0XHRcdC5zZXRWYWx1ZSh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZmFpbG92ZXI/LmFjdGl2ZSk7XHJcblx0XHR0aGlzLmZvcm1cclxuXHRcdFx0LmdldCgndHlwZScpXHJcblx0XHRcdC5zZXRWYWx1ZSh0aGlzLmdldENhbXBhaWduU3RvcmFnZT8uZmFpbG92ZXI/LnR5cGUgPz8gJycpO1xyXG5cdFx0dGhpcy5mb3JtXHJcblx0XHRcdC5nZXQoJ2ludGVydmFsJylcclxuXHRcdFx0LnNldFZhbHVlKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3Zlcj8uaW50ZXJ2YWwgPz8gbnVsbCk7XHJcblxyXG5cdFx0dGhpcy5hY3RpdmVDaGFuZ2UodGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyPy5hY3RpdmUpO1xyXG5cdFx0dGhpcy52YWxpZGF0aW9uQWNjb3VudCgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0QWNjb3VudChkYXRhOiBhbnkgPSBudWxsLCBfY2hhbm5lbDogYW55ID0gbnVsbCk6IEZvcm1Hcm91cCB7XHJcblx0XHRjb25zdCBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcblx0XHRcdGNoYW5uZWw6IG5ldyBGb3JtQ29udHJvbChfY2hhbm5lbCksXHJcblx0XHRcdHBsYXRmb3JtOiBuZXcgRm9ybUNvbnRyb2woX2NoYW5uZWw/LnZhbHVlKSxcclxuXHRcdFx0YWNjb3VudElkOiBuZXcgRm9ybUNvbnRyb2woXHJcblx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0dmFsdWU6XHJcblx0XHRcdFx0XHRcdGRhdGE/LmFjY291bnRJZCAmJiB0eXBlb2YgZGF0YT8uYWNjb3VudElkID09PSAnc3RyaW5nJ1xyXG5cdFx0XHRcdFx0XHRcdD8ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogZGF0YT8uYWNjb3VudElkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBkYXRhPy5hY2NvdW50TmFtZSxcclxuXHRcdFx0XHRcdFx0XHQgIH1cclxuXHRcdFx0XHRcdFx0XHQ6IGRhdGE/LmFjY291bnRJZCA/PyAnJyxcclxuXHRcdFx0XHRcdGRpc2FibGVkOiB0aGlzLmlzUmVhZE9ubHlNb2RlLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0VmFsaWRhdG9ycy5yZXF1aXJlZFxyXG5cdFx0XHQpLFxyXG5cdFx0XHRhY2NvdW50TmFtZTogbmV3IEZvcm1Db250cm9sKGRhdGE/LmFjY291bnROYW1lID8/ICcnKSxcclxuXHRcdFx0c3ViamVjdDogbmV3IEZvcm1Db250cm9sKHtcclxuXHRcdFx0XHR2YWx1ZTogZGF0YT8uc3ViamVjdCA/PyAnJyxcclxuXHRcdFx0XHRkaXNhYmxlZDogdGhpcy5pc1JlYWRPbmx5TW9kZSxcclxuXHRcdFx0fSksXHJcblx0XHRcdHRlbXBsYXRlOiBuZXcgRm9ybUNvbnRyb2woe1xyXG5cdFx0XHRcdHZhbHVlOiBkYXRhPy50ZW1wbGF0ZSA/PyAnJyxcclxuXHRcdFx0XHRkaXNhYmxlZDogdGhpcy5pc1JlYWRPbmx5TW9kZSxcclxuXHRcdFx0fSksXHJcblx0XHRcdHBhcmFtQm9keTogbmV3IEZvcm1BcnJheShbXSksXHJcblx0XHR9KTtcclxuXHJcblx0XHRyZXR1cm4gZm9ybTtcclxuXHR9XHJcblxyXG5cdGdldCBnZXRBY2NvdW50KCk6IEZvcm1Hcm91cFtdIHtcclxuXHRcdHJldHVybiAodGhpcy5mb3JtLmdldCgnYWNjb3VudHMnKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFkZEFjY291bnQoZGF0YTogYW55ID0gbnVsbCwgY2hhbm5lbDogYW55ID0gbnVsbCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgZm9ybSA9IHRoaXMuaW5pdEFjY291bnQoZGF0YSwgY2hhbm5lbCk7XHJcblx0XHQodGhpcy5mb3JtLmdldCgnYWNjb3VudHMnKSBhcyBGb3JtQXJyYXkpLnB1c2goZm9ybSk7XHJcblxyXG5cdFx0dGhpcy5nZXRBY2NvdW50T3B0aW9uU2VydmljZShjaGFubmVsPy52YWx1ZSwgZGF0YT8uYWNjb3VudE5hbWUgPz8gJycpO1xyXG5cdFx0dGhpcy5nZXRUZW1wbGF0ZU9wdGlvblNlcnZpY2UoY2hhbm5lbD8udmFsdWUsIHt9LCBkYXRhPy50ZW1wbGF0ZT8ubmFtZSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRQYXJhbWV0ZXIoKTogRm9ybUdyb3VwIHtcclxuXHRcdGNvbnN0IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuXHRcdFx0bmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdHJldHVybiBmb3JtO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldFBhcmFtQm9keShhY2NvdW50OiBGb3JtR3JvdXApOiBGb3JtR3JvdXBbXSB7XHJcblx0XHRyZXR1cm4gKGFjY291bnQuZ2V0KCdwYXJhbUJvZHknKSBhcyBGb3JtQXJyYXkpLmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGFkZFBhcmFtQm9keShhY2NvdW50OiBGb3JtR3JvdXApOiB2b2lkIHtcclxuXHRcdGNvbnN0IGZvcm0gPSB0aGlzLmluaXRQYXJhbWV0ZXIoKTtcclxuXHRcdChhY2NvdW50LmdldCgncGFyYW1Cb2R5JykgYXMgRm9ybUFycmF5KS5wdXNoKGZvcm0pO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGRlbGV0ZVBhcmFtQm9keShhY2NvdW50OiBGb3JtR3JvdXAsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuXHRcdChhY2NvdW50LmdldCgncGFyYW1Cb2R5JykgYXMgRm9ybUFycmF5KS5yZW1vdmVBdChpbmRleCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRQYXJhbShfbmFtZTogc3RyaW5nLCBfdmFsdWU6IGFueSwgX3R5cGU6IHN0cmluZyk6IFBhcmFtZXRlciB7XHJcblx0XHRyZXR1cm4ge1xyXG5cdFx0XHRuYW1lOiBfbmFtZSxcclxuXHRcdFx0dmFsdWU6IF92YWx1ZSxcclxuXHRcdFx0aW46ICdxdWVyeScsXHJcblx0XHRcdHR5cGU6IF90eXBlLFxyXG5cdFx0fTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZ2V0QWNjb3VudE9wdGlvblNlcnZpY2UoXHJcblx0XHRwbGF0Zm9ybTogc3RyaW5nLFxyXG5cdFx0ZmlsdGVyOiBzdHJpbmcgPSAnJyxcclxuXHRcdGlzSW5maW5pdGU6IGJvb2xlYW4gPSBmYWxzZVxyXG5cdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pc0xvYWRpbmdBY2NvdW50T3B0aW9uW3BsYXRmb3JtXSA9IHRydWU7XHJcblxyXG5cdFx0Y29uc3QgcGFyYW1ldGVyTGlzdDogQXJyYXk8UGFyYW1ldGVyPiA9IFtcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oXHJcblx0XHRcdFx0J3BhZ2VObycsXHJcblx0XHRcdFx0dGhpcy5wYWdlTm9BY2NvdW50T3B0aW9uW3BsYXRmb3JtXSxcclxuXHRcdFx0XHQnbnVtYmVyJ1xyXG5cdFx0XHQpLFxyXG5cdFx0XHR0aGlzLmluaXRQYXJhbSgncm93UGVyUGFnZScsIDIwLCAnbnVtYmVyJyksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdzdGF0dXMnLCAnQVBQUk9WRUQnLCAnc3RyaW5nJyksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdwbGF0Zm9ybScsIHBsYXRmb3JtLCAnc3RyaW5nJyksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdmaWx0ZXInLCBmaWx0ZXIsICdzdHJpbmcnKSxcclxuXHRcdF07XHJcblxyXG5cdFx0Y29uc3Qgc3VicyA9IHRoaXMuYXBpQWRhcHRlclNlcnZpY2VcclxuXHRcdFx0LmV4ZWN1dGVBcGlSZXF1ZXN0KHBhcmFtZXRlckxpc3QsICcvYWRtaW4vYWNjb3VudCcsICdHRVQnKVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXNwOiBBcHBSZXNwb25zZTxXaGF0c0FwcEFjY291bnREdG9bXT4pID0+IHtcclxuXHRcdFx0XHRpZiAoIXJlc3AuZGF0YSkgcmV0dXJuO1xyXG5cclxuXHRcdFx0XHR0aGlzLmFjY291bnRPcHRpb25bcGxhdGZvcm1dID0gaXNJbmZpbml0ZVxyXG5cdFx0XHRcdFx0PyBbLi4udGhpcy5hY2NvdW50T3B0aW9uW3BsYXRmb3JtXSwgLi4ucmVzcC5kYXRhXVxyXG5cdFx0XHRcdFx0OiByZXNwLmRhdGE7XHJcblxyXG5cdFx0XHRcdHRoaXMuaXNIYXZlTmV4dEFjY291bnRPcHRpb25bcGxhdGZvcm1dID0gcmVzcC5oYXZlTmV4dDtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ0FjY291bnRPcHRpb25bcGxhdGZvcm1dID0gZmFsc2U7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuc3Vic2NyaWJlcnMucHVzaChzdWJzKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBnZXRUZW1wbGF0ZU9wdGlvblNlcnZpY2UoXHJcblx0XHRwbGF0Zm9ybTogc3RyaW5nLFxyXG5cdFx0YWNjb3VudDogYW55LFxyXG5cdFx0ZmlsdGVyOiBzdHJpbmcgPSAnJyxcclxuXHRcdGlzSW5maW5pdGU6IGJvb2xlYW4gPSBmYWxzZVxyXG5cdCk6IHZvaWQge1xyXG5cdFx0dGhpcy5pc0xvYWRpbmdUZW1wbGF0ZU9wdGlvbltwbGF0Zm9ybV0gPSB0cnVlO1xyXG5cclxuXHRcdGNvbnN0IHBhcmFtZXRlckxpc3Q6IEFycmF5PFBhcmFtZXRlcj4gPSBbXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKFxyXG5cdFx0XHRcdCdwYWdlTm8nLFxyXG5cdFx0XHRcdHRoaXMucGFnZU5vVGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dLFxyXG5cdFx0XHRcdCdudW1iZXInXHJcblx0XHRcdCksXHJcblx0XHRcdHRoaXMuaW5pdFBhcmFtKCdyb3dQZXJQYWdlJywgMjAsICdudW1iZXInKSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ3BsYXRmb3JtJywgcGxhdGZvcm0sICdzdHJpbmcnKSxcclxuXHRcdFx0dGhpcy5pbml0UGFyYW0oJ2ZpbHRlcicsIGZpbHRlciwgJ3N0cmluZycpLFxyXG5cdFx0XHR0aGlzLmluaXRQYXJhbSgnY2xpZW50SWQnLCBhY2NvdW50Py5jbGllbnRJZCA/PyAnJywgJ3N0cmluZycpLFxyXG5cdFx0XHR0aGlzLmluaXRQYXJhbSgnd2FiYUlkJywgYWNjb3VudD8ud2FiYUlkID8/ICcnLCAnc3RyaW5nJyksXHJcblx0XHRdO1xyXG5cclxuXHRcdGlmIChwbGF0Zm9ybSA9PT0gJ1dBJylcclxuXHRcdFx0cGFyYW1ldGVyTGlzdC5wdXNoKHRoaXMuaW5pdFBhcmFtKCdzdGF0dXMnLCAnQVBQUk9WRUQnLCAnc3RyaW5nJykpO1xyXG5cclxuXHRcdGNvbnN0IHN1YnMgPSB0aGlzLmFwaUFkYXB0ZXJTZXJ2aWNlXHJcblx0XHRcdC5leGVjdXRlQXBpUmVxdWVzdChwYXJhbWV0ZXJMaXN0LCAnL21lc3NhZ2UvdGVtcGxhdGUnLCAnR0VUJylcclxuXHRcdFx0LnN1YnNjcmliZSgocmVzcDogQXBwUmVzcG9uc2U8VGVtcGxhdGVXQU1vZGVsW10+KSA9PiB7XHJcblx0XHRcdFx0dGhpcy50ZW1wbGF0ZU9wdGlvbltwbGF0Zm9ybV0gPSBpc0luZmluaXRlXHJcblx0XHRcdFx0XHQ/IFsuLi50aGlzLnRlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSwgLi4ucmVzcC5kYXRhXVxyXG5cdFx0XHRcdFx0OiByZXNwLmRhdGE7XHJcblxyXG5cdFx0XHRcdHRoaXMuaXNIYXZlTmV4dFRlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSA9IHJlc3AuaGF2ZU5leHQ7XHJcblx0XHRcdFx0dGhpcy5pc0xvYWRpbmdUZW1wbGF0ZU9wdGlvbltwbGF0Zm9ybV0gPSBmYWxzZTtcclxuXHRcdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5zdWJzY3JpYmVycy5wdXNoKHN1YnMpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIGdldE5leHRBY2NvdW50QmF0Y2gocGxhdGZvcm06IHN0cmluZykge1xyXG5cdFx0aWYgKCF0aGlzLmlzSGF2ZU5leHRBY2NvdW50T3B0aW9uW3BsYXRmb3JtXSkgcmV0dXJuO1xyXG5cclxuXHRcdHRoaXMucGFnZU5vQWNjb3VudE9wdGlvbltwbGF0Zm9ybV0gKz0gMTtcclxuXHRcdHRoaXMuZ2V0QWNjb3VudE9wdGlvblNlcnZpY2UocGxhdGZvcm0sICcnLCB0cnVlKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhY2NvdW50U2VsZWN0ZWREaXNwbGF5KFxyXG5cdFx0YXR0cmlidXRlMTogV2hhdHNBcHBBY2NvdW50RHRvLFxyXG5cdFx0YXR0cmlidXRlMjogV2hhdHNBcHBBY2NvdW50RHRvXHJcblx0KTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBhdHRyaWJ1dGUxICYmIGF0dHJpYnV0ZTIgJiYgYXR0cmlidXRlMS5pZCA9PSBhdHRyaWJ1dGUyLmlkXHJcblx0XHRcdD8gYCR7YXR0cmlidXRlMS5uYW1lfSAoJHthdHRyaWJ1dGUxLmFjY291bnROb30pYFxyXG5cdFx0XHQ6ICcnO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHRlbXBsYXRlU2VsZWN0ZWREaXNwbGF5KFxyXG5cdFx0YXR0cmlidXRlMTogVGVtcGxhdGVXQU1vZGVsLFxyXG5cdFx0YXR0cmlidXRlMjogVGVtcGxhdGVXQU1vZGVsXHJcblx0KTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBhdHRyaWJ1dGUxICYmIGF0dHJpYnV0ZTIgJiYgYXR0cmlidXRlMS5uYW1lID09IGF0dHJpYnV0ZTIubmFtZVxyXG5cdFx0XHQ/IGAke2F0dHJpYnV0ZTEubmFtZX1gXHJcblx0XHRcdDogJyc7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZ2V0TmV4dFRlbXBsYXRlQmF0Y2gocGxhdGZvcm06IHN0cmluZywgYWNjb3VudDogYW55KSB7XHJcblx0XHRpZiAoIXRoaXMuaXNIYXZlTmV4dFRlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSkgcmV0dXJuO1xyXG5cclxuXHRcdHRoaXMucGFnZU5vVGVtcGxhdGVPcHRpb25bcGxhdGZvcm1dICs9IDE7XHJcblx0XHR0aGlzLmdldFRlbXBsYXRlT3B0aW9uU2VydmljZShwbGF0Zm9ybSwgYWNjb3VudCwgJycsIHRydWUpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHVwZGF0ZVNlYXJjaChcclxuXHRcdHNlYXJjaFZhbHVlOiBzdHJpbmcsXHJcblx0XHRwbGF0Zm9ybTogc3RyaW5nLFxyXG5cdFx0YWNjb3VudDogYW55XHJcblx0KTogdm9pZCB7XHJcblx0XHR0aGlzLnBhZ2VOb1RlbXBsYXRlT3B0aW9uW3BsYXRmb3JtXSA9IDE7XHJcblx0XHR0aGlzLmdldFRlbXBsYXRlT3B0aW9uU2VydmljZShwbGF0Zm9ybSwgYWNjb3VudCwgc2VhcmNoVmFsdWUpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHVwZGF0ZVNlYXJjaEFjY291bnQoc2VhcmNoVmFsdWU6IHN0cmluZywgcGxhdGZvcm06IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0dGhpcy5wYWdlTm9BY2NvdW50T3B0aW9uW3BsYXRmb3JtXSA9IDE7XHJcblx0XHR0aGlzLmdldEFjY291bnRPcHRpb25TZXJ2aWNlKHBsYXRmb3JtLCBzZWFyY2hWYWx1ZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYWN0aXZlQ2hhbmdlKF9hY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcclxuXHRcdHRoaXMuZm9ybVxyXG5cdFx0XHQuZ2V0KCd0eXBlJylcclxuXHRcdFx0LnNldFZhbHVlKHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3Zlcj8udHlwZSA/PyAnJyk7XHJcblx0XHR0aGlzLmZvcm0uZ2V0KCd0eXBlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHRcdHRoaXMuZm9ybS5nZXQoJ3R5cGUnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG5cdFx0aWYgKF9hY3RpdmUpIHtcclxuXHRcdFx0Y29uc3QgYWNjb3VudHMgPVxyXG5cdFx0XHRcdHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5mYWlsb3Zlcj8uYWNjb3VudHM/LmZpbHRlcihcclxuXHRcdFx0XHRcdCh0OiBhbnkpID0+XHJcblx0XHRcdFx0XHRcdHQucGxhdGZvcm0gIT09XHJcblx0XHRcdFx0XHRcdHRoaXMuZ2V0Q2FtcGFpZ25TdG9yYWdlPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm1cclxuXHRcdFx0XHRcdFx0XHQ/Lm1lZGl1bVxyXG5cdFx0XHRcdCk7XHJcblxyXG5cdFx0XHRpZiAoYWNjb3VudHMpIHtcclxuXHRcdFx0XHRhY2NvdW50cy5tYXAoYWNjb3VudCA9PlxyXG5cdFx0XHRcdFx0dGhpcy5hZGRBY2NvdW50KFxyXG5cdFx0XHRcdFx0XHRhY2NvdW50LFxyXG5cdFx0XHRcdFx0XHR0aGlzLmNoYW5uZWxPcHRpb24uZmluZChcclxuXHRcdFx0XHRcdFx0XHQodDogYW55KSA9PiB0LnZhbHVlID09PSBhY2NvdW50LnBsYXRmb3JtXHJcblx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdClcclxuXHRcdFx0XHQpO1xyXG5cclxuXHRcdFx0XHR0aGlzLmNoYW5uZWxPcHRpb25cclxuXHRcdFx0XHRcdC5maWx0ZXIoKHQ6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gIWFjY291bnRzLmZpbmQoKGFjY291bnQ6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBhY2NvdW50LnBsYXRmb3JtID09PSB0LnZhbHVlO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQubWFwKGNoYW5uZWwgPT4gdGhpcy5hZGRBY2NvdW50KHt9LCBjaGFubmVsKSk7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0aGlzLmNoYW5uZWxPcHRpb24ubWFwKGNoYW5uZWwgPT4gdGhpcy5hZGRBY2NvdW50KHt9LCBjaGFubmVsKSk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmZvcm0uZ2V0KCd0eXBlJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHR0aGlzLmZvcm0uZ2V0KCd0eXBlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cdFx0KHRoaXMuZm9ybS5nZXQoJ2FjY291bnRzJykgYXMgRm9ybUFycmF5KS5jb250cm9scyA9IFtdO1xyXG5cdFx0KHRoaXMuZm9ybS5nZXQoJ2FjY291bnRzJykgYXMgRm9ybUFycmF5KS5yZXNldCgpO1xyXG5cdFx0dGhpcy5mb3JtLmdldCgnYWNjb3VudHMnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblxyXG5cdFx0dGhpcy50eXBlQ2hhbmdlKCdTdGF0dXMnKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyB0eXBlQ2hhbmdlKF90eXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuXHRcdGlmIChfdHlwZSA9PT0gJ1RpbWUnKSB7XHJcblx0XHRcdHRoaXMuZm9ybVxyXG5cdFx0XHRcdC5nZXQoJ2ludGVydmFsJylcclxuXHRcdFx0XHQuc2V0VmFsdWUodGhpcy5nZXRDYW1wYWlnblN0b3JhZ2U/LmZhaWxvdmVyPy5pbnRlcnZhbCA/PyBudWxsKTtcclxuXHRcdFx0dGhpcy5mb3JtXHJcblx0XHRcdFx0LmdldCgnaW50ZXJ2YWwnKVxyXG5cdFx0XHRcdC5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBpbnRlcnZhbFRpbWVWYWxpZGF0b3IoKV0pO1xyXG5cdFx0XHR0aGlzLmZvcm0uZ2V0KCdpbnRlcnZhbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2ludGVydmFsJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdpbnRlcnZhbCcpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyB2YWxpZGF0aW9uQWNjb3VudChcclxuXHRcdGFjY291bnQ6IFdoYXRzQXBwQWNjb3VudER0byA9IG51bGwsXHJcblx0XHRhY2NvdW50Q29udHJvbDogRm9ybUdyb3VwID0gbnVsbFxyXG5cdCk6IHZvaWQge1xyXG5cdFx0YWNjb3VudENvbnRyb2xcclxuXHRcdFx0Py5nZXQoJ2FjY291bnROYW1lJylcclxuXHRcdFx0LnNldFZhbHVlKFxyXG5cdFx0XHRcdHRoaXMuYWNjb3VudE9wdGlvblthY2NvdW50Q29udHJvbC5nZXQoJ3BsYXRmb3JtJykudmFsdWVdLmZpbmQoXHJcblx0XHRcdFx0XHR0ID0+IHQuaWQgPT09IGFjY291bnQ/LmlkXHJcblx0XHRcdFx0KT8ubmFtZSA/PyAnJ1xyXG5cdFx0XHQpO1xyXG5cclxuXHRcdGNvbnN0IGlzQ2hvb3NlQWNjb3VudCA9IHRoaXMuZ2V0QWNjb3VudC5maWx0ZXIoXHJcblx0XHRcdGNvbnRyb2wgPT4gY29udHJvbC5nZXQoJ2FjY291bnRJZCcpLnZhbHVlXHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuZ2V0QWNjb3VudC5mb3JFYWNoKGNvbnRyb2wgPT4ge1xyXG5cdFx0XHRjb250cm9sLmdldCgnYWNjb3VudElkJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHRcdFx0Y29udHJvbC5nZXQoJ3N1YmplY3QnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cdFx0XHRjb250cm9sLmdldCgndGVtcGxhdGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG5cclxuXHRcdFx0aWYgKFxyXG5cdFx0XHRcdCFjb250cm9sLmdldCgnYWNjb3VudElkJykudmFsdWUgJiZcclxuXHRcdFx0XHRpc0Nob29zZUFjY291bnQ/Lmxlbmd0aCA+IDBcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ2FjY291bnRJZCcpLmNsZWFyVmFsaWRhdG9ycygpO1xyXG5cdFx0XHRcdGNvbnRyb2wuZ2V0KCdzdWJqZWN0Jykuc2V0VmFsdWUoJycpO1xyXG5cdFx0XHRcdGNvbnRyb2wuZ2V0KCdzdWJqZWN0JykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHRcdFx0Y29udHJvbC5nZXQoJ3RlbXBsYXRlJykuc2V0VmFsdWUoJycpO1xyXG5cdFx0XHRcdGNvbnRyb2wuZ2V0KCd0ZW1wbGF0ZScpLmNsZWFyVmFsaWRhdG9ycygpO1xyXG5cdFx0XHR9IGVsc2UgaWYgKFxyXG5cdFx0XHRcdFsnV0EnLCAnU01TJywgJ1ZPSUNFJ10uaW5jbHVkZXMoY29udHJvbC5nZXQoJ3BsYXRmb3JtJykudmFsdWUpXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdGNvbnRyb2wuZ2V0KCdzdWJqZWN0JykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGNvbnRyb2wuZ2V0KCdhY2NvdW50SWQnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHRcdGNvbnRyb2wuZ2V0KCdzdWJqZWN0JykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cdFx0XHRjb250cm9sLmdldCgndGVtcGxhdGUnKS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcblx0XHR9KTtcclxuXHJcblx0XHRpZiAoYWNjb3VudENvbnRyb2wpXHJcblx0XHRcdHRoaXMuZ2V0VGVtcGxhdGVPcHRpb25TZXJ2aWNlKFxyXG5cdFx0XHRcdGFjY291bnRDb250cm9sLmdldCgncGxhdGZvcm0nKS52YWx1ZSxcclxuXHRcdFx0XHRhY2NvdW50Q29udHJvbC5nZXQoJ2FjY291bnRJZCcpLnZhbHVlXHJcblx0XHRcdCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XHJcblx0XHRtb3ZlSXRlbUluQXJyYXkoXHJcblx0XHRcdHRoaXMuZ2V0QWNjb3VudCxcclxuXHRcdFx0ZXZlbnQucHJldmlvdXNJbmRleCxcclxuXHRcdFx0ZXZlbnQuY3VycmVudEluZGV4XHJcblx0XHQpO1xyXG5cclxuXHRcdHRoaXMuZmFpbG92ZXIuZW1pdCh0aGlzLmZvcm0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblx0XHR0aGlzLnN1YnNjcmliZXJzLmZvckVhY2goZWFjaCA9PiBlYWNoLnVuc3Vic2NyaWJlKCkpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './failover-mechanism.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZmFpbG92ZXItbWVjaGFuaXNtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZhaWxvdmVyLW1lY2hhbmlzbS5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -189,8 +189,8 @@ GeneralInformationComponent = __decorate([
|
|
|
189
189
|
Component({
|
|
190
190
|
selector: 'lib-new-campaign-general-information',
|
|
191
191
|
template: "<form autocomplete=\"off\"\r\n\t[formGroup]=\"form\">\r\n\t<div class=\"campaign-info\">\r\n\t\t<div class=\"campaign-info-child\">\r\n\t\t\t<mat-card>\r\n\t\t\t\t<mat-card-content>\r\n\t\t\t\t\t<h3 class=\"font-22px font-PoppinsBold mb-4\">General Information</h3>\r\n\r\n\t\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t\t<mat-form-field appearance=\"outline\"\r\n\t\t\t\t\t\t\tfloatLabel=\"always\"\r\n\t\t\t\t\t\t\tclass=\"w-100\">\r\n\t\t\t\t\t\t\t<mat-label class=\"asterix--after\">Broadcast Name</mat-label>\r\n\r\n\t\t\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\tformControlName=\"campaignName\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Enter Broadcast name\">\r\n\r\n\t\t\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-between align-items-center w-100\">\r\n\t\t\t\t\t\t\t<mat-hint align=\"start\">\r\n\t\t\t\t\t\t\t\t{{form.get('campaignName').value?.length || 0}}/100\r\n\t\t\t\t\t\t\t</mat-hint>\r\n\r\n\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t<mat-error align=\"end\"\r\n\t\t\t\t\t\t\t\t\t*ngFor=\"let validation of validationMessages.campaignName\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"font-12px mb-0\"\r\n\t\t\t\t\t\t\t\t\t\t*ngIf=\"form.get('campaignName').touched\r\n\t\t\t\t\t\t\t\t\t\t&& form.get('campaignName').hasError(validation.type)\">\r\n\t\t\t\t\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t\t<mat-form-field appearance=\"outline\"\r\n\t\t\t\t\t\t\tfloatLabel=\"always\"\r\n\t\t\t\t\t\t\tclass=\"w-100\">\r\n\t\t\t\t\t\t\t<mat-label class=\"asterix--after\">Channel</mat-label>\r\n\r\n\t\t\t\t\t\t\t<mat-select placeholder=\"Select channel\"\r\n\t\t\t\t\t\t\t\tformControlName=\"medium\">\r\n\t\t\t\t\t\t\t\t<mat-option *ngFor=\"let option of channelOption\"\r\n\t\t\t\t\t\t\t\t\t[value]=\"option.value\">\r\n\t\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t\t\t<mat-error align=\"end\"\r\n\t\t\t\t\t\t\t*ngFor=\"let validation of validationMessages.medium\">\r\n\t\t\t\t\t\t\t<p class=\"font-12px mb-0\"\r\n\t\t\t\t\t\t\t\t*ngIf=\"form.get('medium').touched\r\n\t\t\t\t\t\t\t\t\t\t&& form.get('medium').hasError(validation.type)\">\r\n\t\t\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<ng-container *ngIf=\"form.get('medium').value === 'WA'\">\r\n\t\t\t\t\t\t<lib-general-information-wa [isTouchedForm]=\"isTouchedWAForm\"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]=\"isReadOnlyMode\"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"></lib-general-information-wa>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf=\"form.get('medium').value === 'LINE'\">\r\n\t\t\t\t\t\t<lib-general-information-line [isTouchedForm]=\"isTouchedSMSForm\"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]=\"isReadOnlyMode\"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"></lib-general-information-line>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf=\"form.get('medium').value === 'SMS'\">\r\n\t\t\t\t\t\t<lib-general-information-sms [isTouchedForm]=\"isTouchedSMSForm\"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]=\"isReadOnlyMode\"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"></lib-general-information-sms>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf=\"form.get('medium').value === 'EMAIL'\">\r\n\t\t\t\t\t\t<lib-general-information-email [isTouchedForm]=\"isTouchedEmailForm\"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]=\"isReadOnlyMode\"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)=\"updateGeneralInformationForm($event)\"></lib-general-information-email>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</mat-card-content>\r\n\t\t\t</mat-card>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"campaign-info-child pl-20px\">\r\n\t\t\t<h3 class=\"font-22px font-PoppinsBold\">Broadcast Content</h3>\r\n\r\n\t\t\t<div\r\n\t\t\t\t[ngClass]=\"form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL' ? 'campaign-border-preview' : 'campaign-preview'\">\r\n\t\t\t\t<section *ngIf=\"form.get('medium').value === 'SMS' || form.get('medium').value === 'EMAIL'\">\r\n\t\t\t\t\t<p *ngIf=\"getBody\"\r\n\t\t\t\t\t\tclass=\"body my-2\"\r\n\t\t\t\t\t\tstyle=\"max-width: 500px;word-wrap: break-word;\"\r\n\t\t\t\t\t\t[innerHTML]=\"getBody\"></p>\r\n\t\t\t\t</section>\r\n\r\n\t\t\t\t<section *ngIf=\"form.get('medium').value === 'WA'\"\r\n\t\t\t\t\tclass=\"campaign-preview__wa\">\r\n\t\t\t\t\t<div class=\"header-preview\">\r\n\t\t\t\t\t\t<div class=\"heading\">\r\n\t\t\t\t\t\t\t{{ getHeader }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"body-preview\">\r\n\t\t\t\t\t\t<section *ngIf=\"getBody || getMedia || displayFile\">\r\n\t\t\t\t\t\t\t<div class=\"chat\"\r\n\t\t\t\t\t\t\t\t[ngClass]=\"{'no-bottom-border': getTemplate?.buttons?.length > 0}\">\r\n\t\t\t\t\t\t\t\t<img *ngIf=\"(getMedia === 'IMAGE' || getTemplate?.header?.type?.toLowerCase() === 'image') && displayFile\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"max-width: 100%;\"\r\n\t\t\t\t\t\t\t\t\talt=\"image\"\r\n\t\t\t\t\t\t\t\t\t[src]=\"displayFile\" />\r\n\r\n\t\t\t\t\t\t\t\t<video\r\n\t\t\t\t\t\t\t\t\t*ngIf=\"(getMedia === 'VIDEO' || getTemplate?.header?.type?.toLowerCase() === 'video') && displayFile\"\r\n\t\t\t\t\t\t\t\t\tid=\"video\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"width: 100%;\"\r\n\t\t\t\t\t\t\t\t\t[src]=\"displayFile\"\r\n\t\t\t\t\t\t\t\t\tcontrols></video>\r\n\r\n\t\t\t\t\t\t\t\t<div *ngIf=\"getMedia === 'DOCUMENT'\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"display: flex;\">\r\n\t\t\t\t\t\t\t\t\t<img style=\"width: 13px; height: 18px;\"\r\n\t\t\t\t\t\t\t\t\t\talt=\"document\"\r\n\t\t\t\t\t\t\t\t\t\tsrc=\"../../../../../assets/images/icon-file.png\">\r\n\r\n\t\t\t\t\t\t\t\t\t<span style=\"margin-left: 10px;\">Document</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf=\"getMedia === 'LOCATION'\">\r\n\t\t\t\t\t\t\t\t\t<agm-map style=\"width:100%;height:200px;\"\r\n\t\t\t\t\t\t\t\t\t\t[disableDefaultUI]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t[latitude]=\"maps.latitude\"\r\n\t\t\t\t\t\t\t\t\t\t[longitude]=\"maps.longitude\"\r\n\t\t\t\t\t\t\t\t\t\t[zoom]=\"maps.zoom\">\r\n\t\t\t\t\t\t\t\t\t\t<agm-marker [latitude]=\"maps.latitude\"\r\n\t\t\t\t\t\t\t\t\t\t\t[longitude]=\"maps.longitude\"\r\n\t\t\t\t\t\t\t\t\t\t\t[markerDraggable]=\"false\"></agm-marker>\r\n\t\t\t\t\t\t\t\t\t</agm-map>\r\n\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t[href]=\"'https://www.google.com/maps/search/?api=1&query='+ maps.latitude + ',' + maps.longitude\">\r\n\t\t\t\t\t\t\t\t\t\thttps://www.google.com/maps/search/?api=1&query={{maps.latitude}},{{maps.longitude}}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t\t\t<p *ngIf=\"getBody\"\r\n\t\t\t\t\t\t\t\t\tclass=\"body my-2\"\r\n\t\t\t\t\t\t\t\t\t[innerHTML]=\"getBody\"></p>\r\n\r\n\t\t\t\t\t\t\t\t<p *ngIf=\"getTemplate?.footer\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"color: rgb(160, 160, 160);\">\r\n\t\t\t\t\t\t\t\t\t{{ getTemplate.footer }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t<section *ngIf=\"getTemplate?.buttons?.length > 0\">\r\n\t\t\t\t\t\t\t<div *ngFor=\"let button of getTemplateButton\"\r\n\t\t\t\t\t\t\t\tclass=\"params-btn pb-0 pointer\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text || button?.type }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div *ngIf=\"getTemplate?.buttons?.length > 3\"\r\n\t\t\t\t\t\t\t\tclass=\"params-btn pb-0 pointer\"\r\n\t\t\t\t\t\t\t\t(click)=\"isShowMore = !isShowMore\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t<mat-icon>list</mat-icon> See all options\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</section>\r\n\r\n\t\t\t\t<section *ngIf=\"form.get('medium').value === 'LINE'\"\r\n\t\t\t\t\tclass=\"campaign-preview__line\">\r\n\t\t\t\t\t<div class=\"header-preview\">\r\n\t\t\t\t\t\t<div class=\"heading\">\r\n\t\t\t\t\t\t\t{{ getHeader }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"body-preview\">\r\n\t\t\t\t\t\t<!-- Template Line Text -->\r\n\t\t\t\t\t\t<section *ngIf=\"isText || !isJSON\"\r\n\t\t\t\t\t\t\tclass=\"chat\">\r\n\t\t\t\t\t\t\t<p class=\"body my-2\"\r\n\t\t\t\t\t\t\t\t[innerHTML]=\"getBody\"></p>\r\n\t\t\t\t\t\t</section>\r\n\r\n\t\t\t\t\t\t<!-- Template Line Button | Confirmation -->\r\n\t\t\t\t\t\t<section *ngIf=\"['buttons', 'confirm'].includes(getTemplateLine?.type)\"\r\n\t\t\t\t\t\t\tclass=\"chat\"\r\n\t\t\t\t\t\t\t[ngClass]=\"{'no-bottom-border': getTemplateLine?.actions?.length > 0}\">\r\n\t\t\t\t\t\t\t<img *ngIf=\"getTemplateLine?.thumbnailImageUrl\"\r\n\t\t\t\t\t\t\t\tstyle=\"max-width: 100%;\"\r\n\t\t\t\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t\t\t\t[src]=\"getTemplateLine?.thumbnailImageUrl\" />\r\n\r\n\t\t\t\t\t\t\t<p *ngIf=\"getTemplateLine?.title\"\r\n\t\t\t\t\t\t\t\tclass=\"font-PoppinsBold mb-1\"\r\n\t\t\t\t\t\t\t\t[innerHTML]=\"getTemplateLine?.title\"> </p>\r\n\r\n\t\t\t\t\t\t\t<p *ngIf=\"getTemplateLine?.text\"\r\n\t\t\t\t\t\t\t\tclass=\"mb-0\"\r\n\t\t\t\t\t\t\t\t[innerHTML]=\"getTemplateLine?.text\"> </p>\r\n\t\t\t\t\t\t</section>\r\n\r\n\t\t\t\t\t\t<!-- Template Line Carousel -->\r\n\t\t\t\t\t\t<div *ngIf=\"['carousel'].includes(getTemplateLine?.type)\"\r\n\t\t\t\t\t\t\tclass=\"d-flex gap-2 overflow-auto\">\r\n\t\t\t\t\t\t\t<div *ngFor=\"let column of getTemplateLine?.columns\">\r\n\t\t\t\t\t\t\t\t<section class=\"chat w-100\"\r\n\t\t\t\t\t\t\t\t\t[ngClass]=\"{'no-bottom-border': column?.actions?.length > 0}\">\r\n\t\t\t\t\t\t\t\t\t<img *ngIf=\"column.thumbnailImageUrl\"\r\n\t\t\t\t\t\t\t\t\t\tstyle=\"max-width: 100%;\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t[src]=\"column.thumbnailImageUrl\" />\r\n\r\n\t\t\t\t\t\t\t\t\t<p *ngIf=\"column.title\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"font-PoppinsBold mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t[innerHTML]=\"column.title\"> </p>\r\n\r\n\t\t\t\t\t\t\t\t\t<p *ngIf=\"column.text\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mb-0\"\r\n\t\t\t\t\t\t\t\t\t\t[innerHTML]=\"column.text\"> </p>\r\n\t\t\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\t\t<section *ngIf=\"column?.actions?.length > 0\">\r\n\t\t\t\t\t\t\t\t\t<div *ngFor=\"let button of column?.actions\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"params-btn mw-100 pb-0 pointer\">\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<!-- Template Line Image Carousel -->\r\n\t\t\t\t\t\t<div *ngIf=\"['image_carousel'].includes(getTemplateLine?.type)\"\r\n\t\t\t\t\t\t\tclass=\"d-flex gap-2 overflow-auto\">\r\n\t\t\t\t\t\t\t<div *ngFor=\"let column of getTemplateLine?.columns\">\r\n\t\t\t\t\t\t\t\t<div class=\"image-container\">\r\n\t\t\t\t\t\t\t\t\t<img [src]=\"column.imageUrl\"\r\n\t\t\t\t\t\t\t\t\t\talt=\"image\">\r\n\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"font-13px overlay-text\">{{ column.action.label }}</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<!-- Button Line -->\r\n\t\t\t\t\t\t<section *ngIf=\"getTemplateLine?.type !== 'confirm' && getTemplateLine?.actions?.length > 0\">\r\n\t\t\t\t\t\t\t<div *ngFor=\"let button of getTemplateLine?.actions\"\r\n\t\t\t\t\t\t\t\tclass=\"params-btn pb-0 pointer\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t<section *ngIf=\"getTemplateLine?.type === 'confirm' && getTemplateLine?.actions?.length > 0\"\r\n\t\t\t\t\t\t\tclass=\"d-flex justify-content-around mw-70 bg-white\">\r\n\t\t\t\t\t\t\t<div *ngFor=\"let button of getTemplateLine?.actions\"\r\n\t\t\t\t\t\t\t\tclass=\"params-btn flex pb-0 pointer\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t<!-- ./ Button Line -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</section>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"d-flex\"\r\n\t\t\t\tstyle=\"flex-direction: column;\">\r\n\t\t\t\t<span *ngIf=\"form.get('medium').value === 'SMS'\"\r\n\t\t\t\t\tstyle=\"text-align: right;width: 100%;\">\r\n\t\t\t\t\t{{ twilioResultCounter.fulltext }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span style=\"text-align: right;width: 100%;color: red\"\r\n\t\t\t\t\t*ngIf=\"twilioResultCounter.segments > 10 && form.get('medium').value === 'SMS'\">\r\n\t\t\t\t\tMaximum Segment is 10\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n\r\n<ng-template #isSpinner>\r\n\t<div class=\"text-center my-auto\">\r\n\t\t<img src=\"../../../../../assets/images/spinner.svg\">\r\n\t</div>\r\n</ng-template>\r\n",
|
|
192
|
-
styles: [".campaign-info{display:flex}.campaign-info-child{flex:1}.campaign-info .asterix--after:after{content:\"*\";color:red}.campaign-info .pl-20px{padding-left:20px}.campaign-info .mw-70{max-width:70%}.campaign-info .campaign-preview{width:75%}.campaign-info .campaign-preview .header-preview{padding:15px;min-height:60px;border-radius:10px 10px 0 0}.campaign-info .campaign-preview .header-preview .heading{width:100%;color:#e0e0e0;margin-left:5px;font-size:20px}.campaign-info .campaign-preview .body-preview{padding:15px;min-height:470px}.campaign-info .campaign-preview .body-preview .chat{width:70%;padding:11px;font-size:14px;line-height:22px;color:#494949;border-radius:8px;background:#fff;overflow-wrap:break-word;white-space:pre-line;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.campaign-info .campaign-preview .body-preview .chat .body{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain}.campaign-info .campaign-preview .body-preview .chat.no-bottom-border{border-bottom-left-radius:0;border-bottom-right-radius:0}.campaign-info .campaign-preview__wa .header-preview{background:#065f54}.campaign-info .campaign-preview__wa .body-preview{border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-image:url(
|
|
192
|
+
styles: [".campaign-info{display:flex}.campaign-info-child{flex:1}.campaign-info .asterix--after:after{content:\"*\";color:red}.campaign-info .pl-20px{padding-left:20px}.campaign-info .mw-70{max-width:70%}.campaign-info .campaign-preview{width:75%}.campaign-info .campaign-preview .header-preview{padding:15px;min-height:60px;border-radius:10px 10px 0 0}.campaign-info .campaign-preview .header-preview .heading{width:100%;color:#e0e0e0;margin-left:5px;font-size:20px}.campaign-info .campaign-preview .body-preview{padding:15px;min-height:470px}.campaign-info .campaign-preview .body-preview .chat{width:70%;padding:11px;font-size:14px;line-height:22px;color:#494949;border-radius:8px;background:#fff;overflow-wrap:break-word;white-space:pre-line;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.campaign-info .campaign-preview .body-preview .chat .body{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain}.campaign-info .campaign-preview .body-preview .chat.no-bottom-border{border-bottom-left-radius:0;border-bottom-right-radius:0}.campaign-info .campaign-preview__wa .header-preview{background:#065f54}.campaign-info .campaign-preview__wa .body-preview{border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-image:url(../../../../assets/svg/whatsapp-bg.svg);background-position:center;background-repeat:no-repeat;background-size:cover}.campaign-info .campaign-preview__wa .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__wa .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .header-preview{background:#273046}.campaign-info .campaign-preview__line .body-preview{background:#7692bf;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.campaign-info .campaign-preview__line .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__line .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .body-preview .image-container{position:relative;width:200px;height:200px}.campaign-info .campaign-preview__line .body-preview .image-container img{display:block;width:100%;height:100%}.campaign-info .campaign-preview__line .body-preview .image-container .overlay-text{top:170px;position:absolute;padding:2px 5px;color:#fff;background-color:rgba(49,57,60,.62);border-radius:10px}.campaign-info .campaign-border-preview{width:100%;min-height:100px;padding:32px;border:1px solid #e2e2e2;border-radius:8px}"]
|
|
193
193
|
})
|
|
194
194
|
], GeneralInformationComponent);
|
|
195
195
|
export { GeneralInformationComponent };
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9jYW1wYWlnbi1tYW5hZ2VtZW50LWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvY2FtcGFpZ24tbWFuYWdlbWVudC9tb2R1bGVzL25ldy1jYW1wYWlnbi9nZW5lcmFsLWluZm9ybWF0aW9uL2dlbmVyYWwtaW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQ04sd0NBQXdDLEVBQ3hDLG1CQUFtQixHQUNuQixNQUFNLHdCQUF3QixDQUFDO0FBZWhDLElBQWEsMkJBQTJCLEdBQXhDLE1BQWEsMkJBQTJCO0lBeUJ2QyxZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBZnBDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUc1Qix3QkFBbUIsR0FBRztZQUM1QixRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxDQUFDO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixRQUFRLEVBQUUsZ0NBQWdDO1NBQzFDLENBQUM7UUFxTEsseUJBQW9CLEdBQUcsR0FBUyxFQUFFOztZQUN4QyxNQUFNLGFBQWEsU0FBRyxJQUFJLENBQUMsc0JBQXNCLDBDQUFFLFdBQVcs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QUFFLFdBQVcsNENBQUksU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxVQUFVO1FBQ2xDLE9BQU8sVUFBVTthQUNmLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUM7YUFDN0MsVUFBVSxDQUFDLHNCQUFzQixFQUFFLHFCQUFxQixDQUFDO2FBQ3pELFVBQVUsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0NBdUNELENBQUE7O1lBdE4rQixZQUFZOztBQXZCM0M7SUFEQyxNQUFNLEVBQUU7dUVBSU47QUFrQk07SUFBUixLQUFLLEVBQUU7bUVBQWdDO0FBdkI1QiwyQkFBMkI7SUFMdkMsU0FBUyxDQUFDO1FBQ1YsUUFBUSxFQUFFLHNDQUFzQztRQUNoRCxxNlpBQW1EOztLQUVuRCxDQUFDO0dBQ1csMkJBQTJCLENBK092QztTQS9PWSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBTZWdtZW50ZWRNZXNzYWdlIH0gZnJvbSAnc21zLXNlZ21lbnRzLWNhbGN1bGF0b3InO1xyXG5pbXBvcnQge1xyXG5cdEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3QsXHJcblx0UGxhdGZvcm1PcHRpb25Db25zdCxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2NvbnN0JztcclxuXHJcbmludGVyZmFjZSBJTWFwcyB7XHJcblx0em9vbTogbnVtYmVyO1xyXG5cdGxhdGl0dWRlOiBudW1iZXI7XHJcblx0bG9uZ2l0dWRlOiBudW1iZXI7XHJcblx0aXNEcmFnZ2FibGU6IGJvb2xlYW47XHJcblx0aXNEb3VibGVDbGlja1pvb206IGJvb2xlYW47XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLW5ldy1jYW1wYWlnbi1nZW5lcmFsLWluZm9ybWF0aW9uJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJhbEluZm9ybWF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRAT3V0cHV0KClcclxuXHRwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uOiBFdmVudEVtaXR0ZXI8e1xyXG5cdFx0cGFyZW50OiBGb3JtR3JvdXA7XHJcblx0XHRjaGlsZDogRm9ybUdyb3VwO1xyXG5cdH0+O1xyXG5cclxuXHRwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xyXG5cdHB1YmxpYyBjaGFubmVsT3B0aW9uOiBhbnlbXTtcclxuXHRwdWJsaWMgZ2VuZXJhbEluZm9ybWF0aW9uRm9ybTogRm9ybUdyb3VwO1xyXG5cdHB1YmxpYyBpc1RvdWNoZWRXQUZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwdWJsaWMgaXNUb3VjaGVkU01TRm9ybTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHB1YmxpYyBpc1RvdWNoZWRFbWFpbEZvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwdWJsaWMgaXNTaG93TW9yZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdHB1YmxpYyB2YWxpZGF0aW9uTWVzc2FnZXM6IGFueTtcclxuXHRwdWJsaWMgbWFwczogSU1hcHM7XHJcblx0cHVibGljIHR3aWxpb1Jlc3VsdENvdW50ZXIgPSB7XHJcblx0XHRzZWdtZW50czogMCxcclxuXHRcdGNoYXJhY3RlcnM6IDAsXHJcblx0XHRlbmNvZGluZzogJycsXHJcblx0XHRmdWxsdGV4dDogYEVuY29kZSAtIC8gQ2hhcnMgMCAvIFNlZ21lbnQgMWAsXHJcblx0fTtcclxuXHJcblx0QElucHV0KCkgcHVibGljIGlzUmVhZE9ubHlNb2RlOiBib29sZWFuO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XHJcblx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5jaGFubmVsT3B0aW9uID0gUGxhdGZvcm1PcHRpb25Db25zdDtcclxuXHRcdHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzID0gR2VuZXJhbEluZm9ybWF0aW9uTWVzc2FnZVZhbGlkYXRpb25Db25zdDtcclxuXHRcdHRoaXMubWFwcyA9IHtcclxuXHRcdFx0em9vbTogMTUsXHJcblx0XHRcdGxhdGl0dWRlOiBudWxsLFxyXG5cdFx0XHRsb25naXR1ZGU6IG51bGwsXHJcblx0XHRcdGlzRHJhZ2dhYmxlOiB0cnVlLFxyXG5cdFx0XHRpc0RvdWJsZUNsaWNrWm9vbTogdHJ1ZSxcclxuXHRcdH07XHJcblxyXG5cdFx0dGhpcy5pbml0Rm9ybSgpO1xyXG5cdFx0dGhpcy5pbml0RWRpdCgpO1xyXG5cdFx0dGhpcy5pbml0RGlzYWJsZSgpO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBpbml0Rm9ybSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG5cdFx0XHRpZDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG5cdFx0XHRjYW1wYWlnbk5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbXHJcblx0XHRcdFx0VmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuXHRcdFx0XHRWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApLFxyXG5cdFx0XHRdKSxcclxuXHRcdFx0bWVkaXVtOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuXHRcdFx0dGhpcy5pc1RvdWNoZWRXQUZvcm0gPSAhdGhpcy5pc1RvdWNoZWRXQUZvcm07XHJcblx0XHRcdHRoaXMuaXNUb3VjaGVkU01TRm9ybSA9ICF0aGlzLmlzVG91Y2hlZFNNU0Zvcm07XHJcblx0XHRcdHRoaXMuaXNUb3VjaGVkRW1haWxGb3JtID0gIXRoaXMuaXNUb3VjaGVkRW1haWxGb3JtO1xyXG5cclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb24uZW1pdCh7XHJcblx0XHRcdFx0cGFyZW50OiB0aGlzLmZvcm0sXHJcblx0XHRcdFx0Y2hpbGQ6IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybSxcclxuXHRcdFx0fSk7XHJcblx0XHR9KTtcclxuXHRcdHNldEludGVydmFsKCgpID0+IHtcclxuXHRcdFx0dGhpcy5vbkNoZWNrVHdpbGlvQ291bnRlcigpO1xyXG5cdFx0fSwgNDAwKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdEVkaXQoKTogdm9pZCB7XHJcblx0XHRjb25zdCBjYW1wYWlnbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0ZWxpbi5jYW1wYWlnbicpXHJcblx0XHRcdD8gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKSlcclxuXHRcdFx0OiB7fTtcclxuXHJcblx0XHRpZiAoT2JqZWN0LmVudHJpZXMoY2FtcGFpZ24pLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuZm9ybS5nZXQoJ2lkJykuc2V0VmFsdWUoY2FtcGFpZ24/LmdlbmVyYWxJbmZvcm1hdGlvbj8uaWQpO1xyXG5cdFx0dGhpcy5mb3JtXHJcblx0XHRcdC5nZXQoJ2NhbXBhaWduTmFtZScpXHJcblx0XHRcdC5zZXRWYWx1ZShjYW1wYWlnbj8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtLmNhbXBhaWduTmFtZSk7XHJcblx0XHR0aGlzLmZvcm1cclxuXHRcdFx0LmdldCgnbWVkaXVtJylcclxuXHRcdFx0LnNldFZhbHVlKGNhbXBhaWduPy5nZW5lcmFsSW5mb3JtYXRpb24/LmZvcm0ubWVkaXVtKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdERpc2FibGUoKTogdm9pZCB7XHJcblx0XHRpZiAoIXRoaXMuaXNSZWFkT25seU1vZGUpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuZm9ybS5kaXNhYmxlKCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgdXBkYXRlR2VuZXJhbEluZm9ybWF0aW9uRm9ybShmb3JtOiBGb3JtR3JvdXApOiB2b2lkIHtcclxuXHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybSA9IGZvcm07XHJcblx0XHR0aGlzLmlzU2hvd01vcmUgPSBmYWxzZTtcclxuXHJcblx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbi5lbWl0KHtcclxuXHRcdFx0cGFyZW50OiB0aGlzLmZvcm0sXHJcblx0XHRcdGNoaWxkOiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0sXHJcblx0XHR9KTtcclxuXHJcblx0XHRpZiAodGhpcy5nZXRNZWRpYSA9PT0gJ0xPQ0FUSU9OJykgdGhpcy5nZXRMb2NhdGlvbigpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldEhlYWRlcigpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8uZnJvbT8ubmFtZSB8fCAnJztcclxuXHR9XHJcblxyXG5cdGdldCBnZXRCb2R5U3RyaW5nKCk6IHN0cmluZyB7XHJcblx0XHRjb25zdCBib2R5ID1cclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZXh0IHx8XHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHk/LnRleHQgfHxcclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5ib2R5Py50ZXh0O1xyXG5cclxuXHRcdHJldHVybiAoXHJcblx0XHRcdGJvZHlcclxuXHRcdFx0XHQ/LnNwbGl0KC9cXFxcbnxcXG4vKVxyXG5cdFx0XHRcdC5qb2luKCc8YnIgLz4nKVxyXG5cdFx0XHRcdC5zcGxpdCgvXFxcXHR8XFx0LylcclxuXHRcdFx0XHQuam9pbignICAgICcpID8/ICcnXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldEJvZHkoKTogYW55IHtcclxuXHRcdGNvbnN0IGJvZHkgPVxyXG5cdFx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRleHQgfHxcclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keT8udGV4dCB8fFxyXG5cdFx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmJvZHk/LnRleHQ7XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFxyXG5cdFx0XHR0aGlzLmZpeEdlbmVyYXRlZEh0bWwoXHJcblx0XHRcdFx0Ym9keVxyXG5cdFx0XHRcdFx0Py5zcGxpdCgvXFxcXG58XFxuLylcclxuXHRcdFx0XHRcdC5qb2luKCc8YnIgLz4nKVxyXG5cdFx0XHRcdFx0LnNwbGl0KC9cXFxcdHxcXHQvKVxyXG5cdFx0XHRcdFx0LmpvaW4oJyAgICAnKSA/PyAnJ1xyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldE1lZGlhKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5tZWRpYSB8fCAnJztcclxuXHR9XHJcblxyXG5cdGdldCBnZXRUZW1wbGF0ZSgpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGUgfHwge307XHJcblx0fVxyXG5cclxuXHRnZXQgZ2V0VGVtcGxhdGVCdXR0b24oKTogYW55IHtcclxuXHRcdGNvbnN0IGxpbWl0ID1cclxuXHRcdFx0IXRoaXMuaXNTaG93TW9yZSAmJiB0aGlzLmdldFRlbXBsYXRlPy5idXR0b25zPy5sZW5ndGggPiAzXHJcblx0XHRcdFx0PyAyXHJcblx0XHRcdFx0OiB0aGlzLmdldFRlbXBsYXRlPy5idXR0b25zPy5sZW5ndGg7XHJcblxyXG5cdFx0cmV0dXJuIFsuLi50aGlzLmdldFRlbXBsYXRlPy5idXR0b25zXS5zcGxpY2UoMCwgbGltaXQpIHx8IFtdO1xyXG5cdH1cclxuXHJcblx0Z2V0IGRpc3BsYXlGaWxlKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gKFxyXG5cdFx0XHQoXHJcblx0XHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50YXJnZXRVUkwgfHxcclxuXHRcdFx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5oZWFkZXJcclxuXHRcdFx0XHRcdD8udXJsXHJcblx0XHRcdCk/LnJlcGxhY2UoJ2FkbHNhbmRib3guY29tJywgJ2FkbHNhbmRib3gubmV0JykgPz8gJydcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHQvKiBMSU5FICovXHJcblx0Z2V0IGlzVGV4dCgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmNoYW5uZWwgPT09ICdURVhUJztcclxuXHR9XHJcblxyXG5cdGdldCBpc0pTT04oKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5pc0pTT047XHJcblx0fVxyXG5cclxuXHRnZXQgZ2V0VGVtcGxhdGVMaW5lKCk6IGFueSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc0pTT05cclxuXHRcdFx0PyBKU09OLnBhcnNlKFxyXG5cdFx0XHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keVxyXG5cdFx0XHRcdFx0XHQ/LnRleHRcclxuXHRcdFx0ICApXHJcblx0XHRcdDogdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uYm9keT8udGV4dDtcclxuXHR9XHJcblx0LyogLi8gTElORSAqL1xyXG5cclxuXHRwcml2YXRlIGdldExvY2F0aW9uKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5tYXBzLmxhdGl0dWRlID1cclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5sYXRpdHVkZTtcclxuXHRcdHRoaXMubWFwcy5sb25naXR1ZGUgPVxyXG5cdFx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmxvbmdpdHVkZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZml4R2VuZXJhdGVkSHRtbChodG1sU3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gaHRtbFN0cmluZ1xyXG5cdFx0XHQucmVwbGFjZUFsbCgvZGl2IHNyYz1cImh0dHAvZywgJ2ltZyBzcmM9XCJodHRwJylcclxuXHRcdFx0LnJlcGxhY2VBbGwoL2RpdiBzcmM9XCJkYXRhOmltYWdlL2csICdpbWcgc3JjPVwiZGF0YTppbWFnZScpXHJcblx0XHRcdC5yZXBsYWNlQWxsKC9EcmFnIGFuZCBkcm9wIHlvdXIgaW1hZ2UgaGVyZS9nLCAnJyk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgb25DaGVja1R3aWxpb0NvdW50ZXIgPSAoKTogdm9pZCA9PiB7XHJcblx0XHRjb25zdCB2YWx1ZXNHZW5lcmFsID0gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpO1xyXG5cdFx0aWYgKHZhbHVlc0dlbmVyYWw/LmNoYW5uZWwgPT09ICdURVhUJykge1xyXG5cdFx0XHRjb25zdCBzZWdtZW50ZWRNZXNzYWdlID0gbmV3IFNlZ21lbnRlZE1lc3NhZ2UodGhpcy5nZXRCb2R5U3RyaW5nKTtcclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0ge1xyXG5cdFx0XHRcdHNlZ21lbnRzOiBzZWdtZW50ZWRNZXNzYWdlLnNlZ21lbnRzQ291bnQsXHJcblx0XHRcdFx0ZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG5cdFx0XHRcdGNoYXJhY3RlcnM6IHNlZ21lbnRlZE1lc3NhZ2UubnVtYmVyT2ZVbmljb2RlU2NhbGFycyxcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMudHdpbGlvUmVzdWx0Q291bnRlciA9IHtcclxuXHRcdFx0XHQuLi5yZXN1bHQsXHJcblx0XHRcdFx0ZnVsbHRleHQ6IGBFbmNvZGUgJHtyZXN1bHQuZW5jb2Rpbmd9IC8gQ2hhcnMgJHtyZXN1bHQuY2hhcmFjdGVyc30gLyBTZWdtZW50ICR7cmVzdWx0LnNlZ21lbnRzfWAsXHJcblx0XHRcdH07XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRsZXQgdmFsdWVSZXN1bHQgPSB0aGlzLmdldEJvZHlTdHJpbmc7XHJcblx0XHRcdEFycmF5LmZyb20odmFsdWVzR2VuZXJhbD8udGVtcGxhdGU/LmJvZHk/LmV4YW1wbGVzIHx8IFtdKS5tYXAoXHJcblx0XHRcdFx0KGVudHJ5LCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc3QgcGxhY2Vob2xkZXIgPSBge3ske2VudHJ5fX19YDtcclxuXHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gdmFsdWVzR2VuZXJhbC5wYXJhbUJvZHlbaW5kZXhdPy5uYW1lO1xyXG5cdFx0XHRcdFx0dmFsdWVSZXN1bHQgPSB2YWx1ZVJlc3VsdC5zcGxpdChwbGFjZWhvbGRlcikuam9pbih2YWx1ZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0Y29uc3Qgc2VnbWVudGVkTWVzc2FnZSA9IG5ldyBTZWdtZW50ZWRNZXNzYWdlKHZhbHVlUmVzdWx0KTtcclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0ge1xyXG5cdFx0XHRcdHNlZ21lbnRzOiBzZWdtZW50ZWRNZXNzYWdlLnNlZ21lbnRzQ291bnQsXHJcblx0XHRcdFx0ZW5jb2Rpbmc6IHNlZ21lbnRlZE1lc3NhZ2UuZW5jb2RpbmdOYW1lLFxyXG5cdFx0XHRcdGNoYXJhY3RlcnM6IHNlZ21lbnRlZE1lc3NhZ2UubnVtYmVyT2ZVbmljb2RlU2NhbGFycyxcclxuXHRcdFx0fTtcclxuXHJcblx0XHRcdHRoaXMudHdpbGlvUmVzdWx0Q291bnRlciA9IHtcclxuXHRcdFx0XHQuLi5yZXN1bHQsXHJcblx0XHRcdFx0ZnVsbHRleHQ6IGBFbmNvZGUgJHtyZXN1bHQuZW5jb2Rpbmd9IC8gQ2hhcnMgJHtyZXN1bHQuY2hhcmFjdGVyc30gLyBTZWdtZW50ICR7cmVzdWx0LnNlZ21lbnRzfWAsXHJcblx0XHRcdH07XHJcblx0XHR9XHJcblx0fTtcclxufVxyXG4iXX0=
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC1pbmZvcm1hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZ2VuZXJhbC1pbmZvcm1hdGlvbi9nZW5lcmFsLWluZm9ybWF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUNOLHdDQUF3QyxFQUN4QyxtQkFBbUIsR0FDbkIsTUFBTSx3QkFBd0IsQ0FBQztBQWVoQyxJQUFhLDJCQUEyQixHQUF4QyxNQUFhLDJCQUEyQjtJQXlCdkMsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWZwQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFHNUIsd0JBQW1CLEdBQUc7WUFDNUIsUUFBUSxFQUFFLENBQUM7WUFDWCxVQUFVLEVBQUUsQ0FBQztZQUNiLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLGdDQUFnQztTQUMxQyxDQUFDO1FBcUxLLHlCQUFvQixHQUFHLEdBQVMsRUFBRTs7WUFDeEMsTUFBTSxhQUFhLFNBQUcsSUFBSSxDQUFDLHNCQUFzQiwwQ0FB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QUFzQiwwQ0FBRSxXQUFXLDRDQUFJLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsVUFBVTtRQUNsQyxPQUFPLFVBQVU7YUFDZixVQUFVLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDO2FBQzdDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQzthQUN6RCxVQUFVLENBQUMsZ0NBQWdDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQXVDRCxDQUFBOztZQXROK0IsWUFBWTs7QUF2QjNDO0lBREMsTUFBTSxFQUFFO3VFQUlOO0FBa0JNO0lBQVIsS0FBSyxFQUFFO21FQUFnQztBQXZCNUIsMkJBQTJCO0lBTHZDLFNBQVMsQ0FBQztRQUNWLFFBQVEsRUFBRSxzQ0FBc0M7UUFDaEQscTZaQUFtRDs7S0FFbkQsQ0FBQztHQUNXLDJCQUEyQixDQStPdkM7U0EvT1ksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU2VnbWVudGVkTWVzc2FnZSB9IGZyb20gJ3Ntcy1zZWdtZW50cy1jYWxjdWxhdG9yJztcclxuaW1wb3J0IHtcclxuXHRHZW5lcmFsSW5mb3JtYXRpb25NZXNzYWdlVmFsaWRhdGlvbkNvbnN0LFxyXG5cdFBsYXRmb3JtT3B0aW9uQ29uc3QsXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb25zdCc7XHJcblxyXG5pbnRlcmZhY2UgSU1hcHMge1xyXG5cdHpvb206IG51bWJlcjtcclxuXHRsYXRpdHVkZTogbnVtYmVyO1xyXG5cdGxvbmdpdHVkZTogbnVtYmVyO1xyXG5cdGlzRHJhZ2dhYmxlOiBib29sZWFuO1xyXG5cdGlzRG91YmxlQ2xpY2tab29tOiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1uZXctY2FtcGFpZ24tZ2VuZXJhbC1pbmZvcm1hdGlvbicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2dlbmVyYWwtaW5mb3JtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2dlbmVyYWwtaW5mb3JtYXRpb24uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyYWxJbmZvcm1hdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0QE91dHB1dCgpXHJcblx0cHVibGljIGdlbmVyYWxJbmZvcm1hdGlvbjogRXZlbnRFbWl0dGVyPHtcclxuXHRcdHBhcmVudDogRm9ybUdyb3VwO1xyXG5cdFx0Y2hpbGQ6IEZvcm1Hcm91cDtcclxuXHR9PjtcclxuXHJcblx0cHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHRwdWJsaWMgY2hhbm5lbE9wdGlvbjogYW55W107XHJcblx0cHVibGljIGdlbmVyYWxJbmZvcm1hdGlvbkZvcm06IEZvcm1Hcm91cDtcclxuXHRwdWJsaWMgaXNUb3VjaGVkV0FGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcblx0cHVibGljIGlzVG91Y2hlZFNNU0Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwdWJsaWMgaXNUb3VjaGVkRW1haWxGb3JtOiBib29sZWFuID0gZmFsc2U7XHJcblx0cHVibGljIGlzU2hvd01vcmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwdWJsaWMgdmFsaWRhdGlvbk1lc3NhZ2VzOiBhbnk7XHJcblx0cHVibGljIG1hcHM6IElNYXBzO1xyXG5cdHB1YmxpYyB0d2lsaW9SZXN1bHRDb3VudGVyID0ge1xyXG5cdFx0c2VnbWVudHM6IDAsXHJcblx0XHRjaGFyYWN0ZXJzOiAwLFxyXG5cdFx0ZW5jb2Rpbmc6ICcnLFxyXG5cdFx0ZnVsbHRleHQ6IGBFbmNvZGUgLSAvIENoYXJzIDAgLyBTZWdtZW50IDFgLFxyXG5cdH07XHJcblxyXG5cdEBJbnB1dCgpIHB1YmxpYyBpc1JlYWRPbmx5TW9kZTogYm9vbGVhbjtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xyXG5cdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuY2hhbm5lbE9wdGlvbiA9IFBsYXRmb3JtT3B0aW9uQ29uc3Q7XHJcblx0XHR0aGlzLnZhbGlkYXRpb25NZXNzYWdlcyA9IEdlbmVyYWxJbmZvcm1hdGlvbk1lc3NhZ2VWYWxpZGF0aW9uQ29uc3Q7XHJcblx0XHR0aGlzLm1hcHMgPSB7XHJcblx0XHRcdHpvb206IDE1LFxyXG5cdFx0XHRsYXRpdHVkZTogbnVsbCxcclxuXHRcdFx0bG9uZ2l0dWRlOiBudWxsLFxyXG5cdFx0XHRpc0RyYWdnYWJsZTogdHJ1ZSxcclxuXHRcdFx0aXNEb3VibGVDbGlja1pvb206IHRydWUsXHJcblx0XHR9O1xyXG5cclxuXHRcdHRoaXMuaW5pdEZvcm0oKTtcclxuXHRcdHRoaXMuaW5pdEVkaXQoKTtcclxuXHRcdHRoaXMuaW5pdERpc2FibGUoKTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgaW5pdEZvcm0oKTogdm9pZCB7XHJcblx0XHR0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuXHRcdFx0aWQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHRcdFx0Y2FtcGFpZ25OYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1xyXG5cdFx0XHRcdFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcblx0XHRcdFx0VmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSxcclxuXHRcdFx0XSksXHJcblx0XHRcdG1lZGl1bTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdHRoaXMuaXNUb3VjaGVkV0FGb3JtID0gIXRoaXMuaXNUb3VjaGVkV0FGb3JtO1xyXG5cdFx0XHR0aGlzLmlzVG91Y2hlZFNNU0Zvcm0gPSAhdGhpcy5pc1RvdWNoZWRTTVNGb3JtO1xyXG5cdFx0XHR0aGlzLmlzVG91Y2hlZEVtYWlsRm9ybSA9ICF0aGlzLmlzVG91Y2hlZEVtYWlsRm9ybTtcclxuXHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uLmVtaXQoe1xyXG5cdFx0XHRcdHBhcmVudDogdGhpcy5mb3JtLFxyXG5cdFx0XHRcdGNoaWxkOiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0sXHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0XHRzZXRJbnRlcnZhbCgoKSA9PiB7XHJcblx0XHRcdHRoaXMub25DaGVja1R3aWxpb0NvdW50ZXIoKTtcclxuXHRcdH0sIDQwMCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXRFZGl0KCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY2FtcGFpZ24gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGVsaW4uY2FtcGFpZ24nKVxyXG5cdFx0XHQ/IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RlbGluLmNhbXBhaWduJykpXHJcblx0XHRcdDoge307XHJcblxyXG5cdFx0aWYgKE9iamVjdC5lbnRyaWVzKGNhbXBhaWduKS5sZW5ndGggPT09IDApIHJldHVybjtcclxuXHJcblx0XHR0aGlzLmZvcm0uZ2V0KCdpZCcpLnNldFZhbHVlKGNhbXBhaWduPy5nZW5lcmFsSW5mb3JtYXRpb24/LmlkKTtcclxuXHRcdHRoaXMuZm9ybVxyXG5cdFx0XHQuZ2V0KCdjYW1wYWlnbk5hbWUnKVxyXG5cdFx0XHQuc2V0VmFsdWUoY2FtcGFpZ24/LmdlbmVyYWxJbmZvcm1hdGlvbj8uZm9ybS5jYW1wYWlnbk5hbWUpO1xyXG5cdFx0dGhpcy5mb3JtXHJcblx0XHRcdC5nZXQoJ21lZGl1bScpXHJcblx0XHRcdC5zZXRWYWx1ZShjYW1wYWlnbj8uZ2VuZXJhbEluZm9ybWF0aW9uPy5mb3JtLm1lZGl1bSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGluaXREaXNhYmxlKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLmlzUmVhZE9ubHlNb2RlKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmZvcm0uZGlzYWJsZSgpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIHVwZGF0ZUdlbmVyYWxJbmZvcm1hdGlvbkZvcm0oZm9ybTogRm9ybUdyb3VwKTogdm9pZCB7XHJcblx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0gPSBmb3JtO1xyXG5cdFx0dGhpcy5pc1Nob3dNb3JlID0gZmFsc2U7XHJcblxyXG5cdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb24uZW1pdCh7XHJcblx0XHRcdHBhcmVudDogdGhpcy5mb3JtLFxyXG5cdFx0XHRjaGlsZDogdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtLFxyXG5cdFx0fSk7XHJcblxyXG5cdFx0aWYgKHRoaXMuZ2V0TWVkaWEgPT09ICdMT0NBVElPTicpIHRoaXMuZ2V0TG9jYXRpb24oKTtcclxuXHR9XHJcblxyXG5cdGdldCBnZXRIZWFkZXIoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LmZyb20/Lm5hbWUgfHwgJyc7XHJcblx0fVxyXG5cclxuXHRnZXQgZ2V0Qm9keVN0cmluZygpOiBzdHJpbmcge1xyXG5cdFx0Y29uc3QgYm9keSA9XHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGV4dCB8fFxyXG5cdFx0XHR0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlPy5ib2R5Py50ZXh0IHx8XHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8uYm9keT8udGV4dDtcclxuXHJcblx0XHRyZXR1cm4gKFxyXG5cdFx0XHRib2R5XHJcblx0XHRcdFx0Py5zcGxpdCgvXFxcXG58XFxuLylcclxuXHRcdFx0XHQuam9pbignPGJyIC8+JylcclxuXHRcdFx0XHQuc3BsaXQoL1xcXFx0fFxcdC8pXHJcblx0XHRcdFx0LmpvaW4oJyAgICAnKSA/PyAnJ1xyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldCBnZXRCb2R5KCk6IGFueSB7XHJcblx0XHRjb25zdCBib2R5ID1cclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZXh0IHx8XHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHk/LnRleHQgfHxcclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5ib2R5Py50ZXh0O1xyXG5cclxuXHRcdHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcclxuXHRcdFx0dGhpcy5maXhHZW5lcmF0ZWRIdG1sKFxyXG5cdFx0XHRcdGJvZHlcclxuXHRcdFx0XHRcdD8uc3BsaXQoL1xcXFxufFxcbi8pXHJcblx0XHRcdFx0XHQuam9pbignPGJyIC8+JylcclxuXHRcdFx0XHRcdC5zcGxpdCgvXFxcXHR8XFx0LylcclxuXHRcdFx0XHRcdC5qb2luKCcgICAgJykgPz8gJydcclxuXHRcdFx0KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdGdldCBnZXRNZWRpYSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8ubWVkaWEgfHwgJyc7XHJcblx0fVxyXG5cclxuXHRnZXQgZ2V0VGVtcGxhdGUoKTogYW55IHtcclxuXHRcdHJldHVybiB0aGlzLmdlbmVyYWxJbmZvcm1hdGlvbkZvcm0/LmdldFJhd1ZhbHVlKCk/LnRlbXBsYXRlIHx8IHt9O1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldFRlbXBsYXRlQnV0dG9uKCk6IGFueSB7XHJcblx0XHRjb25zdCBsaW1pdCA9XHJcblx0XHRcdCF0aGlzLmlzU2hvd01vcmUgJiYgdGhpcy5nZXRUZW1wbGF0ZT8uYnV0dG9ucz8ubGVuZ3RoID4gM1xyXG5cdFx0XHRcdD8gMlxyXG5cdFx0XHRcdDogdGhpcy5nZXRUZW1wbGF0ZT8uYnV0dG9ucz8ubGVuZ3RoO1xyXG5cclxuXHRcdHJldHVybiBbLi4udGhpcy5nZXRUZW1wbGF0ZT8uYnV0dG9uc10uc3BsaWNlKDAsIGxpbWl0KSB8fCBbXTtcclxuXHR9XHJcblxyXG5cdGdldCBkaXNwbGF5RmlsZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIChcclxuXHRcdFx0KFxyXG5cdFx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGFyZ2V0VVJMIHx8XHJcblx0XHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy50ZW1wbGF0ZT8uaGVhZGVyXHJcblx0XHRcdFx0XHQ/LnVybFxyXG5cdFx0XHQpPy5yZXBsYWNlKCdhZGxzYW5kYm94LmNvbScsICdhZGxzYW5kYm94Lm5ldCcpID8/ICcnXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0LyogTElORSAqL1xyXG5cdGdldCBpc1RleHQoKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5jaGFubmVsID09PSAnVEVYVCc7XHJcblx0fVxyXG5cclxuXHRnZXQgaXNKU09OKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8uaXNKU09OO1xyXG5cdH1cclxuXHJcblx0Z2V0IGdldFRlbXBsYXRlTGluZSgpOiBhbnkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaXNKU09OXHJcblx0XHRcdD8gSlNPTi5wYXJzZShcclxuXHRcdFx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHlcclxuXHRcdFx0XHRcdFx0Py50ZXh0XHJcblx0XHRcdCAgKVxyXG5cdFx0XHQ6IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8udGVtcGxhdGU/LmJvZHk/LnRleHQ7XHJcblx0fVxyXG5cdC8qIC4vIExJTkUgKi9cclxuXHJcblx0cHJpdmF0ZSBnZXRMb2NhdGlvbigpOiB2b2lkIHtcclxuXHRcdHRoaXMubWFwcy5sYXRpdHVkZSA9XHJcblx0XHRcdHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKT8ubGF0aXR1ZGU7XHJcblx0XHR0aGlzLm1hcHMubG9uZ2l0dWRlID1cclxuXHRcdFx0dGhpcy5nZW5lcmFsSW5mb3JtYXRpb25Gb3JtPy5nZXRSYXdWYWx1ZSgpPy5sb25naXR1ZGU7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZpeEdlbmVyYXRlZEh0bWwoaHRtbFN0cmluZykge1xyXG5cdFx0cmV0dXJuIGh0bWxTdHJpbmdcclxuXHRcdFx0LnJlcGxhY2VBbGwoL2RpdiBzcmM9XCJodHRwL2csICdpbWcgc3JjPVwiaHR0cCcpXHJcblx0XHRcdC5yZXBsYWNlQWxsKC9kaXYgc3JjPVwiZGF0YTppbWFnZS9nLCAnaW1nIHNyYz1cImRhdGE6aW1hZ2UnKVxyXG5cdFx0XHQucmVwbGFjZUFsbCgvRHJhZyBhbmQgZHJvcCB5b3VyIGltYWdlIGhlcmUvZywgJycpO1xyXG5cdH1cclxuXHJcblx0cHVibGljIG9uQ2hlY2tUd2lsaW9Db3VudGVyID0gKCk6IHZvaWQgPT4ge1xyXG5cdFx0Y29uc3QgdmFsdWVzR2VuZXJhbCA9IHRoaXMuZ2VuZXJhbEluZm9ybWF0aW9uRm9ybT8uZ2V0UmF3VmFsdWUoKTtcclxuXHRcdGlmICh2YWx1ZXNHZW5lcmFsPy5jaGFubmVsID09PSAnVEVYVCcpIHtcclxuXHRcdFx0Y29uc3Qgc2VnbWVudGVkTWVzc2FnZSA9IG5ldyBTZWdtZW50ZWRNZXNzYWdlKHRoaXMuZ2V0Qm9keVN0cmluZyk7XHJcblx0XHRcdGNvbnN0IHJlc3VsdCA9IHtcclxuXHRcdFx0XHRzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG5cdFx0XHRcdGVuY29kaW5nOiBzZWdtZW50ZWRNZXNzYWdlLmVuY29kaW5nTmFtZSxcclxuXHRcdFx0XHRjaGFyYWN0ZXJzOiBzZWdtZW50ZWRNZXNzYWdlLm51bWJlck9mVW5pY29kZVNjYWxhcnMsXHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHR0aGlzLnR3aWxpb1Jlc3VsdENvdW50ZXIgPSB7XHJcblx0XHRcdFx0Li4ucmVzdWx0LFxyXG5cdFx0XHRcdGZ1bGx0ZXh0OiBgRW5jb2RlICR7cmVzdWx0LmVuY29kaW5nfSAvIENoYXJzICR7cmVzdWx0LmNoYXJhY3RlcnN9IC8gU2VnbWVudCAke3Jlc3VsdC5zZWdtZW50c31gLFxyXG5cdFx0XHR9O1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0bGV0IHZhbHVlUmVzdWx0ID0gdGhpcy5nZXRCb2R5U3RyaW5nO1xyXG5cdFx0XHRBcnJheS5mcm9tKHZhbHVlc0dlbmVyYWw/LnRlbXBsYXRlPy5ib2R5Py5leGFtcGxlcyB8fCBbXSkubWFwKFxyXG5cdFx0XHRcdChlbnRyeSwgaW5kZXgpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IHBsYWNlaG9sZGVyID0gYHt7JHtlbnRyeX19fWA7XHJcblx0XHRcdFx0XHRjb25zdCB2YWx1ZSA9IHZhbHVlc0dlbmVyYWwucGFyYW1Cb2R5W2luZGV4XT8ubmFtZTtcclxuXHRcdFx0XHRcdHZhbHVlUmVzdWx0ID0gdmFsdWVSZXN1bHQuc3BsaXQocGxhY2Vob2xkZXIpLmpvaW4odmFsdWUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHJcblx0XHRcdGNvbnN0IHNlZ21lbnRlZE1lc3NhZ2UgPSBuZXcgU2VnbWVudGVkTWVzc2FnZSh2YWx1ZVJlc3VsdCk7XHJcblx0XHRcdGNvbnN0IHJlc3VsdCA9IHtcclxuXHRcdFx0XHRzZWdtZW50czogc2VnbWVudGVkTWVzc2FnZS5zZWdtZW50c0NvdW50LFxyXG5cdFx0XHRcdGVuY29kaW5nOiBzZWdtZW50ZWRNZXNzYWdlLmVuY29kaW5nTmFtZSxcclxuXHRcdFx0XHRjaGFyYWN0ZXJzOiBzZWdtZW50ZWRNZXNzYWdlLm51bWJlck9mVW5pY29kZVNjYWxhcnMsXHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHR0aGlzLnR3aWxpb1Jlc3VsdENvdW50ZXIgPSB7XHJcblx0XHRcdFx0Li4ucmVzdWx0LFxyXG5cdFx0XHRcdGZ1bGx0ZXh0OiBgRW5jb2RlICR7cmVzdWx0LmVuY29kaW5nfSAvIENoYXJzICR7cmVzdWx0LmNoYXJhY3RlcnN9IC8gU2VnbWVudCAke3Jlc3VsdC5zZWdtZW50c31gLFxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdH07XHJcbn1cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './general-information.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vZ2VuZXJhbC1pbmZvcm1hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW5lcmFsLWluZm9ybWF0aW9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './new-campaign.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRsZmUvY2FtcGFpZ24tbWFuYWdlbWVudC1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL2NhbXBhaWduLW1hbmFnZW1lbnQvbW9kdWxlcy9uZXctY2FtcGFpZ24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbmV3LWNhbXBhaWduLmNvbXBvbmVudCc7XHJcbiJdfQ==
|