{"version":3,"sources":["C:/a/1/s/node_modules/moment/locale sync ^\\.\\/.*$","../common-lib/src/lib/angular2-color-picker/color-picker.html","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/ck-editor-list-properties-dialog.html","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/fetch-web-page-content-dialog.html","../common-lib/src/lib/ck-editor-personalization-plugin/personalization-dialog.html","../common-lib/src/lib/components/app-user-form/app-user-form.component.html","../common-lib/src/lib/components/beta-group/beta-group.html","../common-lib/src/lib/components/circle-number/circle-number.component.html","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker-overlay-dialog.html","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker.html","../common-lib/src/lib/components/expansion-panel/expansion-panel.html","../common-lib/src/lib/components/iframe-dynamic-content/iframe-dynamic-content.html","../common-lib/src/lib/components/inline-message/inline-message.component.html","../common-lib/src/lib/components/inline-note/inline-note.component.html","../common-lib/src/lib/components/loader-inline/loader.component.html","../common-lib/src/lib/components/loader-overlay/loader.component.html","../common-lib/src/lib/components/page-not-found/page-not-found.component.html","../common-lib/src/lib/components/simple-dropdown/simple-dropdown.html","../common-lib/src/lib/components/spinner/spinner.html","../common-lib/src/lib/components/tool-tip/tool-tip/tool-tip.component.html","../common-lib/src/lib/components/upload-button/upload-button.component.html","../common-lib/src/lib/conditions/dialog/composite-condition.html","../common-lib/src/lib/conditions/dialog/condition-container.html","../common-lib/src/lib/conditions/dialog/conditions-dialog.html","../common-lib/src/lib/conditions/dialog/single-condition.html","../common-lib/src/lib/dialogs/alert-dublicate-file/alert-dublicate-file.component.html","../common-lib/src/lib/dialogs/alert-with-options/alert-with-options.component.html","../common-lib/src/lib/dialogs/alert/alert.html","../common-lib/src/lib/dialogs/confirm/confirm.html","../common-lib/src/lib/dialogs/file-delete-alert/file-delete-alert.component.html","../common-lib/src/lib/dialogs/input/input.html","../common-lib/src/lib/dialogs/upload-errors/upload-errors.component.html","../common-lib/src/lib/file-manager/file-item/file-item.component.html","../common-lib/src/lib/file-manager/file-preview/preview.html","../common-lib/src/lib/file-manager/file-search/file-search.component.html","../common-lib/src/lib/file-manager/file-uploader/file-uploader.html","../common-lib/src/lib/file-manager/files-list/files-list.html","../common-lib/src/lib/file-manager/fm-folders-tree/fm-folders-tree.component.html","../common-lib/src/lib/file-manager/manager-command/file-manager-command.html","../common-lib/src/lib/file-manager/manager-content/file-manager-dialog-content.html","../common-lib/src/lib/file-manager/manager-dialog/image-manager-dialog.html","../common-lib/src/lib/file-manager/quota/quota.html","../common-lib/src/lib/file-manager/upload-progress/upload-progress.component.html","../common-lib/src/lib/lookup-dialog-component/lookup-dialog.html","../common-lib/src/lib/lookup-dialog-component/lookup-grid.html","../common-lib/src/lib/lookup-dialog-component/lookup-input/lookup-input.html","../common-lib/src/lib/ngx-completer/components/ngx-completer-dropdown/ngx-completer-dropdown.component.html","../common-lib/src/lib/ngx-completer/ngx-completer.component.html","./src/app/app.component.html","./src/app/page-not-found/page-not-found.component.html","./src/app/segmentation-builder/segmentation-builder.component.html","./src/app/segmentation-members/grid/grid.component.html","./src/app/segmentation-members/segmentation-members.component.html","C:/a/1/s/node_modules/tslib/tslib.es6.js","../common-lib/src/index.ts","../common-lib/src/lib/angular2-color-picker/classes.ts","../common-lib/src/lib/angular2-color-picker/color-picker.directive.ts","../common-lib/src/lib/angular2-color-picker/color-picker.module.ts","../common-lib/src/lib/angular2-color-picker/color-picker.service.ts","../common-lib/src/lib/angular2-color-picker/index.ts","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/ck-editor-cd-list-properties-plugin.module.ts","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/ck-editor-cd-list-properties-plugin.service.ts","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/ck-editor-list-properties-commands.ts","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/ck-editor-list-properties-dialog.component.ts","../common-lib/src/lib/ck-editor-cd-list-properties-plugin/index.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/ck-editor-fetch-web-page-content.module.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/fetch-web-page-content-dialog.component.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/index.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/service/cd-fetch-web-content-command/cd-fetch-web-content-command.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/service/ck-editor-fetch-web-page-content-plugin.service.ts","../common-lib/src/lib/ck-editor-fetch-web-page-content-plugin/web-page-content.api.ts","../common-lib/src/lib/ck-editor-insert-image-plugin/ck-editor-insert-image-plugin.module.ts","../common-lib/src/lib/ck-editor-insert-image-plugin/ck-editor-insert-image-plugin.service.ts","../common-lib/src/lib/ck-editor-insert-image-plugin/index.ts","../common-lib/src/lib/ck-editor-personalization-plugin/ck-editor-personalization-plugin.module.ts","../common-lib/src/lib/ck-editor-personalization-plugin/ck-editor-personalization-plugin.service.ts","../common-lib/src/lib/ck-editor-personalization-plugin/crm-attribute.ts","../common-lib/src/lib/ck-editor-personalization-plugin/index.ts","../common-lib/src/lib/ck-editor-personalization-plugin/personalization-dialog-component.ts","../common-lib/src/lib/ck-editor-personalization-plugin/personalization.api.ts","../common-lib/src/lib/common-lib.module.ts","../common-lib/src/lib/components/app-user-form/app-user-form.component.scss","../common-lib/src/lib/components/app-user-form/app-user-form.component.ts","../common-lib/src/lib/components/beta-group/beta-group.component.ts","../common-lib/src/lib/components/beta-group/beta-group.module.ts","../common-lib/src/lib/components/beta-group/index.ts","../common-lib/src/lib/components/circle-number/circle-number.component.scss","../common-lib/src/lib/components/circle-number/circle-number.component.ts","../common-lib/src/lib/components/color-editor.component.ts","../common-lib/src/lib/components/common-components.module.ts","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker-input.component.ts","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker-overlay-dialog.component.ts","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker.component.ts","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker.module.ts","../common-lib/src/lib/components/date-time-picker/cd-date-time-picker.scss","../common-lib/src/lib/components/date-time-picker/cd-range-picker.scss","../common-lib/src/lib/components/date-time-picker/index.ts","../common-lib/src/lib/components/date-time-picker/model.ts","../common-lib/src/lib/components/expansion-panel/expansion-panel.component.ts","../common-lib/src/lib/components/expansion-panel/index.ts","../common-lib/src/lib/components/font-family-selector.component.ts","../common-lib/src/lib/components/font-size-selector.component.ts","../common-lib/src/lib/components/iframe-dynamic-content/iframe-dynamic-content.component.ts","../common-lib/src/lib/components/iframe-dynamic-content/index.ts","../common-lib/src/lib/components/index.ts","../common-lib/src/lib/components/inline-message/inline-message.component.scss","../common-lib/src/lib/components/inline-message/inline-message.component.ts","../common-lib/src/lib/components/inline-note/inline-note.component.scss","../common-lib/src/lib/components/inline-note/inline-note.component.ts","../common-lib/src/lib/components/loader-inline/loader.component.scss","../common-lib/src/lib/components/loader-inline/loader.component.ts","../common-lib/src/lib/components/loader-overlay/loader.component.scss","../common-lib/src/lib/components/loader-overlay/loader.component.ts","../common-lib/src/lib/components/only-number-input.component.ts","../common-lib/src/lib/components/page-not-found/page-not-found.component.scss","../common-lib/src/lib/components/page-not-found/page-not-found.component.ts","../common-lib/src/lib/components/simple-dropdown/index.ts","../common-lib/src/lib/components/simple-dropdown/simple-dropdown.component.ts","../common-lib/src/lib/components/spinner/index.ts","../common-lib/src/lib/components/spinner/spinner.component.ts","../common-lib/src/lib/components/spinner/spinner.service.ts","../common-lib/src/lib/components/tool-tip/tool-tip/tool-tip.component.scss","../common-lib/src/lib/components/tool-tip/tool-tip/tool-tip.component.ts","../common-lib/src/lib/components/upload-button/index.ts","../common-lib/src/lib/components/upload-button/upload-button.component.scss","../common-lib/src/lib/components/upload-button/upload-button.component.ts","../common-lib/src/lib/components/yes-no-dropdown.component.ts","../common-lib/src/lib/conditions/conditions.module.ts","../common-lib/src/lib/conditions/dialog/composite-condition.component.ts","../common-lib/src/lib/conditions/dialog/condition-container.component.ts","../common-lib/src/lib/conditions/dialog/condition-dialog.service.ts","../common-lib/src/lib/conditions/dialog/conditions-dialog.component.ts","../common-lib/src/lib/conditions/dialog/index.ts","../common-lib/src/lib/conditions/dialog/single-condition.component.ts","../common-lib/src/lib/conditions/index.ts","../common-lib/src/lib/conditions/models/base-condition.model.ts","../common-lib/src/lib/conditions/models/composite-conditions.model.ts","../common-lib/src/lib/conditions/models/condition.model.ts","../common-lib/src/lib/conditions/models/crm-entities-attributes-operators.ts","../common-lib/src/lib/conditions/models/crm-entities-base-operators.ts","../common-lib/src/lib/conditions/models/crm-entities-date-operators.ts","../common-lib/src/lib/conditions/models/crm-entities-number-operators.ts","../common-lib/src/lib/conditions/models/index.ts","../common-lib/src/lib/crm-entities/crm-entities-consts.ts","../common-lib/src/lib/crm-entities/crm-entities.model.ts","../common-lib/src/lib/crm-entities/crm-entities.service.ts","../common-lib/src/lib/crm-entities/index.ts","../common-lib/src/lib/dialogs/alert-dublicate-file/alert-dublicate-file.component.ts","../common-lib/src/lib/dialogs/alert-with-options/alert-with-options.component.ts","../common-lib/src/lib/dialogs/alert-with-options/index.ts","../common-lib/src/lib/dialogs/alert/alert.component.ts","../common-lib/src/lib/dialogs/alert/index.ts","../common-lib/src/lib/dialogs/base-dialog.ts","../common-lib/src/lib/dialogs/confirm/confirm.component.ts","../common-lib/src/lib/dialogs/confirm/index.ts","../common-lib/src/lib/dialogs/dialog-back.compnent.ts","../common-lib/src/lib/dialogs/dialog-container.component.ts","../common-lib/src/lib/dialogs/dialog.service.ts","../common-lib/src/lib/dialogs/dialogs.module.ts","../common-lib/src/lib/dialogs/file-delete-alert/file-delete-alert.component.ts","../common-lib/src/lib/dialogs/file-delete-alert/index.ts","../common-lib/src/lib/dialogs/helpers/d-body.component.ts","../common-lib/src/lib/dialogs/helpers/d-footer.component.ts","../common-lib/src/lib/dialogs/helpers/d-header.component.ts","../common-lib/src/lib/dialogs/helpers/index.ts","../common-lib/src/lib/dialogs/index.ts","../common-lib/src/lib/dialogs/input/index.ts","../common-lib/src/lib/dialogs/input/input-dialog-validations.service.ts","../common-lib/src/lib/dialogs/input/input.component.ts","../common-lib/src/lib/dialogs/pipes/format-string.pipe.ts","../common-lib/src/lib/dialogs/upload-errors/upload-errors.component.ts","../common-lib/src/lib/directives/autofocus.directive.ts","../common-lib/src/lib/directives/click-outside.directive.ts","../common-lib/src/lib/directives/common-directives.module.ts","../common-lib/src/lib/directives/disable-feature.directive.ts","../common-lib/src/lib/directives/dnd-validators.ts","../common-lib/src/lib/directives/email-list-validatior.directive.ts","../common-lib/src/lib/directives/hover-class.dirctive.ts","../common-lib/src/lib/directives/index.ts","../common-lib/src/lib/directives/only-number.directive.ts","../common-lib/src/lib/file-manager/file-item/file-item.component.scss","../common-lib/src/lib/file-manager/file-item/file-item.component.ts","../common-lib/src/lib/file-manager/file-item/index.ts","../common-lib/src/lib/file-manager/file-manager.module.ts","../common-lib/src/lib/file-manager/file-preview/index.ts","../common-lib/src/lib/file-manager/file-preview/preview.component.scss","../common-lib/src/lib/file-manager/file-preview/preview.component.ts","../common-lib/src/lib/file-manager/file-search/file-search.component.scss","../common-lib/src/lib/file-manager/file-search/file-search.component.ts","../common-lib/src/lib/file-manager/file-search/index.ts","../common-lib/src/lib/file-manager/file-uploader/file-uploader.component.ts","../common-lib/src/lib/file-manager/file-uploader/file-uploader.module.ts","../common-lib/src/lib/file-manager/file-uploader/file-uploader.scss","../common-lib/src/lib/file-manager/file-uploader/fm-uploader.service.ts","../common-lib/src/lib/file-manager/file-uploader/index.ts","../common-lib/src/lib/file-manager/files-list/files-list.component.ts","../common-lib/src/lib/file-manager/files-list/files-list.scss","../common-lib/src/lib/file-manager/files-list/files-list.service.ts","../common-lib/src/lib/file-manager/files-list/index.ts","../common-lib/src/lib/file-manager/fm-folders-tree/fm-folders-tree.component.scss","../common-lib/src/lib/file-manager/fm-folders-tree/fm-folders-tree.component.ts","../common-lib/src/lib/file-manager/fm-folders-tree/index.ts","../common-lib/src/lib/file-manager/image-sync/image-sync.service.ts","../common-lib/src/lib/file-manager/index.ts","../common-lib/src/lib/file-manager/manager-command/file-manager-command.component.ts","../common-lib/src/lib/file-manager/manager-command/index.ts","../common-lib/src/lib/file-manager/manager-content/file-manager-dialog-content.component.ts","../common-lib/src/lib/file-manager/manager-content/index.ts","../common-lib/src/lib/file-manager/manager-content/match-node/match-node.ts","../common-lib/src/lib/file-manager/manager-dialog/image-manager-dialog.component.ts","../common-lib/src/lib/file-manager/manager-dialog/index.ts","../common-lib/src/lib/file-manager/models/index.ts","../common-lib/src/lib/file-manager/models/selected-entities.model.ts","../common-lib/src/lib/file-manager/pipes/elipsis.pipe.ts","../common-lib/src/lib/file-manager/pipes/index.ts","../common-lib/src/lib/file-manager/pipes/sanitize-url.pipe.ts","../common-lib/src/lib/file-manager/quota/files-quota.service.ts","../common-lib/src/lib/file-manager/quota/index.ts","../common-lib/src/lib/file-manager/quota/quota.component.ts","../common-lib/src/lib/file-manager/services/file-manager-api.ts","../common-lib/src/lib/file-manager/services/fm-tree.service.ts","../common-lib/src/lib/file-manager/services/image-file-editor.service.ts","../common-lib/src/lib/file-manager/services/index.ts","../common-lib/src/lib/file-manager/services/ng-on-destroy.service.ts","../common-lib/src/lib/file-manager/upload-progress/index.ts","../common-lib/src/lib/file-manager/upload-progress/upload-progress.component.scss","../common-lib/src/lib/file-manager/upload-progress/upload-progress.component.ts","../common-lib/src/lib/file-manager/utils.ts","../common-lib/src/lib/fonts/custom-fonts.api.ts","../common-lib/src/lib/fonts/custom-fonts.service.ts","../common-lib/src/lib/fonts/custom.font.ts","../common-lib/src/lib/fonts/fonts.ts","../common-lib/src/lib/fonts/index.ts","../common-lib/src/lib/frame-rpc/frame-rpc.ts","../common-lib/src/lib/frame-rpc/index.ts","../common-lib/src/lib/http/error-handling.directive.ts","../common-lib/src/lib/http/error-handling.service.ts","../common-lib/src/lib/http/http.module.ts","../common-lib/src/lib/http/http.service.ts","../common-lib/src/lib/http/index.ts","../common-lib/src/lib/http/interceptors/api-interceptor.ts","../common-lib/src/lib/http/interceptors/folder-api-interceptor.ts","../common-lib/src/lib/http/interceptors/global-http-error-handler-interceptor.ts","../common-lib/src/lib/http/interceptors/global-http-timeout-interceptor.ts","../common-lib/src/lib/http/interceptors/requests-cache-busting-interceptor.ts","../common-lib/src/lib/http/interceptors/with-credentials-on-all-requests-interceptor.ts","../common-lib/src/lib/interfaces/angular-extras.ts","../common-lib/src/lib/interfaces/base-model.ts","../common-lib/src/lib/interfaces/credentials.interfaces.ts","../common-lib/src/lib/interfaces/general.interfaces.ts","../common-lib/src/lib/interfaces/index.ts","../common-lib/src/lib/interfaces/oktopost.interface.ts","../common-lib/src/lib/js-libs/pixie/config.ts","../common-lib/src/lib/lookup-dialog-component/index.ts","../common-lib/src/lib/lookup-dialog-component/lookup-autocomplete-data.ts","../common-lib/src/lib/lookup-dialog-component/lookup-autocomplete.component.ts","../common-lib/src/lib/lookup-dialog-component/lookup-dialog.api.ts","../common-lib/src/lib/lookup-dialog-component/lookup-dialog.component.ts","../common-lib/src/lib/lookup-dialog-component/lookup-dialog.module.ts","../common-lib/src/lib/lookup-dialog-component/lookup-dialog.service.ts","../common-lib/src/lib/lookup-dialog-component/lookup-grid.component.ts","../common-lib/src/lib/lookup-dialog-component/lookup-input/lookup-input.component.ts","../common-lib/src/lib/lookup-dialog-component/lookup-input/lookup-input.scss","../common-lib/src/lib/monitoring/atatus.handler.ts","../common-lib/src/lib/monitoring/index.ts","../common-lib/src/lib/monitoring/logger/index.ts","../common-lib/src/lib/monitoring/logger/level.ts","../common-lib/src/lib/monitoring/logger/logger.ts","../common-lib/src/lib/monitoring/logger/providers.ts","../common-lib/src/lib/monitoring/monitoring.module.ts","../common-lib/src/lib/ngx-completer/components/ngx-completer-dropdown/ngx-completer-dropdown.component.css","../common-lib/src/lib/ngx-completer/components/ngx-completer-dropdown/ngx-completer-dropdown.component.ts","../common-lib/src/lib/ngx-completer/directives/ngx-completer-input.directive.ts","../common-lib/src/lib/ngx-completer/factories/completer-data.factory.ts","../common-lib/src/lib/ngx-completer/globals/globals.ts","../common-lib/src/lib/ngx-completer/ngx-completer.component.css","../common-lib/src/lib/ngx-completer/ngx-completer.component.ts","../common-lib/src/lib/ngx-completer/ngx-completer.module.ts","../common-lib/src/lib/ngx-completer/services/completer.service.ts","../common-lib/src/lib/ngx-completer/services/data.service.ts","../common-lib/src/lib/ngx-completer/services/local-data.service.ts","../common-lib/src/lib/ngx-completer/services/remote-data.service.ts","../common-lib/src/lib/pipes/common-pipes.module.ts","../common-lib/src/lib/pipes/index.ts","../common-lib/src/lib/pipes/moment-date.pipe.ts","../common-lib/src/lib/pipes/truncate.pipe.ts","../common-lib/src/lib/services/account-colors.service.ts","../common-lib/src/lib/services/account.service.ts","../common-lib/src/lib/services/api-endpoint.service.ts","../common-lib/src/lib/services/api/account-colors.api.ts","../common-lib/src/lib/services/app-state.service.ts","../common-lib/src/lib/services/common-services.module.ts","../common-lib/src/lib/services/featureflag.service.ts","../common-lib/src/lib/services/featureflag.v2.service.ts","../common-lib/src/lib/services/global-ui-persistence-service.ts","../common-lib/src/lib/services/image-editor.service.ts","../common-lib/src/lib/services/inbox-preview.service.ts","../common-lib/src/lib/services/index.ts","../common-lib/src/lib/services/web-content-data.api.ts","../common-lib/src/lib/services/web-content-data.service.ts","../common-lib/src/lib/translations/index.ts","../common-lib/src/lib/translations/translate-http-loader.ts","../common-lib/src/lib/translations/translations.utils.ts","../common-lib/src/lib/typescript-angular-client/api.module.ts","../common-lib/src/lib/typescript-angular-client/api/api.ts","../common-lib/src/lib/typescript-angular-client/api/fileList/filesList.service.ts","../common-lib/src/lib/typescript-angular-client/api/fileList/filesList.utils.ts","../common-lib/src/lib/typescript-angular-client/api/imageSync.service.ts","../common-lib/src/lib/typescript-angular-client/api/index.ts","../common-lib/src/lib/typescript-angular-client/api/treeView.service.ts","../common-lib/src/lib/typescript-angular-client/configuration.ts","../common-lib/src/lib/typescript-angular-client/encoder.ts","../common-lib/src/lib/typescript-angular-client/index.ts","../common-lib/src/lib/typescript-angular-client/model/fileModel.ts","../common-lib/src/lib/typescript-angular-client/model/models.ts","../common-lib/src/lib/typescript-angular-client/variables.ts","../common-lib/src/lib/utils/common.ts","../common-lib/src/lib/validations/input.validation.ts","../common-lib/src/public_api.ts","./$_lazy_route_resource lazy namespace object","./src/app/add-common-query-string-interceptor.ts","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.interceptors.ts","./src/app/app.module.ts","./src/app/page-not-found/page-not-found.component.scss","./src/app/page-not-found/page-not-found.component.ts","./src/app/segmentation-builder/segmentation-builder.component.scss","./src/app/segmentation-builder/segmentation-builder.component.ts","./src/app/segmentation-members/grid/grid.component.scss","./src/app/segmentation-members/grid/grid.component.ts","./src/app/segmentation-members/segmentation-members.api.ts","./src/app/segmentation-members/segmentation-members.component.scss","./src/app/segmentation-members/segmentation-members.component.ts","./src/app/segmentation-members/segmentation-members.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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;ACA5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"../../node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"../../node_modules/moment/locale/af.js\",\n\t\"./ar\": \"../../node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"../../node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"../../node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"../../node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"../../node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"../../node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"../../node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"../../node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"../../node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"../../node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"../../node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"../../node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"../../node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"../../node_modules/moment/locale/ar.js\",\n\t\"./az\": \"../../node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"../../node_modules/moment/locale/az.js\",\n\t\"./be\": \"../../node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"../../node_modules/moment/locale/be.js\",\n\t\"./bg\": \"../../node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"../../node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"../../node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"../../node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"../../node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"../../node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"../../node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"../../node_modules/moment/locale/bo.js\",\n\t\"./br\": \"../../node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"../../node_modules/moment/locale/br.js\",\n\t\"./bs\": \"../../node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"../../node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"../../node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"../../node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"../../node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"../../node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"../../node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"../../node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"../../node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"../../node_modules/moment/locale/cy.js\",\n\t\"./da\": \"../../node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"../../node_modules/moment/locale/da.js\",\n\t\"./de\": \"../../node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"../../node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"../../node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"../../node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"../../node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"../../node_modules/moment/locale/de.js\",\n\t\"./dv\": \"../../node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"../../node_modules/moment/locale/dv.js\",\n\t\"./el\": \"../../node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"../../node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"../../node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"../../node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"../../node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"../../node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"../../node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"../../node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"../../node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"../../node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"../../node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"../../node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"../../node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"../../node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"../../node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"../../node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"../../node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"../../node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"../../node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"../../node_modules/moment/locale/eo.js\",\n\t\"./es\": \"../../node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"../../node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"../../node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"../../node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"../../node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"../../node_modules/moment/locale/es.js\",\n\t\"./et\": \"../../node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"../../node_modules/moment/locale/et.js\",\n\t\"./eu\": \"../../node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"../../node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"../../node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"../../node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"../../node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"../../node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"../../node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"../../node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"../../node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"../../node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"../../node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"../../node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"../../node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"../../node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"../../node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"../../node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"../../node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"../../node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"../../node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"../../node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"../../node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"../../node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"../../node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"../../node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"../../node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"../../node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"../../node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"../../node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"../../node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"../../node_modules/moment/locale/gu.js\",\n\t\"./he\": \"../../node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"../../node_modules/moment/locale/he.js\",\n\t\"./hi\": \"../../node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"../../node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"../../node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"../../node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"../../node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"../../node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"../../node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"../../node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"../../node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"../../node_modules/moment/locale/id.js\",\n\t\"./is\": \"../../node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"../../node_modules/moment/locale/is.js\",\n\t\"./it\": \"../../node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"../../node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"../../node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"../../node_modules/moment/locale/it.js\",\n\t\"./ja\": \"../../node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"../../node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"../../node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"../../node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"../../node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"../../node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"../../node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"../../node_modules/moment/locale/kk.js\",\n\t\"./km\": \"../../node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"../../node_modules/moment/locale/km.js\",\n\t\"./kn\": \"../../node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"../../node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"../../node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"../../node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"../../node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"../../node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"../../node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"../../node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"../../node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"../../node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"../../node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"../../node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"../../node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"../../node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"../../node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"../../node_modules/moment/locale/lv.js\",\n\t\"./me\": \"../../node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"../../node_modules/moment/locale/me.js\",\n\t\"./mi\": \"../../node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"../../node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"../../node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"../../node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"../../node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"../../node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"../../node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"../../node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"../../node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"../../node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"../../node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"../../node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"../../node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"../../node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"../../node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"../../node_modules/moment/locale/mt.js\",\n\t\"./my\": \"../../node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"../../node_modules/moment/locale/my.js\",\n\t\"./nb\": \"../../node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"../../node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"../../node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"../../node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"../../node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"../../node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"../../node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"../../node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"../../node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"../../node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"../../node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"../../node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"../../node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"../../node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"../../node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"../../node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"../../node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"../../node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"../../node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"../../node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"../../node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"../../node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"../../node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"../../node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"../../node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"../../node_modules/moment/locale/sd.js\",\n\t\"./se\": \"../../node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"../../node_modules/moment/locale/se.js\",\n\t\"./si\": \"../../node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"../../node_modules/moment/locale/si.js\",\n\t\"./sk\": \"../../node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"../../node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"../../node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"../../node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"../../node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"../../node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"../../node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"../../node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"../../node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"../../node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"../../node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"../../node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"../../node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"../../node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"../../node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"../../node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"../../node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"../../node_modules/moment/locale/ta.js\",\n\t\"./te\": \"../../node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"../../node_modules/moment/locale/te.js\",\n\t\"./tet\": \"../../node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"../../node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"../../node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"../../node_modules/moment/locale/tg.js\",\n\t\"./th\": \"../../node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"../../node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"../../node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"../../node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"../../node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"../../node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"../../node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"../../node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"../../node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"../../node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"../../node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"../../node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"../../node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"../../node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"../../node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"../../node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"../../node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"../../node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"../../node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"../../node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"../../node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"../../node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"../../node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"../../node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"../../node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"../../node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"../../node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"../../node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"../../node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"../../node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"../../node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"../../node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"../../node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"../../node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"../../node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"../../node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"../../node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"../../node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"../../node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
R
\\r\\n
G
\\r\\n
B
\\r\\n
A
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Hex
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
{{'COMMON.DIALOGS.COLOR_PICKER.CUSTOM_COLORS' | translate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{'COMMON.DIALOGS.LIST_PROPERTIES.DIALOG_TITLE' | translate}}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
{{'COMMON.DIALOGS.LIST_PROPERTIES.LIST_COLOR' | translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
{{'COMMON.DIALOGS.LIST_PROPERTIES.FONT_STYLE' | translate}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
{{'COMMON.DIALOGS.LIST_PROPERTIES.BULLETS_TYPE_TITLE' | translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
{{'COMMON.DIALOGS.LIST_PROPERTIES.START_FROM' | translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
{{'COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE_TITLE' | translate}}
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.TITLE\\r\\n \\r\\n \\r\\n
\\r\\n
COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.FIELD_TITLE
\\r\\n \\r\\n
\\r\\n \\r\\n
{{lastValidationError}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n \\r\\n COMMON.DIALOGS.PERSONALIZATION.DIALOG_TITLE\\r\\n \\r\\n \\r\\n\\r\\n

COMMON.DIALOGS.PERSONALIZATION.SELECT_PERSONALIZATION_TYPE

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n

{{'COMMON.DIALOGS.PERSONALIZATION.SELECT' | translate}} {{personalizationTypes[personalizationType].name}} {{'COMMON.DIALOGS.PERSONALIZATION.FIELD' | translate}}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

{{'COMMON.DIALOGS.PERSONALIZATION.SELECT' | translate}} {{personalizationAttribute.name}} {{'COMMON.DIALOGS.PERSONALIZATION.FIELD' | translate}}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n CREDENTIALS.APPLICATION_USER.INFO_AUTH_METHOD\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\\"\\\"\\r\\n CREDENTIALS.APPLICATION_USER.INFO_CERTIFICATE\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n REGISTRATION.VALIDATION_ERRORS.FILE_FORMAT\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
DRAG & DROP EDITOR 2.0
\\r\\n
\\r\\n The Drag and Drop Email Editor 2.0 allows greater design options and layout flexibility.\\r\\n
\\r\\n
\\r\\n Currently this is a Beta feature and available only to our Beta user group.\\r\\n If you want to be one of the early users and join our Beta group sign up here.\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n {{ number }}\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n {{date | date: settings.format}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{date | date: 'EEEE'}}
\\r\\n
{{date | date: 'dd'}}
\\r\\n
\\r\\n
\\r\\n
{{settings.cal_months_labels[date.getMonth()]}}
\\r\\n
\\r\\n
\\r\\n
{{date | date: 'yyyy'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{date | date: 'hh'}} : {{date | date: 'mm'}} {{date | date: 'a'}} \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{settings.cal_months_labels[date.getMonth()]}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{settings.cal_months_labels[date.getMonth()]}}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{date | date: 'yyyy'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{settings.cal_days_labels[0]}}{{settings.cal_days_labels[1]}}{{settings.cal_days_labels[2]}}{{settings.cal_days_labels[3]}}{{settings.cal_days_labels[4]}}{{settings.cal_days_labels[5]}}{{settings.cal_days_labels[6]}}
\\r\\n
\\r\\n {{month}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{year}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
:
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{day.day}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n COMMON.DATETIME_PICKER.BUTTONS.DONE\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{dateRange?.startDate | date: settings.format}}\\r\\n\\r\\n
\\r\\n
\\r\\n {{dateRange?.endDate | date: settings.format}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{dateRange.startDate | date: 'dd'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dateRange.startDate | date: 'MMMM'}} {{dateRange.startDate | date: 'yyyy'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dateRange.startDate | date: 'EEEE'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{dateRange.endDate | date: 'dd'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dateRange.endDate | date: 'MMMM'}} {{dateRange.endDate | date: 'yyyy'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dateRange.endDate | date: 'EEEE'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{leftDate | date: 'MMMM'}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{leftDate | date: 'MMMM'}}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{leftDate | date: 'yyyy'}}\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{settings.cal_days_labels[0]}}{{settings.cal_days_labels[1]}}{{settings.cal_days_labels[2]}}{{settings.cal_days_labels[3]}}{{settings.cal_days_labels[4]}}{{settings.cal_days_labels[5]}}{{settings.cal_days_labels[6]}}
\\r\\n
\\r\\n {{month}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{year}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
:
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{day.day}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
{{rightDate | date: 'MMMM'}}\\r\\n \\r\\n
\\r\\n
\\r\\n {{rightDate | date: 'MMMM'}}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{rightDate | date: 'yyyy'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{settings.cal_days_labels[0]}}{{settings.cal_days_labels[1]}}{{settings.cal_days_labels[2]}}{{settings.cal_days_labels[3]}}{{settings.cal_days_labels[4]}}{{settings.cal_days_labels[5]}}{{settings.cal_days_labels[6]}}
\\r\\n
\\r\\n {{month}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{year}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
:
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{day.day}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n {{title}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n
{{ title }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
{{title}}
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n\\r\\n\"","export default \"

\\r\\n\"","export default \"
\\r\\n
{{selectedValueDisplayText}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{option.displayText}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n {{ message }}\\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n {{ buttonName }}\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{operatorTextKey | translate}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n {{extraData.dialogTitle | translate}}\\r\\n \\r\\n \\r\\n
COMMON.DIALOGS.CONDITIONS.PREFACE
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n COMMON.DIALOGS.CONDITIONS.LOADING\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n COMMON.DIALOGS.CONDITIONS.VALIDATION_ERRORS.EMPTY_FIELD\\r\\n COMMON.DIALOGS.CONDITIONS.VALIDATION_ERRORS.DATE_RANGE\\r\\n COMMON.DIALOGS.CONDITIONS.VALIDATION_ERRORS.MAX_NUMBERS\\r\\n COMMON.DIALOGS.CONDITIONS.VALIDATION_ERRORS.MAX_DECIMALS\\r\\n COMMON.DIALOGS.CONDITIONS.VALIDATION_ERRORS.CRM_FILDS_CHANGED\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n +\\r\\n COMMON.DIALOGS.CONDITIONS.BUTTONS.ADD_CONDITION\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{ 'COMMON.DIALOGS.DUPLICATE_FILE_MANAGER.DUPLICATE_DETECTED' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{(this.isFileDialogType ? 'COMMON.DIALOGS.DUPLICATE_FILE_MANAGER.DUPLICATE_OPTION' : 'COMMON.DIALOGS.DUPLICATE_FILE_MANAGER.DUPLICATE_OPTION_IMAGE') | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{extraData.header}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{extraData.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{extraData.header}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{(extraData?.header || this.headerText ) | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{(extraData?.message || 'COMMON.DIALOGS.DELETE_FILE.MESSAGE_SINGLE') | translate}}\\r\\n
\\r\\n \\r\\n
\\r\\n {{(extraData?.message || 'COMMON.DIALOGS.DELETE_FILE.MESSAGE_MULTI') | translate | formatString:'#': this.itemsCount.toString()}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
{{ 'COMMON.DIALOGS.DELETE_FOLDER.MESSAGE' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'COMMON.DIALOGS.DELETE_FILE.DESCRIPTION_DELETE_FILE' | translate }}\\r\\n \\r\\n \\r\\n {{ 'COMMON.DIALOGS.DELETE_FILE.DESCRIPTION' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{extraData.header}}\\r\\n \\r\\n \\r\\n
{{extraData.body}}
\\r\\n
\\r\\n
\\r\\n
{{extraData.fieldName}}
\\r\\n \\r\\n\\r\\n
\\r\\n
{{this.LastValidationErrorText}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n COMMON.DIALOGS.UPLOAD_ERRORS.HEADER\\r\\n \\r\\n \\r\\n
\\r\\n COMMON.DIALOGS.UPLOAD_ERRORS.MESSAGE\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{data.name}}{{data.size}}{{data.reason}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{this.nodeName | elipsis}}
\\r\\n\"","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n COMMON.DIALOGS.FILE_MANAGER.SELECT_AN_IMAGE\\r\\n
\\r\\n
\\r\\n COMMON.DIALOGS.FILE_MANAGER.MULTIPLE_ITEMS_SELECTED\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n COMMON.DIALOGS.FILE_MANAGER.PREVIEW\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{imageFile.Name | elipsis:previewFileNameMaxLength}}
\\r\\n
{{imageFile.Size * 0.001 | number : '1.1-2'}}\\r\\n {{'COMMON.DIALOGS.FILE_MANAGER.KILOBYTES' | translate}}
\\r\\n
{{imageFile.Width}}\\r\\n x {{imageFile.Height}} {{'COMMON.DIALOGS.FILE_MANAGER.PIXELS' | translate}}
\\r\\n
{{'COMMON.DIALOGS.FILE_MANAGER.UPLOADED' | translate}}\\r\\n : {{imageFile.CreatedOn | date:'shortDate'}}
\\r\\n
\\r\\n
\\r\\n
{{'COMMON.DIALOGS.FILE_MANAGER.EDIT' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{imageFile.Name | elipsis}}
\\r\\n
{{'COMMON.DIALOGS.FILE_MANAGER.CREATED_ON' | translate}}\\r\\n : {{imageFile.CreatedOn | date:'shortDate'}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n
\\r\\n COMMON.DIALOGS.FILE_MANAGER.NO_FILES_FOUND\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n \\r\\n {{ node.label }}\\r\\n \\r\\n\\r\\n\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n {{ customTitleText || (\\\"COMMON.DIALOGS.IMAGE_MANAGER.IMAGE_MANAGER\\\" | translate) }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
{{filesQuotaService.remainingStorageSpace}} {{quotaMBAvailableLabel}}
\\r\\n
({{quotaOutOfLabel}} {{filesQuotaService.totalStorageSpace}} {{quotaMBLabel}})
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'COMMON.DIALOGS.FILE_MANAGER.UPLOADING' | translate }}\\r\\n {{ currentFileIndex }}\\r\\n {{ 'COMMON.DIALOGS.FILE_MANAGER.IMAGE_INDEX' | translate }} \\r\\n {{ 'COMMON.DIALOGS.FILE_MANAGER.FILE_INDEX' | translate }} \\r\\n /\\r\\n {{ numberFiles }}\\r\\n {{ getUploadedFileTypeTerm() }}\\r\\n
\\r\\n
\\r\\n {{ resultNumberFiles || '0' }}\\r\\n {{ 'COMMON.DIALOGS.FILE_MANAGER.OUT_OF' | translate }}\\r\\n {{ numberFiles || '1' }}\\r\\n {{ getUploadedFileTypeTerm() }} {{ ('COMMON.DIALOGS.FILE_MANAGER.UPLOAD_SUCCESSFULLY_' + (numberFiles > 1 ? 'PLURAL' : 'SINGLE')) | translate }}\\r\\n
\\r\\n
0 && endUploading\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n COMMON.DIALOGS.LOOKUP.TITLE\\r\\n
\\r\\n COMMON.DIALOGS.LOOKUP.DESCRIPTION\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
COMMON.DIALOGS.LOOKUP.LOOK_FOR
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
COMMON.DIALOGS.LOOKUP.LOOK_IN
\\r\\n \\r\\n
\\r\\n
\\r\\n
COMMON.DIALOGS.LOOKUP.SEARCH
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n spacer \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n COMMON.DIALOGS.LOOKUP.SELECTED_RECORDS\\r\\n
\\r\\n
\\r\\n
\\r\\n {{selectedIntity.value.Name}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{offsetFirstItem}}\\r\\n -\\r\\n {{offsetLastItem}} COMMON.DIALOGS.LOOKUP.OF {{totalRecords}}\\r\\n ({{selectedCount}} COMMON.DIALOGS.LOOKUP.SELECTED)\\r\\n
\\r\\n
\\r\\n

\\r\\n \\r\\n \\r\\n \\r\\n COMMON.DIALOGS.LOOKUP.PAGE\\r\\n {{currentPageIndex}}\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
{{chosenEntity.name}}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{chosenEntity.name}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
{{ textSearching }}
\\r\\n
An error has occurred
\\r\\n
{{ textNoResults }}
\\r\\n
\\r\\n
{{item.title}}
\\r\\n
\\r\\n {{item.description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n 0 ? inputId : null\\\" type=\\\"search\\\" [ngClass]=\\\"inputClass\\\" [(ngModel)]=\\\"searchStr\\\" (ngModelChange)=\\\"textInputSubject.next($event)\\\"\\r\\n [attr.name]=\\\"inputName\\\" [attr.maxlength]=\\\"maxChars\\\" [disabled]=\\\"disableInput\\\" autocomplete=\\\"off\\\" autocorrect=\\\"off\\\" autocapitalize=\\\"off\\\"\\r\\n ngx-completer-input (moveDown)=\\\"completerDropdown.moveDown()\\\" (moveUp)=\\\"completerDropdown.moveUp()\\\" (selection)=\\\"onSelection()\\\"\\r\\n (blur)=\\\"onBlur($event)\\\" (focus)=\\\"onFocus($event)\\\" [placeholder]=\\\"placeholder\\\" />\\r\\n\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"

\\r\\n\"","export default \"

segmentation-builder works!

\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ column.name }}\\r\\n \\r\\n \\r\\n ---\\r\\n {{value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ column.name }}\\r\\n \\r\\n \\r\\n ---\\r\\n {{value}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ column.name }}\\r\\n \\r\\n \\r\\n ---\\r\\n {{value}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ column.name }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n ---\\r\\n {{row.firstName}} {{row.lastName}} \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \"","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// start:ng42.barrel\r\nexport * from './public_api';\r\n// end:ng42.barrel\r\n\r\n","export class Hsva {\r\n constructor(public h: number, public s: number, public v: number, public a: number) { }\r\n}\r\nexport class Hsla {\r\n constructor(public h: number, public s: number, public l: number, public a: number) { }\r\n}\r\nexport class Rgba {\r\n constructor(public r: number, public g: number, public b: number, public a: number) { }\r\n}\r\nexport class SliderPosition {\r\n constructor(public h: number, public s: number, public v: number, public a: number) { }\r\n}\r\nexport class SliderDimension {\r\n constructor(public h: number, public s: number, public v: number, public a: number) { }\r\n}\r\n","import {\r\n Component,\r\n OnChanges,\r\n Directive,\r\n Input,\r\n Output,\r\n ViewContainerRef,\r\n ElementRef,\r\n EventEmitter,\r\n OnInit,\r\n ViewChild,\r\n ComponentFactoryResolver, HostListener\r\n} from '@angular/core';\r\nimport { ColorPickerService } from './color-picker.service';\r\nimport { Rgba, Hsla, Hsva, SliderPosition, SliderDimension } from './classes';\r\nimport { NgModule, ReflectiveInjector } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { AppStateService } from '../services/app-state.service';\r\n\r\n// An internal rect structure to ease some calculations\r\ninterface IRect {\r\n top: number;\r\n left: number;\r\n right: number;\r\n bottom: number;\r\n}\r\n\r\n\r\n@Directive({\r\n selector: '[colorPicker]'\r\n})\r\nexport class ColorPickerDirective implements OnInit, OnChanges {\r\n @Input() colorPicker: string;\r\n @Output() colorPickerChange = new EventEmitter(true);\r\n @Input() cpToggle: boolean;\r\n @Output() cpToggleChange = new EventEmitter(true);\r\n @Input() cpPosition: string = 'right';\r\n @Input() cpPositionOffset: string = '0%';\r\n @Input() cpPositionRelativeToArrow: boolean = false;\r\n @Input() cpOutputFormat: string = 'hex';\r\n @Input() cpPresetLabel: string = 'Custom colors';\r\n @Input() cpPresetColors: Array;\r\n @Input() cpCancelButton: boolean = false;\r\n @Input() cpCancelButtonClass: string = 'cp-cancel-button-class';\r\n @Input() cpCancelButtonText: string = 'Cancel';\r\n @Input() cpOKButton: boolean = false;\r\n @Input() cpOKButtonClass: string = 'cp-ok-button-class';\r\n @Input() cpOKButtonText: string = 'OK';\r\n @Input() cpFallbackColor: string = '#00000';\r\n @Input() cpHeight: string = 'auto';\r\n @Input() cpWidth: string = '230px';\r\n @Input() cpIgnoredElements: any = [];\r\n @Input() cpDialogDisplay: string = 'popup';\r\n @Input() cpSaveClickOutside: boolean = true;\r\n @Input() cpAlphaChannel: string = 'hex6';\r\n @Input() containerSelector: string;\r\n @Output() cpPresetColorsChanged = new EventEmitter>(true);\r\n\r\n private dialog: any;\r\n private created: boolean;\r\n private ignoreChanges: boolean = false;\r\n\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private vcRef: ViewContainerRef,\r\n private el: ElementRef,\r\n private service: ColorPickerService) {\r\n this.created = false;\r\n\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n if (changes.cpToggle) {\r\n if (changes.cpToggle.currentValue) {\r\n this.openDialog();\r\n }\r\n\r\n if (!changes.cpToggle.currentValue && this.dialog) {\r\n this.dialog.closeColorPicker();\r\n }\r\n }\r\n if (changes.colorPicker) {\r\n if (this.dialog && !this.ignoreChanges) {\r\n if (this.cpDialogDisplay === 'inline') {\r\n this.dialog.setInitialColor(changes.colorPicker.currentValue);\r\n }\r\n this.dialog.setColorFromString(changes.colorPicker.currentValue, false);\r\n }\r\n this.ignoreChanges = false;\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.colorPicker === null || this.colorPicker === '') {\r\n if (this.colorPicker === null) {\r\n this.colorPickerChange.emit(null);\r\n } else {\r\n this.colorPickerChange.emit('');\r\n }\r\n } else {\r\n let hsva = this.service.stringToHsva(this.colorPicker);\r\n if (hsva === null) {\r\n hsva = this.service.stringToHsva(this.colorPicker, true);\r\n }\r\n if (hsva === null) {\r\n hsva = this.service.stringToHsva(this.cpFallbackColor);\r\n }\r\n this.colorPickerChange.emit(this.service.outputFormat(hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8'));\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n if (this.cpIgnoredElements.filter((item: any) => item === this.el.nativeElement).length === 0) {\r\n this.openDialog();\r\n }\r\n }\r\n\r\n openDialog() {\r\n if (!this.created) {\r\n this.created = true;\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(DialogComponent);\r\n const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\r\n const cmpRef = this.vcRef.createComponent(factory, 0, injector, []);\r\n\r\n cmpRef.instance.setDialog(this, this.el, this.colorPicker, this.cpPosition, this.cpPositionOffset,\r\n this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetColors,\r\n this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText,\r\n this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpHeight, this.cpWidth,\r\n this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel,\r\n this.containerSelector);\r\n this.dialog = cmpRef.instance;\r\n // this.viewContainerRef.createComponent(factory);\r\n // this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule)\r\n // .then(factory => {\r\n // const compFactory = factory.componentFactories.find(x => x.componentType === DialogContainerComponent);\r\n // const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\r\n // const cmpRef = this.vcRef.createComponent(compFactory, 0, injector, []);\r\n // cmpRef.instance.setDialog(this, this.el, this.colorPicker, this.cpPosition, this.cpPositionOffset,\r\n // this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetColors,\r\n // this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText,\r\n // this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpHeight, this.cpWidth,\r\n // this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel);\r\n // this.dialog = cmpRef.instance;\r\n // });\r\n } else if (this.dialog) {\r\n this.dialog.openDialog(this.colorPicker);\r\n }\r\n }\r\n\r\n closeDialog() {\r\n if (this.dialog) {\r\n this.dialog.closeColorPicker();\r\n }\r\n }\r\n\r\n colorChanged(value: string, ignore: boolean = true) {\r\n this.ignoreChanges = ignore;\r\n this.colorPickerChange.emit(value);\r\n\r\n }\r\n\r\n @HostListener('input', ['$event'])\r\n changeInput(value: string) {\r\n if (this.dialog) {\r\n this.dialog.setColorFromString(value, true);\r\n }\r\n // else {\r\n // this.compiler.compileModuleAndAllComponentsAsync(DynamicCpModule)\r\n // .then(factory => {\r\n // const compFactory = factory.componentFactories.find(x => x.componentType === DialogContainerComponent);\r\n // const injector = ReflectiveInjector.fromResolvedProviders([], this.vcRef.parentInjector);\r\n // const cmpRef = this.vcRef.createComponent(compFactory, 0, injector, []);\r\n // cmpRef.instance.setDialog(this, this.el, this.colorPicker, this.cpPosition, this.cpPositionOffset,\r\n // this.cpPositionRelativeToArrow, this.cpOutputFormat, this.cpPresetLabel, this.cpPresetColors,\r\n // this.cpCancelButton, this.cpCancelButtonClass, this.cpCancelButtonText,\r\n // this.cpOKButton, this.cpOKButtonClass, this.cpOKButtonText, this.cpHeight, this.cpWidth,\r\n // this.cpIgnoredElements, this.cpDialogDisplay, this.cpSaveClickOutside, this.cpAlphaChannel);\r\n // this.dialog = cmpRef.instance;\r\n // this.dialog.setColorFromString(value, true);\r\n // });\r\n // }\r\n }\r\n\r\n toggle(value: boolean) {\r\n this.cpToggleChange.emit(value);\r\n }\r\n\r\n presetColorsChanged(value: Array) {\r\n this.cpPresetColorsChanged.emit(value);\r\n }\r\n\r\n}\r\n\r\n@Directive({\r\n selector: '[text]'\r\n})\r\nexport class TextDirective {\r\n @Output() newValue = new EventEmitter();\r\n @Input() text?: any;\r\n @Input() rg?: number;\r\n\r\n @HostListener('input', ['$event'])\r\n changeInput(keyboardEvent: KeyboardEvent) {\r\n if (this.rg === undefined) {\r\n this.newValue.emit(keyboardEvent);\r\n } else {\r\n const numeric = parseFloat(keyboardEvent.target['value']);\r\n if (!isNaN(numeric) && numeric >= 0 && numeric <= this.rg) {\r\n this.newValue.emit({ v: numeric, rg: this.rg });\r\n }\r\n }\r\n }\r\n}\r\n\r\n@Directive({\r\n selector: '[slider]'\r\n})\r\nexport class SliderDirective {\r\n @Output() newValue = new EventEmitter();\r\n @Input() slider?: string;\r\n @Input() rgX: number;\r\n @Input() rgY: number;\r\n private readonly listenerMove: any;\r\n private readonly listenerStop: any;\r\n\r\n constructor(private el: ElementRef) {\r\n this.listenerMove = (event: any) => {\r\n this.move(event);\r\n };\r\n this.listenerStop = () => {\r\n this.stop();\r\n };\r\n }\r\n\r\n setCursor(event: any) {\r\n const height = this.el.nativeElement.offsetHeight;\r\n const width = this.el.nativeElement.offsetWidth;\r\n const x = Math.max(0, Math.min(this.getX(event), width));\r\n const y = Math.max(0, Math.min(this.getY(event), height));\r\n\r\n if (this.rgX !== undefined && this.rgY !== undefined) {\r\n this.newValue.emit({ s: x / width, v: (1 - y / height), rgX: this.rgX, rgY: this.rgY });\r\n } else if (this.rgX === undefined && this.rgY !== undefined) { // Ready to use vertical sliders\r\n this.newValue.emit({ v: y / height, rg: this.rgY });\r\n } else {\r\n this.newValue.emit({ v: x / width, rg: this.rgX });\r\n }\r\n }\r\n\r\n move(event: any) {\r\n event.preventDefault();\r\n this.setCursor(event);\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n @HostListener('touchstart', ['$event'])\r\n start(event: any) {\r\n this.setCursor(event);\r\n document.addEventListener('mousemove', this.listenerMove);\r\n document.addEventListener('touchmove', this.listenerMove);\r\n document.addEventListener('mouseup', this.listenerStop);\r\n document.addEventListener('touchend', this.listenerStop);\r\n }\r\n\r\n stop() {\r\n document.removeEventListener('mousemove', this.listenerMove);\r\n document.removeEventListener('touchmove', this.listenerMove);\r\n document.removeEventListener('mouseup', this.listenerStop);\r\n document.removeEventListener('touchend', this.listenerStop);\r\n }\r\n\r\n getX(event: any): number {\r\n return (\r\n (event.pageX !== undefined ? event.pageX : event.touches[0].pageX) -\r\n this.el.nativeElement.getBoundingClientRect().left - window.pageXOffset\r\n );\r\n }\r\n\r\n getY(event: any): number {\r\n return (\r\n (event.pageY !== undefined ? event.pageY : event.touches[0].pageY) -\r\n this.el.nativeElement.getBoundingClientRect().top - window.pageYOffset\r\n );\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'color-picker',\r\n templateUrl: 'color-picker.html'\r\n})\r\n\r\nexport class DialogComponent implements OnInit {\r\n hsva: Hsva;\r\n rgbaText: Rgba;\r\n hslaText: Hsla;\r\n hexText: string;\r\n outputColor: string;\r\n selectedColor: string;\r\n alphaSliderColor: string;\r\n hueSliderColor: string = 'rgb(255,0,0)';\r\n slider: SliderPosition;\r\n sliderDimMax: SliderDimension;\r\n format: number;\r\n show: boolean;\r\n top: number;\r\n left: number;\r\n position: string;\r\n directiveInstance: any;\r\n initialColor: string;\r\n directiveElementRef: ElementRef;\r\n\r\n listenerMouseDown: any;\r\n listenerResize: any;\r\n\r\n cpPosition: string;\r\n cpPositionOffset: number;\r\n cpOutputFormat: string;\r\n cpPresetLabel: string;\r\n cpPresetColors: Array;\r\n selectedColorIndex: any = null;\r\n cpCancelButton: boolean;\r\n cpCancelButtonClass: string;\r\n cpCancelButtonText: string;\r\n cpOKButton: boolean;\r\n cpOKButtonClass: string;\r\n cpOKButtonText: string;\r\n cpHeight: number;\r\n cpWidth: number;\r\n cpIgnoredElements: any;\r\n cpDialogDisplay: string;\r\n cpSaveClickOutside: boolean;\r\n cpAlphaChannel: string;\r\n\r\n dialogArrowSize: number = 10;\r\n dialogArrowOffset: number = 15;\r\n arrowTop: number;\r\n arrowLeft: number;\r\n\r\n classMap: any;\r\n containerSelector: string;\r\n\r\n @ViewChild('hueSlider', {static: true}) hueSlider: any;\r\n @ViewChild('alphaSlider', {static: true}) alphaSlider: any;\r\n\r\n @ViewChild('dialogPopup', {static: false}) dialogElement: any;\r\n\r\n constructor(private el: ElementRef, private service: ColorPickerService, private appStateService: AppStateService) {\r\n this.classMap = { 'no-color-selected': false };\r\n }\r\n\r\n setDialog(instance: any, elementRef: ElementRef, color: any, cpPosition: string, cpPositionOffset: string,\r\n cpPositionRelativeToArrow: boolean, cpOutputFormat: string, cpPresetLabel: string, cpPresetColors: Array,\r\n cpCancelButton: boolean, cpCancelButtonClass: string, cpCancelButtonText: string,\r\n cpOKButton: boolean, cpOKButtonClass: string, cpOKButtonText: string,\r\n cpHeight: string, cpWidth: string,\r\n cpIgnoredElements: any, cpDialogDisplay: string, cpSaveClickOutside: boolean, cpAlphaChannel: string,\r\n containerSelector: string) {\r\n this.directiveInstance = instance;\r\n this.initialColor = color;\r\n this.directiveElementRef = elementRef;\r\n this.cpPosition = cpPosition;\r\n this.cpPositionOffset = parseInt(cpPositionOffset);\r\n if (!cpPositionRelativeToArrow) {\r\n this.dialogArrowOffset = 0;\r\n }\r\n\r\n this.cpOutputFormat = cpOutputFormat;\r\n this.cpPresetLabel = cpPresetLabel;\r\n this.cpPresetColors = cpPresetColors;\r\n\r\n this.cpCancelButton = cpCancelButton;\r\n this.cpCancelButtonClass = cpCancelButtonClass;\r\n this.cpCancelButtonText = cpCancelButtonText;\r\n this.cpOKButton = cpOKButton;\r\n this.cpOKButtonClass = cpOKButtonClass;\r\n this.cpOKButtonText = cpOKButtonText;\r\n this.cpHeight = parseInt(cpHeight);\r\n this.cpWidth = parseInt(cpWidth);\r\n this.cpIgnoredElements = cpIgnoredElements;\r\n this.cpDialogDisplay = cpDialogDisplay;\r\n if (this.cpDialogDisplay === 'inline') {\r\n this.dialogArrowOffset = 0;\r\n this.dialogArrowSize = 0;\r\n }\r\n this.cpSaveClickOutside = cpSaveClickOutside;\r\n this.cpAlphaChannel = cpAlphaChannel;\r\n this.containerSelector = containerSelector;\r\n }\r\n\r\n ngOnInit() {\r\n const alphaWidth = this.alphaSlider.nativeElement.offsetWidth;\r\n const hueWidth = this.hueSlider.nativeElement.offsetWidth;\r\n this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);\r\n this.slider = new SliderPosition(0, 0, 0, 0);\r\n if (this.cpOutputFormat === 'rgba') {\r\n this.format = 1;\r\n // }\r\n // else if (this.cpOutputFormat === 'hsla') {\r\n // this.format = 2;\r\n } else {\r\n this.format = 0;\r\n }\r\n this.listenerMouseDown = (event: any) => {\r\n this.onMouseDown(event);\r\n };\r\n this.listenerResize = () => {\r\n this.onResize();\r\n };\r\n this.openDialog(this.initialColor, false);\r\n }\r\n\r\n get ColorText() {\r\n return this.getHexText();\r\n }\r\n\r\n set ColorText(value: string) {\r\n this.setColorFromString(value);\r\n }\r\n\r\n setInitialColor(color: any) {\r\n this.initialColor = color;\r\n }\r\n\r\n openDialog(color: any, emit: boolean = true) {\r\n\r\n if (color === '' || color === null) {\r\n this.removeColor();\r\n } else {\r\n this.setInitialColor(color);\r\n this.setColorFromString(color, emit);\r\n }\r\n this.openColorPicker();\r\n }\r\n\r\n cancelColor(event: any) {\r\n event.stopPropagation();\r\n this.setColorFromString(this.initialColor, true);\r\n if (this.cpDialogDisplay === 'popup') {\r\n this.directiveInstance.colorChanged(this.initialColor, true);\r\n this.closeColorPicker();\r\n }\r\n }\r\n\r\n oKColor(event: any) {\r\n event.stopPropagation();\r\n if (this.cpDialogDisplay === 'popup') {\r\n this.closeColorPicker();\r\n }\r\n }\r\n\r\n\r\n setColorFromString(value: string, emit: boolean = true) {\r\n if (value === null || value === '') {\r\n // we set the default value to be with saturation and value to 100% so when the user selects a color, it will show\r\n // as a full saturated color and not black or white\r\n value = 'hsv(0,100%,100%)';\r\n }\r\n\r\n // trim the text\r\n value = value.trim();\r\n\r\n let hsva: Hsva;\r\n if (this.cpAlphaChannel === 'hex8') {\r\n hsva = this.service.stringToHsva(value, true);\r\n if (!hsva && !this.hsva) {\r\n hsva = this.service.stringToHsva(value, false);\r\n }\r\n } else {\r\n hsva = this.service.stringToHsva(value, false);\r\n }\r\n if (hsva) {\r\n this.hsva = hsva;\r\n this.update(emit);\r\n }\r\n }\r\n\r\n onMouseDown(event: any) {\r\n if ((!this.isDescendant(this.el.nativeElement, event.target)\r\n && event.target !== this.directiveElementRef.nativeElement &&\r\n this.cpIgnoredElements.filter((item: any) => item === event.target).length === 0) && this.cpDialogDisplay === 'popup') {\r\n if (!this.cpSaveClickOutside) {\r\n this.setColorFromString(this.initialColor, false);\r\n this.directiveInstance.colorChanged(this.initialColor);\r\n }\r\n this.closeColorPicker();\r\n }\r\n }\r\n\r\n selectInputShowCursorInAllBrowsers(event: any) {\r\n if (this.appStateService.isBrowserEdge() || this.appStateService.isBrowserIE()) {\r\n const target: HTMLInputElement = event.target || event.srcElement || event.currentTarget;\r\n target.select();\r\n }\r\n }\r\n\r\n openColorPicker() {\r\n if (!this.show) {\r\n this.setDialogPosition();\r\n this.show = true;\r\n this.directiveInstance.toggle(true);\r\n document.addEventListener('mousedown', this.listenerMouseDown);\r\n window.addEventListener('resize', this.listenerResize);\r\n this.classMap['no-color-selected'] = (this.initialColor === null || this.initialColor === '') ? true : false;\r\n }\r\n }\r\n\r\n closeColorPicker() {\r\n if (this.show) {\r\n this.show = false;\r\n this.directiveInstance.toggle(false);\r\n document.removeEventListener('mousedown', this.listenerMouseDown);\r\n window.removeEventListener('resize', this.listenerResize);\r\n }\r\n }\r\n\r\n onResize() {\r\n if (this.cpDialogDisplay !== 'inline') {\r\n this.closeColorPicker();\r\n }\r\n }\r\n\r\n setDialogPosition() {\r\n let scrollingContainerBoundingRect: ClientRect | IRect = null;\r\n let scrollingContainerElement: Element;\r\n\r\n if (this.containerSelector) {\r\n scrollingContainerElement = document.querySelector(this.containerSelector);\r\n scrollingContainerBoundingRect = scrollingContainerElement.getBoundingClientRect();\r\n } else {\r\n // make the scrolling container the whole document\r\n scrollingContainerBoundingRect = {\r\n top: 0,\r\n left: 0,\r\n right: window.innerWidth,\r\n bottom: window.innerHeight,\r\n };\r\n }\r\n\r\n const buttonElement = this.directiveElementRef.nativeElement;\r\n const buttonRect = buttonElement.getBoundingClientRect();\r\n\r\n const position = 'fixed';\r\n this.cpWidth = 230;\r\n this.cpHeight = 410;\r\n const arrowWidth: number = 10;\r\n const arrowHeight: number = 10;\r\n\r\n const dialogWidth = this.cpWidth;\r\n const dialogHeight = this.cpHeight;\r\n\r\n const arrowContainerHeight: number = 20;\r\n this.position = 'fixed';\r\n\r\n const isColorPickerAtTheBottomOfBoundedElement = () => (buttonRect.bottom + (dialogHeight) < scrollingContainerBoundingRect.bottom);\r\n const isColorPickerAtTheTopOfBoundedElement = () => (buttonRect.top - (dialogHeight) > scrollingContainerBoundingRect.top);\r\n const isColorPickerAtTheLeftOfBoundedElement = () => (buttonRect.left - (dialogWidth) > scrollingContainerBoundingRect.left);\r\n const isColorPickerAtTheRightOfBoundedElement = () => (buttonRect.right + (dialogWidth) < scrollingContainerBoundingRect.right);\r\n\r\n if (isColorPickerAtTheBottomOfBoundedElement()) {\r\n this.cpPosition = 'bottom';\r\n this.arrowTop = buttonRect.top + buttonRect.height - arrowHeight;\r\n this.top = this.arrowTop + arrowContainerHeight;\r\n this.left = buttonRect.left + buttonRect.width / 2 - dialogWidth / 2;\r\n this.arrowLeft = buttonRect.left + buttonRect.width / 2 - arrowWidth / 2;\r\n } else if (isColorPickerAtTheTopOfBoundedElement()) {\r\n this.cpPosition = 'top';\r\n this.arrowTop = buttonRect.top - arrowHeight;\r\n this.top = this.arrowTop - dialogHeight;\r\n this.left = buttonRect.left + buttonRect.width / 2 - dialogWidth / 2;\r\n this.arrowLeft = buttonRect.left + buttonRect.width / 2 - arrowWidth / 2;\r\n } else if (isColorPickerAtTheLeftOfBoundedElement()) {\r\n this.cpPosition = 'left';\r\n this.arrowTop = buttonRect.top + buttonRect.height / 2 - arrowHeight / 2;\r\n this.top = buttonRect.top + buttonRect.height / 2 - dialogHeight / 2;\r\n\r\n this.arrowLeft = buttonRect.left - arrowWidth;\r\n this.left = this.arrowLeft - dialogWidth;\r\n } else if (isColorPickerAtTheRightOfBoundedElement()) {\r\n this.cpPosition = 'right';\r\n this.arrowTop = buttonRect.top + buttonRect.height / 2 - arrowHeight / 2;\r\n this.top = buttonRect.top + buttonRect.height / 2 - dialogHeight / 2;\r\n\r\n this.arrowLeft = buttonRect.left + buttonRect.width - arrowWidth;\r\n this.left = this.arrowLeft + arrowWidth * 2;\r\n } else {\r\n this.cpPosition = 'bottom';\r\n this.arrowTop = buttonRect.top + buttonRect.height - arrowHeight;\r\n this.top = this.arrowTop + arrowContainerHeight;\r\n this.left = buttonRect.left + buttonRect.width / 2 - dialogWidth / 2;\r\n this.arrowLeft = buttonRect.left + buttonRect.width / 2 - arrowWidth / 2;\r\n }\r\n }\r\n\r\n setSaturation(val: { v: number, rg: number }) {\r\n const hsla = this.service.hsva2hsla(this.hsva);\r\n hsla.s = val.v / val.rg;\r\n this.hsva = this.service.hsla2hsva(hsla);\r\n this.update();\r\n }\r\n\r\n setLightness(val: { v: number, rg: number }) {\r\n const hsla = this.service.hsva2hsla(this.hsva);\r\n hsla.l = val.v / val.rg;\r\n this.hsva = this.service.hsla2hsva(hsla);\r\n this.update();\r\n }\r\n\r\n setHue(val: { v: number, rg: number }) {\r\n if (this.hsva === null || typeof (this.hsva) === 'undefined') {\r\n // we set the default value to be with saturation and value to 100% so when the user selects a color, it will show\r\n // as a full saturated color and not black or white\r\n this.hsva = new Hsva(0, 1, 1, 0);\r\n this.hsva.h = val.v / val.rg;\r\n this.update();\r\n } else {\r\n this.hsva.h = val.v / val.rg;\r\n this.update();\r\n }\r\n }\r\n\r\n setAlpha(val: { v: number, rg: number }) {\r\n this.hsva.a = val.v / val.rg;\r\n this.update();\r\n }\r\n\r\n setR(val: { v: number, rg: number }) {\r\n const rgba = this.service.hsvaToRgba(this.hsva);\r\n rgba.r = val.v / val.rg;\r\n this.hsva = this.service.rgbaToHsva(rgba);\r\n this.update();\r\n }\r\n\r\n setG(val: { v: number, rg: number }) {\r\n const rgba = this.service.hsvaToRgba(this.hsva);\r\n rgba.g = val.v / val.rg;\r\n this.hsva = this.service.rgbaToHsva(rgba);\r\n this.update();\r\n }\r\n\r\n setB(val: { v: number, rg: number }) {\r\n const rgba = this.service.hsvaToRgba(this.hsva);\r\n rgba.b = val.v / val.rg;\r\n this.hsva = this.service.rgbaToHsva(rgba);\r\n this.update();\r\n }\r\n\r\n setSaturationAndBrightness(val: { s: number, v: number, rgX: number, rgY: number }) {\r\n if (typeof (val) !== 'undefined') {\r\n if (typeof (this.hsva) === 'undefined') {\r\n this.hsva = new Hsva(null, null, null, null);\r\n }\r\n this.hsva.s = val.s / val.rgX;\r\n this.hsva.v = val.v / val.rgY;\r\n this.update();\r\n }\r\n }\r\n\r\n formatPolicy(event: any): number {\r\n event.stopPropagation();\r\n if (this.format === 0) {\r\n this.format = 1;\r\n } else {\r\n this.format = 0;\r\n }\r\n return this.format;\r\n }\r\n\r\n update(emit: boolean = true) {\r\n this.classMap['no-color-selected'] = this.hsva === null;\r\n if (this.hsva === null) {\r\n // we set the default value to be with saturation and value to 100% so when the user selects a color, it will show\r\n // as a full saturated color and not black or white\r\n this.hsva = new Hsva(0, 1, 1, 0);\r\n }\r\n const hsla = this.service.hsva2hsla(this.hsva);\r\n const rgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(this.hsva));\r\n const hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(new Hsva(this.hsva.h, 1, 1, 1)));\r\n\r\n this.hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100),\r\n Math.round(hsla.l * 100), Math.round(hsla.a * 100) / 100);\r\n\r\n this.rgbaText = new Rgba(rgba.r, rgba.g, rgba.b, Math.round(rgba.a * 100) / 100);\r\n this.hexText = this.service.hexText(rgba, this.cpAlphaChannel === 'hex8');\r\n\r\n this.alphaSliderColor = 'rgb(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ')';\r\n this.hueSliderColor = 'rgb(' + hueRgba.r + ',' + hueRgba.g + ',' + hueRgba.b + ')';\r\n\r\n if (this.format === 0 && this.hsva.a < 1 && this.cpAlphaChannel === 'hex6') {\r\n this.format++;\r\n }\r\n\r\n const lastOutput = this.outputColor;\r\n this.outputColor = this.service.outputFormat(this.hsva, this.cpOutputFormat, this.cpAlphaChannel === 'hex8');\r\n this.selectedColor = this.outputColor; // this.service.outputFormat(this.hsva, 'rgba', false);\r\n\r\n if (!this.sliderDimMax) {\r\n const alphaWidth = this.alphaSlider.nativeElement.offsetWidth;\r\n const hueWidth = this.hueSlider.nativeElement.offsetWidth;\r\n this.sliderDimMax = new SliderDimension(hueWidth, this.cpWidth, 130, alphaWidth);\r\n }\r\n\r\n this.slider = new SliderPosition((this.hsva.h) * this.sliderDimMax.h - 8, this.hsva.s * this.sliderDimMax.s - 8,\r\n (1 - this.hsva.v) * this.sliderDimMax.v - 8, this.hsva.a * this.sliderDimMax.a - 8);\r\n\r\n if (emit) { // && lastOutput !== this.outputColor) {\r\n this.directiveInstance.colorChanged(this.outputColor);\r\n }\r\n }\r\n\r\n isDescendant(parent: any, child: any): boolean {\r\n let node: any = child.parentNode;\r\n while (node !== null) {\r\n if (node === parent) {\r\n return true;\r\n }\r\n node = node.parentNode;\r\n }\r\n return false;\r\n }\r\n\r\n createBox(element: any, offset: boolean): any {\r\n return {\r\n top: element.getBoundingClientRect().top + (offset ? window.pageYOffset : 0),\r\n left: element.getBoundingClientRect().left + (offset ? window.pageXOffset : 0),\r\n width: element.offsetWidth,\r\n height: element.offsetHeight\r\n };\r\n }\r\n\r\n getHexText(): any {\r\n return this.hexText ? this.hexText : '';\r\n }\r\n\r\n // Customize methods\r\n setColorFromSavedPalett(event: any, index: any, value: string) {\r\n event.stopPropagation();\r\n this.selectedColorIndex = index;\r\n this.setColorFromString(value);\r\n }\r\n\r\n removeColor(event: any = null) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.setInitialColor(null);\r\n this.setColorFromString(null);\r\n this.directiveInstance.colorChanged(this.initialColor, true);\r\n this.selectedColor = null;\r\n this.hexText = null;\r\n this.rgbaText = null;\r\n this.classMap['no-color-selected'] = true;\r\n }\r\n\r\n addToCustomColors(event: any) {\r\n event.stopPropagation();\r\n if (this.outputColor !== undefined && this.outputColor !== null) {\r\n if (this.selectedColorIndex !== null) {\r\n this.cpPresetColors[this.selectedColorIndex] = this.outputColor;\r\n } else {\r\n this.cpPresetColors[0] = this.outputColor;\r\n }\r\n this.directiveInstance.presetColorsChanged(this.cpPresetColors);\r\n } else {\r\n alert('No color selected for set to custom colors');\r\n }\r\n }\r\n\r\n getBorderColor(index: any) {\r\n if (this.selectedColorIndex === index) {\r\n return '#4c09ee';\r\n } else {\r\n return '#a9a9a9';\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, TranslateModule.forChild()],\r\n declarations: [DialogComponent, TextDirective, SliderDirective],\r\n exports: [DialogComponent],\r\n entryComponents: [DialogComponent]\r\n})\r\nexport class DynamicCpModule {\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ColorPickerService } from './color-picker.service';\r\nimport { ColorPickerDirective, DynamicCpModule } from './color-picker.directive';\r\n\r\n@NgModule({\r\n imports: [CommonModule, DynamicCpModule],\r\n providers: [ColorPickerService],\r\n declarations: [ColorPickerDirective],\r\n exports: [ColorPickerDirective]\r\n})\r\nexport class ColorPickerModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Rgba, Hsla, Hsva } from './classes';\r\n/* tslint:disable:no-bitwise */\r\n\r\n@Injectable()\r\nexport class ColorPickerService {\r\n\r\n hsla2hsva(hsla: Hsla): Hsva {\r\n const h = Math.min(hsla.h, 1), s = Math.min(hsla.s, 1), l = Math.min(hsla.l, 1), a = Math.min(hsla.a, 1);\r\n if (l === 0) {\r\n return new Hsva(h, 0, 0, a);\r\n } else {\r\n const v = l + s * (1 - Math.abs(2 * l - 1)) / 2;\r\n return new Hsva(h, 2 * (v - l) / v, v, a);\r\n }\r\n }\r\n\r\n hsva2hsla(hsva: Hsva): Hsla {\r\n if (hsva === null || typeof(hsva) === 'undefined') {\r\n // we set the default value to be with saturation and value to 100% so when the user selects a color, it will show\r\n // as a full saturated color and not black or white\r\n hsva = new Hsva(0, 1, 1, 0);\r\n }\r\n const h = hsva.h, s = hsva.s, v = hsva.v, a = hsva.a;\r\n if (v === 0) {\r\n return new Hsla(h, 0, 0, a);\r\n } else if (s === 0 && v === 1) {\r\n return new Hsla(h, 1, 1, a);\r\n } else {\r\n const l = v * (2 - s) / 2;\r\n return new Hsla(h, v * s / (1 - Math.abs(2 * l - 1)), l, a);\r\n }\r\n }\r\n\r\n rgbaToHsva(rgba: Rgba): Hsva {\r\n const r = Math.min(rgba.r, 1), g = Math.min(rgba.g, 1), b = Math.min(rgba.b, 1), a = Math.min(rgba.a, 1);\r\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\r\n let h: number, s: number;\r\n const v: number = max;\r\n\r\n const d = max - min;\r\n s = max === 0 ? 0 : d / max;\r\n\r\n if (max === min) {\r\n h = 0;\r\n } else {\r\n switch (max) {\r\n case r:\r\n h = (g - b) / d + (g < b ? 6 : 0);\r\n break;\r\n case g:\r\n h = (b - r) / d + 2;\r\n break;\r\n case b:\r\n h = (r - g) / d + 4;\r\n break;\r\n }\r\n h /= 6;\r\n }\r\n\r\n return new Hsva(h, s, v, a);\r\n }\r\n\r\n hsvaToRgba(hsva: Hsva): Rgba {\r\n if (hsva === null || typeof(hsva) === 'undefined') {\r\n // we set the default value to be with saturation and value to 100% so when the user selects a color, it will show\r\n // as a full saturated color and not black or white\r\n hsva = new Hsva(0, 1, 1, 0);\r\n }\r\n const h = hsva.h, s = hsva.s, v = hsva.v, a = hsva.a;\r\n let r: number, g: number, b: number;\r\n\r\n const i = Math.floor(h * 6);\r\n const f = h * 6 - i;\r\n const p = v * (1 - s);\r\n const q = v * (1 - f * s);\r\n const t = v * (1 - (1 - f) * s);\r\n\r\n switch (i % 6) {\r\n case 0:\r\n r = v;\r\n g = t;\r\n b = p;\r\n break;\r\n case 1:\r\n r = q;\r\n g = v;\r\n b = p;\r\n break;\r\n case 2:\r\n r = p;\r\n g = v;\r\n b = t;\r\n break;\r\n case 3:\r\n r = p;\r\n g = q;\r\n b = v;\r\n break;\r\n case 4:\r\n r = t;\r\n g = p;\r\n b = v;\r\n break;\r\n case 5:\r\n r = v;\r\n g = p;\r\n b = q;\r\n break;\r\n }\r\n\r\n return new Rgba(r, g, b, a);\r\n }\r\n\r\n stringToHsva(colorString: string = '', hex8: boolean = false): Hsva {\r\n const stringParsers = [\r\n {\r\n re: /(rgb)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*%?,\\s*(\\d{1,3})\\s*%?(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\r\n parse: function(execResult: any) {\r\n return new Rgba(parseInt(execResult[2]) / 255,\r\n parseInt(execResult[3]) / 255,\r\n parseInt(execResult[4]) / 255,\r\n isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));\r\n }\r\n },\r\n {\r\n re: /(hsl)a?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})%\\s*,\\s*(\\d{1,3})%\\s*(?:,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)/,\r\n parse: function(execResult: any) {\r\n return new Hsla(parseInt(execResult[2]) / 360,\r\n parseInt(execResult[3]) / 100,\r\n parseInt(execResult[4]) / 100,\r\n isNaN(parseFloat(execResult[5])) ? 1 : parseFloat(execResult[5]));\r\n }\r\n }\r\n ];\r\n if (hex8) {\r\n stringParsers.push({\r\n re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\r\n parse: function(execResult: any) {\r\n return new Rgba(parseInt(execResult[1], 16) / 255,\r\n parseInt(execResult[2], 16) / 255,\r\n parseInt(execResult[3], 16) / 255,\r\n parseInt(execResult[4], 16) / 255);\r\n }\r\n });\r\n } else {\r\n stringParsers.push(\r\n {\r\n re: /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})$/,\r\n parse: function(execResult: any) {\r\n return new Rgba(parseInt(execResult[1], 16) / 255,\r\n parseInt(execResult[2], 16) / 255,\r\n parseInt(execResult[3], 16) / 255,\r\n 1);\r\n }\r\n }\r\n // IMPORTANT: remove this code from the original implementation of the color-picker\r\n // it caused a bug when pasting #FF0000 it converted it to #F00. We don't need to support hex6\r\n // {\r\n // re: /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])$/,\r\n // parse: function (execResult: any) {\r\n // return new Rgba(parseInt(execResult[1] + execResult[1], 16) / 255,\r\n // parseInt(execResult[2] + execResult[2], 16) / 255,\r\n // parseInt(execResult[3] + execResult[3], 16) / 255,\r\n // 1);\r\n // }\r\n // }\r\n );\r\n }\r\n\r\n colorString = colorString ? colorString.toLowerCase() : colorString;\r\n if (colorString === '' || colorString === null) {\r\n return new Hsva(0, 0, 0, 0);\r\n }\r\n\r\n let hsva: Hsva = null;\r\n let key;\r\n for (key in stringParsers) {\r\n if (stringParsers.hasOwnProperty(key)) {\r\n const parser = stringParsers[key];\r\n const match = parser.re.exec(colorString), color: any = match && parser.parse(match);\r\n if (color) {\r\n if (color instanceof Rgba) {\r\n hsva = this.rgbaToHsva(color);\r\n } else if (color instanceof Hsla) {\r\n hsva = this.hsla2hsva(color);\r\n }\r\n return hsva;\r\n }\r\n }\r\n }\r\n return hsva;\r\n }\r\n\r\n outputFormat(hsva: Hsva, outputFormat: string, allowHex8: boolean): string {\r\n if (hsva.a < 1) {\r\n switch (outputFormat) {\r\n case 'hsla':\r\n const hsla = this.hsva2hsla(hsva);\r\n const hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100),\r\n Math.round(hsla.a * 100) / 100);\r\n return 'hsla(' + hslaText.h + ',' + hslaText.s + '%,' + hslaText.l + '%,' + hslaText.a + ')';\r\n default:\r\n // if (allowHex8 && outputFormat === 'hex')\r\n // return this.hexText(this.denormalizeRGBA(this.hsvaToRgba(hsva)), allowHex8);\r\n if (outputFormat === 'hex') {\r\n return this.hexText(this.denormalizeRGBA(this.hsvaToRgba(hsva)), false);\r\n }\r\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\r\n return 'rgba(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ',' + Math.round(rgba.a * 100) / 100 + ')';\r\n }\r\n } else {\r\n switch (outputFormat) {\r\n case 'hsla':\r\n const hsla = this.hsva2hsla(hsva);\r\n const hslaText = new Hsla(Math.round((hsla.h) * 360), Math.round(hsla.s * 100), Math.round(hsla.l * 100),\r\n Math.round(hsla.a * 100) / 100);\r\n return 'hsl(' + hslaText.h + ',' + hslaText.s + '%,' + hslaText.l + '%)';\r\n case 'rgba':\r\n const rgba = this.denormalizeRGBA(this.hsvaToRgba(hsva));\r\n return 'rgb(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ')';\r\n default:\r\n return this.hexText(this.denormalizeRGBA(this.hsvaToRgba(hsva)), allowHex8);\r\n }\r\n }\r\n }\r\n\r\n hexText(rgba: Rgba, allowHex8: boolean): string {\r\n const hexText = '#' + ((1 << 24) | (rgba.r << 16) | (rgba.g << 8) | rgba.b).toString(16).substr(1);\r\n // if (hexText[1] === hexText[2] && hexText[3] === hexText[4] && hexText[5] === hexText[6] && rgba.a === 1 && !allowHex8) {\r\n // hexText = '#' + hexText[1] + hexText[3] + hexText[5];\r\n // }\r\n // if (allowHex8) {\r\n // hexText += ((1 << 8) | Math.round(rgba.a * 255)).toString(16).substr(1);\r\n // }\r\n return hexText;\r\n }\r\n\r\n denormalizeRGBA(rgba: Rgba): Rgba {\r\n return new Rgba(Math.round(rgba.r * 255), Math.round(rgba.g * 255), Math.round(rgba.b * 255), rgba.a);\r\n }\r\n\r\n}\r\n","// start:ng42.barrel\r\nexport * from './classes';\r\nexport * from './color-picker.directive';\r\nexport * from './color-picker.module';\r\nexport * from './color-picker.service';\r\n// end:ng42.barrel\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CkEditorCdListPropertiesPluginService } from './ck-editor-cd-list-properties-plugin.service';\r\nimport { CkEditorListPropertiesDialogComponent } from './ck-editor-list-properties-dialog.component';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { CommonComponentsModule } from '../components/common-components.module';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, TranslateModule.forChild(), CommonComponentsModule, CommonDirectivesModule],\r\n declarations: [CkEditorListPropertiesDialogComponent],\r\n entryComponents: [CkEditorListPropertiesDialogComponent],\r\n providers: [\r\n CkEditorCdListPropertiesPluginService\r\n ]\r\n})\r\nexport class CkEditorCdListPropertiesPluginModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { NgZone } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CDListPropertiesCommand } from './ck-editor-list-properties-commands';\r\nimport { DialogService } from '../dialogs/dialog.service';\r\nimport {\r\n BulletListType,\r\n ICkEditorCdListPropertiesPluginService,\r\n IListPropertiesModel,\r\n SortedListType\r\n} from './ck-editor-cd-list-properties-plugin.interface';\r\n\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CkEditorCdListPropertiesPluginService implements ICkEditorCdListPropertiesPluginService {\r\n currentListProperties: IListPropertiesModel = null;\r\n listElement: any = null;\r\n presetColorsPersistenceKey: string = null;\r\n\r\n listPropertiesMenuItemCaption: string;\r\n\r\n static rgbToHex(color: string) {\r\n color = '' + color;\r\n if (!color || color.indexOf('rgb') < 0) {\r\n return null;\r\n }\r\n\r\n if (color.charAt(0) === '#') {\r\n return color;\r\n }\r\n\r\n var nums = /(.*?)rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/i.exec(color),\r\n r = parseInt(nums[2], 10).toString(16),\r\n g = parseInt(nums[3], 10).toString(16),\r\n b = parseInt(nums[4], 10).toString(16);\r\n\r\n return '#' + (\r\n (r.length === 1 ? '0' + r : r) +\r\n (g.length === 1 ? '0' + g : g) +\r\n (b.length === 1 ? '0' + b : b)\r\n );\r\n }\r\n\r\n constructor(private dialogService: DialogService, public zone: NgZone, private translate: TranslateService) {\r\n this.listPropertiesMenuItemCaption = translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.CK_MENUITEM_TITLE');\r\n\r\n CKEDITOR.plugins.add('cdlistproperties', this);\r\n }\r\n\r\n convertCssStyleToFamilySelectorModel(cssFontFamilyValue: string) {\r\n let result = cssFontFamilyValue.replace(/\\\"/g, '');\r\n result = result.replace(/, /g, ',');\r\n return result;\r\n }\r\n\r\n init(editor: any) {\r\n editor.addCommand('cdListProperties', new CDListPropertiesCommand(this.dialogService, this));\r\n\r\n if (editor.addMenuItems) {\r\n editor.addMenuGroup('clickDimensionsMenuListPropertiesGroup');\r\n editor.addMenuItems({\r\n cdOrderedListPropertiesMenuItem: {\r\n order: null,\r\n label: this.listPropertiesMenuItemCaption,\r\n group: 'clickDimensionsMenuListPropertiesGroup',\r\n command: 'cdListProperties',\r\n icon: `/assets/images/ordered_list.png`\r\n },\r\n\r\n cdUnorderedListPropertiesMenuItem: {\r\n order: null,\r\n label: this.listPropertiesMenuItemCaption,\r\n group: 'clickDimensionsMenuListPropertiesGroup',\r\n command: 'cdListProperties',\r\n icon: `/assets/images/unordered_list.png`\r\n }\r\n });\r\n }\r\n\r\n // If the \"contextmenu\" plugin is loaded, register the listeners.\r\n if (editor.contextMenu) {\r\n editor.contextMenu.addListener((element: CKEDITOR.dom.element, selection: CKEDITOR.dom.selection, path: CKEDITOR.dom.elementPath) => {\r\n\r\n if (!element || element.isReadOnly())\r\n return null;\r\n\r\n let el: HTMLElement;\r\n while (element) {\r\n let name = element.getName();\r\n if (name === 'ol' || name === 'ul') {\r\n el = element.$;\r\n this.listElement = el;\r\n\r\n // instantiate a new instance for the currently selected element throwing the old one to GC\r\n let currentListProperties: IListPropertiesModel = this.currentListProperties = {\r\n isOrderedList: (name === 'ol')\r\n };\r\n\r\n if (currentListProperties.isOrderedList) {\r\n let startAttribute = el.getAttribute('start');\r\n if (startAttribute) {\r\n currentListProperties.startFrom = parseInt(startAttribute);\r\n } else {\r\n currentListProperties.startFrom = 1;\r\n }\r\n\r\n if (el.style.listStyleType) {\r\n currentListProperties.orderedListType = el.style.listStyleType;\r\n }\r\n }\r\n\r\n if (!currentListProperties.isOrderedList) {\r\n if (el.style.listStyleType) {\r\n currentListProperties.bulletType = el.style.listStyleType;\r\n }\r\n }\r\n\r\n //add the properties that exits if there are such so they can be edited\r\n if (el.style.color) {\r\n currentListProperties.color = CkEditorCdListPropertiesPluginService.rgbToHex(el.style.color);\r\n }\r\n\r\n if (el.style.fontFamily) {\r\n currentListProperties.fontFamily = this.convertCssStyleToFamilySelectorModel(el.style.fontFamily);\r\n }\r\n\r\n if (el.style.fontSize) {\r\n currentListProperties.fontSize = el.style.fontSize;\r\n }\r\n\r\n if (el.style.fontWeight) {\r\n currentListProperties.isBold = (el.style.fontWeight === 'bold');\r\n }\r\n\r\n if (el.style.fontStyle) {\r\n currentListProperties.isItalic = (el.style.fontStyle === 'italic');\r\n }\r\n\r\n\r\n if (name === 'ol') {\r\n return { cdOrderedListPropertiesMenuItem: editor.CKEDITOR.TRISTATE_OFF };\r\n }\r\n\r\n if (name === 'ul') {\r\n return { cdUnorderedListPropertiesMenuItem: editor.CKEDITOR.TRISTATE_OFF };\r\n }\r\n }\r\n element = element.getParent();\r\n }\r\n return null;\r\n });\r\n }\r\n }\r\n}\r\n","import { CkEditorListPropertiesDialogComponent } from './ck-editor-list-properties-dialog.component';\r\nimport { DialogService, IDialogHandle } from '../dialogs/dialog.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../dialogs/base-dialog';\r\nimport { ICkEditorCdListPropertiesPluginService, IListPropertiesModel } from './ck-editor-cd-list-properties-plugin.interface';\r\n\r\ndeclare var CKEDITOR: any;\r\ntype ICommandDefinition = CKEDITOR.commandDefinition;\r\ntype CKEditor = CKEDITOR.editor;\r\n\r\nexport class CDListPropertiesCommand implements ICommandDefinition {\r\n constructor(private dialogService: DialogService,\r\n private plugin: ICkEditorCdListPropertiesPluginService) {\r\n }\r\n\r\n onOk(editor: CKEDITOR.editor, listProperties: IListPropertiesModel, listElement: any) {\r\n // clear the current style of the element and add the new styles as selected\r\n listElement.removeAttribute('style');\r\n\r\n listElement.style.color = listProperties.color ? listProperties.color : '';\r\n listElement.style.fontSize = listProperties.fontSize ? listProperties.fontSize : '';\r\n listElement.style.fontWeight = listProperties.isBold ? 'bold' : '';\r\n listElement.style.fontStyle = listProperties.isItalic ? 'italic' : '';\r\n\r\n if (!listProperties.isOrderedList) {\r\n if (listProperties.bulletType !== 'disc') {\r\n listElement.style.listStyleType = listProperties.bulletType;\r\n } else {\r\n listElement.style.listStyleType = '';\r\n }\r\n }\r\n\r\n if (listProperties.isOrderedList) {\r\n if (listProperties.orderedListType !== 'decimal') {\r\n listElement.style.listStyleType = listProperties.orderedListType;\r\n } else {\r\n listElement.style.listStyleType = '';\r\n }\r\n }\r\n\r\n if (listProperties.isOrderedList && listProperties.startFrom !== 1) {\r\n listElement.setAttribute('start', listProperties.startFrom);\r\n } else {\r\n listElement.removeAttribute('start');\r\n }\r\n\r\n // add the font manually to overcome spaces and the \" char added by the browser in the font name. does not work in outlook.\r\n if (listProperties.fontFamily) {\r\n let styleAttributeContent = listElement.getAttribute('style');\r\n let styleAttributeToAddFontTo = styleAttributeContent ? styleAttributeContent : '';\r\n styleAttributeToAddFontTo += ` font-family:${listProperties.fontFamily}; `;\r\n listElement.setAttribute('style', styleAttributeToAddFontTo);\r\n }\r\n }\r\n\r\n exec(editor: CKEditor, data?: Object): boolean {\r\n editor.focusManager.lock();\r\n\r\n let selection: any = editor.getSelection();\r\n let rangeOfSelectionBeforeDialog: CKEDITOR.dom.range = selection.getRanges()[0];\r\n\r\n this.plugin.zone.run(() => {\r\n\r\n let dialogHandle: IDialogHandle = this.dialogService.createDialog(CkEditorListPropertiesDialogComponent, {\r\n listProperties: this.plugin.currentListProperties,\r\n colorsPersistenceKey: this.plugin.presetColorsPersistenceKey\r\n });\r\n\r\n dialogHandle.onClose.subscribe((result: IDialogOnClose) => {\r\n if (result.reason === DialogCloseReason.OK) {\r\n let listProperties: IListPropertiesModel = result.data;\r\n this.onOk(editor, listProperties, this.plugin.listElement);\r\n }\r\n else {\r\n rangeOfSelectionBeforeDialog.select();\r\n }\r\n\r\n editor.focusManager.unlock();\r\n editor.focus();\r\n });\r\n\r\n });\r\n //indicate the the command was executed successfully\r\n return true;\r\n }\r\n}\r\n\r\n","import { Component } from '@angular/core';\r\nimport { DialogBase, DialogCloseReason } from '../dialogs/base-dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IListPropertiesModel } from './ck-editor-cd-list-properties-plugin.interface';\r\n\r\ninterface IBulletTypeItem {\r\n value: 'circle' | 'none' | 'disc' | 'square';\r\n text: string;\r\n}\r\n\r\ninterface INumberingTypeItem {\r\n value: 'lower-roman' | 'upper-roman' | 'lower-alpha' | 'upper-alpha' | 'decimal';\r\n text: string;\r\n}\r\n\r\n@Component({\r\n selector: 'ck-editor-list-color-dialog',\r\n templateUrl: './ck-editor-list-properties-dialog.html',\r\n})\r\nexport class CkEditorListPropertiesDialogComponent extends DialogBase {\r\n\r\n // these are just defaults we should be getting the data from the opener of this dialog\r\n listPropertiesModel: IListPropertiesModel = {\r\n isOrderedList: null,\r\n fontFamily: null,\r\n color: null,\r\n fontSize: null,\r\n isBold: false,\r\n isItalic: false,\r\n bulletType: null,\r\n startFrom: null,\r\n orderedListType: null\r\n };\r\n\r\n bulletsTypes: IBulletTypeItem[];\r\n numberingTypes: INumberingTypeItem[];\r\n\r\n persistenceKey: string;\r\n\r\n constructor(private translate: TranslateService ) {\r\n super();\r\n\r\n\r\n this.bulletsTypes = [\r\n {value: 'none', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.BULLETS_TYPE.NONE')},\r\n {value: 'circle', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.BULLETS_TYPE.CIRCLE')},\r\n {value: 'disc', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.BULLETS_TYPE.DISC')},\r\n {value: 'square', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.BULLETS_TYPE.SQUARE')}\r\n ];\r\n\r\n this.numberingTypes = [\r\n {value: 'lower-roman', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE.LOWER_ROMAN')},\r\n {value: 'upper-roman', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE.UPPER_ROMAN')},\r\n {value: 'lower-alpha', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE.LOWER_ALPHA')},\r\n {value: 'upper-alpha', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE.UPPER_ALPHA')},\r\n {value: 'decimal', text: this.translate.instant('COMMON.DIALOGS.LIST_PROPERTIES.NUMBERING_TYPE.DECIMAL')}\r\n ];\r\n }\r\n\r\n initDialog() {\r\n // assign the model that we go (if no values supplied the defaults take place)\r\n Object.assign(this.listPropertiesModel, this.extraData.listProperties);\r\n if (this.listPropertiesModel.bulletType === null) {\r\n this.listPropertiesModel.bulletType = 'disc';\r\n }\r\n\r\n if (this.listPropertiesModel.orderedListType === null) {\r\n this.listPropertiesModel.orderedListType = 'decimal';\r\n }\r\n\r\n\r\n this.persistenceKey= this.extraData.colorsPersistenceKey;\r\n\r\n }\r\n\r\n onOk() {\r\n super.close({ reason: DialogCloseReason.OK, data: this.listPropertiesModel });\r\n }\r\n\r\n onCancel() {\r\n super.close({ reason: DialogCloseReason.CANCEL, data: {} });\r\n }\r\n\r\n colorChanged(color: string) {\r\n this.listPropertiesModel.color = color;\r\n }\r\n\r\n toggleStyleBold() {\r\n this.listPropertiesModel.isBold = !this.listPropertiesModel.isBold;\r\n }\r\n\r\n toggleStyleItalic() {\r\n this.listPropertiesModel.isItalic = !this.listPropertiesModel.isItalic;\r\n }\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './ck-editor-cd-list-properties-plugin.interface';\r\nexport * from './ck-editor-cd-list-properties-plugin.module';\r\nexport * from './ck-editor-cd-list-properties-plugin.service';\r\nexport * from './ck-editor-list-properties-commands';\r\nexport * from './ck-editor-list-properties-dialog.component';\r\n// end:ng42.barrel\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CkEditorFetchWebPageContentPluginService } from './service/ck-editor-fetch-web-page-content-plugin.service';\r\nimport { FetchWebPageContentDialogComponent } from './fetch-web-page-content-dialog.component';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { WebPageContentApi } from './web-page-content.api';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, CommonDirectivesModule, TranslateModule.forChild()],\r\n declarations: [FetchWebPageContentDialogComponent],\r\n entryComponents: [FetchWebPageContentDialogComponent],\r\n providers: [\r\n CkEditorFetchWebPageContentPluginService, WebPageContentApi\r\n ]\r\n})\r\nexport class CkEditorFetchWebPageContentPluginModule {}\r\n","import { Component, Input } from '@angular/core';\r\nimport { animate, state, style, transition, trigger } from '@angular/animations';\r\nimport { DialogBase, DialogCloseReason } from '../dialogs/base-dialog';\r\nimport { WebPageContentApi, IWebPageOpenGraphData } from './web-page-content.api';\r\nimport { ErrorHandlingService } from '../http/error-handling.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'fetch-web-page-content-dialog',\r\n templateUrl: 'fetch-web-page-content-dialog.html',\r\n animations: [\r\n trigger('errorAnimation', [\r\n state('inactive', style({ opacity: 0 })),\r\n state('active', style({ opacity: 1 })),\r\n transition('inactive <=> active', animate('500ms'))\r\n ])\r\n ],\r\n})\r\nexport class FetchWebPageContentDialogComponent extends DialogBase {\r\n readonly fieldDefaultValue = '--';\r\n public lastValidationError: string;\r\n public errorState: string;\r\n public fetchingData = false;\r\n private validationErrorLabelTimeout: number;\r\n \r\n @Input() webPageUrl: string;\r\n\r\n constructor(\r\n private webPageContentApi: WebPageContentApi,\r\n public translate: TranslateService,\r\n public errorHandlingService: ErrorHandlingService\r\n ) {\r\n super();\r\n }\r\n\r\n public initDialog(): void {\r\n this.validationErrorLabelTimeout = 10000;\r\n this.lastValidationError = 'error placeholder'; // This is needed for better animation.\r\n this.errorState = 'inactive';\r\n this.webPageUrl = this.fieldDefaultValue;\r\n }\r\n\r\n public getTypeClass(): string {\r\n return 'input';\r\n }\r\n\r\n public onLinkChanged = (): void => {\r\n this.errorState = 'inactive';\r\n }\r\n\r\n private showValidationError = (): void => {\r\n this.errorState = 'active';\r\n }\r\n\r\n public submitForm = (value: unknown): void => this.onOk();\r\n\r\n public onOk = (): void => {\r\n this.lastValidationError = null;\r\n this.errorState = 'inactive';\r\n this.fetchingData = true;\r\n this.webPageContentApi.getWebPageContentData(this.webPageUrl)\r\n .pipe(finalize(() => this.fetchingData = false))\r\n .subscribe(\r\n (webPageContentData: IWebPageOpenGraphData) => {\r\n if (!webPageContentData.Title && !webPageContentData.Description) {\r\n this.lastValidationError = this.translate.instant('COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.ERRORS.NO_DATA_ON_PAGE');\r\n this.showValidationError();\r\n } else {\r\n this.close({ reason: DialogCloseReason.OK, data: {webPageContentData} });\r\n }\r\n },\r\n () => {\r\n this.lastValidationError = this.translate.instant('COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.ERRORS.INVALID_URL');\r\n this.showValidationError();\r\n }\r\n );\r\n }\r\n\r\n cancel = (): void => this.close({ reason: DialogCloseReason.CANCEL });\r\n\r\n}\r\n","// start:ng42.barrel\r\nexport * from './ck-editor-fetch-web-page-content.module';\r\nexport * from './service/ck-editor-fetch-web-page-content-plugin.service';\r\nexport * from './fetch-web-page-content-dialog.component';\r\nexport * from './web-page-content.api';\r\n// end:ng42.barrel\r\n\r\n","import { NgZone } from \"@angular/core\";\r\nimport { DialogCloseReason, IDialogOnClose } from \"../../../../lib/dialogs/base-dialog\";\r\nimport { DialogService } from \"../../../../lib/dialogs/dialog.service\";\r\nimport { IWebPageOpenGraphData } from \"../../../ck-editor-fetch-web-page-content-plugin\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { FetchWebPageContentDialogComponent } from \"../../fetch-web-page-content-dialog.component\";\r\nimport { Editor, ICommandDefinition, IScaledDimensions } from \"./cd-fetch-web-content-command.model\";\r\n\r\nexport class CDFetchWebContentCommand implements ICommandDefinition {\r\n public readMoreLinkCaption: string;\r\n private editor: Editor;\r\n\r\n constructor(\r\n private dialogService: DialogService,\r\n private translate: TranslateService,\r\n private zone: NgZone\r\n ) {\r\n this.readMoreLinkCaption = this.translate.instant('COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.READ_MORE');\r\n }\r\n\r\n public exec = (editor: Editor): boolean => {\r\n this.editor = editor;\r\n\r\n const selection = editor.getSelection();\r\n const rangeOfSelectionBeforeDialog = selection.getRanges()[0];\r\n editor.focusManager.lock();\r\n\r\n this.zone.run(() => {\r\n this.dialogService.createDialog(FetchWebPageContentDialogComponent)\r\n .onClose.subscribe(({ reason, data }: IDialogOnClose = {}) => {\r\n if (reason === DialogCloseReason.OK) {\r\n this.insertElementsFromOpenGraph({ ...data.webPageContentData }, (window as any).selectedBlock.width)\r\n } else {\r\n rangeOfSelectionBeforeDialog.select();\r\n }\r\n editor.focusManager.unlock();\r\n editor.focus();\r\n });\r\n });\r\n return true;\r\n }\r\n\r\n private insertElementsFromOpenGraph = ({ Title, ImageUrl, Description, Link, ImageHeight, ImageWidth }: IWebPageOpenGraphData, maxWidth: string, insertImage = (document.getElementById(\"image-checkbox-id\") as HTMLInputElement).checked) => {\r\n const targetWidth = +`${maxWidth}`.replace(/[a-zA-Z]+/g, '');\r\n this.whenAvailable(Title, () => this.insert(`
${Title}
`));\r\n if (insertImage) {\r\n this.whenAvailable(ImageUrl || Description, () => this.insert(`


`));\r\n this.whenAvailable(ImageUrl, () => {\r\n const { width, height } = this.scaleDimensions(ImageHeight, ImageWidth, targetWidth);\r\n this.insert(``);\r\n });\r\n }\r\n this.whenAvailable(Description, () => this.insert(`

${Description}

`));\r\n this.whenAvailable(Link, () => {\r\n this.insert(`


`);\r\n this.insert(`

${this.readMoreLinkCaption}

`);\r\n });\r\n }\r\n\r\n private whenAvailable = (value: unknown, callback: () => void): void => (value && callback());\r\n\r\n private insert = (htmlString: string): void => {\r\n this.editor.insertElement(CKEDITOR.dom.element.createFromHtml(htmlString));\r\n }\r\n\r\n private scaleDimensions = (imageHeight: number, imageWidth: number, targetWidth = 536 /*Max layout width - padding*/): IScaledDimensions => {\r\n targetWidth = targetWidth > 536 ? 536: targetWidth;\r\n let width = imageWidth, height = imageHeight, ratio;\r\n\r\n ratio = targetWidth / width;\r\n height = Math.round(height * ratio);\r\n width = Math.round(width * ratio);\r\n\r\n return { width, height };\r\n }\r\n}\r\n","import { DialogService } from '../../dialogs/dialog.service';\r\nimport { Injectable, NgZone } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { HttpService } from '../../http/http.service';\r\nimport { IPluginDefinition } from './ck-editor-fetch-web-page-content-plugin.service.model';\r\nimport { CDFetchWebContentCommand } from './cd-fetch-web-content-command/cd-fetch-web-content-command';\r\nimport { Editor } from './cd-fetch-web-content-command/cd-fetch-web-content-command.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CkEditorFetchWebPageContentPluginService implements IPluginDefinition {\r\n readonly toolbarTooltipCaption: string;\r\n\r\n constructor(\r\n private dialogService: DialogService,\r\n public zone: NgZone,\r\n public httpService: HttpService,\r\n private translate: TranslateService\r\n ) {\r\n this.toolbarTooltipCaption = translate.instant('COMMON.DIALOGS.FETCH_WEB_PAGE_CONTENT.CK_EDITOR_BUTTON_TOOLTIP');\r\n CKEDITOR.plugins.add('cd-fetch-web-page-content', this);\r\n }\r\n\r\n init(editor: Editor): void {\r\n editor.addCommand('fetchWebPageContentData', new CDFetchWebContentCommand(this.dialogService, this.translate, this.zone));\r\n\r\n if (editor.ui.addButton) {\r\n editor.ui.addButton('CdFetchWebPageContent', {\r\n icon: `/assets/images/importweb.png`,\r\n label: this.toolbarTooltipCaption,\r\n command: 'fetchWebPageContentData',\r\n toolbar: 'clickDimensionsActions'\r\n });\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpService } from '../http/http.service';\r\nimport { ApiEndpointService } from '../services/api-endpoint.service';\r\n\r\nexport enum WebPageOpenGraphResponseStatus {\r\n success,\r\n invalidUrl,\r\n cannotGetPage,\r\n cannotGetImage,\r\n fileSizeExceeded,\r\n storageQuotaExceeded,\r\n cannotSaveImage\r\n}\r\n\r\nexport interface IWebPageOpenGraphImageDetails {\r\n FileName: string;\r\n FileId: string;\r\n ImageType: string;\r\n ImageUrl: string;\r\n ImageWidth: number;\r\n ImageHeight: number;\r\n ImageAltText: string;\r\n}\r\n\r\nexport interface IWebPageOpenGraphData extends IWebPageOpenGraphImageDetails {\r\n Status: WebPageOpenGraphResponseStatus;\r\n Title: string;\r\n Description: string;\r\n Link: string;\r\n}\r\n\r\n@Injectable()\r\nexport class WebPageContentApi {\r\n constructor(private httpService: HttpService, private apiEndpoint: ApiEndpointService) {}\r\n\r\n getWebPageContentData(webPageUrl: string): Observable {\r\n //we use post here since we need to pass a url that could be large and to avoid encoding the url to the query string(url within a url)\r\n return this.httpService.post({ webPageUrl }, this.apiEndpoint.WebPageContentUrl);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { CkEditorInsertImagePluginService } from './ck-editor-insert-image-plugin.service';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, TranslateModule.forChild()],\r\n declarations: [],\r\n entryComponents: [],\r\n providers: [CkEditorInsertImagePluginService]\r\n})\r\nexport class CkEditorInsertImagePluginModule {\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport IPluginDefinition = CKEDITOR.plugins.IPluginDefinition;\r\nimport { DialogService, IDialogHandle } from '../dialogs/dialog.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport editor = CKEDITOR.editor;\r\nimport { ImageManagerDialogComponent } from '../file-manager/manager-dialog/image-manager-dialog.component';\r\nimport { DialogCloseReason, IDialogOnClose } from '../dialogs/base-dialog';\r\nimport { IImageFile } from '../interfaces/files.interface';\r\n\r\n@Injectable({ providedIn: 'root' }) //consume this service as Injectable so we could have the translation service injected to it.\r\nexport class CkEditorInsertImagePluginService implements IPluginDefinition {\r\n static imageLinkEnabled: boolean = true;\r\n\r\n toolbarTooltipCaption: string;\r\n\r\n constructor(\r\n private dialogService: DialogService,\r\n public zone: NgZone,\r\n private translate: TranslateService\r\n ) {\r\n this.toolbarTooltipCaption = this.translate.instant('COMMON.CK_EDITOR_INSERT_IMAGE_PLUGIN.CK_EDITOR_BUTTON_LABEL');\r\n CKEDITOR.plugins.add('cd-insert-image', this);\r\n //followed this link that helped me a lot https://gist.github.com/kevinchampion/5355372\r\n CKEDITOR.on('dialogDefinition', function (ev: any) {\r\n let dialogName = ev.data.name;\r\n let dialogDefinition = ev.data.definition;\r\n\r\n switch (dialogName) {\r\n case 'image': //Image Properties dialog\r\n dialogDefinition.removeContents('advanced');\r\n if (!CkEditorInsertImagePluginService.imageLinkEnabled) {\r\n dialogDefinition.removeContents('Link');\r\n }\r\n var inforTab = dialogDefinition.getContents('info');\r\n inforTab.elements[0].children[0].children.forEach((child: any) => {\r\n child.hidden = true;\r\n });\r\n break;\r\n }\r\n });\r\n }\r\n\r\n init(editor: editor): any {\r\n let pluginInstance = this;\r\n\r\n editor.addCommand('cdInsertImageCommand', {\r\n exec: (editor: editor) => {\r\n pluginInstance.zone.run(() => {\r\n let dialogHandle: IDialogHandle;\r\n dialogHandle = this.dialogService.createDialog(ImageManagerDialogComponent);\r\n\r\n dialogHandle.onClose.subscribe((result: IDialogOnClose) => {\r\n\r\n if (result.reason === DialogCloseReason.OK) {\r\n let resultImageFile: IImageFile = result.data.selectedFile as IImageFile;\r\n\r\n // var imageSrcUrl = e.sender.originalElement.$.src;\r\n // var width = e.sender.originalElement.$.width;\r\n // var height = e.sender.originalElement.$.height;\r\n var imgHtml = CKEDITOR.dom.element.createFromHtml(\r\n ``\r\n );\r\n\r\n editor.insertElement(imgHtml);\r\n }\r\n });\r\n\r\n });\r\n return true;\r\n }\r\n });\r\n\r\n if (editor.ui.addButton) {\r\n editor.ui.addButton('CdInsertImage', {\r\n label: this.toolbarTooltipCaption,\r\n command: 'cdInsertImageCommand',\r\n toolbar: 'clickDimensionsActions',\r\n icon: `/assets/images/image-place-holder-icon.png`\r\n });\r\n }\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './ck-editor-insert-image-plugin.module';\r\nexport * from './ck-editor-insert-image-plugin.service';\r\n// end:ng42.barrel\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { PersonalizationDialogComponent } from './personalization-dialog-component';\r\nimport { CkEditorPersonalizationPluginService } from './ck-editor-personalization-plugin.service';\r\nimport { PersonalizationComponentApi } from './personalization.api';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { CommonComponentsModule } from '../components/common-components.module';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, TranslateModule.forChild(), CommonDirectivesModule, CommonComponentsModule],\r\n declarations: [PersonalizationDialogComponent],\r\n entryComponents: [PersonalizationDialogComponent],\r\n providers: [\r\n CkEditorPersonalizationPluginService, PersonalizationComponentApi\r\n ]\r\n})\r\nexport class CkEditorPersonalizationPluginModule {\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { DialogService, IDialogHandle } from '../dialogs/dialog.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../dialogs/base-dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport editor = CKEDITOR.editor;\r\nimport IPluginDefinition = CKEDITOR.plugins.IPluginDefinition;\r\nimport { PersonalizationDialogComponent } from './personalization-dialog-component';\r\n\r\n@Injectable({ providedIn: 'root' }) //consume this service as Injectable so we could have the translation service injected to it.\r\nexport class CkEditorPersonalizationPluginService implements IPluginDefinition {\r\n\r\n toolbarTooltipCaption: string;\r\n\r\n constructor(private dialogService: DialogService,\r\n public zone: NgZone,\r\n private translate: TranslateService\r\n ) {\r\n this.toolbarTooltipCaption = this.translate.instant('COMMON.DIALOGS.PERSONALIZATION.CK_EDITOR_BUTTON_LABEL');\r\n CKEDITOR.plugins.add('cd-personalization', this);\r\n }\r\n\r\n init(editor: editor): any {\r\n\r\n editor.addCommand('personalizationCommand', {\r\n exec: (editor: any) => {\r\n this.openPersonalizationDialog(editor);\r\n return true;\r\n }\r\n });\r\n\r\n if (editor.ui.addButton) {\r\n editor.ui.addButton('CdPersonalization', {\r\n label: this.toolbarTooltipCaption,\r\n command: 'personalizationCommand',\r\n toolbar: 'clickDimensionsActions',\r\n icon: `/assets/common-lib/images/person-silhouette.png`\r\n });\r\n }\r\n }\r\n\r\n openPersonalizationDialog(editor: editor) {\r\n let selection = editor.getSelection();\r\n let range = selection.getRanges()[0];\r\n editor.focusManager.lock();\r\n\r\n let dialogHandle: IDialogHandle = this.dialogService.createDialog(PersonalizationDialogComponent);\r\n dialogHandle.onClose.subscribe((result: IDialogOnClose) => {\r\n if (result.reason === DialogCloseReason.OK) {\r\n editor.insertText(result.data);\r\n }\r\n\r\n editor.focusManager.unlock();\r\n\r\n let pCon = range.startContainer.getAscendant({ p: 2 }, true);\r\n if (pCon) {\r\n let newRange: CKEDITOR.dom.range = new CKEDITOR.dom.range(range.document);\r\n newRange.moveToPosition(pCon, CKEDITOR.POSITION_BEFORE_START);\r\n newRange.select();\r\n }\r\n\r\n editor.focus();\r\n });\r\n }\r\n}\r\n","export class CRMAttribute {\r\n constructor(public name: string, public freemarker: string, public childAttributes: CRMAttribute[]) {}\r\n}\r\n\r\nexport enum CRMEntity {\r\n Contact,\r\n Lead,\r\n Account,\r\n Owner,\r\n EmailSend\r\n}\r\n\r\nexport class PersonalizationEntity {\r\n name: string;\r\n entity: CRMEntity;\r\n}\r\n","// start:ng42.barrel\r\nexport * from './ck-editor-personalization-plugin.module';\r\nexport * from './ck-editor-personalization-plugin.service';\r\nexport * from './crm-attribute';\r\nexport * from './personalization-dialog-component';\r\nexport * from './personalization.api';\r\n// end:ng42.barrel\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DialogBase, DialogCloseReason } from '../dialogs/base-dialog';\r\nimport { CRMAttribute, CRMEntity, PersonalizationEntity } from './crm-attribute';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PersonalizationComponentApi } from './personalization.api';\r\nimport { Logger } from '../monitoring/logger/logger';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'personalization-dialog',\r\n templateUrl: './personalization-dialog.html'\r\n})\r\nexport class PersonalizationDialogComponent extends DialogBase implements OnInit {\r\n\r\n private contactAttributes: CRMAttribute[];\r\n private leadAttributes: CRMAttribute[];\r\n private accountAttributes: CRMAttribute[];\r\n private ownerAttributes: CRMAttribute[];\r\n private emailSendAttributes: CRMAttribute[];\r\n private noneText: string;\r\n\r\n public isLoading: boolean = true;\r\n public personalizationType: CRMEntity = CRMEntity.Contact;\r\n public personalizationTypes: PersonalizationEntity[] = [];\r\n public personalizationAttribute: CRMAttribute;\r\n public childAttribute: CRMAttribute;\r\n public selectedAttributes: CRMAttribute[];\r\n public selectedChildAttributes: CRMAttribute[];\r\n public showChildAttributes: boolean = false;\r\n\r\n constructor(private personalizationComponentApi: PersonalizationComponentApi,\r\n private logger: Logger,\r\n private translate: TranslateService) {\r\n super();\r\n\r\n this.noneText = translate.instant('COMMON.DIALOGS.PERSONALIZATION.NONE');\r\n\r\n this.personalizationTypes = [\r\n { name: translate.instant('COMMON.DIALOGS.PERSONALIZATION.PERSONALIZATION_TYPES_CONTACT'), entity: CRMEntity.Contact },\r\n { name: translate.instant('COMMON.DIALOGS.PERSONALIZATION.PERSONALIZATION_TYPES_LEAD'), entity: CRMEntity.Lead },\r\n { name: translate.instant('COMMON.DIALOGS.PERSONALIZATION.PERSONALIZATION_TYPES_ACCOUNT'), entity: CRMEntity.Account },\r\n { name: translate.instant('COMMON.DIALOGS.PERSONALIZATION.PERSONALIZATION_TYPES_OWNER'), entity: CRMEntity.Owner },\r\n { name: translate.instant('COMMON.DIALOGS.PERSONALIZATION.PERSONALIZATION_TYPES_EMAIL_SEND'), entity: CRMEntity.EmailSend }\r\n ];\r\n }\r\n\r\n private setLoading(isLoading: boolean) {\r\n this.isLoading = isLoading;\r\n }\r\n\r\n public close() {\r\n super.close({ reason: DialogCloseReason.CANCEL });\r\n }\r\n\r\n public addPersonalization() {\r\n const freemarker = (this.showChildAttributes) ? this.childAttribute.freemarker : this.personalizationAttribute.freemarker;\r\n super.close({ reason: DialogCloseReason.OK, data: freemarker });\r\n }\r\n\r\n public refresh() {\r\n this.showChildAttributes = false;\r\n this.personalizationType = CRMEntity.Contact;\r\n this.setLoading(true);\r\n this.getPersonalizationAttributesFromServer();\r\n }\r\n\r\n private getPersonalizationAttributes(): Observable {\r\n return this.personalizationComponentApi.getPersonalizationAttributes();\r\n }\r\n\r\n public setPersonalizationAttributes(): void {\r\n switch (Number(this.personalizationType)) {\r\n case CRMEntity.Contact:\r\n this.selectedAttributes = this.contactAttributes;\r\n break;\r\n case CRMEntity.Lead:\r\n this.selectedAttributes = this.leadAttributes;\r\n break;\r\n case CRMEntity.Account:\r\n this.selectedAttributes = this.accountAttributes;\r\n break;\r\n case CRMEntity.Owner:\r\n this.selectedAttributes = this.ownerAttributes;\r\n break;\r\n case CRMEntity.EmailSend:\r\n this.selectedAttributes = this.emailSendAttributes;\r\n break;\r\n }\r\n\r\n if (this.selectedAttributes) {\r\n this.personalizationAttribute = this.selectedAttributes[0];\r\n }\r\n }\r\n\r\n public setChildAttributes(): void {\r\n this.showChildAttributes = false;\r\n\r\n this.selectedChildAttributes = this.personalizationAttribute.childAttributes.map((attr: any) => new CRMAttribute(attr.Label, attr.Value, attr.ChildAttributes));\r\n\r\n if (this.selectedChildAttributes.length > 1) {\r\n this.selectedChildAttributes.sort(function (a, b) {\r\n return a.name.toLowerCase().localeCompare(b.name.toLowerCase());\r\n });\r\n \r\n this.selectedChildAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n \r\n this.childAttribute = this.selectedChildAttributes[0];\r\n \r\n this.showChildAttributes = true;\r\n }\r\n }\r\n\r\n private handleGetPersonalizationAttributesResult(res: any) {\r\n if (res) {\r\n if (res.Contacts) {\r\n this.contactAttributes = res.Contacts.map((contactAttr: any) => new CRMAttribute(contactAttr.Label, contactAttr.Value, contactAttr.ChildAttributes));\r\n this.contactAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n }\r\n if (res.Leads) {\r\n this.leadAttributes = res.Leads.map((leadAttr: any) => new CRMAttribute(leadAttr.Label, leadAttr.Value, leadAttr.ChildAttributes));\r\n this.leadAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n }\r\n if (res.Accounts) {\r\n this.accountAttributes = res.Accounts.map((accountAttr: any) => new CRMAttribute(accountAttr.Label, accountAttr.Value, accountAttr.ChildAttributes));\r\n this.accountAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n }\r\n if (res.Senders) {\r\n this.ownerAttributes = res.Senders.map((ownerAttr: any) => new CRMAttribute(ownerAttr.Label, ownerAttr.Value, ownerAttr.ChildAttributes));\r\n this.ownerAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n }\r\n if (res.MailSend) {\r\n this.emailSendAttributes = res.MailSend.map((emailSendAttr: any) => new CRMAttribute(emailSendAttr.Label, emailSendAttr.Value, emailSendAttr.ChildAttributes));\r\n this.emailSendAttributes.splice(0, 0, new CRMAttribute(this.noneText, '', null));\r\n }\r\n\r\n this.setPersonalizationAttributes();\r\n }\r\n }\r\n\r\n private handleGetPersonalizationAttributesError(error: any) {\r\n this.logger.error(`error in get personalization attributes from server: ${error.originalError || error}`);\r\n }\r\n\r\n private getPersonalizationAttributesFromServer() {\r\n this.getPersonalizationAttributes()\r\n .pipe(finalize(() => this.setLoading(false)))\r\n .subscribe((data) => this.handleGetPersonalizationAttributesResult(data),\r\n (err) => {\r\n this.handleGetPersonalizationAttributesError(err);\r\n });\r\n }\r\n\r\n public ngOnInit() {\r\n this.getPersonalizationAttributesFromServer();\r\n }\r\n}\r\n","\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { HttpService } from '../http/http.service';\r\nimport { AccountService } from '../services/account.service';\r\nimport { ApiEndpointService } from '../services/api-endpoint.service';\r\n\r\n@Injectable()\r\nexport class PersonalizationComponentApi {\r\n constructor(\r\n private httpService: HttpService,\r\n private apiEndpoint: ApiEndpointService,\r\n private accountService: AccountService\r\n ) {}\r\n\r\n public getPersonalizationAttributes() {\r\n // console.log('about to get personalization');\r\n // return this.httpService\r\n // .get('assets/personalization-faker.json')\r\n // .pipe(delay(100));\r\n return this.httpService.get(this.apiEndpoint.PersonalAttributesUrl, false, {\r\n headers: { accountKey: this.accountService.accountKey },\r\n });\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\r\n\r\nimport { ColorPickerModule } from './angular2-color-picker/color-picker.module';\r\nimport {\r\n CkEditorCdListPropertiesPluginModule\r\n} from './ck-editor-cd-list-properties-plugin/ck-editor-cd-list-properties-plugin.module';\r\nimport {\r\n CkEditorFetchWebPageContentPluginModule\r\n} from './ck-editor-fetch-web-page-content-plugin/ck-editor-fetch-web-page-content.module';\r\nimport { CkEditorInsertImagePluginModule } from './ck-editor-insert-image-plugin/ck-editor-insert-image-plugin.module';\r\nimport {\r\n CkEditorPersonalizationPluginModule\r\n} from './ck-editor-personalization-plugin/ck-editor-personalization-plugin.module';\r\nimport { CommonComponentsModule } from './components/common-components.module';\r\nimport { CdDateTimePickerModule } from './components/date-time-picker/cd-date-time-picker.module';\r\nimport { ConditionsModule } from './conditions/conditions.module';\r\nimport { CrmEntitiesService } from './crm-entities/crm-entities.service';\r\nimport { DialogModule } from './dialogs/dialogs.module';\r\nimport { CommonDirectivesModule } from './directives/common-directives.module';\r\nimport { FileManagerModule } from './file-manager/file-manager.module';\r\nimport { HttpModule } from './http/http.module';\r\nimport { LookupDialogModule } from './lookup-dialog-component/lookup-dialog.module';\r\nimport { LOG_LOGGER_PROVIDERS } from './monitoring/logger/providers';\r\nimport { CommonPipesModule } from './pipes/common-pipes.module';\r\nimport { ImageEditorService } from './services/image-editor.service';\r\nimport {\r\n AccountService, AppStateService, CommonServicesModule, FeatureflagService, FeatureflagServiceV2,\r\n GlobalUiPersistenceService, InboxPreviewService\r\n} from './services/index';\r\nimport { WebContentDataApi } from './services/web-content-data.api';\r\nimport { WebContentDataService } from './services/web-content-data.service';\r\nimport { ApiModule } from './typescript-angular-client/api.module';\r\nimport { Configuration } from './typescript-angular-client/configuration';\r\n\r\nconst modulesImportedAndExported = [\r\n CommonPipesModule,\r\n CommonComponentsModule,\r\n CommonDirectivesModule,\r\n DialogModule,\r\n CdDateTimePickerModule,\r\n HttpModule,\r\n ColorPickerModule,\r\n CkEditorCdListPropertiesPluginModule,\r\n CkEditorPersonalizationPluginModule,\r\n CkEditorFetchWebPageContentPluginModule,\r\n CkEditorInsertImagePluginModule,\r\n FileManagerModule,\r\n ConditionsModule,\r\n LookupDialogModule,\r\n CommonServicesModule,\r\n];\r\n\r\nexport function DumbApiConfiguration(): Configuration {\r\n return null;\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n /*CommonLibComponent*/\r\n ],\r\n imports: [\r\n ...modulesImportedAndExported,\r\n ApiModule.forRoot(DumbApiConfiguration),\r\n ],\r\n exports: modulesImportedAndExported,\r\n providers: [\r\n WebContentDataService,\r\n WebContentDataApi,\r\n AppStateService,\r\n InboxPreviewService,\r\n CrmEntitiesService,\r\n GlobalUiPersistenceService,\r\n FeatureflagService,\r\n FeatureflagServiceV2,\r\n AccountService,\r\n LOG_LOGGER_PROVIDERS,\r\n ImageEditorService,\r\n ],\r\n})\r\nexport class CommonLibModule {\r\n constructor(@Optional() @SkipSelf() parentModule: CommonLibModule) {\r\n if (parentModule) {\r\n throw new Error(\r\n 'CommonLibModule is already loaded. Import it in the AppModule only'\r\n );\r\n }\r\n }\r\n\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CommonLibModule,\r\n };\r\n }\r\n}\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before, .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\ninput.cds-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0 {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\ninput.cds-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:hover, input.cds-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\ninput.cds-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\ninput.cds-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n.cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n.cds-btn:hover {\\n cursor: pointer; }\\n.cds-btn:focus {\\n outline: none; }\\n.cds-btn:active {\\n outline: none; }\\n.cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n.cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n.cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n.cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n.cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n.cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n.cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n.cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n.cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n.cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n.cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n.cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n.cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n.cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-inline-toolbar {\\n display: flex; }\\n.cds-dialog-heading-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 30px;\\n line-height: 40px; }\\n.cds-dialog-heading-subtitle {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 16px;\\n line-height: 24px; }\\n.cds-form-horizontal-separator {\\n height: 2px;\\n background-color: #92a1b5; }\\n.cds-form-horizontal-separator-small {\\n height: 1px;\\n background-color: #92a1b5; }\\n.pink-input {\\n border: 1px solid #e31a51 !important;\\n color: #e31a51 !important; }\\n.pink-input::-moz-placeholder {\\n color: #e31a51 !important; }\\n.pink-input:-ms-input-placeholder {\\n color: #e31a51 !important; }\\n.pink-input::placeholder {\\n color: #e31a51 !important; }\\n.cds-form-section-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 24px;\\n color: #173357; }\\n.w-auto {\\n width: auto; }\\n.cds-form-fields-container {\\n display: flex;\\n flex-direction: column; }\\n.cds-form-fields-container .cds-validation {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #df2255; }\\n.cds-form-fields-container .cds-form-label-input-container, .cds-form-fields-container .cds-form-label-input-container-col {\\n display: flex;\\n flex-direction: row; }\\n.cds-form-fields-container .cds-form-label-input-container-col {\\n flex-direction: column; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 20px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 0px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n min-width: 240px;\\n margin: auto 0;\\n font-size: 14px;\\n color: #173357;\\n flex-shrink: 0; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label.cds-disabled-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label.cds-disabled-label {\\n color: #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:disabled {\\n box-shadow: none;\\n outline: none;\\n border: 1px solid #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly'] {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n padding: 0;\\n pointer-events: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:focus {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.mt-15 {\\n margin-top: 15px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.tooltip {\\n flex: 0 0 auto;\\n width: 36px;\\n height: 36px;\\n padding: 6px 5px 5px 6px;\\n position: relative; }\\n.tooltip img {\\n height: 25px; }\\n.validation-message-row {\\n margin-left: 260px;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n display: flex;\\n align-items: center;\\n color: #df2255; }\\n.tooltip .tooltiptext, .tooltip .tooltiptext-right {\\n top: 30px;\\n left: -255px;\\n visibility: hidden;\\n width: 299px;\\n background: #ebecf0;\\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);\\n position: absolute;\\n z-index: 10;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n color: #173357;\\n line-height: 24px; }\\n.tooltip .tooltiptext-right {\\n left: 0px; }\\n.tooltip .tooltiptext.show-above, .tooltip .show-above.tooltiptext-right {\\n top: auto;\\n bottom: 125%;\\n left: 50%;\\n margin-left: -60px; }\\n.tooltip:hover .tooltiptext, .tooltip:hover .tooltiptext-right {\\n visibility: visible;\\n white-space: pre-wrap;\\n text-align: left;\\n padding: 15px 19px 7px 19px; }\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before, .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\ninput.cds-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0 {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\ninput.cds-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:hover, input.cds-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\ninput.cds-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\ninput.cds-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n.cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n.cds-btn:hover {\\n cursor: pointer; }\\n.cds-btn:focus {\\n outline: none; }\\n.cds-btn:active {\\n outline: none; }\\n.cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n.cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n.cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n.cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n.cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n.cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n.cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n.cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n.cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n.cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n.cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n.cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n.cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n.cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-inline-toolbar {\\n display: flex; }\\n#cert-file-text {\\n border: 1px solid #92a1b5; }\\n#typ-of-creds-label {\\n font-weight: 700;\\n width: auto;\\n min-width: auto;\\n margin-right: 5px;\\n margin-top: 25px;\\n margin-bottom: 25px; }\\n#cds-certificate-label {\\n width: auto;\\n min-width: auto;\\n margin-right: 5px;\\n margin-bottom: 0px; }\\n#cds-inline-tooltip {\\n padding-top: 0px;\\n padding-bottom: 0px;\\n height: 25px; }\\n#cds-optional-right {\\n margin-left: auto;\\n text-align: right;\\n min-width: 0px; }\\n#cds-mar-left-35 {\\n margin-left: 37px; }\\n/deep/ #cds-simple-upload-button {\\n white-space: nowrap;\\n height: 100%;\\n margin-left: 10px; }\\n/deep/ body .ui-dropdown {\\n width: 100%; }\\n/deep/ body .ui-tabmenu {\\n padding-bottom: 15px; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav {\\n border: none; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem:not(.ui-state-active):not(.ui-state-disabled):hover {\\n background-color: transparent;\\n border: none; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem {\\n background-color: transparent;\\n border: none;\\n margin-right: 14px; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem .ui-menuitem-link {\\n padding-left: 0px;\\n padding-right: 0px; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem .ui-menuitem-link .ui-menuitem-text {\\n font-size: 14px;\\n color: #173357;\\n margin-right: 0px; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active {\\n background-color: transparent;\\n border: none; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active .ui-menuitem-link {\\n border-bottom: 2px solid #0b8be3; }\\n/deep/ body .ui-tabmenu .ui-tabmenu-nav .ui-tabmenuitem.ui-state-active .ui-menuitem-link .ui-menuitem-text {\\n color: #173357;\\n font-weight: 700; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FwcC11c2VyLWZvcm0vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxiYXNlXFx0eXBvZ3JhcGh5LnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9hcHAtdXNlci1mb3JtL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGFzc2V0c1xcZm9udHNcXGljb25zZm9udFxcaWNvbnNmb250LmNzcyIsInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FwcC11c2VyLWZvcm0vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxpbnB1dC5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYXBwLXVzZXItZm9ybS9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyIsInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2FwcC11c2VyLWZvcm0vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxmb3JtLWVsZW1lbnRzLWVsZW1lbnRzLnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9hcHAtdXNlci1mb3JtL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGxpYlxcY29tcG9uZW50c1xcYXBwLXVzZXItZm9ybVxcYXBwLXVzZXItZm9ybS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxvSkFBWTtBQUFaLG9KQUFZO0FBQVosb0pBQVk7QUNIWjtFQUNDLHdCQUF3QjtFQUN4QiwrREFBK0Q7RUFDL0Qsa1VBR21GLEVBQUE7QUFHcEY7RUFDQyx3QkFBd0I7RUFDdkIsbUNBQW1DO0VBQ25DLGtDQUFrQztFQUNuQyxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiwyRkFBQTtFQUNBLHFCQUFxQjtFQUNyQixvQkFBb0IsRUFBQTtBQUlyQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFB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QUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdq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Zm9ybS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2NvbG9yLXBhbGV0dGUnO1xyXG5cclxuLy8gT3BlbiBTYW5zIEZvbnQgRmFtaWx5XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw2MDA7MCw3MDA7MCw4MDA7MSwzMDA7MSw0MDA7MSw2MDA7MSw3MDA7MSw4MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWxpZ2h0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtcmVndWxhciB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLXNlbWlib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nc1xyXG5AbWl4aW4gaGVhZGluZy0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLy8gQm9keSBUZXh0XHJcbkBtaXhpbiBib2R5LXRleHQtMSB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTE7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTI7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMyB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTM7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtNCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtNDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTGlua3NcclxuQG1peGluIGxpbmsge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGFibGUgaGVhZGVyc1xyXG5AbWl4aW4gdGFibGUtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXRleHQ7XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1ib2R5IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG4iLCJAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcclxuXHRzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxJyk7XHJcblx0c3JjOiB1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMSNpZWZpeCcpIGZvcm1hdCgnZW90JyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC53b2ZmPzE2MzczMzA2NTU0MjEnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnR0Zj8xNjM3MzMwNjU1NDIxJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuc3ZnPzE2MzczMzA2NTU0MjEjaWNvbnNmb250JykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuLmljb24tY2RzOmJlZm9yZSB7XHJcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcblxyXG4uaWNvbi1jZHMtYWxsb3ctc2VuZGluZy1lbWFpbHM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1idXR0b24tYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2FsZW5kYXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2hlY2ttYXJrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNoZWNrbWFyazI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xpY2tkLWxvZ286YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY29sbGFwc2VkLXRpdGxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvbmRpdGlvbmFsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvcHktY29udGVudDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtbGVhZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtdGFzay1hY3Rpdml0eTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcm9zczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1kZXNrdG9wOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWR1cGxpY2F0ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lZGl0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVsbGlwc2lzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXNlbmRzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0xOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0zOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMThcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci00OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci01OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVudmVsb3BlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVycm9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMURcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LWF0dGVuZGVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LW1pc3NlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ldmVudC1yZWdpc3RlcmVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV4cGFuZC10aXRsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leHBvcnQtZmlsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leWUtY2hlY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXllOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWZhdm9yaXRlczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1maWx0ZXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZnVsbC1zY3JlZW46YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZ3JvdXAtYW5kOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWdyb3VwLW9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWh0bWwtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaHRtbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZS1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZXRleHQtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5ib3g6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5mbzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1saW5rLWltYWdlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWxpbms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb2JpbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbW9yZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb3ZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXBsYXktdmlkZW86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcGx1cy1pbi1jaXJjbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcG9zdGVkLXN1cnZleXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcHJldmlldy1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wcmV2aWV3OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0FcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXByaW50OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0JcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlYWN0aXZhdGUtY29udGFjdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZWZyZXNoOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0RcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlbW92ZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZW1vdmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVtb3ZlZC1mcm9tLWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0MFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVwbGFjZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlLWFzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmUtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0M1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZS10by1teS10ZW1wbGF0ZXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zY29yZS1zdmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2NvcmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0N1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2VuZC1zbXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0OFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29jaWFsLWxpbmtzLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvY2lhbC1saW5rczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb2NpYWwtc2hhcmUtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0QlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3BhY2VyLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXN1Ym1pdHRlZC1zdWJzY3JpcHRpb246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1cnZleTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zdWNjZXNzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRlbXBsYXRlLWxpYnJhcnk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1MlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGVzdC1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZXN0LXByZXZpZXc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGV4dC1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1OVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1Q1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1RVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA2MFwiO1xyXG59XHJcblxyXG5cciIsIkBpbXBvcnQgJy4uL2Jhc2UvY29sb3ItcGFsZXR0ZS5zY3NzJztcclxuQGltcG9ydCAnLi4vYmFzZS90eXBvZ3JhcGh5LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL2ljb25zZm9udCc7XHJcblxyXG5pbnB1dC5jZHMtaW5wdXQge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiA3cHggMjBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6cmVhZC1vbmx5IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xyXG4gICAgJjo6Zmlyc3QtbGluZSB7XHJcbiAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jZHMtYnRuIHtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDVweCAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIG1pbi13aWR0aDogNjBweDtcclxuICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcbi5jZHMtdG9nZ2xlLW1lbnUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcblxyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcbn1cclxuLmNkcy1kYXJrLWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTE7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWxpZ2h0LWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICB9XHJcbiAgLmNkcy1pY29uOjpiZWZvcmUge1xyXG4gICAgQGV4dGVuZCAuaWNvbi1jZHMtdHJpYW5nbGUtZG93bjpiZWZvcmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdpY29uc2ZvbnQnO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gIH1cclxuXHJcbiAgLy8gJjpmb2N1cyB7XHJcbiAgLy8gICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICAvLyB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1pbmxpbmUtdG9vbGJhciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG4iLCIvLyBQcmltYXJ5IENvbG9yc1xyXG4kcHJpbWFyeS1waW5rOiAjZTMxYTUxO1xyXG4kcHJpbWFyeS1ibHVlOiAjMTUzMjU4O1xyXG5cclxuLy8gU2Vjb25kYXJ5IENvbG9yc1xyXG4kc2Vjb25kYXJ5LWdyYXktMTogIzI4MzU0MTtcclxuJHNlY29uZGFyeS1ncmF5LTI6ICM2MTcwODI7XHJcbiRzZWNvbmRhcnktZ3JheS0zOiAjOTJhMWI1O1xyXG4kc2Vjb25kYXJ5LWdyYXktNDogI2RhZGVlNjtcclxuJHNlY29uZGFyeS1ncmF5LTU6ICNlYmVjZjA7XHJcbiRncmF5LWRhcmstMTogIzQ0NDQ0NDtcclxuJGdyYXktbGlnaHQtMTogI2Y4ZjhmODtcclxuJGdyYXktbGlnaHQtMjogI2IxYjFiMTtcclxuJGdyYXktbGlnaHQtNDogI2Q1ZDVkNTtcclxuXHJcbiRzZWNvbmRhcnktd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4kc2Vjb25kYXJ5LWJsdWUtMTogIzQ1NjU4ZDtcclxuJHNlY29uZGFyeS1ibHVlLTI6ICM1Yzg4YmY7XHJcbiRzZWNvbmRhcnktYmx1ZS0zOiAjMGI4YmUzO1xyXG4kc2Vjb25kYXJ5LWJsdWUtNDogI2U2ZjNmZjtcclxuJGJsdWUtbGlnaHQtMTogI2Q3ZWJmOTtcclxuJGJsdWUtZGFyay0xOiAjMDAyMDUwO1xyXG4kbWlkbmlnaHQtYmx1ZTogIzE3MzM1NztcclxuXHJcbiRzZWNvbmRhcnktcGluazogI2MxMGUzZTtcclxuJHNlY29uZGFyeS1ncmVlbjogIzJjYWM2MDtcclxuJHNlY29uZGFyeS1ncmVlbi0yOiAjMGI4MDNiO1xyXG4kc2Vjb25kYXJ5LXllbGxvdzogI2ZjYWYxNztcclxuJHNlY29uZGFyeS1wdXJwbGU6ICM4ZTQ0YWM7XHJcbiRzZWNvbmRhcnktb3JhbmdlOiAjZmY2YzA1O1xyXG5cclxuJGNyYW5iZXJyeS1yZWQ6ICNkZjIyNTU7XHJcbiRyZWQtbGlnaHQtMTogI2VhOTk5OTtcclxuIiwiQGltcG9ydCAnLi4vYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHkuc2Nzcyc7XHJcbkBpbXBvcnQgJ2lucHV0JztcclxuXHJcbi5jZHMtZGlhbG9nLWhlYWRpbmcge1xyXG4gICYtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICB9XHJcblxyXG4gICYtc3VidGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtZm9ybS1ob3Jpem9udGFsLXNlcGFyYXRvciB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgJi1zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gIH1cclxufVxyXG5cclxuLnBpbmstaW5wdXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LXBpbmsgIWltcG9ydGFudDtcclxuICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG5cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY2RzLWZvcm0tc2VjdGlvbi10aXRsZSB7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxufVxyXG4udy1hdXRvIHtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4uY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIC5jZHMtdmFsaWRhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxuICB9XHJcbiAgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICYtY29sIHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgLmNkcy1mb3JtLWlucHV0IHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWlucHV0O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgICYtbWwtMCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2RzLWZvcm0taW5wdXQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgICAmLWxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgJi5jZHMtZGlzYWJsZWQtbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOnJlYWQtb25seSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9UaGlzIG1vZGlmaWVyIGlzIHVzZWQgZm9yIHJlYWRvbmx5IGZpZWxkcyBpbiBJbnRlcm5ldCBFeHBsb3JlclxyXG4gICAgICAmW3JlYWRvbmx5PSdyZWFkb25seSddIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tdC0xNSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG4udG9vbHRpcCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgd2lkdGg6IDM2cHg7XHJcbiAgaGVpZ2h0OiAzNnB4O1xyXG4gIHBhZGRpbmc6IDZweCA1cHggNXB4IDZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaW1nIHtcclxuICAgIGhlaWdodDogMjVweDtcclxuICB9XHJcbn1cclxuLnZhbGlkYXRpb24tbWVzc2FnZS1yb3cge1xyXG4gIG1hcmdpbi1sZWZ0OiAyNjBweDtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxufVxyXG5cclxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcclxuICB0b3A6IDMwcHg7XHJcbiAgbGVmdDogLTI1NXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB3aWR0aDogMjk5cHg7XHJcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1ncmF5LTU7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuXHJcbiAgJi1yaWdodCB7XHJcbiAgICBAZXh0ZW5kIC50b29sdGlwdGV4dDtcclxuICAgIGxlZnQ6IDBweDtcclxuICB9XHJcbiAgJi5zaG93LWFib3ZlIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMTI1JTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuICB9XHJcbn1cclxuXHJcbi50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiAxNXB4IDE5cHggN3B4IDE5cHg7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vLi4vLi4vL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2NvbXBvbmVudHMvZm9ybS1lbGVtZW50cy1lbGVtZW50cyc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uLy9zdHlsZXMvYW5zaWJsZS10aGVtZS9jb21wb25lbnRzL2lucHV0LnNjc3MnO1xyXG4jY2VydC1maWxlLXRleHQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG59XHJcblxyXG4jdHlwLW9mLWNyZWRzLWxhYmVsIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIG1pbi13aWR0aDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuI2Nkcy1jZXJ0aWZpY2F0ZS1sYWJlbCB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWluLXdpZHRoOiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDBweDtcclxufVxyXG4jY2RzLWlubGluZS10b29sdGlwIHtcclxuICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG59XHJcbiNjZHMtb3B0aW9uYWwtcmlnaHQge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIG1pbi13aWR0aDogMHB4O1xyXG59XHJcbiNjZHMtbWFyLWxlZnQtMzUge1xyXG4gIG1hcmdpbi1sZWZ0OiAzN3B4O1xyXG59XHJcbi9kZWVwLyB7XHJcbiAgI2Nkcy1zaW1wbGUtdXBsb2FkLWJ1dHRvbiB7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG4gIGJvZHkge1xyXG4gICAgLnVpLWRyb3Bkb3duIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAudWktdGFibWVudSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAudWktdGFibWVudS1uYXYge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAudWktdGFibWVudWl0ZW06bm90KC51aS1zdGF0ZS1hY3RpdmUpOm5vdCgudWktc3RhdGUtZGlzYWJsZWQpOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudWktdGFibWVudWl0ZW0ge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAudWktbWVudWl0ZW0tbGluayB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgICAgIC51aS1tZW51aXRlbS10ZXh0IHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIC51aS1tZW51aXRlbS1saW5rIHtcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgICAgICAgLnVpLW1lbnVpdGVtLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */\"","import { MenuItem } from 'primeng/api';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormControl,\r\n FormGroup,\r\n ValidationErrors,\r\n Validators,\r\n} from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { AppUserType } from '../../interfaces/credentials.interfaces';\r\n\r\nexport interface AppUserFormValues {\r\n clientId: string;\r\n clientSecret: string;\r\n clientCertificateFileName: File;\r\n clientCertificatePassword: string;\r\n}\r\n\r\nexport interface AppUserFormGroup extends FormGroup {\r\n value: AppUserFormValues;\r\n controls: { [key in keyof AppUserFormValues]: AbstractControl };\r\n}\r\n\r\ninterface ITabEvent {\r\n item: MenuItem;\r\n}\r\n\r\n@Component({\r\n selector: 'cds-app-user-form',\r\n templateUrl: './app-user-form.component.html',\r\n styleUrls: ['./app-user-form.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AppUserFormComponent implements OnInit, OnDestroy {\r\n @Output() setFormValidStatus = new EventEmitter();\r\n @Output() selectedMenu = new EventEmitter();\r\n activeMenu: MenuItem;\r\n @Input() secretMenuLabel: string =\r\n 'CREDENTIALS.APPLICATION_USER.CLIENT_SECRET';\r\n @Input() certMenuLabel: string = 'CREDENTIALS.APPLICATION_USER.CERTIFICATE';\r\n @Input() appUserFormGroup: AppUserFormGroup;\r\n file: File;\r\n subs: Subscription[];\r\n get clientId() {\r\n return this.appUserFormGroup.value.clientId;\r\n }\r\n get clientSecret() {\r\n return this.appUserFormGroup.value.clientSecret;\r\n }\r\n get clientCertificateFileName(): string {\r\n if (\r\n this.appUserFormGroup.value.clientCertificateFileName !== undefined &&\r\n this.appUserFormGroup.value.clientCertificateFileName.name !== undefined\r\n ) {\r\n return this.appUserFormGroup.value.clientCertificateFileName.name;\r\n }\r\n return '';\r\n }\r\n get clientCertificatePassword() {\r\n return this.appUserFormGroup.value.clientCertificatePassword;\r\n }\r\n get clientIdAlias() {\r\n return this.appUserFormGroup.controls.clientId;\r\n }\r\n get clientSecretAlias() {\r\n return this.appUserFormGroup.controls.clientSecret;\r\n }\r\n get clientCertificateFileNameAlias() {\r\n return this.appUserFormGroup.controls.clientCertificateFileName;\r\n }\r\n\r\n menuItems: MenuItem[];\r\n AppUserType = AppUserType;\r\n constructor(private translate: TranslateService) {}\r\n selectedFile(file: File) {\r\n this.clientCertificateFileNameAlias.setValue(file);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subs.forEach((s) => s.unsubscribe());\r\n }\r\n\r\n ngOnInit() {\r\n this.subs = [];\r\n this.clientIdAlias.setValidators(Validators.required);\r\n this.clientIdAlias.updateValueAndValidity();\r\n this.menuItems = [\r\n this.translate.instant(this.secretMenuLabel),\r\n this.translate.instant(this.certMenuLabel),\r\n ].map((label) => this.createMenuItem(label));\r\n this.activeMenu = this.menuItems[AppUserType.Certificate];\r\n this.toggleAuthUserValidators();\r\n }\r\n private createMenuItem(label: string): MenuItem {\r\n return {\r\n label,\r\n command: (i) => this.toggleMenu(i),\r\n };\r\n }\r\n\r\n private toggleMenu(item: ITabEvent) {\r\n this.activeMenu = item.item;\r\n this.toggleAuthUserValidators();\r\n }\r\n\r\n private toggleAuthUserValidators() {\r\n if (this.activeMenu === this.menuItems[AppUserType.Certificate]) {\r\n this.clientCertificateFileNameAlias.setValidators([\r\n Validators.required,\r\n this.wrongFileFormat,\r\n ]);\r\n this.clientCertificateFileNameAlias.updateValueAndValidity({\r\n emitEvent: false,\r\n });\r\n this.clientSecretAlias.clearValidators();\r\n this.clientSecretAlias.updateValueAndValidity({ emitEvent: false });\r\n this.selectedMenu.emit(AppUserType.Certificate);\r\n } else {\r\n this.clientSecretAlias.setValidators(Validators.required);\r\n this.clientSecretAlias.updateValueAndValidity({ emitEvent: false });\r\n this.clientCertificateFileNameAlias.clearValidators();\r\n this.clientCertificateFileNameAlias.updateValueAndValidity({\r\n emitEvent: false,\r\n });\r\n this.selectedMenu.emit(AppUserType.Secret);\r\n }\r\n this.setFormValidStatus.emit();\r\n }\r\n private wrongFileFormat(c: FormControl): ValidationErrors | null {\r\n if (c.value === undefined || c.value === '') {\r\n return null;\r\n }\r\n const file: File = c.value;\r\n const endsWith = RegExp(/\\.pem$/).test(file.name);\r\n\r\n return endsWith ? null : { wrongFormat: true };\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\nimport { DialogBase } from '../../dialogs/base-dialog';\r\n\r\n@Component({\r\n selector: 'beta-group-dialog',\r\n templateUrl: './beta-group.html'\r\n})\r\n\r\nexport class BetaGroupDialogComponent extends DialogBase {\r\n public safeResourceUrl: SafeResourceUrl;\r\n\r\n constructor(private sanitizer: DomSanitizer) {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n const accountName = this.extraData.accountName;\r\n this.safeResourceUrl =\r\n this.sanitizer.bypassSecurityTrustResourceUrl(`\r\n https://analytics.clickdimensions.com/clickdimensionscom-ak7l5/pages/x5dl59jieeebjeahg2rrmq.html?accountName=${accountName}`);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { BetaGroupDialogComponent } from './beta-group.component';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [BetaGroupDialogComponent],\r\n declarations: [BetaGroupDialogComponent],\r\n providers: [],\r\n entryComponents: [BetaGroupDialogComponent]\r\n})\r\nexport class BetaGroupModule { }\r\n\r\n","// start:ng42.barrel\r\nexport * from './beta-group.component';\r\nexport * from './beta-group.module';\r\n// end:ng42.barrel\r\n\r\n","export default \".cds-circle {\\n display: flex;\\n align-items: center;\\n border-radius: 50%;\\n width: 37px;\\n height: 37px;\\n background: #e31a51;\\n color: #fff;\\n text-align: center;\\n font-size: 20px;\\n font-weight: 700; }\\n .cds-circle span {\\n width: 100%; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NpcmNsZS1udW1iZXIvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxjaXJjbGUtbnVtYmVyXFxjaXJjbGUtbnVtYmVyLmNvbXBvbmVudC5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2lyY2xlLW51bWJlci9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyIsInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NpcmNsZS1udW1iZXIvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcYXNzZXRzXFxmb250c1xcZm9udGF3ZXNvbWVcXHNjc3NcXF92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxZQUFZO0VBQ1osbUJDUm9CO0VEU3BCLFdFQXdCO0VGQ3hCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7RUFWbEI7SUFZSSxXQUFXLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2lyY2xlLW51bWJlci9jaXJjbGUtbnVtYmVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2ZvbnRhd2Vzb21lL3Njc3MvdmFyaWFibGVzJztcclxuQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL2Fuc2libGUtdGhlbWUvYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5cclxuLmNkcy1jaXJjbGUge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgd2lkdGg6IDM3cHg7XHJcbiAgaGVpZ2h0OiAzN3B4O1xyXG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LXBpbms7XHJcbiAgY29sb3I6ICRmYS1pbnZlcnNlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBzcGFuIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAvLyAuY2RzLW51bWJlciB7XHJcbiAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gIC8vIH1cclxufVxyXG4iLCIvLyBQcmltYXJ5IENvbG9yc1xyXG4kcHJpbWFyeS1waW5rOiAjZTMxYTUxO1xyXG4kcHJpbWFyeS1ibHVlOiAjMTUzMjU4O1xyXG5cclxuLy8gU2Vjb25kYXJ5IENvbG9yc1xyXG4kc2Vjb25kYXJ5LWdyYXktMTogIzI4MzU0MTtcclxuJHNlY29uZGFyeS1ncmF5LTI6ICM2MTcwODI7XHJcbiRzZWNvbmRhcnktZ3JheS0zOiAjOTJhMWI1O1xyXG4kc2Vjb25kYXJ5LWdyYXktNDogI2RhZGVlNjtcclxuJHNlY29uZGFyeS1ncmF5LTU6ICNlYmVjZjA7XHJcbiRncmF5LWRhcmstMTogIzQ0NDQ0NDtcclxuJGdyYXktbGlnaHQtMTogI2Y4ZjhmODtcclxuJGdyYXktbGlnaHQtMjogI2IxYjFiMTtcclxuJGdyYXktbGlnaHQtNDogI2Q1ZDVkNTtcclxuXHJcbiRzZWNvbmRhcnktd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4kc2Vjb25kYXJ5LWJsdWUtMTogIzQ1NjU4ZDtcclxuJHNlY29uZGFyeS1ibHVlLTI6ICM1Yzg4YmY7XHJcbiRzZWNvbmRhcnktYmx1ZS0zOiAjMGI4YmUzO1xyXG4kc2Vjb25kYXJ5LWJsdWUtNDogI2U2ZjNmZjtcclxuJGJsdWUtbGlnaHQtMTogI2Q3ZWJmOTtcclxuJGJsdWUtZGFyay0xOiAjMDAyMDUwO1xyXG4kbWlkbmlnaHQtYmx1ZTogIzE3MzM1NztcclxuXHJcbiRzZWNvbmRhcnktcGluazogI2MxMGUzZTtcclxuJHNlY29uZGFyeS1ncmVlbjogIzJjYWM2MDtcclxuJHNlY29uZGFyeS1ncmVlbi0yOiAjMGI4MDNiO1xyXG4kc2Vjb25kYXJ5LXllbGxvdzogI2ZjYWYxNztcclxuJHNlY29uZGFyeS1wdXJwbGU6ICM4ZTQ0YWM7XHJcbiRzZWNvbmRhcnktb3JhbmdlOiAjZmY2YzA1O1xyXG5cclxuJGNyYW5iZXJyeS1yZWQ6ICNkZjIyNTU7XHJcbiRyZWQtbGlnaHQtMTogI2VhOTk5OTtcclxuIiwiLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmEtZm9udC1wYXRoOiAgICAgICAgXCIuLi9mb250c1wiICFkZWZhdWx0O1xyXG4kZmEtZm9udC1zaXplLWJhc2U6ICAgMTRweCAhZGVmYXVsdDtcclxuJGZhLWxpbmUtaGVpZ2h0LWJhc2U6IDEgIWRlZmF1bHQ7XHJcbi8vJGZhLWZvbnQtcGF0aDogICAgICAgIFwiLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC43LjAvZm9udHNcIiAhZGVmYXVsdDsgLy8gZm9yIHJlZmVyZW5jaW5nIEJvb3RzdHJhcCBDRE4gZm9udCBmaWxlcyBkaXJlY3RseVxyXG4kZmEtY3NzLXByZWZpeDogICAgICAgZmEgIWRlZmF1bHQ7XHJcbiRmYS12ZXJzaW9uOiAgICAgICAgICBcIjQuNy4wXCIgIWRlZmF1bHQ7XHJcbiRmYS1ib3JkZXItY29sb3I6ICAgICAjZWVlICFkZWZhdWx0O1xyXG4kZmEtaW52ZXJzZTogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGZhLWxpLXdpZHRoOiAgICAgICAgICgzMGVtIC8gMTQpICFkZWZhdWx0O1xyXG5cclxuJGZhLXZhci01MDBweDogXCJcXGYyNmVcIjtcclxuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFwiXFxmMmI5XCI7XHJcbiRmYS12YXItYWRkcmVzcy1ib29rLW86IFwiXFxmMmJhXCI7XHJcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcIlxcZjJiYlwiO1xyXG4kZmEtdmFyLWFkZHJlc3MtY2FyZC1vOiBcIlxcZjJiY1wiO1xyXG4kZmEtdmFyLWFkanVzdDogXCJcXGYwNDJcIjtcclxuJGZhLXZhci1hZG46IFwiXFxmMTcwXCI7XHJcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcIlxcZjAzN1wiO1xyXG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFwiXFxmMDM5XCI7XHJcbiRmYS12YXItYWxpZ24tbGVmdDogXCJcXGYwMzZcIjtcclxuJGZhLXZhci1hbGlnbi1yaWdodDogXCJcXGYwMzhcIjtcclxuJGZhLXZhci1hbWF6b246IFwiXFxmMjcwXCI7XHJcbiRmYS12YXItYW1idWxhbmNlOiBcIlxcZjBmOVwiO1xyXG4kZmEtdmFyLWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOiBcIlxcZjJhM1wiO1xyXG4kZmEtdmFyLWFuY2hvcjogXCJcXGYxM2RcIjtcclxuJGZhLXZhci1hbmRyb2lkOiBcIlxcZjE3YlwiO1xyXG4kZmEtdmFyLWFuZ2VsbGlzdDogXCJcXGYyMDlcIjtcclxuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXCJcXGYxMDNcIjtcclxuJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdDogXCJcXGYxMDBcIjtcclxuJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQ6IFwiXFxmMTAxXCI7XHJcbiRmYS12YXItYW5nbGUtZG91YmxlLXVwOiBcIlxcZjEwMlwiO1xyXG4kZmEtdmFyLWFuZ2xlLWRvd246IFwiXFxmMTA3XCI7XHJcbiRmYS12YXItYW5nbGUtbGVmdDogXCJcXGYxMDRcIjtcclxuJGZhLXZhci1hbmdsZS1yaWdodDogXCJcXGYxMDVcIjtcclxuJGZhLXZhci1hbmdsZS11cDogXCJcXGYxMDZcIjtcclxuJGZhLXZhci1hcHBsZTogXCJcXGYxNzlcIjtcclxuJGZhLXZhci1hcmNoaXZlOiBcIlxcZjE4N1wiO1xyXG4kZmEtdmFyLWFyZWEtY2hhcnQ6IFwiXFxmMWZlXCI7XHJcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFwiXFxmMGFiXCI7XHJcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFwiXFxmMGE4XCI7XHJcbiRmYS12YXItYXJyb3ctY2lyY2xlLW8tZG93bjogXCJcXGYwMWFcIjtcclxuJGZhLXZhci1hcnJvdy1jaXJjbGUtby1sZWZ0OiBcIlxcZjE5MFwiO1xyXG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLXJpZ2h0OiBcIlxcZjE4ZVwiO1xyXG4kZmEtdmFyLWFycm93LWNpcmNsZS1vLXVwOiBcIlxcZjAxYlwiO1xyXG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXCJcXGYwYTlcIjtcclxuJGZhLXZhci1hcnJvdy1jaXJjbGUtdXA6IFwiXFxmMGFhXCI7XHJcbiRmYS12YXItYXJyb3ctZG93bjogXCJcXGYwNjNcIjtcclxuJGZhLXZhci1hcnJvdy1sZWZ0OiBcIlxcZjA2MFwiO1xyXG4kZmEtdmFyLWFycm93LXJpZ2h0OiBcIlxcZjA2MVwiO1xyXG4kZmEtdmFyLWFycm93LXVwOiBcIlxcZjA2MlwiO1xyXG4kZmEtdmFyLWFycm93czogXCJcXGYwNDdcIjtcclxuJGZhLXZhci1hcnJvd3MtYWx0OiBcIlxcZjBiMlwiO1xyXG4kZmEtdmFyLWFycm93cy1oOiBcIlxcZjA3ZVwiO1xyXG4kZmEtdmFyLWFycm93cy12OiBcIlxcZjA3ZFwiO1xyXG4kZmEtdmFyLWFzbC1pbnRlcnByZXRpbmc6IFwiXFxmMmEzXCI7XHJcbiRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOiBcIlxcZjJhMlwiO1xyXG4kZmEtdmFyLWFzdGVyaXNrOiBcIlxcZjA2OVwiO1xyXG4kZmEtdmFyLWF0OiBcIlxcZjFmYVwiO1xyXG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcIlxcZjI5ZVwiO1xyXG4kZmEtdmFyLWF1dG9tb2JpbGU6IFwiXFxmMWI5XCI7XHJcbiRmYS12YXItYmFja3dhcmQ6IFwiXFxmMDRhXCI7XHJcbiRmYS12YXItYmFsYW5jZS1zY2FsZTogXCJcXGYyNGVcIjtcclxuJGZhLXZhci1iYW46IFwiXFxmMDVlXCI7XHJcbiRmYS12YXItYmFuZGNhbXA6IFwiXFxmMmQ1XCI7XHJcbiRmYS12YXItYmFuazogXCJcXGYxOWNcIjtcclxuJGZhLXZhci1iYXItY2hhcnQ6IFwiXFxmMDgwXCI7XHJcbiRmYS12YXItYmFyLWNoYXJ0LW86IFwiXFxmMDgwXCI7XHJcbiRmYS12YXItYmFyY29kZTogXCJcXGYwMmFcIjtcclxuJGZhLXZhci1iYXJzOiBcIlxcZjBjOVwiO1xyXG4kZmEtdmFyLWJhdGg6IFwiXFxmMmNkXCI7XHJcbiRmYS12YXItYmF0aHR1YjogXCJcXGYyY2RcIjtcclxuJGZhLXZhci1iYXR0ZXJ5OiBcIlxcZjI0MFwiO1xyXG4kZmEtdmFyLWJhdHRlcnktMDogXCJcXGYyNDRcIjtcclxuJGZhLXZhci1iYXR0ZXJ5LTE6IFwiXFxmMjQzXCI7XHJcbiRmYS12YXItYmF0dGVyeS0yOiBcIlxcZjI0MlwiO1xyXG4kZmEtdmFyLWJhdHRlcnktMzogXCJcXGYyNDFcIjtcclxuJGZhLXZhci1iYXR0ZXJ5LTQ6IFwiXFxmMjQwXCI7XHJcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXCJcXGYyNDRcIjtcclxuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFwiXFxmMjQwXCI7XHJcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcIlxcZjI0MlwiO1xyXG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXCJcXGYyNDNcIjtcclxuJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOiBcIlxcZjI0MVwiO1xyXG4kZmEtdmFyLWJlZDogXCJcXGYyMzZcIjtcclxuJGZhLXZhci1iZWVyOiBcIlxcZjBmY1wiO1xyXG4kZmEtdmFyLWJlaGFuY2U6IFwiXFxmMWI0XCI7XHJcbiRmYS12YXItYmVoYW5jZS1zcXVhcmU6IFwiXFxmMWI1XCI7XHJcbiRmYS12YXItYmVsbDogXCJcXGYwZjNcIjtcclxuJGZhLXZhci1iZWxsLW86IFwiXFxmMGEyXCI7XHJcbiRmYS12YXItYmVsbC1zbGFzaDogXCJcXGYxZjZcIjtcclxuJGZhLXZhci1iZWxsLXNsYXNoLW86IFwiXFxmMWY3XCI7XHJcbiRmYS12YXItYmljeWNsZTogXCJcXGYyMDZcIjtcclxuJGZhLXZhci1iaW5vY3VsYXJzOiBcIlxcZjFlNVwiO1xyXG4kZmEtdmFyLWJpcnRoZGF5LWNha2U6IFwiXFxmMWZkXCI7XHJcbiRmYS12YXItYml0YnVja2V0OiBcIlxcZjE3MVwiO1xyXG4kZmEtdmFyLWJpdGJ1Y2tldC1zcXVhcmU6IFwiXFxmMTcyXCI7XHJcbiRmYS12YXItYml0Y29pbjogXCJcXGYxNWFcIjtcclxuJGZhLXZhci1ibGFjay10aWU6IFwiXFxmMjdlXCI7XHJcbiRmYS12YXItYmxpbmQ6IFwiXFxmMjlkXCI7XHJcbiRmYS12YXItYmx1ZXRvb3RoOiBcIlxcZjI5M1wiO1xyXG4kZmEtdmFyLWJsdWV0b290aC1iOiBcIlxcZjI5NFwiO1xyXG4kZmEtdmFyLWJvbGQ6IFwiXFxmMDMyXCI7XHJcbiRmYS12YXItYm9sdDogXCJcXGYwZTdcIjtcclxuJGZhLXZhci1ib21iOiBcIlxcZjFlMlwiO1xyXG4kZmEtdmFyLWJvb2s6IFwiXFxmMDJkXCI7XHJcbiRmYS12YXItYm9va21hcms6IFwiXFxmMDJlXCI7XHJcbiRmYS12YXItYm9va21hcmstbzogXCJcXGYwOTdcIjtcclxuJGZhLXZhci1icmFpbGxlOiBcIlxcZjJhMVwiO1xyXG4kZmEtdmFyLWJyaWVmY2FzZTogXCJcXGYwYjFcIjtcclxuJGZhLXZhci1idGM6IFwiXFxmMTVhXCI7XHJcbiRmYS12YXItYnVnOiBcIlxcZjE4OFwiO1xyXG4kZmEtdmFyLWJ1aWxkaW5nOiBcIlxcZjFhZFwiO1xyXG4kZmEtdmFyLWJ1aWxkaW5nLW86IFwiXFxmMGY3XCI7XHJcbiRmYS12YXItYnVsbGhvcm46IFwiXFxmMGExXCI7XHJcbiRmYS12YXItYnVsbHNleWU6IFwiXFxmMTQwXCI7XHJcbiRmYS12YXItYnVzOiBcIlxcZjIwN1wiO1xyXG4kZmEtdmFyLWJ1eXNlbGxhZHM6IFwiXFxmMjBkXCI7XHJcbiRmYS12YXItY2FiOiBcIlxcZjFiYVwiO1xyXG4kZmEtdmFyLWNhbGN1bGF0b3I6IFwiXFxmMWVjXCI7XHJcbiRmYS12YXItY2FsZW5kYXI6IFwiXFxmMDczXCI7XHJcbiRmYS12YXItY2FsZW5kYXItY2hlY2stbzogXCJcXGYyNzRcIjtcclxuJGZhLXZhci1jYWxlbmRhci1taW51cy1vOiBcIlxcZjI3MlwiO1xyXG4kZmEtdmFyLWNhbGVuZGFyLW86IFwiXFxmMTMzXCI7XHJcbiRmYS12YXItY2FsZW5kYXItcGx1cy1vOiBcIlxcZjI3MVwiO1xyXG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzLW86IFwiXFxmMjczXCI7XHJcbiRmYS12YXItY2FtZXJhOiBcIlxcZjAzMFwiO1xyXG4kZmEtdmFyLWNhbWVyYS1yZXRybzogXCJcXGYwODNcIjtcclxuJGZhLXZhci1jYXI6IFwiXFxmMWI5XCI7XHJcbiRmYS12YXItY2FyZXQtZG93bjogXCJcXGYwZDdcIjtcclxuJGZhLXZhci1jYXJldC1sZWZ0OiBcIlxcZjBkOVwiO1xyXG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcIlxcZjBkYVwiO1xyXG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1vLWRvd246IFwiXFxmMTUwXCI7XHJcbiRmYS12YXItY2FyZXQtc3F1YXJlLW8tbGVmdDogXCJcXGYxOTFcIjtcclxuJGZhLXZhci1jYXJldC1zcXVhcmUtby1yaWdodDogXCJcXGYxNTJcIjtcclxuJGZhLXZhci1jYXJldC1zcXVhcmUtby11cDogXCJcXGYxNTFcIjtcclxuJGZhLXZhci1jYXJldC11cDogXCJcXGYwZDhcIjtcclxuJGZhLXZhci1jYXJ0LWFycm93LWRvd246IFwiXFxmMjE4XCI7XHJcbiRmYS12YXItY2FydC1wbHVzOiBcIlxcZjIxN1wiO1xyXG4kZmEtdmFyLWNjOiBcIlxcZjIwYVwiO1xyXG4kZmEtdmFyLWNjLWFtZXg6IFwiXFxmMWYzXCI7XHJcbiRmYS12YXItY2MtZGluZXJzLWNsdWI6IFwiXFxmMjRjXCI7XHJcbiRmYS12YXItY2MtZGlzY292ZXI6IFwiXFxmMWYyXCI7XHJcbiRmYS12YXItY2MtamNiOiBcIlxcZjI0YlwiO1xyXG4kZmEtdmFyLWNjLW1hc3RlcmNhcmQ6IFwiXFxmMWYxXCI7XHJcbiRmYS12YXItY2MtcGF5cGFsOiBcIlxcZjFmNFwiO1xyXG4kZmEtdmFyLWNjLXN0cmlwZTogXCJcXGYxZjVcIjtcclxuJGZhLXZhci1jYy12aXNhOiBcIlxcZjFmMFwiO1xyXG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcIlxcZjBhM1wiO1xyXG4kZmEtdmFyLWNoYWluOiBcIlxcZjBjMVwiO1xyXG4kZmEtdmFyLWNoYWluLWJyb2tlbjogXCJcXGYxMjdcIjtcclxuJGZhLXZhci1jaGVjazogXCJcXGYwMGNcIjtcclxuJGZhLXZhci1jaGVjay1jaXJjbGU6IFwiXFxmMDU4XCI7XHJcbiRmYS12YXItY2hlY2stY2lyY2xlLW86IFwiXFxmMDVkXCI7XHJcbiRmYS12YXItY2hlY2stc3F1YXJlOiBcIlxcZjE0YVwiO1xyXG4kZmEtdmFyLWNoZWNrLXNxdWFyZS1vOiBcIlxcZjA0NlwiO1xyXG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFwiXFxmMTNhXCI7XHJcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXCJcXGYxMzdcIjtcclxuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXCJcXGYxMzhcIjtcclxuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXCJcXGYxMzlcIjtcclxuJGZhLXZhci1jaGV2cm9uLWRvd246IFwiXFxmMDc4XCI7XHJcbiRmYS12YXItY2hldnJvbi1sZWZ0OiBcIlxcZjA1M1wiO1xyXG4kZmEtdmFyLWNoZXZyb24tcmlnaHQ6IFwiXFxmMDU0XCI7XHJcbiRmYS12YXItY2hldnJvbi11cDogXCJcXGYwNzdcIjtcclxuJGZhLXZhci1jaGlsZDogXCJcXGYxYWVcIjtcclxuJGZhLXZhci1jaHJvbWU6IFwiXFxmMjY4XCI7XHJcbiRmYS12YXItY2lyY2xlOiBcIlxcZjExMVwiO1xyXG4kZmEtdmFyLWNpcmNsZS1vOiBcIlxcZjEwY1wiO1xyXG4kZmEtdmFyLWNpcmNsZS1vLW5vdGNoOiBcIlxcZjFjZVwiO1xyXG4kZmEtdmFyLWNpcmNsZS10aGluOiBcIlxcZjFkYlwiO1xyXG4kZmEtdmFyLWNsaXBib2FyZDogXCJcXGYwZWFcIjtcclxuJGZhLXZhci1jbG9jay1vOiBcIlxcZjAxN1wiO1xyXG4kZmEtdmFyLWNsb25lOiBcIlxcZjI0ZFwiO1xyXG4kZmEtdmFyLWNsb3NlOiBcIlxcZjAwZFwiO1xyXG4kZmEtdmFyLWNsb3VkOiBcIlxcZjBjMlwiO1xyXG4kZmEtdmFyLWNsb3VkLWRvd25sb2FkOiBcIlxcZjBlZFwiO1xyXG4kZmEtdmFyLWNsb3VkLXVwbG9hZDogXCJcXGYwZWVcIjtcclxuJGZhLXZhci1jbnk6IFwiXFxmMTU3XCI7XHJcbiRmYS12YXItY29kZTogXCJcXGYxMjFcIjtcclxuJGZhLXZhci1jb2RlLWZvcms6IFwiXFxmMTI2XCI7XHJcbiRmYS12YXItY29kZXBlbjogXCJcXGYxY2JcIjtcclxuJGZhLXZhci1jb2RpZXBpZTogXCJcXGYyODRcIjtcclxuJGZhLXZhci1jb2ZmZWU6IFwiXFxmMGY0XCI7XHJcbiRmYS12YXItY29nOiBcIlxcZjAxM1wiO1xyXG4kZmEtdmFyLWNvZ3M6IFwiXFxmMDg1XCI7XHJcbiRmYS12YXItY29sdW1uczogXCJcXGYwZGJcIjtcclxuJGZhLXZhci1jb21tZW50OiBcIlxcZjA3NVwiO1xyXG4kZmEtdmFyLWNvbW1lbnQtbzogXCJcXGYwZTVcIjtcclxuJGZhLXZhci1jb21tZW50aW5nOiBcIlxcZjI3YVwiO1xyXG4kZmEtdmFyLWNvbW1lbnRpbmctbzogXCJcXGYyN2JcIjtcclxuJGZhLXZhci1jb21tZW50czogXCJcXGYwODZcIjtcclxuJGZhLXZhci1jb21tZW50cy1vOiBcIlxcZjBlNlwiO1xyXG4kZmEtdmFyLWNvbXBhc3M6IFwiXFxmMTRlXCI7XHJcbiRmYS12YXItY29tcHJlc3M6IFwiXFxmMDY2XCI7XHJcbiRmYS12YXItY29ubmVjdGRldmVsb3A6IFwiXFxmMjBlXCI7XHJcbiRmYS12YXItY29udGFvOiBcIlxcZjI2ZFwiO1xyXG4kZmEtdmFyLWNvcHk6IFwiXFxmMGM1XCI7XHJcbiRmYS12YXItY29weXJpZ2h0OiBcIlxcZjFmOVwiO1xyXG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFwiXFxmMjVlXCI7XHJcbiRmYS12YXItY3JlZGl0LWNhcmQ6IFwiXFxmMDlkXCI7XHJcbiRmYS12YXItY3JlZGl0LWNhcmQtYWx0OiBcIlxcZjI4M1wiO1xyXG4kZmEtdmFyLWNyb3A6IFwiXFxmMTI1XCI7XHJcbiRmYS12YXItY3Jvc3NoYWlyczogXCJcXGYwNWJcIjtcclxuJGZhLXZhci1jc3MzOiBcIlxcZjEzY1wiO1xyXG4kZmEtdmFyLWN1YmU6IFwiXFxmMWIyXCI7XHJcbiRmYS12YXItY3ViZXM6IFwiXFxmMWIzXCI7XHJcbiRmYS12YXItY3V0OiBcIlxcZjBjNFwiO1xyXG4kZmEtdmFyLWN1dGxlcnk6IFwiXFxmMGY1XCI7XHJcbiRmYS12YXItZGFzaGJvYXJkOiBcIlxcZjBlNFwiO1xyXG4kZmEtdmFyLWRhc2hjdWJlOiBcIlxcZjIxMFwiO1xyXG4kZmEtdmFyLWRhdGFiYXNlOiBcIlxcZjFjMFwiO1xyXG4kZmEtdmFyLWRlYWY6IFwiXFxmMmE0XCI7XHJcbiRmYS12YXItZGVhZm5lc3M6IFwiXFxmMmE0XCI7XHJcbiRmYS12YXItZGVkZW50OiBcIlxcZjAzYlwiO1xyXG4kZmEtdmFyLWRlbGljaW91czogXCJcXGYxYTVcIjtcclxuJGZhLXZhci1kZXNrdG9wOiBcIlxcZjEwOFwiO1xyXG4kZmEtdmFyLWRldmlhbnRhcnQ6IFwiXFxmMWJkXCI7XHJcbiRmYS12YXItZGlhbW9uZDogXCJcXGYyMTlcIjtcclxuJGZhLXZhci1kaWdnOiBcIlxcZjFhNlwiO1xyXG4kZmEtdmFyLWRvbGxhcjogXCJcXGYxNTVcIjtcclxuJGZhLXZhci1kb3QtY2lyY2xlLW86IFwiXFxmMTkyXCI7XHJcbiRmYS12YXItZG93bmxvYWQ6IFwiXFxmMDE5XCI7XHJcbiRmYS12YXItZHJpYmJibGU6IFwiXFxmMTdkXCI7XHJcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcIlxcZjJjMlwiO1xyXG4kZmEtdmFyLWRyaXZlcnMtbGljZW5zZS1vOiBcIlxcZjJjM1wiO1xyXG4kZmEtdmFyLWRyb3Bib3g6IFwiXFxmMTZiXCI7XHJcbiRmYS12YXItZHJ1cGFsOiBcIlxcZjFhOVwiO1xyXG4kZmEtdmFyLWVkZ2U6IFwiXFxmMjgyXCI7XHJcbiRmYS12YXItZWRpdDogXCJcXGYwNDRcIjtcclxuJGZhLXZhci1lZXJjYXN0OiBcIlxcZjJkYVwiO1xyXG4kZmEtdmFyLWVqZWN0OiBcIlxcZjA1MlwiO1xyXG4kZmEtdmFyLWVsbGlwc2lzLWg6IFwiXFxmMTQxXCI7XHJcbiRmYS12YXItZWxsaXBzaXMtdjogXCJcXGYxNDJcIjtcclxuJGZhLXZhci1lbXBpcmU6IFwiXFxmMWQxXCI7XHJcbiRmYS12YXItZW52ZWxvcGU6IFwiXFxmMGUwXCI7XHJcbiRmYS12YXItZW52ZWxvcGUtbzogXCJcXGYwMDNcIjtcclxuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcIlxcZjJiNlwiO1xyXG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tbzogXCJcXGYyYjdcIjtcclxuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFwiXFxmMTk5XCI7XHJcbiRmYS12YXItZW52aXJhOiBcIlxcZjI5OVwiO1xyXG4kZmEtdmFyLWVyYXNlcjogXCJcXGYxMmRcIjtcclxuJGZhLXZhci1ldHN5OiBcIlxcZjJkN1wiO1xyXG4kZmEtdmFyLWV1cjogXCJcXGYxNTNcIjtcclxuJGZhLXZhci1ldXJvOiBcIlxcZjE1M1wiO1xyXG4kZmEtdmFyLWV4Y2hhbmdlOiBcIlxcZjBlY1wiO1xyXG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcIlxcZjEyYVwiO1xyXG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXCJcXGYwNmFcIjtcclxuJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZTogXCJcXGYwNzFcIjtcclxuJGZhLXZhci1leHBhbmQ6IFwiXFxmMDY1XCI7XHJcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcIlxcZjIzZVwiO1xyXG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFwiXFxmMDhlXCI7XHJcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFwiXFxmMTRjXCI7XHJcbiRmYS12YXItZXllOiBcIlxcZjA2ZVwiO1xyXG4kZmEtdmFyLWV5ZS1zbGFzaDogXCJcXGYwNzBcIjtcclxuJGZhLXZhci1leWVkcm9wcGVyOiBcIlxcZjFmYlwiO1xyXG4kZmEtdmFyLWZhOiBcIlxcZjJiNFwiO1xyXG4kZmEtdmFyLWZhY2Vib29rOiBcIlxcZjA5YVwiO1xyXG4kZmEtdmFyLWZhY2Vib29rLWY6IFwiXFxmMDlhXCI7XHJcbiRmYS12YXItZmFjZWJvb2stb2ZmaWNpYWw6IFwiXFxmMjMwXCI7XHJcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcIlxcZjA4MlwiO1xyXG4kZmEtdmFyLWZhc3QtYmFja3dhcmQ6IFwiXFxmMDQ5XCI7XHJcbiRmYS12YXItZmFzdC1mb3J3YXJkOiBcIlxcZjA1MFwiO1xyXG4kZmEtdmFyLWZheDogXCJcXGYxYWNcIjtcclxuJGZhLXZhci1mZWVkOiBcIlxcZjA5ZVwiO1xyXG4kZmEtdmFyLWZlbWFsZTogXCJcXGYxODJcIjtcclxuJGZhLXZhci1maWdodGVyLWpldDogXCJcXGYwZmJcIjtcclxuJGZhLXZhci1maWxlOiBcIlxcZjE1YlwiO1xyXG4kZmEtdmFyLWZpbGUtYXJjaGl2ZS1vOiBcIlxcZjFjNlwiO1xyXG4kZmEtdmFyLWZpbGUtYXVkaW8tbzogXCJcXGYxYzdcIjtcclxuJGZhLXZhci1maWxlLWNvZGUtbzogXCJcXGYxYzlcIjtcclxuJGZhLXZhci1maWxlLWV4Y2VsLW86IFwiXFxmMWMzXCI7XHJcbiRmYS12YXItZmlsZS1pbWFnZS1vOiBcIlxcZjFjNVwiO1xyXG4kZmEtdmFyLWZpbGUtbW92aWUtbzogXCJcXGYxYzhcIjtcclxuJGZhLXZhci1maWxlLW86IFwiXFxmMDE2XCI7XHJcbiRmYS12YXItZmlsZS1wZGYtbzogXCJcXGYxYzFcIjtcclxuJGZhLXZhci1maWxlLXBob3RvLW86IFwiXFxmMWM1XCI7XHJcbiRmYS12YXItZmlsZS1waWN0dXJlLW86IFwiXFxmMWM1XCI7XHJcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50LW86IFwiXFxmMWM0XCI7XHJcbiRmYS12YXItZmlsZS1zb3VuZC1vOiBcIlxcZjFjN1wiO1xyXG4kZmEtdmFyLWZpbGUtdGV4dDogXCJcXGYxNWNcIjtcclxuJGZhLXZhci1maWxlLXRleHQtbzogXCJcXGYwZjZcIjtcclxuJGZhLXZhci1maWxlLXZpZGVvLW86IFwiXFxmMWM4XCI7XHJcbiRmYS12YXItZmlsZS13b3JkLW86IFwiXFxmMWMyXCI7XHJcbiRmYS12YXItZmlsZS16aXAtbzogXCJcXGYxYzZcIjtcclxuJGZhLXZhci1maWxlcy1vOiBcIlxcZjBjNVwiO1xyXG4kZmEtdmFyLWZpbG06IFwiXFxmMDA4XCI7XHJcbiRmYS12YXItZmlsdGVyOiBcIlxcZjBiMFwiO1xyXG4kZmEtdmFyLWZpcmU6IFwiXFxmMDZkXCI7XHJcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFwiXFxmMTM0XCI7XHJcbiRmYS12YXItZmlyZWZveDogXCJcXGYyNjlcIjtcclxuJGZhLXZhci1maXJzdC1vcmRlcjogXCJcXGYyYjBcIjtcclxuJGZhLXZhci1mbGFnOiBcIlxcZjAyNFwiO1xyXG4kZmEtdmFyLWZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xyXG4kZmEtdmFyLWZsYWctbzogXCJcXGYxMWRcIjtcclxuJGZhLXZhci1mbGFzaDogXCJcXGYwZTdcIjtcclxuJGZhLXZhci1mbGFzazogXCJcXGYwYzNcIjtcclxuJGZhLXZhci1mbGlja3I6IFwiXFxmMTZlXCI7XHJcbiRmYS12YXItZmxvcHB5LW86IFwiXFxmMGM3XCI7XHJcbiRmYS12YXItZm9sZGVyOiBcIlxcZjA3YlwiO1xyXG4kZmEtdmFyLWZvbGRlci1vOiBcIlxcZjExNFwiO1xyXG4kZmEtdmFyLWZvbGRlci1vcGVuOiBcIlxcZjA3Y1wiO1xyXG4kZmEtdmFyLWZvbGRlci1vcGVuLW86IFwiXFxmMTE1XCI7XHJcbiRmYS12YXItZm9udDogXCJcXGYwMzFcIjtcclxuJGZhLXZhci1mb250LWF3ZXNvbWU6IFwiXFxmMmI0XCI7XHJcbiRmYS12YXItZm9udGljb25zOiBcIlxcZjI4MFwiO1xyXG4kZmEtdmFyLWZvcnQtYXdlc29tZTogXCJcXGYyODZcIjtcclxuJGZhLXZhci1mb3J1bWJlZTogXCJcXGYyMTFcIjtcclxuJGZhLXZhci1mb3J3YXJkOiBcIlxcZjA0ZVwiO1xyXG4kZmEtdmFyLWZvdXJzcXVhcmU6IFwiXFxmMTgwXCI7XHJcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFwiXFxmMmM1XCI7XHJcbiRmYS12YXItZnJvd24tbzogXCJcXGYxMTlcIjtcclxuJGZhLXZhci1mdXRib2wtbzogXCJcXGYxZTNcIjtcclxuJGZhLXZhci1nYW1lcGFkOiBcIlxcZjExYlwiO1xyXG4kZmEtdmFyLWdhdmVsOiBcIlxcZjBlM1wiO1xyXG4kZmEtdmFyLWdicDogXCJcXGYxNTRcIjtcclxuJGZhLXZhci1nZTogXCJcXGYxZDFcIjtcclxuJGZhLXZhci1nZWFyOiBcIlxcZjAxM1wiO1xyXG4kZmEtdmFyLWdlYXJzOiBcIlxcZjA4NVwiO1xyXG4kZmEtdmFyLWdlbmRlcmxlc3M6IFwiXFxmMjJkXCI7XHJcbiRmYS12YXItZ2V0LXBvY2tldDogXCJcXGYyNjVcIjtcclxuJGZhLXZhci1nZzogXCJcXGYyNjBcIjtcclxuJGZhLXZhci1nZy1jaXJjbGU6IFwiXFxmMjYxXCI7XHJcbiRmYS12YXItZ2lmdDogXCJcXGYwNmJcIjtcclxuJGZhLXZhci1naXQ6IFwiXFxmMWQzXCI7XHJcbiRmYS12YXItZ2l0LXNxdWFyZTogXCJcXGYxZDJcIjtcclxuJGZhLXZhci1naXRodWI6IFwiXFxmMDliXCI7XHJcbiRmYS12YXItZ2l0aHViLWFsdDogXCJcXGYxMTNcIjtcclxuJGZhLXZhci1naXRodWItc3F1YXJlOiBcIlxcZjA5MlwiO1xyXG4kZmEtdmFyLWdpdGxhYjogXCJcXGYyOTZcIjtcclxuJGZhLXZhci1naXR0aXA6IFwiXFxmMTg0XCI7XHJcbiRmYS12YXItZ2xhc3M6IFwiXFxmMDAwXCI7XHJcbiRmYS12YXItZ2xpZGU6IFwiXFxmMmE1XCI7XHJcbiRmYS12YXItZ2xpZGUtZzogXCJcXGYyYTZcIjtcclxuJGZhLXZhci1nbG9iZTogXCJcXGYwYWNcIjtcclxuJGZhLXZhci1nb29nbGU6IFwiXFxmMWEwXCI7XHJcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFwiXFxmMGQ1XCI7XHJcbiRmYS12YXItZ29vZ2xlLXBsdXMtY2lyY2xlOiBcIlxcZjJiM1wiO1xyXG4kZmEtdmFyLWdvb2dsZS1wbHVzLW9mZmljaWFsOiBcIlxcZjJiM1wiO1xyXG4kZmEtdmFyLWdvb2dsZS1wbHVzLXNxdWFyZTogXCJcXGYwZDRcIjtcclxuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcIlxcZjFlZVwiO1xyXG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcIlxcZjE5ZFwiO1xyXG4kZmEtdmFyLWdyYXRpcGF5OiBcIlxcZjE4NFwiO1xyXG4kZmEtdmFyLWdyYXY6IFwiXFxmMmQ2XCI7XHJcbiRmYS12YXItZ3JvdXA6IFwiXFxmMGMwXCI7XHJcbiRmYS12YXItaC1zcXVhcmU6IFwiXFxmMGZkXCI7XHJcbiRmYS12YXItaGFja2VyLW5ld3M6IFwiXFxmMWQ0XCI7XHJcbiRmYS12YXItaGFuZC1ncmFiLW86IFwiXFxmMjU1XCI7XHJcbiRmYS12YXItaGFuZC1saXphcmQtbzogXCJcXGYyNThcIjtcclxuJGZhLXZhci1oYW5kLW8tZG93bjogXCJcXGYwYTdcIjtcclxuJGZhLXZhci1oYW5kLW8tbGVmdDogXCJcXGYwYTVcIjtcclxuJGZhLXZhci1oYW5kLW8tcmlnaHQ6IFwiXFxmMGE0XCI7XHJcbiRmYS12YXItaGFuZC1vLXVwOiBcIlxcZjBhNlwiO1xyXG4kZmEtdmFyLWhhbmQtcGFwZXItbzogXCJcXGYyNTZcIjtcclxuJGZhLXZhci1oYW5kLXBlYWNlLW86IFwiXFxmMjViXCI7XHJcbiRmYS12YXItaGFuZC1wb2ludGVyLW86IFwiXFxmMjVhXCI7XHJcbiRmYS12YXItaGFuZC1yb2NrLW86IFwiXFxmMjU1XCI7XHJcbiRmYS12YXItaGFuZC1zY2lzc29ycy1vOiBcIlxcZjI1N1wiO1xyXG4kZmEtdmFyLWhhbmQtc3BvY2stbzogXCJcXGYyNTlcIjtcclxuJGZhLXZhci1oYW5kLXN0b3AtbzogXCJcXGYyNTZcIjtcclxuJGZhLXZhci1oYW5kc2hha2UtbzogXCJcXGYyYjVcIjtcclxuJGZhLXZhci1oYXJkLW9mLWhlYXJpbmc6IFwiXFxmMmE0XCI7XHJcbiRmYS12YXItaGFzaHRhZzogXCJcXGYyOTJcIjtcclxuJGZhLXZhci1oZGQtbzogXCJcXGYwYTBcIjtcclxuJGZhLXZhci1oZWFkZXI6IFwiXFxmMWRjXCI7XHJcbiRmYS12YXItaGVhZHBob25lczogXCJcXGYwMjVcIjtcclxuJGZhLXZhci1oZWFydDogXCJcXGYwMDRcIjtcclxuJGZhLXZhci1oZWFydC1vOiBcIlxcZjA4YVwiO1xyXG4kZmEtdmFyLWhlYXJ0YmVhdDogXCJcXGYyMWVcIjtcclxuJGZhLXZhci1oaXN0b3J5OiBcIlxcZjFkYVwiO1xyXG4kZmEtdmFyLWhvbWU6IFwiXFxmMDE1XCI7XHJcbiRmYS12YXItaG9zcGl0YWwtbzogXCJcXGYwZjhcIjtcclxuJGZhLXZhci1ob3RlbDogXCJcXGYyMzZcIjtcclxuJGZhLXZhci1ob3VyZ2xhc3M6IFwiXFxmMjU0XCI7XHJcbiRmYS12YXItaG91cmdsYXNzLTE6IFwiXFxmMjUxXCI7XHJcbiRmYS12YXItaG91cmdsYXNzLTI6IFwiXFxmMjUyXCI7XHJcbiRmYS12YXItaG91cmdsYXNzLTM6IFwiXFxmMjUzXCI7XHJcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXCJcXGYyNTNcIjtcclxuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXCJcXGYyNTJcIjtcclxuJGZhLXZhci1ob3VyZ2xhc3MtbzogXCJcXGYyNTBcIjtcclxuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFwiXFxmMjUxXCI7XHJcbiRmYS12YXItaG91eno6IFwiXFxmMjdjXCI7XHJcbiRmYS12YXItaHRtbDU6IFwiXFxmMTNiXCI7XHJcbiRmYS12YXItaS1jdXJzb3I6IFwiXFxmMjQ2XCI7XHJcbiRmYS12YXItaWQtYmFkZ2U6IFwiXFxmMmMxXCI7XHJcbiRmYS12YXItaWQtY2FyZDogXCJcXGYyYzJcIjtcclxuJGZhLXZhci1pZC1jYXJkLW86IFwiXFxmMmMzXCI7XHJcbiRmYS12YXItaWxzOiBcIlxcZjIwYlwiO1xyXG4kZmEtdmFyLWltYWdlOiBcIlxcZjAzZVwiO1xyXG4kZmEtdmFyLWltZGI6IFwiXFxmMmQ4XCI7XHJcbiRmYS12YXItaW5ib3g6IFwiXFxmMDFjXCI7XHJcbiRmYS12YXItaW5kZW50OiBcIlxcZjAzY1wiO1xyXG4kZmEtdmFyLWluZHVzdHJ5OiBcIlxcZjI3NVwiO1xyXG4kZmEtdmFyLWluZm86IFwiXFxmMTI5XCI7XHJcbiRmYS12YXItaW5mby1jaXJjbGU6IFwiXFxmMDVhXCI7XHJcbiRmYS12YXItaW5yOiBcIlxcZjE1NlwiO1xyXG4kZmEtdmFyLWluc3RhZ3JhbTogXCJcXGYxNmRcIjtcclxuJGZhLXZhci1pbnN0aXR1dGlvbjogXCJcXGYxOWNcIjtcclxuJGZhLXZhci1pbnRlcm5ldC1leHBsb3JlcjogXCJcXGYyNmJcIjtcclxuJGZhLXZhci1pbnRlcnNleDogXCJcXGYyMjRcIjtcclxuJGZhLXZhci1pb3hob3N0OiBcIlxcZjIwOFwiO1xyXG4kZmEtdmFyLWl0YWxpYzogXCJcXGYwMzNcIjtcclxuJGZhLXZhci1qb29tbGE6IFwiXFxmMWFhXCI7XHJcbiRmYS12YXItanB5OiBcIlxcZjE1N1wiO1xyXG4kZmEtdmFyLWpzZmlkZGxlOiBcIlxcZjFjY1wiO1xyXG4kZmEtdmFyLWtleTogXCJcXGYwODRcIjtcclxuJGZhLXZhci1rZXlib2FyZC1vOiBcIlxcZjExY1wiO1xyXG4kZmEtdmFyLWtydzogXCJcXGYxNTlcIjtcclxuJGZhLXZhci1sYW5ndWFnZTogXCJcXGYxYWJcIjtcclxuJGZhLXZhci1sYXB0b3A6IFwiXFxmMTA5XCI7XHJcbiRmYS12YXItbGFzdGZtOiBcIlxcZjIwMlwiO1xyXG4kZmEtdmFyLWxhc3RmbS1zcXVhcmU6IFwiXFxmMjAzXCI7XHJcbiRmYS12YXItbGVhZjogXCJcXGYwNmNcIjtcclxuJGZhLXZhci1sZWFucHViOiBcIlxcZjIxMlwiO1xyXG4kZmEtdmFyLWxlZ2FsOiBcIlxcZjBlM1wiO1xyXG4kZmEtdmFyLWxlbW9uLW86IFwiXFxmMDk0XCI7XHJcbiRmYS12YXItbGV2ZWwtZG93bjogXCJcXGYxNDlcIjtcclxuJGZhLXZhci1sZXZlbC11cDogXCJcXGYxNDhcIjtcclxuJGZhLXZhci1saWZlLWJvdXk6IFwiXFxmMWNkXCI7XHJcbiRmYS12YXItbGlmZS1idW95OiBcIlxcZjFjZFwiO1xyXG4kZmEtdmFyLWxpZmUtcmluZzogXCJcXGYxY2RcIjtcclxuJGZhLXZhci1saWZlLXNhdmVyOiBcIlxcZjFjZFwiO1xyXG4kZmEtdmFyLWxpZ2h0YnVsYi1vOiBcIlxcZjBlYlwiO1xyXG4kZmEtdmFyLWxpbmUtY2hhcnQ6IFwiXFxmMjAxXCI7XHJcbiRmYS12YXItbGluazogXCJcXGYwYzFcIjtcclxuJGZhLXZhci1saW5rZWRpbjogXCJcXGYwZTFcIjtcclxuJGZhLXZhci1saW5rZWRpbi1zcXVhcmU6IFwiXFxmMDhjXCI7XHJcbiRmYS12YXItbGlub2RlOiBcIlxcZjJiOFwiO1xyXG4kZmEtdmFyLWxpbnV4OiBcIlxcZjE3Y1wiO1xyXG4kZmEtdmFyLWxpc3Q6IFwiXFxmMDNhXCI7XHJcbiRmYS12YXItbGlzdC1hbHQ6IFwiXFxmMDIyXCI7XHJcbiRmYS12YXItbGlzdC1vbDogXCJcXGYwY2JcIjtcclxuJGZhLXZhci1saXN0LXVsOiBcIlxcZjBjYVwiO1xyXG4kZmEtdmFyLWxvY2F0aW9uLWFycm93OiBcIlxcZjEyNFwiO1xyXG4kZmEtdmFyLWxvY2s6IFwiXFxmMDIzXCI7XHJcbiRmYS12YXItbG9uZy1hcnJvdy1kb3duOiBcIlxcZjE3NVwiO1xyXG4kZmEtdmFyLWxvbmctYXJyb3ctbGVmdDogXCJcXGYxNzdcIjtcclxuJGZhLXZhci1sb25nLWFycm93LXJpZ2h0OiBcIlxcZjE3OFwiO1xyXG4kZmEtdmFyLWxvbmctYXJyb3ctdXA6IFwiXFxmMTc2XCI7XHJcbiRmYS12YXItbG93LXZpc2lvbjogXCJcXGYyYThcIjtcclxuJGZhLXZhci1tYWdpYzogXCJcXGYwZDBcIjtcclxuJGZhLXZhci1tYWduZXQ6IFwiXFxmMDc2XCI7XHJcbiRmYS12YXItbWFpbC1mb3J3YXJkOiBcIlxcZjA2NFwiO1xyXG4kZmEtdmFyLW1haWwtcmVwbHk6IFwiXFxmMTEyXCI7XHJcbiRmYS12YXItbWFpbC1yZXBseS1hbGw6IFwiXFxmMTIyXCI7XHJcbiRmYS12YXItbWFsZTogXCJcXGYxODNcIjtcclxuJGZhLXZhci1tYXA6IFwiXFxmMjc5XCI7XHJcbiRmYS12YXItbWFwLW1hcmtlcjogXCJcXGYwNDFcIjtcclxuJGZhLXZhci1tYXAtbzogXCJcXGYyNzhcIjtcclxuJGZhLXZhci1tYXAtcGluOiBcIlxcZjI3NlwiO1xyXG4kZmEtdmFyLW1hcC1zaWduczogXCJcXGYyNzdcIjtcclxuJGZhLXZhci1tYXJzOiBcIlxcZjIyMlwiO1xyXG4kZmEtdmFyLW1hcnMtZG91YmxlOiBcIlxcZjIyN1wiO1xyXG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcIlxcZjIyOVwiO1xyXG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFwiXFxmMjJiXCI7XHJcbiRmYS12YXItbWFycy1zdHJva2UtdjogXCJcXGYyMmFcIjtcclxuJGZhLXZhci1tYXhjZG46IFwiXFxmMTM2XCI7XHJcbiRmYS12YXItbWVhbnBhdGg6IFwiXFxmMjBjXCI7XHJcbiRmYS12YXItbWVkaXVtOiBcIlxcZjIzYVwiO1xyXG4kZmEtdmFyLW1lZGtpdDogXCJcXGYwZmFcIjtcclxuJGZhLXZhci1tZWV0dXA6IFwiXFxmMmUwXCI7XHJcbiRmYS12YXItbWVoLW86IFwiXFxmMTFhXCI7XHJcbiRmYS12YXItbWVyY3VyeTogXCJcXGYyMjNcIjtcclxuJGZhLXZhci1taWNyb2NoaXA6IFwiXFxmMmRiXCI7XHJcbiRmYS12YXItbWljcm9waG9uZTogXCJcXGYxMzBcIjtcclxuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcIlxcZjEzMVwiO1xyXG4kZmEtdmFyLW1pbnVzOiBcIlxcZjA2OFwiO1xyXG4kZmEtdmFyLW1pbnVzLWNpcmNsZTogXCJcXGYwNTZcIjtcclxuJGZhLXZhci1taW51cy1zcXVhcmU6IFwiXFxmMTQ2XCI7XHJcbiRmYS12YXItbWludXMtc3F1YXJlLW86IFwiXFxmMTQ3XCI7XHJcbiRmYS12YXItbWl4Y2xvdWQ6IFwiXFxmMjg5XCI7XHJcbiRmYS12YXItbW9iaWxlOiBcIlxcZjEwYlwiO1xyXG4kZmEtdmFyLW1vYmlsZS1waG9uZTogXCJcXGYxMGJcIjtcclxuJGZhLXZhci1tb2R4OiBcIlxcZjI4NVwiO1xyXG4kZmEtdmFyLW1vbmV5OiBcIlxcZjBkNlwiO1xyXG4kZmEtdmFyLW1vb24tbzogXCJcXGYxODZcIjtcclxuJGZhLXZhci1tb3J0YXItYm9hcmQ6IFwiXFxmMTlkXCI7XHJcbiRmYS12YXItbW90b3JjeWNsZTogXCJcXGYyMWNcIjtcclxuJGZhLXZhci1tb3VzZS1wb2ludGVyOiBcIlxcZjI0NVwiO1xyXG4kZmEtdmFyLW11c2ljOiBcIlxcZjAwMVwiO1xyXG4kZmEtdmFyLW5hdmljb246IFwiXFxmMGM5XCI7XHJcbiRmYS12YXItbmV1dGVyOiBcIlxcZjIyY1wiO1xyXG4kZmEtdmFyLW5ld3NwYXBlci1vOiBcIlxcZjFlYVwiO1xyXG4kZmEtdmFyLW9iamVjdC1ncm91cDogXCJcXGYyNDdcIjtcclxuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXCJcXGYyNDhcIjtcclxuJGZhLXZhci1vZG5va2xhc3NuaWtpOiBcIlxcZjI2M1wiO1xyXG4kZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlOiBcIlxcZjI2NFwiO1xyXG4kZmEtdmFyLW9wZW5jYXJ0OiBcIlxcZjIzZFwiO1xyXG4kZmEtdmFyLW9wZW5pZDogXCJcXGYxOWJcIjtcclxuJGZhLXZhci1vcGVyYTogXCJcXGYyNmFcIjtcclxuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcIlxcZjIzY1wiO1xyXG4kZmEtdmFyLW91dGRlbnQ6IFwiXFxmMDNiXCI7XHJcbiRmYS12YXItcGFnZWxpbmVzOiBcIlxcZjE4Y1wiO1xyXG4kZmEtdmFyLXBhaW50LWJydXNoOiBcIlxcZjFmY1wiO1xyXG4kZmEtdmFyLXBhcGVyLXBsYW5lOiBcIlxcZjFkOFwiO1xyXG4kZmEtdmFyLXBhcGVyLXBsYW5lLW86IFwiXFxmMWQ5XCI7XHJcbiRmYS12YXItcGFwZXJjbGlwOiBcIlxcZjBjNlwiO1xyXG4kZmEtdmFyLXBhcmFncmFwaDogXCJcXGYxZGRcIjtcclxuJGZhLXZhci1wYXN0ZTogXCJcXGYwZWFcIjtcclxuJGZhLXZhci1wYXVzZTogXCJcXGYwNGNcIjtcclxuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFwiXFxmMjhiXCI7XHJcbiRmYS12YXItcGF1c2UtY2lyY2xlLW86IFwiXFxmMjhjXCI7XHJcbiRmYS12YXItcGF3OiBcIlxcZjFiMFwiO1xyXG4kZmEtdmFyLXBheXBhbDogXCJcXGYxZWRcIjtcclxuJGZhLXZhci1wZW5jaWw6IFwiXFxmMDQwXCI7XHJcbiRmYS12YXItcGVuY2lsLXNxdWFyZTogXCJcXGYxNGJcIjtcclxuJGZhLXZhci1wZW5jaWwtc3F1YXJlLW86IFwiXFxmMDQ0XCI7XHJcbiRmYS12YXItcGVyY2VudDogXCJcXGYyOTVcIjtcclxuJGZhLXZhci1waG9uZTogXCJcXGYwOTVcIjtcclxuJGZhLXZhci1waG9uZS1zcXVhcmU6IFwiXFxmMDk4XCI7XHJcbiRmYS12YXItcGhvdG86IFwiXFxmMDNlXCI7XHJcbiRmYS12YXItcGljdHVyZS1vOiBcIlxcZjAzZVwiO1xyXG4kZmEtdmFyLXBpZS1jaGFydDogXCJcXGYyMDBcIjtcclxuJGZhLXZhci1waWVkLXBpcGVyOiBcIlxcZjJhZVwiO1xyXG4kZmEtdmFyLXBpZWQtcGlwZXItYWx0OiBcIlxcZjFhOFwiO1xyXG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFwiXFxmMWE3XCI7XHJcbiRmYS12YXItcGludGVyZXN0OiBcIlxcZjBkMlwiO1xyXG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcIlxcZjIzMVwiO1xyXG4kZmEtdmFyLXBpbnRlcmVzdC1zcXVhcmU6IFwiXFxmMGQzXCI7XHJcbiRmYS12YXItcGxhbmU6IFwiXFxmMDcyXCI7XHJcbiRmYS12YXItcGxheTogXCJcXGYwNGJcIjtcclxuJGZhLXZhci1wbGF5LWNpcmNsZTogXCJcXGYxNDRcIjtcclxuJGZhLXZhci1wbGF5LWNpcmNsZS1vOiBcIlxcZjAxZFwiO1xyXG4kZmEtdmFyLXBsdWc6IFwiXFxmMWU2XCI7XHJcbiRmYS12YXItcGx1czogXCJcXGYwNjdcIjtcclxuJGZhLXZhci1wbHVzLWNpcmNsZTogXCJcXGYwNTVcIjtcclxuJGZhLXZhci1wbHVzLXNxdWFyZTogXCJcXGYwZmVcIjtcclxuJGZhLXZhci1wbHVzLXNxdWFyZS1vOiBcIlxcZjE5NlwiO1xyXG4kZmEtdmFyLXBvZGNhc3Q6IFwiXFxmMmNlXCI7XHJcbiRmYS12YXItcG93ZXItb2ZmOiBcIlxcZjAxMVwiO1xyXG4kZmEtdmFyLXByaW50OiBcIlxcZjAyZlwiO1xyXG4kZmEtdmFyLXByb2R1Y3QtaHVudDogXCJcXGYyODhcIjtcclxuJGZhLXZhci1wdXp6bGUtcGllY2U6IFwiXFxmMTJlXCI7XHJcbiRmYS12YXItcXE6IFwiXFxmMWQ2XCI7XHJcbiRmYS12YXItcXJjb2RlOiBcIlxcZjAyOVwiO1xyXG4kZmEtdmFyLXF1ZXN0aW9uOiBcIlxcZjEyOFwiO1xyXG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXCJcXGYwNTlcIjtcclxuJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUtbzogXCJcXGYyOWNcIjtcclxuJGZhLXZhci1xdW9yYTogXCJcXGYyYzRcIjtcclxuJGZhLXZhci1xdW90ZS1sZWZ0OiBcIlxcZjEwZFwiO1xyXG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcIlxcZjEwZVwiO1xyXG4kZmEtdmFyLXJhOiBcIlxcZjFkMFwiO1xyXG4kZmEtdmFyLXJhbmRvbTogXCJcXGYwNzRcIjtcclxuJGZhLXZhci1yYXZlbHJ5OiBcIlxcZjJkOVwiO1xyXG4kZmEtdmFyLXJlYmVsOiBcIlxcZjFkMFwiO1xyXG4kZmEtdmFyLXJlY3ljbGU6IFwiXFxmMWI4XCI7XHJcbiRmYS12YXItcmVkZGl0OiBcIlxcZjFhMVwiO1xyXG4kZmEtdmFyLXJlZGRpdC1hbGllbjogXCJcXGYyODFcIjtcclxuJGZhLXZhci1yZWRkaXQtc3F1YXJlOiBcIlxcZjFhMlwiO1xyXG4kZmEtdmFyLXJlZnJlc2g6IFwiXFxmMDIxXCI7XHJcbiRmYS12YXItcmVnaXN0ZXJlZDogXCJcXGYyNWRcIjtcclxuJGZhLXZhci1yZW1vdmU6IFwiXFxmMDBkXCI7XHJcbiRmYS12YXItcmVucmVuOiBcIlxcZjE4YlwiO1xyXG4kZmEtdmFyLXJlb3JkZXI6IFwiXFxmMGM5XCI7XHJcbiRmYS12YXItcmVwZWF0OiBcIlxcZjAxZVwiO1xyXG4kZmEtdmFyLXJlcGx5OiBcIlxcZjExMlwiO1xyXG4kZmEtdmFyLXJlcGx5LWFsbDogXCJcXGYxMjJcIjtcclxuJGZhLXZhci1yZXNpc3RhbmNlOiBcIlxcZjFkMFwiO1xyXG4kZmEtdmFyLXJldHdlZXQ6IFwiXFxmMDc5XCI7XHJcbiRmYS12YXItcm1iOiBcIlxcZjE1N1wiO1xyXG4kZmEtdmFyLXJvYWQ6IFwiXFxmMDE4XCI7XHJcbiRmYS12YXItcm9ja2V0OiBcIlxcZjEzNVwiO1xyXG4kZmEtdmFyLXJvdGF0ZS1sZWZ0OiBcIlxcZjBlMlwiO1xyXG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXCJcXGYwMWVcIjtcclxuJGZhLXZhci1yb3VibGU6IFwiXFxmMTU4XCI7XHJcbiRmYS12YXItcnNzOiBcIlxcZjA5ZVwiO1xyXG4kZmEtdmFyLXJzcy1zcXVhcmU6IFwiXFxmMTQzXCI7XHJcbiRmYS12YXItcnViOiBcIlxcZjE1OFwiO1xyXG4kZmEtdmFyLXJ1YmxlOiBcIlxcZjE1OFwiO1xyXG4kZmEtdmFyLXJ1cGVlOiBcIlxcZjE1NlwiO1xyXG4kZmEtdmFyLXMxNTogXCJcXGYyY2RcIjtcclxuJGZhLXZhci1zYWZhcmk6IFwiXFxmMjY3XCI7XHJcbiRmYS12YXItc2F2ZTogXCJcXGYwYzdcIjtcclxuJGZhLXZhci1zY2lzc29yczogXCJcXGYwYzRcIjtcclxuJGZhLXZhci1zY3JpYmQ6IFwiXFxmMjhhXCI7XHJcbiRmYS12YXItc2VhcmNoOiBcIlxcZjAwMlwiO1xyXG4kZmEtdmFyLXNlYXJjaC1taW51czogXCJcXGYwMTBcIjtcclxuJGZhLXZhci1zZWFyY2gtcGx1czogXCJcXGYwMGVcIjtcclxuJGZhLXZhci1zZWxsc3k6IFwiXFxmMjEzXCI7XHJcbiRmYS12YXItc2VuZDogXCJcXGYxZDhcIjtcclxuJGZhLXZhci1zZW5kLW86IFwiXFxmMWQ5XCI7XHJcbiRmYS12YXItc2VydmVyOiBcIlxcZjIzM1wiO1xyXG4kZmEtdmFyLXNoYXJlOiBcIlxcZjA2NFwiO1xyXG4kZmEtdmFyLXNoYXJlLWFsdDogXCJcXGYxZTBcIjtcclxuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcIlxcZjFlMVwiO1xyXG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXCJcXGYxNGRcIjtcclxuJGZhLXZhci1zaGFyZS1zcXVhcmUtbzogXCJcXGYwNDVcIjtcclxuJGZhLXZhci1zaGVrZWw6IFwiXFxmMjBiXCI7XHJcbiRmYS12YXItc2hlcWVsOiBcIlxcZjIwYlwiO1xyXG4kZmEtdmFyLXNoaWVsZDogXCJcXGYxMzJcIjtcclxuJGZhLXZhci1zaGlwOiBcIlxcZjIxYVwiO1xyXG4kZmEtdmFyLXNoaXJ0c2luYnVsazogXCJcXGYyMTRcIjtcclxuJGZhLXZhci1zaG9wcGluZy1iYWc6IFwiXFxmMjkwXCI7XHJcbiRmYS12YXItc2hvcHBpbmctYmFza2V0OiBcIlxcZjI5MVwiO1xyXG4kZmEtdmFyLXNob3BwaW5nLWNhcnQ6IFwiXFxmMDdhXCI7XHJcbiRmYS12YXItc2hvd2VyOiBcIlxcZjJjY1wiO1xyXG4kZmEtdmFyLXNpZ24taW46IFwiXFxmMDkwXCI7XHJcbiRmYS12YXItc2lnbi1sYW5ndWFnZTogXCJcXGYyYTdcIjtcclxuJGZhLXZhci1zaWduLW91dDogXCJcXGYwOGJcIjtcclxuJGZhLXZhci1zaWduYWw6IFwiXFxmMDEyXCI7XHJcbiRmYS12YXItc2lnbmluZzogXCJcXGYyYTdcIjtcclxuJGZhLXZhci1zaW1wbHlidWlsdDogXCJcXGYyMTVcIjtcclxuJGZhLXZhci1zaXRlbWFwOiBcIlxcZjBlOFwiO1xyXG4kZmEtdmFyLXNreWF0bGFzOiBcIlxcZjIxNlwiO1xyXG4kZmEtdmFyLXNreXBlOiBcIlxcZjE3ZVwiO1xyXG4kZmEtdmFyLXNsYWNrOiBcIlxcZjE5OFwiO1xyXG4kZmEtdmFyLXNsaWRlcnM6IFwiXFxmMWRlXCI7XHJcbiRmYS12YXItc2xpZGVzaGFyZTogXCJcXGYxZTdcIjtcclxuJGZhLXZhci1zbWlsZS1vOiBcIlxcZjExOFwiO1xyXG4kZmEtdmFyLXNuYXBjaGF0OiBcIlxcZjJhYlwiO1xyXG4kZmEtdmFyLXNuYXBjaGF0LWdob3N0OiBcIlxcZjJhY1wiO1xyXG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXCJcXGYyYWRcIjtcclxuJGZhLXZhci1zbm93Zmxha2UtbzogXCJcXGYyZGNcIjtcclxuJGZhLXZhci1zb2NjZXItYmFsbC1vOiBcIlxcZjFlM1wiO1xyXG4kZmEtdmFyLXNvcnQ6IFwiXFxmMGRjXCI7XHJcbiRmYS12YXItc29ydC1hbHBoYS1hc2M6IFwiXFxmMTVkXCI7XHJcbiRmYS12YXItc29ydC1hbHBoYS1kZXNjOiBcIlxcZjE1ZVwiO1xyXG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXCJcXGYxNjBcIjtcclxuJGZhLXZhci1zb3J0LWFtb3VudC1kZXNjOiBcIlxcZjE2MVwiO1xyXG4kZmEtdmFyLXNvcnQtYXNjOiBcIlxcZjBkZVwiO1xyXG4kZmEtdmFyLXNvcnQtZGVzYzogXCJcXGYwZGRcIjtcclxuJGZhLXZhci1zb3J0LWRvd246IFwiXFxmMGRkXCI7XHJcbiRmYS12YXItc29ydC1udW1lcmljLWFzYzogXCJcXGYxNjJcIjtcclxuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXCJcXGYxNjNcIjtcclxuJGZhLXZhci1zb3J0LXVwOiBcIlxcZjBkZVwiO1xyXG4kZmEtdmFyLXNvdW5kY2xvdWQ6IFwiXFxmMWJlXCI7XHJcbiRmYS12YXItc3BhY2Utc2h1dHRsZTogXCJcXGYxOTdcIjtcclxuJGZhLXZhci1zcGlubmVyOiBcIlxcZjExMFwiO1xyXG4kZmEtdmFyLXNwb29uOiBcIlxcZjFiMVwiO1xyXG4kZmEtdmFyLXNwb3RpZnk6IFwiXFxmMWJjXCI7XHJcbiRmYS12YXItc3F1YXJlOiBcIlxcZjBjOFwiO1xyXG4kZmEtdmFyLXNxdWFyZS1vOiBcIlxcZjA5NlwiO1xyXG4kZmEtdmFyLXN0YWNrLWV4Y2hhbmdlOiBcIlxcZjE4ZFwiO1xyXG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcIlxcZjE2Y1wiO1xyXG4kZmEtdmFyLXN0YXI6IFwiXFxmMDA1XCI7XHJcbiRmYS12YXItc3Rhci1oYWxmOiBcIlxcZjA4OVwiO1xyXG4kZmEtdmFyLXN0YXItaGFsZi1lbXB0eTogXCJcXGYxMjNcIjtcclxuJGZhLXZhci1zdGFyLWhhbGYtZnVsbDogXCJcXGYxMjNcIjtcclxuJGZhLXZhci1zdGFyLWhhbGYtbzogXCJcXGYxMjNcIjtcclxuJGZhLXZhci1zdGFyLW86IFwiXFxmMDA2XCI7XHJcbiRmYS12YXItc3RlYW06IFwiXFxmMWI2XCI7XHJcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcIlxcZjFiN1wiO1xyXG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFwiXFxmMDQ4XCI7XHJcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcIlxcZjA1MVwiO1xyXG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcIlxcZjBmMVwiO1xyXG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcIlxcZjI0OVwiO1xyXG4kZmEtdmFyLXN0aWNreS1ub3RlLW86IFwiXFxmMjRhXCI7XHJcbiRmYS12YXItc3RvcDogXCJcXGYwNGRcIjtcclxuJGZhLXZhci1zdG9wLWNpcmNsZTogXCJcXGYyOGRcIjtcclxuJGZhLXZhci1zdG9wLWNpcmNsZS1vOiBcIlxcZjI4ZVwiO1xyXG4kZmEtdmFyLXN0cmVldC12aWV3OiBcIlxcZjIxZFwiO1xyXG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XHJcbiRmYS12YXItc3R1bWJsZXVwb246IFwiXFxmMWE0XCI7XHJcbiRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlOiBcIlxcZjFhM1wiO1xyXG4kZmEtdmFyLXN1YnNjcmlwdDogXCJcXGYxMmNcIjtcclxuJGZhLXZhci1zdWJ3YXk6IFwiXFxmMjM5XCI7XHJcbiRmYS12YXItc3VpdGNhc2U6IFwiXFxmMGYyXCI7XHJcbiRmYS12YXItc3VuLW86IFwiXFxmMTg1XCI7XHJcbiRmYS12YXItc3VwZXJwb3dlcnM6IFwiXFxmMmRkXCI7XHJcbiRmYS12YXItc3VwZXJzY3JpcHQ6IFwiXFxmMTJiXCI7XHJcbiRmYS12YXItc3VwcG9ydDogXCJcXGYxY2RcIjtcclxuJGZhLXZhci10YWJsZTogXCJcXGYwY2VcIjtcclxuJGZhLXZhci10YWJsZXQ6IFwiXFxmMTBhXCI7XHJcbiRmYS12YXItdGFjaG9tZXRlcjogXCJcXGYwZTRcIjtcclxuJGZhLXZhci10YWc6IFwiXFxmMDJiXCI7XHJcbiRmYS12YXItdGFnczogXCJcXGYwMmNcIjtcclxuJGZhLXZhci10YXNrczogXCJcXGYwYWVcIjtcclxuJGZhLXZhci10YXhpOiBcIlxcZjFiYVwiO1xyXG4kZmEtdmFyLXRlbGVncmFtOiBcIlxcZjJjNlwiO1xyXG4kZmEtdmFyLXRlbGV2aXNpb246IFwiXFxmMjZjXCI7XHJcbiRmYS12YXItdGVuY2VudC13ZWlibzogXCJcXGYxZDVcIjtcclxuJGZhLXZhci10ZXJtaW5hbDogXCJcXGYxMjBcIjtcclxuJGZhLXZhci10ZXh0LWhlaWdodDogXCJcXGYwMzRcIjtcclxuJGZhLXZhci10ZXh0LXdpZHRoOiBcIlxcZjAzNVwiO1xyXG4kZmEtdmFyLXRoOiBcIlxcZjAwYVwiO1xyXG4kZmEtdmFyLXRoLWxhcmdlOiBcIlxcZjAwOVwiO1xyXG4kZmEtdmFyLXRoLWxpc3Q6IFwiXFxmMDBiXCI7XHJcbiRmYS12YXItdGhlbWVpc2xlOiBcIlxcZjJiMlwiO1xyXG4kZmEtdmFyLXRoZXJtb21ldGVyOiBcIlxcZjJjN1wiO1xyXG4kZmEtdmFyLXRoZXJtb21ldGVyLTA6IFwiXFxmMmNiXCI7XHJcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXCJcXGYyY2FcIjtcclxuJGZhLXZhci10aGVybW9tZXRlci0yOiBcIlxcZjJjOVwiO1xyXG4kZmEtdmFyLXRoZXJtb21ldGVyLTM6IFwiXFxmMmM4XCI7XHJcbiRmYS12YXItdGhlcm1vbWV0ZXItNDogXCJcXGYyYzdcIjtcclxuJGZhLXZhci10aGVybW9tZXRlci1lbXB0eTogXCJcXGYyY2JcIjtcclxuJGZhLXZhci10aGVybW9tZXRlci1mdWxsOiBcIlxcZjJjN1wiO1xyXG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFwiXFxmMmM5XCI7XHJcbiRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcjogXCJcXGYyY2FcIjtcclxuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXCJcXGYyYzhcIjtcclxuJGZhLXZhci10aHVtYi10YWNrOiBcIlxcZjA4ZFwiO1xyXG4kZmEtdmFyLXRodW1icy1kb3duOiBcIlxcZjE2NVwiO1xyXG4kZmEtdmFyLXRodW1icy1vLWRvd246IFwiXFxmMDg4XCI7XHJcbiRmYS12YXItdGh1bWJzLW8tdXA6IFwiXFxmMDg3XCI7XHJcbiRmYS12YXItdGh1bWJzLXVwOiBcIlxcZjE2NFwiO1xyXG4kZmEtdmFyLXRpY2tldDogXCJcXGYxNDVcIjtcclxuJGZhLXZhci10aW1lczogXCJcXGYwMGRcIjtcclxuJGZhLXZhci10aW1lcy1jaXJjbGU6IFwiXFxmMDU3XCI7XHJcbiRmYS12YXItdGltZXMtY2lyY2xlLW86IFwiXFxmMDVjXCI7XHJcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcIlxcZjJkM1wiO1xyXG4kZmEtdmFyLXRpbWVzLXJlY3RhbmdsZS1vOiBcIlxcZjJkNFwiO1xyXG4kZmEtdmFyLXRpbnQ6IFwiXFxmMDQzXCI7XHJcbiRmYS12YXItdG9nZ2xlLWRvd246IFwiXFxmMTUwXCI7XHJcbiRmYS12YXItdG9nZ2xlLWxlZnQ6IFwiXFxmMTkxXCI7XHJcbiRmYS12YXItdG9nZ2xlLW9mZjogXCJcXGYyMDRcIjtcclxuJGZhLXZhci10b2dnbGUtb246IFwiXFxmMjA1XCI7XHJcbiRmYS12YXItdG9nZ2xlLXJpZ2h0OiBcIlxcZjE1MlwiO1xyXG4kZmEtdmFyLXRvZ2dsZS11cDogXCJcXGYxNTFcIjtcclxuJGZhLXZhci10cmFkZW1hcms6IFwiXFxmMjVjXCI7XHJcbiRmYS12YXItdHJhaW46IFwiXFxmMjM4XCI7XHJcbiRmYS12YXItdHJhbnNnZW5kZXI6IFwiXFxmMjI0XCI7XHJcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcIlxcZjIyNVwiO1xyXG4kZmEtdmFyLXRyYXNoOiBcIlxcZjFmOFwiO1xyXG4kZmEtdmFyLXRyYXNoLW86IFwiXFxmMDE0XCI7XHJcbiRmYS12YXItdHJlZTogXCJcXGYxYmJcIjtcclxuJGZhLXZhci10cmVsbG86IFwiXFxmMTgxXCI7XHJcbiRmYS12YXItdHJpcGFkdmlzb3I6IFwiXFxmMjYyXCI7XHJcbiRmYS12YXItdHJvcGh5OiBcIlxcZjA5MVwiO1xyXG4kZmEtdmFyLXRydWNrOiBcIlxcZjBkMVwiO1xyXG4kZmEtdmFyLXRyeTogXCJcXGYxOTVcIjtcclxuJGZhLXZhci10dHk6IFwiXFxmMWU0XCI7XHJcbiRmYS12YXItdHVtYmxyOiBcIlxcZjE3M1wiO1xyXG4kZmEtdmFyLXR1bWJsci1zcXVhcmU6IFwiXFxmMTc0XCI7XHJcbiRmYS12YXItdHVya2lzaC1saXJhOiBcIlxcZjE5NVwiO1xyXG4kZmEtdmFyLXR2OiBcIlxcZjI2Y1wiO1xyXG4kZmEtdmFyLXR3aXRjaDogXCJcXGYxZThcIjtcclxuJGZhLXZhci10d2l0dGVyOiBcIlxcZjA5OVwiO1xyXG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcIlxcZjA4MVwiO1xyXG4kZmEtdmFyLXVtYnJlbGxhOiBcIlxcZjBlOVwiO1xyXG4kZmEtdmFyLXVuZGVybGluZTogXCJcXGYwY2RcIjtcclxuJGZhLXZhci11bmRvOiBcIlxcZjBlMlwiO1xyXG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFwiXFxmMjlhXCI7XHJcbiRmYS12YXItdW5pdmVyc2l0eTogXCJcXGYxOWNcIjtcclxuJGZhLXZhci11bmxpbms6IFwiXFxmMTI3XCI7XHJcbiRmYS12YXItdW5sb2NrOiBcIlxcZjA5Y1wiO1xyXG4kZmEtdmFyLXVubG9jay1hbHQ6IFwiXFxmMTNlXCI7XHJcbiRmYS12YXItdW5zb3J0ZWQ6IFwiXFxmMGRjXCI7XHJcbiRmYS12YXItdXBsb2FkOiBcIlxcZjA5M1wiO1xyXG4kZmEtdmFyLXVzYjogXCJcXGYyODdcIjtcclxuJGZhLXZhci11c2Q6IFwiXFxmMTU1XCI7XHJcbiRmYS12YXItdXNlcjogXCJcXGYwMDdcIjtcclxuJGZhLXZhci11c2VyLWNpcmNsZTogXCJcXGYyYmRcIjtcclxuJGZhLXZhci11c2VyLWNpcmNsZS1vOiBcIlxcZjJiZVwiO1xyXG4kZmEtdmFyLXVzZXItbWQ6IFwiXFxmMGYwXCI7XHJcbiRmYS12YXItdXNlci1vOiBcIlxcZjJjMFwiO1xyXG4kZmEtdmFyLXVzZXItcGx1czogXCJcXGYyMzRcIjtcclxuJGZhLXZhci11c2VyLXNlY3JldDogXCJcXGYyMWJcIjtcclxuJGZhLXZhci11c2VyLXRpbWVzOiBcIlxcZjIzNVwiO1xyXG4kZmEtdmFyLXVzZXJzOiBcIlxcZjBjMFwiO1xyXG4kZmEtdmFyLXZjYXJkOiBcIlxcZjJiYlwiO1xyXG4kZmEtdmFyLXZjYXJkLW86IFwiXFxmMmJjXCI7XHJcbiRmYS12YXItdmVudXM6IFwiXFxmMjIxXCI7XHJcbiRmYS12YXItdmVudXMtZG91YmxlOiBcIlxcZjIyNlwiO1xyXG4kZmEtdmFyLXZlbnVzLW1hcnM6IFwiXFxmMjI4XCI7XHJcbiRmYS12YXItdmlhY29pbjogXCJcXGYyMzdcIjtcclxuJGZhLXZhci12aWFkZW86IFwiXFxmMmE5XCI7XHJcbiRmYS12YXItdmlhZGVvLXNxdWFyZTogXCJcXGYyYWFcIjtcclxuJGZhLXZhci12aWRlby1jYW1lcmE6IFwiXFxmMDNkXCI7XHJcbiRmYS12YXItdmltZW86IFwiXFxmMjdkXCI7XHJcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcIlxcZjE5NFwiO1xyXG4kZmEtdmFyLXZpbmU6IFwiXFxmMWNhXCI7XHJcbiRmYS12YXItdms6IFwiXFxmMTg5XCI7XHJcbiRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmU6IFwiXFxmMmEwXCI7XHJcbiRmYS12YXItdm9sdW1lLWRvd246IFwiXFxmMDI3XCI7XHJcbiRmYS12YXItdm9sdW1lLW9mZjogXCJcXGYwMjZcIjtcclxuJGZhLXZhci12b2x1bWUtdXA6IFwiXFxmMDI4XCI7XHJcbiRmYS12YXItd2FybmluZzogXCJcXGYwNzFcIjtcclxuJGZhLXZhci13ZWNoYXQ6IFwiXFxmMWQ3XCI7XHJcbiRmYS12YXItd2VpYm86IFwiXFxmMThhXCI7XHJcbiRmYS12YXItd2VpeGluOiBcIlxcZjFkN1wiO1xyXG4kZmEtdmFyLXdoYXRzYXBwOiBcIlxcZjIzMlwiO1xyXG4kZmEtdmFyLXdoZWVsY2hhaXI6IFwiXFxmMTkzXCI7XHJcbiRmYS12YXItd2hlZWxjaGFpci1hbHQ6IFwiXFxmMjliXCI7XHJcbiRmYS12YXItd2lmaTogXCJcXGYxZWJcIjtcclxuJGZhLXZhci13aWtpcGVkaWEtdzogXCJcXGYyNjZcIjtcclxuJGZhLXZhci13aW5kb3ctY2xvc2U6IFwiXFxmMmQzXCI7XHJcbiRmYS12YXItd2luZG93LWNsb3NlLW86IFwiXFxmMmQ0XCI7XHJcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcIlxcZjJkMFwiO1xyXG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXCJcXGYyZDFcIjtcclxuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXCJcXGYyZDJcIjtcclxuJGZhLXZhci13aW5kb3dzOiBcIlxcZjE3YVwiO1xyXG4kZmEtdmFyLXdvbjogXCJcXGYxNTlcIjtcclxuJGZhLXZhci13b3JkcHJlc3M6IFwiXFxmMTlhXCI7XHJcbiRmYS12YXItd3BiZWdpbm5lcjogXCJcXGYyOTdcIjtcclxuJGZhLXZhci13cGV4cGxvcmVyOiBcIlxcZjJkZVwiO1xyXG4kZmEtdmFyLXdwZm9ybXM6IFwiXFxmMjk4XCI7XHJcbiRmYS12YXItd3JlbmNoOiBcIlxcZjBhZFwiO1xyXG4kZmEtdmFyLXhpbmc6IFwiXFxmMTY4XCI7XHJcbiRmYS12YXIteGluZy1zcXVhcmU6IFwiXFxmMTY5XCI7XHJcbiRmYS12YXIteS1jb21iaW5hdG9yOiBcIlxcZjIzYlwiO1xyXG4kZmEtdmFyLXktY29tYmluYXRvci1zcXVhcmU6IFwiXFxmMWQ0XCI7XHJcbiRmYS12YXIteWFob286IFwiXFxmMTllXCI7XHJcbiRmYS12YXIteWM6IFwiXFxmMjNiXCI7XHJcbiRmYS12YXIteWMtc3F1YXJlOiBcIlxcZjFkNFwiO1xyXG4kZmEtdmFyLXllbHA6IFwiXFxmMWU5XCI7XHJcbiRmYS12YXIteWVuOiBcIlxcZjE1N1wiO1xyXG4kZmEtdmFyLXlvYXN0OiBcIlxcZjJiMVwiO1xyXG4kZmEtdmFyLXlvdXR1YmU6IFwiXFxmMTY3XCI7XHJcbiRmYS12YXIteW91dHViZS1wbGF5OiBcIlxcZjE2YVwiO1xyXG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcIlxcZjE2NlwiO1xyXG5cclxuIl19 */\"","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cds-circle-number',\r\n templateUrl: './circle-number.component.html',\r\n styleUrls: ['./circle-number.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CircleNumberComponent implements OnInit {\r\n @Input() number: number;\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, OnInit } from '@angular/core';\r\nimport { InputValidation } from '../validations/input.validation';\r\nimport { ColorPickerDirective } from '../angular2-color-picker';\r\nimport { AppStateService } from '../services/app-state.service';\r\nimport { AccountColorsState, AccountColorsService } from '../services/account-colors.service';\r\n\r\nconst EMPTY_COLOR_IMAGE = '../assets/images/nocolor.jpg';\r\n\r\n@Component({\r\n selector: 'color-editor',\r\n template: `\r\n \r\n `\r\n})\r\n\r\nexport class ColorEditorComponent implements OnInit {\r\n @Input() disabled: boolean = false;\r\n @Input() color: string;\r\n @Input() presetColorsPersistenceKey?: string;\r\n @Input() containerSelector: string;\r\n @Output() onColorChanged: EventEmitter = new EventEmitter();\r\n @Output() onDialogShowHide: EventEmitter = new EventEmitter();\r\n @ViewChild('colorinput', { static: false }) colorinput: ElementRef;\r\n @ViewChild('colorPicker', { static: false }) colorPicker: ColorPickerDirective;\r\n scrollingContainerElement: Element;\r\n customColors: string[] = ['#FFFFFF', '#000000', '#2889e9', '#e920e9', '#fff500', '#90EE90'];\r\n\r\n get colorPickerButtonStyle() {\r\n return this.color ? { 'background': this.color } : { 'background': 'url(' + EMPTY_COLOR_IMAGE + ') no-repeat' };\r\n }\r\n\r\n constructor(private appStateService: AppStateService, private accountColorsService: AccountColorsService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n // get the element that is scrollable and can effect the position of this floating panel\r\n if (this.containerSelector && this.containerSelector !== '') {\r\n this.scrollingContainerElement = document.querySelector(this.containerSelector);\r\n }\r\n\r\n this.accountColorsService.state$.subscribe((accountColorsState: AccountColorsState) => {\r\n if (accountColorsState.isLoadingColorPickerSettings) {\r\n return;\r\n }\r\n if (accountColorsState && accountColorsState.colors) {\r\n this.customColors = accountColorsState.colors.split(',');\r\n } else {\r\n this.accountColorsService.setColors(this.customColors.join(','));\r\n }\r\n });\r\n }\r\n\r\n onpaste(event: any) {\r\n const colorInput = this.colorinput.nativeElement;\r\n const currentColor = this.color;\r\n\r\n setTimeout(() => {\r\n const colorInputValue = colorInput.value;\r\n if (this.isColorValid(colorInputValue) === false) {\r\n colorInput.value = currentColor;\r\n } else {\r\n this.onColorChanged.next(colorInputValue);\r\n }\r\n }, 1);\r\n }\r\n\r\n changeSelectedColor(color: string) {\r\n if (this.isColorValid(color) === false) {\r\n this.colorinput.nativeElement.value = this.color;\r\n } else {\r\n this.onColorChanged.next(color);\r\n }\r\n }\r\n\r\n isColorValid(color: string): boolean {\r\n let isValid: boolean = false;\r\n if (color === '' || color === null) {\r\n isValid = true;\r\n } else {\r\n isValid = InputValidation.hexColorValidation((color));\r\n if (isValid === false) {\r\n isValid = InputValidation.rgbColorValidation((color));\r\n }\r\n }\r\n return isValid;\r\n }\r\n\r\n colorChanged(color: string) {\r\n this.changeSelectedColor(color);\r\n }\r\n\r\n handleEnter(event: any) {\r\n const color = event.target.value || null;\r\n this.changeSelectedColor(color);\r\n }\r\n\r\n closeColorPicker() {\r\n if (this.colorPicker) {\r\n this.colorPicker.closeDialog();\r\n }\r\n }\r\n\r\n handleCpToggle(opened: boolean) {\r\n if (this.onDialogShowHide) {\r\n this.onDialogShowHide.next(opened);\r\n }\r\n }\r\n\r\n selectInputShowCursorInAllBrowsers(event: any) {\r\n if (this.appStateService.isBrowserEdge() || this.appStateService.isBrowserIE()) {\r\n const target: HTMLInputElement = event.target || event.srcElement || event.currentTarget;\r\n target.select();\r\n }\r\n }\r\n\r\n handlePresetColorsChanged(event: any) {\r\n if (this.presetColorsPersistenceKey) {\r\n this.accountColorsService.setColors(event.join(','));\r\n }\r\n }\r\n}\r\n","import { TabMenuModule } from 'primeng/tabmenu';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { ColorPickerModule } from '../angular2-color-picker/color-picker.module';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { AppUserFormComponent } from './app-user-form/app-user-form.component';\r\nimport { CircleNumberComponent } from './circle-number/circle-number.component';\r\nimport { ColorEditorComponent } from './color-editor.component';\r\nimport { ExpansionPanelComponent } from './expansion-panel/expansion-panel.component';\r\nimport { FontFamilySelectorComponent } from './font-family-selector.component';\r\nimport { FontSizeSelectorComponent } from './font-size-selector.component';\r\nimport { IframeDynamicContentComponent } from './iframe-dynamic-content/iframe-dynamic-content.component';\r\nimport { InlineMessageComponent } from './inline-message/inline-message.component';\r\nimport { InlineNoteComponent } from './inline-note/inline-note.component';\r\nimport { LoaderInlineComponent } from './loader-inline/loader.component';\r\nimport { LoaderComponent } from './loader-overlay/loader.component';\r\nimport { OnlyNumberInputComponent } from './only-number-input.component';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { SimpleDropdownComponent } from './simple-dropdown/simple-dropdown.component';\r\nimport { SpinnerComponent } from './spinner/spinner.component';\r\nimport { SpinnerService } from './spinner/spinner.service';\r\nimport { ToolTipComponent } from './tool-tip/tool-tip/tool-tip.component';\r\nimport { UploadButtonComponent } from './upload-button/upload-button.component';\r\nimport { YesNoDropdownComponent } from './yes-no-dropdown.component';\r\nimport { Logger, Options } from '../monitoring/logger/logger';\r\n\r\nconst components = [\r\n AppUserFormComponent,\r\n CircleNumberComponent,\r\n ColorEditorComponent,\r\n ExpansionPanelComponent,\r\n FontFamilySelectorComponent,\r\n FontSizeSelectorComponent,\r\n IframeDynamicContentComponent,\r\n InlineMessageComponent,\r\n InlineNoteComponent,\r\n LoaderComponent,\r\n LoaderInlineComponent,\r\n OnlyNumberInputComponent,\r\n SimpleDropdownComponent,\r\n SpinnerComponent,\r\n UploadButtonComponent,\r\n PageNotFoundComponent,\r\n YesNoDropdownComponent,\r\n ToolTipComponent,\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n TabMenuModule,\r\n ReactiveFormsModule,\r\n CommonDirectivesModule,\r\n ColorPickerModule,\r\n TranslateModule.forChild(),\r\n\r\n ],\r\n declarations: components,\r\n providers: [ SpinnerService, Options, Logger],\r\n exports: components,\r\n schemas: [],\r\n})\r\nexport class CommonComponentsModule {}\r\n","import { Component, ElementRef, EventEmitter, forwardRef, Input, OnInit, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { CdDateTimePickerOverlayDialogComponent } from './cd-date-time-picker-overlay-dialog.component';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs/base-dialog';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { InputSettings } from './interface';\r\n\r\nexport const CD_DATEPICKER_CONTROL_INPUT_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CdDateTimePickerInputComponent),\r\n multi: true\r\n};\r\n\r\n@Component({\r\n selector: 'cd-date-time-picker-input',\r\n template: `\r\n
\r\n
\r\n {{date | MomentDate: settings.inputFormat}}\r\n \r\n
\r\n
`,\r\n styles: [`\r\n `],\r\n providers: [CD_DATEPICKER_CONTROL_INPUT_VALUE_ACCESSOR]\r\n})\r\nexport class CdDateTimePickerInputComponent implements OnInit, ControlValueAccessor {\r\n date: Date;\r\n\r\n dateTimeFormat: string;\r\n\r\n @Input() settings: InputSettings;\r\n @Input() disabled = false;\r\n\r\n controlAccessorNotifyChange: (_?: any) => void = function () {\r\n //insert a noop function to make things simpler when not working with forms\r\n return;\r\n };\r\n\r\n controlAccessorNotifyTouched: () => void = function () {\r\n //insert a noop function to make things simpler when not working with forms\r\n return;\r\n };\r\n\r\n constructor(private dialogService: DialogService, private elementRef: ElementRef) {\r\n this.date = new Date();\r\n this.date.setSeconds(0);\r\n this.date.setMilliseconds(0);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.settings) {\r\n throw new Error('for now we do not support default settings for this input it should be handed over from outside');\r\n }\r\n }\r\n\r\n //region ControlValueAccessor API\r\n writeValue(value: Date): void {\r\n if (value !== undefined && value !== null) {\r\n this.date = new Date(value);\r\n } else {\r\n this.date = new Date();\r\n this.date.setSeconds(0);\r\n this.date.setMilliseconds(0);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.controlAccessorNotifyChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.controlAccessorNotifyTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n //endregion ControlValueAccessor API\r\n\r\n onInputClicked(event: any) {\r\n if (this.disabled) {\r\n return; //do nothing when clicked while we are disabled .\r\n }\r\n\r\n let extraData = {\r\n hostElementPosition: this.elementRef.nativeElement.getBoundingClientRect(),\r\n calendarSettings: this.settings,\r\n initialValue: this.date\r\n };\r\n\r\n this.controlAccessorNotifyTouched(); //update Angular-forms infra that this \"input\" was touched\r\n\r\n this.dialogService.createDialog(CdDateTimePickerOverlayDialogComponent, extraData, {\r\n backdropClass: 'cd-date-time-picker-overlay-dialog-backdrop',\r\n closeWhenClickedOnBackdrop: true\r\n }).onClose.subscribe((result: IDialogOnClose) => {\r\n if (result.reason === DialogCloseReason.OK) {\r\n this.date = new Date(result.data.dateSelected);\r\n this.controlAccessorNotifyChange(this.date); //update Angular-forms infra that things have changed\r\n }\r\n });\r\n }\r\n\r\n}\r\n\r\n","import { Component, ElementRef, OnDestroy, ViewChild } from '@angular/core';\r\nimport { DialogBase, DialogCloseReason } from '../../dialogs/base-dialog';\r\nimport { InputSettings, Settings } from './interface';\r\n\r\ninterface ICdDateTimePickerOverlayDialogInitData {\r\n hostElementPosition: ClientRect;\r\n calendarSettings: InputSettings;\r\n initialValue: Date;\r\n}\r\n\r\n@Component({\r\n selector: 'cd-date-time-picker-overlay-dialog',\r\n templateUrl: 'cd-date-time-picker-overlay-dialog.html',\r\n styles: [`\r\n /deep/ .cd-date-time-picker-overlay-dialog-backdrop {\r\n opacity: 0.2;\r\n }\r\n\r\n .date-time-picker-overlay-container {\r\n position: absolute;\r\n }\r\n\r\n /deep/ .date-time-picker-overlay-container--centered .wc-date-container {\r\n visibility: hidden;\r\n }\r\n `]\r\n})\r\nexport class CdDateTimePickerOverlayDialogComponent extends DialogBase implements OnDestroy {\r\n windowResizeHandler: any;\r\n\r\n dateTimePickerStyle: { top: any; left: any } = null;\r\n dateTime: Date;\r\n\r\n calendarSettings: Settings;\r\n\r\n visibility: string = 'hidden';\r\n\r\n showAsCentered = false;\r\n\r\n constructor(private dialogElement: ElementRef) {\r\n super();\r\n\r\n }\r\n\r\n onDateTimeSelected($event: any) {\r\n this.close({ reason: DialogCloseReason.OK, data: { dateSelected: $event } });\r\n }\r\n\r\n onWindowResize(event: Event) {\r\n this.close({ reason: DialogCloseReason.CANCEL });\r\n }\r\n\r\n initDialog() {\r\n this.windowResizeHandler = this.onWindowResize.bind(this);\r\n window.addEventListener('resize', this.windowResizeHandler);\r\n\r\n let dialogInitData: ICdDateTimePickerOverlayDialogInitData = this.extraData;\r\n\r\n this.calendarSettings = this.extraData.calendarSettings;\r\n //override some settings cause we are opening it from a dialog and there are some things that needs to be changed for this implementation:\r\n this.calendarSettings.defaultOpen = true;\r\n this.calendarSettings.closeOnSelect = false;\r\n\r\n this.dateTimePickerStyle = {\r\n 'top': dialogInitData.hostElementPosition.top.toString() + 'px',\r\n 'left': dialogInitData.hostElementPosition.left.toString() + 'px'\r\n };\r\n\r\n if (dialogInitData.initialValue) {\r\n this.dateTime = new Date(dialogInitData.initialValue);\r\n } else {\r\n //default to start from today.\r\n this.dateTime = new Date();\r\n //remove the seconds and milliseconds they might interfere with comparisons of times\r\n this.dateTime.setSeconds(0);\r\n this.dateTime.setMilliseconds(0);\r\n }\r\n\r\n setTimeout(() => {\r\n this.onAfterViewIsShown();\r\n });\r\n }\r\n\r\n //check if the calendar drop-down is out of screen and if so we shell show it on the middle.\r\n onAfterViewIsShown() {\r\n let dialogBoundingRect = this.dialogElement.nativeElement.getBoundingClientRect();\r\n let calendarPopoverElement = this.dialogElement.nativeElement.querySelector('.wc-date-popover');\r\n let calendarDateContainerElement = this.dialogElement.nativeElement.querySelector('.wc-date-container');\r\n\r\n let calendarPopoverBoundingRect = calendarPopoverElement.getBoundingClientRect();\r\n let calendarDateContainerBoundingRect = calendarDateContainerElement.getBoundingClientRect();\r\n\r\n if ((calendarPopoverBoundingRect.bottom > dialogBoundingRect.bottom) || (calendarPopoverBoundingRect.right > dialogBoundingRect.right)) {\r\n //here we make it show in the middle instead of the given coordinates\r\n this.showAsCentered = true;\r\n let newLeftPosition = Math.floor(dialogBoundingRect.width / 2) - Math.floor(calendarPopoverBoundingRect.width / 2);\r\n let newTopPosition = Math.floor(dialogBoundingRect.height / 2)\r\n - Math.floor(calendarPopoverBoundingRect.height / 2)\r\n - calendarDateContainerBoundingRect.height;\r\n\r\n this.dateTimePickerStyle = {\r\n 'top': newTopPosition.toString() + 'px',\r\n 'left': newLeftPosition.toString() + 'px'\r\n };\r\n }\r\n\r\n\r\n this.visibility = 'visible';\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener('resize', this.windowResizeHandler);\r\n }\r\n}\r\n","import { Component, OnInit, forwardRef, EventEmitter, Input, Output } from '@angular/core';\r\nimport { DateRange } from './model';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { Settings } from './interface';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport const CD_DATEPICKER_CONTROL_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => CdDateTimePickerComponent),\r\n multi: true\r\n};\r\n\r\n/**\r\n * this date-time-picker was take from https://cuppalabs.github.io/angular2-datetimepicker/\r\n * (it's an MIT license https://github.com/CuppaLabs/angular2-datetimepicker#license)\r\n */\r\n@Component({\r\n selector: 'cd-date-time-picker',\r\n templateUrl: 'cd-date-time-picker.html',\r\n providers: [CD_DATEPICKER_CONTROL_VALUE_ACCESSOR],\r\n styleUrls: ['cd-date-time-picker.scss', 'cd-range-picker.scss']\r\n})\r\nexport class CdDateTimePickerComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input()\r\n settings: Settings;\r\n\r\n @Output()\r\n onDateSelect: EventEmitter = new EventEmitter();\r\n\r\n selectedDate: String;\r\n date: Date;\r\n dateRange: DateRange = new DateRange();\r\n popover: Boolean = false;\r\n\r\n cal_days_in_month: Array = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n timeViewDate: Date = new Date(this.date);\r\n hourValue: number = 0;\r\n toHourValue: number = 0;\r\n minValue: number = 0;\r\n toMinValue: number = 0;\r\n timeViewMeridian: string = '';\r\n toTimeViewMeridian: string = '';\r\n timeView: boolean = false;\r\n yearView: Boolean = false;\r\n yearsList: Array = [];\r\n monthDays: Array = [];\r\n toMonthDays: Array = [];\r\n monthsView: boolean = false;\r\n today: Date = new Date();\r\n leftDate: Date = new Date();\r\n rightDate: Date = new Date();\r\n\r\n defaultSettings: Settings = {\r\n defaultOpen: false,\r\n bigBanner: true,\r\n timePicker: false,\r\n format: 'dd-MMM-yyyy hh:mm a',\r\n cal_days_labels: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\r\n cal_full_days_lables: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\r\n cal_months_labels: ['January', 'February', 'March', 'April',\r\n 'May', 'June', 'July', 'August', 'September',\r\n 'October', 'November', 'December'],\r\n cal_months_labels_short: ['JAN', 'FEB', 'MAR', 'APR',\r\n 'MAY', 'JUN', 'JUL', 'AUG', 'SEP',\r\n 'OCT', 'NOV', 'DEC'],\r\n closeOnSelect: true,\r\n rangepicker: false\r\n };\r\n\r\n\r\n /***\r\n * (ssd > endDay -> startDay = endDay -> step = 1 ) && (sed > startDay -> 2)\r\n * (ssd < endDay -> startDay = ssd - step =1) && (sed < startDay -> 2 )\r\n */\r\n rangeSelected: number = 0;\r\n\r\n private onTouchedCallback: () => {};\r\n private onChangeCallback: (_: any) => {};\r\n\r\n constructor(private translate: TranslateService) {\r\n //assign the default settings with the translated values.\r\n Object.assign(this.defaultSettings, this.createTranslatedCalendatLabels());\r\n }\r\n\r\n ngOnInit() {\r\n this.settings = Object.assign(this.defaultSettings, this.settings);\r\n if (this.settings.defaultOpen) {\r\n this.popover = true;\r\n }\r\n }\r\n\r\n writeValue(value: any) {\r\n if (value !== undefined && value !== null) {\r\n if (!this.settings.rangepicker) {\r\n this.initDate(value);\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n else {\r\n this.initDateRange(value);\r\n if (this.dateRange.startDate.getMonth() === this.dateRange.endDate.getMonth() && this.dateRange.startDate.getFullYear() === this.dateRange.endDate.getFullYear()) {\r\n this.leftDate = new Date(this.dateRange.startDate);\r\n let tempDate = new Date(this.dateRange.startDate);\r\n tempDate.setMonth(tempDate.getMonth() + 1);\r\n tempDate.setDate(1);\r\n this.rightDate = new Date(tempDate);\r\n this.monthDays = this.generateDays(this.leftDate);\r\n this.toMonthDays = this.generateDays(this.rightDate);\r\n }\r\n else {\r\n this.leftDate = new Date(this.dateRange.startDate);\r\n this.rightDate = new Date(this.dateRange.endDate);\r\n this.monthDays = this.generateDays(this.leftDate);\r\n this.toMonthDays = this.generateDays(this.rightDate);\r\n }\r\n\r\n // console.log(this.monthDays);\r\n }\r\n\r\n }\r\n else {\r\n this.date = new Date();\r\n this.date.setSeconds(0);\r\n this.date.setMilliseconds(0);\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any) {\r\n this.onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any) {\r\n this.onTouchedCallback = fn;\r\n }\r\n\r\n initDate(val: string) {\r\n this.date = new Date(val);\r\n if (this.date.getHours() <= 11) {\r\n this.hourValue = this.date.getHours();\r\n this.timeViewMeridian = 'AM';\r\n }\r\n else {\r\n this.hourValue = this.date.getHours() - 12;\r\n this.timeViewMeridian = 'PM';\r\n }\r\n if (this.date.getHours() === 0 || this.date.getHours() === 12) {\r\n this.hourValue = 12;\r\n }\r\n this.minValue = this.date.getMinutes();\r\n }\r\n\r\n initDateRange(val: DateRange) {\r\n this.dateRange.startDate = new Date(val.startDate);\r\n this.dateRange.endDate = new Date(val.endDate);\r\n if (this.dateRange.startDate.getHours() <= 11) {\r\n this.hourValue = this.dateRange.startDate.getHours();\r\n this.timeViewMeridian = 'AM';\r\n }\r\n else {\r\n this.hourValue = this.dateRange.startDate.getHours() - 12;\r\n this.timeViewMeridian = 'PM';\r\n }\r\n if (this.dateRange.startDate.getHours() === 0 || this.dateRange.startDate.getHours() === 12) {\r\n this.hourValue = 12;\r\n }\r\n this.minValue = this.dateRange.startDate.getMinutes();\r\n\r\n if (this.dateRange.endDate.getHours() <= 11) {\r\n this.toHourValue = this.dateRange.endDate.getHours();\r\n this.toTimeViewMeridian = 'AM';\r\n }\r\n else {\r\n this.toHourValue = this.dateRange.endDate.getHours() - 12;\r\n this.toTimeViewMeridian = 'PM';\r\n }\r\n if (this.dateRange.endDate.getHours() === 0 || this.dateRange.endDate.getHours() === 12) {\r\n this.toHourValue = 12;\r\n }\r\n this.toMinValue = this.dateRange.endDate.getMinutes();\r\n\r\n }\r\n\r\n generateDays(date: Date) {\r\n let year = date.getFullYear(),\r\n month = date.getMonth(),\r\n current_day = date.getDate(),\r\n today = new Date();\r\n let firstDay = new Date(year, month, 1);\r\n let startingDay = firstDay.getDay();\r\n let monthLength = this.getMonthLength(month, year);\r\n let day = 1;\r\n let dateArr = [];\r\n let dateRow = [];\r\n // this loop is for is weeks (rows)\r\n for (let i = 0; i < 9; i++) {\r\n // this loop is for weekdays (cells)\r\n dateRow = [];\r\n for (let j = 0; j <= 6; j++) {\r\n let dateCell = null;\r\n if (day <= monthLength && (i > 0 || j >= startingDay)) {\r\n dateCell = day;\r\n if (day === current_day) {\r\n // dateCell.classList.add('selected-day');\r\n }\r\n if (day === today.getDate() && date.getMonth() === today.getMonth() && date.getFullYear() === today.getFullYear()) {\r\n // dateCell.classList.add('today');\r\n }\r\n day++;\r\n }\r\n dateRow.push({ day: dateCell, date: new Date((month + 1) + '-' + dateCell + '-' + date.getFullYear()) });\r\n }\r\n // stop making rows if we've run out of days\r\n if (day > monthLength) {\r\n dateArr.push(dateRow);\r\n break;\r\n } else {\r\n dateArr.push(dateRow);\r\n }\r\n }\r\n return dateArr;\r\n }\r\n\r\n generateYearList(param: string) {\r\n if (this.settings.timePicker && this.timeView) {\r\n //if the timeview is open ignor this click\r\n return;\r\n }\r\n\r\n let startYear = null;\r\n let currentYear = null;\r\n if (param === 'next') {\r\n startYear = this.yearsList[8] + 1;\r\n currentYear = this.date.getFullYear();\r\n }\r\n else if (param === 'prev') {\r\n startYear = this.yearsList[0] - 9;\r\n currentYear = this.date.getFullYear();\r\n }\r\n else {\r\n currentYear = this.date.getFullYear();\r\n startYear = currentYear - 4;\r\n this.yearView = !this.yearView;\r\n this.monthsView = false;\r\n }\r\n for (let k = 0; k < 9; k++) {\r\n this.yearsList[k] = startYear + k;\r\n }\r\n }\r\n\r\n getMonthLength(month: number, year: number) {\r\n let monthLength = this.cal_days_in_month[month];\r\n\r\n // compensate for leap year\r\n if (month === 1) { // February only!\r\n if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {\r\n monthLength = 29;\r\n }\r\n }\r\n return monthLength;\r\n }\r\n\r\n toggleMonthView() {\r\n this.yearView = false;\r\n this.monthsView = !this.monthsView;\r\n }\r\n\r\n toggleMeridian(val: string) {\r\n this.timeViewMeridian = val;\r\n }\r\n\r\n setTimeView() {\r\n if (this.timeViewMeridian === 'AM') {\r\n if (this.hourValue === 12) {\r\n this.date.setHours(0);\r\n }\r\n else {\r\n this.date.setHours(this.hourValue);\r\n }\r\n this.date.setMinutes(this.minValue);\r\n }\r\n else {\r\n if (this.hourValue === 12) {\r\n this.date.setHours(this.hourValue);\r\n }\r\n else {\r\n this.date.setHours(this.hourValue + 12);\r\n }\r\n this.date.setMinutes(this.minValue);\r\n }\r\n this.date = new Date(this.date);\r\n this.timeView = !this.timeView;\r\n\r\n // this.onDateSelect.emit(this.date);\r\n }\r\n\r\n setDay(evt: any, type: string) {\r\n if (evt.target.innerHTML) {\r\n let selectedDay = new Date(evt.target.getAttribute('data-label'));\r\n if (type === 'range') {\r\n if (this.rangeSelected === 0) {\r\n this.setStartDate(selectedDay);\r\n }\r\n else if (this.rangeSelected === 1) {\r\n this.setEndDate(selectedDay);\r\n }\r\n } else {\r\n let hours = this.date.getHours();\r\n let min = this.date.getMinutes();\r\n this.date = new Date(selectedDay);\r\n this.date.setHours(hours);\r\n this.date.setMinutes(min);\r\n\r\n this.onChangeCallback(this.date.toString());\r\n\r\n }\r\n\r\n if (this.settings.closeOnSelect) {\r\n this.popover = false;\r\n this.onDateSelect.emit(this.date);\r\n }\r\n }\r\n }\r\n\r\n setStartDate(selectedDate: Date) {\r\n if (selectedDate < this.dateRange.endDate) {\r\n this.dateRange.startDate = new Date(selectedDate);\r\n }\r\n else if (selectedDate > this.dateRange.endDate) {\r\n this.dateRange.startDate = new Date(selectedDate);\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n this.rangeSelected = 1;\r\n }\r\n\r\n setEndDate(selectedDate: Date) {\r\n if (selectedDate > this.dateRange.startDate && (this.dateRange.startDate !== this.dateRange.endDate)) {\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n else if (selectedDate > this.dateRange.startDate && (this.dateRange.startDate === this.dateRange.endDate)) {\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n else if (selectedDate < this.dateRange.startDate && (this.dateRange.startDate !== this.dateRange.endDate)) {\r\n this.dateRange.startDate = new Date(selectedDate);\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n else if (selectedDate < this.dateRange.startDate && (this.dateRange.startDate === this.dateRange.endDate)) {\r\n this.dateRange.startDate = new Date(selectedDate);\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n else if (selectedDate.getTime() === this.dateRange.startDate.getTime()) {\r\n this.dateRange.startDate = new Date(selectedDate);\r\n this.dateRange.endDate = new Date(selectedDate);\r\n }\r\n this.rangeSelected = 0;\r\n }\r\n\r\n highlightRange(date: Date) {\r\n return (date > this.dateRange.startDate && date < this.dateRange.endDate);\r\n }\r\n\r\n setYear(evt: any) {\r\n // console.log(evt.target);\r\n let selectedYear = parseInt(evt.target.getAttribute('id'));\r\n this.date = new Date(this.date.setFullYear(selectedYear));\r\n this.yearView = !this.yearView;\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n\r\n setMonth(evt: any) {\r\n if (evt.target.getAttribute('id')) {\r\n let selectedMonth = this.settings.cal_months_labels_short.indexOf(evt.target.getAttribute('id'));\r\n this.date = new Date(this.date.setMonth(selectedMonth));\r\n this.monthsView = !this.monthsView;\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n }\r\n\r\n prevMonth(e: any) {\r\n e.stopPropagation();\r\n let self = this;\r\n if (this.date.getMonth() === 0) {\r\n this.date.setMonth(11);\r\n this.date.setFullYear(this.date.getFullYear() - 1);\r\n } else {\r\n let prevmonthLength = this.getMonthLength(this.date.getMonth() - 1, this.date.getFullYear());\r\n let currentDate = this.date.getDate();\r\n if (currentDate > prevmonthLength) {\r\n this.date.setDate(prevmonthLength);\r\n }\r\n this.date.setMonth(this.date.getMonth() - 1);\r\n }\r\n this.date = new Date(this.date);\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n\r\n nextMonth(e: any) {\r\n e.stopPropagation();\r\n let self = this;\r\n if (this.date.getMonth() === 11) {\r\n this.date.setMonth(0);\r\n this.date.setFullYear(this.date.getFullYear() + 1);\r\n } else {\r\n let nextmonthLength = this.getMonthLength(this.date.getMonth() + 1, this.date.getFullYear());\r\n let currentDate = this.date.getDate();\r\n if (currentDate > nextmonthLength) {\r\n this.date.setDate(nextmonthLength);\r\n }\r\n this.date.setMonth(this.date.getMonth() + 1);\r\n\r\n }\r\n this.date = new Date(this.date);\r\n this.monthDays = this.generateDays(this.date);\r\n }\r\n\r\n onChange(evt: any) {\r\n // console.log(evt);\r\n }\r\n\r\n incHour() {\r\n if (this.hourValue < 12) {\r\n this.hourValue += 1;\r\n // console.log(this.hourValue);\r\n }\r\n }\r\n\r\n decHour() {\r\n if (this.hourValue > 1) {\r\n this.hourValue -= 1;\r\n //console.log(this.hourValue);\r\n }\r\n }\r\n\r\n incMinutes() {\r\n if (this.minValue < 59) {\r\n this.minValue += 1;\r\n // console.log(this.minValue);\r\n }\r\n }\r\n\r\n decMinutes() {\r\n if (this.minValue > 0) {\r\n this.minValue -= 1;\r\n // console.log(this.minValue);\r\n }\r\n }\r\n\r\n done() {\r\n this.onChangeCallback(this.date.toString());\r\n this.popover = false;\r\n this.onDateSelect.emit(this.date);\r\n }\r\n\r\n togglePopover() {\r\n if (this.popover) {\r\n this.closePopover();\r\n }\r\n else {\r\n this.popover = true;\r\n }\r\n }\r\n\r\n closePopover() {\r\n this.rangeSelected = 0;\r\n this.popover = false;\r\n }\r\n\r\n composeDate(date: Date) {\r\n return (date.getMonth() + 1) + '-' + date.getDate() + '-' + date.getFullYear();\r\n }\r\n\r\n getCurrentWeek() {\r\n let curr_date = new Date();\r\n\r\n let day = curr_date.getDay();\r\n\r\n let diff = curr_date.getDate() - day + (day === 0 ? -6 : 1); // 0 for sunday\r\n\r\n let week_start_tstmp = curr_date.setDate(diff);\r\n\r\n let week_start = new Date(week_start_tstmp);\r\n\r\n\r\n let week_end = new Date(week_start_tstmp); // first day of week\r\n\r\n week_end = new Date(week_end.setDate(week_end.getDate() + 6));\r\n\r\n\r\n let date = week_start + ' to ' + week_end; // date range for current week\r\n // console.log(date);\r\n if (week_start.getMonth() === week_end.getMonth()) {\r\n this.monthDays = this.generateDays(week_start);\r\n let tempDate = new Date(week_end);\r\n tempDate.setMonth(tempDate.getMonth() + 1);\r\n tempDate.setDate(1);\r\n this.toMonthDays = this.generateDays(tempDate);\r\n }\r\n else {\r\n this.monthDays = this.generateDays(week_start);\r\n this.toMonthDays = this.generateDays(week_end);\r\n }\r\n\r\n this.setStartDate(week_start);\r\n this.setEndDate(week_end);\r\n }\r\n\r\n private createTranslatedCalendatLabels() {\r\n let labelsToReturn: any = {\r\n cal_days_labels: null,\r\n cal_full_days_lables: null,\r\n cal_months_labels: null,\r\n cal_months_labels_short: null\r\n };\r\n\r\n labelsToReturn.cal_days_labels = [\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.SUNDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.MONDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.THURSDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.WEDNESDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.THURSDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.FRIDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.DAYS.SATURDAY')\r\n ];\r\n\r\n labelsToReturn.cal_full_days_lables = [\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.SUNDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.MONDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.THURSDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.WEDNESDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.THURSDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.FRIDAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.FULL_DAYS.SATURDAY')\r\n ];\r\n\r\n labelsToReturn.cal_months_labels = [\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.JANUARY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.FEBRUARY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.MARCH'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.APRIL'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.MAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.JUNE'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.JULY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.AUGUST'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.SEPTEMBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.OCTOBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.NOVEMBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS.DECEMBER')\r\n ];\r\n\r\n labelsToReturn.cal_months_labels_short = [\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.JANUARY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.FEBRUARY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.MARCH'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.APRIL'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.MAY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.JUNE'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.JULY'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.AUGUST'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.SEPTEMBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.OCTOBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.NOVEMBER'),\r\n this.translate.instant('COMMON.DATETIME_PICKER.MONTHS_SHORT.DECEMBER')\r\n ];\r\n\r\n return labelsToReturn;\r\n }\r\n}\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DialogModule } from '../../dialogs/dialogs.module';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CdDateTimePickerComponent } from './cd-date-time-picker.component';\r\nimport { CdDateTimePickerOverlayDialogComponent } from './cd-date-time-picker-overlay-dialog.component';\r\nimport { CdDateTimePickerInputComponent } from './cd-date-time-picker-input.component';\r\nimport { CommonPipesModule } from '../../pipes/common-pipes.module';\r\nimport { CommonDirectivesModule } from '../../directives/common-directives.module';\r\n\r\n@NgModule({\r\n imports: [CommonModule, DialogModule, FormsModule, TranslateModule.forChild(), CommonPipesModule, CommonDirectivesModule],\r\n declarations: [CdDateTimePickerComponent, CdDateTimePickerOverlayDialogComponent, CdDateTimePickerInputComponent],\r\n entryComponents: [CdDateTimePickerOverlayDialogComponent],\r\n exports: [CdDateTimePickerComponent, CdDateTimePickerInputComponent]\r\n})\r\nexport class CdDateTimePickerModule {\r\n}\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700\\\");\\nbody {\\n font-family: 'Roboto', sans-serif; }\\n* {\\n box-sizing: border-box; }\\n#cuppaDatePickerContainer, #cuppaDatePicker {\\n width: 250px;\\n text-align: center;\\n margin: 0px auto;\\n font-family: 'Roboto', 'Arial', sans-serif; }\\n.year-dropdown {\\n text-align: center; }\\n.calendar-header {\\n color: #333;\\n background: #fff; }\\n.wc-date-container {\\n float: left;\\n width: 100%;\\n height: 30px;\\n border: 1px solid #153258;\\n margin-bottom: 1px;\\n font-size: 16px;\\n padding: 5px;\\n text-align: left;\\n cursor: pointer;\\n background: #fff;\\n line-height: 20px; }\\n.wc-date-container > span {\\n color: #153258; }\\n.wc-date-container > i {\\n float: right;\\n font-size: 20px;\\n color: #153258; }\\n.winkel-calendar {\\n position: relative;\\n font-family: 'Roboto', 'Arial', sans-serif; }\\n.wc-date-popover {\\n font-size: 14px;\\n box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.4);\\n margin: 0px auto;\\n perspective: 1000px;\\n float: left;\\n background: #fff;\\n background: #ffffff;\\n position: fixed;\\n width: 90%;\\n top: 5%;\\n left: 50%;\\n z-index: 9999999;\\n overflow: hidden;\\n height: 90%;\\n max-width: 320px;\\n transition: all .5s linear;\\n transform: translateX(-50%); }\\n.wc-banner {\\n /* background: #3ce5ed; */\\n float: left;\\n width: 100%;\\n font-size: 54px;\\n background: #153258; }\\n.wc-day-row {\\n padding: 5px 0px;\\n /*background: rgba(0, 0, 0, 0.09);*/\\n color: #ffffff;\\n width: 100%;\\n float: left;\\n font-size: 3vh;\\n text-align: center; }\\n.wc-date-row {\\n display: inline-block;\\n font-size: 25vw;\\n color: #ffffff;\\n padding: 5px;\\n width: 50%;\\n float: left;\\n text-align: right;\\n font-weight: 200; }\\n.wc-month-row {\\n padding: 25px 0px 0px 0px;\\n font-size: 8vw;\\n color: #ffffff;\\n width: 100%;\\n float: left; }\\n.wc-month-row > i, .wc-year-row > i {\\n float: right;\\n font-size: 12px;\\n padding: 10px 6px;\\n cursor: pointer; }\\n.wc-month-row > i:hover, .wc-year-row > i:hover {\\n color: rgba(255, 255, 255, 0.63); }\\n.wc-year-row {\\n text-align: left;\\n color: #ffffff;\\n font-size: 7vw;\\n float: left;\\n width: 100%;\\n padding: 2px 0px 0px 0px; }\\n.timepicker-true .wc-year-row {\\n font-size: 20px;\\n padding: 5px 0px 0px 12px; }\\n.timestate > .active {\\n color: #fff; }\\n.timestate span {\\n cursor: pointer; }\\n.wc-my-sec {\\n display: inline-block;\\n padding: 5px 10px;\\n float: left;\\n width: 50%;\\n font-weight: 300; }\\n.timepicker-true .wc-my-sec {\\n width: 20%; }\\n.time i {\\n font-size: 21px;\\n display: block;\\n text-align: center;\\n cursor: pointer; }\\n.time i:hover {\\n color: rgba(255, 255, 255, 0.65); }\\n.time > .hour, .time > .minutes {\\n float: left;\\n width: 48%;\\n text-align: center; }\\n.wc-month-row > div:nth-child(1), .wc-year-row > div:nth-child(1) {\\n float: left;\\n text-align: left; }\\n.wc-time-sec {\\n color: #ffffff;\\n text-align: center;\\n padding: 0px 10px 10px;\\n float: left;\\n width: 100%; }\\n.wc-time-sec > .time {\\n font-size: 38px;\\n font-weight: 300;\\n width: 100%;\\n text-align: center;\\n float: left; }\\n.time-divider {\\n width: 4%;\\n float: left;\\n text-align: center;\\n padding: 0px 10px; }\\n.time-view {\\n position: absolute;\\n background: #fff;\\n width: 100%;\\n z-index: 1;\\n top: 40px;\\n padding: 35px;\\n border-top: 1px solid #153258; }\\n.time-view-btn {\\n text-align: center; }\\n.meridian {\\n text-align: center;\\n padding: 15px 0px; }\\n.button {\\n width: 100%;\\n padding: 10px;\\n background: #153258;\\n color: #fff;\\n margin: 0px auto;\\n border: 1px solid #153258;\\n border-radius: 3px;\\n cursor: pointer; }\\n.button-sm {\\n width: 50%; }\\n.time-view .time {\\n font-size: 36px;\\n width: 100%;\\n margin: 0px auto;\\n display: inline-block;\\n padding: 5px 0px 0px 0px;\\n color: #153258;\\n font-weight: 300; }\\n.time-view .time-divider {\\n padding: 16px 0; }\\n.wc-time-sec .time input, .time-view .time input {\\n display: inline-block;\\n width: 100%;\\n background: none;\\n border: none;\\n text-align: center;\\n cursor: pointer;\\n font-family: inherit;\\n font-size: 32px;\\n font-weight: 300;\\n padding: 0px 10px;\\n text-align: center;\\n color: #153258; }\\n.inc-btn, .dec-btn {\\n font-size: 14px;\\n display: block;\\n color: #8e8e8e; }\\n.wc-time-sec > .time > .timestate {\\n float: left;\\n padding: 0px 10px; }\\n.show-time-picker .wc-date-row {\\n width: 33% !important; }\\n.show-time-picker .wc-my-sec {\\n width: 22% !important; }\\n.wc-month-controls > .fa:hover, .wc-year-controls > .fa:hover {\\n color: #fff; }\\n.wc-details > .fa:hover {\\n color: #ccc; }\\n.wc-month-controls {\\n padding: 5px;\\n font-size: 16px;\\n color: rgba(255, 255, 255, 0.71);\\n float: right; }\\n.wc-year-controls {\\n padding: 2px 5px 0px 5px;\\n font-size: 16px;\\n color: rgba(255, 255, 255, 0.71);\\n float: right; }\\n.wc-year-controls > .fa, .wc-month-controls > .fa {\\n cursor: pointer;\\n padding: 0px 4px; }\\n.wc-details {\\n float: left;\\n width: 65%;\\n padding: 10px 0px 10px;\\n color: #ffffff;\\n background: #153258; }\\n.banner-true > .wc-details {\\n padding: 10px 0px 10px; }\\n.wc-prev {\\n float: left;\\n width: 25%;\\n text-align: left;\\n padding: 0px 15px;\\n cursor: pointer;\\n font-size: 35px; }\\n.month-year {\\n float: left;\\n width: 50%;\\n font-size: 18px;\\n line-height: 35px;\\n text-align: center; }\\n.wc-next {\\n float: right;\\n width: 25%;\\n text-align: right;\\n padding: 0px 15px;\\n cursor: pointer;\\n font-size: 35px; }\\n.calendar-days {\\n min-height: 210px;\\n color: #07c;\\n background: #fff; }\\n.cal-util {\\n width: 100%;\\n float: left;\\n position: absolute;\\n bottom: 0;\\n background: #fff;\\n border-top: 1px solid #f2f2f2; }\\n.cal-util > .ok {\\n width: 100%;\\n padding: 5px;\\n float: left;\\n color: #153258;\\n font-size: 18px;\\n border-top: 1px solid #d1d1d1;\\n text-align: center;\\n cursor: pointer; }\\n.ok > i {\\n margin-right: 5px; }\\n.cal-util > .cancel {\\n width: 50%;\\n float: left;\\n padding: 10px;\\n color: #153258;\\n font-size: 20px; }\\n.cal-util > .ok:hover, .cal-util > .cancel:hover {\\n box-shadow: inset 0px 0px 20px #ccc; }\\n.range-date-popover .cal-util {\\n padding: 10px; }\\n.range-date-popover .cal-util .btn-xs {\\n float: right; }\\n.btn-xs {\\n padding: 5px 10px;\\n width: auto; }\\n.today > span {\\n border: 1px solid #153258;\\n background: none; }\\n.selected-day > span {\\n /*background: #3ce5ed;*/\\n background: #153258;\\n color: #fff; }\\n.calendar-days td {\\n cursor: pointer; }\\n.calendar-day:hover > span {\\n background: #153258;\\n color: #fff; }\\n.winkel-calendar table {\\n width: 100%;\\n text-align: center;\\n font-size: 18px;\\n border-collapse: collapse; }\\n.winkel-calendar table td {\\n padding: 0px 0px;\\n width: calc((100%) / 7);\\n text-align: center;\\n transition: all .1s linear; }\\n.winkel-calendar table td span {\\n display: block;\\n padding: 7px;\\n margin: 0px;\\n line-height: 32px; }\\n.calendar-header td {\\n padding: 5px 0px !important; }\\n.months-view, .years-view {\\n background: #fff;\\n width: 100%;\\n top: 210px;\\n width: 100%;\\n height: calc(100% - 210px);\\n bottom: 0;\\n text-align: center; }\\n.years-list-view {\\n float: left;\\n width: calc(100% - 60px);\\n height: 100%; }\\n.months-view > span, .years-list-view > span {\\n display: inline-block;\\n width: 25%;\\n padding: 25px 0px;\\n cursor: pointer;\\n font-size: 16px; }\\n.years-list-view > span {\\n width: 33.3333%; }\\n.years-view > .prev, .years-view > .next {\\n float: left;\\n width: 30px;\\n padding: 85px 0px;\\n cursor: pointer;\\n font-size: 30px; }\\n.years-view > .prev:hover, .years-view > .next:hover {\\n color: #ccc; }\\n.years-view > .next {\\n float: right; }\\n.current-month, .current-year {\\n color: #153258; }\\n.years-view > span {\\n width: 33.3333%; }\\n.months-view > span:hover, .years-list-view > span:hover {\\n color: #153258; }\\n.banner-true {\\n padding-top: 0px !important; }\\n.banner-true > .wc-banner {\\n margin-bottom: 0px !important; }\\n.banner-true > .time-view {\\n height: calc(100% - 124px);\\n top: 142px; }\\n.methods {\\n clear: left;\\n padding: 50px 0px;\\n text-align: center; }\\n.month-year i {\\n cursor: pointer;\\n font-size: 10px; }\\n.timepicker-true .wc-month-row {\\n font-size: 28px;\\n padding: 5px 0px 5px 15px; }\\n.timepicker-true .wc-month-row > i, .wc-year-row > i {\\n padding: 8px 6px; }\\n.timepicker-true .wc-my-sec {\\n padding: 16px 2px; }\\n.timepicker-true .wc-time-sec {\\n width: 48%;\\n padding: 25px 0px;\\n margin: 0px;\\n cursor: pointer; }\\n.timepicker-true .wc-time-sec:hover {\\n color: rgba(255, 255, 255, 0.65); }\\n.timepicker-true .wc-time-sec > .time {\\n width: 75%;\\n cursor: pointer; }\\n.timepicker-true .time i {\\n display: none; }\\n.timepicker-true .time-divider {\\n padding: 0px; }\\n.timepicker-true .timestate {\\n padding: 0px;\\n width: auto;\\n padding-top: 7px;\\n font-size: 20px;\\n font-weight: 300; }\\n.year-title {\\n width: 35%;\\n float: left;\\n line-height: 55px;\\n font-size: 18px;\\n color: #ffffff;\\n background: #153258; }\\n.year-title i {\\n float: right;\\n padding: 13px 10px 7px 0px;\\n font-size: 28px; }\\n/*@media (min-width: 365px) and (max-width: 767px) {\\r\\n .wc-date-row {\\r\\n }\\r\\n .timepicker-true .wc-date-row {\\r\\n width: 54%;\\r\\n padding: 20px 5px 10px;\\r\\n }\\r\\n .timepicker-true .wc-my-sec {\\r\\n padding: 33px 2px 10px;\\r\\n width: 46%;\\r\\n }\\r\\n .timepicker-true .wc-time-sec {\\r\\n width: 100%;\\r\\n padding: 0px 0px 15px 0px;\\r\\n }\\r\\n .timepicker-true .wc-time-sec > .time {\\r\\n width: 35%;\\r\\n float: none;\\r\\n margin: 0px auto;\\r\\n font-size: 42px;\\r\\n }\\r\\n .timepicker-true .wc-month-row {\\r\\n font-size: 42px;\\r\\n padding: 5px 0px 5px 5px;\\r\\n }\\r\\n .timepicker-true .wc-year-row {\\r\\n font-size: 24px;\\r\\n padding: 15px 0px 0px 5px;\\r\\n }\\r\\n .timepicker-true .timestate {\\r\\n font-size: 22px;\\r\\n font-weight: 100;\\r\\n }\\r\\n .months-view, .years-view {\\r\\n top: 297px;\\r\\n }\\r\\n .banner-true > .time-view {\\r\\n top: 240px;\\r\\n }\\r\\n .time-view .time {\\r\\n font-size: 62px;\\r\\n }\\r\\n .cuppa-btn-group {\\r\\n font-size: 22px;\\r\\n font-weight: 300;\\r\\n }\\r\\n .angular-range-slider {\\r\\n height: 5px;\\r\\n margin: 20px auto 25px auto;\\r\\n }\\r\\n .angular-range-slider div.handle {\\r\\n width: 45px;\\r\\n height: 45px;\\r\\n top: -20px;\\r\\n font-size: 26px;\\r\\n }\\r\\n .time-view-btn {\\r\\n padding: 25px 0px;\\r\\n }\\r\\n .button-sm {\\r\\n width: 80%;\\r\\n padding: 10px;\\r\\n font-size: 16px;\\r\\n }\\r\\n .cuppa-btn-group > .button {\\r\\n padding: 5px 15px !important;\\r\\n }\\r\\n\\r\\n}*/\\n.wc-date-popover {\\n width: 250px;\\n position: absolute;\\n top: 31px;\\n height: auto;\\n left: 0;\\n transform: translateX(0); }\\n.wc-day-row {\\n padding: 5px 0px;\\n font-size: 0.25em; }\\n.wc-date-row {\\n font-size: 1em;\\n padding: 5px; }\\n.wc-my-sec {\\n padding: 5px 0px; }\\n.timepicker-true .wc-my-sec {\\n padding: 15px 3px; }\\n.wc-month-row {\\n padding: 10px 0px 0px 0px;\\n font-size: 0.4em; }\\n.wc-year-row {\\n font-size: 0.3em;\\n padding: 0px; }\\n.month-year {\\n font-size: 14px;\\n line-height: 20px;\\n cursor: pointer; }\\n.wc-prev, .wc-next {\\n font-size: 18px; }\\n.wc-details {\\n padding: 10px 0px 10px; }\\n.year-title {\\n line-height: 40px;\\n font-size: 16px; }\\n.year-title i {\\n padding: 11px 10px 10px 0px;\\n font-size: 18px; }\\n.calendar-header td {\\n padding: 5px 0px !important; }\\n.winkel-calendar table {\\n font-size: 14px; }\\n.winkel-calendar table td span {\\n line-height: 24px;\\n width: 35px;\\n height: 35px; }\\n.months-view, .years-view {\\n top: 40px;\\n width: 100%;\\n height: calc(100%); }\\n.banner-true .months-view, .banner-true .years-view {\\n top: 165px;\\n height: calc(100% - 128px); }\\n.winkel-calendar table td span {\\n padding: 6px; }\\n.cal-util > .ok {\\n font-size: 14px;\\n padding: 10px; }\\n.wc-time-sec > .time {\\n font-size: 0.35em;\\n cursor: pointer; }\\n.time i {\\n font-size: 10px; }\\n.wc-time-sec > .timestate {\\n font-size: 16px; }\\n.wc-month-row > div:nth-child(1), .wc-year-row > div:nth-child(1) {\\n min-width: 35px; }\\n.wc-month-row > i, .wc-year-row > i {\\n font-size: 8px; }\\n.cal-util {\\n position: relative; }\\n.banner-true > .time-view {\\n top: 159px; }\\n.timepicker-true .wc-month-row {\\n padding: 6px 0px 0px 0px;\\n font-size: 18px; }\\n.timepicker-true .wc-year-row {\\n padding: 0px 0px 0px 0px;\\n font-size: 16px; }\\n.time-view h5 {\\n text-align: left;\\n width: 80%;\\n margin: 0px auto;\\n padding: 5px 0px;\\n font-weight: 400; }\\n.cuppa-btn-group {\\n display: inline-flex; }\\n.cuppa-btn-group > .active {\\n background: #153258 !important;\\n color: #fff !important; }\\n.cuppa-btn-group > .button {\\n border: 1px solid #153258;\\n background: #fff;\\n border-radius: 3px;\\n float: left;\\n margin: 0px;\\n align-items: initial;\\n color: #153258;\\n width: auto;\\n padding: 5px 10px; }\\n.cuppa-btn-group > .button:first-child {\\n border-top-right-radius: 0px;\\n border-bottom-right-radius: 0px;\\n border-right: 0px; }\\n.cuppa-btn-group > .button:last-child {\\n border-top-left-radius: 0px;\\n border-bottom-left-radius: 0px; }\\n/* Slider CSS*/\\n.slider {\\n width: 200px;\\n height: 5px;\\n background: #ccc;\\n border-radius: 5px;\\n margin: 12px auto;\\n position: relative; }\\n.slider > .circle {\\n width: 20px;\\n height: 20px;\\n background: #fff;\\n position: absolute;\\n top: -8px;\\n border-radius: 20px;\\n left: 60px;\\n box-shadow: 0px 0px 5px #ccc;\\n cursor: pointer; }\\ninput[type='number'] {\\n -moz-appearance: textfield; }\\n/* Webkit browsers like Safari and Chrome */\\ninput[type=number]::-webkit-inner-spin-button,\\ninput[type=number]::-webkit-outer-spin-button {\\n -webkit-appearance: none;\\n margin: 0; }\\n.range-highlight {\\n background: #f2f2f2; }\\n.clock-icon {\\n text-align: center;\\n color: #153258; }\\n.time-close {\\n position: absolute;\\n right: 15px;\\n top: 15px;\\n cursor: pointer; }\\n.util-list {\\n list-style: none;\\n float: left;\\n padding: 0px;\\n margin: 0px; }\\n.util-list li {\\n float: left;\\n padding: 5px; }\\n.util-list li a {\\n color: #007bff;\\n cursor: pointer; }\\n.util-list li a:hover {\\n color: #14569d;\\n text-decoration: underline; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxkYXRlLXRpbWUtcGlja2VyXFxjZC1kYXRlLXRpbWUtcGlja2VyLnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2NkLWRhdGUtdGltZS1waWNrZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpRkFBWTtBQUtaO0VBQ0UsaUNBQWlDLEVBQUE7QUFHbkM7RUFDRSxzQkFBc0IsRUFBQTtBQUd4QjtFQUNFLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLDBDQUEwQyxFQUFBO0FBRzVDO0VBQ0Usa0JBQWtCLEVBQUE7QUFHcEI7RUFDRSxXQUFXO0VBQ1gsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxXQUFXO0VBQ1gsV0FBVztFQUNYLFlBQVk7RUFDWix5QkEvQmtCO0VBZ0NsQixrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTtBQUduQjtFQUNFLGNBMUNrQixFQUFBO0FBNkNwQjtFQUNFLFlBQVk7RUFDWixlQUFlO0VBQ2YsY0FoRGtCLEVBQUE7QUFtRHBCO0VBQ0Usa0JBQWtCO0VBQ2xCLDBDQUEwQyxFQUFBO0FBRzVDO0VBQ0UsZUFBZTtFQUNmLHVIQUF1SDtFQUN2SCxnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsbUJBOUR1QjtFQStEdkIsZUFBZTtFQUNmLFVBQVU7RUFDVixPQUFPO0VBQ1AsU0FBUztFQUNULGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQiwwQkFBMEI7RUFDMUIsMkJBQTJCLEVBQUE7QUFHN0I7RUFDRSx5QkFBQTtFQUNBLFdBQVc7RUFDWCxXQUFXO0VBQ1gsZUFBZTtFQUNmLG1CQWpGa0IsRUFBQTtBQW9GcEI7RUFDRSxnQkFBZ0I7RUFDaEIsbUNBQUE7RUFDQSxjQXRGdUI7RUF1RnZCLFdBQVc7RUFDWCxXQUFXO0VBQ1gsY0FBYztFQUNkLGtCQUFrQixFQUFBO0FBR3BCO0VBQ0UscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixjQWhHdUI7RUFpR3ZCLFlBQVk7RUFDWixVQUFVO0VBQ1YsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHlCQUF5QjtFQUN6QixjQUFjO0VBQ2QsY0EzR3VCO0VBNEd2QixXQUFXO0VBQ1gsV0FBVyxFQUFBO0FBT2I7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7QUFHakI7RUFDRSxnQ0FBZ0MsRUFBQTtBQUdsQztFQUNFLGdCQUFnQjtFQUNoQixjQWpJdUI7RUFrSXZCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsV0FBVztFQUNYLHdCQUF3QixFQUFBO0FBRzFCO0VBQ0UsZUFBZTtFQUNmLHlCQUF5QixFQUFBO0FBRzNCO0VBQ0UsV0FBVyxFQUFBO0FBR2I7RUFDRSxlQUFlLEVBQUE7QUFHakI7RUFDRSxxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxVQUFVLEVBQUE7QUFHWjtFQUNFLGVBQWU7RUFDZixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtBQUdqQjtFQUNFLGdDQUFnQyxFQUFBO0FBR2xDO0VBQ0UsV0FBVztFQUNYLFVBQVU7RUFDVixrQkFBa0IsRUFBQTtBQUdwQjtFQUNFLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLGNBeEx1QjtFQXlMdkIsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsV0FBVyxFQUFBO0FBR2I7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsV0FBVyxFQUFBO0FBR2I7RUFDRSxTQUFTO0VBQ1QsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTtBQUduQjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLFVBQVU7RUFDVixTQUFTO0VBQ1QsYUFBYTtFQUNiLDZCQXROa0IsRUFBQTtBQXlOcEI7RUFDRSxrQkFBa0IsRUFBQTtBQUdwQjtFQUNFLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTtBQUduQjtFQUNFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUJBck9rQjtFQXNPbEIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQix5QkF4T2tCO0VBeU9sQixrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsVUFBVSxFQUFBO0FBR1o7RUFDRSxlQUFlO0VBQ2YsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixxQkFBcUI7RUFDckIsd0JBQXdCO0VBQ3hCLGNBdlBrQjtFQXdQbEIsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxlQUFlLEVBQUE7QUFHakI7RUFDRSxxQkFBcUI7RUFDckIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGVBQWU7RUFDZixvQkFBb0I7RUFDcEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGNBM1FrQixFQUFBO0FBOFFwQjtFQUNFLGVBQWU7RUFDZixjQUFjO0VBQ2QsY0FBYyxFQUFBO0FBR2hCO0VBQ0UsV0FBVztFQUNYLGlCQUFpQixFQUFBO0FBR25CO0VBQ0UscUJBQXFCLEVBQUE7QUFHdkI7RUFDRSxxQkFBcUIsRUFBQTtBQUd2QjtFQUNFLFdBQVcsRUFBQTtBQUdiO0VBQ0UsV0FBVyxFQUFBO0FBR2I7RUFDRSxZQUFZO0VBQ1osZUFBZTtFQUNmLGdDQUFnQztFQUNoQyxZQUFZLEVBQUE7QUFHZDtFQUNFLHdCQUF3QjtFQUN4QixlQUFlO0VBQ2YsZ0NBQWdDO0VBQ2hDLFlBQVksRUFBQTtBQUdkO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UsV0FBVztFQUNYLFVBQVU7RUFDVixzQkFBc0I7RUFDdEIsY0EvVHVCO0VBZ1V2QixtQkFqVWtCLEVBQUE7QUFvVXBCO0VBQ0Usc0JBQXNCLEVBQUE7QUFHeEI7RUFDRSxXQUFXO0VBQ1gsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGVBQWUsRUFBQTtBQUdqQjtFQUNFLFdBQVc7RUFDWCxVQUFVO0VBQ1YsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixrQkFBa0IsRUFBQTtBQUdwQjtFQUNFLFlBQVk7RUFDWixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixlQUFlO0VBQ2YsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsNkJBQTZCLEVBQUE7QUFHL0I7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxjQXJYa0I7RUFzWGxCLGVBQWU7RUFDZiw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtBQUdqQjtFQUNFLGlCQUFpQixFQUFBO0FBR25CO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FwWWtCO0VBcVlsQixlQUFlLEVBQUE7QUFHakI7RUFDRSxtQ0FBbUMsRUFBQTtBQUdyQztFQUNFLGFBQWEsRUFBQTtBQUdmO0VBQ0UsWUFBWSxFQUFBO0FBR2Q7RUFDRSxpQkFBaUI7RUFDakIsV0FBVyxFQUFBO0FBR2I7RUFDRSx5QkExWmtCO0VBMlpsQixnQkFBZ0IsRUFBQTtBQUdsQjtFQUNFLHVCQUFBO0VBQ0EsbUJBaGFrQjtFQWlhbEIsV0FBVyxFQUFBO0FBT2I7RUFDRSxlQUFlLEVBQUE7QUFHakI7RUFDRSxtQkE3YWtCO0VBOGFsQixXQUFXLEVBQUE7QUFHYjtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsZUFBZTtFQUNmLHlCQUF5QixFQUFBO0FBRzNCO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsMEJBQTBCLEVBQUE7QUFHNUI7RUFDRSxjQUFjO0VBQ2QsWUFBWTtFQUNaLFdBQVc7RUFDWCxpQkFBaUIsRUFBQTtBQUduQjtFQUNFLDJCQUEyQixFQUFBO0FBRzdCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsV0FBVztFQUNYLDBCQUEwQjtFQUMxQixTQUFTO0VBQ1Qsa0JBQWtCLEVBQUE7QUFJcEI7RUFDRSxXQUFXO0VBQ1gsd0JBQXdCO0VBQ3hCLFlBQVksRUFBQTtBQUdkO0VBQ0UscUJBQXFCO0VBQ3JCLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGVBQWUsRUFBQTtBQUdqQjtFQUNFLGVBQ0YsRUFBQTtBQUVBO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGVBQWUsRUFBQTtBQUdqQjtFQUNFLFdBQVcsRUFBQTtBQUdiO0VBQ0UsWUFBWSxFQUFBO0FBR2Q7RUFDRSxjQXhma0IsRUFBQTtBQTJmcEI7RUFDRSxlQUFlLEVBQUE7QUFHakI7RUFDRSxjQWhnQmtCLEVBQUE7QUFtZ0JwQjtFQUNFLDJCQUEyQixFQUFBO0FBRzdCO0VBQ0UsNkJBQTZCLEVBQUE7QUFHL0I7RUFDRSwwQkFBMEI7RUFDMUIsVUFBVSxFQUFBO0FBR1o7RUFDRSxXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0FBR3BCO0VBQ0UsZUFBZTtFQUNmLGVBQWUsRUFBQTtBQUdqQjtFQUNFLGVBQWU7RUFDZix5QkFBeUIsRUFBQTtBQU0zQjtFQUNFLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UsaUJBQWlCLEVBQUE7QUFHbkI7RUFDRSxVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxlQUFlLEVBQUE7QUFHakI7RUFDRSxnQ0FBZ0MsRUFBQTtBQUdsQztFQUNFLFVBQVU7RUFDVixlQUFlLEVBQUE7QUFHakI7RUFDRSxhQUFhLEVBQUE7QUFHZjtFQUNFLFlBQVksRUFBQTtBQUdkO0VBQ0UsWUFBWTtFQUNaLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQixFQUFBO0FBR2xCO0VBQ0UsVUFBVTtFQUNWLFdBQVc7RUFDWCxpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGNBL2tCdUI7RUFnbEJ2QixtQkFqbEJrQixFQUFBO0FBb2xCcEI7RUFDRSxZQUFZO0VBQ1osMEJBQTBCO0VBQzFCLGVBQWUsRUFBQTtBQUlqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUMzQ0U7QURtSEE7RUFDRSxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxZQUFZO0VBQ1osT0FBTztFQUNQLHdCQUF3QixFQUFBO0FBRTFCO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBO0FBRW5CO0VBQ0UsY0FBYztFQUNkLFlBQVksRUFBQTtBQUVkO0VBQ0UsZ0JBQWdCLEVBQUE7QUFFbEI7RUFDRSxpQkFBaUIsRUFBQTtBQUVuQjtFQUNFLHlCQUF5QjtFQUN6QixnQkFBZ0IsRUFBQTtBQUVsQjtFQUNFLGdCQUFnQjtFQUNoQixZQUFZLEVBQUE7QUFFZDtFQUNFLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZUFBZSxFQUFBO0FBSWpCO0VBQ0UsZUFBZSxFQUFBO0FBRWpCO0VBQ0Usc0JBQXNCLEVBQUE7QUFFeEI7RUFDRSxpQkFBaUI7RUFDakIsZUFBZSxFQUFBO0FBRWpCO0VBQ0UsMkJBQTJCO0VBQzNCLGVBQWUsRUFBQTtBQUVqQjtFQUNFLDJCQUEyQixFQUFBO0FBRTdCO0VBQ0UsZUFBZSxFQUFBO0FBRWpCO0VBQ0UsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxZQUFZLEVBQUE7QUFFZDtFQUNFLFNBQVM7RUFDVCxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7QUFFcEI7RUFDRSxVQUFVO0VBQ1YsMEJBQTBCLEVBQUE7QUFFNUI7RUFDRSxZQUFZLEVBQUE7QUFFZDtFQUNFLGVBQWU7RUFDZixhQUFhLEVBQUE7QUFFZjtFQUNFLGlCQUFpQjtFQUNqQixlQUFlLEVBQUE7QUFFakI7RUFDRSxlQUFlLEVBQUE7QUFFakI7RUFDRSxlQUFlLEVBQUE7QUFFakI7RUFDRSxlQUFlLEVBQUE7QUFFakI7RUFDRSxjQUFjLEVBQUE7QUFFaEI7RUFDRSxrQkFBa0IsRUFBQTtBQUVwQjtFQUNFLFVBQVUsRUFBQTtBQUVaO0VBQ0Usd0JBQXdCO0VBQ3hCLGVBQWUsRUFBQTtBQUVqQjtFQUNFLHdCQUF3QjtFQUN4QixlQUFlLEVBQUE7QUFJbkI7RUFDRSxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxvQkFBb0IsRUFBQTtBQUd0QjtFQUNFLDhCQUFrQztFQUNsQyxzQkFBc0IsRUFBQTtBQUd4QjtFQUNFLHlCQW55QmtCO0VBb3lCbEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsV0FBVztFQUNYLG9CQUFvQjtFQUNwQixjQXp5QmtCO0VBMHlCbEIsV0FBVztFQUNYLGlCQUFpQixFQUFBO0FBR25CO0VBQ0UsNEJBQTRCO0VBQzVCLCtCQUErQjtFQUMvQixpQkFBaUIsRUFBQTtBQUduQjtFQUNFLDJCQUEyQjtFQUMzQiw4QkFBOEIsRUFBQTtBQUdoQyxjQUFBO0FBRUE7RUFDRSxZQUFZO0VBQ1osV0FBVztFQUNYLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0FBR3BCO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLDRCQUE0QjtFQUM1QixlQUFlLEVBQUE7QUFHakI7RUFDRSwwQkFBMEIsRUFBQTtBQUc1QiwyQ0FBQTtBQUNBOztFQUVFLHdCQUF3QjtFQUN4QixTQUFTLEVBQUE7QUFHWDtFQUNFLG1CQUFtQixFQUFBO0FBR3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBajJCa0IsRUFBQTtBQW8yQnBCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxTQUFTO0VBQ1QsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZO0VBQ1osV0FBVyxFQUFBO0FBR2I7RUFDRSxXQUFXO0VBQ1gsWUFBWSxFQUFBO0FBR2Q7RUFDRSxjQUFjO0VBQ2QsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsY0FBYztFQUNkLDBCQUEwQixFQUFBIiwiZmlsZSI6InByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvY2QtZGF0ZS10aW1lLXBpY2tlci5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG86MTAwLDMwMCw0MDAsNTAwLDcwMCcpO1xyXG5cclxuJGJhc2UtY29sb3I6ICMxNTMyNTg7XHJcbiRzZWNvbmRhcnktY29sb3I6ICNmZmZmZmY7XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbioge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbiNjdXBwYURhdGVQaWNrZXJDb250YWluZXIsICNjdXBwYURhdGVQaWNrZXIge1xyXG4gIHdpZHRoOiAyNTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwcHggYXV0bztcclxuICBmb250LWZhbWlseTogJ1JvYm90bycsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi55ZWFyLWRyb3Bkb3duIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1oZWFkZXIge1xyXG4gIGNvbG9yOiAjMzMzO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi53Yy1kYXRlLWNvbnRhaW5lciB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRiYXNlLWNvbG9yO1xyXG4gIG1hcmdpbi1ib3R0b206IDFweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi53Yy1kYXRlLWNvbnRhaW5lciA+IHNwYW4ge1xyXG4gIGNvbG9yOiAkYmFzZS1jb2xvcjtcclxufVxyXG5cclxuLndjLWRhdGUtY29udGFpbmVyID4gaSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBjb2xvcjogJGJhc2UtY29sb3I7XHJcbn1cclxuXHJcbi53aW5rZWwtY2FsZW5kYXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LWZhbWlseTogJ1JvYm90bycsICdBcmlhbCcsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi53Yy1kYXRlLXBvcG92ZXIge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICBtYXJnaW46IDBweCBhdXRvO1xyXG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB3aWR0aDogOTAlO1xyXG4gIHRvcDogNSU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBoZWlnaHQ6IDkwJTtcclxuICBtYXgtd2lkdGg6IDMyMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAuNXMgbGluZWFyO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuLndjLWJhbm5lciB7XHJcbiAgLyogYmFja2dyb3VuZDogIzNjZTVlZDsgKi9cclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDU0cHg7XHJcbiAgYmFja2dyb3VuZDogJGJhc2UtY29sb3I7XHJcbn1cclxuXHJcbi53Yy1kYXktcm93IHtcclxuICBwYWRkaW5nOiA1cHggMHB4O1xyXG4gIC8qYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA5KTsqL1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZTogM3ZoO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLndjLWRhdGUtcm93IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgZm9udC1zaXplOiAyNXZ3O1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICB3aWR0aDogNTAlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbn1cclxuXHJcbi53Yy1tb250aC1yb3cge1xyXG4gIHBhZGRpbmc6IDI1cHggMHB4IDBweCAwcHg7XHJcbiAgZm9udC1zaXplOiA4dnc7XHJcbiAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi53Yy1tb250aC1yb3cgPiBkaXYsIC53Yy15ZWFyLXJvdyA+IGRpdiB7XHJcblxyXG59XHJcblxyXG4ud2MtbW9udGgtcm93ID4gaSwgLndjLXllYXItcm93ID4gaSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBwYWRkaW5nOiAxMHB4IDZweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi53Yy1tb250aC1yb3cgPiBpOmhvdmVyLCAud2MteWVhci1yb3cgPiBpOmhvdmVyIHtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYzKTtcclxufVxyXG5cclxuLndjLXllYXItcm93IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogN3Z3O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDJweCAwcHggMHB4IDBweDtcclxufVxyXG5cclxuLnRpbWVwaWNrZXItdHJ1ZSAud2MteWVhci1yb3cge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBwYWRkaW5nOiA1cHggMHB4IDBweCAxMnB4O1xyXG59XHJcblxyXG4udGltZXN0YXRlID4gLmFjdGl2ZSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi50aW1lc3RhdGUgc3BhbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ud2MtbXktc2VjIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG4udGltZXBpY2tlci10cnVlIC53Yy1teS1zZWMge1xyXG4gIHdpZHRoOiAyMCU7XHJcbn1cclxuXHJcbi50aW1lIGkge1xyXG4gIGZvbnQtc2l6ZTogMjFweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4udGltZSBpOmhvdmVyIHtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcclxufVxyXG5cclxuLnRpbWUgPiAuaG91ciwgLnRpbWUgPiAubWludXRlcyB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDQ4JTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi53Yy1tb250aC1yb3cgPiBkaXY6bnRoLWNoaWxkKDEpLCAud2MteWVhci1yb3cgPiBkaXY6bnRoLWNoaWxkKDEpIHtcclxuICBmbG9hdDogbGVmdDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ud2MtdGltZS1zZWMge1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwcHggMTBweCAxMHB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ud2MtdGltZS1zZWMgPiAudGltZSB7XHJcbiAgZm9udC1zaXplOiAzOHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4udGltZS1kaXZpZGVyIHtcclxuICB3aWR0aDogNCU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDBweCAxMHB4O1xyXG59XHJcblxyXG4udGltZS12aWV3IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHRvcDogNDBweDtcclxuICBwYWRkaW5nOiAzNXB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmFzZS1jb2xvcjtcclxufVxyXG5cclxuLnRpbWUtdmlldy1idG4ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLm1lcmlkaWFuIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMTVweCAwcHg7XHJcbn1cclxuXHJcbi5idXR0b24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogJGJhc2UtY29sb3I7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgbWFyZ2luOiAwcHggYXV0bztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1jb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnV0dG9uLXNtIHtcclxuICB3aWR0aDogNTAlO1xyXG59XHJcblxyXG4udGltZS12aWV3IC50aW1lIHtcclxuICBmb250LXNpemU6IDM2cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiAwcHggYXV0bztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcGFkZGluZzogNXB4IDBweCAwcHggMHB4O1xyXG4gIGNvbG9yOiAkYmFzZS1jb2xvcjtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG4udGltZS12aWV3IC50aW1lLWRpdmlkZXIge1xyXG4gIHBhZGRpbmc6IDE2cHggMDtcclxufVxyXG5cclxuLndjLXRpbWUtc2VjIC50aW1lIGlucHV0LCAudGltZS12aWV3IC50aW1lIGlucHV0IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICBmb250LXNpemU6IDMycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBwYWRkaW5nOiAwcHggMTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6ICRiYXNlLWNvbG9yO1xyXG59XHJcblxyXG4uaW5jLWJ0biwgLmRlYy1idG4ge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBjb2xvcjogIzhlOGU4ZTtcclxufVxyXG5cclxuLndjLXRpbWUtc2VjID4gLnRpbWUgPiAudGltZXN0YXRlIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiAwcHggMTBweDtcclxufVxyXG5cclxuLnNob3ctdGltZS1waWNrZXIgLndjLWRhdGUtcm93IHtcclxuICB3aWR0aDogMzMlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaG93LXRpbWUtcGlja2VyIC53Yy1teS1zZWMge1xyXG4gIHdpZHRoOiAyMiUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndjLW1vbnRoLWNvbnRyb2xzID4gLmZhOmhvdmVyLCAud2MteWVhci1jb250cm9scyA+IC5mYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi53Yy1kZXRhaWxzID4gLmZhOmhvdmVyIHtcclxuICBjb2xvcjogI2NjYztcclxufVxyXG5cclxuLndjLW1vbnRoLWNvbnRyb2xzIHtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzEpO1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLndjLXllYXItY29udHJvbHMge1xyXG4gIHBhZGRpbmc6IDJweCA1cHggMHB4IDVweDtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43MSk7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ud2MteWVhci1jb250cm9scyA+IC5mYSwgLndjLW1vbnRoLWNvbnRyb2xzID4gLmZhIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgcGFkZGluZzogMHB4IDRweDtcclxufVxyXG5cclxuLndjLWRldGFpbHMge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiA2NSU7XHJcbiAgcGFkZGluZzogMTBweCAwcHggMTBweDtcclxuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2xvcjtcclxufVxyXG5cclxuLmJhbm5lci10cnVlID4gLndjLWRldGFpbHMge1xyXG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHg7XHJcbn1cclxuXHJcbi53Yy1wcmV2IHtcclxuICBmbG9hdDogbGVmdDtcclxuICB3aWR0aDogMjUlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgcGFkZGluZzogMHB4IDE1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMzVweDtcclxufVxyXG5cclxuLm1vbnRoLXllYXIge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAzNXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLndjLW5leHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICB3aWR0aDogMjUlO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIHBhZGRpbmc6IDBweCAxNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDM1cHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1kYXlzIHtcclxuICBtaW4taGVpZ2h0OiAyMTBweDtcclxuICBjb2xvcjogIzA3YztcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4uY2FsLXV0aWwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3R0b206IDA7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMjtcclxufVxyXG5cclxuLmNhbC11dGlsID4gLm9rIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgY29sb3I6ICRiYXNlLWNvbG9yO1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ub2sgPiBpIHtcclxuICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmNhbC11dGlsID4gLmNhbmNlbCB7XHJcbiAgd2lkdGg6IDUwJTtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGNvbG9yOiAkYmFzZS1jb2xvcjtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbn1cclxuXHJcbi5jYWwtdXRpbCA+IC5vazpob3ZlciwgLmNhbC11dGlsID4gLmNhbmNlbDpob3ZlciB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAyMHB4ICNjY2M7XHJcbn1cclxuXHJcbi5yYW5nZS1kYXRlLXBvcG92ZXIgLmNhbC11dGlsIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4ucmFuZ2UtZGF0ZS1wb3BvdmVyIC5jYWwtdXRpbCAuYnRuLXhzIHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5idG4teHMge1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4udG9kYXkgPiBzcGFuIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG59XHJcblxyXG4uc2VsZWN0ZWQtZGF5ID4gc3BhbiB7XHJcbiAgLypiYWNrZ3JvdW5kOiAjM2NlNWVkOyovXHJcbiAgYmFja2dyb3VuZDogJGJhc2UtY29sb3I7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5jYWxlbmRhci1oZWFkZXIge1xyXG5cclxufVxyXG5cclxuLmNhbGVuZGFyLWRheXMgdGQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNhbGVuZGFyLWRheTpob3ZlciA+IHNwYW4ge1xyXG4gIGJhY2tncm91bmQ6ICRiYXNlLWNvbG9yO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ud2lua2VsLWNhbGVuZGFyIHRhYmxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuXHJcbi53aW5rZWwtY2FsZW5kYXIgdGFibGUgdGQge1xyXG4gIHBhZGRpbmc6IDBweCAwcHg7XHJcbiAgd2lkdGg6IGNhbGMoKDEwMCUpIC8gNyk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMXMgbGluZWFyO1xyXG59XHJcblxyXG4ud2lua2VsLWNhbGVuZGFyIHRhYmxlIHRkIHNwYW4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBhZGRpbmc6IDdweDtcclxuICBtYXJnaW46IDBweDtcclxuICBsaW5lLWhlaWdodDogMzJweDtcclxufVxyXG5cclxuLmNhbGVuZGFyLWhlYWRlciB0ZCB7XHJcbiAgcGFkZGluZzogNXB4IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubW9udGhzLXZpZXcsIC55ZWFycy12aWV3IHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRvcDogMjEwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMTBweCk7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbn1cclxuXHJcbi55ZWFycy1saXN0LXZpZXcge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5tb250aHMtdmlldyA+IHNwYW4sIC55ZWFycy1saXN0LXZpZXcgPiBzcGFuIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDI1JTtcclxuICBwYWRkaW5nOiAyNXB4IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4ueWVhcnMtbGlzdC12aWV3ID4gc3BhbiB7XHJcbiAgd2lkdGg6IDMzLjMzMzMlXHJcbn1cclxuXHJcbi55ZWFycy12aWV3ID4gLnByZXYsIC55ZWFycy12aWV3ID4gLm5leHQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIHBhZGRpbmc6IDg1cHggMHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDMwcHg7XHJcbn1cclxuXHJcbi55ZWFycy12aWV3ID4gLnByZXY6aG92ZXIsIC55ZWFycy12aWV3ID4gLm5leHQ6aG92ZXIge1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4ueWVhcnMtdmlldyA+IC5uZXh0IHtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5jdXJyZW50LW1vbnRoLCAuY3VycmVudC15ZWFyIHtcclxuICBjb2xvcjogJGJhc2UtY29sb3I7XHJcbn1cclxuXHJcbi55ZWFycy12aWV3ID4gc3BhbiB7XHJcbiAgd2lkdGg6IDMzLjMzMzMlO1xyXG59XHJcblxyXG4ubW9udGhzLXZpZXcgPiBzcGFuOmhvdmVyLCAueWVhcnMtbGlzdC12aWV3ID4gc3Bhbjpob3ZlciB7XHJcbiAgY29sb3I6ICRiYXNlLWNvbG9yO1xyXG59XHJcblxyXG4uYmFubmVyLXRydWUge1xyXG4gIHBhZGRpbmctdG9wOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJhbm5lci10cnVlID4gLndjLWJhbm5lciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYW5uZXItdHJ1ZSA+IC50aW1lLXZpZXcge1xyXG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTI0cHgpO1xyXG4gIHRvcDogMTQycHg7XHJcbn1cclxuXHJcbi5tZXRob2RzIHtcclxuICBjbGVhcjogbGVmdDtcclxuICBwYWRkaW5nOiA1MHB4IDBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tb250aC15ZWFyIGkge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbn1cclxuXHJcbi50aW1lcGlja2VyLXRydWUgLndjLW1vbnRoLXJvdyB7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIHBhZGRpbmc6IDVweCAwcHggNXB4IDE1cHg7XHJcbn1cclxuXHJcbi50aW1lcGlja2VyLXRydWUgLndjLW1vbnRoLXJvdyA+IGRpdjpudGgtY2hpbGQoMSksIC53Yy15ZWFyLXJvdyA+IGRpdjpudGgtY2hpbGQoMSkge1xyXG59XHJcblxyXG4udGltZXBpY2tlci10cnVlIC53Yy1tb250aC1yb3cgPiBpLCAud2MteWVhci1yb3cgPiBpIHtcclxuICBwYWRkaW5nOiA4cHggNnB4O1xyXG59XHJcblxyXG4udGltZXBpY2tlci10cnVlIC53Yy1teS1zZWMge1xyXG4gIHBhZGRpbmc6IDE2cHggMnB4O1xyXG59XHJcblxyXG4udGltZXBpY2tlci10cnVlIC53Yy10aW1lLXNlYyB7XHJcbiAgd2lkdGg6IDQ4JTtcclxuICBwYWRkaW5nOiAyNXB4IDBweDtcclxuICBtYXJnaW46IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50aW1lcGlja2VyLXRydWUgLndjLXRpbWUtc2VjOmhvdmVyIHtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcclxufVxyXG5cclxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtdGltZS1zZWMgPiAudGltZSB7XHJcbiAgd2lkdGg6IDc1JTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi50aW1lcGlja2VyLXRydWUgLnRpbWUgaSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnRpbWVwaWNrZXItdHJ1ZSAudGltZS1kaXZpZGVyIHtcclxuICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi50aW1lcGlja2VyLXRydWUgLnRpbWVzdGF0ZSB7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbi55ZWFyLXRpdGxlIHtcclxuICB3aWR0aDogMzUlO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2xvcjtcclxufVxyXG5cclxuLnllYXItdGl0bGUgaSB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHBhZGRpbmc6IDEzcHggMTBweCA3cHggMHB4O1xyXG4gIGZvbnQtc2l6ZTogMjhweDtcclxufVxyXG5cclxuLy8gRVlBTDogcmVtb3ZlZCB0aGUgcmVzcG9uc2l2bmVzcyBmdW5jdGlvbmFsaXR5IGZvciBub3cgc2luY2Ugd2UgZG9uJ3QgbmVlZCBpdC5cclxuLypAbWVkaWEgKG1pbi13aWR0aDogMzY1cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIC53Yy1kYXRlLXJvdyB7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLWRhdGUtcm93IHtcclxuICAgIHdpZHRoOiA1NCU7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDVweCAxMHB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy1teS1zZWMge1xyXG4gICAgcGFkZGluZzogMzNweCAycHggMTBweDtcclxuICAgIHdpZHRoOiA0NiU7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLXRpbWUtc2VjIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMHB4IDBweCAxNXB4IDBweDtcclxuICB9XHJcbiAgLnRpbWVwaWNrZXItdHJ1ZSAud2MtdGltZS1zZWMgPiAudGltZSB7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweCBhdXRvO1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy1tb250aC1yb3cge1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gICAgcGFkZGluZzogNXB4IDBweCA1cHggNXB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy15ZWFyLXJvdyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDBweCAwcHggNXB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC50aW1lc3RhdGUge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICB9XHJcbiAgLm1vbnRocy12aWV3LCAueWVhcnMtdmlldyB7XHJcbiAgICB0b3A6IDI5N3B4O1xyXG4gIH1cclxuICAuYmFubmVyLXRydWUgPiAudGltZS12aWV3IHtcclxuICAgIHRvcDogMjQwcHg7XHJcbiAgfVxyXG4gIC50aW1lLXZpZXcgLnRpbWUge1xyXG4gICAgZm9udC1zaXplOiA2MnB4O1xyXG4gIH1cclxuICAuY3VwcGEtYnRuLWdyb3VwIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgfVxyXG4gIC5hbmd1bGFyLXJhbmdlLXNsaWRlciB7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvIDI1cHggYXV0bztcclxuICB9XHJcbiAgLmFuZ3VsYXItcmFuZ2Utc2xpZGVyIGRpdi5oYW5kbGUge1xyXG4gICAgd2lkdGg6IDQ1cHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gIH1cclxuICAudGltZS12aWV3LWJ0biB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDBweDtcclxuICB9XHJcbiAgLmJ1dHRvbi1zbSB7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbiAgLmN1cHBhLWJ0bi1ncm91cCA+IC5idXR0b24ge1xyXG4gICAgcGFkZGluZzogNXB4IDE1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59Ki9cclxuXHJcbi8vIEVZQUw6IHJlbW92ZWQgdGhlIHJlc3BvbnNpdm5lc3MgZnVuY3Rpb25hbGl0eSBmb3Igbm93IHNpbmNlIHdlIGRvbid0IG5lZWQgaXQuXHJcbi8vQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgLndjLWRhdGUtcG9wb3ZlciB7XHJcbiAgICB3aWR0aDogMjUwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDMxcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gIH1cclxuICAud2MtZGF5LXJvdyB7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4O1xyXG4gICAgZm9udC1zaXplOiAwLjI1ZW07XHJcbiAgfVxyXG4gIC53Yy1kYXRlLXJvdyB7XHJcbiAgICBmb250LXNpemU6IDFlbTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICB9XHJcbiAgLndjLW15LXNlYyB7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy1teS1zZWMge1xyXG4gICAgcGFkZGluZzogMTVweCAzcHg7XHJcbiAgfVxyXG4gIC53Yy1tb250aC1yb3cge1xyXG4gICAgcGFkZGluZzogMTBweCAwcHggMHB4IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMC40ZW07XHJcbiAgfVxyXG4gIC53Yy15ZWFyLXJvdyB7XHJcbiAgICBmb250LXNpemU6IDAuM2VtO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gIH1cclxuICAubW9udGgteWVhciB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgLndjLW1vbnRoLXJvdyA+IGRpdjpudGgtY2hpbGQoMSksIC53Yy15ZWFyLXJvdyA+IGRpdjpudGgtY2hpbGQoMSkge1xyXG4gIH1cclxuICAud2MtcHJldiwgLndjLW5leHQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gIH1cclxuICAud2MtZGV0YWlscyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4O1xyXG4gIH1cclxuICAueWVhci10aXRsZSB7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbiAgLnllYXItdGl0bGUgaSB7XHJcbiAgICBwYWRkaW5nOiAxMXB4IDEwcHggMTBweCAwcHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG4gIC5jYWxlbmRhci1oZWFkZXIgdGQge1xyXG4gICAgcGFkZGluZzogNXB4IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAud2lua2VsLWNhbGVuZGFyIHRhYmxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcbiAgLndpbmtlbC1jYWxlbmRhciB0YWJsZSB0ZCBzcGFuIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgfVxyXG4gIC5tb250aHMtdmlldywgLnllYXJzLXZpZXcge1xyXG4gICAgdG9wOiA0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSk7XHJcbiAgfVxyXG4gIC5iYW5uZXItdHJ1ZSAubW9udGhzLXZpZXcsIC5iYW5uZXItdHJ1ZSAueWVhcnMtdmlldyB7XHJcbiAgICB0b3A6IDE2NXB4O1xyXG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxMjhweCk7XHJcbiAgfVxyXG4gIC53aW5rZWwtY2FsZW5kYXIgdGFibGUgdGQgc3BhbiB7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgfVxyXG4gIC5jYWwtdXRpbCA+IC5vayB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gIH1cclxuICAud2MtdGltZS1zZWMgPiAudGltZSB7XHJcbiAgICBmb250LXNpemU6IDAuMzVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgLnRpbWUgaSB7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgfVxyXG4gIC53Yy10aW1lLXNlYyA+IC50aW1lc3RhdGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxuICAud2MtbW9udGgtcm93ID4gZGl2Om50aC1jaGlsZCgxKSwgLndjLXllYXItcm93ID4gZGl2Om50aC1jaGlsZCgxKSB7XHJcbiAgICBtaW4td2lkdGg6IDM1cHg7XHJcbiAgfVxyXG4gIC53Yy1tb250aC1yb3cgPiBpLCAud2MteWVhci1yb3cgPiBpIHtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gIH1cclxuICAuY2FsLXV0aWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICAuYmFubmVyLXRydWUgPiAudGltZS12aWV3IHtcclxuICAgIHRvcDogMTU5cHg7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLW1vbnRoLXJvdyB7XHJcbiAgICBwYWRkaW5nOiA2cHggMHB4IDBweCAwcHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLXllYXItcm93IHtcclxuICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbi8vfSAvL0VZQUw6IHJlbW92ZWQgdGhlIHJlc3BvbnNpdm5lc3MgZnVuY3Rpb25hbGl0eSBmb3Igbm93IHNpbmNlIHdlIGRvbid0IG5lZWQgaXQuXHJcblxyXG4udGltZS12aWV3IGg1IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgbWFyZ2luOiAwcHggYXV0bztcclxuICBwYWRkaW5nOiA1cHggMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5jdXBwYS1idG4tZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG59XHJcblxyXG4uY3VwcGEtYnRuLWdyb3VwID4gLmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZDogJGJhc2UtY29sb3IgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY3VwcGEtYnRuLWdyb3VwID4gLmJ1dHRvbiB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJhc2UtY29sb3I7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbiAgYWxpZ24taXRlbXM6IGluaXRpYWw7XHJcbiAgY29sb3I6ICRiYXNlLWNvbG9yO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xyXG59XHJcblxyXG4uY3VwcGEtYnRuLWdyb3VwID4gLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xyXG4gIGJvcmRlci1yaWdodDogMHB4O1xyXG59XHJcblxyXG4uY3VwcGEtYnRuLWdyb3VwID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xyXG59XHJcblxyXG4vKiBTbGlkZXIgQ1NTKi9cclxuXHJcbi5zbGlkZXIge1xyXG4gIHdpZHRoOiAyMDBweDtcclxuICBoZWlnaHQ6IDVweDtcclxuICBiYWNrZ3JvdW5kOiAjY2NjO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBtYXJnaW46IDEycHggYXV0bztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zbGlkZXIgPiAuY2lyY2xlIHtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgbGVmdDogNjBweDtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAjY2NjO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xyXG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcblxyXG4vKiBXZWJraXQgYnJvd3NlcnMgbGlrZSBTYWZhcmkgYW5kIENocm9tZSAqL1xyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnJhbmdlLWhpZ2hsaWdodCB7XHJcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcclxufVxyXG5cclxuLmNsb2NrLWljb24ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBjb2xvcjogJGJhc2UtY29sb3I7XHJcbn1cclxuXHJcbi50aW1lLWNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDE1cHg7XHJcbiAgdG9wOiAxNXB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnV0aWwtbGlzdCB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiAwcHg7XHJcbiAgbWFyZ2luOiAwcHg7XHJcbn1cclxuXHJcbi51dGlsLWxpc3QgbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLnV0aWwtbGlzdCBsaSBhIHtcclxuICBjb2xvcjogIzAwN2JmZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi51dGlsLWxpc3QgbGkgYTpob3ZlciB7XHJcbiAgY29sb3I6ICMxNDU2OWQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuIiwiQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjEwMCwzMDAsNDAwLDUwMCw3MDBcIik7XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOyB9XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiNjdXBwYURhdGVQaWNrZXJDb250YWluZXIsICNjdXBwYURhdGVQaWNrZXIge1xuICB3aWR0aDogMjUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCAnQXJpYWwnLCBzYW5zLXNlcmlmOyB9XG5cbi55ZWFyLWRyb3Bkb3duIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jYWxlbmRhci1oZWFkZXIge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4ud2MtZGF0ZS1jb250YWluZXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE1MzI1ODtcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG4ud2MtZGF0ZS1jb250YWluZXIgPiBzcGFuIHtcbiAgY29sb3I6ICMxNTMyNTg7IH1cblxuLndjLWRhdGUtY29udGFpbmVyID4gaSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBjb2xvcjogIzE1MzI1ODsgfVxuXG4ud2lua2VsLWNhbGVuZGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogJ1JvYm90bycsICdBcmlhbCcsIHNhbnMtc2VyaWY7IH1cblxuLndjLWRhdGUtcG9wb3ZlciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiA5MCU7XG4gIHRvcDogNSU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiA5MCU7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAuNXMgbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLndjLWJhbm5lciB7XG4gIC8qIGJhY2tncm91bmQ6ICMzY2U1ZWQ7ICovXG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiA1NHB4O1xuICBiYWNrZ3JvdW5kOiAjMTUzMjU4OyB9XG5cbi53Yy1kYXktcm93IHtcbiAgcGFkZGluZzogNXB4IDBweDtcbiAgLypiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDkpOyovXG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogM3ZoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLndjLWRhdGUtcm93IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDI1dnc7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IDIwMDsgfVxuXG4ud2MtbW9udGgtcm93IHtcbiAgcGFkZGluZzogMjVweCAwcHggMHB4IDBweDtcbiAgZm9udC1zaXplOiA4dnc7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLndjLW1vbnRoLXJvdyA+IGksIC53Yy15ZWFyLXJvdyA+IGkge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMTBweCA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ud2MtbW9udGgtcm93ID4gaTpob3ZlciwgLndjLXllYXItcm93ID4gaTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjMpOyB9XG5cbi53Yy15ZWFyLXJvdyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDd2dztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAycHggMHB4IDBweCAwcHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MteWVhci1yb3cge1xuICBmb250LXNpemU6IDIwcHg7XG4gIHBhZGRpbmc6IDVweCAwcHggMHB4IDEycHg7IH1cblxuLnRpbWVzdGF0ZSA+IC5hY3RpdmUge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udGltZXN0YXRlIHNwYW4ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLndjLW15LXNlYyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi50aW1lcGlja2VyLXRydWUgLndjLW15LXNlYyB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnRpbWUgaSB7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi50aW1lIGk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTsgfVxuXG4udGltZSA+IC5ob3VyLCAudGltZSA+IC5taW51dGVzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0OCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ud2MtbW9udGgtcm93ID4gZGl2Om50aC1jaGlsZCgxKSwgLndjLXllYXItcm93ID4gZGl2Om50aC1jaGlsZCgxKSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi53Yy10aW1lLXNlYyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDBweCAxMHB4IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ud2MtdGltZS1zZWMgPiAudGltZSB7XG4gIGZvbnQtc2l6ZTogMzhweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpbWUtZGl2aWRlciB7XG4gIHdpZHRoOiA0JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMHB4IDEwcHg7IH1cblxuLnRpbWUtdmlldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogNDBweDtcbiAgcGFkZGluZzogMzVweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMxNTMyNTg7IH1cblxuLnRpbWUtdmlldy1idG4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1lcmlkaWFuIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDBweDsgfVxuXG4uYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMxNTMyNTg7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTUzMjU4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnV0dG9uLXNtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4udGltZS12aWV3IC50aW1lIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMHB4IDBweCAwcHg7XG4gIGNvbG9yOiAjMTUzMjU4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi50aW1lLXZpZXcgLnRpbWUtZGl2aWRlciB7XG4gIHBhZGRpbmc6IDE2cHggMDsgfVxuXG4ud2MtdGltZS1zZWMgLnRpbWUgaW5wdXQsIC50aW1lLXZpZXcgLnRpbWUgaW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAwcHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzE1MzI1ODsgfVxuXG4uaW5jLWJ0biwgLmRlYy1idG4ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzhlOGU4ZTsgfVxuXG4ud2MtdGltZS1zZWMgPiAudGltZSA+IC50aW1lc3RhdGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMHB4IDEwcHg7IH1cblxuLnNob3ctdGltZS1waWNrZXIgLndjLWRhdGUtcm93IHtcbiAgd2lkdGg6IDMzJSAhaW1wb3J0YW50OyB9XG5cbi5zaG93LXRpbWUtcGlja2VyIC53Yy1teS1zZWMge1xuICB3aWR0aDogMjIlICFpbXBvcnRhbnQ7IH1cblxuLndjLW1vbnRoLWNvbnRyb2xzID4gLmZhOmhvdmVyLCAud2MteWVhci1jb250cm9scyA+IC5mYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi53Yy1kZXRhaWxzID4gLmZhOmhvdmVyIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLndjLW1vbnRoLWNvbnRyb2xzIHtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzEpO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLndjLXllYXItY29udHJvbHMge1xuICBwYWRkaW5nOiAycHggNXB4IDBweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43MSk7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ud2MteWVhci1jb250cm9scyA+IC5mYSwgLndjLW1vbnRoLWNvbnRyb2xzID4gLmZhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwcHggNHB4OyB9XG5cbi53Yy1kZXRhaWxzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA2NSU7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiAjMTUzMjU4OyB9XG5cbi5iYW5uZXItdHJ1ZSA+IC53Yy1kZXRhaWxzIHtcbiAgcGFkZGluZzogMTBweCAwcHggMTBweDsgfVxuXG4ud2MtcHJldiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwcHggMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDM1cHg7IH1cblxuLm1vbnRoLXllYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi53Yy1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMjUlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZzogMHB4IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAzNXB4OyB9XG5cbi5jYWxlbmRhci1kYXlzIHtcbiAgbWluLWhlaWdodDogMjEwcHg7XG4gIGNvbG9yOiAjMDdjO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5jYWwtdXRpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG5cbi5jYWwtdXRpbCA+IC5vayB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzE1MzI1ODtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm9rID4gaSB7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5jYWwtdXRpbCA+IC5jYW5jZWwge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICMxNTMyNTg7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uY2FsLXV0aWwgPiAub2s6aG92ZXIsIC5jYWwtdXRpbCA+IC5jYW5jZWw6aG92ZXIge1xuICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDIwcHggI2NjYzsgfVxuXG4ucmFuZ2UtZGF0ZS1wb3BvdmVyIC5jYWwtdXRpbCB7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLnJhbmdlLWRhdGUtcG9wb3ZlciAuY2FsLXV0aWwgLmJ0bi14cyB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYnRuLXhzIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50b2RheSA+IHNwYW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTUzMjU4O1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5zZWxlY3RlZC1kYXkgPiBzcGFuIHtcbiAgLypiYWNrZ3JvdW5kOiAjM2NlNWVkOyovXG4gIGJhY2tncm91bmQ6ICMxNTMyNTg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5jYWxlbmRhci1kYXlzIHRkIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jYWxlbmRhci1kYXk6aG92ZXIgPiBzcGFuIHtcbiAgYmFja2dyb3VuZDogIzE1MzI1ODtcbiAgY29sb3I6ICNmZmY7IH1cblxuLndpbmtlbC1jYWxlbmRhciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuXG4ud2lua2VsLWNhbGVuZGFyIHRhYmxlIHRkIHtcbiAgcGFkZGluZzogMHB4IDBweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUpIC8gNyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIC4xcyBsaW5lYXI7IH1cblxuLndpbmtlbC1jYWxlbmRhciB0YWJsZSB0ZCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDdweDtcbiAgbWFyZ2luOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG5cbi5jYWxlbmRhci1oZWFkZXIgdGQge1xuICBwYWRkaW5nOiA1cHggMHB4ICFpbXBvcnRhbnQ7IH1cblxuLm1vbnRocy12aWV3LCAueWVhcnMtdmlldyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDIxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMTBweCk7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi55ZWFycy1saXN0LXZpZXcge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLm1vbnRocy12aWV3ID4gc3BhbiwgLnllYXJzLWxpc3QtdmlldyA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDI1cHggMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4ueWVhcnMtbGlzdC12aWV3ID4gc3BhbiB7XG4gIHdpZHRoOiAzMy4zMzMzJTsgfVxuXG4ueWVhcnMtdmlldyA+IC5wcmV2LCAueWVhcnMtdmlldyA+IC5uZXh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMHB4O1xuICBwYWRkaW5nOiA4NXB4IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDMwcHg7IH1cblxuLnllYXJzLXZpZXcgPiAucHJldjpob3ZlciwgLnllYXJzLXZpZXcgPiAubmV4dDpob3ZlciB7XG4gIGNvbG9yOiAjY2NjOyB9XG5cbi55ZWFycy12aWV3ID4gLm5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmN1cnJlbnQtbW9udGgsIC5jdXJyZW50LXllYXIge1xuICBjb2xvcjogIzE1MzI1ODsgfVxuXG4ueWVhcnMtdmlldyA+IHNwYW4ge1xuICB3aWR0aDogMzMuMzMzMyU7IH1cblxuLm1vbnRocy12aWV3ID4gc3Bhbjpob3ZlciwgLnllYXJzLWxpc3QtdmlldyA+IHNwYW46aG92ZXIge1xuICBjb2xvcjogIzE1MzI1ODsgfVxuXG4uYmFubmVyLXRydWUge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmJhbm5lci10cnVlID4gLndjLWJhbm5lciB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG5cbi5iYW5uZXItdHJ1ZSA+IC50aW1lLXZpZXcge1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEyNHB4KTtcbiAgdG9wOiAxNDJweDsgfVxuXG4ubWV0aG9kcyB7XG4gIGNsZWFyOiBsZWZ0O1xuICBwYWRkaW5nOiA1MHB4IDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tb250aC15ZWFyIGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDsgfVxuXG4udGltZXBpY2tlci10cnVlIC53Yy1tb250aC1yb3cge1xuICBmb250LXNpemU6IDI4cHg7XG4gIHBhZGRpbmc6IDVweCAwcHggNXB4IDE1cHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtbW9udGgtcm93ID4gaSwgLndjLXllYXItcm93ID4gaSB7XG4gIHBhZGRpbmc6IDhweCA2cHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtbXktc2VjIHtcbiAgcGFkZGluZzogMTZweCAycHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtdGltZS1zZWMge1xuICB3aWR0aDogNDglO1xuICBwYWRkaW5nOiAyNXB4IDBweDtcbiAgbWFyZ2luOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGltZXBpY2tlci10cnVlIC53Yy10aW1lLXNlYzpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpOyB9XG5cbi50aW1lcGlja2VyLXRydWUgLndjLXRpbWUtc2VjID4gLnRpbWUge1xuICB3aWR0aDogNzUlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAudGltZSBpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGltZXBpY2tlci10cnVlIC50aW1lLWRpdmlkZXIge1xuICBwYWRkaW5nOiAwcHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAudGltZXN0YXRlIHtcbiAgcGFkZGluZzogMHB4O1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi55ZWFyLXRpdGxlIHtcbiAgd2lkdGg6IDM1JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiAjMTUzMjU4OyB9XG5cbi55ZWFyLXRpdGxlIGkge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDEzcHggMTBweCA3cHggMHB4O1xuICBmb250LXNpemU6IDI4cHg7IH1cblxuLypAbWVkaWEgKG1pbi13aWR0aDogMzY1cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIC53Yy1kYXRlLXJvdyB7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLWRhdGUtcm93IHtcclxuICAgIHdpZHRoOiA1NCU7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDVweCAxMHB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy1teS1zZWMge1xyXG4gICAgcGFkZGluZzogMzNweCAycHggMTBweDtcclxuICAgIHdpZHRoOiA0NiU7XHJcbiAgfVxyXG4gIC50aW1lcGlja2VyLXRydWUgLndjLXRpbWUtc2VjIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMHB4IDBweCAxNXB4IDBweDtcclxuICB9XHJcbiAgLnRpbWVwaWNrZXItdHJ1ZSAud2MtdGltZS1zZWMgPiAudGltZSB7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBtYXJnaW46IDBweCBhdXRvO1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy1tb250aC1yb3cge1xyXG4gICAgZm9udC1zaXplOiA0MnB4O1xyXG4gICAgcGFkZGluZzogNXB4IDBweCA1cHggNXB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC53Yy15ZWFyLXJvdyB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDBweCAwcHggNXB4O1xyXG4gIH1cclxuICAudGltZXBpY2tlci10cnVlIC50aW1lc3RhdGUge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICB9XHJcbiAgLm1vbnRocy12aWV3LCAueWVhcnMtdmlldyB7XHJcbiAgICB0b3A6IDI5N3B4O1xyXG4gIH1cclxuICAuYmFubmVyLXRydWUgPiAudGltZS12aWV3IHtcclxuICAgIHRvcDogMjQwcHg7XHJcbiAgfVxyXG4gIC50aW1lLXZpZXcgLnRpbWUge1xyXG4gICAgZm9udC1zaXplOiA2MnB4O1xyXG4gIH1cclxuICAuY3VwcGEtYnRuLWdyb3VwIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgfVxyXG4gIC5hbmd1bGFyLXJhbmdlLXNsaWRlciB7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvIDI1cHggYXV0bztcclxuICB9XHJcbiAgLmFuZ3VsYXItcmFuZ2Utc2xpZGVyIGRpdi5oYW5kbGUge1xyXG4gICAgd2lkdGg6IDQ1cHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gIH1cclxuICAudGltZS12aWV3LWJ0biB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDBweDtcclxuICB9XHJcbiAgLmJ1dHRvbi1zbSB7XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbiAgLmN1cHBhLWJ0bi1ncm91cCA+IC5idXR0b24ge1xyXG4gICAgcGFkZGluZzogNXB4IDE1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG59Ki9cbi53Yy1kYXRlLXBvcG92ZXIge1xuICB3aWR0aDogMjUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMXB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4ud2MtZGF5LXJvdyB7XG4gIHBhZGRpbmc6IDVweCAwcHg7XG4gIGZvbnQtc2l6ZTogMC4yNWVtOyB9XG5cbi53Yy1kYXRlLXJvdyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLndjLW15LXNlYyB7XG4gIHBhZGRpbmc6IDVweCAwcHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtbXktc2VjIHtcbiAgcGFkZGluZzogMTVweCAzcHg7IH1cblxuLndjLW1vbnRoLXJvdyB7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDBweCAwcHg7XG4gIGZvbnQtc2l6ZTogMC40ZW07IH1cblxuLndjLXllYXItcm93IHtcbiAgZm9udC1zaXplOiAwLjNlbTtcbiAgcGFkZGluZzogMHB4OyB9XG5cbi5tb250aC15ZWFyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi53Yy1wcmV2LCAud2MtbmV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4ud2MtZGV0YWlscyB7XG4gIHBhZGRpbmc6IDEwcHggMHB4IDEwcHg7IH1cblxuLnllYXItdGl0bGUge1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi55ZWFyLXRpdGxlIGkge1xuICBwYWRkaW5nOiAxMXB4IDEwcHggMTBweCAwcHg7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG4uY2FsZW5kYXItaGVhZGVyIHRkIHtcbiAgcGFkZGluZzogNXB4IDBweCAhaW1wb3J0YW50OyB9XG5cbi53aW5rZWwtY2FsZW5kYXIgdGFibGUge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLndpbmtlbC1jYWxlbmRhciB0YWJsZSB0ZCBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7IH1cblxuLm1vbnRocy12aWV3LCAueWVhcnMtdmlldyB7XG4gIHRvcDogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDAlKTsgfVxuXG4uYmFubmVyLXRydWUgLm1vbnRocy12aWV3LCAuYmFubmVyLXRydWUgLnllYXJzLXZpZXcge1xuICB0b3A6IDE2NXB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEyOHB4KTsgfVxuXG4ud2lua2VsLWNhbGVuZGFyIHRhYmxlIHRkIHNwYW4ge1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLmNhbC11dGlsID4gLm9rIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbi53Yy10aW1lLXNlYyA+IC50aW1lIHtcbiAgZm9udC1zaXplOiAwLjM1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udGltZSBpIHtcbiAgZm9udC1zaXplOiAxMHB4OyB9XG5cbi53Yy10aW1lLXNlYyA+IC50aW1lc3RhdGUge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLndjLW1vbnRoLXJvdyA+IGRpdjpudGgtY2hpbGQoMSksIC53Yy15ZWFyLXJvdyA+IGRpdjpudGgtY2hpbGQoMSkge1xuICBtaW4td2lkdGg6IDM1cHg7IH1cblxuLndjLW1vbnRoLXJvdyA+IGksIC53Yy15ZWFyLXJvdyA+IGkge1xuICBmb250LXNpemU6IDhweDsgfVxuXG4uY2FsLXV0aWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJhbm5lci10cnVlID4gLnRpbWUtdmlldyB7XG4gIHRvcDogMTU5cHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MtbW9udGgtcm93IHtcbiAgcGFkZGluZzogNnB4IDBweCAwcHggMHB4O1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuLnRpbWVwaWNrZXItdHJ1ZSAud2MteWVhci1yb3cge1xuICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4udGltZS12aWV3IGg1IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgcGFkZGluZzogNXB4IDBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uY3VwcGEtYnRuLWdyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLmN1cHBhLWJ0bi1ncm91cCA+IC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMTUzMjU4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLmN1cHBhLWJ0bi1ncm91cCA+IC5idXR0b24ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTUzMjU4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBweDtcbiAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG4gIGNvbG9yOiAjMTUzMjU4O1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogNXB4IDEwcHg7IH1cblxuLmN1cHBhLWJ0bi1ncm91cCA+IC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItcmlnaHQ6IDBweDsgfVxuXG4uY3VwcGEtYnRuLWdyb3VwID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7IH1cblxuLyogU2xpZGVyIENTUyovXG4uc2xpZGVyIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBtYXJnaW46IDEycHggYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zbGlkZXIgPiAuY2lyY2xlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC04cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGxlZnQ6IDYwcHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICNjY2M7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbi8qIFdlYmtpdCBicm93c2VycyBsaWtlIFNhZmFyaSBhbmQgQ2hyb21lICovXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4ucmFuZ2UtaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuXG4uY2xvY2staWNvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxNTMyNTg7IH1cblxuLnRpbWUtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDE1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udXRpbC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luOiAwcHg7IH1cblxuLnV0aWwtbGlzdCBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLnV0aWwtbGlzdCBsaSBhIHtcbiAgY29sb3I6ICMwMDdiZmY7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udXRpbC1saXN0IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzE0NTY5ZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiJdfQ== */\"","export default \".range-banner {\\n background: #ffffff;\\n width: 100%;\\n float: left;\\n display: flex;\\n flex-direction: row;\\n flex-wrap: nowrap;\\n padding: 25px 15px 10px 15px; }\\n\\n.range-input {\\n display: flex;\\n flex-direction: row;\\n min-width: 275px; }\\n\\n.wc-date-container {\\n position: relative; }\\n\\n.range-direc {\\n position: absolute;\\n right: -8px;\\n background: #fff;\\n z-index: 1;\\n color: #ccc !important;\\n font-size: 16px !important;\\n top: 6px; }\\n\\n.to-input {\\n padding-left: 15px; }\\n\\n.arrow-right {\\n padding: 0px 20px; }\\n\\n.arrow-right .fa {\\n font-size: 2em;\\n color: #1565c0; }\\n\\n.wc-banner-col {\\n /*flex-grow: 1;*/\\n display: flex;\\n color: #1565c0;\\n flex-direction: row;\\n align-items: center;\\n flex-wrap: wrap;\\n position: relative; }\\n\\n.wc-banner-col label {\\n width: 100%;\\n text-align: left;\\n margin: 0px;\\n position: absolute;\\n top: -10px;\\n color: #888888; }\\n\\n.wc-day {\\n font-size: 3em;\\n font-weight: 300;\\n padding-right: 5px; }\\n\\n.wc-my {\\n display: flex;\\n align-items: baseline;\\n flex-direction: column; }\\n\\n.wc-month {\\n font-size: 1.2em;\\n margin-top: -5px;\\n color: #888888; }\\n\\n.wc-year {\\n font-size: 0.9em;\\n font-weight: 300;\\n margin-top: -1px;\\n color: #6e6e6e; }\\n\\n.dp-left-section, .dp-right-section {\\n border-top: 1px solid #fff; }\\n\\n.dp-left-section {\\n border-right: 1px solid #ccc; }\\n\\n.range-date-popover {\\n border: 1px solid #1565c0;\\n background: #fff; }\\n\\n@media (min-width: 768px) {\\n .range-banner .wc-banner {\\n width: 30%; }\\n .range-date-popover {\\n width: 500px;\\n position: absolute;\\n top: 31px;\\n height: auto;\\n left: 0;\\n transform: translateX(0); }\\n .dp-left-section, .dp-right-section {\\n float: left;\\n width: 50%; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxkYXRlLXRpbWUtcGlja2VyXFxjZC1yYW5nZS1waWNrZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsV0FBVztFQUNYLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLDRCQUE0QixFQUFBOztBQUc5QjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsVUFBVTtFQUNWLHNCQUFzQjtFQUN0QiwwQkFBMEI7RUFDMUIsUUFBUSxFQUFBOztBQUdWO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UsY0FBYztFQUNkLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxnQkFBQTtFQUNBLGFBQWE7RUFDYixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2Ysa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSxhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSw0QkFBNEIsRUFBQTs7QUFHOUI7RUFDRSx5QkFBeUI7RUFDekIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0U7SUFDRSxVQUFVLEVBQUE7RUFFWjtJQUNFLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsU0FBUztJQUNULFlBQVk7SUFDWixPQUFPO0lBRVAsd0JBQXdCLEVBQUE7RUFFMUI7SUFDRSxXQUFXO0lBQ1gsVUFBVSxFQUFBLEVBQ1giLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9jZC1yYW5nZS1waWNrZXIuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yYW5nZS1iYW5uZXIge1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gIHBhZGRpbmc6IDI1cHggMTVweCAxMHB4IDE1cHg7XHJcbn1cclxuXHJcbi5yYW5nZS1pbnB1dCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIG1pbi13aWR0aDogMjc1cHg7XHJcbn1cclxuXHJcbi53Yy1kYXRlLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucmFuZ2UtZGlyZWMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogLThweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICB0b3A6IDZweDtcclxufVxyXG5cclxuLnRvLWlucHV0IHtcclxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbn1cclxuXHJcbi5hcnJvdy1yaWdodCB7XHJcbiAgcGFkZGluZzogMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5hcnJvdy1yaWdodCAuZmEge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG4gIGNvbG9yOiAjMTU2NWMwO1xyXG59XHJcblxyXG4ud2MtYmFubmVyLWNvbCB7XHJcbiAgLypmbGV4LWdyb3c6IDE7Ki9cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGNvbG9yOiAjMTU2NWMwO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ud2MtYmFubmVyLWNvbCBsYWJlbCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBtYXJnaW46IDBweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtMTBweDtcclxuICBjb2xvcjogIzg4ODg4ODtcclxufVxyXG5cclxuLndjLWRheSB7XHJcbiAgZm9udC1zaXplOiAzZW07XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi53Yy1teSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuLndjLW1vbnRoIHtcclxuICBmb250LXNpemU6IDEuMmVtO1xyXG4gIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgY29sb3I6ICM4ODg4ODg7XHJcbn1cclxuXHJcbi53Yy15ZWFyIHtcclxuICBmb250LXNpemU6IDAuOWVtO1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgbWFyZ2luLXRvcDogLTFweDtcclxuICBjb2xvcjogIzZlNmU2ZTtcclxufVxyXG5cclxuLmRwLWxlZnQtc2VjdGlvbiwgLmRwLXJpZ2h0LXNlY3Rpb24ge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xyXG59XHJcblxyXG4uZHAtbGVmdC1zZWN0aW9uIHtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xyXG59XHJcblxyXG4ucmFuZ2UtZGF0ZS1wb3BvdmVyIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMTU2NWMwO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIC5yYW5nZS1iYW5uZXIgLndjLWJhbm5lciB7XHJcbiAgICB3aWR0aDogMzAlO1xyXG4gIH1cclxuICAucmFuZ2UtZGF0ZS1wb3BvdmVyIHtcclxuICAgIHdpZHRoOiA1MDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMzFweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICB9XHJcbiAgLmRwLWxlZnQtc2VjdGlvbiwgLmRwLXJpZ2h0LXNlY3Rpb24ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","// start:ng42.barrel\r\nexport * from './cd-date-time-picker-input.component';\r\nexport * from './cd-date-time-picker-overlay-dialog.component';\r\nexport * from './cd-date-time-picker.component';\r\nexport * from './cd-date-time-picker.module';\r\nexport * from './interface';\r\nexport * from './model';\r\n// end:ng42.barrel\r\n\r\n","export class DateRange {\r\n startDate: Date;\r\n endDate: Date;\r\n\r\n constructor() {\r\n ;\r\n }\r\n}\r\n","/**\r\n * Created by daniel.plotkin on 08/08/2018.\r\n */\r\nimport {\r\n Component,\r\n Input,\r\n Output,\r\n ElementRef, EventEmitter\r\n} from '@angular/core';\r\nimport { trigger, state, style, animate, transition } from '@angular/animations';\r\n\r\n@Component({\r\n selector: 'expansion-panel',\r\n providers: [],\r\n viewProviders: [],\r\n animations: [\r\n trigger('expandAnimation', [\r\n state('void', style({\r\n 'opacity': '1',\r\n 'height': '0'\r\n })),\r\n // transition('* => *', animate(500))\r\n transition('* => void', [\r\n style({height: '!', opacity: 1}),\r\n animate('{{animationDuration}}', style({height: 0, opacity: 1}))\r\n ]),\r\n transition('void => *', [\r\n style({height: 0, opacity: 1}),\r\n animate('{{animationDuration}}', style({height: '*', opacity: 1}))\r\n ])\r\n ])\r\n ],\r\n templateUrl: './expansion-panel.html',\r\n // styles: ['.cds-expansion-panel {box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12); overflow: hidden;} ' +\r\n // '.expansion-panel-header { width: 100%;}' +\r\n // '.expansion-panel-title {display: inline-block;}']\r\n styles: ['.cds-expansion-panel {overflow: hidden;} ' +\r\n '.expansion-panel-header {width: 100%;}' +\r\n '.expansion-panel-title {display: inline-block;}']\r\n})\r\n\r\nexport class ExpansionPanelComponent {\r\n @Input() expanded: boolean = false;\r\n @Input() hideToggle: boolean;\r\n @Input() title: string;\r\n @Input() animationDuration: string;\r\n\r\n open() {\r\n this.expanded = !this.expanded;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './expansion-panel.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, EventEmitter, Input, Output, OnInit } from '@angular/core';\r\nimport { availableFonts } from '../fonts/fonts';\r\nimport { CustomFontsService } from '../fonts/custom-fonts.service';\r\nimport { CustomFont } from '../fonts/custom.font';\r\n\r\n@Component({\r\n selector: 'font-family-selector',\r\n template: `\r\n
\r\n
COMMON.FONT_FAMILY_SELECTOR.TITLE
\r\n\r\n \r\n
\r\n `,\r\n styles: ['option.fonts-title {background-color:#f8f8f8 !important}'],\r\n})\r\nexport class FontFamilySelectorComponent {\r\n\r\n @Input() fontFamily: string;\r\n @Input() enableNoneOption?: boolean = false;\r\n @Output() fontFamilyChange: EventEmitter = new EventEmitter();\r\n\r\n fontNames: string[] = ['Arial', 'Calibri', 'Comic Sans MS', 'Courier New', 'Georgia', 'Helvetica', 'Lucida Sans Unicode,Lucida Grande', 'Tahoma,Geneva', 'Times New Roman,Times', 'Trebuchet MS', 'Verdana'];\r\n webFontsNames: string[] = Object.keys(availableFonts);\r\n customFontsWithFallbackValue: CustomFont[];\r\n\r\n constructor(private customFontsService: CustomFontsService) {\r\n this.customFontsService.customFonts.subscribe((result) => {\r\n this.customFontsWithFallbackValue = [];\r\n result.fonts.forEach(f => {\r\n const font = {...f};\r\n font.FontFamily = `${ f.FontFamily },${ f.FallBackFontName }`;\r\n this.customFontsWithFallbackValue.push(font);\r\n });\r\n });\r\n }\r\n\r\n onFontFamilyChanged($event: string) {\r\n this.fontFamilyChange.emit($event);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nconst MIN_FONT_SIZE: number = 8;\r\nconst MAX_FONT_SIZE: number = 72;\r\nconst SIZE_UNIT: string = 'px';\r\n\r\n@Component({\r\n selector: 'font-size-selector',\r\n template: `\r\n
\r\n
{{'COMMON.FONT_SIZE_SELECTOR.TITLE'| translate}}
\r\n \r\n
\r\n `,\r\n styles: ['']\r\n})\r\nexport class FontSizeSelectorComponent {\r\n @Input() fontSize: string;\r\n @Input() enableNoneOption?: boolean = false;\r\n @Output() fontSizeChange: EventEmitter = new EventEmitter();\r\n\r\n fontSizes: string[] = [];\r\n\r\n constructor() {\r\n for(let i = MIN_FONT_SIZE; i <= MAX_FONT_SIZE; i++) {\r\n this.fontSizes.push(`${i}${SIZE_UNIT}`);\r\n }\r\n }\r\n\r\n onFontSizeChanged($event: string) {\r\n this.fontSizeChange.emit($event);\r\n }\r\n}\r\n","import {\r\n Component, ChangeDetectionStrategy, AfterViewInit, Input, OnChanges, ViewChild,\r\n ElementRef\r\n} from '@angular/core';\r\n\r\n\r\n@Component({\r\n selector: 'iframe-dynamic-content',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [],\r\n viewProviders: [],\r\n templateUrl: './iframe-dynamic-content.html'\r\n})\r\nexport class IframeDynamicContentComponent implements AfterViewInit, OnChanges {\r\n\r\n @Input() iframeId: string;\r\n @Input() htmlDocument: any;\r\n @Input() scrolling: string;\r\n @Input() style: any;\r\n @Input() containerClass: string;\r\n @Input() disableFixedHeight?: boolean = false;\r\n @Input() containerHeightDelta: number = 0;\r\n @ViewChild('dynamiciframe', {static: true}) dynamiciframe: ElementRef;\r\n\r\n ngAfterViewInit() {\r\n\r\n this.setIframeContent();\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n\r\n if (changes.htmlDocument && changes.htmlDocument.currentValue !== null) {\r\n let iframe: any = this.dynamiciframe.nativeElement;\r\n if(iframe !== null) {\r\n //clear content from iframe\r\n let doc: any = iframe.contentWindow.document || iframe.nativeElement.contentDocument || iframe.nativeElement.contentWindow;\r\n let blankHtml = '';\r\n doc.open();\r\n doc.write(blankHtml);\r\n doc.close();\r\n //set new content\r\n this.setIframeContent();\r\n }\r\n }\r\n }\r\n\r\n setIframeContent() {\r\n\r\n let iframe: any = this.dynamiciframe.nativeElement;\r\n //set content to iframe\r\n let doc: any = iframe.contentWindow.document || iframe.nativeElement.contentDocument || iframe.nativeElement.contentWindow;\r\n doc.open();\r\n doc.write(this.htmlDocument);\r\n doc.close();\r\n //set iframe height up to container height\r\n let contentContainer: any = window.document.getElementsByClassName(this.containerClass)[0];\r\n if(!this.disableFixedHeight) {\r\n let height = contentContainer.offsetHeight - this.containerHeightDelta;\r\n iframe.height=height + 'px';\r\n }\r\n else {\r\n iframe.height = '100%';\r\n }\r\n }\r\n\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './iframe-dynamic-content.component';\r\n// end:ng42.barrel\r\n\r\n","// start:ng42.barrel\r\nexport * from './color-editor.component';\r\nexport * from './common-components.module';\r\nexport * from './font-family-selector.component';\r\nexport * from './font-size-selector.component';\r\nexport * from './yes-no-dropdown.component';\r\nexport * from './beta-group/index';\r\nexport * from './date-time-picker/index';\r\nexport * from './expansion-panel/index';\r\nexport * from './iframe-dynamic-content/index';\r\nexport * from './upload-button/index';\r\nexport * from './simple-dropdown/index';\r\nexport * from './spinner/index';\r\nexport * from './inline-note/inline-note.component';\r\nexport * from './inline-message/inline-message.component';\r\nexport * from './tool-tip/tool-tip/tool-tip.component';\r\nexport * from './loader-overlay/loader.component';\r\nexport * from './loader-inline/loader.component';\r\nexport * from './page-not-found/page-not-found.component';\r\n// end:ng42.barrel\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n.cds-inline-message-container {\\n display: flex;\\n flex: 1;\\n flex-direction: column; }\\n.cds-inline-message-container.title-filled {\\n padding: 20px; }\\n.cds-inline-message-container.title-filled .cds-message-container__text {\\n color: #173357; }\\n.cds-inline-message-container.title-empty .cds-message-container {\\n padding: 8px 20px; }\\n.cds-inline-message-container.title-empty .cds-message-container__icon {\\n margin-right: 10px; }\\n.cds-inline-message-container.warning {\\n background-color: rgba(11, 139, 227, 0.15);\\n border: none;\\n color: #0b8be3; }\\n.cds-inline-message-container.error {\\n background-color: rgba(231, 55, 103, 0.1);\\n color: #df2255; }\\n.cds-inline-message-container.info-blue {\\n background-color: #e6f3ff;\\n border: none; }\\n.cds-inline-message-container.info {\\n background-color: #ebecf0;\\n border: none;\\n color: #173357; }\\n.cds-inline-message-container.success {\\n background-color: rgba(44, 172, 96, 0.1);\\n color: #2cac60; }\\n.cds-inline-message-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 16px;\\n text-align: left;\\n margin-bottom: 20px; }\\n.cds-inline-message-title.info-blue {\\n color: #0b8be3; }\\n.cds-inline-message-title:empty {\\n display: none; }\\n.cds-message-container {\\n display: flex;\\n align-items: flex-start; }\\n.cds-message-container__icon {\\n display: flex;\\n margin-right: 20px;\\n width: 24px;\\n height: 24px; }\\n.cds-message-container__icon--info {\\n color: #173357;\\n content: url(\\\"/assets/common-lib/images/info.svg\\\"); }\\n.cds-message-container__icon--info-blue {\\n color: #173357;\\n content: url(\\\"/assets/common-lib/images/info-blue.svg\\\"); }\\n.cds-message-container__icon--error {\\n color: #df2255;\\n content: url(\\\"/assets/common-lib/images/error.svg\\\"); }\\n.cds-message-container__icon--warning {\\n color: #0b8be3;\\n content: url(\\\"/assets/common-lib/images/warning.svg\\\"); }\\n.cds-message-container__icon--success {\\n color: #2cac60;\\n content: url(\\\"/assets/common-lib/images/success.svg\\\"); }\\n.cds-message-container__text {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: left; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2lubGluZS1tZXNzYWdlL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXHN0eWxlc1xcYW5zaWJsZS10aGVtZVxcYmFzZVxcdHlwb2dyYXBoeS5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5saW5lLW1lc3NhZ2UvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxpbmxpbmUtbWVzc2FnZVxcaW5saW5lLW1lc3NhZ2UuY29tcG9uZW50LnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9pbmxpbmUtbWVzc2FnZS9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxvSkFBWTtBQ0FaO0VBQ0UsYUFBYTtFQUNiLE9BQU87RUFDUCxzQkFBc0IsRUFBQTtBQUh4QjtJQU1JLGFBQWEsRUFBQTtBQU5qQjtNQVVRLGNDVWUsRUFBQTtBRHBCdkI7SUFpQk0saUJBQWlCLEVBQUE7QUFqQnZCO01Bb0JRLGtCQUFrQixFQUFBO0FBcEIxQjtJQTBCSSwwQ0FBMEM7SUFDMUMsWUFBWTtJQUNaLGNDWnNCLEVBQUE7QURoQjFCO0lBZ0NJLHlDQUF5QztJQUN6QyxjQ0ptQixFQUFBO0FEN0J2QjtJQW9DSSx5QkNuQnNCO0lEb0J0QixZQUFZLEVBQUE7QUFyQ2hCO0lBeUNJLHlCQ25Dc0I7SURvQ3RCLFlBQVk7SUFDWixjQ3ZCbUIsRUFBQTtBRHBCdkI7SUErQ0ksd0NBQXdDO0lBQ3hDLGNDekJxQixFQUFBO0FENkJ6QjtFRGhCSSxvQ0FBb0M7RUFDcEMsZ0JBQWdCO0VDaUJsQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLG1CQUFtQixFQUFBO0FBSnJCO0lBTUksY0MxQ3NCLEVBQUE7QURvQzFCO0lBU0ksYUFBYSxFQUFBO0FBSWpCO0VBQ0UsYUFBYTtFQUNiLHVCQUF1QixFQUFBO0FBRXZCO0lBQ0UsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWSxFQUFBO0FBRVo7TUFDRSxjQ3hEaUI7TUR5RGpCLGtEQUFrRCxFQUFBO0FBR3BEO01BQ0UsY0M3RGlCO01EOERqQix1REFBdUQsRUFBQTtBQUd6RDtNQUNFLGNDekRpQjtNRDBEakIsbURBQW1ELEVBQUE7QUFHckQ7TUFDRSxjQzNFb0I7TUQ0RXBCLHFEQUFxRCxFQUFBO0FBR3ZEO01BQ0UsY0N6RW1CO01EMEVuQixxREFBcUQsRUFBQTtBQUl6RDtJRHZGRSxvQ0FBb0M7SUFDcEMsZ0JBQWdCO0lDd0ZoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGdCQUFnQixFQUFBIiwiZmlsZSI6InByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnY29sb3ItcGFsZXR0ZSc7XHJcblxyXG4vLyBPcGVuIFNhbnMgRm9udCBGYW1pbHlcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDYwMDswLDcwMDswLDgwMDsxLDMwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1saWdodC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1yZWd1bGFyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1zZW1pYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1ib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8vIEhlYWRpbmdzXHJcbkBtaXhpbiBoZWFkaW5nLTEge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTMge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTQge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vLyBCb2R5IFRleHRcclxuQG1peGluIGJvZHktdGV4dC0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMjtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMztcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC00O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMaW5rc1xyXG5AbWl4aW4gbGluayB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBoZWFkZXJzXHJcbkBtaXhpbiB0YWJsZS10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gdGFibGUtaGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWJvZHkge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBAaW5jbHVkZSB0YWJsZS10ZXh0O1xyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2Jhc2UvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2Jhc2UvY29sb3ItcGFsZXR0ZSc7XHJcblxyXG4uY2RzLWlubGluZS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICYudGl0bGUtZmlsbGVkIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICZfX3RleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50aXRsZS1lbXB0eSB7XHJcbiAgICAuY2RzLW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcblxyXG4gICAgICAmX19pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYud2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAxMzksIDIyNywgMC4xNSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgfVxyXG5cclxuICAmLmVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLCA1NSwgMTAzLCAwLjEpO1xyXG4gICAgY29sb3I6ICRjcmFuYmVycnktcmVkO1xyXG4gIH1cclxuICAmLmluZm8tYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtNDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8vIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICB9XHJcbiAgJi5pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS01O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIH1cclxuXHJcbiAgJi5zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDQsIDE3MiwgOTYsIDAuMSk7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmVlbjtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtaW5saW5lLW1lc3NhZ2UtdGl0bGUge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgJi5pbmZvLWJsdWUge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gIH1cclxuICAmOmVtcHR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAmX19pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuXHJcbiAgICAmLS1pbmZvIHtcclxuICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICBjb250ZW50OiB1cmwoJy9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvaW5mby5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1pbmZvLWJsdWUge1xyXG4gICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9pbmZvLWJsdWUuc3ZnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZXJyb3Ige1xyXG4gICAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9lcnJvci5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS13YXJuaW5nIHtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgICBjb250ZW50OiB1cmwoJy9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvd2FybmluZy5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1zdWNjZXNzIHtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktZ3JlZW47XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9zdWNjZXNzLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuIiwiLy8gUHJpbWFyeSBDb2xvcnNcclxuJHByaW1hcnktcGluazogI2UzMWE1MTtcclxuJHByaW1hcnktYmx1ZTogIzE1MzI1ODtcclxuXHJcbi8vIFNlY29uZGFyeSBDb2xvcnNcclxuJHNlY29uZGFyeS1ncmF5LTE6ICMyODM1NDE7XHJcbiRzZWNvbmRhcnktZ3JheS0yOiAjNjE3MDgyO1xyXG4kc2Vjb25kYXJ5LWdyYXktMzogIzkyYTFiNTtcclxuJHNlY29uZGFyeS1ncmF5LTQ6ICNkYWRlZTY7XHJcbiRzZWNvbmRhcnktZ3JheS01OiAjZWJlY2YwO1xyXG4kZ3JheS1kYXJrLTE6ICM0NDQ0NDQ7XHJcbiRncmF5LWxpZ2h0LTE6ICNmOGY4Zjg7XHJcbiRncmF5LWxpZ2h0LTI6ICNiMWIxYjE7XHJcbiRncmF5LWxpZ2h0LTQ6ICNkNWQ1ZDU7XHJcblxyXG4kc2Vjb25kYXJ5LXdoaXRlOiAjZmZmZmZmO1xyXG5cclxuJHNlY29uZGFyeS1ibHVlLTE6ICM0NTY1OGQ7XHJcbiRzZWNvbmRhcnktYmx1ZS0yOiAjNWM4OGJmO1xyXG4kc2Vjb25kYXJ5LWJsdWUtMzogIzBiOGJlMztcclxuJHNlY29uZGFyeS1ibHVlLTQ6ICNlNmYzZmY7XHJcbiRibHVlLWxpZ2h0LTE6ICNkN2ViZjk7XHJcbiRibHVlLWRhcmstMTogIzAwMjA1MDtcclxuJG1pZG5pZ2h0LWJsdWU6ICMxNzMzNTc7XHJcblxyXG4kc2Vjb25kYXJ5LXBpbms6ICNjMTBlM2U7XHJcbiRzZWNvbmRhcnktZ3JlZW46ICMyY2FjNjA7XHJcbiRzZWNvbmRhcnktZ3JlZW4tMjogIzBiODAzYjtcclxuJHNlY29uZGFyeS15ZWxsb3c6ICNmY2FmMTc7XHJcbiRzZWNvbmRhcnktcHVycGxlOiAjOGU0NGFjO1xyXG4kc2Vjb25kYXJ5LW9yYW5nZTogI2ZmNmMwNTtcclxuXHJcbiRjcmFuYmVycnktcmVkOiAjZGYyMjU1O1xyXG4kcmVkLWxpZ2h0LTE6ICNlYTk5OTk7XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nexport enum InlineMessageType {\r\n Info = 'info',\r\n InfoBlue = 'info-blue',\r\n Warning = 'warning',\r\n Error = 'error',\r\n Success = 'success',\r\n}\r\n\r\nexport enum TitleFillStatus {\r\n TitleEmpty = 'title-empty',\r\n TitleFilled = 'title-filled',\r\n}\r\n\r\n@Component({\r\n selector: 'cds-inline-message',\r\n templateUrl: './inline-message.component.html',\r\n styleUrls: ['./inline-message.component.scss'],\r\n})\r\nexport class InlineMessageComponent implements OnInit {\r\n @Input() title: string;\r\n @Input() message: string;\r\n @Input() type: InlineMessageType = InlineMessageType.Info;\r\n @Input() titleFillStatus: TitleFillStatus = TitleFillStatus.TitleEmpty;\r\n\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n:host {\\n display: flex;\\n flex-direction: row;\\n flex: 1 1;\\n padding: 10px 20px;\\n background-color: #ebecf0;\\n border: 1px solid #dadee6;\\n color: #173357; }\\n.cds-inline-note-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n flex-shrink: 0; }\\n.cds-inline-note-text {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n margin-left: 30px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2lubGluZS1ub3RlL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXHN0eWxlc1xcYW5zaWJsZS10aGVtZVxcYmFzZVxcdHlwb2dyYXBoeS5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaW5saW5lLW5vdGUvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxpbmxpbmUtbm90ZVxcaW5saW5lLW5vdGUuY29tcG9uZW50LnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9pbmxpbmUtbm90ZS9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxvSkFBWTtBQ0FaO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixTQUFTO0VBRVQsa0JBQWtCO0VBQ2xCLHlCQ0F3QjtFREN4Qix5QkNGd0I7RURHeEIsY0NZcUIsRUFBQTtBRFJyQjtFRHdCRSxvQ0FBb0M7RUFDcEMsZ0JBQWdCO0VDdkJoQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixjQUFjLEVBQUE7QUFHaEI7RURORSxvQ0FBb0M7RUFDcEMsZ0JBQWdCO0VDT2hCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFQUFBIiwiZmlsZSI6InByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2lubGluZS1ub3RlL2lubGluZS1ub3RlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnY29sb3ItcGFsZXR0ZSc7XHJcblxyXG4vLyBPcGVuIFNhbnMgRm9udCBGYW1pbHlcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDYwMDswLDcwMDswLDgwMDsxLDMwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1saWdodC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1yZWd1bGFyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1zZW1pYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1ib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8vIEhlYWRpbmdzXHJcbkBtaXhpbiBoZWFkaW5nLTEge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTMge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTQge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vLyBCb2R5IFRleHRcclxuQG1peGluIGJvZHktdGV4dC0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMjtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMztcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC00O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMaW5rc1xyXG5AbWl4aW4gbGluayB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBoZWFkZXJzXHJcbkBtaXhpbiB0YWJsZS10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gdGFibGUtaGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWJvZHkge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBAaW5jbHVkZSB0YWJsZS10ZXh0O1xyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9zdHlsZXMvYW5zaWJsZS10aGVtZS9iYXNlL3R5cG9ncmFwaHlcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2Jhc2UvY29sb3ItcGFsZXR0ZVwiO1xyXG5cclxuOmhvc3Qge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4OiAxIDE7XHJcblxyXG4gIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbn1cclxuXHJcbi5jZHMtaW5saW5lLW5vdGUge1xyXG4gICYtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICB9XHJcblxyXG4gICYtdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gIH1cclxufVxyXG5cclxuIiwiLy8gUHJpbWFyeSBDb2xvcnNcclxuJHByaW1hcnktcGluazogI2UzMWE1MTtcclxuJHByaW1hcnktYmx1ZTogIzE1MzI1ODtcclxuXHJcbi8vIFNlY29uZGFyeSBDb2xvcnNcclxuJHNlY29uZGFyeS1ncmF5LTE6ICMyODM1NDE7XHJcbiRzZWNvbmRhcnktZ3JheS0yOiAjNjE3MDgyO1xyXG4kc2Vjb25kYXJ5LWdyYXktMzogIzkyYTFiNTtcclxuJHNlY29uZGFyeS1ncmF5LTQ6ICNkYWRlZTY7XHJcbiRzZWNvbmRhcnktZ3JheS01OiAjZWJlY2YwO1xyXG4kZ3JheS1kYXJrLTE6ICM0NDQ0NDQ7XHJcbiRncmF5LWxpZ2h0LTE6ICNmOGY4Zjg7XHJcbiRncmF5LWxpZ2h0LTI6ICNiMWIxYjE7XHJcbiRncmF5LWxpZ2h0LTQ6ICNkNWQ1ZDU7XHJcblxyXG4kc2Vjb25kYXJ5LXdoaXRlOiAjZmZmZmZmO1xyXG5cclxuJHNlY29uZGFyeS1ibHVlLTE6ICM0NTY1OGQ7XHJcbiRzZWNvbmRhcnktYmx1ZS0yOiAjNWM4OGJmO1xyXG4kc2Vjb25kYXJ5LWJsdWUtMzogIzBiOGJlMztcclxuJHNlY29uZGFyeS1ibHVlLTQ6ICNlNmYzZmY7XHJcbiRibHVlLWxpZ2h0LTE6ICNkN2ViZjk7XHJcbiRibHVlLWRhcmstMTogIzAwMjA1MDtcclxuJG1pZG5pZ2h0LWJsdWU6ICMxNzMzNTc7XHJcblxyXG4kc2Vjb25kYXJ5LXBpbms6ICNjMTBlM2U7XHJcbiRzZWNvbmRhcnktZ3JlZW46ICMyY2FjNjA7XHJcbiRzZWNvbmRhcnktZ3JlZW4tMjogIzBiODAzYjtcclxuJHNlY29uZGFyeS15ZWxsb3c6ICNmY2FmMTc7XHJcbiRzZWNvbmRhcnktcHVycGxlOiAjOGU0NGFjO1xyXG4kc2Vjb25kYXJ5LW9yYW5nZTogI2ZmNmMwNTtcclxuXHJcbiRjcmFuYmVycnktcmVkOiAjZGYyMjU1O1xyXG4kcmVkLWxpZ2h0LTE6ICNlYTk5OTk7XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cds-inline-note',\r\n templateUrl: './inline-note.component.html',\r\n styleUrls: ['./inline-note.component.scss'],\r\n providers: [],\r\n viewProviders: [],\r\n})\r\nexport class InlineNoteComponent implements OnInit {\r\n\r\n @Input() title: string;\r\n @Input() message: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".spinner-wrapper {\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n top: 0;\\n left: 0;\\n background-color: rgba(255, 255, 255, 0.5);\\n z-index: 1004; }\\n .spinner-wrapper #loader {\\n background-image: url(/assets/common-lib/images/loader_x100px.gif);\\n width: 100px;\\n height: 100px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci1pbmxpbmUvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFxsb2FkZXItaW5saW5lXFxsb2FkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLE1BQU07RUFDTixPQUFPO0VBQ1AsMENBQTBDO0VBQzFDLGFBQWEsRUFBQTtFQVRmO0lBV0ksa0VBQWtFO0lBQ2xFLFlBQVk7SUFDWixhQUFhLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyLWlubGluZS9sb2FkZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3Bpbm5lci13cmFwcGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICB6LWluZGV4OiAxMDA0O1xyXG4gICNsb2FkZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvbG9hZGVyX3gxMDBweC5naWYpO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cds-loader-inline',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\nexport class LoaderInlineComponent implements OnInit {\r\n @Input() isLoading = false;\r\n @Input() isBackgroundSeeThrough = true;\r\n constructor() {}\r\n\r\n async ngOnInit() {}\r\n}\r\n","export default \".spinner-wrapper {\\n position: fixed;\\n width: 100%;\\n height: 100%;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n top: 0;\\n left: 0;\\n background-color: rgba(255, 255, 255, 0.5);\\n z-index: 998; }\\n .spinner-wrapper #loader {\\n background-image: url(/assets/common-lib/images/loader_x100px.gif);\\n width: 100px;\\n height: 100px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2xvYWRlci1vdmVybGF5L0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGxpYlxcY29tcG9uZW50c1xcbG9hZGVyLW92ZXJsYXlcXGxvYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGVBQWU7RUFDZixXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLE1BQU07RUFDTixPQUFPO0VBQ1AsMENBQTBDO0VBQzFDLFlBQVksRUFBQTtFQVZkO0lBWUksa0VBQWtFO0lBQ2xFLFlBQVk7SUFDWixhQUFhLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGVyLW92ZXJsYXkvbG9hZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNwaW5uZXItd3JhcHBlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gIHotaW5kZXg6IDk5ODtcclxuICAjbG9hZGVyIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2xvYWRlcl94MTAwcHguZ2lmKTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cds-loader-overlay',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss'],\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n @Input() isLoading = false;\r\n @Input() isBackgroundSeeThrough = true;\r\n constructor() {}\r\n\r\n async ngOnInit() {}\r\n}\r\n","import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { InputValidation } from '../validations/input.validation';\r\nimport { AppStateService } from '../services/app-state.service';\r\n\r\n@Component({\r\n selector: 'only-number-input',\r\n template: `\r\n \r\n `\r\n})\r\n\r\nexport class OnlyNumberInputComponent implements AfterViewInit {\r\n @Input() inputNumberValue: string;\r\n @Input() pattern: string; //[0-9]*\r\n @Input() classString: string;\r\n @Input() minValue: number;\r\n @Input() maxValue: number;\r\n @Input() defaultValue: number;\r\n\r\n @Output() numberChanged: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('inputTypeNumber', {static: false}) inputTypeNumber: ElementRef;\r\n\r\n classObject: string;\r\n\r\n constructor(private appStateService: AppStateService) {\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.classObject = `{${this.classString}: true}`;\r\n }\r\n\r\n onpaste(event: any) {\r\n const inputDomElement = this.inputTypeNumber.nativeElement;\r\n const currentValue = this.inputNumberValue;\r\n\r\n setTimeout(() => {\r\n const inputDomElementValue = inputDomElement.value;\r\n if (this.isNumberValid(inputDomElementValue) === false) {\r\n inputDomElement.value = currentValue;\r\n } else {\r\n let valueAsNumber = Number(inputDomElementValue);\r\n if (valueAsNumber < this.minValue || valueAsNumber > this.maxValue) {\r\n valueAsNumber = this.defaultValue;\r\n }\r\n this.numberChanged.next(valueAsNumber);\r\n }\r\n }, 1);\r\n }\r\n\r\n changeSelectedNumber(value: string) {\r\n\r\n if (this.isNumberValid(value) === false) {\r\n this.inputTypeNumber.nativeElement.value = this.inputNumberValue;\r\n } else {\r\n let valueAsNumber = Number(value);\r\n if (valueAsNumber < this.minValue || valueAsNumber > this.maxValue) {\r\n valueAsNumber = this.defaultValue;\r\n this.inputTypeNumber.nativeElement.value = this.defaultValue;\r\n }\r\n\r\n this.numberChanged.next(valueAsNumber);\r\n }\r\n }\r\n\r\n isNumberValid(value: string): boolean {\r\n let isValid: boolean = false;\r\n isValid = InputValidation.onlyNumberValidation(value);\r\n return isValid;\r\n }\r\n\r\n handleNumberChanged(value: string) {\r\n this.changeSelectedNumber(value);\r\n }\r\n\r\n handleEnter(event: any) {\r\n const inputValue = event.target.value || null;\r\n this.changeSelectedNumber(inputValue);\r\n }\r\n\r\n onKeyUp($event: any) {\r\n const inputValue = this.inputTypeNumber.nativeElement.value;\r\n if (inputValue !== '') {\r\n this.changeSelectedNumber(this.inputTypeNumber.nativeElement.value);\r\n }\r\n }\r\n\r\n selectInputShowCursorInAllBrowsers(event: any) {\r\n if (this.appStateService.isBrowserEdge() || this.appStateService.isBrowserIE()) {\r\n const target: HTMLInputElement = event.target || event.srcElement || event.currentTarget;\r\n target.select();\r\n }\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Logger } from '../../monitoring/logger/logger';\r\n\r\n@Component({\r\n selector: 'cdp-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.scss'],\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n private textToShow: string;\r\n public safeHtml: SafeHtml;\r\n\r\n constructor(\r\n private logger: Logger,\r\n private router: Router,\r\n private sanitizer: DomSanitizer,\r\n private translationService: TranslateService\r\n ) {\r\n logger.error(\r\n 'Angular router could not find the given rout: ' + this.router.url\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.textToShow = this.translationService.instant(\r\n 'PAGES_APP.PAGE_NOT_FOUND_ERROR'\r\n );\r\n this.safeHtml = this.sanitizer.bypassSecurityTrustHtml(this.textToShow);\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './simple-dropdown.component';\r\n// end:ng42.barrel\r\n\r\n","import {\r\n Component,\r\n ChangeDetectionStrategy,\r\n AfterViewInit,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n OnChanges, ChangeDetectorRef, OnDestroy\r\n} from '@angular/core';\r\n\r\nexport interface ISimpleDropdownOption {\r\n value: any;\r\n displayText: string;\r\n}\r\n\r\n@Component({\r\n selector: 'simple-dropdown',\r\n providers: [],\r\n viewProviders: [],\r\n templateUrl: './simple-dropdown.html'\r\n})\r\nexport class SimpleDropdownComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {\r\n\r\n @Input() selectedValue: any;\r\n @Input() options: ISimpleDropdownOption[];\r\n @Input() containerSelector: string;\r\n @Input() dropValueClass: string;\r\n @Input() dropDownContainerClass: string;\r\n @Input() dropOtionsClass: string;\r\n @Input() disableIfOneOption: boolean = false;\r\n\r\n @Input()\r\n set isMouseOut(value: boolean) {\r\n if (value === true) {\r\n this.showList = false;\r\n }\r\n }\r\n\r\n @ViewChild('dropOptionsContainer', {static: false}) dropOptionsContainer: ElementRef;\r\n @ViewChild('valueContainer', {static: false}) valueContainer: ElementRef;\r\n\r\n @Output() selectedValueChange: EventEmitter = new EventEmitter();\r\n @Output() optionCaptionClicked: EventEmitter = new EventEmitter();\r\n @Output() onDropDownOptionsShowHide: EventEmitter = new EventEmitter();\r\n\r\n selectedValueDisplayText: string;\r\n showList: boolean = false;\r\n isOpenOnTop: boolean = false;\r\n scrollingContainerElement: Element;\r\n boundScrollHandler: any;\r\n windowResizeHandler: any;\r\n\r\n constructor(private cdRef: ChangeDetectorRef) {\r\n this.windowResizeHandler = this.onWindowResize.bind(this);\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.containerSelector && this.containerSelector !== '') {\r\n this.scrollingContainerElement = document.querySelector(this.containerSelector);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.stopListeningToWindowEvents();\r\n }\r\n\r\n stopListeningToWindowEvents() {\r\n if (!this.scrollingContainerElement) {\r\n //we are not tracking the container scroll. allow not to\r\n return;\r\n }\r\n\r\n if (this.boundScrollHandler) {\r\n this.scrollingContainerElement.removeEventListener('scroll', this.boundScrollHandler);\r\n this.boundScrollHandler = null;\r\n }\r\n\r\n window.removeEventListener('resize', this.windowResizeHandler);\r\n }\r\n\r\n onWindowResize(event: Event) {\r\n this.calculateTopPosition();\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n handleDocumentScrolled(event: any) {\r\n this.calculateTopPosition();\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n startListeningToWindowEvents() {\r\n if (!this.scrollingContainerElement) {\r\n //we are not tracking the container scroll. allow not to\r\n return;\r\n }\r\n\r\n this.boundScrollHandler = this.handleDocumentScrolled.bind(this);\r\n this.scrollingContainerElement.addEventListener('scroll', this.boundScrollHandler);\r\n\r\n window.addEventListener('resize', this.windowResizeHandler);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.selectedValueDisplayText = this.getSelectedValueDisplayText(this.selectedValue);\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n if (changes.selectedValue) {\r\n this.selectedValueDisplayText = this.getSelectedValueDisplayText(changes.selectedValue.currentValue);\r\n }\r\n }\r\n\r\n getStyle() {\r\n let style: any = {'visibility': this.showList ? 'visible' : 'hidden'};\r\n if (this.isOpenOnTop) {\r\n style = {...style, 'top': '0', 'transform': 'translateY(-100%)'};\r\n }\r\n return style;\r\n }\r\n\r\n byTypeVisiblity() {\r\n return this.dropValueClass !== 'drop-value-floating-panel';\r\n }\r\n\r\n onCaptionClick(event: any) {\r\n if (this.disableIfOneOption && this.options.length == 1) {\r\n return;\r\n }\r\n this.optionCaptionClicked.next(event);\r\n this.calculateTopPosition();\r\n this.toggleOptions();\r\n }\r\n\r\n startStopListenToWindowEvents() {\r\n if (this.showList === true) {\r\n this.startListeningToWindowEvents();\r\n } else {\r\n this.stopListeningToWindowEvents();\r\n }\r\n }\r\n\r\n toggleOptions() {\r\n this.showList = !this.showList;\r\n this.startStopListenToWindowEvents();\r\n if (this.onDropDownOptionsShowHide) {\r\n this.onDropDownOptionsShowHide.next(this.showList);\r\n }\r\n }\r\n\r\n closeOptions() {\r\n if (this.showList) {\r\n this.showList = false;\r\n this.startStopListenToWindowEvents();\r\n if (this.onDropDownOptionsShowHide) {\r\n this.onDropDownOptionsShowHide.next(this.showList);\r\n }\r\n }\r\n }\r\n\r\n calculateTopPosition() {\r\n let windowHeight = this.scrollingContainerElement.getBoundingClientRect().bottom;\r\n let parentRectangleBottom = this.valueContainer.nativeElement.getBoundingClientRect().bottom;\r\n let optionsContainerHeight = this.dropOptionsContainer.nativeElement.offsetHeight;\r\n let minimumNeededSpace = parentRectangleBottom + optionsContainerHeight;\r\n if (minimumNeededSpace > windowHeight) {\r\n this.isOpenOnTop = true;\r\n } else {\r\n this.isOpenOnTop = false;\r\n }\r\n\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n onOptionClick(option: ISimpleDropdownOption) {\r\n this.selectedValue = option.value;\r\n this.selectedValueDisplayText = option.displayText;\r\n this.toggleOptions();\r\n this.selectedValueChange.next(option.value);\r\n }\r\n\r\n getSelectedValueDisplayText(value: any) {\r\n if (value) {\r\n let text = this.options.find(option => option.value === value).displayText;\r\n return text;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n onDOMMouseScroll($event: any) {\r\n\r\n $event.stopPropagation();\r\n\r\n let div = this.dropOptionsContainer.nativeElement;\r\n var delta = ($event.type === 'mousewheel') ? $event.wheelDelta : $event.detail * -40;\r\n console.log('delta: ' + delta);\r\n\r\n if (delta < 0 && (div.scrollHeight - div.offsetHeight - div.scrollTop) <= 0) {\r\n\r\n div.scrollTop = div.scrollHeight;\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n\r\n } else if (delta > 0 && delta > div.scrollTop) {\r\n\r\n div.scrollTop = 0;\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n\r\n }\r\n\r\n }\r\n\r\n onClickedOutside() {\r\n this.closeOptions();\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './spinner.service';\r\nexport * from './spinner.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, Input, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'spinner-comp',\r\n templateUrl: 'spinner.html'\r\n})\r\nexport class SpinnerComponent implements OnDestroy {\r\n public isDelayedRunning: boolean = false;\r\n\r\n @Input()\r\n public timeOut?: number = null;\r\n\r\n @Input()\r\n public delay: number = 300;\r\n\r\n @Input()\r\n public set isRunning(value: boolean) {\r\n if (!value) {\r\n this.cancelTimeout();\r\n this.isDelayedRunning = false;\r\n return;\r\n }\r\n\r\n if (this.currentTimeout) {\r\n return;\r\n }\r\n\r\n this.currentTimeout = setTimeout(() => {\r\n this.isDelayedRunning = value;\r\n this.cancelTimeout();\r\n }, this.delay);\r\n\r\n if (this.timeOut) {\r\n setTimeout(() => {\r\n this.isRunning = false;\r\n }, this.timeOut);\r\n }\r\n }\r\n\r\n private currentTimeout: any;\r\n\r\n ngOnDestroy(): any {\r\n this.cancelTimeout();\r\n }\r\n\r\n private cancelTimeout(): void {\r\n clearTimeout(this.currentTimeout);\r\n this.currentTimeout = undefined;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SpinnerService {\r\n public loading = false;\r\n\r\n public show = (): void => {\r\n this.loading = true;\r\n }\r\n public hide = (): void => {\r\n this.loading = false;\r\n }\r\n}\r\n\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before, .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\ninput.cds-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0 {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\ninput.cds-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:hover, input.cds-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\ninput.cds-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\ninput.cds-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n.cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n.cds-btn:hover {\\n cursor: pointer; }\\n.cds-btn:focus {\\n outline: none; }\\n.cds-btn:active {\\n outline: none; }\\n.cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n.cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n.cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n.cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n.cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n.cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n.cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n.cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n.cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n.cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n.cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n.cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n.cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n.cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-inline-toolbar {\\n display: flex; }\\n.cds-dialog-heading-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 30px;\\n line-height: 40px; }\\n.cds-dialog-heading-subtitle {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 16px;\\n line-height: 24px; }\\n.cds-form-horizontal-separator {\\n height: 2px;\\n background-color: #92a1b5; }\\n.cds-form-horizontal-separator-small {\\n height: 1px;\\n background-color: #92a1b5; }\\n.pink-input {\\n border: 1px solid #e31a51 !important;\\n color: #e31a51 !important; }\\n.pink-input::-moz-placeholder {\\n color: #e31a51 !important; }\\n.pink-input:-ms-input-placeholder {\\n color: #e31a51 !important; }\\n.pink-input::placeholder {\\n color: #e31a51 !important; }\\n.cds-form-section-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 24px;\\n color: #173357; }\\n.w-auto {\\n width: auto; }\\n.cds-form-fields-container {\\n display: flex;\\n flex-direction: column; }\\n.cds-form-fields-container .cds-validation {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #df2255; }\\n.cds-form-fields-container .cds-form-label-input-container, .cds-form-fields-container .cds-form-label-input-container-col {\\n display: flex;\\n flex-direction: row; }\\n.cds-form-fields-container .cds-form-label-input-container-col {\\n flex-direction: column; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 20px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 0px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n min-width: 240px;\\n margin: auto 0;\\n font-size: 14px;\\n color: #173357;\\n flex-shrink: 0; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label.cds-disabled-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label.cds-disabled-label {\\n color: #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:disabled {\\n box-shadow: none;\\n outline: none;\\n border: 1px solid #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly'] {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n padding: 0;\\n pointer-events: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:focus {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.mt-15 {\\n margin-top: 15px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.tooltip {\\n flex: 0 0 auto;\\n width: 36px;\\n height: 36px;\\n padding: 6px 5px 5px 6px;\\n position: relative; }\\n.tooltip img {\\n height: 25px; }\\n.validation-message-row {\\n margin-left: 260px;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n display: flex;\\n align-items: center;\\n color: #df2255; }\\n.tooltip .tooltiptext, .tooltip .tooltiptext-right {\\n top: 30px;\\n left: -255px;\\n visibility: hidden;\\n width: 299px;\\n background: #ebecf0;\\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);\\n position: absolute;\\n z-index: 10;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n color: #173357;\\n line-height: 24px; }\\n.tooltip .tooltiptext-right {\\n left: 0px; }\\n.tooltip .tooltiptext.show-above, .tooltip .show-above.tooltiptext-right {\\n top: auto;\\n bottom: 125%;\\n left: 50%;\\n margin-left: -60px; }\\n.tooltip:hover .tooltiptext, .tooltip:hover .tooltiptext-right {\\n visibility: visible;\\n white-space: pre-wrap;\\n text-align: left;\\n padding: 15px 19px 7px 19px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3Rvb2wtdGlwL3Rvb2wtdGlwL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXHN0eWxlc1xcYW5zaWJsZS10aGVtZVxcYmFzZVxcdHlwb2dyYXBoeS5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbC10aXAvdG9vbC10aXAvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcYXNzZXRzXFxmb250c1xcaWNvbnNmb250XFxpY29uc2ZvbnQuY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbC10aXAvdG9vbC10aXAvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxpbnB1dC5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdG9vbC10aXAvdG9vbC10aXAvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxiYXNlXFxjb2xvci1wYWxldHRlLnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sLXRpcC90b29sLXRpcC9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGNvbXBvbmVudHNcXGZvcm0tZWxlbWVudHMtZWxlbWVudHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxvSkFBWTtBQUFaLG9KQUFZO0FDSFo7RUFDQyx3QkFBd0I7RUFDeEIsK0RBQStEO0VBQy9ELGtVQUdtRixFQUFBO0FBR3BGO0VBQ0Msd0JBQXdCO0VBQ3ZCLG1DQUFtQztFQUNuQyxrQ0FBa0M7RUFDbkMsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsMkZBQUE7RUFDQSxxQkFBcUI7RUFDckIsb0JBQW9CLEVBQUE7QUFJckI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7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UUErQ1EsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixhQUFhLEVBQUE7QUFqRHJCO1FBc0RRLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLFVBQVU7UUFDVixvQkFBb0IsRUFBQTtBQTFENUI7VUE4RFUsWUFBWTtVQUNaLGdCQUFnQjtVQUNoQixhQUFhLEVBQUE7QUFPdkI7RUFDRSxnQkFBZ0IsRUFBQTtBQUdsQjtFQUVJLFlBQVk7RUFDWixjRDVGbUI7RUM2Rm5CLGdCQUFnQixFQUFBO0FBSnBCO0VBVUksWUFBWTtFQUNaLGNEcEdtQjtFQ3FHbkIsZ0JBQWdCLEVBQUE7QUFHcEI7RUFDRSxjQUFjO0VBQ2QsV0FBVztFQUNYLFlBQVk7RUFDWix3QkFBd0I7RUFDeEIsa0JBQWtCLEVBQUE7QUFMcEI7SUFPSSxZQUFZLEVBQUE7QUFHaEI7RUFDRSxrQkFBa0I7RUpsSWhCLG9DQUFvQztFQUNwQyxnQkFBZ0I7RUltSWxCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsY0QxSHFCLEVBQUE7QUM2SHZCO0VBQ0UsU0FBUztFQUNULFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLG1CRHpKd0I7RUMwSnhCLHdDQUF3QztFQUN4QyxrQkFBa0I7RUFDbEIsV0FBVztFSnBKVCxvQ0FBb0M7RUFDcEMsZ0JBQWdCO0VJcUpsQixlQUFlO0VBQ2YsY0RqSnFCO0VDa0pyQixpQkFBaUIsRUFBQTtBQVpuQjtJQWdCSSxTQUFTLEVBQUE7QUFoQmI7SUFtQkksU0FBUztJQUNULFlBQVk7SUFDWixTQUFTO0lBQ1Qsa0JBQWtCLEVBQUE7QUFJdEI7RUFDRSxtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQiwyQkFBMkIsRUFBQSIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy90b29sLXRpcC90b29sLXRpcC90b29sLXRpcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2NvbG9yLXBhbGV0dGUnO1xyXG5cclxuLy8gT3BlbiBTYW5zIEZvbnQgRmFtaWx5XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw2MDA7MCw3MDA7MCw4MDA7MSwzMDA7MSw0MDA7MSw2MDA7MSw3MDA7MSw4MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWxpZ2h0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtcmVndWxhciB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLXNlbWlib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nc1xyXG5AbWl4aW4gaGVhZGluZy0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLy8gQm9keSBUZXh0XHJcbkBtaXhpbiBib2R5LXRleHQtMSB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTE7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTI7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMyB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTM7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtNCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtNDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTGlua3NcclxuQG1peGluIGxpbmsge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGFibGUgaGVhZGVyc1xyXG5AbWl4aW4gdGFibGUtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXRleHQ7XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1ib2R5IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG4iLCJAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcclxuXHRzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxJyk7XHJcblx0c3JjOiB1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMSNpZWZpeCcpIGZvcm1hdCgnZW90JyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC53b2ZmPzE2MzczMzA2NTU0MjEnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnR0Zj8xNjM3MzMwNjU1NDIxJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuc3ZnPzE2MzczMzA2NTU0MjEjaWNvbnNmb250JykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuLmljb24tY2RzOmJlZm9yZSB7XHJcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcblxyXG4uaWNvbi1jZHMtYWxsb3ctc2VuZGluZy1lbWFpbHM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1idXR0b24tYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2FsZW5kYXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2hlY2ttYXJrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNoZWNrbWFyazI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xpY2tkLWxvZ286YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY29sbGFwc2VkLXRpdGxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvbmRpdGlvbmFsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvcHktY29udGVudDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtbGVhZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtdGFzay1hY3Rpdml0eTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcm9zczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1kZXNrdG9wOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWR1cGxpY2F0ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lZGl0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVsbGlwc2lzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXNlbmRzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0xOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0zOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMThcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci00OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci01OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVudmVsb3BlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVycm9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMURcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LWF0dGVuZGVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LW1pc3NlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ldmVudC1yZWdpc3RlcmVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV4cGFuZC10aXRsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leHBvcnQtZmlsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leWUtY2hlY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXllOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWZhdm9yaXRlczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1maWx0ZXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZnVsbC1zY3JlZW46YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZ3JvdXAtYW5kOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWdyb3VwLW9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWh0bWwtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaHRtbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZS1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZXRleHQtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5ib3g6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5mbzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1saW5rLWltYWdlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWxpbms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb2JpbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbW9yZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb3ZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXBsYXktdmlkZW86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcGx1cy1pbi1jaXJjbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcG9zdGVkLXN1cnZleXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcHJldmlldy1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wcmV2aWV3OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0FcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXByaW50OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0JcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlYWN0aXZhdGUtY29udGFjdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZWZyZXNoOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0RcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlbW92ZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZW1vdmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVtb3ZlZC1mcm9tLWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0MFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVwbGFjZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlLWFzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmUtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0M1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZS10by1teS10ZW1wbGF0ZXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zY29yZS1zdmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2NvcmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0N1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2VuZC1zbXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0OFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29jaWFsLWxpbmtzLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvY2lhbC1saW5rczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb2NpYWwtc2hhcmUtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0QlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3BhY2VyLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXN1Ym1pdHRlZC1zdWJzY3JpcHRpb246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1cnZleTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zdWNjZXNzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRlbXBsYXRlLWxpYnJhcnk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1MlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGVzdC1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZXN0LXByZXZpZXc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGV4dC1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1OVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1Q1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1RVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA2MFwiO1xyXG59XHJcblxyXG5cciIsIkBpbXBvcnQgJy4uL2Jhc2UvY29sb3ItcGFsZXR0ZS5zY3NzJztcclxuQGltcG9ydCAnLi4vYmFzZS90eXBvZ3JhcGh5LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL2ljb25zZm9udCc7XHJcblxyXG5pbnB1dC5jZHMtaW5wdXQge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiA3cHggMjBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6cmVhZC1vbmx5IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xyXG4gICAgJjo6Zmlyc3QtbGluZSB7XHJcbiAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jZHMtYnRuIHtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDVweCAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIG1pbi13aWR0aDogNjBweDtcclxuICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcbi5jZHMtdG9nZ2xlLW1lbnUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcblxyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcbn1cclxuLmNkcy1kYXJrLWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTE7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWxpZ2h0LWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICB9XHJcbiAgLmNkcy1pY29uOjpiZWZvcmUge1xyXG4gICAgQGV4dGVuZCAuaWNvbi1jZHMtdHJpYW5nbGUtZG93bjpiZWZvcmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdpY29uc2ZvbnQnO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gIH1cclxuXHJcbiAgLy8gJjpmb2N1cyB7XHJcbiAgLy8gICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICAvLyB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1pbmxpbmUtdG9vbGJhciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG4iLCIvLyBQcmltYXJ5IENvbG9yc1xyXG4kcHJpbWFyeS1waW5rOiAjZTMxYTUxO1xyXG4kcHJpbWFyeS1ibHVlOiAjMTUzMjU4O1xyXG5cclxuLy8gU2Vjb25kYXJ5IENvbG9yc1xyXG4kc2Vjb25kYXJ5LWdyYXktMTogIzI4MzU0MTtcclxuJHNlY29uZGFyeS1ncmF5LTI6ICM2MTcwODI7XHJcbiRzZWNvbmRhcnktZ3JheS0zOiAjOTJhMWI1O1xyXG4kc2Vjb25kYXJ5LWdyYXktNDogI2RhZGVlNjtcclxuJHNlY29uZGFyeS1ncmF5LTU6ICNlYmVjZjA7XHJcbiRncmF5LWRhcmstMTogIzQ0NDQ0NDtcclxuJGdyYXktbGlnaHQtMTogI2Y4ZjhmODtcclxuJGdyYXktbGlnaHQtMjogI2IxYjFiMTtcclxuJGdyYXktbGlnaHQtNDogI2Q1ZDVkNTtcclxuXHJcbiRzZWNvbmRhcnktd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4kc2Vjb25kYXJ5LWJsdWUtMTogIzQ1NjU4ZDtcclxuJHNlY29uZGFyeS1ibHVlLTI6ICM1Yzg4YmY7XHJcbiRzZWNvbmRhcnktYmx1ZS0zOiAjMGI4YmUzO1xyXG4kc2Vjb25kYXJ5LWJsdWUtNDogI2U2ZjNmZjtcclxuJGJsdWUtbGlnaHQtMTogI2Q3ZWJmOTtcclxuJGJsdWUtZGFyay0xOiAjMDAyMDUwO1xyXG4kbWlkbmlnaHQtYmx1ZTogIzE3MzM1NztcclxuXHJcbiRzZWNvbmRhcnktcGluazogI2MxMGUzZTtcclxuJHNlY29uZGFyeS1ncmVlbjogIzJjYWM2MDtcclxuJHNlY29uZGFyeS1ncmVlbi0yOiAjMGI4MDNiO1xyXG4kc2Vjb25kYXJ5LXllbGxvdzogI2ZjYWYxNztcclxuJHNlY29uZGFyeS1wdXJwbGU6ICM4ZTQ0YWM7XHJcbiRzZWNvbmRhcnktb3JhbmdlOiAjZmY2YzA1O1xyXG5cclxuJGNyYW5iZXJyeS1yZWQ6ICNkZjIyNTU7XHJcbiRyZWQtbGlnaHQtMTogI2VhOTk5OTtcclxuIiwiQGltcG9ydCAnLi4vYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHkuc2Nzcyc7XHJcbkBpbXBvcnQgJ2lucHV0JztcclxuXHJcbi5jZHMtZGlhbG9nLWhlYWRpbmcge1xyXG4gICYtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICB9XHJcblxyXG4gICYtc3VidGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtZm9ybS1ob3Jpem9udGFsLXNlcGFyYXRvciB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgJi1zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gIH1cclxufVxyXG5cclxuLnBpbmstaW5wdXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LXBpbmsgIWltcG9ydGFudDtcclxuICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG5cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY2RzLWZvcm0tc2VjdGlvbi10aXRsZSB7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxufVxyXG4udy1hdXRvIHtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4uY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIC5jZHMtdmFsaWRhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxuICB9XHJcbiAgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICYtY29sIHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgLmNkcy1mb3JtLWlucHV0IHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWlucHV0O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgICYtbWwtMCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2RzLWZvcm0taW5wdXQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgICAmLWxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgJi5jZHMtZGlzYWJsZWQtbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOnJlYWQtb25seSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9UaGlzIG1vZGlmaWVyIGlzIHVzZWQgZm9yIHJlYWRvbmx5IGZpZWxkcyBpbiBJbnRlcm5ldCBFeHBsb3JlclxyXG4gICAgICAmW3JlYWRvbmx5PSdyZWFkb25seSddIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tdC0xNSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG4udG9vbHRpcCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgd2lkdGg6IDM2cHg7XHJcbiAgaGVpZ2h0OiAzNnB4O1xyXG4gIHBhZGRpbmc6IDZweCA1cHggNXB4IDZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaW1nIHtcclxuICAgIGhlaWdodDogMjVweDtcclxuICB9XHJcbn1cclxuLnZhbGlkYXRpb24tbWVzc2FnZS1yb3cge1xyXG4gIG1hcmdpbi1sZWZ0OiAyNjBweDtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxufVxyXG5cclxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcclxuICB0b3A6IDMwcHg7XHJcbiAgbGVmdDogLTI1NXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB3aWR0aDogMjk5cHg7XHJcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1ncmF5LTU7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuXHJcbiAgJi1yaWdodCB7XHJcbiAgICBAZXh0ZW5kIC50b29sdGlwdGV4dDtcclxuICAgIGxlZnQ6IDBweDtcclxuICB9XHJcbiAgJi5zaG93LWFib3ZlIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMTI1JTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuICB9XHJcbn1cclxuXHJcbi50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiAxNXB4IDE5cHggN3B4IDE5cHg7XHJcbn1cclxuIl19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\n\r\nexport enum ToolTipPosition {\r\n Below,\r\n Above,\r\n Left,\r\n Right,\r\n}\r\n\r\n@Component({\r\n selector: 'cds-tool-tip',\r\n templateUrl: './tool-tip.component.html',\r\n styleUrls: ['./tool-tip.component.scss'],\r\n})\r\nexport class ToolTipComponent implements OnInit {\r\n @Input() message: string;\r\n @Input() toolTipClass = 'tooltiptext'; // not used anymore need to remove from other components\r\n ToolTipPosition = ToolTipPosition;\r\n @Input() visiblePosition: ToolTipPosition = ToolTipPosition.Below; // todo build out right\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","// start:ng42.barrel\r\nexport * from './upload-button.component';\r\n// end:ng42.barrel\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before, .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\ninput.cds-input {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\ninput.cds-input:hover, input.cds-input:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\ninput.cds-input:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\ninput.cds-input:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n.cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n.cds-btn:hover {\\n cursor: pointer; }\\n.cds-btn:focus {\\n outline: none; }\\n.cds-btn:active {\\n outline: none; }\\n.cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n.cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n.cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n.cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n.cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n.cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n.cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n.cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n.cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n.cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n.cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n.cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n.cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n.cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-inline-toolbar {\\n display: flex; }\\n.file-input {\\n display: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1idXR0b24vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxiYXNlXFx0eXBvZ3JhcGh5LnNjc3MiLCJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy91cGxvYWQtYnV0dG9uL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGFzc2V0c1xcZm9udHNcXGljb25zZm9udFxcaWNvbnNmb250LmNzcyIsInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1idXR0b24vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxpbnB1dC5zY3NzIiwicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXBsb2FkLWJ1dHRvbi9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyIsInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VwbG9hZC1idXR0b24vQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxjb21wb25lbnRzXFx1cGxvYWQtYnV0dG9uXFx1cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLG9KQUFZO0FDSFo7RUFDQyx3QkFBd0I7RUFDeEIsK0RBQStEO0VBQy9ELGtVQUdtRixFQUFBO0FBR3BGO0VBQ0Msd0JBQXdCO0VBQ3ZCLG1DQUFtQztFQUNuQyxrQ0FBa0M7RUFDbkMsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsMkZBQUE7RUFDQSxxQkFBcUI7RUFDckIsb0JBQW9CLEVBQUE7QUFJckI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUND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QUFhLEVBQUE7QUVqS2Y7RUFDRSxhQUFhLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXBsb2FkLWJ1dHRvbi91cGxvYWQtYnV0dG9uLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnY29sb3ItcGFsZXR0ZSc7XHJcblxyXG4vLyBPcGVuIFNhbnMgRm9udCBGYW1pbHlcclxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDYwMDswLDcwMDswLDgwMDsxLDMwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMCZkaXNwbGF5PXN3YXAnKTtcclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1saWdodC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1yZWd1bGFyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1zZW1pYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1ib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1leHRyYWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8vIEhlYWRpbmdzXHJcbkBtaXhpbiBoZWFkaW5nLTEge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTMge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBoZWFkaW5nLTQge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vLyBCb2R5IFRleHRcclxuQG1peGluIGJvZHktdGV4dC0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMjtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtMztcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJvZHktdGV4dC00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC00O1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBMaW5rc1xyXG5AbWl4aW4gbGluayB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBoZWFkZXJzXHJcbkBtaXhpbiB0YWJsZS10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gdGFibGUtaGVhZGVyIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWJvZHkge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBAaW5jbHVkZSB0YWJsZS10ZXh0O1xyXG59XHJcbiIsIkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xyXG5cdHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuZW90PzE2MzczMzA2NTU0MjEnKTtcclxuXHRzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxI2llZml4JykgZm9ybWF0KCdlb3QnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LndvZmY/MTYzNzMzMDY1NTQyMScpIGZvcm1hdCgnd29mZicpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQudHRmPzE2MzczMzA2NTU0MjEnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5zdmc/MTYzNzMzMDY1NTQyMSNpY29uc2ZvbnQnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG4uaWNvbi1jZHM6YmVmb3JlIHtcclxuXHRmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcclxuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHQvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuXHJcbi5pY29uLWNkcy1hbGxvdy1zZW5kaW5nLWVtYWlsczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWFycm93LXJpZ2h0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWJ1dHRvbi1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jYWxlbmRhcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jaGVja21hcms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2hlY2ttYXJrMjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jbGlja2QtbG9nbzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jbG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jbG9zZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jb2xsYXBzZWQtdGl0bGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwQlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY29uZGl0aW9uYWw6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwQ1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY29weS1jb250ZW50OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMERcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNyZWF0ZS1sZWFkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNyZWF0ZS10YXNrLWFjdGl2aXR5OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNyb3NzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWRlc2t0b3A6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZHVwbGljYXRlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVkaXQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZWxsaXBzaXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtc2VuZHM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTE6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW1haWwtdGVtcGxhdGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxQlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZW52ZWxvcGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxQ1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXJyb3I6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXZlbnQtYXR0ZW5kZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXZlbnQtbWlzc2VkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LXJlZ2lzdGVyZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyMFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXhwYW5kLXRpdGxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV4cG9ydC1maWxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV5ZS1jaGVjazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leWU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZmF2b3JpdGVzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWZpbHRlcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1mdWxsLXNjcmVlbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ncm91cC1hbmQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZ3JvdXAtb3I6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaHRtbC1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1odG1sOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWltYWdlLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWltYWdldGV4dC1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbmJveDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbmZvOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWxpbmstaW1hZ2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzMFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbGluazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1sb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLW1vYmlsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb3JlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLW1vdmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcGxheS12aWRlbzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wbHVzLWluLWNpcmNsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wb3N0ZWQtc3VydmV5czpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wcmV2aWV3LWVtYWlsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXByZXZpZXc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcHJpbnQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzQlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVhY3RpdmF0ZS1jb250YWN0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0NcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlZnJlc2g6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVtb3ZlLWltYWdlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0VcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlbW92ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZW1vdmVkLWZyb20tbGlzdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZXBsYWNlLWltYWdlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmUtYXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0MlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZS1jbG9zZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlLXRvLW15LXRlbXBsYXRlczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNjb3JlLXN2ZzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zY29yZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zZW5kLXNtczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb2NpYWwtbGlua3MtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0OVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29jaWFsLWxpbmtzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvY2lhbC1zaGFyZS1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb3J0LWRvd246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0Q1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29ydC11cDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDREXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zcGFjZXItYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1YnNjcmlwdGlvbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zdWJtaXR0ZWQtc3VydmV5OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXN1Y2Nlc3M6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1MVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGVtcGxhdGUtbGlicmFyeTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZXN0LWVtYWlsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRlc3QtcHJldmlldzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZXh0LWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRyaWFuZ2xlLWRvd246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1NlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdHJpYW5nbGUtcmlnaHQtYm90dG9tOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNThcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXVubGluay1kaXNhYmxlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy11bmxpbms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1QVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdW5sb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXYtc2lnbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12YWxpZGF0aW9uOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNURcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXZpZXctbGlzdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12aWV3LXRodW1ibmFpbHM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1RlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtd2FybmluZzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDYwXCI7XHJcbn1cclxuXHJcblxyIiwiQGltcG9ydCAnLi4vYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHkuc2Nzcyc7XHJcbkBpbXBvcnQgJy4uL2Jhc2UvaWNvbnNmb250JztcclxuXHJcbmlucHV0LmNkcy1pbnB1dCB7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHBhZGRpbmc6IDdweCAyMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpyZWFkLW9ubHkge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XHJcbiAgICAmOjpmaXJzdC1saW5lIHtcclxuICAgICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNkcy1idG4ge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogNXB4IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgbWluLXdpZHRoOiA2MHB4O1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbn1cclxuLmNkcy10b2dnbGUtbWVudS1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuXHJcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogMjBweDtcclxuICBib3JkZXI6IDBweDtcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxufVxyXG4uY2RzLWRhcmstYmx1ZS1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0yO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtbGlnaHQtYmx1ZS1idXR0b24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJjphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBvcGFjaXR5OiAwLjc1O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRzZWNvbmRhcnktYmx1ZS0zLCAwLjIpO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgYm9yZGVyOiBub25lO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gIH1cclxuICAuY2RzLWljb246OmJlZm9yZSB7XHJcbiAgICBAZXh0ZW5kIC5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZTtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBmb250LWZhbWlseTogJ2ljb25zZm9udCc7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgfVxyXG5cclxuICAvLyAmOmZvY3VzIHtcclxuICAvLyAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRzZWNvbmRhcnktYmx1ZS0zLCAwLjIpO1xyXG4gIC8vIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWlubGluZS10b29sYmFyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcbiIsIi8vIFByaW1hcnkgQ29sb3JzXHJcbiRwcmltYXJ5LXBpbms6ICNlMzFhNTE7XHJcbiRwcmltYXJ5LWJsdWU6ICMxNTMyNTg7XHJcblxyXG4vLyBTZWNvbmRhcnkgQ29sb3JzXHJcbiRzZWNvbmRhcnktZ3JheS0xOiAjMjgzNTQxO1xyXG4kc2Vjb25kYXJ5LWdyYXktMjogIzYxNzA4MjtcclxuJHNlY29uZGFyeS1ncmF5LTM6ICM5MmExYjU7XHJcbiRzZWNvbmRhcnktZ3JheS00OiAjZGFkZWU2O1xyXG4kc2Vjb25kYXJ5LWdyYXktNTogI2ViZWNmMDtcclxuJGdyYXktZGFyay0xOiAjNDQ0NDQ0O1xyXG4kZ3JheS1saWdodC0xOiAjZjhmOGY4O1xyXG4kZ3JheS1saWdodC0yOiAjYjFiMWIxO1xyXG4kZ3JheS1saWdodC00OiAjZDVkNWQ1O1xyXG5cclxuJHNlY29uZGFyeS13aGl0ZTogI2ZmZmZmZjtcclxuXHJcbiRzZWNvbmRhcnktYmx1ZS0xOiAjNDU2NThkO1xyXG4kc2Vjb25kYXJ5LWJsdWUtMjogIzVjODhiZjtcclxuJHNlY29uZGFyeS1ibHVlLTM6ICMwYjhiZTM7XHJcbiRzZWNvbmRhcnktYmx1ZS00OiAjZTZmM2ZmO1xyXG4kYmx1ZS1saWdodC0xOiAjZDdlYmY5O1xyXG4kYmx1ZS1kYXJrLTE6ICMwMDIwNTA7XHJcbiRtaWRuaWdodC1ibHVlOiAjMTczMzU3O1xyXG5cclxuJHNlY29uZGFyeS1waW5rOiAjYzEwZTNlO1xyXG4kc2Vjb25kYXJ5LWdyZWVuOiAjMmNhYzYwO1xyXG4kc2Vjb25kYXJ5LWdyZWVuLTI6ICMwYjgwM2I7XHJcbiRzZWNvbmRhcnkteWVsbG93OiAjZmNhZjE3O1xyXG4kc2Vjb25kYXJ5LXB1cnBsZTogIzhlNDRhYztcclxuJHNlY29uZGFyeS1vcmFuZ2U6ICNmZjZjMDU7XHJcblxyXG4kY3JhbmJlcnJ5LXJlZDogI2RmMjI1NTtcclxuJHJlZC1saWdodC0xOiAjZWE5OTk5O1xyXG4iLCJAaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvYW5zaWJsZS10aGVtZS9jb21wb25lbnRzL2lucHV0JztcclxuXHJcbi5maWxlLWlucHV0IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiJdfQ== */\"","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cdp-upload-button',\r\n templateUrl: './upload-button.component.html',\r\n styleUrls: ['./upload-button.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class UploadButtonComponent implements OnInit {\r\n @Output() fileNameChangeEvent = new EventEmitter();\r\n @Output() fileChangeEvent = new EventEmitter();\r\n @Input() className = 'cds-btn cds-light-blue-button';\r\n @Input() buttonName = 'SSL_CERTIFICATES_SETTINGS.SSL_ITEM.BUTTONS.UPLOAD';\r\n @Input() fileType = '';\r\n constructor() {}\r\n\r\n onFileSelected(event) {\r\n const file = event.target.files[0];\r\n\r\n if (file) {\r\n this.fileNameChangeEvent.emit(file.name);\r\n this.fileChangeEvent.emit(file);\r\n }\r\n }\r\n ngOnInit() {}\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'yes-no-dropdown',\r\n template: `\r\n \r\n `\r\n})\r\nexport class YesNoDropdownComponent implements OnInit {\r\n @Input() value: boolean;\r\n @Output() valueChange = new EventEmitter();\r\n\r\n @Input() yesCaption?: string;\r\n @Input() noCaption?: string;\r\n\r\n ngOnInit(): void {\r\n this.yesCaption = this.yesCaption || 'Yes';\r\n this.noCaption = this.noCaption || 'No';\r\n }\r\n\r\n onValueChanged(event: any) {\r\n this.valueChange.emit(this.value);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ConditionsDialogComponent } from './dialog/conditions-dialog.component';\r\nimport { ConditionContainerComponent } from './dialog/condition-container.component';\r\nimport { CompositeConditionComponent } from './dialog/composite-condition.component';\r\nimport { SingleConditionComponent } from './dialog/single-condition.component';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { CommonComponentsModule } from '../components/common-components.module';\r\nimport { LookupDialogModule } from '../lookup-dialog-component/lookup-dialog.module';\r\nimport { CdDateTimePickerModule } from '../components/date-time-picker/cd-date-time-picker.module';\r\n\r\nconst components = [\r\n ConditionsDialogComponent, ConditionContainerComponent, CompositeConditionComponent, SingleConditionComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, TranslateModule.forChild(),\r\n CommonDirectivesModule, CommonComponentsModule, LookupDialogModule, CdDateTimePickerModule, ReactiveFormsModule],\r\n declarations: components,\r\n providers: [],\r\n entryComponents: [ConditionsDialogComponent],\r\n exports: [ConditionsDialogComponent],\r\n schemas: []\r\n})\r\nexport class ConditionsModule {\r\n}\r\n","import { AfterContentInit, AfterViewInit, Component, Input } from '@angular/core';\r\nimport { CompositeCondition, OrCondition } from '../models/composite-conditions.model';\r\nimport { ConditionDialogService } from './condition-dialog.service';\r\n\r\n@Component({\r\n selector: 'composite-condition',\r\n templateUrl: 'composite-condition.html'\r\n})\r\nexport class CompositeConditionComponent implements AfterContentInit, AfterViewInit {\r\n @Input() conditionModel: CompositeCondition;\r\n @Input() hideCompositeOperator: boolean = false;\r\n @Input() isRoot: boolean = false;\r\n operatorTextKey: string;\r\n checked: boolean = false;\r\n\r\n\r\n constructor(private conditionDialogService: ConditionDialogService) {\r\n this.operatorTextKey = 'NoOp';\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.isRoot) {\r\n setTimeout(() => { this.conditionDialogService.initiateCheckValidityEvent(); });\r\n }\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n if (this.conditionModel && this.conditionModel instanceof OrCondition) {\r\n this.operatorTextKey = 'COMMON.DIALOGS.CONDITIONS.OPERATOR_OR';\r\n } else {\r\n this.operatorTextKey = 'COMMON.DIALOGS.CONDITIONS.OPERATOR_AND';\r\n }\r\n }\r\n\r\n onConditionCheckedToggle(event: any) {\r\n if (this.checked) {\r\n this.conditionDialogService.removeConditionFromSelected(this.conditionModel);\r\n } else {\r\n this.conditionDialogService.addConditionToSelected(this.conditionModel);\r\n }\r\n\r\n this.checked = !this.checked;\r\n }\r\n}\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { BaseCondition } from '../models/base-condition.model';\r\nimport { Condition } from '../models/condition.model';\r\n\r\n@Component({\r\n selector: 'condition-container',\r\n templateUrl: 'condition-container.html',\r\n})\r\nexport class ConditionContainerComponent {\r\n @Input() conditionModel: BaseCondition;\r\n\r\n isSingleCondition(): boolean {\r\n return this.conditionModel instanceof Condition;\r\n }\r\n\r\n isOrCondition(): boolean {\r\n return this.conditionModel instanceof Condition;\r\n }\r\n\r\n isAndCondition(): boolean {\r\n return this.conditionModel instanceof Condition;\r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseCondition } from '../models/base-condition.model';\r\nimport { AndCondition, CompositeCondition, OrCondition } from '../models/composite-conditions.model';\r\nimport { Condition } from '../models/condition.model';\r\nimport { EAlertTypes } from '../../dialogs/alert/alert.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { FormControl, FormGroup, ValidationErrors } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n\r\ninterface IRemovedConditionNode {\r\n condition: BaseCondition;\r\n previousIndex: number;\r\n}\r\n\r\n@Injectable()\r\nexport class ConditionDialogService {\r\n selectedConditions: BaseCondition[] = [];\r\n\r\n allSelectedFromSameParent: boolean = false;\r\n allChildrenOfSameParentSelected: boolean = false;\r\n parentOfAllSelected: CompositeCondition = null;\r\n conditionsForm: FormGroup;\r\n conditionNumberGenerator: number = 1;\r\n showRequiredErrorMessage: boolean = false;\r\n showDatesBetweenErrorMessage: boolean = false;\r\n showNumberMaxErrorMessage: boolean = false;\r\n showDecimalMaxErrorMessage: boolean = false;\r\n showEntityAttributeErrorMessage: boolean = false;\r\n invalidCRMAttributesConditionsNumbers: number[] = [];\r\n\r\n readonly MaxConditionTreeHeight = 3;\r\n\r\n constructor(private dialogService: DialogService,\r\n private translate: TranslateService) {\r\n this.recreateFormValidationGroup();\r\n }\r\n\r\n public doCheckValidity: Subject = new Subject();\r\n\r\n initiateCheckValidityEvent() {\r\n this.doCheckValidity.next();\r\n }\r\n\r\n getConditionNumberFromGenerator() {\r\n const conditionNumberGenerator = this.conditionNumberGenerator++;\r\n return conditionNumberGenerator;\r\n }\r\n\r\n addControlToGroup(formControl: FormControl, controlName: string) {\r\n this.conditionsForm.addControl(controlName, formControl);\r\n }\r\n\r\n removeControlFromGroup(controlName: string) {\r\n const formControl = this.conditionsForm.get(controlName);\r\n if (formControl) {\r\n this.conditionsForm.removeControl(controlName);\r\n }\r\n }\r\n\r\n agregateFormValidationErrors() {\r\n this.showRequiredErrorMessage = false;\r\n this.showDatesBetweenErrorMessage = false;\r\n this.showNumberMaxErrorMessage = false;\r\n this.showDecimalMaxErrorMessage = false;\r\n\r\n Object.keys(this.conditionsForm.controls).forEach(key => {\r\n const formControl = this.conditionsForm.get(key);\r\n if (formControl && formControl.touched) {\r\n const controlErrors: ValidationErrors = formControl.errors;\r\n if (controlErrors) {\r\n if (!this.showRequiredErrorMessage) {\r\n this.showRequiredErrorMessage = controlErrors.required;\r\n }\r\n if (!this.showDatesBetweenErrorMessage) {\r\n this.showDatesBetweenErrorMessage = controlErrors.firstDateIsGreater && controlErrors.firstDateIsGreater.value;\r\n }\r\n if (!this.showNumberMaxErrorMessage) {\r\n this.showNumberMaxErrorMessage = controlErrors.numberIsGreater && controlErrors.numberIsGreater.value;\r\n }\r\n if (!this.showDecimalMaxErrorMessage) {\r\n this.showDecimalMaxErrorMessage = controlErrors.decimalIsGreater && controlErrors.decimalIsGreater.value;\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n markAllControlsAsTouched() {\r\n Object.keys(this.conditionsForm.controls).forEach(key => {\r\n const formControl = this.conditionsForm.get(key);\r\n if (formControl) {\r\n formControl.markAsTouched();\r\n setTimeout(() => {\r\n formControl.updateValueAndValidity();\r\n }, 0);\r\n }\r\n });\r\n }\r\n\r\n addInvalidCondition(conditionNumber: number) {\r\n const existingConditionNumber: number = this.invalidCRMAttributesConditionsNumbers.find(condition => condition === conditionNumber);\r\n if (!existingConditionNumber) {\r\n this.invalidCRMAttributesConditionsNumbers.push(conditionNumber);\r\n }\r\n if (this.invalidCRMAttributesConditionsNumbers.length > 0) {\r\n this.showEntityAttributeErrorMessage = true;\r\n }\r\n }\r\n\r\n removeInvalidCondition(conditionNumber: number) {\r\n const index = this.invalidCRMAttributesConditionsNumbers.indexOf(conditionNumber, 0);\r\n if (index > -1) {\r\n this.invalidCRMAttributesConditionsNumbers.splice(index, 1);\r\n }\r\n\r\n if (this.invalidCRMAttributesConditionsNumbers.length === 0) {\r\n this.showEntityAttributeErrorMessage = false;\r\n }\r\n }\r\n\r\n recreateFormValidationGroup() {\r\n this.conditionsForm = new FormGroup({});\r\n }\r\n\r\n addConditionToSelected(conditionSelected: BaseCondition) {\r\n if (!conditionSelected.parent) {\r\n throw new Error('tried to select a condition without a parent. this should not have happened');\r\n }\r\n\r\n this.selectedConditions.push(conditionSelected);\r\n this.updateServiceStates();\r\n }\r\n\r\n clearSelection() {\r\n this.selectedConditions = [];\r\n this.updateServiceStates();\r\n }\r\n\r\n removeConditionFromSelected(conditionSelected: BaseCondition) {\r\n const childIndex: number = this.selectedConditions.indexOf(conditionSelected);\r\n if (childIndex === -1) {\r\n throw new Error(`could not locate the selected conditions on the internal list: ${ JSON.stringify(conditionSelected) }`);\r\n }\r\n\r\n this.selectedConditions.splice(childIndex, 1);\r\n this.updateServiceStates();\r\n }\r\n\r\n reduceConditionTreeAfterDelete(rootCondition: BaseCondition) {\r\n if (rootCondition instanceof Condition) {\r\n return;\r\n }\r\n\r\n //if we are here this is a composite condition\r\n const compositeCondition: CompositeCondition = rootCondition as CompositeCondition;\r\n //call the recursion now to do the operation post-order\r\n compositeCondition.childConditions.forEach((childCondition) => {\r\n this.reduceConditionTreeAfterDelete(childCondition);\r\n });\r\n\r\n //after we reduced all our children check ourselves\r\n if (compositeCondition.childConditions.length === 0 && compositeCondition.parent !== null) {\r\n //if we are left without children at all remove ourselfs from our parents's list\r\n //only if we are not at the root (composite) conditions\r\n compositeCondition.parent.removeChildCondition(rootCondition);\r\n } else if (compositeCondition.childConditions.length === 1 && compositeCondition.parent !== null) {\r\n //remove me (the composite condition) and make the single condition on my children list a child on my parent instead of me.\r\n //only if we are not at the root (composite) conditions\r\n const conditionParent = compositeCondition.parent; //save the parent since it will be removed from the condition we are removing\r\n conditionParent.removeChildCondition(compositeCondition);\r\n conditionParent.addChildCondition(compositeCondition.childConditions[0]);\r\n }\r\n }\r\n\r\n groupSelectedConditions(isOrGroup: boolean) {\r\n //check that this addition will not overflow the allowed height\r\n let heightAfterAdditionPrediction = 0;\r\n\r\n //get the max height of all the children we will add to the new composite condition\r\n let maxSlectedConditionHeight = 0;\r\n this.selectedConditions.forEach((selectedCondition: BaseCondition) => {\r\n if (selectedCondition.getHeight() > maxSlectedConditionHeight) {\r\n maxSlectedConditionHeight = selectedCondition.getHeight();\r\n }\r\n });\r\n\r\n heightAfterAdditionPrediction += maxSlectedConditionHeight;\r\n heightAfterAdditionPrediction += this.parentOfAllSelected.getDepth();\r\n heightAfterAdditionPrediction += 1;\r\n if (heightAfterAdditionPrediction > this.MaxConditionTreeHeight) {\r\n this.dialogService.alert({\r\n header: this.translate.instant('COMMON.DIALOGS.CONDITIONS.ERROR_GROUPING.TITLE'),\r\n message: this.translate.instant('COMMON.DIALOGS.CONDITIONS.ERROR_GROUPING.TEXT'),\r\n type: EAlertTypes.Warning,\r\n okCaption: this.translate.instant('COMMON.DIALOGS.CONDITIONS.ERROR_GROUPING.OK_CAPTION')\r\n });\r\n\r\n return; //we don't do any action here. just inform the user.\r\n }\r\n\r\n let newCompositeCondition: CompositeCondition;\r\n if (isOrGroup) {\r\n newCompositeCondition = new OrCondition();\r\n } else {\r\n newCompositeCondition = new AndCondition();\r\n }\r\n\r\n //find the first index of the selected conditions. this is were we shell place the newly created composite condition\r\n let firstChildIndexOfSelectedConditions = this.parentOfAllSelected.childConditions.indexOf(this.selectedConditions[0]); //take the first selected condition as a value to start with\r\n this.selectedConditions.forEach((selectedCondition) => {\r\n const currentSelectedConditionIndexInParent = this.parentOfAllSelected.childConditions.indexOf(selectedCondition);\r\n if (firstChildIndexOfSelectedConditions) {\r\n if (firstChildIndexOfSelectedConditions > currentSelectedConditionIndexInParent) {\r\n firstChildIndexOfSelectedConditions = currentSelectedConditionIndexInParent;\r\n }\r\n }\r\n });\r\n\r\n //take out the child conditions that were selected while saving the index of where they used to be so they can be insert back in the same\r\n //relative order\r\n\r\n let removedConditions: IRemovedConditionNode[] = [];\r\n this.selectedConditions.forEach((selectedCondition) => {\r\n removedConditions.push({\r\n condition: selectedCondition,\r\n previousIndex: this.parentOfAllSelected.childConditions.indexOf(selectedCondition)\r\n });\r\n });\r\n\r\n removedConditions = removedConditions.sort((a: IRemovedConditionNode, b: IRemovedConditionNode) => {\r\n return a.previousIndex - b.previousIndex;\r\n });\r\n\r\n removedConditions.forEach((removedConditionNode: IRemovedConditionNode) => {\r\n this.parentOfAllSelected.removeChildCondition(removedConditionNode.condition);\r\n newCompositeCondition.addChildCondition(removedConditionNode.condition);\r\n });\r\n\r\n //place the newly created composite condition in the first index of the selected so it will not move so much on the condition tree.\r\n this.parentOfAllSelected.insertChildConditionAtIndex(firstChildIndexOfSelectedConditions, newCompositeCondition);\r\n this.clearSelection();\r\n }\r\n\r\n ungroupSelection() {\r\n const newParentForUngourpedConditions = this.parentOfAllSelected.parent;\r\n let indexOfContainingParent = newParentForUngourpedConditions.childConditions.indexOf(this.parentOfAllSelected);\r\n\r\n newParentForUngourpedConditions.removeChildCondition(this.parentOfAllSelected);\r\n\r\n let removedConditions: IRemovedConditionNode[] = [];\r\n this.selectedConditions.forEach((selectedCondition) => {\r\n removedConditions.push({\r\n condition: selectedCondition,\r\n previousIndex: this.parentOfAllSelected.childConditions.indexOf(selectedCondition)\r\n });\r\n });\r\n\r\n removedConditions = removedConditions.sort((a: IRemovedConditionNode, b: IRemovedConditionNode) => {\r\n return a.previousIndex - b.previousIndex;\r\n });\r\n\r\n removedConditions.forEach((selectedConditionNode) => {\r\n this.parentOfAllSelected.removeChildCondition(selectedConditionNode.condition);\r\n newParentForUngourpedConditions.insertChildConditionAtIndex(indexOfContainingParent, selectedConditionNode.condition);\r\n indexOfContainingParent++;\r\n });\r\n\r\n this.clearSelection();\r\n }\r\n\r\n private updateServiceStates() {\r\n if (this.selectedConditions.length > 0) {\r\n const parent = this.selectedConditions[0].parent;\r\n let allSelectedHasTheSameParent = true;\r\n for (let i = 0; i < this.selectedConditions.length; i++) {\r\n const currentCondition = this.selectedConditions[i];\r\n if (currentCondition.parent !== parent) {\r\n allSelectedHasTheSameParent = false;\r\n break;\r\n }\r\n }\r\n\r\n this.allSelectedFromSameParent = allSelectedHasTheSameParent;\r\n\r\n if (this.allSelectedFromSameParent) {\r\n this.parentOfAllSelected = parent;\r\n } else {\r\n this.parentOfAllSelected = null;\r\n }\r\n\r\n if (this.allSelectedFromSameParent &&\r\n (this.selectedConditions[0].parent.getConditionsCount() === this.selectedConditions.length)) {\r\n this.allChildrenOfSameParentSelected = true;\r\n } else {\r\n this.allChildrenOfSameParentSelected = false;\r\n }\r\n } else {\r\n this.allSelectedFromSameParent = false;\r\n this.allChildrenOfSameParentSelected = false;\r\n this.parentOfAllSelected = null;\r\n }\r\n }\r\n}\r\n","import { AfterContentInit, Component, OnDestroy } from '@angular/core';\r\nimport { DialogBase, DialogCloseReason } from '../../dialogs/base-dialog';\r\nimport { AndCondition } from '../models/composite-conditions.model';\r\nimport { Condition } from '../models/condition.model';\r\nimport { ConditionDialogService } from './condition-dialog.service';\r\nimport { CrmEntitiesService } from '../../crm-entities/crm-entities.service';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'conditions-dialog',\r\n templateUrl: './conditions-dialog.html',\r\n providers: [ConditionDialogService]\r\n})\r\nexport class ConditionsDialogComponent extends DialogBase implements AfterContentInit, OnDestroy {\r\n conditionsRootModel: AndCondition; // the root is always an implicit 'And' composite condition\r\n readonly MaxConditionTreeHeight = 3;\r\n formInvalid: boolean = false;\r\n showRequiredErrorMessage: boolean = false;\r\n showDatesBetweenErrorMessage: boolean = false;\r\n showEntityAttributeErrorMessage: boolean = false;\r\n showNumberMaxErrorMessage: boolean = false;\r\n showDecimalMaxErrorMessage: boolean = false;\r\n showValidationErrors: boolean = false;\r\n checkValidityEventSubscription: Subscription;\r\n\r\n constructor(public conditionDialogService: ConditionDialogService,\r\n private dialogService: DialogService,\r\n private translate: TranslateService,\r\n public crmEntitiesService: CrmEntitiesService) {\r\n super();\r\n\r\n this.conditionDialogService.conditionsForm.valueChanges.subscribe(form => {\r\n this.conditionDialogService.agregateFormValidationErrors();\r\n\r\n setTimeout(() => {\r\n this.getFormValidationFlags();\r\n }, 0);\r\n });\r\n\r\n this.checkValidityEventSubscription = this.conditionDialogService.doCheckValidity.subscribe(() => {\r\n this.conditionDialogService.markAllControlsAsTouched();\r\n this.getFormValidationFlags();\r\n\r\n if (this.formInvalid) {\r\n this.showValidationErrors = true;\r\n } else {\r\n this.showValidationErrors = false;\r\n }\r\n });\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.showEntityAttributeErrorMessage = this.conditionDialogService.showEntityAttributeErrorMessage;\r\n }\r\n\r\n getFormValidationFlags() {\r\n this.formInvalid = this.conditionDialogService.conditionsForm ?\r\n (this.conditionDialogService.conditionsForm.invalid ? true : false) : false;\r\n this.showRequiredErrorMessage = this.conditionDialogService.showRequiredErrorMessage;\r\n this.showDatesBetweenErrorMessage = this.conditionDialogService.showDatesBetweenErrorMessage;\r\n this.showEntityAttributeErrorMessage = this.conditionDialogService.showEntityAttributeErrorMessage;\r\n this.showNumberMaxErrorMessage = this.conditionDialogService.showNumberMaxErrorMessage;\r\n this.showDecimalMaxErrorMessage = this.conditionDialogService.showDecimalMaxErrorMessage;\r\n }\r\n\r\n initDialog() {\r\n if (this.extraData && this.extraData.conditionsModel) {\r\n this.conditionsRootModel = this.extraData.conditionsModel;\r\n } else {\r\n // this is a new condition being added create an initial empty root\r\n this.conditionsRootModel = new AndCondition();\r\n }\r\n }\r\n\r\n onAddCondition() {\r\n const leafCondition = new Condition();\r\n this.conditionsRootModel.addChildCondition(leafCondition);\r\n }\r\n\r\n onDelete(event: any) {\r\n this.conditionDialogService.selectedConditions.forEach((selectedCondition) => {\r\n selectedCondition.parent.removeChildCondition(selectedCondition);\r\n });\r\n\r\n this.conditionDialogService.reduceConditionTreeAfterDelete(this.conditionsRootModel);\r\n\r\n this.conditionDialogService.clearSelection();\r\n }\r\n\r\n onGroupConditions(event: any, isOrGroup: boolean) {\r\n this.conditionDialogService.groupSelectedConditions(isOrGroup);\r\n\r\n if (this.showValidationErrors) {\r\n setTimeout(() => {\r\n this.conditionDialogService.markAllControlsAsTouched();\r\n }, 0);\r\n }\r\n }\r\n\r\n onUngroupConditions(event: any) {\r\n this.conditionDialogService.ungroupSelection();\r\n\r\n if (this.showValidationErrors) {\r\n setTimeout(() => {\r\n this.conditionDialogService.markAllControlsAsTouched();\r\n }, 0);\r\n }\r\n }\r\n\r\n shouldDisableGroupingButton() {\r\n const cds = this.conditionDialogService;\r\n return !(\r\n cds.allSelectedFromSameParent && (cds.selectedConditions.length > 1) &&\r\n (\r\n ( // this is the root\r\n cds.parentOfAllSelected &&\r\n !cds.parentOfAllSelected.parent\r\n )\r\n ||\r\n ( // this is not the root\r\n cds.parentOfAllSelected &&\r\n cds.parentOfAllSelected.parent &&\r\n cds.parentOfAllSelected.getConditionsCount() !== cds.selectedConditions.length\r\n )\r\n )\r\n );\r\n }\r\n\r\n get showErrors() {\r\n return (this.formInvalid && this.showValidationErrors);\r\n }\r\n\r\n onOk() {\r\n this.conditionDialogService.markAllControlsAsTouched();\r\n\r\n if (this.formInvalid) {\r\n this.showValidationErrors = true;\r\n return;\r\n }\r\n\r\n this.showValidationErrors = false;\r\n this.conditionDialogService.recreateFormValidationGroup();\r\n\r\n super.close({\r\n reason: DialogCloseReason.OK, data: {\r\n conditionModel: this.conditionsRootModel\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.checkValidityEventSubscription.unsubscribe();\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './composite-condition.component';\r\nexport * from './condition-container.component';\r\nexport * from './condition-dialog.service';\r\nexport * from './conditions-dialog.component';\r\nexport * from './single-condition.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, Input, AfterContentInit, OnDestroy } from '@angular/core';\r\nimport { Condition } from '../models/condition.model';\r\nimport { ConditionDialogService } from './condition-dialog.service';\r\nimport { CrmEntitiesService } from '../../crm-entities/crm-entities.service';\r\nimport {\r\n CrmEntity,\r\n CrmEntityAttribute,\r\n IAttributeOption\r\n} from '../../crm-entities/crm-entities.model';\r\nimport {\r\n CrmAttributeTypeToOperatorsHash,\r\n CrmEntityAttributeOperators,\r\n} from '../models/crm-entities-attributes-operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { LookupDialogComponent } from '../../lookup-dialog-component/lookup-dialog.component';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs/base-dialog';\r\nimport { AbstractControl, FormControl, ValidatorFn, Validators } from '@angular/forms';\r\n\r\nimport * as moment_ from 'moment';\r\nimport { Subscription } from 'rxjs';\r\nimport { ILookupData } from '../../lookup-dialog-component';\r\nconst moment = moment_;\r\n\r\n/// \r\n\r\nenum RightSideElementTypes {\r\n InputNumber = 1,\r\n InputText = 2,\r\n InputMultiLineText = 3,\r\n InputDecimal = 4,\r\n InputDropDown = 5,\r\n DateTimePicker = 6,\r\n TwoDateTimePickers = 7,\r\n DateOnlyPicker = 8,\r\n TwoDateOnlyPickers = 9,\r\n Lookup = 10\r\n}\r\n\r\nexport enum ConditionControlType {\r\n Entity = 1,\r\n Attribute = 2,\r\n Operator = 3,\r\n RightHandSide = 4,\r\n RightHandSideSecondValue = 5\r\n}\r\n\r\ninterface IOperatorViewModel {\r\n displayName: string;\r\n id: string;\r\n}\r\n\r\n@Component({\r\n selector: 'single-condition',\r\n templateUrl: 'single-condition.html'\r\n})\r\n\r\nexport class SingleConditionComponent implements AfterContentInit, OnDestroy {\r\n @Input() conditionModel: Condition;\r\n\r\n readonly maxInteger: number = 2147483647;\r\n readonly minInteger: number = -2147483648;\r\n readonly absDecimal: number = 922337203685477.000;\r\n\r\n checked: boolean = false;\r\n conditionNumber: number;\r\n entityTypeControl: FormControl;\r\n attributeControl: FormControl;\r\n operatorControl: FormControl;\r\n rightHandSideControl: FormControl;\r\n rightHandSideSecondValueControl: FormControl;\r\n selectedCrmEntity: CrmEntity = null;\r\n selectedCrmEntityAttribute: CrmEntityAttribute = null;\r\n selectedEntitySortedAttributesList: CrmEntityAttribute[];\r\n selectedAttributeListOption: string = null;\r\n operatorRightHandSideIsNeeded: boolean;\r\n operatorsList: IOperatorViewModel[];\r\n crmAttributeValid: boolean = true;\r\n crmAttributeOptionsValid: boolean = true;\r\n attributeControlOldValue: string = null;\r\n\r\n RightSideElementTypes = RightSideElementTypes;\r\n rightSideElementToShow: RightSideElementTypes;\r\n\r\n date: Date = moment().seconds(0).milliseconds(0).toDate();\r\n date2: Date = moment().seconds(0).milliseconds(0).toDate();\r\n dateTime: Date = moment().seconds(0).milliseconds(0).toDate();\r\n dateTime2: Date = moment().seconds(0).milliseconds(0).toDate();\r\n\r\n checkValidityEventSubscription: Subscription;\r\n\r\n decimalStep: string; // this is needed only when a Decimal input is the right-hand-side\r\n\r\n dateOnlyPickerSettings = {\r\n bigBanner: false,\r\n timePicker: false,\r\n format: 'MM-dd-yyyy',\r\n inputFormat: 'DD-MMM-YYYY',\r\n defaultOpen: false,\r\n closeOnSelect: true\r\n };\r\n\r\n dateTimePickerSettings = {\r\n bigBanner: false,\r\n timePicker: true,\r\n format: 'dd-MMM-yyyy HH:mm',\r\n inputFormat: 'DD-MMM-YYYY hh:mm A',\r\n defaultOpen: false,\r\n closeOnSelect: true\r\n };\r\n\r\n constructor(private conditionDialogService: ConditionDialogService,\r\n private translate: TranslateService,\r\n private dialogService: DialogService,\r\n public crmEntitiesService: CrmEntitiesService) {\r\n\r\n }\r\n\r\n ngAfterContentInit(): void {\r\n this.conditionNumber = this.conditionDialogService.getConditionNumberFromGenerator();\r\n this.checkValidityEventSubscription = this.conditionDialogService.doCheckValidity.subscribe(() => { this.checkListOptionsValidity(); });\r\n this.addConditionControlsToGroup();\r\n if (this.conditionModel.entityType) {\r\n this.setEntity();\r\n if (this.conditionModel.attributeLogicalName) {\r\n this.prepareOperatorsViewModel();\r\n\r\n if (this.conditionModel.operatorId) {\r\n this.setOperatorRightHandSideViewModel();\r\n this.initSpecificRightHandSideModelAndViewModel();\r\n }\r\n }\r\n }\r\n }\r\n\r\n checkListOptionsValidity() {\r\n if (this.conditionModel.attributeLogicalName) {\r\n if (this.conditionModel && this.conditionModel.attributeLogicalName) {\r\n this.crmAttributeValid = this.conditionModel.checkValidity(this.crmEntitiesService.entities);\r\n if (!this.crmAttributeValid) {\r\n this.conditionDialogService.addInvalidCondition(this.conditionNumber);\r\n }\r\n if (this.conditionModel.attributeType === 'List') {\r\n this.crmAttributeOptionsValid = this.conditionModel.checkListOptionsValidity(this.crmEntitiesService.entities);\r\n if (!this.crmAttributeOptionsValid) {\r\n this.conditionDialogService.addInvalidCondition(this.conditionNumber);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n removeAllControlsFromGroup() {\r\n this.conditionDialogService.removeControlFromGroup(this.getControlName(ConditionControlType.Entity));\r\n this.conditionDialogService.removeControlFromGroup(this.getControlName(ConditionControlType.Attribute));\r\n this.conditionDialogService.removeControlFromGroup(this.getControlName(ConditionControlType.Operator));\r\n this.conditionDialogService.removeControlFromGroup(this.getControlName(ConditionControlType.RightHandSide));\r\n this.conditionDialogService.removeControlFromGroup(this.getControlName(ConditionControlType.RightHandSideSecondValue));\r\n this.conditionDialogService.conditionsForm.updateValueAndValidity();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.removeAllControlsFromGroup();\r\n this.conditionDialogService.removeInvalidCondition(this.conditionNumber);\r\n this.checkValidityEventSubscription.unsubscribe();\r\n }\r\n\r\n addConditionControlsToGroup() {\r\n const attributeControlName = this.getControlName(ConditionControlType.Attribute);\r\n\r\n this.entityTypeControl = new FormControl(this.conditionModel.entityType, [Validators.required]);\r\n this.conditionDialogService.addControlToGroup(this.entityTypeControl, this.getControlName(ConditionControlType.Entity));\r\n\r\n this.attributeControl = new FormControl(this.conditionModel.attributeLogicalName, [Validators.required]);\r\n this.conditionDialogService.addControlToGroup(this.attributeControl, attributeControlName);\r\n\r\n this.operatorControl = new FormControl(this.conditionModel.operatorId, [Validators.required]);\r\n this.conditionDialogService.addControlToGroup(this.operatorControl, this.getControlName(ConditionControlType.Operator));\r\n }\r\n\r\n onEntityChanged(newValue: any) {\r\n if (newValue !== this.entityTypeControl.value) {\r\n // clear all the previous data if it was selected\r\n this.conditionModel.operatorId = null;\r\n this.conditionModel.rightHandSide = null;\r\n this.conditionModel.attributeLogicalName = null;\r\n this.conditionModel.attributeDisplayName = null;\r\n this.entityTypeControl.setValue(newValue);\r\n this.setEntity();\r\n }\r\n }\r\n\r\n onAttributeChanged(newValue: any) {\r\n if (newValue !== this.attributeControlOldValue) {\r\n this.crmAttributeOptionsValid = true;\r\n this.crmAttributeValid = true;\r\n this.conditionDialogService.removeInvalidCondition(this.conditionNumber);\r\n\r\n // this should be here since once a new attribute is selected this should be first thing we clear. old operators\r\n this.conditionModel.operatorId = null;\r\n this.conditionModel.rightHandSide = null;\r\n this.attributeControlOldValue = newValue;\r\n }\r\n\r\n this.prepareOperatorsViewModel();\r\n\r\n // attribute deleted from CRM\r\n if (!this.selectedCrmEntityAttribute) {\r\n return;\r\n }\r\n\r\n // save additional properties of the attribute so we could be able to show Human readable errors\r\n this.conditionModel.attributeDisplayName = this.selectedCrmEntityAttribute.name;\r\n this.conditionModel.attributeType = this.selectedCrmEntityAttribute.type;\r\n }\r\n\r\n getControlName(conditionControlType: ConditionControlType) {\r\n const controlName: string = ConditionControlType[conditionControlType].toString();\r\n return `${controlName}${this.conditionNumber}`;\r\n }\r\n\r\n addConditionValuesControlsToGroup() {\r\n let operatorRightHandSideSecondValueIsNeeded: boolean = false;\r\n const rightHandSideControlName = this.getControlName(ConditionControlType.RightHandSide);\r\n const rightHandSideSecondValueControlName = this.getControlName(ConditionControlType.RightHandSideSecondValue);\r\n\r\n this.conditionDialogService.removeControlFromGroup(rightHandSideControlName);\r\n this.conditionDialogService.removeControlFromGroup(rightHandSideSecondValueControlName);\r\n\r\n this.conditionDialogService.conditionsForm.updateValueAndValidity();\r\n\r\n if (this.rightSideElementToShow === RightSideElementTypes.InputDropDown) {\r\n this.rightHandSideControl = new FormControl(this.selectedAttributeListOption, [Validators.required]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.DateTimePicker) {\r\n this.rightHandSideControl = new FormControl(this.dateTime, [Validators.required]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.TwoDateTimePickers) {\r\n operatorRightHandSideSecondValueIsNeeded = true;\r\n this.rightHandSideControl = new FormControl(\r\n this.dateTime,\r\n [Validators.required,\r\n this.datesBetweenValidator(rightHandSideControlName, rightHandSideSecondValueControlName)]\r\n );\r\n this.rightHandSideSecondValueControl = new FormControl(this.dateTime2, [Validators.required]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.DateOnlyPicker) {\r\n this.rightHandSideControl = new FormControl(this.date, [Validators.required]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.TwoDateOnlyPickers) {\r\n operatorRightHandSideSecondValueIsNeeded = true;\r\n this.rightHandSideControl = new FormControl(\r\n this.date,\r\n [Validators.required, this.datesBetweenValidator(rightHandSideControlName, rightHandSideSecondValueControlName)]\r\n );\r\n this.rightHandSideSecondValueControl = new FormControl(this.date2, [Validators.required]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.InputNumber) {\r\n this.rightHandSideControl = new FormControl(this.conditionModel.rightHandSide, [Validators.required, this.maxAllowedIntegerValidator(rightHandSideControlName)]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.InputDecimal) {\r\n this.rightHandSideControl = new FormControl(this.conditionModel.rightHandSide, [Validators.required, this.maxAllowedDecimalValidator(rightHandSideControlName)]);\r\n } else if (this.rightSideElementToShow === RightSideElementTypes.InputText || this.rightSideElementToShow === RightSideElementTypes.InputMultiLineText) {\r\n const validators = [Validators.required];\r\n if (this.selectedCrmEntityAttribute.maxLength > 0) {\r\n validators.push(Validators.maxLength(this.selectedCrmEntityAttribute.maxLength));\r\n }\r\n this.rightHandSideControl = new FormControl(this.conditionModel.rightHandSide, validators);\r\n } else {\r\n this.rightHandSideControl = new FormControl(this.conditionModel.rightHandSide, [Validators.required]);\r\n }\r\n\r\n if (this.operatorRightHandSideIsNeeded) {\r\n this.conditionDialogService.addControlToGroup(this.rightHandSideControl, rightHandSideControlName);\r\n\r\n if (operatorRightHandSideSecondValueIsNeeded) {\r\n this.conditionDialogService.addControlToGroup(this.rightHandSideSecondValueControl, rightHandSideSecondValueControlName);\r\n }\r\n }\r\n }\r\n\r\n datesBetweenValidator(fromDateControlKey: string, toDateControlKey: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } => {\r\n const fromDateControl = this.conditionDialogService.conditionsForm.controls[fromDateControlKey];\r\n const toDateControl = this.conditionDialogService.conditionsForm.controls[toDateControlKey];\r\n let firstDateIsGreater: boolean = false;\r\n\r\n if (fromDateControl && toDateControl && fromDateControl.value && toDateControl.value) {\r\n const fromDateTicks = fromDateControl.value.getTime();\r\n const toDateTicks = toDateControl.value.getTime();\r\n if (fromDateTicks > toDateTicks) {\r\n firstDateIsGreater = true;\r\n }\r\n }\r\n return firstDateIsGreater ? {'firstDateIsGreater': {value: true}} : null;\r\n };\r\n }\r\n\r\n maxAllowedIntegerValidator(intControlKey: string): ValidatorFn {\r\n return (): { [key: string]: any } => {\r\n const numberControl = this.conditionDialogService.conditionsForm.controls[intControlKey];\r\n let numberIsGreater: boolean = false;\r\n if (numberControl && numberControl.value) {\r\n numberIsGreater = !(/^-?[0-9]+$/.test(numberControl.value)) || numberControl.value < this.minInteger || this.maxInteger < numberControl.value;\r\n }\r\n return numberIsGreater ? {'numberIsGreater': {value: true}} : null;\r\n };\r\n }\r\n\r\n maxAllowedDecimalValidator(intControlKey: string): ValidatorFn {\r\n return (): { [key: string]: any } => {\r\n const decimalControl = this.conditionDialogService.conditionsForm.controls[intControlKey];\r\n let decimalIsGreater: boolean = false;\r\n if (decimalControl && decimalControl.value) {\r\n decimalIsGreater = !(/^-?[0-9]+(\\.[0-9]{1,2})?$/.test(decimalControl.value)) || this.absDecimal < Math.abs(decimalControl.value);\r\n }\r\n return decimalIsGreater ? {'decimalIsGreater': {value: true}} : null;\r\n };\r\n }\r\n\r\n onOperatorChanged(newValue: any) {\r\n if (newValue !== this.operatorControl.value) {\r\n this.conditionModel.rightHandSide = null;\r\n }\r\n\r\n this.setOperatorRightHandSideViewModel();\r\n this.initSpecificRightHandSideModelAndViewModel();\r\n this.addConditionValuesControlsToGroup();\r\n }\r\n\r\n onConditionCheckedToggle(event: any) {\r\n if (this.checked) {\r\n this.conditionDialogService.removeConditionFromSelected(this.conditionModel);\r\n } else {\r\n this.conditionDialogService.addConditionToSelected(this.conditionModel);\r\n }\r\n\r\n this.checked = !this.checked;\r\n }\r\n\r\n public onDateSelected(event: any) {\r\n const date = new Date(event);\r\n this.conditionModel.rightHandSide = this.formatDateOnly(date);\r\n }\r\n\r\n public onDateTimeSelected(date: Date) {\r\n if (this.selectedCrmEntityAttribute.type === 'DateTimeZoneIndependent') {\r\n // we save the date and time on the right hand side without the Z since this is the value that will\r\n // be rendered in free marker and the syntax ?datetime.iso does not need the Z part to know that this is zone independant\r\n this.conditionModel.rightHandSide = this.formatDateTimeZoneIndependent(date);\r\n } else {\r\n this.conditionModel.rightHandSide = this.formatDateTime(date);\r\n }\r\n }\r\n\r\n public onBetweenDateTime1Selected(date: Date) {\r\n if (this.selectedCrmEntityAttribute.type === 'DateTimeZoneIndependent') {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTimeZoneIndependent(date, this.dateTime2);\r\n } else {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTime(date, this.dateTime2);\r\n }\r\n }\r\n\r\n public onBetweenDateTime2Selected(date: Date) {\r\n if (this.selectedCrmEntityAttribute.type === 'DateTimeZoneIndependent') {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTimeZoneIndependent(this.dateTime, date);\r\n } else {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTime(this.dateTime, date);\r\n }\r\n\r\n this.rightHandSideControl.markAsDirty();\r\n\r\n setTimeout(() => {\r\n this.rightHandSideControl.updateValueAndValidity();\r\n }, 0);\r\n\r\n }\r\n\r\n public onBetweenDate1Selected(date: Date) {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateOnly(date, this.date2);\r\n }\r\n\r\n public onBetweenDate2Selected(date: Date) {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateOnly(this.date, date);\r\n this.rightHandSideControl.markAsDirty();\r\n\r\n setTimeout(() => {\r\n this.rightHandSideControl.updateValueAndValidity();\r\n }, 0);\r\n }\r\n\r\n onSelectionOnListAttributeChanged(valueSelected: any) {\r\n if (valueSelected !== this.rightHandSideControl.value) {\r\n this.crmAttributeOptionsValid = true;\r\n this.crmAttributeValid = true;\r\n this.conditionDialogService.removeInvalidCondition(this.conditionNumber);\r\n }\r\n\r\n // create a clone of the option and place it on the model (detach from the list UI control)\r\n const foundOption: IAttributeOption = this.selectedCrmEntityAttribute.options.find((option) => {\r\n return (option.value === valueSelected);\r\n });\r\n\r\n if (foundOption) {\r\n this.conditionModel.rightHandSide = this.cloneListOption(foundOption);\r\n } else {\r\n this.conditionModel.rightHandSide = null;\r\n }\r\n }\r\n\r\n public openLookupDialog() {\r\n this.dialogService.createDialog(LookupDialogComponent, {\r\n entityTypes: this.selectedCrmEntityAttribute.lookupEntityIds\r\n }).onClose.subscribe((result: IDialogOnClose) => {\r\n if (result.reason === DialogCloseReason.OK) {\r\n const selectedRecords = result.data.selected;\r\n const fieldList = result.data.fieldList;\r\n\r\n // TODO: check if Name exists on all the fieldsList\r\n this.conditionModel.rightHandSide = {\r\n name: selectedRecords[0].Name,\r\n id: selectedRecords[0].Id\r\n } as ILookupData;\r\n }\r\n });\r\n }\r\n\r\n private cloneListOption(listOPtion: IAttributeOption) {\r\n return ({\r\n text: listOPtion.text,\r\n value: listOPtion.value\r\n } as IAttributeOption);\r\n }\r\n\r\n private buildRightHandSideForBetweenDateTime(date1: Date, date2: Date) {\r\n return {\r\n gteValue: this.formatDateTime(date1),\r\n lteValue: this.formatDateTime(date2)\r\n };\r\n }\r\n\r\n private buildRightHandSideForBetweenDateTimeZoneIndependent(date1: Date, date2: Date) {\r\n return {\r\n gteValue: this.formatDateTimeZoneIndependent(date1),\r\n lteValue: this.formatDateTimeZoneIndependent(date2)\r\n };\r\n }\r\n\r\n private buildRightHandSideForBetweenDateOnly(date1: Date, date2: Date) {\r\n return {\r\n gteValue: this.formatDateOnly(date1),\r\n lteValue: this.formatDateOnly(date2)\r\n };\r\n }\r\n\r\n private formatDateTime(date: Date) {\r\n date.setSeconds(0);\r\n date.setMilliseconds(0);\r\n return date.toISOString();\r\n }\r\n\r\n private formatDateTimeZoneIndependent(date: Date) {\r\n const dateAsMoment = moment(date);\r\n return dateAsMoment.format('YYYY-MM-DDTHH:mm:ss');\r\n }\r\n\r\n private formatDateOnly(date: Date) {\r\n const dateAsMoment = moment(date);\r\n // this will extract the date part from the date object and will create a new moment object with the date and time as 12:00 and utc\r\n // like the crm saves these values on date only\r\n return dateAsMoment.format('YYYY-MM-DDT00:00:00');\r\n }\r\n\r\n private setEntity() {\r\n if (!this.conditionModel.entityType) {\r\n // the user could select the empty placeholder. clear also the entity name\r\n this.conditionModel.entityName = null;\r\n return;\r\n }\r\n\r\n this.selectedCrmEntity = this.crmEntitiesService.getEntityByType(this.conditionModel.entityType);\r\n this.conditionModel.entityName = this.selectedCrmEntity.entityName;\r\n\r\n this.selectedEntitySortedAttributesList = this.selectedCrmEntity.attributes.sort((a: CrmEntityAttribute, b: CrmEntityAttribute) => {\r\n\r\n if (a.name.toLowerCase() > b.name.toLowerCase()) {\r\n return 1;\r\n } else if (a.name.toLowerCase() < b.name.toLowerCase()) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n }\r\n\r\n private setOperatorRightHandSideViewModel() {\r\n\r\n // attribute deleted from CRM\r\n if (!this.selectedCrmEntityAttribute) {\r\n return;\r\n }\r\n\r\n switch (this.selectedCrmEntityAttribute.type) {\r\n case 'Boolean':\r\n case 'List':\r\n this.rightSideElementToShow = RightSideElementTypes.InputDropDown;\r\n break;\r\n case 'TextArea':\r\n this.rightSideElementToShow = RightSideElementTypes.InputMultiLineText;\r\n break;\r\n case 'Text':\r\n this.rightSideElementToShow = RightSideElementTypes.InputText;\r\n break;\r\n case 'Money':\r\n case 'Decimal':\r\n this.rightSideElementToShow = RightSideElementTypes.InputDecimal;\r\n if (this.selectedCrmEntityAttribute.accuracy > 0) {\r\n this.decimalStep = '.' + '1'.padStart(this.selectedCrmEntityAttribute.accuracy, '0');\r\n } else {\r\n this.decimalStep = '';\r\n }\r\n break;\r\n case 'Integer':\r\n this.rightSideElementToShow = RightSideElementTypes.InputNumber;\r\n break;\r\n\r\n case 'DateTimeZoneIndependent':\r\n case 'DateTime':\r\n if (this.conditionModel.operatorId === 'betweenDateTime') {\r\n this.rightSideElementToShow = RightSideElementTypes.TwoDateTimePickers;\r\n } else {\r\n this.rightSideElementToShow = RightSideElementTypes.DateTimePicker;\r\n }\r\n break;\r\n\r\n case 'DateOnly':\r\n if (this.conditionModel.operatorId === 'betweenDateOnly') {\r\n this.rightSideElementToShow = RightSideElementTypes.TwoDateOnlyPickers;\r\n } else {\r\n this.rightSideElementToShow = RightSideElementTypes.DateOnlyPicker;\r\n }\r\n break;\r\n case 'Lookup':\r\n this.rightSideElementToShow = RightSideElementTypes.Lookup;\r\n break;\r\n }\r\n\r\n // on some operators the right hand side is not needed check for this.\r\n this.operatorRightHandSideIsNeeded = (\r\n (this.conditionModel.operatorId !== 'containsData') &&\r\n (this.conditionModel.operatorId !== 'doesNotContainData')\r\n );\r\n }\r\n\r\n private triggerAttributeControlValidation() {\r\n this.attributeControl.markAsDirty();\r\n this.attributeControl.markAsTouched();\r\n\r\n setTimeout(() => {\r\n this.attributeControl.updateValueAndValidity();\r\n }, 0);\r\n }\r\n\r\n private prepareOperatorsViewModel() {\r\n this.operatorsList = [];\r\n\r\n this.selectedCrmEntityAttribute = this.selectedCrmEntity.attributes.find(\r\n attribute => attribute.logicalName === this.conditionModel.attributeLogicalName);\r\n\r\n // attribute not found, deleted from CRM\r\n if (!this.selectedCrmEntityAttribute) {\r\n this.conditionModel.attributeLogicalName = null;\r\n this.conditionModel.operatorId = null;\r\n this.conditionModel.rightHandSide = null;\r\n return;\r\n }\r\n\r\n const tempOperatorsList = CrmAttributeTypeToOperatorsHash[this.selectedCrmEntityAttribute.type];\r\n\r\n tempOperatorsList.forEach((operatorId: string) => {\r\n const operator = CrmEntityAttributeOperators[operatorId];\r\n\r\n const operatorViewModel: IOperatorViewModel = {\r\n displayName: this.translate.instant(operator.displayNameKey),\r\n id: operator.name\r\n };\r\n\r\n this.operatorsList.push(operatorViewModel);\r\n });\r\n\r\n if (this.operatorsList.length === 1) {\r\n // there is only one option select that operator for the user\r\n this.conditionModel.operatorId = this.operatorsList[0].id;\r\n // in this case continue to the next stage and prepare the right-hand-side view\r\n // model since we already selected the operator for the user.\r\n this.setOperatorRightHandSideViewModel();\r\n\r\n this.initSpecificRightHandSideModelAndViewModel();\r\n }\r\n }\r\n\r\n private initSpecificRightHandSideModelAndViewModel() {\r\n // for some types (date and DateTime for now) a view model needs to be created\r\n switch (this.rightSideElementToShow) {\r\n case RightSideElementTypes.InputDropDown:\r\n if (this.conditionModel.rightHandSide && (this.selectedCrmEntityAttribute.type === 'Boolean' ||\r\n this.selectedCrmEntityAttribute.type === 'List')) {\r\n\r\n // find the right value that should be selected in the select and set it up on the list view-model\r\n const foundOption: IAttributeOption = this.selectedCrmEntityAttribute.options.find((option) => {\r\n return (option.value === (this.conditionModel.rightHandSide as IAttributeOption).value);\r\n });\r\n if (foundOption) {\r\n this.selectedAttributeListOption = foundOption.value;\r\n } else {\r\n // just a default if the user has deleted from the crm one of the options we set it to null.\r\n this.selectedAttributeListOption = null;\r\n }\r\n } else if (!this.conditionModel.rightHandSide && this.selectedCrmEntityAttribute.type === 'Boolean') {\r\n // select the first item as a default since it's boolean\r\n this.conditionModel.rightHandSide = this.cloneListOption(this.selectedCrmEntityAttribute.options[0]);\r\n this.selectedAttributeListOption = this.selectedCrmEntityAttribute.options[0].value;\r\n } else {\r\n // this happens if there is nothing on the right hand side on the model\r\n this.selectedAttributeListOption = null;\r\n }\r\n break;\r\n case RightSideElementTypes.DateTimePicker:\r\n this.dateTime = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide);\r\n\r\n if (!this.conditionModel.rightHandSide) {\r\n if (this.selectedCrmEntityAttribute.type === 'DateTimeZoneIndependent') {\r\n this.conditionModel.rightHandSide = this.formatDateTimeZoneIndependent(this.dateTime);\r\n } else {\r\n this.conditionModel.rightHandSide = this.formatDateTime(this.dateTime);\r\n }\r\n }\r\n break;\r\n case RightSideElementTypes.DateOnlyPicker:\r\n this.date = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide);\r\n\r\n if (!this.conditionModel.rightHandSide) {\r\n this.conditionModel.rightHandSide = this.formatDateOnly(this.date);\r\n }\r\n break;\r\n case RightSideElementTypes.TwoDateTimePickers:\r\n if (this.conditionModel.rightHandSide) {\r\n this.dateTime = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide.gteValue);\r\n this.dateTime2 = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide.lteValue);\r\n }\r\n\r\n if (!this.conditionModel.rightHandSide) {\r\n if (this.selectedCrmEntityAttribute.type === 'DateTimeZoneIndependent') {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTimeZoneIndependent(this.dateTime, this.dateTime2);\r\n } else {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateTime(this.dateTime, this.dateTime2);\r\n }\r\n }\r\n\r\n break;\r\n case RightSideElementTypes.TwoDateOnlyPickers:\r\n if (this.conditionModel.rightHandSide) {\r\n this.date = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide.gteValue);\r\n this.date2 = this.setDateAccordingToRightHandSide(this.conditionModel.rightHandSide.lteValue);\r\n }\r\n\r\n if (!this.conditionModel.rightHandSide) {\r\n this.conditionModel.rightHandSide = this.buildRightHandSideForBetweenDateOnly(this.date, this.date2);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n private setDateAccordingToRightHandSide(rightHandSide: string) {\r\n if (rightHandSide) {\r\n return new Date(rightHandSide);\r\n }\r\n\r\n return moment().seconds(0).milliseconds(0).toDate();\r\n }\r\n\r\n}\r\n","// start:ng42.barrel\r\nexport * from './conditions.module';\r\nexport * from './dialog/index';\r\nexport * from './models/index';\r\n// end:ng42.barrel\r\n\r\n","import { CompositeCondition } from './composite-conditions.model';\r\nimport { BaseModel } from '../../interfaces/base-model';\r\nimport { CrmEntity } from '../../crm-entities/crm-entities.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport abstract class BaseCondition extends BaseModel {\r\n public parent: CompositeCondition = null;\r\n\r\n constructor(modelType: string) {\r\n super(modelType);\r\n }\r\n\r\n /**\r\n * @returns the depth in which this is condition is in (how far it is from the root)\r\n */\r\n getDepth(): number {\r\n let currentDepth = 0;\r\n let currentCondition: BaseCondition = this;\r\n while (true) {\r\n if (currentCondition.parent) {\r\n currentDepth++;\r\n currentCondition = currentCondition.parent;\r\n } else {\r\n break; // this is adam and eave :-) (the root)\r\n }\r\n }\r\n\r\n return currentDepth;\r\n }\r\n\r\n /**\r\n * returns a string representation of the condition (could be also a rendering to a specific output. like the free marker representation)\r\n */\r\n abstract generateExpression(): string;\r\n\r\n abstract getHeight(): number;\r\n\r\n abstract clone(): BaseCondition;\r\n\r\n abstract generateHtmlForPreview(entities: CrmEntity[], translate: TranslateService): string;\r\n\r\n abstract checkValidity(entities: CrmEntity[]): boolean;\r\n}\r\n","import { BaseCondition } from './base-condition.model';\r\nimport { Condition } from './condition.model';\r\nimport { CrmEntity } from '../../crm-entities/crm-entities.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport abstract class CompositeCondition extends BaseCondition {\r\n childConditions: BaseCondition[] = [];\r\n booleanOperator: string;\r\n booleanOperatorHumanReadable: string;\r\n\r\n constructor(modelType: string) {\r\n super(modelType);\r\n }\r\n\r\n public toJSON(): any {\r\n const ret = super.toJSON();\r\n ret.childConditions = this.childConditions.map(child => child.toJSON());\r\n return ret;\r\n }\r\n\r\n cloneChildrenFromComposite(compositeToCloneFrom: CompositeCondition): Array {\r\n return compositeToCloneFrom.childConditions.map((childCondition: BaseCondition) => {\r\n const clone = childCondition.clone();\r\n clone.parent = this;\r\n return clone;\r\n });\r\n }\r\n\r\n getConditionsCount() {\r\n return this.childConditions.length;\r\n }\r\n\r\n addChildCondition(childCondition: BaseCondition) {\r\n this.childConditions.push(childCondition);\r\n // set the parent of the child to be me\r\n childCondition.parent = this;\r\n }\r\n\r\n insertChildConditionAtIndex(index: number, conditionToInsert: BaseCondition) {\r\n if (index < 0) {\r\n throw new Error('index out of bounds ' + index);\r\n }\r\n\r\n if (!conditionToInsert) {\r\n throw new Error('No condition to be added was provided');\r\n }\r\n\r\n this.childConditions.splice(index, 0, conditionToInsert);\r\n conditionToInsert.parent = this;\r\n }\r\n\r\n removeChildCondition(childCondition: BaseCondition) {\r\n const childIndex: number = this.childConditions.indexOf(childCondition);\r\n if (childIndex === -1) {\r\n throw new Error(`could not locate child condition in children`);\r\n }\r\n\r\n this.childConditions.splice(childIndex, 1);\r\n childCondition.parent = null;\r\n }\r\n\r\n generateExpression() {\r\n let resultExpression = '(';\r\n\r\n this.childConditions.forEach((childCondition, index: number) => {\r\n const childExpression = childCondition.generateExpression();\r\n\r\n resultExpression += childExpression;\r\n\r\n if (index < (this.childConditions.length - 1)) {\r\n resultExpression += ` ${this.booleanOperator} `;\r\n }\r\n });\r\n\r\n resultExpression += ')';\r\n return resultExpression;\r\n }\r\n\r\n getHeight(): number {\r\n // find the max height of a all of the defendantsa and add 1 to include me as the height.\r\n let maxChildHeight = 0;\r\n if (this.childConditions.length === 0) {\r\n return 0;\r\n }\r\n\r\n this.childConditions.forEach((childCondition) => {\r\n const currentChildHeight = childCondition.getHeight();\r\n if (currentChildHeight > maxChildHeight) {\r\n maxChildHeight = currentChildHeight;\r\n }\r\n });\r\n\r\n return maxChildHeight + 1;\r\n }\r\n\r\n generateHtmlForPreview(entities: CrmEntity[], translate: TranslateService): string {\r\n const html = this.childConditions.map(function (child, index) {\r\n return child.generateHtmlForPreview(entities, translate);\r\n });\r\n let generatedChildsHTML = ``;\r\n if (this.parent !== null) {\r\n generatedChildsHTML = `\r\n
\r\n
\r\n
\r\n ${this.booleanOperatorHumanReadable}\r\n
\r\n
\r\n ${ html.join('')}\r\n
\r\n
\r\n
\r\n `;\r\n } else {\r\n generatedChildsHTML = `\r\n
\r\n
\r\n ${ html.join('')}\r\n
\r\n
\r\n `;\r\n }\r\n\r\n return generatedChildsHTML;\r\n }\r\n\r\n checkValidity(entities: CrmEntity[]): boolean {\r\n let isValid: boolean = true;\r\n\r\n this.childConditions.forEach((condition: BaseCondition) => {\r\n // need to check all conditions\r\n const isCurrentConditionValid = condition.checkValidity(entities);\r\n if (isCurrentConditionValid === false) {\r\n isValid = false;\r\n }\r\n });\r\n\r\n return isValid;\r\n }\r\n}\r\n\r\nexport class AndCondition extends CompositeCondition {\r\n static fromJSON(json: any | string): AndCondition {\r\n if (typeof json === 'string') {\r\n // if it's a string, parse it first\r\n return JSON.parse(json, AndCondition.reviver);\r\n } else {\r\n // create an instance of the and-condition\r\n const andCondition = new AndCondition();\r\n // copy all the fields from the json object\r\n Object.assign(andCondition, json);\r\n andCondition.childConditions.map((child: BaseCondition) => child.parent = andCondition);\r\n return andCondition;\r\n }\r\n }\r\n\r\n static reviver(key: string, value: any): any {\r\n switch (key) {\r\n case '':\r\n return AndCondition.fromJSON(value);\r\n case 'childConditions':\r\n return value.map((conditionChild: any) => {\r\n switch (conditionChild.modelType) {\r\n case 'andCondition':\r\n return AndCondition.fromJSON(conditionChild);\r\n case 'orCondition':\r\n return OrCondition.fromJSON(conditionChild);\r\n default:\r\n return Condition.fromJSON(conditionChild);\r\n }\r\n });\r\n default:\r\n return value;\r\n }\r\n }\r\n\r\n constructor(andCondition?: AndCondition) {\r\n super('andCondition');\r\n this.booleanOperator = '&&';\r\n this.booleanOperatorHumanReadable = 'AND';\r\n\r\n if (andCondition) {\r\n this.childConditions = this.cloneChildrenFromComposite(andCondition);\r\n }\r\n }\r\n\r\n clone() {\r\n return new AndCondition(this);\r\n }\r\n}\r\n\r\nexport class OrCondition extends CompositeCondition {\r\n\r\n static fromJSON(json: any | string): OrCondition {\r\n if (typeof json === 'string') {\r\n // if it's a string, parse it first\r\n return JSON.parse(json, OrCondition.reviver);\r\n } else {\r\n // create an instance of the or-condition\r\n const orCondition = new OrCondition();\r\n // copy all the fields from the json object\r\n Object.assign(orCondition, json);\r\n orCondition.childConditions.map((child: BaseCondition) => child.parent = orCondition);\r\n return orCondition;\r\n }\r\n }\r\n\r\n static reviver(key: string, value: any): any {\r\n switch (key) {\r\n case '':\r\n return OrCondition.fromJSON(value);\r\n case 'childConditions':\r\n return value.map((conditionChild: any) => {\r\n switch (conditionChild.modelType) {\r\n case 'andCondition':\r\n return AndCondition.fromJSON(conditionChild);\r\n case 'orCondition':\r\n return OrCondition.fromJSON(conditionChild);\r\n default:\r\n return Condition.fromJSON(conditionChild);\r\n }\r\n });\r\n default:\r\n return value;\r\n }\r\n }\r\n\r\n constructor(orCondition?: OrCondition) {\r\n super('orCondition');\r\n this.booleanOperator = '||';\r\n this.booleanOperatorHumanReadable = 'OR';\r\n\r\n if (orCondition) {\r\n this.childConditions = this.cloneChildrenFromComposite(orCondition);\r\n }\r\n }\r\n\r\n clone() {\r\n return new OrCondition(this);\r\n }\r\n}\r\n\r\n","import { BaseCondition } from './base-condition.model';\r\nimport { CrmEntityAttributeOperators, IAttributeOperator, IBetweenValues } from './crm-entities-attributes-operators';\r\nimport { CrmEntity, CrmEntityAttribute, CrmEntityLogicalNameEnum, CrmEntityTypeEnum, IAttributeOption } from '../../crm-entities/crm-entities.model';\r\nimport { CrmEntityAttributeTypeEnum } from '../../crm-entities/crm-entities.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ILookupData } from '../../lookup-dialog-component';\r\n\r\nexport type ConditionRightHandSide = string | IBetweenValues | ILookupData | IAttributeOption | null;\r\n\r\nexport class Condition extends BaseCondition {\r\n isValid = true;\r\n private _entityName: string = null;\r\n private _entityType: CrmEntityTypeEnum = null;\r\n private _attributeLogicalName: string = null; //this is the left-hand side of the condition\r\n private _attributeDisplayName: string = null;\r\n private _attributeType: CrmEntityAttributeTypeEnum = null; // this could be used for validations in rare cases where the user changed the type of an attribute\r\n // (by deleting a custom attribute and adding a new one with the same name and different type)\r\n private _rightHandSide: ConditionRightHandSide = null;\r\n private _operatorId: string = null;\r\n\r\n get entityType(): CrmEntityTypeEnum {\r\n return this._entityType;\r\n }\r\n\r\n set entityType(value: CrmEntityTypeEnum) {\r\n this.setProperty('entityType', value);\r\n }\r\n\r\n get attributeLogicalName(): string {\r\n return this._attributeLogicalName;\r\n }\r\n\r\n set attributeLogicalName(value: string) {\r\n this.setProperty('attributeLogicalName', value);\r\n }\r\n\r\n get attributeDisplayName() {\r\n return this._attributeDisplayName;\r\n }\r\n\r\n set attributeDisplayName(value: string) {\r\n this.setProperty('attributeDisplayName', value);\r\n }\r\n\r\n get attributeType(): CrmEntityAttributeTypeEnum {\r\n return this._attributeType;\r\n }\r\n\r\n set attributeType(value: CrmEntityAttributeTypeEnum) {\r\n this._attributeType = value;\r\n }\r\n\r\n get operatorId(): string {\r\n return this._operatorId;\r\n }\r\n\r\n set operatorId(value: string) {\r\n this.setProperty('operatorId', value);\r\n }\r\n\r\n get entityName(): string {\r\n return this._entityName;\r\n }\r\n\r\n set entityName(value: string) {\r\n this.setProperty('entityName', value);\r\n }\r\n\r\n get rightHandSide(): any {\r\n return this._rightHandSide;\r\n }\r\n\r\n set rightHandSide(value: any) {\r\n this.setProperty('rightHandSide', value);\r\n }\r\n\r\n static fromJSON(json: any | string): Condition {\r\n if (typeof json === 'string') {\r\n // if it's a string, parse it first\r\n return JSON.parse(json, Condition.reviver);\r\n } else {\r\n // create an instance of the body class\r\n let elemStyle = new Condition();\r\n // copy all the fields from the json object\r\n let res = Object.assign(elemStyle, json);\r\n return res;\r\n }\r\n }\r\n\r\n static reviver(key: string, value: any): any {\r\n switch (key) {\r\n case '':\r\n return Condition.fromJSON(value);\r\n default:\r\n return value;\r\n }\r\n }\r\n\r\n constructor() {\r\n super('condition');\r\n }\r\n\r\n clone() {\r\n let clonedCondition = new Condition();\r\n clonedCondition.entityName = this.entityName;\r\n clonedCondition.entityType = this.entityType;\r\n clonedCondition.attributeLogicalName = this.attributeLogicalName;\r\n clonedCondition.attributeDisplayName = this.attributeDisplayName;\r\n clonedCondition.attributeType = this.attributeType;\r\n clonedCondition.rightHandSide = this.rightHandSide;\r\n clonedCondition.operatorId = this.operatorId;\r\n return clonedCondition;\r\n }\r\n\r\n generateExpression(): string {\r\n let operator: IAttributeOperator = CrmEntityAttributeOperators[this._operatorId];\r\n if (!this.entityType || !this.attributeLogicalName || !operator ||\r\n (operator && !operator.doesNotRequireRightHandSide && this.rightHandSide === null)) {\r\n //just a default. trying to render unfilled condition, this should not have happened\r\n return 'false';\r\n }\r\n let attributeLogicalNameToUse = this.attributeLogicalName;\r\n // TODO: this code should be added once the DynamicEmail suports adding the XXX_entityid for lookup attributes\r\n //we will be able to do the comparison with the id and not the name (after all there could be a lot of Avi.Cohen entities)\r\n // if (this.attributeType === 'Lookup') {\r\n // attributeLogicalNameToUse = this.attributeLogicalName + '_eneityid';\r\n // }\r\n // TODO: end of additon\r\n let leftHandSide: any = `Recipient.${CrmEntityLogicalNameEnum[this.entityType]}.${attributeLogicalNameToUse.toLowerCase()}.@value[0]`;\r\n let expressionToReturn = operator.renderFreeMarker(leftHandSide, this.rightHandSide);\r\n expressionToReturn = `(${expressionToReturn})`;\r\n return expressionToReturn;\r\n }\r\n\r\n generateHumanReadableString(translate: TranslateService) {\r\n let operator = CrmEntityAttributeOperators[this._operatorId];\r\n if (!this.entityType || !this.attributeLogicalName || !this._operatorId ||\r\n (operator && !operator.doesNotRequireRightHandSide && this.rightHandSide === null)) {\r\n //just a default. trying to render unfilled condition, this should not have happened\r\n return 'false';\r\n }\r\n let translatedEntityName = translate.instant('COMMON.CRM_ENTITY_NAMES.' + this.entityName);\r\n let leftHandSide: any = `${translatedEntityName}.${this.attributeDisplayName}`;\r\n return operator.renderHumanReadable(translate, leftHandSide, this.rightHandSide);\r\n }\r\n\r\n generateHtmlForPreview(entities: CrmEntity[], translate: TranslateService): string {\r\n\r\n let html = ``;\r\n html += this.isValid === true ? `
` : `
`;\r\n html += `${this.generateHumanReadableString(translate)}\r\n
`;\r\n return html;\r\n }\r\n\r\n getHeight(): number {\r\n return 0;\r\n }\r\n\r\n\r\n checkValidity(entities: CrmEntity[]): boolean {\r\n if (entities) {\r\n let entity: CrmEntity = entities.find(entity => entity && entity.entityName && entity.entityName.toLowerCase() === this.entityName.toLowerCase());\r\n if (entity) {\r\n let currentAttribute: CrmEntityAttribute = entity.attributes.find(attribute => attribute.logicalName === this.attributeLogicalName);\r\n if (currentAttribute) {\r\n if (currentAttribute.type === this._attributeType) {\r\n if (currentAttribute.type === 'List') {\r\n //check that the options of the boolean and the list did not change and include the selected value\r\n if (!this.rightHandSide) {\r\n this.isValid = false;\r\n return this.isValid;\r\n }\r\n\r\n let rightHandSideAsOption = this.rightHandSide as IAttributeOption;\r\n\r\n let optionFound = currentAttribute.options.find((option: IAttributeOption) => {\r\n return (option.value === rightHandSideAsOption.value);\r\n });\r\n this.isValid = !!optionFound; //convert to boolean result\r\n return this.isValid;\r\n }\r\n\r\n this.isValid = true;\r\n } else {\r\n this.isValid = false;\r\n }\r\n }\r\n else {\r\n this.isValid = false;\r\n }\r\n }\r\n }\r\n return this.isValid;\r\n }\r\n\r\n checkListOptionsValidity(entities: CrmEntity[]): boolean {\r\n if (entities) {\r\n let entity: CrmEntity = entities.find(entity => entity && entity.entityName && entity.entityName.toLowerCase() === this.entityName.toLowerCase());\r\n if (entity) {\r\n let currentAttribute: CrmEntityAttribute = entity.attributes.find(attribute => attribute.logicalName === this.attributeLogicalName);\r\n if (currentAttribute) {\r\n if (currentAttribute.type === this._attributeType) {\r\n if (currentAttribute.type === 'List') {\r\n if (!this.rightHandSide) {\r\n return false;\r\n }\r\n //check that the options of the boolean and the list did not change and include the selected value\r\n let rightHandSideAsOption = this.rightHandSide as IAttributeOption;\r\n\r\n let optionFound = currentAttribute.options.find((option: IAttributeOption) => {\r\n return (option.value === rightHandSideAsOption.value);\r\n });\r\n\r\n return !!optionFound;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n","import {\r\n globalHumanReadableRender,\r\n IAttributeOperator, IBetweenValues, ICrmEntityAttributeTypeToOperatorsHash, IOperatorsHash,\r\n wrapWithProtectionConditionForNegationString,\r\n wrapWithProtectionConditionForString\r\n} from './crm-entities-base-operators';\r\nimport { IAttributeOption, CrmEntityTypeEnum } from '../../crm-entities/crm-entities.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NumberOperatorDifferent, NumberOperatorEquals, NumberOperatorGreaterThan,\r\n NumberOperatorGreaterThanEqual, NumberOperatorLessThan, NumberOperatorLessThanEqual } from './crm-entities-number-operators';\r\nimport {\r\n DateOnlyOperatorBetween, DateOnlyOperatorDifferent, DateOnlyOperatorEquals, DateOnlyOperatorGreaterOrEqualTo, DateOnlyOperatorGreaterThan,\r\n DateOnlyOperatorLessThan, DateOnlyOperatorLessThanEqual, DateTimeOperatorBetween, DateTimeOperatorDifferent, DateTimeOperatorEquals,\r\n DateTimeOperatorGreaterOrEqualTo, DateTimeOperatorGreaterThan, DateTimeOperatorLessThan, DateTimeOperatorLessThanEqual\r\n} from './crm-entities-date-operators';\r\nimport { ILookupData } from '../../lookup-dialog-component';\r\n\r\n\r\nexport { IAttributeOperator, IBetweenValues } from './crm-entities-base-operators';\r\n\r\nexport let CrmEntityAttributeOperators: IOperatorsHash = {\r\n 'equalsNumber': new NumberOperatorEquals(),\r\n 'differentNumber': new NumberOperatorDifferent(),\r\n 'lessThanNumber': new NumberOperatorLessThan(),\r\n 'lessOrEqualToNumber': new NumberOperatorLessThanEqual(),\r\n 'greaterThanNumber': new NumberOperatorGreaterThan(),\r\n 'greaterOrEqualThanNumber': new NumberOperatorGreaterThanEqual(),\r\n\r\n /***********************\r\n ** Strings Operators **\r\n ***********************/\r\n 'equalsString': {\r\n name: 'equalsString',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.EQUALS',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.EQUALS',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left} == \"${right}\")`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n 'differentString': {\r\n name: 'differentString',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DIFFERENT',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DIFFERENT',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (${left} != \"${right}\")`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n 'startsWith': {\r\n name: 'startsWith',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.STARTS_WITH',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.STARTS_WITH',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left}?starts_with(\"${right}\"))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n\r\n 'doesNotStartsWith': {\r\n name: 'doesNotStartsWith',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DOES_NOT_START_WITH',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DOES_NOT_START_WITH',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (!(${left}?starts_with(\"${right}\")))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n 'endsWith': {\r\n name: 'endsWith',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.ENDS_WITH',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.ENDS_WITH',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left}?ends_with(\"${right}\"))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n\r\n 'doesNotEndWith': {\r\n name: 'doesNotEndWith',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DOES_NOT_END_WITH',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DOES_NOT_END_WITH',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (!(${left}?ends_with(\"${right}\")))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n 'containsString': {\r\n name: 'containsString',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.CONTAINS',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.CONTAINS',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left}?contains(\"${right}\"))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n 'doesNotContainsString': {\r\n name: 'doesNotContainsString',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DOES_NOT_CONTAIN',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DOES_NOT_CONTAIN',\r\n renderFreeMarker(left: string, right: string) {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (!(${left}?contains(\"${right}\")))`;\r\n },\r\n renderHumanReadable: globalHumanReadableRender\r\n },\r\n\r\n /***********************\r\n ** General Operator s**\r\n ***********************/\r\n 'containsData': {\r\n name: 'containsData',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.CONTAINS_DATA',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.CONTAINS_DATA',\r\n renderFreeMarker: (left: string, right: string) => `(${left})?has_content`,\r\n renderHumanReadable: globalHumanReadableRender,\r\n doesNotRequireRightHandSide: true\r\n },\r\n\r\n 'doesNotContainData': {\r\n name: 'doesNotContainData',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DOES_NOT_CONTAIN_DATA',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DOES_NOT_CONTAIN_DATA',\r\n renderFreeMarker: (left: string, right: string) => `(!((${left})?has_content))`,\r\n renderHumanReadable: globalHumanReadableRender,\r\n doesNotRequireRightHandSide: true\r\n },\r\n\r\n /*************************\r\n ** DateTime Operators **\r\n *************************/\r\n 'equalsDateTime': new DateTimeOperatorEquals(),\r\n 'differentDateTime': new DateTimeOperatorDifferent(),\r\n 'gtDateTime': new DateTimeOperatorGreaterThan(),\r\n 'gteDateTime': new DateTimeOperatorGreaterOrEqualTo(),\r\n 'ltDateTime': new DateTimeOperatorLessThan(),\r\n 'lteDateTime': new DateTimeOperatorLessThanEqual(),\r\n 'betweenDateTime': new DateTimeOperatorBetween(),\r\n\r\n /*************************\r\n ** Date-Only Operators **\r\n *************************/\r\n 'equalsDateOnly': new DateOnlyOperatorEquals(),\r\n 'differentDateOnly': new DateOnlyOperatorDifferent(),\r\n 'gtDateOnly': new DateOnlyOperatorGreaterThan(),\r\n 'gteDateOnly': new DateOnlyOperatorGreaterOrEqualTo(),\r\n 'ltDateOnly': new DateOnlyOperatorLessThan(),\r\n 'lteDateOnly': new DateOnlyOperatorLessThanEqual(),\r\n 'betweenDateOnly': new DateOnlyOperatorBetween(),\r\n\r\n 'equalsLookup': {\r\n name: 'equalsLookup',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.EQUALS',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.EQUALS',\r\n renderFreeMarker: (left: string, right: ILookupData) => {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left} == \"${right.id}\")`;\r\n },\r\n renderHumanReadable: function (translate: TranslateService, left: string, right: any) {\r\n return translate.instant(this.humanReadableTranslationKey, { leftValue: left, rightValue: right.name });\r\n }\r\n },\r\n\r\n 'differentLookup': {\r\n name: 'differentLookup',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DIFFERENT',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DIFFERENT',\r\n renderFreeMarker: (left: string, right: ILookupData) => {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (${left} != \"${right.id}\")`;\r\n },\r\n renderHumanReadable: function (translate: TranslateService, left: string, right: ILookupData) {\r\n return translate.instant(this.humanReadableTranslationKey, { leftValue: left, rightValue: right.name });\r\n }\r\n },\r\n\r\n /****************************************\r\n ** List Operators (also for Boolean **\r\n /****************************************/\r\n 'equalsList': {\r\n name: 'equalsList',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.EQUALS',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.EQUALS',\r\n renderFreeMarker: (left: string, right: IAttributeOption) => {\r\n return `${wrapWithProtectionConditionForString(left)} && (${left} == \"${right.value.toLowerCase()}\")`;\r\n },\r\n renderHumanReadable: function (translate: TranslateService, left: string, right: IAttributeOption) {\r\n return translate.instant(this.humanReadableTranslationKey, { leftValue: left, rightValue: right.text });\r\n }\r\n },\r\n\r\n 'differentList': {\r\n name: 'differentList',\r\n displayNameKey: 'COMMON.CRM_ENTITY_OPERATORS.DIFFERENT',\r\n humanReadableTranslationKey: 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DIFFERENT',\r\n renderFreeMarker: (left: string, right: IAttributeOption) => {\r\n return `${wrapWithProtectionConditionForNegationString(left)} || (${left.toLowerCase()} != \"${right.value.toLowerCase()}\")`;\r\n },\r\n renderHumanReadable: function (translate: TranslateService, left: string, right: IAttributeOption) {\r\n return translate.instant(this.humanReadableTranslationKey, { leftValue: left, rightValue: right.text });\r\n }\r\n },\r\n};\r\n\r\nexport let CrmAttributeTypeToOperatorsHash: ICrmEntityAttributeTypeToOperatorsHash = {\r\n 'Boolean': ['equalsList', 'containsData', 'doesNotContainData'],\r\n 'List': ['equalsList', 'differentList', 'containsData', 'doesNotContainData'],\r\n 'TextArea': ['equalsString', 'differentString', 'containsString', 'doesNotContainsString',\r\n 'startsWith', 'doesNotStartsWith', 'endsWith', 'doesNotEndWith', 'containsData', 'doesNotContainData'],\r\n 'Text': ['equalsString', 'differentString', 'containsString', 'doesNotContainsString',\r\n 'startsWith', 'doesNotStartsWith', 'endsWith', 'doesNotEndWith', 'containsData', 'doesNotContainData'],\r\n 'Decimal': ['equalsNumber', 'differentNumber', 'lessThanNumber', 'lessOrEqualToNumber', 'greaterThanNumber', 'greaterOrEqualThanNumber', 'containsData', 'doesNotContainData'],\r\n 'Integer': ['equalsNumber', 'differentNumber', 'lessThanNumber', 'lessOrEqualToNumber', 'greaterThanNumber', 'greaterOrEqualThanNumber', 'containsData', 'doesNotContainData'],\r\n 'Money': ['equalsNumber', 'differentNumber', 'lessThanNumber', 'lessOrEqualToNumber', 'greaterThanNumber', 'greaterOrEqualThanNumber', 'containsData', 'doesNotContainData'],\r\n 'DateTime': ['equalsDateTime', 'differentDateTime', 'ltDateTime', 'gtDateTime', 'betweenDateTime', 'gteDateTime', 'lteDateTime', 'containsData', 'doesNotContainData'],\r\n 'DateTimeZoneIndependent': ['equalsDateTime', 'differentDateTime', 'ltDateTime', 'gtDateTime', 'betweenDateTime', 'gteDateTime', 'lteDateTime', 'containsData', 'doesNotContainData'],\r\n 'DateOnly': ['equalsDateOnly', 'differentDateOnly', 'ltDateOnly', 'gtDateOnly', 'betweenDateOnly', 'lteDateOnly', 'gteDateOnly', 'containsData', 'doesNotContainData'],\r\n 'Lookup': ['equalsLookup', 'differentLookup', 'containsData', 'doesNotContainData']\r\n};\r\n","import { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface IOperatorRenderFunction {\r\n (left: string, right: any): string;\r\n}\r\n\r\nexport interface IHumanReadableOperatorRenderFunction {\r\n (translate: TranslateService, left: string, right: any): string;\r\n}\r\n\r\nexport interface IAttributeOperator {\r\n name: string;\r\n displayNameKey: string;\r\n humanReadableTranslationKey: string;\r\n renderFreeMarker: IOperatorRenderFunction;\r\n renderHumanReadable: IHumanReadableOperatorRenderFunction;\r\n doesNotRequireRightHandSide?: boolean;\r\n}\r\n\r\nexport interface IOperatorsHash {\r\n [operatorName: string]: IAttributeOperator;\r\n}\r\n\r\nexport interface ICrmEntityAttributeTypeToOperatorsHash {\r\n [attributeType: string]: string[];\r\n}\r\n\r\nexport interface IBetweenValues {\r\n gteValue: string;\r\n lteValue: string;\r\n};\r\n\r\nexport let globalHumanReadableRender = function (translate: TranslateService, left: string, right: any) {\r\n //use the old javascript function syntax so the 'this' will be used from the object\r\n //that this function is attached to. (vs typescript arrow definition that will take the this from when the\r\n //function is defined)\r\n return translate.instant(this.humanReadableTranslationKey, { leftValue: left, rightValue: right });\r\n};\r\n\r\nexport let wrapWithProtectionCondition = function (leftHandValue: string) {\r\n return `((${leftHandValue})?has_content) && (${leftHandValue} != \"\")`;\r\n};\r\n\r\nexport let wrapWithProtectionConditionForNegation = function (leftHandValue: string) {\r\n return `(!(((${leftHandValue})?has_content) && (${leftHandValue} != \"\")))`;\r\n};\r\n\r\n// The string protection does not need to check for the empty string since this could be value of the string (the empty\r\n// string as the left value will simple fails naturally when compared to the right-hand-side value)\r\nexport let wrapWithProtectionConditionForString = function (leftHandValue: string) {\r\n return `(${leftHandValue})?has_content`;\r\n};\r\n\r\nexport let wrapWithProtectionConditionForNegationString = function (leftHandValue: string) {\r\n return `(!((${leftHandValue})?has_content))`;\r\n};\r\n","import {\r\n globalHumanReadableRender,\r\n IAttributeOperator,\r\n IBetweenValues,\r\n wrapWithProtectionCondition,\r\n wrapWithProtectionConditionForNegation\r\n} from './crm-entities-base-operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport * as moment_ from 'moment';\r\nconst moment = moment_;\r\n\r\nclass DateTimeOperatorBase {\r\n freeMarkerOperator: string;\r\n name: string;\r\n displayNameKey: string;\r\n humanReadableTranslationKey: string;\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: any) {\r\n //LLL will show as 'September 4, 1986 8:30 PM'\r\n let formattedRightHandSide = moment(right).format('LLL');\r\n return globalHumanReadableRender.apply(this, [translate, left, formattedRightHandSide]);\r\n }\r\n\r\n renderFreeMarker(left: string, right: any) {\r\n return `${wrapWithProtectionCondition(left)} && (${left}?datetime.iso ${this.freeMarkerOperator} \"${right}\"?datetime.iso)`;\r\n }\r\n\r\n //subclasses reusable functions:\r\n renderHumanReadableDateOnly(translate: TranslateService, left: string, right: any) {\r\n //LL will show as 'September 4, 1986'\r\n let formattedRightHandSide = moment(right).format('LL');\r\n return globalHumanReadableRender.apply(this, [translate, left, formattedRightHandSide]);\r\n }\r\n\r\n //this function will be used only on the DateOnly concrete classes\r\n renderFreeMarkerDateOnly(left: string, right: string) {\r\n return `(${wrapWithProtectionCondition(left)} && (${left}?datetime.iso?date ${this.freeMarkerOperator} \"${right}\"?datetime.iso?date))`;\r\n }\r\n}\r\n\r\nexport class DateTimeOperatorEquals extends DateTimeOperatorBase implements IAttributeOperator {\r\n name = 'equalsDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.EQUALS';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.EQUALS';\r\n freeMarkerOperator = '==';\r\n}\r\n\r\nexport class DateTimeOperatorDifferent extends DateTimeOperatorBase {\r\n name = 'differentDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.DIFFERENT';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DIFFERENT';\r\n freeMarkerOperator = '!=';\r\n\r\n renderFreeMarker(left: string, right: any) {\r\n return `${wrapWithProtectionConditionForNegation(left)} || (${left}?datetime.iso ${this.freeMarkerOperator} \"${right}\"?datetime.iso)`;\r\n }\r\n}\r\n\r\nexport class DateTimeOperatorLessThan extends DateTimeOperatorBase {\r\n name = 'ltDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.LESS_THAN';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.LESS_THAN';\r\n freeMarkerOperator = '<';\r\n}\r\n\r\nexport class DateTimeOperatorLessThanEqual extends DateTimeOperatorBase {\r\n name = 'lteDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.LESS_OR_EQUAL_TO';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.LESS_OR_EQUAL_TO';\r\n freeMarkerOperator = '<=';\r\n}\r\n\r\nexport class DateTimeOperatorGreaterThan extends DateTimeOperatorBase {\r\n name = 'gtDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.GREATER_THAN';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.GREATER_THAN';\r\n freeMarkerOperator = '>';\r\n}\r\n\r\nexport class DateTimeOperatorGreaterOrEqualTo extends DateTimeOperatorBase {\r\n name = 'gteDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.GREATER_OR_EQUAL_TO';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.GREATER_OR_EQUAL_TO';\r\n freeMarkerOperator = '>=';\r\n}\r\n\r\nexport class DateTimeOperatorBetween extends DateTimeOperatorBase {\r\n name = 'betweenDateTime';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.BETWEEN';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.IS_BETWEEN';\r\n\r\n renderFreeMarker(left: string, right: IBetweenValues) {\r\n return `${wrapWithProtectionCondition(left)} && ( \r\n (${left}?datetime.iso >= \"${right.gteValue}\"?datetime.iso) && \r\n (${left}?datetime.iso <= \"${right.lteValue}\"?datetime.iso))`;\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n let formattedRightHandSideLte = moment(right.lteValue).format('LLL');\r\n let formattedRightHandSideGte = moment(right.gteValue).format('LLL');\r\n return translate.instant(this.humanReadableTranslationKey, {\r\n leftValue: left,\r\n gteValue: formattedRightHandSideGte,\r\n lteValue: formattedRightHandSideLte });\r\n }\r\n}\r\n\r\n///////////////////////////\r\n// Date-Only operators //\r\n///////////////////////////\r\nexport class DateOnlyOperatorEquals extends DateTimeOperatorEquals {\r\n name = 'equalsDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return this.renderFreeMarkerDateOnly(left, right);\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorDifferent extends DateTimeOperatorDifferent {\r\n name = 'differentDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return `(${wrapWithProtectionConditionForNegation(left)} || (${left}?datetime.iso?date ${this.freeMarkerOperator} \"${right}\"?datetime.iso?date))`;\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorGreaterThan extends DateTimeOperatorGreaterThan {\r\n name = 'gtDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return this.renderFreeMarkerDateOnly(left, right);\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorGreaterOrEqualTo extends DateTimeOperatorGreaterOrEqualTo {\r\n name = 'gteDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return this.renderFreeMarkerDateOnly(left, right);\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorLessThan extends DateTimeOperatorLessThan {\r\n name = 'ltDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return this.renderFreeMarkerDateOnly(left, right);\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorLessThanEqual extends DateTimeOperatorLessThanEqual {\r\n name = 'lteDateOnly';\r\n\r\n renderFreeMarker(left: string, right: string) {\r\n return this.renderFreeMarkerDateOnly(left, right);\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n return this.renderHumanReadableDateOnly(translate, left, right);\r\n }\r\n}\r\n\r\nexport class DateOnlyOperatorBetween extends DateTimeOperatorBetween {\r\n name = 'betweenDateOnly';\r\n\r\n renderFreeMarker(left: string, right: IBetweenValues) {\r\n return `${wrapWithProtectionCondition(left)} && ( \r\n (${left}?datetime.iso?date >= \"${right.gteValue}\"?datetime.iso?date) && \r\n (${left}?datetime.iso?date <= \"${right.lteValue}\"?datetime.iso?date))`;\r\n }\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: IBetweenValues) {\r\n let formattedRightHandSideLte = moment(right.lteValue).format('LL');\r\n let formattedRightHandSideGte = moment(right.gteValue).format('LL');\r\n return translate.instant(this.humanReadableTranslationKey, {\r\n leftValue: left,\r\n gteValue: formattedRightHandSideGte,\r\n lteValue: formattedRightHandSideLte });\r\n }\r\n}\r\n","import {\r\n globalHumanReadableRender,\r\n IAttributeOperator,\r\n wrapWithProtectionCondition,\r\n wrapWithProtectionConditionForNegation\r\n} from './crm-entities-base-operators';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n///////////////////////////\r\n// Numbers Operators //\r\n///////////////////////////\r\nclass NumberAttributeOperatorBase implements IAttributeOperator {\r\n freeMarkerOperator: string;\r\n name: string;\r\n displayNameKey: string;\r\n humanReadableTranslationKey: string;\r\n\r\n renderHumanReadable(translate: TranslateService, left: string, right: any) {\r\n return globalHumanReadableRender.apply(this, [translate, left, right]);\r\n }\r\n\r\n renderFreeMarker(left: string, right: any) {\r\n return `${wrapWithProtectionCondition(left)} && ((${left})?number ${this.freeMarkerOperator} ${right})`;\r\n }\r\n}\r\n\r\nexport class NumberOperatorEquals extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '==';\r\n name = 'equalsNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.EQUALS';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.EQUALS';\r\n}\r\n\r\nexport class NumberOperatorDifferent extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '!=';\r\n name = 'differentNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.DIFFERENT';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.DIFFERENT';\r\n\r\n renderFreeMarker(left: string, right: any) {\r\n return `${wrapWithProtectionConditionForNegation(left)} || ((${left})?number ${this.freeMarkerOperator} ${right})`;\r\n }\r\n}\r\n\r\nexport class NumberOperatorLessThan extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '<';\r\n name = 'lessThanNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.LESS_THAN';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.LESS_THAN';\r\n}\r\n\r\nexport class NumberOperatorLessThanEqual extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '<=';\r\n name = 'lessOrEqualToNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.LESS_OR_EQUAL_TO';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.LESS_OR_EQUAL_TO';\r\n}\r\n\r\nexport class NumberOperatorGreaterThan extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '>';\r\n name = 'greaterThanNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.GREATER_THAN';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.GREATER_THAN';\r\n}\r\n\r\nexport class NumberOperatorGreaterThanEqual extends NumberAttributeOperatorBase {\r\n freeMarkerOperator = '>=';\r\n name = 'greaterOrEqualThanNumber';\r\n displayNameKey = 'COMMON.CRM_ENTITY_OPERATORS.GREATER_OR_EQUAL_TO';\r\n humanReadableTranslationKey = 'COMMON.CRM_ENTITY_OPERATORS_HUMAN_READABLE.GREATER_OR_EQUAL_TO';\r\n}\r\n","// start:ng42.barrel\r\nexport * from './base-condition.model';\r\nexport * from './composite-conditions.model';\r\nexport * from './condition.model';\r\nexport * from './crm-entities-attributes-operators';\r\nexport * from './crm-entities-base-operators';\r\nexport * from './crm-entities-date-operators';\r\nexport * from './crm-entities-number-operators';\r\n// end:ng42.barrel\r\n\r\n","export enum CrmEntityNames {\r\n MarketingList = 'list',\r\n User = 'systemuser',\r\n Contact = 'contact',\r\n Lead = 'lead',\r\n Account = 'account',\r\n Team = 'team',\r\n Workflow = 'workflow',\r\n EmailTemplate = 'cdi_emailtemplate',\r\n EmailSend = 'cdi_emailsend',\r\n WebForm = 'cdi_webcontent',\r\n FormCapture = 'cdi_formcapture',\r\n FormField = 'cdi_formfield',\r\n SurveyQuestion = 'cdi_surveyquestion',\r\n Domain = 'cdi_domain',\r\n Campaign = 'campaign',\r\n EmailCName = 'cdi_emailcname',\r\n Currency = 'transactioncurrency',\r\n Event = 'cdi_event',\r\n ContactAttributes = 'contact_attributes',\r\n LeadAttributes = 'lead_attributes',\r\n SubscriptionList = 'cdi_subscriptionlist'\r\n}\r\n\r\n","export enum CrmEntityTypeEnum {\r\n None = 0,\r\n Contact = 1,\r\n MarketingList = 2,\r\n User = 3,\r\n EmailSend = 4,\r\n SentEmail = 5,\r\n Workflow = 8,\r\n Team = 9,\r\n Campaign = 10,\r\n EmailEvent = 11,\r\n WebForm = 27,\r\n EmailCName = 30,\r\n EmailTemplate = 100,\r\n Lead = 102,\r\n Account = 103,\r\n Currency = 104,\r\n OutsourcedVendor = 105,\r\n Event = 110,\r\n EventParticipation = 111,\r\n ContactAttributes = 120,\r\n LeadAttributes = 121,\r\n FormCapture = 200,\r\n SubscriptionForm = 201,\r\n SurveyForm = 202,\r\n FormField = 203,\r\n Domain = 204,\r\n SurveyQuestion = 205,\r\n SubscriptionList = 206\r\n}\r\n\r\nexport enum CrmEntityLookupKnownSubType {\r\n Form = 'form',\r\n Survey = 'survey',\r\n Subscription = 'subscription'\r\n}\r\n\r\nexport enum CrmEntityLogicalNameEnum {\r\n contact = 1,\r\n list = 2,\r\n systemuser = 3,\r\n cdi_emailsend = 4,\r\n workflow = 8,\r\n team = 9,\r\n campaign = 10,\r\n cdi_webcontent = 27,\r\n cdi_emailtemplate = 100,\r\n lead = 102,\r\n account = 103,\r\n transactioncurrency = 104,\r\n cdi_event = 110,\r\n cdi_eventparticipation = 111,\r\n cdi_formcapture = 200,\r\n cdi_emailcname = 30\r\n}\r\n\r\nexport interface ICrmEntityAttributeTypeToLookupEntityTypes {\r\n [attributeType: string]: CrmEntityTypeEnum[];\r\n}\r\n\r\nexport class CrmEntity {\r\n attributes: CrmEntityAttribute[] = [];\r\n entityType: CrmEntityTypeEnum;\r\n entityName: string;\r\n entityPluralLabel: string;\r\n}\r\n\r\nexport type CrmEntityAttributeTypeEnum =\r\n 'Boolean' | 'List' | 'TextArea' | 'Text' | 'Decimal' |\r\n 'Integer' | 'Money' | 'DateTime' | 'DateOnly' | 'DateTimeZoneIndependent' | 'Lookup';\r\n\r\nexport interface IAttributeOption {\r\n text: string;\r\n value: string;\r\n}\r\n\r\nexport class CrmEntityAttribute {\r\n type: CrmEntityAttributeTypeEnum;\r\n\r\n logicalName: string;\r\n accuracy: number;\r\n fullNameMode: boolean;\r\n name: string; //the way it should appear on the UI (should be already translated)\r\n lookupEntityIds: any[];\r\n maxLength: number;\r\n options: IAttributeOption[];\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CrmEntity, CrmEntityAttribute, CrmEntityAttributeTypeEnum, CrmEntityTypeEnum\r\n} from './crm-entities.model';\r\nimport { BehaviorSubject, Observable, of } from 'rxjs';\r\nimport { HttpService } from '../http/http.service';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { ApiEndpointService } from '../services/api-endpoint.service';\r\n\r\ninterface IRawParams {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface IAttributeOptionData {\r\n _id: string;\r\n Text: string;\r\n Value: string;\r\n}\r\n\r\ninterface ICrmEntityAttributeData {\r\n Accuracy: number;\r\n FullNameMode: boolean;\r\n _id: string; // the logical name in crm\r\n Name: string; // the way it should appear on the UI (should be already translated\r\n LookupEntityIds: any[]; // TODO: check what should be implemented here\r\n MaxLength: number;\r\n Options: IAttributeOptionData[];\r\n Type: CrmEntityAttributeTypeEnum;\r\n}\r\n\r\ninterface ICrmEntityData {\r\n Attributes: ICrmEntityAttributeData[];\r\n EntityType: CrmEntityTypeEnum;\r\n EntityName: string;\r\n EntityPluralLabel: string;\r\n}\r\n\r\ninterface IEntities extends IRawParams {\r\n Contact: ICrmEntityData;\r\n Lead: ICrmEntityData;\r\n}\r\n\r\n@Injectable()\r\nexport class CrmEntitiesService {\r\n lead: CrmEntity;\r\n contact: CrmEntity;\r\n entities: CrmEntity[] = [];\r\n entitiesNameToEntity: { [name: string]: CrmEntity } = {};\r\n loadingDataInProcess: BehaviorSubject = new BehaviorSubject(true);\r\n loading = true;\r\n\r\n constructor(private httpService: HttpService, private apiEndpoint: ApiEndpointService) {\r\n this.getAllEntities();\r\n }\r\n\r\n buildCrmEntitiesModels(entitiesData: IEntities) {\r\n Object.keys(entitiesData).forEach((entityName: string) => {\r\n const entityData: ICrmEntityData = entitiesData[entityName];\r\n\r\n const crmEntity = new CrmEntity();\r\n crmEntity.entityType = entityData.EntityType;\r\n crmEntity.entityName = entityData.EntityName;\r\n crmEntity.entityPluralLabel = entityData.EntityPluralLabel;\r\n\r\n entityData.Attributes.forEach((crmAttributeData: ICrmEntityAttributeData) => {\r\n const crmEntityAttribute = this.createCrmAttribute(crmAttributeData);\r\n crmEntity.attributes.push(crmEntityAttribute);\r\n });\r\n\r\n switch (entityData.EntityType) {\r\n case CrmEntityTypeEnum.Lead:\r\n this.lead = crmEntity;\r\n break;\r\n case CrmEntityTypeEnum.Contact:\r\n this.contact = crmEntity;\r\n break;\r\n default:\r\n const entityDataAString = JSON.stringify(entityData);\r\n console.error(`this should not have happened. we got an entity that we dont know how to handle entityData: ${entityDataAString}`);\r\n }\r\n\r\n this.entities.push(crmEntity);\r\n this.entitiesNameToEntity[crmEntity.entityName] = crmEntity;\r\n });\r\n }\r\n\r\n getEntityByName(entityName: string) {\r\n return this.entitiesNameToEntity[entityName];\r\n }\r\n\r\n getEntityByType(requestedEntityType: CrmEntityTypeEnum) {\r\n let result;\r\n this.entities.forEach((entity: CrmEntity) => {\r\n if (entity.entityType === requestedEntityType) {\r\n result = entity;\r\n }\r\n });\r\n\r\n return result;\r\n }\r\n\r\n createCrmAttribute(crmAttributeData: ICrmEntityAttributeData) {\r\n const resultAttribute = new CrmEntityAttribute();\r\n\r\n resultAttribute.type = crmAttributeData.Type;\r\n resultAttribute.accuracy = crmAttributeData.Accuracy;\r\n resultAttribute.fullNameMode = crmAttributeData.FullNameMode;\r\n resultAttribute.logicalName = crmAttributeData._id;\r\n resultAttribute.lookupEntityIds = crmAttributeData.LookupEntityIds;\r\n resultAttribute.maxLength = crmAttributeData.MaxLength;\r\n resultAttribute.name = crmAttributeData.Name;\r\n\r\n if (crmAttributeData.Options) {\r\n resultAttribute.options = crmAttributeData.Options.map((option: IAttributeOptionData) => {\r\n const optionToReturn = {\r\n text: option.Text,\r\n value: option.Value\r\n };\r\n\r\n if (resultAttribute.type === 'Boolean') {\r\n // correct the value in boolean to be the right one to compare to. these are athe values that will be loaded to the\r\n // xml of the free-marker so we need the right one to compare to.\r\n optionToReturn.value = option.Value === '0' ? 'false' : 'true';\r\n }\r\n return optionToReturn;\r\n });\r\n }\r\n\r\n return resultAttribute;\r\n }\r\n\r\n getAllEntities(): Observable {\r\n if (this.entities.length > 0) {\r\n return of();\r\n }\r\n const crmEntitiesRequest$ = this.httpService.get(this.apiEndpoint.CrmEntitiesUrl);\r\n crmEntitiesRequest$.pipe(finalize(() => {\r\n this.loading = false;\r\n }))\r\n .subscribe((entitiesData: IEntities) => {\r\n this.buildCrmEntitiesModels(entitiesData);\r\n this.loading = false;\r\n this.loadingDataInProcess.next(this.loading);\r\n });\r\n\r\n return crmEntitiesRequest$;\r\n }\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './crm-entities.model';\r\nexport * from './crm-entities.service';\r\nexport * from './crm-entities-consts';\r\n// end:ng42.barrel\r\n\r\n","import { AlertDialogComponent } from '../alert/alert.component';\r\nimport { Component } from '@angular/core';\r\nimport { DialogCloseReason } from '../base-dialog';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\n\r\nexport enum FileOperation {\r\n REPLACE,\r\n KEEPBOTH,\r\n SKIP\r\n}\r\n\r\n@Component({\r\n selector: 'alert-dublicate-file',\r\n templateUrl: 'alert-dublicate-file.component.html'\r\n})\r\nexport class AlertDublicateFileComponent extends AlertDialogComponent {\r\n optionTitle = '';\r\n optionChecked = false;\r\n fileName: string = '';\r\n dialogType: FileModel.FileTypeEnum;\r\n isFileDialogType: boolean = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n super.initDialog();\r\n this.fileName = this.extraData.fileName ? this.extraData.fileName : '';\r\n this.dialogType = this.extraData.dialogType ? this.extraData.dialogType : FileModel.FileTypeEnum.IMAGES;\r\n this.isFileDialogType = this.dialogType !== FileModel.FileTypeEnum.IMAGES ? true : false;\r\n }\r\n\r\n replace() {\r\n this.close({\r\n reason: DialogCloseReason.OK,\r\n data: {\r\n operation: FileOperation.REPLACE,\r\n applyAll: this.optionChecked,\r\n fileName: this.fileName\r\n }\r\n });\r\n }\r\n\r\n keepBoth() {\r\n this.close({\r\n reason: DialogCloseReason.OK,\r\n data: {\r\n operation: FileOperation.KEEPBOTH,\r\n applyAll: this.optionChecked,\r\n fileName: this.fileName\r\n }\r\n });\r\n }\r\n\r\n skip() {\r\n this.close({\r\n reason: DialogCloseReason.OK,\r\n data: {\r\n operation: FileOperation.SKIP,\r\n applyAll: this.optionChecked,\r\n fileName: this.fileName\r\n }\r\n });\r\n }\r\n}\r\n","import { AlertDialogComponent } from '../alert/alert.component';\r\nimport { Component } from '@angular/core';\r\nimport { DialogCloseReason } from '../base-dialog';\r\n\r\n@Component({\r\n selector: 'alert-options-dialog',\r\n templateUrl: 'alert-with-options.component.html'\r\n})\r\nexport class AlertWithOptionDialogComponent extends AlertDialogComponent {\r\n optionTitle = '';\r\n optionChecked = false;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n super.initDialog();\r\n this.optionTitle = this.extraData.optionTitle ? this.extraData.optionTitle : 'Don\\'t show this again';\r\n }\r\n\r\n closeAlert() {\r\n this.close({ reason: DialogCloseReason.OK, data: { checked: this.optionChecked } });\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './alert-with-options.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, forwardRef, Inject } from '@angular/core';\r\nimport { DialogCloseReason, DialogBase, IDialogOnClose } from '../base-dialog';\r\nimport { DialogService } from '../dialog.service';\r\n\r\n@Component({\r\n selector: 'alert-dialog',\r\n templateUrl: 'alert.html'\r\n})\r\nexport class AlertDialogComponent extends DialogBase {\r\n\r\n okCaption: string;\r\n hideFooterButtons: boolean;\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n this.okCaption = this.extraData.okCaption ? this.extraData.okCaption : 'OK';\r\n this.hideFooterButtons = this.extraData.hideFooterButtons ? this.extraData.hideFooterButtons : false;\r\n }\r\n\r\n getTypeClass(): string {\r\n switch (this.extraData.type) {\r\n case EAlertTypes.Error:\r\n return 'error';\r\n case EAlertTypes.Warning:\r\n return 'warning';\r\n }\r\n return '';\r\n }\r\n\r\n closeAlert() {\r\n this.close({ reason: DialogCloseReason.OK });\r\n }\r\n\r\n}\r\n\r\nexport interface IAlertData {\r\n header: string;\r\n message: string;\r\n secondMessage?: string;\r\n type?: EAlertTypes;\r\n okCaption?: string;\r\n hideFooterButtons?: boolean;\r\n}\r\n\r\nexport enum EAlertTypes {\r\n Alert,\r\n Warning,\r\n Error\r\n}\r\n","// start:ng42.barrel\r\nexport * from './alert.component';\r\n// end:ng42.barrel\r\n\r\n","import { Subject } from 'rxjs';\r\nimport { IDialogOptions } from './dialog.service';\r\n\r\nexport class DialogBase {\r\n extraData?: any;\r\n dialogOptions: IDialogOptions;\r\n\r\n onClose: Subject = new Subject();\r\n\r\n /**\r\n * this function is used to run some initialization code after the dialog instantiate and before it is shown\r\n */\r\n initDialog() {;}\r\n\r\n close(reason: IDialogOnClose) {\r\n this.onClose.next(reason);\r\n }\r\n\r\n cancel() {\r\n this.close({reason: DialogCloseReason.CANCEL, data: null});\r\n }\r\n}\r\n\r\nexport interface IDialogOnClose { reason?: R; data?: D; };\r\n\r\nexport enum DialogCloseReason {\r\n OK,\r\n CANCEL,\r\n ABORTED\r\n};\r\n","import { Component } from '@angular/core';\r\nimport { DialogCloseReason, DialogBase } from '../base-dialog';\r\n\r\nexport interface IConfirmData {\r\n header: string;\r\n message: string;\r\n okCaption?: string;\r\n cancelCaption?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'confirm-dialog',\r\n templateUrl: 'confirm.html'\r\n})\r\nexport class ConfirmDialogComponent extends DialogBase {\r\n okCaption: string;\r\n cancelCaption: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n this.okCaption = this.extraData.okCaption ? this.extraData.okCaption : 'OK';\r\n this.cancelCaption = this.extraData.cancelCaption ? this.extraData.cancelCaption : 'Cancel';\r\n }\r\n\r\n getTypeClass(): string {\r\n return 'confirm';\r\n }\r\n\r\n ok() {\r\n this.close({ reason: DialogCloseReason.OK });\r\n }\r\n\r\n cancel() {\r\n this.close({ reason: DialogCloseReason.CANCEL });\r\n }\r\n\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './confirm.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dialog-back',\r\n template: ''\r\n})\r\nexport class DialogBackComponent implements AfterViewInit {\r\n constructor(private cd: ChangeDetectorRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cd.detach();\r\n\r\n }\r\n}\r\n","import { AfterViewInit, Component, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { DialogService } from './dialog.service';\r\n\r\n@Component({\r\n selector: 'dialog-container',\r\n template: ''\r\n})\r\nexport class DialogContainerComponent implements AfterViewInit {\r\n @ViewChild('ref', {read: ViewContainerRef, static: false})\r\n containerRef: ViewContainerRef;\r\n\r\n constructor(private dialogService: DialogService) {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dialogService.setViewContainer(this.containerRef);\r\n }\r\n\r\n}\r\n","import { Injectable, ViewContainerRef, ComponentFactoryResolver, ComponentRef } from '@angular/core';\r\nimport { DialogBase, DialogCloseReason, IDialogOnClose } from './base-dialog';\r\nimport { AlertDialogComponent, IAlertData } from './alert/alert.component';\r\nimport { IConfirmData, ConfirmDialogComponent } from './confirm/confirm.component';\r\nimport { Subject } from 'rxjs';\r\nimport { DialogBackComponent } from './dialog-back.compnent';\r\nimport { IInputData, InputDialogComponent } from './input/input.component';\r\n\r\nexport interface IDialogHandle {\r\n onClose: Subject;\r\n close: (reason?: IDialogOnClose) => void;\r\n}\r\n\r\nexport interface IDialogOptions {\r\n closeOnEscape?: boolean;\r\n showCancelOnHeader?: boolean;\r\n backdropClass?: string; //a class that will be added to this dialog instance's backdrop\r\n closeWhenClickedOnBackdrop?: boolean;\r\n}\r\n\r\nexport interface IConstructor {\r\n new(...args: any[]): T;\r\n}\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DialogService {\r\n\r\n private viewContainer: ViewContainerRef;\r\n\r\n private openDialogs: Array = [];\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) {\r\n document.addEventListener('keydown', this.handleKeyboardEvent);\r\n }\r\n\r\n private handleKeyboardEvent = (event: KeyboardEvent): void => {\r\n if (this.openDialogs.length > 0) {\r\n event.stopPropagation();\r\n const lastDialog = this.openDialogs[this.openDialogs.length - 1];\r\n if (event.keyCode === 27 && lastDialog.dialogOptions && lastDialog.dialogOptions.closeOnEscape) {\r\n lastDialog.cancel();\r\n }\r\n }\r\n }\r\n\r\n public setViewContainer = (viewContainer: ViewContainerRef): void => {\r\n this.viewContainer = viewContainer;\r\n }\r\n\r\n public alert = (data: IAlertData, dialogOptions?: IDialogOptions): IDialogHandle => {\r\n return this.createDialog(AlertDialogComponent, Object.assign({}, data), dialogOptions);\r\n }\r\n\r\n public confirm = (data: IConfirmData, dialogOptions?: IDialogOptions): IDialogHandle => {\r\n return this.createDialog(ConfirmDialogComponent, Object.assign({}, data), dialogOptions);\r\n }\r\n\r\n public input = (data: IInputData, dialogOptions?: IDialogOptions): IDialogHandle => {\r\n return this.createDialog(InputDialogComponent, Object.assign({}, data), dialogOptions);\r\n }\r\n\r\n public createDialog = (dialogComponent: IConstructor, extraData?: any, dialogOptions?: IDialogOptions): IDialogHandle => {\r\n const effectingDialogOptions: IDialogOptions = {\r\n closeOnEscape: true,\r\n showCancelOnHeader: true,\r\n backdropClass: null,\r\n closeWhenClickedOnBackdrop: false\r\n };\r\n\r\n if (dialogOptions) {\r\n Object.assign(effectingDialogOptions, dialogOptions);\r\n }\r\n\r\n const backdropComponentFactory = this.componentFactoryResolver.resolveComponentFactory(DialogBackComponent);\r\n const _currentBackdropRef = this.viewContainer.createComponent(backdropComponentFactory);\r\n\r\n if (effectingDialogOptions.backdropClass) {\r\n _currentBackdropRef.location.nativeElement.classList.add(effectingDialogOptions.backdropClass);\r\n }\r\n\r\n const dialogComponentFactory = this.componentFactoryResolver.resolveComponentFactory(dialogComponent);\r\n const _currentDialogRef = this.viewContainer.createComponent(dialogComponentFactory);\r\n _currentDialogRef.location.nativeElement.classList.add('dialog-instance');\r\n _currentDialogRef.instance.onClose.subscribe(() => this.onDialogClose(_currentDialogRef, _currentBackdropRef));\r\n\r\n if (effectingDialogOptions.closeWhenClickedOnBackdrop) {\r\n _currentDialogRef.location.nativeElement.addEventListener('click', (event: any) => {\r\n if (event.target === _currentDialogRef.location.nativeElement) {\r\n // only if it the container itself of the dialog was clicked that means that it was clicked outside of the main dialog\r\n // then we close the dialog.\r\n this.onDialogClose(_currentDialogRef, _currentBackdropRef);\r\n }\r\n });\r\n }\r\n\r\n _currentDialogRef.instance.extraData = extraData;\r\n _currentDialogRef.instance.dialogOptions = effectingDialogOptions;\r\n _currentDialogRef.instance.initDialog();\r\n this.openDialogs.push(_currentDialogRef.instance);\r\n\r\n return {\r\n onClose: _currentDialogRef.instance.onClose,\r\n close: (reason?: IDialogOnClose) => {\r\n if (reason) {\r\n _currentDialogRef.instance.onClose.next(reason);\r\n } else {\r\n _currentDialogRef.instance.onClose.next({ reason: DialogCloseReason.ABORTED });\r\n }\r\n }\r\n };\r\n }\r\n\r\n private onDialogClose = (dialogRef: ComponentRef, backdropRef: ComponentRef): void => {\r\n this.openDialogs = this.openDialogs.filter((d: DialogBase) => d !== dialogRef.instance);\r\n backdropRef.destroy();\r\n backdropRef = null;\r\n dialogRef.instance.onClose.unsubscribe();\r\n dialogRef.destroy();\r\n dialogRef = null;\r\n }\r\n\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { AlertDialogComponent } from './alert/alert.component';\r\nimport { DialogContainerComponent } from './dialog-container.component';\r\nimport { DialogBackComponent } from './dialog-back.compnent';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ConfirmDialogComponent } from './confirm/confirm.component';\r\nimport { DialogFooterHelperComponent } from './helpers/d-footer.component';\r\nimport { DialogBodyHelperComponent } from './helpers/d-body.component';\r\nimport { DialogHeaderHelperComponent } from './helpers/d-header.component';\r\nimport { InputDialogComponent } from './input/input.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { InputDialogValidationsService } from './input/input-dialog-validations.service';\r\nimport { AlertWithOptionDialogComponent } from './alert-with-options/alert-with-options.component';\r\nimport { FileDeleteAlertComponent } from './file-delete-alert/file-delete-alert.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormatStringPipe } from './pipes/format-string.pipe';\r\nimport { UploadErrorsDialogComponent } from './upload-errors/upload-errors.component';\r\nimport { AlertDublicateFileComponent } from './alert-dublicate-file/alert-dublicate-file.component';\r\n\r\nconst components = [\r\n DialogContainerComponent, DialogBackComponent, AlertDialogComponent, ConfirmDialogComponent, InputDialogComponent,\r\n DialogFooterHelperComponent, DialogHeaderHelperComponent, DialogBodyHelperComponent, AlertWithOptionDialogComponent,\r\n FileDeleteAlertComponent, UploadErrorsDialogComponent, AlertDublicateFileComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, CommonDirectivesModule, TranslateModule.forChild()],\r\n declarations: [...components, FormatStringPipe],\r\n providers: [InputDialogValidationsService],\r\n entryComponents: [DialogContainerComponent, DialogBackComponent, AlertDialogComponent, ConfirmDialogComponent, InputDialogComponent,\r\n DialogFooterHelperComponent, DialogHeaderHelperComponent, DialogBodyHelperComponent, AlertWithOptionDialogComponent, FileDeleteAlertComponent,\r\n UploadErrorsDialogComponent, AlertDublicateFileComponent],\r\n exports: components,\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class DialogModule {\r\n}\r\n\r\n\r\n","import { Component, ChangeDetectionStrategy } from '@angular/core';\r\nimport { DialogCloseReason } from '../base-dialog';\r\nimport { ConfirmDialogComponent } from '../confirm/confirm.component';\r\nimport { FileModel } from '../../typescript-angular-client/model/models';\r\n\r\n@Component({\r\n selector: 'lib-file-delete-alert',\r\n templateUrl: './file-delete-alert.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class FileDeleteAlertComponent extends ConfirmDialogComponent {\r\n\r\n itemsCount: number = 1;\r\n isJustFolder: boolean = false;\r\n isFileDialogType: boolean = false;\r\n headerText: string = '';\r\n\r\n constructor() { super(); }\r\n\r\n initDialog() {\r\n super.initDialog();\r\n this.itemsCount = this.extraData.itemsCount ? this.extraData.itemsCount : 1;\r\n this.isJustFolder = this.extraData.isJustFolder ? this.extraData.isJustFolder : false;\r\n this.isFileDialogType = this.extraData.dialogType !== FileModel.FileTypeEnum.IMAGES;\r\n\r\n if (this.isJustFolder) {\r\n this.headerText = 'COMMON.DIALOGS.DELETE_FOLDER.DELETE_FOLDER';\r\n } else {\r\n if (this.itemsCount > 1) {\r\n this.headerText = 'COMMON.DIALOGS.DELETE_FILE.DELETE_ITEMS';\r\n } else {\r\n this.headerText = this.isFileDialogType ? 'COMMON.DIALOGS.DELETE_FILE.DELETE_FILE' : 'COMMON.DIALOGS.DELETE_FILE.DELETE_IMAGE';\r\n }\r\n }\r\n }\r\n\r\n ok() {\r\n this.close({ reason: DialogCloseReason.OK, data: {} });\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-delete-alert.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'd-body',\r\n template: '',\r\n})\r\nexport class DialogBodyHelperComponent {}\r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'd-footer',\r\n template: '',\r\n})\r\nexport class DialogFooterHelperComponent {}\r\n\r\n\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'd-header',\r\n template: `
\r\n `,\r\n})\r\nexport class DialogHeaderHelperComponent {\r\n @Input() showClose: boolean;\r\n @Output() cancelClicked: EventEmitter = new EventEmitter();\r\n\r\n onCancelClicked() {\r\n this.cancelClicked.emit();\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './d-body.component';\r\nexport * from './d-footer.component';\r\nexport * from './d-header.component';\r\n// end:ng42.barrel\r\n\r\n","// start:ng42.barrel\r\nexport * from './base-dialog';\r\nexport * from './dialog-back.compnent';\r\nexport * from './dialog-container.component';\r\nexport * from './dialog.service';\r\nexport * from './dialogs.module';\r\nexport * from './alert/index';\r\nexport * from './alert-with-options/index';\r\nexport * from './confirm/index';\r\nexport * from './helpers/index';\r\nexport * from './input/index';\r\nexport * from './file-delete-alert/index';\r\nexport * from './alert-dublicate-file/alert-dublicate-file.component';\r\nexport * from './upload-errors/upload-errors.component';\r\n// end:ng42.barrel\r\n\r\n","// start:ng42.barrel\r\nexport * from './input-dialog-validations.service';\r\nexport * from './input.component';\r\n// end:ng42.barrel\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { InputValidation } from '../../validations/input.validation';\r\n\r\n@Injectable()\r\nexport class InputDialogValidationsService {\r\n\r\n STRING_LENGTH_ERROR_MSG: string;\r\n\r\n constructor(public translate: TranslateService) {\r\n this.STRING_LENGTH_ERROR_MSG = this.translate.instant(InputValidation.STRING_LENGTH_ERROR_MSG);\r\n }\r\n\r\n validateTemplateNameCallBack(fieldValue: any, fieldValidationContext: any) {\r\n fieldValue = fieldValue || ''; //add a default empty string (some browsers return undefined)\r\n let strText: string = fieldValue as string;\r\n\r\n let validStr: boolean = InputValidation.validateStringLength(strText);\r\n if (validStr) {\r\n return null;\r\n }\r\n return this.STRING_LENGTH_ERROR_MSG;\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DialogCloseReason, DialogBase } from '../base-dialog';\r\nimport {\r\n trigger,\r\n state,\r\n style,\r\n animate,\r\n transition\r\n} from '@angular/animations';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface IInputData {\r\n header: string;\r\n body?: string;\r\n fieldName: string;\r\n fieldType?: 'text' | 'color' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'range' | 'search' | 'tel' | 'time' | 'url' | 'week';\r\n fieldDefaultValue?: any;\r\n fieldPlaceHolder?: any;\r\n fieldValidationCallback?: (fieldValue: any, fieldValidationContext: any) => string;\r\n fieldValidationContext?: any;\r\n validationErrorLabelTimeout?: number; //InputDialogComponent.DO_NOT_HIDE_ERROR => do not set timeout\r\n okCaption?: string;\r\n cancelCaption?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'input-dialog',\r\n templateUrl: 'input.html',\r\n animations: [\r\n trigger('errorAnimation', [\r\n state('inactive', style({opacity: 0})),\r\n state('active', style({opacity: 1})),\r\n transition('inactive <=> active', animate('500ms'))\r\n ])\r\n ],\r\n})\r\nexport class InputDialogComponent extends DialogBase {\r\n static DO_NOT_HIDE_ERROR: number = -1;\r\n fieldType: string;\r\n okCaption: string;\r\n cancelCaption: string;\r\n lastValidationError: string | Observable;\r\n fieldPlaceHolder: string;\r\n validationErrorLabelTimeout: number;\r\n errorState: string;\r\n\r\n private lastValidationErrorText: string = '';\r\n\r\n get LastValidationErrorText() {\r\n return this.lastValidationErrorText;\r\n }\r\n\r\n @Input() fieldValue: string;\r\n\r\n constructor(public translate: TranslateService) {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n this.fieldType = this.extraData.fieldType ? this.extraData.fieldType : 'text';\r\n this.okCaption = this.extraData.okCaption ? this.extraData.okCaption : this.translate.instant('COMMON.DIALOGS.INFRA.OK');\r\n this.cancelCaption = this.extraData.cancelCaption ? this.extraData.cancelCaption : this.translate.instant('COMMON.DIALOGS.INFRA.CANCEL');\r\n this.validationErrorLabelTimeout = this.extraData.validationErrorLabelTimeout ? this.extraData.validationErrorLabelTimeout : 10000;\r\n this.fieldPlaceHolder = this.extraData.fieldPlaceHolder ? this.extraData.fieldPlaceHolder : '--';\r\n\r\n this.lastValidationErrorText = 'error placeholder';\r\n this.errorState = 'inactive';\r\n\r\n if (this.extraData.fieldDefaultValue) {\r\n this.fieldValue = this.extraData.fieldDefaultValue;\r\n }\r\n }\r\n\r\n getTypeClass(): string {\r\n return 'input';\r\n }\r\n\r\n onKeyDown() {\r\n this.errorState = 'inactive';\r\n }\r\n\r\n showValidationError() {\r\n this.errorState = 'active';\r\n\r\n if (this.validationErrorLabelTimeout !== InputDialogComponent.DO_NOT_HIDE_ERROR) {\r\n setTimeout(() => {\r\n this.errorState = 'inactive';\r\n }, this.validationErrorLabelTimeout);\r\n }\r\n }\r\n\r\n submitForm(value: any) {\r\n this.ok();\r\n }\r\n\r\n ok() {\r\n if (this.extraData.fieldValidationCallback) {\r\n this.lastValidationError = this.extraData.fieldValidationCallback.call(\r\n null,\r\n this.fieldValue,\r\n this.extraData.fieldValidationContext\r\n );\r\n\r\n if (this.lastValidationError instanceof Observable) {\r\n this.lastValidationError.subscribe((result: string) => {\r\n if (result) {\r\n this.lastValidationErrorText = result;\r\n this.showValidationError();\r\n } else {\r\n this.close({reason: DialogCloseReason.OK, data: {fieldValue: this.fieldValue}});\r\n }\r\n });\r\n } else {\r\n if (this.lastValidationError) {\r\n this.lastValidationErrorText = this.lastValidationError;\r\n this.showValidationError();\r\n } else {\r\n this.close({reason: DialogCloseReason.OK, data: {fieldValue: this.fieldValue}});\r\n }\r\n }\r\n } else {\r\n this.close({reason: DialogCloseReason.OK, data: {fieldValue: this.fieldValue}});\r\n }\r\n }\r\n\r\n cancel() {\r\n this.close({reason: DialogCloseReason.CANCEL});\r\n }\r\n\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'formatString'\r\n})\r\nexport class FormatStringPipe implements PipeTransform {\r\n\r\n transform(value: string, symbol: string, replacedTo: string): string {\r\n return value.replace(symbol, replacedTo);\r\n }\r\n\r\n}\r\n","import { AlertDialogComponent } from '../alert/alert.component';\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'upload-errors-dialog',\r\n templateUrl: 'upload-errors.component.html'\r\n})\r\nexport class UploadErrorsDialogComponent extends AlertDialogComponent {\r\n constructor() {\r\n super();\r\n }\r\n\r\n initDialog() {\r\n super.initDialog();\r\n }\r\n\r\n closeAlert() {\r\n super.closeAlert();\r\n }\r\n}\r\n","import { AfterViewInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[autofocus]'\r\n})\r\nexport class AutofocusDirective implements AfterViewInit {\r\n @Input() set autofocus(condition: boolean) {\r\n this._autofocus = condition !== false;\r\n }\r\n\r\n @Input() autofocusSelectAll = false;\r\n\r\n private _autofocus : any;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this._autofocus || typeof this._autofocus === 'undefined') {\r\n this.el.nativeElement.focus();\r\n\r\n if (this.autofocusSelectAll) {\r\n setTimeout(() => {\r\n this.el.nativeElement.select();\r\n },0);\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * Created by daniel.plotkin on 01/01/2018.\r\n */\r\n\r\nimport { Directive, ElementRef, Output, EventEmitter, HostListener, Input, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[clickOutside]'\r\n})\r\nexport class ClickOutsideDirective implements OnInit, OnDestroy {\r\n\r\n @Input() clickOutsideEvent?: string;\r\n @Output()\r\n public clickOutside = new EventEmitter();\r\n onClickHandler: EventListener;\r\n\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.clickOutsideEvent = this.clickOutsideEvent || 'mouseup';\r\n this.onClickHandler = this.onClick.bind(this);\r\n document.addEventListener(this.clickOutsideEvent, this.onClickHandler);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n document.removeEventListener(this.clickOutsideEvent, this.onClickHandler);\r\n }\r\n\r\n public onClick(event: MouseEvent): void {\r\n let targetElement: HTMLElement = event.target as HTMLElement;\r\n if (!targetElement) {\r\n return;\r\n }\r\n\r\n const clickedInside = this._elementRef.nativeElement.contains(targetElement);\r\n if (!clickedInside) {\r\n this.clickOutside.emit(event);\r\n }\r\n }\r\n}\r\n","import { ClickOutsideDirective } from './click-outside.directive';\r\nimport { OnlyNumberDirective } from './only-number.directive';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgModule } from '@angular/core';\r\nimport { EmailListValidatorDirective } from './email-list-validatior.directive';\r\nimport { DisableFeatureDirective } from './disable-feature.directive';\r\nimport { AutofocusDirective } from './autofocus.directive';\r\nimport { HoverClassDirective } from './hover-class.dirctive';\r\n\r\nconst components = [\r\n ClickOutsideDirective, OnlyNumberDirective,\r\n EmailListValidatorDirective, DisableFeatureDirective, AutofocusDirective, HoverClassDirective\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule],\r\n declarations: components,\r\n providers: [],\r\n exports: [...components],\r\n schemas: []\r\n})\r\nexport class CommonDirectivesModule {\r\n}\r\n","import { Directive, Inject, InjectionToken, Input, TemplateRef, ViewContainerRef } from '@angular/core';\r\n\r\nexport const DISABLED_FEATURES: InjectionToken = new InjectionToken('please provide the right array for disable flags');\r\n\r\n@Directive({\r\n selector: '[disableFeatures]',\r\n})\r\nexport class DisableFeatureDirective {\r\n\r\n // TODO: verify old config. This is stub!\r\n private _disabledFeatures: string[];\r\n\r\n constructor(private templateRef: TemplateRef,\r\n private viewContainer: ViewContainerRef, @Inject(DISABLED_FEATURES) private disabledFeatures: string[]) {\r\n this._disabledFeatures = disabledFeatures;\r\n }\r\n\r\n @Input() set disableFeatures(_featureNames: string[]) {\r\n let disabled: boolean = false;\r\n for (let featureName of _featureNames) {\r\n if (this._disabledFeatures.includes(featureName)) {\r\n disabled = true;\r\n }\r\n }\r\n if (disabled) {\r\n // remove template from DOM\r\n this.viewContainer.clear();\r\n } else {\r\n // add template to DOM\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n }\r\n }\r\n}\r\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport class DndValidators {\r\n static emailListValidator(emailListSeperatorsRegExp: RegExp = /(\\s*[,|;]\\s*)/igm): ValidatorFn {\r\n const result = (control: AbstractControl): {\r\n [key: string]: any;\r\n } => {\r\n let emailList: string[] = [];\r\n let notValidEmailList: string[] = [];\r\n let emailListForTest: string = control.value;\r\n emailListForTest = emailListForTest.replace(emailListSeperatorsRegExp, ';');\r\n //replace ; at the end\r\n emailListForTest = emailListForTest.replace(new RegExp(';*$'), '');\r\n if (emailListForTest && emailListForTest.length) {\r\n emailList = emailListForTest.split(/;/igm);\r\n for (let email of emailList) {\r\n email = email.trim();\r\n if (!this.isEmailValid(email)) {\r\n notValidEmailList.push(email);\r\n }\r\n }\r\n }\r\n return (notValidEmailList && notValidEmailList.length) ? { 'notValidEmailList': { value: notValidEmailList } } : null;\r\n };\r\n return result;\r\n }\r\n static isEmailValid(email: string): boolean {\r\n const validEmailRegExp = new RegExp(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/, 'igm');\r\n let isValid: boolean = validEmailRegExp.test(email);\r\n return isValid;\r\n }\r\n}\r\n","import { Directive, Input } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, Validator } from '@angular/forms';\r\nimport { DndValidators } from './dnd-validators';\r\n\r\n@Directive({\r\n selector: '[testEmailList]',\r\n providers: [{ provide: NG_VALIDATORS, useExisting: EmailListValidatorDirective, multi: true }]\r\n})\r\n\r\nexport class EmailListValidatorDirective implements Validator {\r\n @Input() emailListSeperatorsRegExp: RegExp;\r\n\r\n validate(control: AbstractControl): { [key: string]: any } {\r\n return this.emailListSeperatorsRegExp ? DndValidators.emailListValidator(new RegExp(this.emailListSeperatorsRegExp, 'i'))(control)\r\n : null;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[hoverClass]'\r\n})\r\nexport class HoverClassDirective implements OnInit {\r\n @Input() hoverClass: string;\r\n @Input() hoverClassDelayMls: number;\r\n\r\n hoveredUpon = false;\r\n activeTimeout: any;\r\n\r\n constructor(private _elementRef: ElementRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this._elementRef.nativeElement.addEventListener('mouseover', () => {\r\n // if (this.hoveredUpon) {\r\n // //if this is a consecutive event and we are already being hovered on no need to proceed.\r\n // return;\r\n // }\r\n\r\n this.hoveredUpon = true;\r\n this.clearTimer();\r\n if (this.hoverClass) {\r\n if (this.hoverClassDelayMls) {\r\n this.activeTimeout = setTimeout(() => {\r\n if (this.hoveredUpon) {\r\n //if after the timeout we are still hovered upon\r\n this._elementRef.nativeElement.classList.add(this.hoverClass);\r\n }\r\n }, this.hoverClassDelayMls);\r\n } else {\r\n this._elementRef.nativeElement.classList.add(this.hoverClass);\r\n }\r\n }\r\n });\r\n\r\n this._elementRef.nativeElement.addEventListener('mouseleave', () => {\r\n this.hoveredUpon = false;\r\n this.clearTimer();\r\n if (this.hoverClass) {\r\n this._elementRef.nativeElement.classList.remove(this.hoverClass);\r\n }\r\n });\r\n\r\n }\r\n\r\n clearTimer() {\r\n\r\n if (this.activeTimeout) {\r\n clearTimeout(this.activeTimeout);\r\n this.activeTimeout = null;\r\n }\r\n }\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './autofocus.directive';\r\nexport * from './click-outside.directive';\r\nexport * from './common-directives.module';\r\nexport * from './disable-feature.directive';\r\nexport * from './email-list-validatior.directive';\r\nexport * from './hover-class.dirctive';\r\nexport * from './only-number.directive';\r\nexport * from './dnd-validators';\r\n// end:ng42.barrel\r\n\r\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\n\r\nenum KeyCodes {\r\n Dash = 189,\r\n Subtract = 109,\r\n Delete = 46,\r\n Backspace = 8,\r\n Tab = 9,\r\n Escape = 27,\r\n Enter = 13,\r\n A = 65,\r\n C = 67,\r\n V = 86,\r\n X = 88\r\n}\r\n\r\n@Directive({\r\n selector: '[OnlyNumber]'\r\n})\r\nexport class OnlyNumberDirective {\r\n @Input() OnlyNumber: boolean;\r\n @Input() OnlyNumberAllowNegative: boolean = false;\r\n @Input() maxNumber?: number = null;\r\n @Input() minNumber?: number = null;\r\n @Input() SpecialCase: any = null;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: any) {\r\n const fistCharAlreadyInserted = this.el.nativeElement.value[0];\r\n const e = event;\r\n if (this.OnlyNumber) {\r\n if ([KeyCodes.Delete, KeyCodes.Backspace, KeyCodes.Tab, KeyCodes.Escape, KeyCodes.Enter].indexOf(e.keyCode) !== -1 ||\r\n // Allow: Ctrl+A\r\n (e.keyCode === KeyCodes.A && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+C\r\n (e.keyCode === KeyCodes.C && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+V\r\n (e.keyCode === KeyCodes.V && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: Ctrl+X\r\n (e.keyCode === KeyCodes.X && (e.ctrlKey || e.metaKey)) ||\r\n // Allow: home, end, left, right\r\n (e.keyCode >= 35 && e.keyCode <= 39) ||\r\n //if configured to accept negative numbers too accept dash (minus sign)\r\n (this.OnlyNumberAllowNegative && !fistCharAlreadyInserted && (e.keyCode === KeyCodes.Dash || e.keyCode === KeyCodes.Subtract))) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {\r\n e.preventDefault();\r\n }\r\n\r\n }\r\n }\r\n\r\n @HostListener('keyup', ['$event'])\r\n onKeyUp($event: any) {\r\n\r\n let elementValue: number;\r\n if (this.el.nativeElement.value !== '') {\r\n elementValue = parseInt(this.el.nativeElement.value, 10);\r\n this.setValidValue(elementValue);\r\n }\r\n }\r\n\r\n setValidValue(newValue: number) {\r\n if (this.SpecialCase !== null && this.replaceSpecialCaseNumber(newValue)) {\r\n return;\r\n }\r\n\r\n if (this.maxNumber !== null) {\r\n\r\n if (newValue > this.maxNumber) {\r\n //do not allow this and change the value to the max number\r\n this.el.nativeElement.value = this.maxNumber;\r\n }\r\n }\r\n\r\n if (this.minNumber !== null) {\r\n if (newValue < this.minNumber) {\r\n //do not allow this and change the value to the max number\r\n this.el.nativeElement.value = this.minNumber;\r\n }\r\n }\r\n }\r\n\r\n onPaste($event: any) {\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n const clipboardData = $event.clipboardData || (window).clipboardData;\r\n if (clipboardData) {\r\n const pastedData: string = clipboardData.getData('Text');\r\n if (pastedData && pastedData !== '') {\r\n const pastedValue = parseInt(pastedData, 10);\r\n this.setValidValue(pastedValue);\r\n }\r\n }\r\n }\r\n\r\n replaceSpecialCaseNumber(newValue: number) {\r\n if (this.SpecialCase !== null && this.SpecialCase.numberPressed !== null) {\r\n if (newValue === this.SpecialCase.numberPressed && this.SpecialCase.convertToNumber !== null) {\r\n this.el.nativeElement.value = this.SpecialCase.convertToNumber;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","export default \".filename {\\n width: 86px;\\n height: 17px;\\n overflow: hidden;\\n font-size: 9px;\\n margin: 0px;\\n text-align: center; }\\n\\n.files-figure {\\n margin: 0;\\n background-color: #F3F3F3;\\n border: 1px solid #B9B9B9;\\n height: 86px;\\n padding: 3px;\\n position: relative;\\n text-align: center;\\n vertical-align: middle;\\n transition: border 300ms ease-out; }\\n\\n.active {\\n box-shadow: inset 0px 0px 0 3px #92c5db; }\\n\\n.figure-shadow {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n bottom: 0;\\n pointer-events: none;\\n transition: box-shadow 0.3s ease 0s; }\\n\\n.highligted {\\n position: absolute;\\n top: 0;\\n right: 0;\\n left: 0;\\n right: 0;\\n border: 1px solid #585858;\\n z-index: 0;\\n width: 100%;\\n height: 100%;\\n overflow: hidden; }\\n\\n.wrap-image {\\n position: absolute;\\n width: 100%;\\n top: 0;\\n left: 0;\\n bottom: 0;\\n right: 0;\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n\\n.wrap-image img {\\n transition: visibility 0s linear, opacity 0.5s linear;\\n opacity: 0;\\n border: 0px !important; }\\n\\n.wrap-image .spinner {\\n position: absolute;\\n top: calc(50% - 14px);\\n left: calc(50% - 14px);\\n width: 28px;\\n height: 28px;\\n font-size: 28px;\\n line-height: 28px;\\n color: #9e9e9e; }\\n\\n.wrap-image.img-loaded {\\n background-color: transparent;\\n border: 0; }\\n\\n.wrap-image.img-loaded img {\\n opacity: 1;\\n visibility: visible; }\\n\\n.wrap-image.img-loaded .spinner {\\n z-index: -1;\\n display: none;\\n visibility: hidden; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZS1pdGVtL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGxpYlxcZmlsZS1tYW5hZ2VyXFxmaWxlLWl0ZW1cXGZpbGUtaXRlbS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTtFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsU0FBUztFQUNULHlCQUF5QjtFQUN6Qix5QkFBeUI7RUFDekIsWUFBWTtFQUNaLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLHNCQUFzQjtFQUN0QixpQ0FBaUMsRUFBQTs7QUFHbkM7RUFDRSx1Q0FBdUMsRUFBQTs7QUFHekM7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsU0FBUztFQUNULG9CQUFvQjtFQUNwQixtQ0FBbUMsRUFBQTs7QUFHckM7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFFBQVE7RUFDUixPQUFPO0VBQ1AsUUFBUTtFQUNSLHlCQUF3QjtFQUN4QixVQUFVO0VBQ1YsV0FBVztFQUNYLFlBQVk7RUFDWixnQkFBZ0IsRUFBQTs7QUFHaEI7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLE1BQU07RUFDTixPQUFPO0VBQ1AsU0FBUztFQUNULFFBQVE7RUFDUixhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQixFQUFBOztBQVRyQjtJQVlJLHFEQUFxRDtJQUNyRCxVQUFVO0lBQ1Ysc0JBQXNCLEVBQUE7O0FBZDFCO0lBaUJJLGtCQUFrQjtJQUNsQixxQkFBcUM7SUFDckMsc0JBQXNDO0lBQ3RDLFdBdkVhO0lBd0ViLFlBeEVhO0lBeUViLGVBekVhO0lBMEViLGlCQTFFYTtJQTJFYixjQTVFUSxFQUFBOztBQW9EWjtJQTRCSSw2QkFBNkI7SUFDN0IsU0FBUyxFQUFBOztBQTdCYjtNQWdDTSxVQUFVO01BQ1YsbUJBQW1CLEVBQUE7O0FBakN6QjtNQXFDTSxXQUFXO01BQ1gsYUFBYTtNQUNiLGtCQUFrQixFQUFBIiwiZmlsZSI6InByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZS1pdGVtL2ZpbGUtaXRlbS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFByZWxvYWQgSW1hZ2UgLyBCYWNrZ3JvdW5kIEltYWdlXHJcbiRncmV5OiAjOWU5ZTllO1xyXG4kc3Bpbm5lci1zaXplOiAyOHB4O1xyXG4kc3Bpbm5lci1jb2xvcjogJGdyZXk7XHJcblxyXG4uZmlsZW5hbWUge1xyXG4gIHdpZHRoOiA4NnB4O1xyXG4gIGhlaWdodDogMTdweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGZvbnQtc2l6ZTogOXB4O1xyXG4gIG1hcmdpbjogMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmZpbGVzLWZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI0I5QjlCOTtcclxuICBoZWlnaHQ6IDg2cHg7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB0cmFuc2l0aW9uOiBib3JkZXIgMzAwbXMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbi5hY3RpdmUge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMCAzcHggIzkyYzVkYjtcclxufVxyXG5cclxuLmZpZ3VyZS1zaGFkb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2UgMHM7XHJcbn1cclxuXHJcbi5oaWdobGlndGVke1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3JkZXI6MXB4IHNvbGlkICM1ODU4NTg7XHJcbiAgei1pbmRleDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuICAud3JhcC1pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIsIG9wYWNpdHkgMC41cyBsaW5lYXI7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc3Bpbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7KCRzcGlubmVyLXNpemUvMil9KTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeygkc3Bpbm5lci1zaXplLzIpfSk7XHJcbiAgICAgIHdpZHRoOiAkc3Bpbm5lci1zaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzcGlubmVyLXNpemU7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNwaW5uZXItc2l6ZTtcclxuICAgICAgbGluZS1oZWlnaHQ6ICRzcGlubmVyLXNpemU7XHJcbiAgICAgIGNvbG9yOiAkc3Bpbm5lci1jb2xvcjtcclxuICAgIH1cclxuXHJcbiAgICAmLmltZy1sb2FkZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zcGlubmVyIHtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuIl19 */\"","import {\r\n Component,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Inject,\r\n Input,\r\n OnDestroy,\r\n Renderer2,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { FilesListComponent } from '../files-list/files-list.component';\r\nimport { FmTreeService } from '../services/fm-tree.service';\r\n\r\n@Component({\r\n selector: 'file-item',\r\n templateUrl: './file-item.component.html',\r\n styleUrls: ['./file-item.component.scss']\r\n})\r\nexport class FileItemComponent implements OnDestroy {\r\n @ViewChild('wrapper', {static: false}) wrapper: ElementRef;\r\n @ViewChild('image', {static: false}) image: ElementRef;\r\n @Input() dialogType: FileModel.FileTypeEnum = FileModel.FileTypeEnum.IMAGES;\r\n @Input() node: FileModel;\r\n public highligted = false;\r\n readonly filesDialogType: FileModel.FileTypeEnum = FileModel.FileTypeEnum.DOCUMENTS;\r\n private fileList: FilesListComponent;\r\n private _isSingleClick = true;\r\n private _timer: NodeJS.Timer;\r\n\r\n constructor(\r\n private fmService: FmTreeService,\r\n private renderer: Renderer2,\r\n @Inject(forwardRef(() => FilesListComponent)) fList\r\n ) {\r\n this.fileList = fList as FilesListComponent;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.node = null;\r\n }\r\n\r\n get isFolder(): boolean {\r\n return this.node.IsFolder && this.node.IsFolder === true;\r\n }\r\n\r\n get nodeName(): string {\r\n return this.node.Name;\r\n }\r\n\r\n get nodeSrc(): string {\r\n return this.isFolder ? '' : this.node.Link;\r\n }\r\n\r\n isSelected = (): boolean => {\r\n return this.fileList.isSelected(this.node);\r\n }\r\n\r\n onClick = (event: MouseEvent): void => {\r\n this._isSingleClick = true;\r\n this._timer = setTimeout(() => {\r\n if (!this._isSingleClick) {\r\n return;\r\n }\r\n this.fileList.onElementClick(event, this.node);\r\n }, 150);\r\n }\r\n\r\n dblclick = (event: MouseEvent): void => {\r\n this._isSingleClick = false;\r\n clearTimeout(this._timer);\r\n this.fileList.onElementDoubleClick(event, this.node);\r\n }\r\n\r\n @HostListener('dragstart', ['$event'])\r\n onDragStart = (event: DragEvent): void => this.fmService.startDrag(this.node);\r\n\r\n onDragStop = (event: DragEvent): void => this.fmService.stopDrag(this.node);\r\n\r\n onDrop = (event: DragEvent): void => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n if (this.node.IsFolder) {\r\n this.fileList.itemDropped.emit({\r\n originalEvent: event,\r\n draggedItem: this.fileList.draggedItem,\r\n droppedItem: this.node\r\n });\r\n this.highligted = false;\r\n }\r\n }\r\n\r\n onDragLeave = (event: DragEvent): void => {\r\n this.highligted = false;\r\n }\r\n\r\n onDragEnter = (event: DragEvent): void => {\r\n if (this.node.IsFolder) {\r\n this.highligted = true;\r\n }\r\n }\r\n\r\n onDragOver = (event: DragEvent): void => {\r\n event.dataTransfer.dropEffect = 'move';\r\n }\r\n\r\n onItemRightClick = ($event: MouseEvent): void => {\r\n this.fileList.onElementRightClick($event, this.node);\r\n }\r\n\r\n imgLoaded = (flag: boolean): void => {\r\n if (flag) {\r\n this.renderer.addClass(this.wrapper.nativeElement, 'img-loaded');\r\n } else {\r\n this.renderer.removeClass(this.wrapper.nativeElement, 'img-loaded');\r\n }\r\n }\r\n\r\n getImgStyle = (): CSSStyleDeclaration => {\r\n const originalWidth = (this.node && this.node.Width) ? this.node.Width : 78;\r\n const originalHeight = (this.node && this.node.Height) ? this.node.Height : 78;\r\n let newWidth = 0;\r\n let newHeight = 0;\r\n const maxWidth = 78;\r\n const maxHeight = 78;\r\n\r\n if ((originalWidth - maxWidth) > (originalHeight - maxHeight)) {\r\n newWidth = maxWidth;\r\n newHeight = Math.round((originalHeight * (maxWidth / originalWidth)));\r\n } else {\r\n newHeight = maxHeight;\r\n newWidth = Math.round((originalWidth * (maxHeight / originalHeight)));\r\n }\r\n\r\n const style = {} as CSSStyleDeclaration;\r\n style['max-width'] = '78px';\r\n style['max-height'] = '78px';\r\n style.height = `${newHeight}px`;\r\n style.width = `${newWidth}px`;\r\n\r\n return style;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-item.component';\r\n// end:ng42.barrel\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogService } from '../dialogs/dialog.service';\r\nimport { ImageManagerDialogComponent } from './manager-dialog/image-manager-dialog.component';\r\nimport { FileManagerDialogContentComponent } from './manager-content/file-manager-dialog-content.component';\r\nimport { FileManagerCommandComponent } from './manager-command/file-manager-command.component';\r\nimport { PreviewComponent } from './file-preview/preview.component';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { CDFileManagerAPI } from './services/file-manager-api';\r\nimport { FileUploaderModule } from './file-uploader/file-uploader.module';\r\nimport { FilesListComponent } from './files-list/files-list.component';\r\nimport { FilesListService, NewFilesListService } from './files-list/files-list.service';\r\nimport { QuotaComponent } from './quota/quota.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { ImageFileEditorService } from './services/image-file-editor.service';\r\nimport { TreeModule } from 'primeng/tree';\r\nimport { TreeDragDropService } from 'primeng/api';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { FmFoldersTreeComponent } from './fm-folders-tree/fm-folders-tree.component';\r\nimport { FileItemComponent } from './file-item/file-item.component';\r\nimport { SanitizeUrlPipe } from './pipes/sanitize-url.pipe';\r\nimport { ElipsisPipe } from './pipes/elipsis.pipe';\r\nimport { DragDropModule } from 'primeng/dragdrop';\r\nimport { FileSearchComponent } from './file-search/file-search.component';\r\nimport { UploadProgressComponent } from './upload-progress/upload-progress.component';\r\n\r\nconst components = [\r\n ImageManagerDialogComponent, FileManagerDialogContentComponent, PreviewComponent, FilesListComponent,\r\n QuotaComponent, FmFoldersTreeComponent, FileManagerCommandComponent, FileItemComponent,\r\n FileSearchComponent, UploadProgressComponent\r\n];\r\nconst pipes = [SanitizeUrlPipe, ElipsisPipe];\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, DialogModule, FileUploaderModule, TranslateModule.forChild(), TreeModule, ContextMenuModule, DragDropModule],\r\n declarations: [...components, ...pipes],\r\n providers: [DialogService, CDFileManagerAPI, FilesListService, ImageFileEditorService, TreeDragDropService, SanitizeUrlPipe, NewFilesListService],\r\n entryComponents: [ImageManagerDialogComponent],\r\n exports: [...components, ...pipes]\r\n})\r\nexport class FileManagerModule {\r\n}\r\n","// start:ng42.barrel\r\nexport * from './preview.component';\r\n// end:ng42.barrel\r\n\r\n","export default \"* {\\n outline: none; }\\n\\n* {\\n box-sizing: border-box; }\\n\\nform {\\n margin: 0; }\\n\\nbody {\\n margin: 0;\\n overflow: hidden;\\n font-family: \\\"Lucida Sans Unicode\\\", \\\"Lucida Grande\\\", tahoma, Verdana, sans-serif;\\n font-size: 13px;\\n line-height: 1.4; }\\n\\nhtml, button, input, select, textarea {\\n font-family: \\\"Lucida Sans Unicode\\\", \\\"Lucida Grande\\\", tahoma, Verdana, sans-serif;\\n color: #3b3b3b; }\\n\\nfigure {\\n margin: 0; }\\n\\nimg {\\n border: 0;\\n -ms-interpolation-mode: bicubic;\\n vertical-align: middle; }\\n\\n::-moz-selection {\\n background: #b3d4fc;\\n -webkit-text-shadow: none;\\n text-shadow: none; }\\n\\n::selection {\\n background: #b3d4fc;\\n -webkit-text-shadow: none;\\n text-shadow: none; }\\n\\nbody {\\n margin: 0; }\\n\\nhtml {\\n font-family: sans-serif;\\n -webkit-text-size-adjust: 100%;\\n -ms-text-size-adjust: 100%; }\\n\\nfigure {\\n margin: 1em 40px; }\\n\\nimg {\\n border: 0; }\\n\\n::after, ::before {\\n box-sizing: border-box; }\\n\\n.inner_fileManager .preview {\\n width: 24%;\\n height: 420px;\\n border: 1px solid #D2D2D2;\\n border-left: 0px;\\n float: left;\\n padding: 3px 4px 0 2px;\\n position: relative; }\\n\\n.inner_fileManager .folders, .inner_fileManager .files, .inner_fileManager .preview {\\n float: left;\\n position: relative; }\\n\\n.inner_fileManager {\\n -moz-box-sizing: border-box;\\n margin: 0 auto;\\n width: 100%; }\\n\\n.fileManagerControl {\\n width: 100%; }\\n\\n#containerManager {\\n width: 100%;\\n height: 437px;\\n margin: 0 auto; }\\n\\n.pop {\\n background: #fff;\\n display: none; }\\n\\n.clearfix, .topRow, .borderBox, .timelineWrapper section .item .content .trippleCol, .tabsSmallWrapper .tabsNav, .sortable,\\n.headRow, .templatesList, .tasksCalendar, .tabsBigWrapper .tabsNav, .infoTab, .editList li, .top3, .fileManager .files ul, .pop {\\n *zoom: 1; }\\n\\n.clearfix::before, .topRow::before, .borderBox::before, .timelineWrapper section .item .content .trippleCol::before,\\n.tabsSmallWrapper .tabsNav::before, .sortable::before, .headRow::before, .templatesList::before, .tasksCalendar::before,\\n.tabsBigWrapper .tabsNav::before, .infoTab::before, .editList li::before, .top3::before, .fileManager .files ul::before,\\n.pop::before, .clearfix::after, .contentWrapper-inner::after, .topRow::after, .borderBox::after,\\n.timelineWrapper section .item .content .trippleCol::after, .tabsSmallWrapper .tabsNav::after, .sortable::after, .headRow::after,\\n.templatesList::after, .tasksCalendar::after, .tabsBigWrapper .tabsNav::after, .infoTab::after, .editList li::after, .top3::after,\\n.fileManager .files ul::after, .pop::after {\\n content: \\\" \\\";\\n display: table; }\\n\\n.clearfix::after, .topRow::after, .borderBox::after, .timelineWrapper section .item .content .trippleCol::after,\\n.tabsSmallWrapper .tabsNav::after, .sortable::after, .headRow::after, .templatesList::after, .tasksCalendar::after,\\n.tabsBigWrapper .tabsNav::after, .infoTab::after, .editList li::after, .top3::after, .fileManager .files ul::after, .pop::after {\\n clear: both; }\\n\\n.ui-dialog .ui-dialog-content {\\n position: relative;\\n border: 0;\\n padding: 1em;\\n background: none;\\n overflow: hidden; }\\n\\n.ui-dialog {\\n position: absolute;\\n top: 0px;\\n left: 0px;\\n padding: .2em;\\n outline: 0; }\\n\\n.ui-dialog {\\n background-color: #fff;\\n border: solid 1px #777; }\\n\\nhtml, body {\\n height: 100%;\\n font-family: \\\"Lucida Sans Unicode\\\", \\\"Lucida Grande\\\", tahoma, Verdana, sans-serif; }\\n\\nbody {\\n font-family: \\\"Helvetica Neue\\\", Helvetica, Arial, sans-serif;\\n font-size: 14px;\\n line-height: 1.4285;\\n color: #333;\\n background-color: #fff; }\\n\\nbody {\\n padding-top: 0px !important;\\n overflow: auto; }\\n\\nbody {\\n padding: 0px !important; }\\n\\nhtml {\\n font-size: 100%;\\n -webkit-text-size-adjust: 100%;\\n -ms-text-size-adjust: 100%;\\n margin: 0 auto; }\\n\\nhtml {\\n font-size: 10px;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\\n\\n.rowPrev {\\n width: 100%;\\n height: 25px;\\n margin: 0; }\\n\\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {\\n display: block; }\\n\\narticle, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {\\n display: block; }\\n\\nfigure {\\n margin: 0; }\\n\\n.folder-icon {\\n font-size: 1300%;\\n padding: 15px 10px 10px 10px; }\\n\\n.found-image-container {\\n display: flex;\\n align-items: center;\\n margin: auto;\\n text-align: center;\\n background-color: #fff; }\\n\\n.noImagePreviewTest {\\n color: #000000;\\n font-family: \\\"Segoe UI\\\";\\n font-size: 14px;\\n line-height: 16px;\\n font-style: italic;\\n text-transform: uppercase; }\\n\\n.previewImageName {\\n text-align: left;\\n font-size: 20px;\\n max-width: 100%;\\n -ms-word-break: break-word;\\n word-break: break-word;\\n max-height: 53px;\\n margin-top: 5px;\\n margin: 10px 10px 5px 10px; }\\n\\n.previewImageSize {\\n text-align: left;\\n font-size: 14px;\\n max-width: 100%;\\n -ms-word-break: break-word;\\n word-break: break-word;\\n max-height: 53px;\\n overflow: hidden;\\n margin-top: 5px;\\n margin: 10px 10px 5px 10px; }\\n\\n.previewImageDimensions {\\n text-align: left;\\n font-size: 14px;\\n max-width: 100%;\\n -ms-word-break: break-word;\\n word-break: break-word;\\n max-height: 53px;\\n overflow: hidden;\\n margin: 5px 10px 5px 10px; }\\n\\n.previewImageUploadDate {\\n text-align: left;\\n max-width: 100%;\\n font-size: 14px;\\n -ms-word-break: break-word;\\n word-break: break-word;\\n max-height: 53px;\\n overflow: hidden;\\n margin: 5px 10px 0px 10px; }\\n\\nimg {\\n vertical-align: middle; }\\n\\n.cds-small-title {\\n margin-left: 4px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZS1wcmV2aWV3L0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGxpYlxcZmlsZS1tYW5hZ2VyXFxmaWxlLXByZXZpZXdcXHByZXZpZXcuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhLEVBQUE7O0FBR2Y7RUFHRSxzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLGdGQUFnRjtFQUNoRixlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsZ0ZBQWdGO0VBQ2hGLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSxTQUFTO0VBQ1QsK0JBQStCO0VBQy9CLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsaUJBQWlCLEVBQUE7O0FBSG5CO0VBQ0UsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSx1QkFBdUI7RUFDdkIsOEJBQThCO0VBQzlCLDBCQUEwQixFQUFBOztBQUc1QjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLFNBQVMsRUFBQTs7QUFHWDtFQUdFLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLFVBQVU7RUFDVixhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLFdBQVc7RUFDWCxrQkFBa0IsRUFBQTs7QUFHcEI7RUFDRSwyQkFBMkI7RUFDM0IsY0FBYztFQUNkLFdBQVcsRUFBQTs7QUFHYjtFQUNFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGdCQUFnQjtFQUNoQixhQUFhLEVBQUE7O0FBR2Y7O0dBRUUsT0FBUSxFQUFBOztBQUdWOzs7Ozs7O0VBT0UsWUFBWTtFQUNaLGNBQWMsRUFBQTs7QUFHaEI7OztFQUdFLFdBQVcsRUFBQTs7QUFHYjtFQUNFLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLFNBQVM7RUFDVCxhQUFhO0VBQ2IsVUFBVSxFQUFBOztBQUdaO0VBQ0Usc0JBQXNCO0VBQ3RCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLFlBQVk7RUFDWixnRkFBZ0YsRUFBQTs7QUFHbEY7RUFDRSwyREFBMkQ7RUFDM0QsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsMkJBQTJCO0VBQzNCLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSx1QkFBdUIsRUFBQTs7QUFHekI7RUFDRSxlQUFlO0VBQ2YsOEJBQThCO0VBQzlCLDBCQUEwQjtFQUMxQixjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsZUFBZTtFQUNmLDZDQUE2QyxFQUFBOztBQUcvQztFQUNFLFdBQVc7RUFDWCxZQUFZO0VBQ1osU0FBUyxFQUFBOztBQUdYO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxTQUFTLEVBQUE7O0FBR1g7RUFDRSxnQkFBZ0I7RUFDaEIsNEJBQTRCLEVBQUE7O0FBRzlCO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLHNCQUNGLEVBQUE7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLHlCQUF5QixFQUFBOztBQUczQjtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZiwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGVBQWU7RUFDZiwwQkFBMEI7RUFDMUIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLDBCQUEwQixFQUFBOztBQUc1QjtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQix5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGVBQWU7RUFDZiwwQkFBMEI7RUFDMUIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0Usc0JBQXNCLEVBQUE7O0FBR3hCO0VBQ0UsZ0JBQWdCLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2ZpbGUtbWFuYWdlci9maWxlLXByZXZpZXcvcHJldmlldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIioge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbioge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuZm9ybSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBmb250LWZhbWlseTogXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCB0YWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbn1cclxuXHJcbmh0bWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIHRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuICBjb2xvcjogIzNiM2IzYjtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XHJcbiAgLXdlYmtpdC10ZXh0LXNoYWRvdzogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAxZW0gNDBweDtcclxufVxyXG5cclxuaW1nIHtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbjo6YWZ0ZXIsIDo6YmVmb3JlIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5pbm5lcl9maWxlTWFuYWdlciAucHJldmlldyB7XHJcbiAgd2lkdGg6IDI0JTtcclxuICBoZWlnaHQ6IDQyMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNEMkQyRDI7XHJcbiAgYm9yZGVyLWxlZnQ6IDBweDtcclxuICBmbG9hdDogbGVmdDtcclxuICBwYWRkaW5nOiAzcHggNHB4IDAgMnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmlubmVyX2ZpbGVNYW5hZ2VyIC5mb2xkZXJzLCAuaW5uZXJfZmlsZU1hbmFnZXIgLmZpbGVzLCAuaW5uZXJfZmlsZU1hbmFnZXIgLnByZXZpZXcge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmlubmVyX2ZpbGVNYW5hZ2VyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5maWxlTWFuYWdlckNvbnRyb2wge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jY29udGFpbmVyTWFuYWdlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0MzdweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLnBvcCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uY2xlYXJmaXgsIC50b3BSb3csIC5ib3JkZXJCb3gsIC50aW1lbGluZVdyYXBwZXIgc2VjdGlvbiAuaXRlbSAuY29udGVudCAudHJpcHBsZUNvbCwgLnRhYnNTbWFsbFdyYXBwZXIgLnRhYnNOYXYsIC5zb3J0YWJsZSxcclxuLmhlYWRSb3csIC50ZW1wbGF0ZXNMaXN0LCAudGFza3NDYWxlbmRhciwgLnRhYnNCaWdXcmFwcGVyIC50YWJzTmF2LCAuaW5mb1RhYiwgLmVkaXRMaXN0IGxpLCAudG9wMywgLmZpbGVNYW5hZ2VyIC5maWxlcyB1bCwgLnBvcCB7XHJcbiAgKnpvb206IDE7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDo6YmVmb3JlLCAudG9wUm93OjpiZWZvcmUsIC5ib3JkZXJCb3g6OmJlZm9yZSwgLnRpbWVsaW5lV3JhcHBlciBzZWN0aW9uIC5pdGVtIC5jb250ZW50IC50cmlwcGxlQ29sOjpiZWZvcmUsXHJcbi50YWJzU21hbGxXcmFwcGVyIC50YWJzTmF2OjpiZWZvcmUsIC5zb3J0YWJsZTo6YmVmb3JlLCAuaGVhZFJvdzo6YmVmb3JlLCAudGVtcGxhdGVzTGlzdDo6YmVmb3JlLCAudGFza3NDYWxlbmRhcjo6YmVmb3JlLFxyXG4udGFic0JpZ1dyYXBwZXIgLnRhYnNOYXY6OmJlZm9yZSwgLmluZm9UYWI6OmJlZm9yZSwgLmVkaXRMaXN0IGxpOjpiZWZvcmUsIC50b3AzOjpiZWZvcmUsIC5maWxlTWFuYWdlciAuZmlsZXMgdWw6OmJlZm9yZSxcclxuLnBvcDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyLCAuY29udGVudFdyYXBwZXItaW5uZXI6OmFmdGVyLCAudG9wUm93OjphZnRlciwgLmJvcmRlckJveDo6YWZ0ZXIsXHJcbi50aW1lbGluZVdyYXBwZXIgc2VjdGlvbiAuaXRlbSAuY29udGVudCAudHJpcHBsZUNvbDo6YWZ0ZXIsIC50YWJzU21hbGxXcmFwcGVyIC50YWJzTmF2OjphZnRlciwgLnNvcnRhYmxlOjphZnRlciwgLmhlYWRSb3c6OmFmdGVyLFxyXG4udGVtcGxhdGVzTGlzdDo6YWZ0ZXIsIC50YXNrc0NhbGVuZGFyOjphZnRlciwgLnRhYnNCaWdXcmFwcGVyIC50YWJzTmF2OjphZnRlciwgLmluZm9UYWI6OmFmdGVyLCAuZWRpdExpc3QgbGk6OmFmdGVyLCAudG9wMzo6YWZ0ZXIsXHJcbi5maWxlTWFuYWdlciAuZmlsZXMgdWw6OmFmdGVyLCAucG9wOjphZnRlciB7XHJcbiAgY29udGVudDogXCIgXCI7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDo6YWZ0ZXIsIC50b3BSb3c6OmFmdGVyLCAuYm9yZGVyQm94OjphZnRlciwgLnRpbWVsaW5lV3JhcHBlciBzZWN0aW9uIC5pdGVtIC5jb250ZW50IC50cmlwcGxlQ29sOjphZnRlcixcclxuLnRhYnNTbWFsbFdyYXBwZXIgLnRhYnNOYXY6OmFmdGVyLCAuc29ydGFibGU6OmFmdGVyLCAuaGVhZFJvdzo6YWZ0ZXIsIC50ZW1wbGF0ZXNMaXN0OjphZnRlciwgLnRhc2tzQ2FsZW5kYXI6OmFmdGVyLFxyXG4udGFic0JpZ1dyYXBwZXIgLnRhYnNOYXY6OmFmdGVyLCAuaW5mb1RhYjo6YWZ0ZXIsIC5lZGl0TGlzdCBsaTo6YWZ0ZXIsIC50b3AzOjphZnRlciwgLmZpbGVNYW5hZ2VyIC5maWxlcyB1bDo6YWZ0ZXIsIC5wb3A6OmFmdGVyIHtcclxuICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMWVtO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnVpLWRpYWxvZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICBwYWRkaW5nOiAuMmVtO1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi51aS1kaWFsb2cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzc3NztcclxufVxyXG5cclxuaHRtbCwgYm9keSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIHRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTtcclxuICBjb2xvcjogIzMzMztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xyXG59XHJcblxyXG4ucm93UHJldiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyNXB4O1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5mb2xkZXItaWNvbiB7XHJcbiAgZm9udC1zaXplOiAxMzAwJTtcclxuICBwYWRkaW5nOiAxNXB4IDEwcHggMTBweCAxMHB4O1xyXG59XHJcblxyXG4uZm91bmQtaW1hZ2UtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXHJcbn1cclxuXHJcbi5ub0ltYWdlUHJldmlld1Rlc3Qge1xyXG4gIGNvbG9yOiAjMDAwMDAwO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4ucHJldmlld0ltYWdlTmFtZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgbWF4LWhlaWdodDogNTNweDtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgbWFyZ2luOiAxMHB4IDEwcHggNXB4IDEwcHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3SW1hZ2VTaXplIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICBtYXgtaGVpZ2h0OiA1M3B4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG4gIG1hcmdpbjogMTBweCAxMHB4IDVweCAxMHB4O1xyXG59XHJcblxyXG4ucHJldmlld0ltYWdlRGltZW5zaW9ucyB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgbWF4LWhlaWdodDogNTNweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbjogNXB4IDEwcHggNXB4IDEwcHg7XHJcbn1cclxuXHJcbi5wcmV2aWV3SW1hZ2VVcGxvYWREYXRlIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICBtYXgtaGVpZ2h0OiA1M3B4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWFyZ2luOiA1cHggMTBweCAwcHggMTBweDtcclxufVxyXG5cclxuaW1nIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uY2RzLXNtYWxsLXRpdGxlIHtcclxuICBtYXJnaW4tbGVmdDogNHB4O1xyXG59XHJcbiJdfQ== */\"","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { IImageFile } from '../../interfaces';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { FolderTreeNode } from '../../typescript-angular-client/model/folderTreeNode';\r\n\r\nconst MAX_PREVIEW_IMAGE_WIDTH = 178;\r\nconst MAX_PREVIEW_IMAGE_HEIGHT = 177;\r\nconst SIZE_UNIT = 'px';\r\n\r\n@Component({\r\n selector: 'preview-image',\r\n templateUrl: './preview.html',\r\n styleUrls: ['./preview.component.scss']\r\n})\r\n\r\nexport class PreviewComponent {\r\n private _imageFile: FileModel;\r\n private _model: FileModel;\r\n public previewImageWidth = `0${SIZE_UNIT}`;\r\n public previewImageHeight = `0${SIZE_UNIT}`;\r\n\r\n get imageFile(): FileModel {\r\n return this._imageFile;\r\n }\r\n\r\n @Output() newFileAdded = new EventEmitter();\r\n @Output() editImage = new EventEmitter();\r\n @Input() previewFileNameMaxLength?: number;\r\n @Input() previewImgMaxHeight?: number;\r\n @Input() previewImgMaxWidth?: number;\r\n @Input() enableImageEditing? = true;\r\n @Input() set model(fileModel: FileModel) {\r\n this._model = fileModel;\r\n if (!fileModel) {\r\n this._imageFile = null;\r\n return;\r\n }\r\n if (fileModel && fileModel['Id'] !== undefined) {\r\n this._imageFile = fileModel as FileModel;\r\n } else {\r\n const fileModels = Array.isArray(fileModel) ? fileModel : [];\r\n this._imageFile = fileModels.length > 0 ? fileModels[0] : null;\r\n }\r\n }\r\n\r\n get model(): FileModel {\r\n return this._model;\r\n }\r\n\r\n get isSeveralFilesSelected(): boolean {\r\n if (this._model && (this._model as FileModel[]).length !== undefined) {\r\n return (this._model as FileModel[]).length > 1;\r\n }\r\n return false;\r\n }\r\n\r\n public onEditImage = (): void =>this.editImage.emit(this._imageFile);\r\n\r\n public handlePreviewImageLoad = ($event: Event & HTMLImageElement): void => {\r\n if (this.previewFileNameMaxLength == null) {\r\n this.previewFileNameMaxLength = 15;\r\n }\r\n if (this.previewImgMaxHeight == null) {\r\n this.previewImgMaxHeight = MAX_PREVIEW_IMAGE_HEIGHT;\r\n }\r\n if (this.previewImgMaxWidth == null) {\r\n this.previewImgMaxWidth = MAX_PREVIEW_IMAGE_WIDTH;\r\n }\r\n\r\n const imgElement = $event.target || $event.srcElement;\r\n const naturalWidth = imgElement['naturalWidth'] as number;\r\n const naturalHeight = imgElement['naturalHeight'] as number;\r\n\r\n if ((naturalWidth - this.previewImgMaxWidth) > (naturalHeight - this.previewImgMaxHeight)) {\r\n this.previewImageWidth = `${this.previewImgMaxWidth}${SIZE_UNIT}`;\r\n this.previewImageHeight = `${Math.round((naturalHeight * (this.previewImgMaxWidth / naturalWidth)))}${SIZE_UNIT}`;\r\n } else {\r\n this.previewImageHeight = `${this.previewImgMaxHeight}${SIZE_UNIT}`;\r\n this.previewImageWidth = `${Math.round((naturalWidth * (this.previewImgMaxHeight / naturalHeight)))}${SIZE_UNIT}`;\r\n }\r\n }\r\n}\r\n","export default \".refresh {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n background: url(/assets/common-lib/images/refresh.png) no-repeat;\\n cursor: pointer;\\n margin-left: 12px; }\\n\\n.search {\\n display: inline-block;\\n vertical-align: top;\\n width: 20px;\\n height: 22px;\\n background: url(/assets/common-lib/images/magnifying-glass.png) no-repeat center center;\\n cursor: pointer;\\n margin-left: -25px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZS1zZWFyY2gvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxmaWxlLW1hbmFnZXJcXGZpbGUtc2VhcmNoXFxmaWxlLXNlYXJjaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsWUFBWTtFQUNaLGdFQUFnRTtFQUNoRSxlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsWUFBWTtFQUNaLHVGQUF1RjtFQUN2RixlQUFlO0VBQ2Ysa0JBQWtCLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2ZpbGUtbWFuYWdlci9maWxlLXNlYXJjaC9maWxlLXNlYXJjaC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yZWZyZXNoIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDEwcHg7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL3JlZnJlc2gucG5nKSBuby1yZXBlYXQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG59XHJcblxyXG4uc2VhcmNoIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIycHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvbWFnbmlmeWluZy1nbGFzcy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBtYXJnaW4tbGVmdDogLTI1cHg7XHJcbn1cclxuIl19 */\"","import {\r\n Component,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n ViewChild,\r\n ElementRef,\r\n ChangeDetectionStrategy,\r\n Self,\r\n ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { fromEvent } from 'rxjs';\r\nimport { filter, debounceTime, distinctUntilChanged, takeUntil, tap } from 'rxjs/operators';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { NewFilesListService } from '../files-list/files-list.service';\r\n\r\n@Component({\r\n selector: 'file-search',\r\n templateUrl: './file-search.component.html',\r\n styleUrls: ['./file-search.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class FileSearchComponent implements OnInit {\r\n public searchTerm: string;\r\n\r\n @ViewChild('inputSearch', {static: true}) input: ElementRef;\r\n @ViewChild('searchButton', {static: true}) searchBtn: ElementRef;\r\n @ViewChild('refreshButton', {static: true}) refreshBtn: ElementRef;\r\n\r\n @Output() refresh: EventEmitter = new EventEmitter();\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n private oldSearchData: string;\r\n\r\n constructor(\r\n @Self() private ngOnDestroy$: NgOnDestroyService,\r\n protected cdRef: ChangeDetectorRef,\r\n private flService: NewFilesListService\r\n ) {\r\n this.flService.isFilesOnlyMode$\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe(() => {\r\n this.searchTerm = '';\r\n this.oldSearchData = '';\r\n this.cdRef.markForCheck();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n fromEvent(this.input.nativeElement, 'keyup')\r\n .pipe(\r\n filter((e: KeyboardEvent) => e.code === 'Enter'),\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n takeUntil(this.ngOnDestroy$)\r\n ).subscribe(() => this.search.emit(this.searchTerm));\r\n\r\n fromEvent(this.searchBtn.nativeElement, 'click')\r\n .pipe(\r\n debounceTime(300),\r\n filter(() => this.searchTerm !== this.oldSearchData),\r\n tap(() => this.oldSearchData = this.searchTerm),\r\n takeUntil(this.ngOnDestroy$)\r\n ).subscribe(() => this.search.emit(this.searchTerm));\r\n\r\n fromEvent(this.refreshBtn.nativeElement, 'click')\r\n .pipe(\r\n debounceTime(300),\r\n takeUntil(this.ngOnDestroy$),\r\n tap(() => this.oldSearchData = this.searchTerm),\r\n ).subscribe(() => this.search.emit(this.searchTerm));\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-search.component';\r\n// end:ng42.barrel\r\n\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, Self } from '@angular/core';\r\nimport { defer, merge, of, EMPTY } from 'rxjs';\r\nimport { FileManagerTypeEnum } from '../services/file-manager-api';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { AlertDublicateFileComponent, FileOperation } from '../../dialogs/alert-dublicate-file/alert-dublicate-file.component';\r\nimport { FmUploaderService } from './fm-uploader.service';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { takeUntil, catchError, mergeMap, concatMap, tap, map, share, switchMap } from 'rxjs/operators';\r\nimport { FilesListApiService } from '../../typescript-angular-client/api/fileList/filesList.service';\r\nimport { ErrorHandlingService } from '../../http/error-handling.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs';\r\nimport { FileUploadError, FileUploadInfo } from '../models/FileUploadError';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'file-uploader',\r\n templateUrl: './file-uploader.html',\r\n styleUrls: ['file-uploader.scss'],\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class FileUploaderComponent implements OnInit {\r\n @Input() currentFolder: string;\r\n @Input() fileListPageSize: number;\r\n @Input() accept: string = 'image/*';\r\n @Input() maxFileSize = Math.pow(1024, 2) * 2;\r\n @Input() dialogType: FileModel.FileTypeEnum = FileModel.FileTypeEnum.IMAGES;\r\n\r\n @Output() filesUploaded = new EventEmitter();\r\n @Output() progressDataEmit = new EventEmitter();\r\n\r\n @ViewChild('file', {static: false}) file: ElementRef;\r\n\r\n public FileManagerTypeEnum = FileManagerTypeEnum;\r\n private files4upload: File[] = [];\r\n private currentResolve: any;\r\n private currentReject: any;\r\n private applyAllOperation: IDialogOnClose;\r\n\r\n constructor(\r\n private dialogService: DialogService,\r\n private fmUploader: FmUploaderService,\r\n private listApiService: FilesListApiService,\r\n private errorHandler: ErrorHandlingService,\r\n private translate: TranslateService,\r\n @Self() private ngOnDestroy$: NgOnDestroyService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.dialogType === FileModel.FileTypeEnum.DOCUMENTS) {\r\n this.accept = '*.*';\r\n }\r\n }\r\n\r\n public clickUploadBtn = (event: MouseEvent): void => {\r\n event.preventDefault();\r\n const input = this.file.nativeElement;\r\n if (input !== null && typeof input !== 'undefined') {\r\n input.click();\r\n }\r\n }\r\n\r\n public onFilesAdded = () => {\r\n const uploadedFiles = this.file.nativeElement.files;\r\n const files: File[] = [];\r\n for (const key in uploadedFiles) {\r\n if (!isNaN(+key)) {\r\n files.push(uploadedFiles[key]);\r\n }\r\n }\r\n\r\n this.file.nativeElement.value = '';\r\n\r\n files.forEach(file => {\r\n if (this.validate(file)) {\r\n this.files4upload.push(file);\r\n }\r\n });\r\n\r\n if (this.files4upload.length <= 0 && this.fmUploader.errors.length > 0) {\r\n this.fmUploader.showErrors();\r\n return;\r\n }\r\n\r\n this.checkExistingFilesAndUpload();\r\n }\r\n\r\n private checkExistingFilesAndUpload = (): void => {\r\n const checkExisting$ = this.listApiService.checkExistingFiles(this.files4upload.map(f => f.name))\r\n .pipe(\r\n catchError((err) => this.errorHandler.handleError(err)),\r\n share(),\r\n takeUntil(this.ngOnDestroy$));\r\n\r\n const fileExists$ = checkExisting$.pipe(\r\n switchMap((value) => value.length > 0 ? of(value) : EMPTY),\r\n mergeMap(items => items),\r\n concatMap(s => defer(() => new Promise((resolve, reject) => {\r\n this.currentResolve = resolve;\r\n this.currentReject = reject;\r\n this.showAlert(s);\r\n }))),\r\n tap((result) => {\r\n const file = this.files4upload.find(f => f.name === result.data.fileName);\r\n if (result.data.operation !== FileOperation.SKIP) {\r\n this.fmUploader.filesUploadQueue.push({\r\n file: file,\r\n keep: result.data.operation === FileOperation.KEEPBOTH\r\n });\r\n } else {\r\n this.fmUploader.errors.push({\r\n name: file.name,\r\n size: file.size.toString(),\r\n reason: 'skipped'\r\n });\r\n }\r\n }),\r\n takeUntil(this.ngOnDestroy$)\r\n );\r\n\r\n const fileNotExists$ = checkExisting$.pipe(\r\n switchMap((value) => value.length < this.files4upload.length ? of(value) : EMPTY),\r\n map((value) => this.files4upload.filter(f => !value.some(v => v === f.name))),\r\n map((files) => files.map(f => { file: f, keep: false })),\r\n tap((files) => this.fmUploader.filesUploadQueue.push(...files)),\r\n takeUntil(this.ngOnDestroy$)\r\n );\r\n\r\n merge(fileExists$, fileNotExists$)\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe({\r\n next: () => { },\r\n error: () => { \r\n this.fmUploader.clear();\r\n },\r\n complete: () => {\r\n this.fmUploader.parentfolder = this.currentFolder;\r\n this.fmUploader.upload(this.dialogType, this.fileListPageSize);\r\n this.files4upload.length = 0;\r\n this.applyAllOperation = null;\r\n }\r\n });\r\n }\r\n\r\n private showAlert = (fileName: string) => {\r\n if (this.applyAllOperation) {\r\n const cloned = Object.assign({}, this.applyAllOperation);\r\n cloned.data.fileName = fileName;\r\n this.currentResolve(cloned);\r\n return;\r\n }\r\n this.dialogService.createDialog(AlertDublicateFileComponent, { fileName, dialogType: this.dialogType }, {})\r\n .onClose\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe((result) => {\r\n if (result.reason === DialogCloseReason.OK) {\r\n if (result.data.applyAll) {\r\n this.applyAllOperation = result;\r\n }\r\n this.currentResolve(result);\r\n } else {\r\n this.currentReject(result);\r\n }\r\n });\r\n }\r\n\r\n private validate = (file: File): boolean => {\r\n if (this.accept && !this.isFileTypeValid(file)) {\r\n this.fmUploader.errors.push({\r\n name: file.name,\r\n reason: 'Invalid file type',\r\n size: file.size.toString()\r\n });\r\n return false;\r\n }\r\n\r\n if (this.maxFileSize && file.size > this.maxFileSize) {\r\n let maxFileSizeError: string;\r\n if (this.dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n maxFileSizeError = this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.MAX_FILE_SIZE_ERROR');\r\n } else {\r\n maxFileSizeError = this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.MAX_FILE_FILES_SIZE_ERROR');\r\n }\r\n this.fmUploader.errors.push({\r\n name: file.name,\r\n reason: maxFileSizeError,\r\n size: file.size.toString()\r\n });\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private isFileTypeValid = (file: File): boolean => {\r\n let acceptableTypes: string[];\r\n if (this.dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n acceptableTypes = this.accept.split(',').map(type => type.trim());\r\n }\r\n if (this.dialogType === FileModel.FileTypeEnum.DOCUMENTS) {\r\n return true;\r\n }\r\n\r\n for (const type of acceptableTypes) {\r\n const acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type)\r\n : file.type === type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();\r\n\r\n if (acceptable) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private getTypeClass = (fileType: string): string => fileType.substring(0, fileType.indexOf('/'));\r\n\r\n private isWildcard = (fileType: string): boolean => fileType.indexOf('*') !== -1;\r\n\r\n private getFileExtension = (file: File): string => `.${file.name.split('.').pop()}`;\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FileUploaderComponent } from './file-uploader.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@NgModule({\r\n imports: [CommonModule, FormsModule, TranslateModule.forChild()],\r\n declarations: [FileUploaderComponent],\r\n providers: [],\r\n exports: [FileUploaderComponent]\r\n})\r\nexport class FileUploaderModule {\r\n}\r\n","export default \".upload-message-hover {\\n display: none;\\n line-height: 34px;\\n text-transform: capitalize; }\\n\\n.drop-zone-container {\\n height: 60px;\\n cursor: pointer; }\\n\\n.drop-zone-container .upload-message-content {\\n text-align: center;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1; }\\n\\n.drop-zone-container .upload-message-content__text {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n\\n.drop-zone-container .upload-message-content__text span {\\n color: #007fb7; }\\n\\n.drop-zone-container .upload-message-hover {\\n text-align: center;\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 1; }\\n\\n.drop-zone-container .upload-message-hover__text {\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n cursor: pointer; }\\n\\n.drop-zone-container .upload-message-hover__text span {\\n color: #007fb7; }\\n\\n.drop-zone-container .dnd-area {\\n position: absolute;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n z-index: 2; }\\n\\n.drop-zone-container.nv-file-over .upload-message-content {\\n display: none; }\\n\\n.drop-zone-container.nv-file-over .upload-message-hover {\\n display: block; }\\n\\n.drop-zone-container.nv-file-over .dnd-area {\\n border: 2px dashed #007fb7; }\\n\\n/* Default class applied to drop zones on over */\\n\\n.another-file-over-class {\\n border: dotted 3px green; }\\n\\n.imageDropDownContainer {\\n display: block;\\n width: 449px;\\n height: 64px;\\n border: 2px dashed #d2d2d2;\\n text-align: center;\\n box-sizing: border-box;\\n margin: 0px auto 20px auto;\\n overflow: hidden; }\\n\\n.imageUploadItemInner {\\n display: inline-block;\\n background: #d2d2d2;\\n margin-top: 2px;\\n box-sizing: border-box; }\\n\\n.uploadErrorImages {\\n width: 426px;\\n min-height: 55px;\\n padding: 5px;\\n margin: auto;\\n background: #FAEAEA;\\n position: absolute;\\n top: 20px;\\n left: 30px;\\n box-sizing: border-box;\\n margin-bottom: 10px;\\n z-index: 3; }\\n\\n.errorMessageHeader {\\n color: #d45252; }\\n\\n.errorMessageHeader span:first-of-type {\\n font-size: 12px;\\n position: relative;\\n top: -3px; }\\n\\n.uploadErrorCloseBtn {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n float: right;\\n background: url(/assets/images/close_btn_red.png) no-repeat;\\n cursor: pointer; }\\n\\n.errorMessageContent {\\n max-height: 66px;\\n overflow: auto;\\n font-size: 12px; }\\n\\n.errorMessageRow {\\n display: block; }\\n\\n.errorMessageContent span {\\n font-size: 12px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZS11cGxvYWRlci9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxsaWJcXGZpbGUtbWFuYWdlclxcZmlsZS11cGxvYWRlclxcZmlsZS11cGxvYWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLGlCQUFpQjtFQUNqQiwwQkFBMEIsRUFBQTs7QUFHNUI7RUFDRSxZQUFZO0VBQ1osZUFBZSxFQUFBOztBQUZqQjtJQUtJLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFVBQVUsRUFBQTs7QUFYZDtNQWNNLGtCQUFrQjtNQUNsQixTQUFTO01BQ1QsUUFBUTtNQUNSLGdDQUFnQyxFQUFBOztBQWpCdEM7UUFvQlEsY0FBYyxFQUFBOztBQXBCdEI7SUEwQkksa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsVUFBVSxFQUFBOztBQWhDZDtNQW1DTSxrQkFBa0I7TUFDbEIsU0FBUztNQUNULFFBQVE7TUFDUixnQ0FBZ0M7TUFDaEMsZUFBZSxFQUFBOztBQXZDckI7UUEwQ1EsY0FBYyxFQUFBOztBQTFDdEI7SUFnREksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxVQUFVLEVBQUE7O0FBckRkO0lBMERNLGFBQWEsRUFBQTs7QUExRG5CO0lBNkRNLGNBQWMsRUFBQTs7QUE3RHBCO0lBaUVNLDBCQUEwQixFQUFBOztBQUtoQyxnREFBQTs7QUFDQTtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjtFQUNFLGNBQWM7RUFDZCxZQUFZO0VBQ1osWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFHbEIsc0JBQXNCO0VBQ3RCLDBCQUEwQjtFQUMxQixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxxQkFBcUI7RUFDckIsbUJBQW1CO0VBQ25CLGVBQWU7RUFHZixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsVUFBVSxFQUFBOztBQUdaO0VBQ0UsY0FBdUIsRUFBQTs7QUFHekI7RUFDRSxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLFNBQVMsRUFBQTs7QUFHWDtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWiwyREFBMkQ7RUFDM0QsZUFBZSxFQUFBOztBQUdqQjtFQUNFLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsZUFBZSxFQUFBOztBQUdqQjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSxlQUFlLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2ZpbGUtbWFuYWdlci9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkZXIuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi51cGxvYWQtbWVzc2FnZS1ob3ZlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMzRweDtcclxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxufVxyXG5cclxuLmRyb3Atem9uZS1jb250YWluZXIge1xyXG4gIGhlaWdodDogNjBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIC51cGxvYWQtbWVzc2FnZS1jb250ZW50IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogIzAwN2ZiNztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnVwbG9hZC1tZXNzYWdlLWhvdmVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogNTAlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjMDA3ZmI3O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZG5kLWFyZWEge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcblxyXG4gICYubnYtZmlsZS1vdmVyIHtcclxuICAgIC51cGxvYWQtbWVzc2FnZS1jb250ZW50IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC51cGxvYWQtbWVzc2FnZS1ob3ZlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5kbmQtYXJlYSB7XHJcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjMDA3ZmI3O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogRGVmYXVsdCBjbGFzcyBhcHBsaWVkIHRvIGRyb3Agem9uZXMgb24gb3ZlciAqL1xyXG4uYW5vdGhlci1maWxlLW92ZXItY2xhc3Mge1xyXG4gIGJvcmRlcjogZG90dGVkIDNweCBncmVlbjtcclxufVxyXG5cclxuLmltYWdlRHJvcERvd25Db250YWluZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiA0NDlweDtcclxuICBoZWlnaHQ6IDY0cHg7XHJcbiAgYm9yZGVyOiAycHggZGFzaGVkICNkMmQyZDI7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBtYXJnaW46IDBweCBhdXRvIDIwcHggYXV0bztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaW1hZ2VVcGxvYWRJdGVtSW5uZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBiYWNrZ3JvdW5kOiAjZDJkMmQyO1xyXG4gIG1hcmdpbi10b3A6IDJweDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi51cGxvYWRFcnJvckltYWdlcyB7XHJcbiAgd2lkdGg6IDQyNnB4O1xyXG4gIG1pbi1oZWlnaHQ6IDU1cHg7XHJcbiAgcGFkZGluZzogNXB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBiYWNrZ3JvdW5kOiAjRkFFQUVBO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDIwcHg7XHJcbiAgbGVmdDogMzBweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgei1pbmRleDogMztcclxufVxyXG5cclxuLmVycm9yTWVzc2FnZUhlYWRlciB7XHJcbiAgY29sb3I6IHJnYigyMTIsIDgyLCA4Mik7XHJcbn1cclxuXHJcbi5lcnJvck1lc3NhZ2VIZWFkZXIgc3BhbjpmaXJzdC1vZi10eXBlIHtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTNweDtcclxufVxyXG5cclxuLnVwbG9hZEVycm9yQ2xvc2VCdG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jbG9zZV9idG5fcmVkLnBuZykgbm8tcmVwZWF0O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmVycm9yTWVzc2FnZUNvbnRlbnQge1xyXG4gIG1heC1oZWlnaHQ6IDY2cHg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcblxyXG4uZXJyb3JNZXNzYWdlUm93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmVycm9yTWVzc2FnZUNvbnRlbnQgc3BhbiB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG59XHJcbiJdfQ== */\"","import { Injectable, NgZone } from '@angular/core';\r\nimport { Subject, from, of } from 'rxjs';\r\nimport { FileUploaderClient } from '../../typescript-angular-client/api/fileList/filesList.service';\r\nimport { FileParameter } from '../../typescript-angular-client/api/fileList/filesList.service.model';\r\nimport { FileUploadError, FileUploadInfo } from '../models/FileUploadError';\r\nimport { concatMap, tap, share, takeLast, switchMap, catchError } from 'rxjs/operators';\r\nimport { NewFilesListService } from '../files-list/files-list.service';\r\nimport { FileModel } from '../../typescript-angular-client/model/models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FmUploaderService {\r\n public filesUploadQueue: FileUploadInfo[] = [];\r\n public errors: FileUploadError[] = [];\r\n public parentfolder: string;\r\n private completedAllSubject: Subject = new Subject();\r\n private onProgressSubject = new Subject();\r\n private onStartUploadSubject: Subject = new Subject();\r\n\r\n constructor(\r\n private zone: NgZone,\r\n private uploadClient: FileUploaderClient,\r\n private flService: NewFilesListService\r\n ) { }\r\n\r\n get completedAll$() {\r\n return this.completedAllSubject.asObservable().pipe(share());\r\n }\r\n\r\n get onProgress$() {\r\n return this.onProgressSubject.asObservable().pipe(share());\r\n }\r\n\r\n get onStart$() {\r\n return this.onStartUploadSubject.asObservable().pipe(share());\r\n }\r\n\r\n public upload(dialogType: FileModel.FileTypeEnum, pageSize: number) {\r\n if (!this.parentfolder || this.filesUploadQueue.length <= 0) {\r\n return;\r\n }\r\n\r\n this.onStartUploadSubject.next(this.filesUploadQueue.length);\r\n\r\n from(this.filesUploadQueue).pipe(\r\n concatMap((item) => this.uploadClient.upload(\r\n { fileName: item.file.name, data: item.file },\r\n this.parentfolder, dialogType, true, item.keep).\r\n pipe(\r\n tap(\r\n () => this.zone.run(() => this.onProgressSubject.next()),\r\n (err) => {\r\n this.zone.run(() => {\r\n this.errors.push({\r\n name: item.file.name,\r\n size: item.file.size.toString(),\r\n reason: err\r\n });\r\n this.onProgressSubject.next();\r\n });\r\n }),\r\n catchError((error) => of(error))\r\n )),\r\n takeLast(1),\r\n switchMap(() => this.flService.loadByPage(this.parentfolder, 1, dialogType, pageSize))\r\n ).subscribe({\r\n next: () => this.zone.run(() => {\r\n this.completedAllSubject.next(Array.of(...this.errors));\r\n this.clear();\r\n })\r\n });\r\n }\r\n\r\n public clear = (): void => {\r\n this.parentfolder = null;\r\n this.filesUploadQueue.length = 0;\r\n this.errors.length = 0;\r\n }\r\n\r\n public showErrors = (): void => {\r\n this.onStartUploadSubject.next(0);\r\n this.completedAllSubject.next(Array.of(...this.errors));\r\n this.clear();\r\n }\r\n\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-uploader.component';\r\nexport * from './file-uploader.module';\r\nexport * from './fm-uploader.service';\r\n// end:ng42.barrel\r\n\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, ElementRef, NgZone, AfterViewInit, Self } from '@angular/core';\r\nimport { DragAndDropEvent, FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { fromEvent } from 'rxjs';\r\nimport { FmTreeService } from '../services/fm-tree.service';\r\nimport { map, filter, debounceTime, exhaustMap, tap, takeUntil } from 'rxjs/operators';\r\nimport { FOLDER_KEY_FOR_FILESONLYMODE, NewFilesListService } from './files-list.service';\r\nimport { FolderTreeNode } from '../../typescript-angular-client/model/folderTreeNode';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { TreeDragDropService, TreeNode } from 'primeng/api';\r\nimport { ContextMenu} from 'primeng/contextmenu';\r\nimport { IsMultiFileModel, IsSingleFileModel } from '../utils';\r\n\r\n@Component({\r\n selector: 'files-list',\r\n templateUrl: './files-list.html',\r\n styleUrls: ['files-list.scss'],\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class FilesListComponent implements OnInit, OnDestroy, AfterViewInit {\r\n public defaultImageSmall = '../assets/images/picItem.png';\r\n private _elements: FileModel[] = [];\r\n private _currentFolder: FolderTreeNode;\r\n private _dialogType: FileModel.FileTypeEnum;\r\n public draggedItem: FileModel | FileModel[] | TreeNode;\r\n\r\n @Input() set elements(value: FileModel[]) {\r\n this._elements = value;\r\n }\r\n\r\n get elements(): FileModel[] {\r\n return this._elements;\r\n }\r\n\r\n @Input('dialogType')\r\n set dialogType(value: FileModel.FileTypeEnum) {\r\n this._dialogType = value;\r\n }\r\n\r\n get dialogType(): FileModel.FileTypeEnum {\r\n return this._dialogType;\r\n }\r\n\r\n @Input('currentFolder')\r\n set currentFolder(value: FolderTreeNode) {\r\n this._currentFolder = value;\r\n }\r\n\r\n @Input() contextMenu: ContextMenu;\r\n @Input() isDataLoading: boolean;\r\n @Input() fileListPageSize: number;\r\n\r\n @Output() loadNext = new EventEmitter();\r\n @Output() refresh = new EventEmitter();\r\n @Output() search = new EventEmitter();\r\n @Output() isSeveralFilesSelected = new EventEmitter();\r\n @Output() itemContextMenuSelected = new EventEmitter();\r\n @Output() selectionChanged = new EventEmitter();\r\n\r\n @Output() ItemSelected = new EventEmitter();\r\n @Output() ItemUnselected = new EventEmitter();\r\n @Output() itemDropped = new EventEmitter();\r\n @Output() itemFromFolderThreeDropped = new EventEmitter();\r\n @Output() moveToFolder = new EventEmitter();\r\n\r\n @ViewChild('scrolledDiv', {static: false}) scrolledDiv: ElementRef;\r\n\r\n selection: FileModel[];\r\n folderDrag: FolderTreeNode;\r\n\r\n constructor(\r\n private fmService: FmTreeService,\r\n private ddService: TreeDragDropService,\r\n private flService: NewFilesListService,\r\n private zone: NgZone,\r\n @Self() private ngOnDestroy$: NgOnDestroyService) {\r\n }\r\n\r\n ngOnInit() {\r\n document.getElementById('inputSearch').focus();\r\n\r\n this.fmService.onStartDrag()\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe((items) => this.draggedItem = items);\r\n\r\n this.fmService.onStoptDrag()\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe(() => this.draggedItem = null);\r\n\r\n this.ddService.dragStart$.pipe(\r\n filter((source) => source.tree !== null),\r\n map((source) => source.node),\r\n takeUntil(this.ngOnDestroy$)\r\n ).subscribe((item) => this.draggedItem = item);\r\n\r\n this.ddService.dragStop$.pipe(\r\n filter((source) => source.tree !== null),\r\n takeUntil(this.ngOnDestroy$)\r\n ).subscribe(() => this.draggedItem = null);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.currentFolder = null;\r\n this.elements = null;\r\n this.draggedItem = null;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n fromEvent(this.scrolledDiv.nativeElement, 'scroll')\r\n // .pipe(tap(x => console.log('before filter')))\r\n .pipe(filter(() => this._currentFolder !== null && this._elements !== null))\r\n // .pipe(tap(x => console.log('after filter before map')))\r\n .pipe(map((d: UIEvent) => d.target))\r\n // .pipe(tap(x => console.log('after map before debounce')))\r\n .pipe(debounceTime(300))\r\n // .pipe(tap(x => console.log('after debounce before filter 2')))\r\n .pipe(filter((d: HTMLElement) => (d.offsetHeight + d.scrollTop) > (d.scrollHeight - 5)))\r\n // .pipe(tap(x => console.log('after filter 2 before filter 3')))\r\n .pipe(\r\n filter(() => {\r\n // console.log('this.elements.length: ', this.elements.length);\r\n const folderKey = this.flService.isFilesOnlyMode ? FOLDER_KEY_FOR_FILESONLYMODE : this._currentFolder.key;\r\n // console.log('this.flService.folderInfo[folderKey]: ', this.flService.folderInfo[folderKey]);\r\n return (this.elements.length < this.flService.folderInfo[folderKey]);\r\n }),\r\n // tap(x => console.log('after filter 3 before map')),\r\n map(() => Math.ceil(this.elements.length / this.fileListPageSize) + 1),\r\n // tap(x => console.log('after map before loadByPage')),\r\n tap(() => this.zone.run(() => {\r\n this.isDataLoading = true;\r\n })),\r\n exhaustMap((page) => {\r\n const folderKey = this.flService.isFilesOnlyMode ? FOLDER_KEY_FOR_FILESONLYMODE : this._currentFolder.key;\r\n return this.flService.loadByPage(folderKey, page, this.dialogType, this.fileListPageSize, (document.getElementById('inputSearch')).value);\r\n }),\r\n // tap(x => console.log('after map loadByPage')),\r\n takeUntil(this.ngOnDestroy$)\r\n )\r\n .subscribe({\r\n next: (r) => {\r\n this.zone.run(() => {\r\n this.elements = this.elements.concat(r.Files);\r\n this.isDataLoading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n public trackItemsBy(item): string {\r\n if (item == null) {\r\n return;\r\n }\r\n return item.Id;\r\n }\r\n\r\n public startSearch = ($event): void => this.search.emit($event);\r\n\r\n public onElementRightClick = (event: MouseEvent, model: FileModel): void => {\r\n if (this.contextMenu) {\r\n const index = this.findIndexInSelection(model);\r\n const selected = (index >= 0);\r\n\r\n if (!selected) {\r\n this.selectionChanged.emit([model]);\r\n }\r\n\r\n this.contextMenu.show(event);\r\n this.itemContextMenuSelected.emit({ original: event, model: model });\r\n }\r\n }\r\n\r\n public onDrop = (event: DragEvent): void => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (IsMultiFileModel(this.draggedItem)) {\r\n return;\r\n }\r\n\r\n if (IsSingleFileModel(this.draggedItem)) {\r\n const item = this.draggedItem as FileModel;\r\n if (!item.IsFolder || item.ParentFolderId === this._currentFolder.key) {\r\n return;\r\n }\r\n }\r\n\r\n const emitEntity: DragAndDropEvent = {\r\n originalEvent: event,\r\n draggedItem: this.draggedItem,\r\n droppedItem: this._currentFolder.data\r\n };\r\n\r\n if (this._currentFolder.key === '0') {\r\n emitEntity.droppedItem = this._currentFolder as FileModel;\r\n emitEntity.droppedItem.Id = '0';\r\n emitEntity.droppedItem.IsFolder = true;\r\n }\r\n\r\n this.itemDropped.emit(emitEntity);\r\n }\r\n\r\n public onElementClick = (event: MouseEvent, element: FileModel): void => {\r\n const index = this.findIndexInSelection(element);\r\n const selected = index >= 0;\r\n\r\n if (event.ctrlKey && this.dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n if (selected) {\r\n this.selection = this.selection.filter((v, i) => i !== index);\r\n this.ItemUnselected.emit(element);\r\n } else {\r\n this.selection = this.selection || [];\r\n this.selection = [...this.selection, element];\r\n this.ItemSelected.emit(element);\r\n }\r\n } else {\r\n if (selected) {\r\n this.selection = [];\r\n } else {\r\n this.selection = [];\r\n this.selection = [element];\r\n }\r\n }\r\n this.selectionChanged.emit(this.selection);\r\n\r\n }\r\n\r\n public onElementDoubleClick = (event: MouseEvent, model: FileModel): void => {\r\n if (model && model.IsFolder) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.moveToFolder.emit(model);\r\n }\r\n }\r\n\r\n isSelected = (node: FileModel) => this.findIndexInSelection(node) >= 0;\r\n\r\n private findIndexInSelection(node: FileModel): number {\r\n let index = -1;\r\n if (this.selection) {\r\n const models = this.selection;\r\n for (let i = 0; i < models.length; i++) {\r\n const selectedNode = models[i];\r\n const areNodesEqual = (selectedNode.Id && selectedNode.Id === node.Id);\r\n if (areNodesEqual) {\r\n index = i;\r\n break;\r\n }\r\n }\r\n }\r\n return index;\r\n }\r\n}\r\n","export default \".hover-scroll {\\n overflow: auto;\\n cursor: default; }\\n\\n.hover-scroll:hover {\\n overflow: auto; }\\n\\n.li_images {\\n float: left;\\n height: 94px;\\n margin: 0 0 18px 22px;\\n width: 94px;\\n list-style: none;\\n cursor: pointer; }\\n\\n.paging-loader {\\n background: url(/assets/common-lib/images/ajax-loadertimeline.gif);\\n background-repeat: no-repeat;\\n background-position: 50%;\\n width: 100%;\\n height: 15px;\\n background-color: transparent;\\n position: static; }\\n\\n.styled-scroll ::-webkit-scrollbar {\\n height: 10px;\\n overflow: visible;\\n width: 9px; }\\n\\n.styled-scroll ::-webkit-scrollbar-thumb {\\n background-color: rgba(0, 0, 0, 0.2);\\n background-clip: padding-box;\\n border: solid transparent;\\n border-width: 0;\\n min-height: 28px;\\n padding: 100px 0 0;\\n box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07); }\\n\\n.styled-scroll ::-webkit-scrollbar-button {\\n height: 0;\\n width: 0; }\\n\\n.styled-scroll::-webkit-scrollbar-track {\\n background-clip: padding-box;\\n border: solid transparent;\\n border-width: 0; }\\n\\n.styled-scroll ::-webkit-scrollbar-track-piece {\\n border-width: 0; }\\n\\n.styled-scroll ::-webkit-scrollbar-corner {\\n background-clip: padding-box;\\n background-color: #f5f5f5;\\n border: solid #fff;\\n border-width: 3px 0 0 3px;\\n box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.14);\\n background: transparent; }\\n\\n.styled-scroll ::-webkit-scrollbar-track:hover {\\n background-color: rgba(0, 0, 0, 0.05);\\n box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.1); }\\n\\n.styled-scroll ::-webkit-scrollbar-track:horizontal:hover {\\n box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1); }\\n\\n.styled-scroll ::-webkit-scrollbar-track:active {\\n background-color: rgba(0, 0, 0, 0.05);\\n box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.14), inset -1px 0 0 rgba(0, 0, 0, 0.07); }\\n\\n.styled-scroll ::-webkit-scrollbar-track:horizontal:active {\\n box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.14), inset 0 -1px 0 rgba(0, 0, 0, 0.07); }\\n\\n.styled-scroll ::-webkit-scrollbar-thumb:hover {\\n background-color: rgba(0, 0, 0, 0.4); }\\n\\n.styled-scroll ::-webkit-scrollbar-thumb:active {\\n background-color: rgba(0, 0, 0, 0.5); }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9maWxlLW1hbmFnZXIvZmlsZXMtbGlzdC9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxsaWJcXGZpbGUtbWFuYWdlclxcZmlsZXMtbGlzdFxcZmlsZXMtbGlzdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsY0FBYztFQUNkLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsV0FBVztFQUNYLGdCQUFnQjtFQUNoQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usa0VBQWtFO0VBQ2xFLDRCQUE0QjtFQUM1Qix3QkFBd0I7RUFDeEIsV0FBVztFQUNYLFlBQVk7RUFDWiw2QkFBNkI7RUFDN0IsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixVQUFVLEVBQUE7O0FBR1o7RUFDRSxvQ0FBbUM7RUFDbkMsNEJBQTRCO0VBQzVCLHlCQUF5QjtFQUN6QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixrRkFBZ0YsRUFBQTs7QUFHbEY7RUFDRSxTQUFTO0VBQ1QsUUFBUSxFQUFBOztBQUdWO0VBQ0UsNEJBQTRCO0VBQzVCLHlCQUF5QjtFQUN6QixlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLDRCQUE0QjtFQUM1Qix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLHlCQUF5QjtFQUN6QiwrQ0FBOEM7RUFDOUMsdUJBQXVCLEVBQUE7O0FBR3pCO0VBQ0UscUNBQW9DO0VBQ3BDLDRDQUEyQyxFQUFBOztBQUc3QztFQUNFLDRDQUEyQyxFQUFBOztBQUc3QztFQUNFLHFDQUFvQztFQUNwQyxpRkFBK0UsRUFBQTs7QUFHakY7RUFDRSxpRkFBK0UsRUFBQTs7QUFHakY7RUFDRSxvQ0FBbUMsRUFBQTs7QUFHckM7RUFDRSxvQ0FBb0MsRUFBQSIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvZmlsZS1tYW5hZ2VyL2ZpbGVzLWxpc3QvZmlsZXMtbGlzdC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhvdmVyLXNjcm9sbCB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4uaG92ZXItc2Nyb2xsOmhvdmVyIHtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLmxpX2ltYWdlcyB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgaGVpZ2h0OiA5NHB4O1xyXG4gIG1hcmdpbjogMCAwIDE4cHggMjJweDtcclxuICB3aWR0aDogOTRweDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnBhZ2luZy1sb2FkZXIge1xyXG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2FqYXgtbG9hZGVydGltZWxpbmUuZ2lmKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDE1cHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgcG9zaXRpb246IHN0YXRpYztcclxufVxyXG5cclxuLnN0eWxlZC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIHdpZHRoOiA5cHg7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjIpO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XHJcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgbWluLWhlaWdodDogMjhweDtcclxuICBwYWRkaW5nOiAxMDBweCAwIDA7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgLjEpLCBpbnNldCAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIC4wNyk7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcclxuICBoZWlnaHQ6IDA7XHJcbiAgd2lkdGg6IDA7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci13aWR0aDogMDtcclxufVxyXG5cclxuLnN0eWxlZC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSB7XHJcbiAgYm9yZGVyLXdpZHRoOiAwO1xyXG59XHJcblxyXG4uc3R5bGVkLXNjcm9sbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gIGJvcmRlcjogc29saWQgI2ZmZjtcclxuICBib3JkZXItd2lkdGg6IDNweCAwIDAgM3B4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIC4xNCk7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2s6aG92ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjA1KTtcclxuICBib3gtc2hhZG93OiBpbnNldCAxcHggMCAwIHJnYmEoMCwgMCwgMCwgLjEpO1xyXG59XHJcblxyXG4uc3R5bGVkLXNjcm9sbCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrOmhvcml6b250YWw6aG92ZXIge1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgwLCAwLCAwLCAuMSk7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2s6YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4wNSk7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDAgMCByZ2JhKDAsIDAsIDAsIC4xNCksIGluc2V0IC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgLjA3KTtcclxufVxyXG5cclxuLnN0eWxlZC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10cmFjazpob3Jpem9udGFsOmFjdGl2ZSB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDAsIDAsIDAsIC4xNCksIGluc2V0IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgLjA3KTtcclxufVxyXG5cclxuLnN0eWxlZC1zY3JvbGwgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNCk7XHJcbn1cclxuXHJcbi5zdHlsZWQtc2Nyb2xsIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6YWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbn1cclxuIl19 */\"","import { Injectable, NgZone } from '@angular/core';\r\nimport { BehaviorSubject, Observable, of, Subject, Subscription } from 'rxjs';\r\nimport { FileManagerTypeEnum, IGetFilesByFolderRequestDetails } from '../services/file-manager-api';\r\nimport { catchError, finalize, first, map, share, tap } from 'rxjs/operators';\r\nimport { FilesListApiService } from '../../typescript-angular-client/api/fileList/filesList.service';\r\nimport { FileManagerResults } from '../../typescript-angular-client/api/fileList/filesList.service.model';\r\nimport {\r\n DeleteEntityModel,\r\n FileModel,\r\n FolderTreeNode,\r\n MoveFilesModel\r\n} from '../../typescript-angular-client/model/models';\r\nimport { SelectedEntities } from '../models/selected-entities.model';\r\nimport { IFilesListService, IFolderInfo } from './files-list.service.model';\r\nimport { OrderByEnum, OrderDirectionEnum } from '../../file-manager/services/file-manager-api';\r\n\r\nexport const FOLDER_KEY_FOR_FILESONLYMODE = '-1';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NewFilesListService implements IFilesListService {\r\n public folderInfo: IFolderInfo = {};\r\n private fileSubject = new BehaviorSubject([]);\r\n private totalCount = new BehaviorSubject(0);\r\n private loadingSubject = new BehaviorSubject(false);\r\n private isFilesOnlyModeSubject = new BehaviorSubject(false);\r\n private subcriptions = new Subscription();\r\n private loadByfolderSubscription = new Subscription();\r\n private deletedFiles = new BehaviorSubject(false);\r\n private pageLoadingRequest: IGetFilesByFolderRequestDetails = {\r\n Count: 16,\r\n OrderBy: OrderByEnum.Name,\r\n OrderByDirection: OrderDirectionEnum.ASC,\r\n FileManagerType: 1,\r\n isCountChanged: false,\r\n searchCondition: '',\r\n Page: 0,\r\n folderId: '',\r\n SearchAllFolders: false,\r\n ExcludeFolders: false\r\n };\r\n\r\n get deletedFiles$(): Observable {\r\n return this.deletedFiles.asObservable().pipe(share());\r\n }\r\n\r\n get files$(): Observable {\r\n return this.fileSubject.asObservable().pipe(share());\r\n }\r\n\r\n get isLoading$(): Observable {\r\n return this.loadingSubject.asObservable().pipe(share());\r\n }\r\n\r\n get isFilesOnlyMode$(): Observable {\r\n return this.isFilesOnlyModeSubject.asObservable().pipe(share());\r\n }\r\n\r\n get isFilesOnlyMode(): boolean {\r\n return this.isFilesOnlyModeSubject.getValue();\r\n }\r\n\r\n constructor(private fileListApiService: FilesListApiService, private zone: NgZone) {}\r\n\r\n public setFilesOnlyMode = (isFileOnlyMode: boolean, currentFolderNode: FolderTreeNode, dialogType: FileModel.FileTypeEnum, pageSize: number) => {\r\n this.isFilesOnlyModeSubject.next(isFileOnlyMode);\r\n this.loadByFolder(currentFolderNode, dialogType, pageSize);\r\n }\r\n\r\n public loadByPage = (currentFolderKey: string, page: number, dialogType: FileModel.FileTypeEnum, pageSize: number, searchTerm: string = ''): Observable => {\r\n if (!currentFolderKey || page < 0) {\r\n return of({ Files: [] });\r\n }\r\n if (dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n this.pageLoadingRequest.FileManagerType = FileManagerTypeEnum.IMAGES;\r\n }\r\n if (dialogType === FileModel.FileTypeEnum.DOCUMENTS) {\r\n this.pageLoadingRequest.FileManagerType = FileManagerTypeEnum.DOCUMENTS;\r\n }\r\n this.pageLoadingRequest.SearchAllFolders = this.isFilesOnlyModeSubject.getValue();\r\n this.pageLoadingRequest.Count = pageSize;\r\n\r\n const data = Object.assign({}, this.pageLoadingRequest) as IGetFilesByFolderRequestDetails;\r\n data.folderId = currentFolderKey;\r\n data.Page = page;\r\n data.searchCondition = searchTerm;\r\n data.ExcludeFolders = true;\r\n\r\n return this.fileListApiService.getFiles(data)\r\n .pipe(tap((r) => this.folderInfo[currentFolderKey] = r.TotalCount));\r\n }\r\n\r\n public loadByFolder = (folder: FolderTreeNode, dialogType: FileModel.FileTypeEnum, pageSize: number): void => {\r\n const isFilesOnlyMode = this.isFilesOnlyModeSubject.getValue();\r\n if (!folder && !isFilesOnlyMode) {\r\n return;\r\n }\r\n if (dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n this.pageLoadingRequest.FileManagerType = FileManagerTypeEnum.IMAGES;\r\n }\r\n if (dialogType === FileModel.FileTypeEnum.DOCUMENTS) {\r\n this.pageLoadingRequest.FileManagerType = FileManagerTypeEnum.DOCUMENTS;\r\n }\r\n this.pageLoadingRequest.SearchAllFolders = isFilesOnlyMode;\r\n this.pageLoadingRequest.Count = pageSize;\r\n\r\n if (this.loadByfolderSubscription) {\r\n this.loadByfolderSubscription.unsubscribe();\r\n }\r\n this.fileSubject.next([]);\r\n this.loadingSubject.next(true);\r\n const data = Object.assign({}, this.pageLoadingRequest) as IGetFilesByFolderRequestDetails;\r\n data.folderId = isFilesOnlyMode ? null : folder.key;\r\n data.Page = 1;\r\n data.ExcludeFolders = isFilesOnlyMode;\r\n\r\n this.loadByfolderSubscription = this.fileListApiService.getFiles(data)\r\n .pipe(catchError(() => of({ Files: [], TotalCount: 0 })))\r\n .subscribe((res) => {\r\n this.zone.run(() => {\r\n const folderKey = isFilesOnlyMode ? FOLDER_KEY_FOR_FILESONLYMODE : folder.key;\r\n this.folderInfo[folderKey] = res.TotalCount;\r\n this.fileSubject.next(res.Files);\r\n this.totalCount.next(res.TotalCount);\r\n this.loadingSubject.next(false);\r\n });\r\n });\r\n }\r\n\r\n public deleteFiles = (files: FileModel[]): Observable => {\r\n if (!files || files.length <= 0) {\r\n return;\r\n }\r\n const response = this.fileListApiService.deleteEntities(files.map(file => {\r\n EntityId: file.Id,\r\n IsFolder: file.IsFolder\r\n }));\r\n response.pipe(first()).subscribe(() => this.deletedFiles.next(true));\r\n return response;\r\n }\r\n\r\n public updateFile = (file: FileModel, dialogType: FileModel.FileTypeEnum): Observable => {\r\n if (!file) {\r\n return;\r\n }\r\n return this.fileListApiService.updateFile({\r\n Id: file.Id,\r\n Name: file.Name,\r\n ParentFolderId: file.ParentFolderId\r\n }, dialogType);\r\n }\r\n\r\n public search = (searchTerm: string, folder: FolderTreeNode, dialogType: FileModel.FileTypeEnum, pageSize: number): void => {\r\n if (!searchTerm || searchTerm === '') {\r\n this.loadByFolder(folder, dialogType, pageSize);\r\n return;\r\n }\r\n\r\n this.pageLoadingRequest.Count = pageSize;\r\n\r\n this.fileSubject.next([]);\r\n this.loadingSubject.next(true);\r\n\r\n this.fileListApiService.getFiles({\r\n Count: pageSize,\r\n OrderBy: OrderByEnum.Name,\r\n OrderByDirection: OrderDirectionEnum.ASC,\r\n FileManagerType: dialogType as any,\r\n folderId: folder.key,\r\n isCountChanged: false,\r\n searchCondition: searchTerm,\r\n Page: 1,\r\n SearchAllFolders: true,\r\n ExcludeFolders: this.isFilesOnlyModeSubject.getValue()\r\n }).subscribe((res) => {\r\n this.zone.run(() => {\r\n this.fileSubject.next(res.Files);\r\n this.totalCount.next(res.TotalCount);\r\n this.loadingSubject.next(false);\r\n });\r\n });\r\n }\r\n\r\n public moveFiles = (dest: FileModel, source: FileModel[]): Observable => {\r\n if (!dest || !source || source.length <= 0) {\r\n return;\r\n }\r\n return this.fileListApiService.moveFiles({\r\n parentFolderId: dest.Id,\r\n fileIds: source.map(x => x.Id)\r\n });\r\n }\r\n\r\n public clear = (): void => {\r\n this.subcriptions.unsubscribe();\r\n this.fileSubject.next(null);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class FilesListService {\r\n public files: Array;\r\n public totalCount: number;\r\n public isLoading = true;\r\n public selectedEntities = new SelectedEntities();\r\n public selectedFolder: string;\r\n public nextPage = 0;\r\n public searchTerm = '';\r\n private onFileSelected$ = new BehaviorSubject(null);\r\n private onSeveralFilesSelected$ = new Subject();\r\n public isDirty = false;\r\n private currentFileManagerType: FileManagerTypeEnum = null;\r\n\r\n constructor(private fileListApiService: FilesListApiService) {}\r\n\r\n get onFileSelected(): Observable {\r\n return this.onFileSelected$.asObservable();\r\n }\r\n\r\n get onSeveralFilesSelected(): Observable {\r\n return this.onSeveralFilesSelected$.asObservable();\r\n }\r\n\r\n private getParams(): IGetFilesByFolderRequestDetails {\r\n return {\r\n Count: 16,\r\n OrderBy: OrderByEnum.Name,\r\n OrderByDirection: OrderDirectionEnum.ASC,\r\n Page: this.nextPage,\r\n FileManagerType: this.currentFileManagerType,\r\n searchCondition: this.searchTerm,\r\n folderId: this.selectedFolder || '0',\r\n isCountChanged: false,\r\n SearchAllFolders: false,\r\n ExcludeFolders: false\r\n };\r\n }\r\n\r\n private formatDate(d: Date): string {\r\n const mS = ['Jan', 'Feb', 'March', 'April', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];\r\n const month = mS[d.getMonth()];\r\n const day = d.getDate();\r\n const year = d.getFullYear();\r\n return month + ' ' + day + ', ' + year;\r\n }\r\n\r\n private setSelectedFile = (file: FileModel): void => {\r\n this.selectedEntities.AddSelectedFile(file);\r\n if (this.selectedEntities.selectedFiles.length === 1) {\r\n this.onFileSelected$.next(this.selectedEntities.selectedFiles[0]);\r\n }\r\n if (this.selectedEntities.selectedFiles.length === 0) {\r\n this.onFileSelected$.next(null);\r\n }\r\n this.onSeveralFilesSelected$.next(this.selectedEntities.selectedFiles.length > 1);\r\n }\r\n\r\n public getDate = (date: string): string => {\r\n const parsedDate = new Date(date);\r\n const jsDate = new Date(parsedDate);\r\n return this.formatDate(jsDate);\r\n }\r\n\r\n public refresh = (isSelectFirstImage = false, pageSize: number): void => {\r\n this.onSeveralFilesSelected$.next(false);\r\n this.onFileSelected$.next(null);\r\n this.selectedEntities = new SelectedEntities();\r\n this.nextPage = 0;\r\n if (this.files.length > 0) {\r\n this.files.splice(0, this.files.length);\r\n }\r\n this.getFilesList(isSelectFirstImage, pageSize);\r\n }\r\n\r\n private getFilesList = (isSelectFirstImage = false, pageSize: number): Observable => {\r\n const params = this.getParams();\r\n params.Count = pageSize;\r\n this.isLoading = true;\r\n return this.fileListApiService.getFiles(params)\r\n .pipe(tap((filesListData: FileManagerResults) => {\r\n const files = filesListData.Files;\r\n if (filesListData && files) { // Success\r\n if (files.length > 0 && isSelectFirstImage === true) {\r\n this.setSelectedFile(null);\r\n this.setSelectedFile(files[0]);\r\n }\r\n if (typeof this.totalCount === 'undefined') {\r\n this.totalCount = filesListData.TotalCount;\r\n }\r\n if (typeof this.files === 'undefined') {\r\n this.files = files;\r\n } else {\r\n this.files.push.apply(this.files, files);\r\n }\r\n }\r\n }),\r\n map(x => x.Files),\r\n finalize(() => this.isLoading = false));\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './files-list.component';\r\nexport * from './files-list.service';\r\n// end:ng42.barrel\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvZmlsZS1tYW5hZ2VyL2ZtLWZvbGRlcnMtdHJlZS9mbS1mb2xkZXJzLXRyZWUuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectionStrategy, OnDestroy, NgZone, ChangeDetectorRef, Self } from '@angular/core';\r\nimport { TreeNode, MenuItem } from 'primeng/api';\r\nimport { FolderTreeNode } from '../../typescript-angular-client/model/folderTreeNode';\r\nimport { DragAndDropEvent, FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { TreeViewService } from '../../typescript-angular-client/api/treeView.service';\r\nimport { finalize, map, filter, tap, switchMap, takeUntil, catchError } from 'rxjs/operators';\r\nimport { DialogService, IDialogHandle } from '../../dialogs/dialog.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs/base-dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { FmTreeService } from '../services/fm-tree.service';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { ErrorHandlingService } from '../../http/error-handling.service';\r\n\r\n@Component({\r\n selector: 'fm-folders-tree',\r\n templateUrl: './fm-folders-tree.component.html',\r\n styleUrls: ['./fm-folders-tree.component.scss'],\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class FmFoldersTreeComponent implements OnInit, OnDestroy {\r\n private selectedNode: FolderTreeNode;\r\n private currentSelectedNode: FolderTreeNode = null;\r\n private previosSelectedNode: FolderTreeNode;\r\n private expandedNodeList: string[];\r\n private subscriptions: Subscription[] = [];\r\n\r\n folderDrag: FolderTreeNode = null;\r\n draggedItem: FileModel | FileModel[] = null;\r\n loadedNodes: TreeNode[] = [];\r\n loading = false;\r\n menuItems: MenuItem[] = [\r\n {\r\n label: 'New',\r\n icon: 'pi pi-fw pi-plus',\r\n command: () => this.onAddNewFolder()\r\n },\r\n {\r\n label: 'Rename',\r\n icon: 'pi pi-fw pi-pencil',\r\n command: () => this.RenameFolderCommand(),\r\n },\r\n { label: 'Refresh', icon: 'pi pi-fw pi-refresh', command: () => this.RefreshCommand() },\r\n { label: 'Delete', icon: 'pi pi-fw pi-trash', command: () => this.DeleteFolderCommand() }\r\n ];\r\n\r\n @Input()\r\n dialogType = FileModel.FileTypeEnum.IMAGES;\r\n\r\n @Input() showLoader = false;\r\n\r\n @Output() nodeSelected = new EventEmitter(null);\r\n @Output() nodeToDrop = new EventEmitter();\r\n @Output() nodeToDrag = new EventEmitter(null);\r\n\r\n constructor(\r\n private treeViewService: TreeViewService,\r\n private dialogService: DialogService,\r\n private translate: TranslateService,\r\n private fmTreeService: FmTreeService,\r\n private zone: NgZone,\r\n private cd: ChangeDetectorRef,\r\n @Self() private ngOnDestroy$: NgOnDestroyService,\r\n private errHandler: ErrorHandlingService\r\n ) {\r\n this.treeViewService.defaultHeaders = this.treeViewService.defaultHeaders.set('api-version', '2.0');\r\n }\r\n\r\n ngOnInit() {\r\n this.tryGetAllFolders();\r\n\r\n this.fmTreeService.onStartDrag()\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe((items) => this.draggedItem = items);\r\n\r\n this.fmTreeService.onStoptDrag()\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe(() => this.draggedItem = null);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.forEach((s) => s.unsubscribe());\r\n this.subscriptions = [];\r\n this.folderDrag = null;\r\n this.loadedNodes = [];\r\n this.loading = false;\r\n this.SelectedNode = null;\r\n }\r\n\r\n public tryGetAllFolders = (oldNode: FolderTreeNode = null, expandPreviosTree = false): void => {\r\n this.loading = this.showLoader;\r\n if (expandPreviosTree) {\r\n this.expandedNodeList = this.getExpandedNode(this.loadedNodes[0], new Array());\r\n }\r\n this.treeViewService.treeViewGetAllFoldersV2(this.dialogType)\r\n .pipe(\r\n map((res: FolderTreeNode) => this.convertFolder(res)),\r\n catchError((err) => this.errHandler.handleError(err)),\r\n finalize(() => this.zone.run(() => {\r\n this.loading = false;\r\n this.cd.detectChanges();\r\n })),\r\n takeUntil(this.ngOnDestroy$))\r\n .subscribe((res: TreeNode) => {\r\n this.zone.run(() => {\r\n this.loadedNodes = [res];\r\n this.trySetPreviosSelectedNode(oldNode);\r\n });\r\n });\r\n }\r\n\r\n public getFolderParents = (nodeId: string): string[] => {\r\n const flatten = (children, extractChildren, level, parent) => Array.prototype.concat.apply(\r\n children.map(x => ({ ...x, level: level || 1, parent: parent || null })),\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren, (level || 1) + 1, x.key)));\r\n\r\n const flat = flatten(this.loadedNodes, x => x.children, 0, this.loadedNodes[0].key).map(x => delete x.children && x);\r\n\r\n let foundNode = flat.find(x => x.key === nodeId);\r\n\r\n const pathToNode = new Array();\r\n\r\n if (pathToNode == null) {\r\n return pathToNode;\r\n }\r\n\r\n pathToNode.push(foundNode);\r\n\r\n while (foundNode.key !== '0') {\r\n foundNode = flat.find(x => x.key === foundNode.parent);\r\n pathToNode.push(foundNode.key);\r\n }\r\n\r\n return pathToNode;\r\n }\r\n\r\n private trySetPreviosSelectedNode = (oldNode: FolderTreeNode): void => {\r\n this.loadedNodes[0].expanded = true;\r\n\r\n if (oldNode == null) {\r\n this.SelectedNode = this.loadedNodes[0];\r\n return;\r\n }\r\n\r\n const flatten = (children, extractChildren, level, parent) => Array.prototype.concat.apply(\r\n children.map(x => ({ ...x, level: level || 1, parent: parent || null })),\r\n children.map(x => flatten(extractChildren(x) || [], extractChildren, (level || 1) + 1, x.key)));\r\n\r\n const pathToNode = this.getFolderParents(oldNode.key);\r\n\r\n //item was deleted\r\n if (pathToNode.length === 0) {\r\n this.SelectedNode = this.loadedNodes[0];\r\n return;\r\n }\r\n\r\n const reversedArray = pathToNode.reverse();\r\n let expandAllArray = new Array();\r\n\r\n if (this.expandedNodeList.length > 0) {\r\n expandAllArray = reversedArray.concat(this.expandedNodeList.filter((item) => reversedArray.indexOf(item) < 0));\r\n } else {\r\n expandAllArray = reversedArray;\r\n }\r\n\r\n this.expandNodes(this.loadedNodes[0], expandAllArray);\r\n this.SelectedNode = oldNode;\r\n }\r\n\r\n public onNodeDrop = (\r\n event: DragEvent & { dropNode: FolderTreeNode; dragNode: FolderTreeNode; accept: () => void }\r\n ): void => {\r\n const dropNode = event.dropNode;\r\n\r\n if (this.draggedItem) {\r\n const droppedItem: FileModel = { IsFolder: true, Id: dropNode.key };\r\n const emitEntity: DragAndDropEvent = {\r\n originalEvent: event,\r\n isFolderTreeDrop: true,\r\n draggedItem: this.draggedItem,\r\n droppedItem: droppedItem\r\n };\r\n this.nodeToDrop.emit(emitEntity);\r\n return;\r\n }\r\n\r\n const dragNode = event.dragNode;\r\n const parenId = dropNode.key ? dropNode.key : '0';\r\n this.loading = true;\r\n const s = this.treeViewService.treeViewUpdateFolder({ id: dragNode.key, parentId: parenId, folderName: dragNode.label }, this.dialogType)\r\n .pipe(tap(() => event.accept()),\r\n finalize(() => this.loading = false))\r\n .subscribe({\r\n next: () => {\r\n dragNode.data.ParentFolderId = parenId;\r\n dragNode.parent = dropNode;\r\n },\r\n error: () => this.RefreshCommand()\r\n });\r\n this.subscriptions.push(s);\r\n }\r\n\r\n public nodeSelect = (e): void => {}\r\n\r\n public onDragStart = (event: DragEvent, node: FolderTreeNode): void => this.nodeToDrag.emit(node);\r\n\r\n get SelectedNode() {\r\n return this.selectedNode;\r\n }\r\n\r\n set SelectedNode(node: FolderTreeNode) {\r\n this.selectedNode = node;\r\n const castedUiNode = node as TreeNode;\r\n if (castedUiNode && !castedUiNode.expanded && castedUiNode.children) {\r\n castedUiNode.expanded = true;\r\n }\r\n\r\n this.nodeSelected.emit(node);\r\n }\r\n\r\n private convertFolder(folder: TreeNode) {\r\n folder.key = folder.key ? folder.key : '0';\r\n folder.draggable = true;\r\n folder.droppable = true;\r\n folder.expandedIcon = 'folder-icon';\r\n folder.collapsedIcon = 'folder-icon';\r\n folder.children.forEach((n) => this.convertFolder(n));\r\n return folder;\r\n }\r\n\r\n RefreshCommand() {\r\n this.previosSelectedNode = this.SelectedNode;\r\n this.expandedNodeList = this.getExpandedNode(this.loadedNodes[0], new Array());\r\n this.loadedNodes = [];\r\n this.SelectedNode = null;\r\n this.tryGetAllFolders(this.previosSelectedNode);\r\n }\r\n\r\n onAddNewFolder() {\r\n let folderName = this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.NEW_FOLDER_NAME');\r\n const dialogHandle: IDialogHandle = this.dialogService.input({\r\n header: this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.CREATE_NEW_FOLDER'),\r\n fieldName: this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.FOLDER_NAME'),\r\n fieldDefaultValue: folderName,\r\n okCaption: this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.CREATE'),\r\n cancelCaption: this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.CANCEL'),\r\n fieldValidationContext: {\r\n selectedFolderNode: this.selectedNode\r\n },\r\n fieldValidationCallback: (v) => {\r\n folderName = v;\r\n return this.folderNameValidation(v);\r\n }\r\n });\r\n\r\n const s = dialogHandle.onClose\r\n .pipe(\r\n filter((v: IDialogOnClose) => v.reason === DialogCloseReason.OK),\r\n switchMap(() => this.treeViewService.treeViewAddFolder({\r\n parentId: this.selectedNode.key ? this.selectedNode.key : '0',\r\n folderName: folderName.trim()\r\n }, this.dialogType)),\r\n tap(() => this.RefreshCommand()))\r\n .subscribe();\r\n this.subscriptions.push(s);\r\n }\r\n\r\n RenameFolderCommand() {\r\n if (!this.selectedNode.data || !this.selectedNode.data.ParentFolderId) {\r\n return;\r\n }\r\n let folderName = '';\r\n const dialogHandle: IDialogHandle = this.dialogService.input({\r\n fieldDefaultValue: this.selectedNode.label,\r\n header: this.translate.instant('COMMON.DIALOGS.RENAME_FOLDER.RENAME_FOLDER'),\r\n fieldName: this.translate.instant('COMMON.DIALOGS.RENAME_FOLDER.FOLDER_NAME'),\r\n okCaption: this.translate.instant('COMMON.DIALOGS.RENAME_FOLDER.RENAME'),\r\n cancelCaption: this.translate.instant('COMMON.DIALOGS.RENAME_FOLDER.CANCEL'),\r\n fieldValidationContext: {\r\n selectedFolderNode: this.selectedNode\r\n },\r\n fieldValidationCallback: (v, ctx) => {\r\n folderName = v;\r\n return this.folderNameValidation(v);\r\n }\r\n });\r\n\r\n const parentFolderId = this.selectedNode.data.ParentFolderId;\r\n const s = dialogHandle.onClose\r\n .pipe(\r\n filter((v: IDialogOnClose) => v.reason === DialogCloseReason.OK),\r\n switchMap(() => this.treeViewService.treeViewUpdateFolder(\r\n {\r\n id: this.selectedNode.key,\r\n parentId: parentFolderId,\r\n folderName: folderName.trim()\r\n }, this.dialogType)),\r\n tap(() => this.RefreshCommand()))\r\n .subscribe();\r\n this.subscriptions.push(s);\r\n }\r\n\r\n private DeleteFolderCommand() {\r\n if (this.SelectedNode) {\r\n const s = this.dialogService.confirm({\r\n header: this.translate.instant('COMMON.DIALOGS.DELETE_FOLDER.DELETE_FOLDER'),\r\n message: this.translate.instant('COMMON.DIALOGS.DELETE_FOLDER.MESSAGE'),\r\n okCaption: this.translate.instant('COMMON.DIALOGS.DELETE_FOLDER.DELETE'),\r\n cancelCaption: this.translate.instant('COMMON.DIALOGS.DELETE_FOLDER.CANCEL')\r\n })\r\n .onClose\r\n .pipe(\r\n filter((r: IDialogOnClose) => r.reason === DialogCloseReason.OK),\r\n switchMap(() => this.treeViewService.treeViewDeleteFolder(this.SelectedNode.key)))\r\n .subscribe({\r\n next: () => {\r\n this.SelectedNode = this.SelectedNode.parent;\r\n this.RefreshCommand();\r\n },\r\n error: () => {\r\n }\r\n });\r\n this.subscriptions.push(s);\r\n }\r\n }\r\n\r\n setItems() {\r\n //rename\r\n this.menuItems[1].disabled = this.selectedNode.key === '0';\r\n //delete\r\n this.menuItems[3].disabled = this.selectedNode.key === '0';\r\n }\r\n\r\n private expandNodes(node: TreeNode, nodeKeyList: string[]) {\r\n node.expanded = true;\r\n if (node.children) {\r\n for (let i = 0; i < node.children.length; i++) {\r\n if (nodeKeyList.includes(node.children[i].key)) {\r\n this.expandNodes(node.children[i], nodeKeyList.filter(k => k !== node.children[i].key));\r\n }\r\n }\r\n }\r\n }\r\n\r\n private getExpandedNode(node: TreeNode, selectedNodeList: string[]): string[] {\r\n if (node && node.expanded) {\r\n selectedNodeList.push(node.key);\r\n if (node.children) {\r\n node.children.forEach(n => this.getExpandedNode(n, selectedNodeList));\r\n }\r\n }\r\n\r\n return selectedNodeList;\r\n }\r\n \r\n private findTreeNode(currentNode: FolderTreeNode) {\r\n if (currentNode.key === this.selectedNode.key) {\r\n this.currentSelectedNode = currentNode;\r\n return;\r\n }\r\n\r\n for (const node of currentNode.children) {\r\n if (node.key === this.selectedNode.key) {\r\n this.currentSelectedNode = node;\r\n break;\r\n } else {\r\n this.findTreeNode(node);\r\n }\r\n }\r\n }\r\n\r\n private folderNameValidation(newFolderName: string) {\r\n // trim it to prevent spaces in the beginning and the end to differentiate the folder name.\r\n newFolderName = newFolderName.trim();\r\n\r\n if (newFolderName.length < 3 || newFolderName.length > 255) {\r\n return this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.NAME_LENGTH_VALIDATION');\r\n }\r\n\r\n for (const node of this.loadedNodes) {\r\n this.findTreeNode(node);\r\n if (this.currentSelectedNode !== null) {\r\n break;\r\n }\r\n }\r\n\r\n if (this.currentSelectedNode && this.currentSelectedNode.children) {\r\n const isExists =\r\n this.currentSelectedNode.children.find(i => i.label.toLowerCase() === newFolderName.toLowerCase()) != null;\r\n if (isExists) {\r\n this.currentSelectedNode = null;\r\n return this.translate.instant('COMMON.DIALOGS.CREATE_NEW_FOLDER.FOLDER_ALREADY_EXISTS_VALIDATION'); // FOLDER_ALREADY_EXISTS_VALIDATION\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './fm-folders-tree.component';\r\n// end:ng42.barrel\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { ImageSyncApiService } from '../../typescript-angular-client/api/imageSync.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImageSyncService {\r\n constructor(\r\n private imageSyncService: ImageSyncApiService,\r\n private accountService: AccountService\r\n ) { }\r\n\r\n public syncImages(email: string) {\r\n return this.imageSyncService.syncImages(this.accountService.accountKey, email)\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-manager.module';\r\nexport * from './file-item/index';\r\nexport * from './file-search/index';\r\nexport * from './file-uploader/index';\r\nexport * from './files-list/index';\r\nexport * from './fm-folders-tree/index';\r\nexport * from './manager-command/index';\r\nexport * from './manager-content/index';\r\nexport * from './manager-dialog/index';\r\nexport * from './models/index';\r\nexport * from './pipes/index';\r\nexport * from './file-preview/index';\r\nexport * from './quota/index';\r\nexport * from './services/index';\r\nexport * from './upload-progress/index';\r\nexport * from './utils';\r\n// end:ng42.barrel\r\n\r\n","import { Component, EventEmitter, Input, Output, Self } from '@angular/core';\r\nimport { FolderTreeNode } from '../../typescript-angular-client/model/folderTreeNode';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { NewFilesListService } from '../files-list/files-list.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\n\r\n@Component({\r\n selector: 'file-manager-command',\r\n templateUrl: './file-manager-command.html',\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class FileManagerCommandComponent {\r\n @Output() addFolderAction = new EventEmitter();\r\n @Output() renameItemAction = new EventEmitter();\r\n @Output() deleteItemAction = new EventEmitter();\r\n @Output() syncImagesAction = new EventEmitter();\r\n public currentNode: FolderTreeNode;\r\n\r\n @Input() dialogType: FileModel.FileTypeEnum;\r\n @Input() showExportButton: boolean;\r\n\r\n @Input()\r\n set currentFolder(value: FolderTreeNode) {\r\n this.currentNode = value;\r\n this.addNewFolderButtonDisabled = (value === null) || this.filesOnlyMode;\r\n this.renamedButtonDisabled = true;\r\n this.deleteButtonDisabled = true;\r\n }\r\n\r\n @Input()\r\n set selectedItemsInList(value: Array) {\r\n this.addNewFolderButtonDisabled = this.currentNode === null || this.filesOnlyMode;\r\n this.deleteButtonDisabled = !value || value.length === 0;\r\n this.renamedButtonDisabled = !value || value.length !== 1;\r\n }\r\n\r\n public deleteButtonDisabled: boolean;\r\n public renamedButtonDisabled: boolean;\r\n public addNewFolderButtonDisabled: boolean;\r\n public filesOnlyMode: boolean;\r\n\r\n constructor(\r\n newFilesListService: NewFilesListService,\r\n @Self() private ngOnDestroy$: NgOnDestroyService\r\n ) {\r\n this.addNewFolderButtonDisabled = this.renamedButtonDisabled = this.deleteButtonDisabled = true;\r\n newFilesListService.isFilesOnlyMode$\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe((filesOnlyMode) => {\r\n this.filesOnlyMode = filesOnlyMode;\r\n this.addNewFolderButtonDisabled = (this.currentNode === null) || this.filesOnlyMode;\r\n });\r\n }\r\n\r\n public onAddFolderClicked = (): void => this.addFolderAction.emit();\r\n\r\n public onRenameListItemClicked = () => this.renameItemAction.emit();\r\n\r\n public onDeleteListItemClicked = () => this.deleteItemAction.emit();\r\n\r\n public onSyncImagesClicked = () => this.syncImagesAction.emit();\r\n \r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-manager-command.component';\r\n// end:ng42.barrel\r\n\r\n","import { MenuItem, TreeNode } from 'primeng/api';\r\nimport { Observable } from 'rxjs';\r\nimport { filter, finalize, share, switchMap, takeUntil, tap } from 'rxjs/operators';\r\n\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, OnInit, Output, Self, ViewChild } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { SpinnerService } from '../../components/spinner/spinner.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs/base-dialog';\r\nimport { DialogService } from '../../dialogs/dialog.service';\r\nimport { FileDeleteAlertComponent } from '../../dialogs/file-delete-alert/file-delete-alert.component';\r\nimport { RPC } from '../../frame-rpc';\r\nimport { IFileBase } from '../../interfaces/files.interface';\r\nimport { TreeViewService } from '../../typescript-angular-client/api/treeView.service';\r\nimport { FolderTreeNode } from '../../typescript-angular-client/model/folderTreeNode';\r\nimport { DragAndDropEvent, FileModel } from '../../typescript-angular-client/model/models';\r\nimport { FmUploaderService } from '../file-uploader/fm-uploader.service';\r\nimport { FilesListComponent } from '../files-list/files-list.component';\r\nimport { FilesListService, NewFilesListService } from '../files-list/files-list.service';\r\nimport { FmFoldersTreeComponent } from '../fm-folders-tree/fm-folders-tree.component';\r\nimport { ImageSyncService } from '../image-sync/image-sync.service';\r\nimport { ProgressBarData } from '../models/progress-bar-data.model';\r\nimport { FileManagerTypeEnum } from '../services/file-manager-api';\r\nimport { FmTreeService } from '../services/fm-tree.service';\r\nimport { ImageFileEditorService } from '../services/image-file-editor.service';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { IsSingleFileModel, IsTreeNode } from '../utils';\r\nimport { matchNode } from './match-node/match-node';\r\n\r\nexport interface IChangedFiles {\r\n deletedFiles: Array;\r\n replacedFiles: Array;\r\n}\r\n\r\nenum SearchMode {\r\n Folders,\r\n Library,\r\n}\r\n\r\n@Component({\r\n selector: 'file-manager-dialog-content',\r\n viewProviders: [],\r\n templateUrl: './file-manager-dialog-content.html',\r\n providers: [NgOnDestroyService],\r\n changeDetection: ChangeDetectionStrategy.Default\r\n})\r\nexport class FileManagerDialogContentComponent implements OnInit, OnDestroy {\r\n @Output() selectedFileChanged = new EventEmitter();\r\n @Output() selectedFolderChanged = new EventEmitter();\r\n @Output() severalFilesSelected = new EventEmitter();\r\n @Output() changedFilesUpdated = new EventEmitter();\r\n @Output() progressBarDataEmit = new EventEmitter();\r\n @Input() dialogType: FileModel.FileTypeEnum;\r\n @Input() maxFileSize = Math.pow(1024, 2) * 2;\r\n @Input() enableImageEditing = true;\r\n @Input() fileListPageSize?: number;\r\n @Input() previewFileNameMaxLength?: number;\r\n @Input() previewImgMaxHeight?: number;\r\n @Input() previewImgMaxWidth?: number;\r\n @Input() showUploaderBelowList?: boolean;\r\n @Input() showExportButton: boolean;\r\n\r\n @ViewChild('fL', { static: false }) fList: FilesListComponent;\r\n @ViewChild('fmTree', { static: false }) fTree: FmFoldersTreeComponent;\r\n\r\n SearchMode = SearchMode;\r\n\r\n readonly imageDialogType = FileModel.FileTypeEnum.IMAGES;\r\n public progressBarData: ProgressBarData = {\r\n width: 20,\r\n status: false,\r\n numberFiles: 0,\r\n currentFileIndex: 0,\r\n };\r\n private rpc: RPC;\r\n public FileManagerTypeEnum = FileManagerTypeEnum;\r\n public changedFiles: IChangedFiles = { deletedFiles: [], replacedFiles: [] };\r\n public currentFolder: string;\r\n public selectedFiles: FileModel[];\r\n public email: string;\r\n public menuItems: MenuItem[] = [\r\n {\r\n label: 'Rename',\r\n icon: 'pi pi-fw pi-pencil',\r\n command: () => this.onRenameItem(),\r\n },\r\n {\r\n label: 'Delete',\r\n icon: 'pi pi-fw pi-trash',\r\n command: () => this.onDeleteItem(),\r\n },\r\n ];\r\n\r\n constructor(\r\n public treeViewService: TreeViewService,\r\n public filesListService: FilesListService,\r\n private fmTreeService: FmTreeService,\r\n private flService: NewFilesListService,\r\n private imageFileEditorService: ImageFileEditorService,\r\n private spinnerService: SpinnerService,\r\n private dialogService: DialogService,\r\n private translate: TranslateService,\r\n private uploaderService: FmUploaderService,\r\n private imageSyncService: ImageSyncService,\r\n @Self() private ngOnDestroy$: NgOnDestroyService\r\n ) {\r\n if (this.fileListPageSize == null) {\r\n this.fileListPageSize = 16;\r\n }\r\n if (this.showUploaderBelowList == null) {\r\n this.showUploaderBelowList = false;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.uploaderService.completedAll$\r\n .pipe(takeUntil(this.ngOnDestroy$))\r\n .subscribe(() => this.refreshList());\r\n this.setUpCommunicationWithHostPage();\r\n }\r\n\r\n private setUpCommunicationWithHostPage(): void {\r\n this.rpc = new RPC(window, window.parent, '*', {});\r\n this.selectedFileChanged.subscribe((event) =>\r\n this.rpc.call('onSelectedFileChanged', event)\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.flService.clear();\r\n }\r\n\r\n get folders(): Observable {\r\n return this.fmTreeService.fileLoaded;\r\n }\r\n\r\n get files(): Observable {\r\n return this.flService.files$;\r\n }\r\n\r\n get isFileOnlyMode(): Observable {\r\n return this.flService.isFilesOnlyMode$;\r\n }\r\n\r\n get loadingFiles(): Observable {\r\n return this.flService.isLoading$;\r\n }\r\n\r\n get isMultiSelected(): boolean {\r\n if (!this.selectedFiles) {\r\n return true;\r\n }\r\n return this.selectedFiles.length > 1;\r\n }\r\n\r\n get isFolderSelected(): boolean {\r\n if (!this.selectedFiles) {\r\n return true;\r\n }\r\n return this.isMultiSelected || this.selectedFiles.some((v) => v.IsFolder);\r\n }\r\n\r\n get currentFolderForUpload(): string {\r\n if (this.flService.isFilesOnlyMode) {\r\n return '0';\r\n } else {\r\n return this.fTree && this.fTree.SelectedNode\r\n ? this.fTree.SelectedNode.key\r\n : undefined;\r\n }\r\n }\r\n\r\n public searchModeSelectButtonOnChangeEvent(\r\n event: unknown,\r\n searchMode: SearchMode\r\n ): void {\r\n const treeNodeToPass =\r\n searchMode === SearchMode.Folders ? this.fTree.SelectedNode : null;\r\n // const treeNodeToPass = this.fTree.SelectedNode;\r\n this.flService.setFilesOnlyMode(\r\n searchMode === SearchMode.Library,\r\n treeNodeToPass,\r\n this.dialogType,\r\n this.fileListPageSize\r\n );\r\n }\r\n\r\n public sendProgressBarData(data: ProgressBarData): void {\r\n this.progressBarDataEmit.emit(data || this.progressBarData);\r\n }\r\n\r\n public folderSelected(folder: FolderTreeNode): void {\r\n this.selectedFiles = null;\r\n this.fList.selection = null;\r\n this.selectedFileChanged.emit(null);\r\n\r\n if (folder !== null) {\r\n this.flService.loadByFolder(\r\n folder,\r\n this.dialogType,\r\n this.fileListPageSize\r\n );\r\n }\r\n }\r\n\r\n public folderDragStarted(folder: FolderTreeNode): void {\r\n this.fTree.folderDrag = folder;\r\n }\r\n\r\n public onFileSelected(event): void {\r\n this.selectedFiles = event;\r\n if (!this.isMultiSelected) {\r\n const file = this.selectedFiles[0];\r\n if (file && file.IsFolder) {\r\n this.selectedFileChanged.emit(null);\r\n return;\r\n }\r\n this.selectedFileChanged.emit(file);\r\n } else {\r\n this.selectedFileChanged.emit(null);\r\n }\r\n }\r\n\r\n public onDeleteItem(): void {\r\n this.dialogService\r\n .createDialog(FileDeleteAlertComponent, {\r\n itemsCount: this.selectedFiles.length,\r\n isJustFolder:\r\n this.selectedFiles.length === 1 && this.selectedFiles[0].IsFolder,\r\n dialogType: this.dialogType,\r\n })\r\n .onClose.pipe(\r\n filter((r: IDialogOnClose) => r.reason === DialogCloseReason.OK),\r\n tap(() => this.spinnerService.show()),\r\n switchMap(() => this.flService.deleteFiles(this.selectedFiles))\r\n )\r\n .subscribe({\r\n next: (result: string[]) => {\r\n this.spinnerService.hide();\r\n this.fList.selection = null;\r\n this.fList.elements = this.fList.elements.filter(\r\n (x) => !result.some((r) => r === x.Id)\r\n );\r\n this.changedFiles.deletedFiles.splice(\r\n 0,\r\n this.changedFiles.deletedFiles.length,\r\n ...result.map((s) => { id: s })\r\n );\r\n this.changedFilesUpdated.emit(this.changedFiles);\r\n this.fTree.RefreshCommand();\r\n },\r\n error: () => this.spinnerService.hide(),\r\n });\r\n }\r\n\r\n public onRenameItem(): void {\r\n const isFolder = this.selectedFiles[0].IsFolder;\r\n let fileName = '';\r\n\r\n const dialogHandle = this.dialogService.input({\r\n fieldDefaultValue: this.selectedFiles[0].Name,\r\n header: this.translate.instant(\r\n isFolder\r\n ? 'COMMON.DIALOGS.RENAME_FOLDER.RENAME_FOLDER'\r\n : 'COMMON.DIALOGS.RENAME_FILE.RENAME_FILE'\r\n ),\r\n fieldName: this.translate.instant(\r\n isFolder\r\n ? 'COMMON.DIALOGS.RENAME_FOLDER.FOLDER_NAME'\r\n : 'COMMON.DIALOGS.RENAME_FILE.FILE_NAME'\r\n ),\r\n okCaption: this.translate.instant(\r\n isFolder\r\n ? 'COMMON.DIALOGS.RENAME_FOLDER.RENAME'\r\n : 'COMMON.DIALOGS.RENAME_FILE.RENAME'\r\n ),\r\n cancelCaption: this.translate.instant(\r\n 'COMMON.DIALOGS.RENAME_FOLDER.CANCEL'\r\n ),\r\n fieldValidationContext: { selectedFile: this.selectedFiles[0] },\r\n fieldValidationCallback: (v) => {\r\n fileName = v;\r\n return this.fileNameValidation(v);\r\n },\r\n });\r\n\r\n dialogHandle.onClose\r\n .pipe(\r\n filter((response) => response.reason === DialogCloseReason.OK),\r\n tap(() => this.spinnerService.show()),\r\n switchMap(() => {\r\n if (isFolder) {\r\n return this.treeViewService.treeViewUpdateFolder(\r\n {\r\n folderName: fileName,\r\n id: this.selectedFiles[0].Id,\r\n parentId: this.selectedFiles[0].ParentFolderId,\r\n },\r\n this.dialogType\r\n );\r\n } else {\r\n return this.flService.updateFile(\r\n {\r\n Name: fileName,\r\n Id: this.selectedFiles[0].Id,\r\n ParentFolderId: this.selectedFiles[0].ParentFolderId,\r\n },\r\n this.dialogType\r\n );\r\n }\r\n }),\r\n finalize(() => this.spinnerService.hide())\r\n )\r\n .subscribe(() => {\r\n this.selectedFiles[0].Name = fileName;\r\n if (isFolder) {\r\n this.fTree.RefreshCommand();\r\n }\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n public onSyncImages(): void {\r\n let email = 'Please enter an email address.';\r\n\r\n const dialogHandle = this.dialogService.input({\r\n header: this.translate.instant('COMMON.DIALOGS.SYNC_IMAGES.SYNC_IMAGES'),\r\n body: this.translate.instant('COMMON.DIALOGS.SYNC_IMAGES.DESCRIPTION'),\r\n fieldName: this.translate.instant(\r\n 'COMMON.DIALOGS.SYNC_IMAGES.EMAIL_NOTIFICATION'\r\n ),\r\n fieldPlaceHolder: this.translate.instant(\r\n 'COMMON.DIALOGS.SYNC_IMAGES.PLACEHOLDER'\r\n ),\r\n okCaption: this.translate.instant('COMMON.DIALOGS.SYNC_IMAGES.SYNC'),\r\n cancelCaption: this.translate.instant(\r\n 'COMMON.DIALOGS.SYNC_IMAGES.CANCEL'\r\n ),\r\n fieldValidationContext: { email: this.email },\r\n fieldValidationCallback: (v) => {\r\n email = v;\r\n return this.emailValidation(v);\r\n },\r\n });\r\n\r\n dialogHandle.onClose\r\n .pipe(\r\n filter((r: IDialogOnClose) => r.reason === DialogCloseReason.OK),\r\n switchMap(() => this.imageSyncService.syncImages(email))\r\n )\r\n .subscribe();\r\n }\r\n\r\n private fileNameValidation(newName: string): string {\r\n const isFolder = this.selectedFiles[0].IsFolder;\r\n newName = newName.trim();\r\n\r\n if ((isFolder && newName.length < 3) || newName.length > 255) {\r\n return this.translate.instant(\r\n 'COMMON.DIALOGS.CREATE_NEW_FOLDER.NAME_LENGTH_VALIDATION'\r\n );\r\n }\r\n\r\n if ((!isFolder && newName.length < 5) || newName.length > 255) {\r\n return this.translate.instant(\r\n 'COMMON.DIALOGS.RENAME_FILE.NAME_LENGTH_VALIDATION'\r\n );\r\n }\r\n\r\n if (this.fList.elements.filter((x) => x.Name === newName).length > 0) {\r\n return this.translate.instant(\r\n 'COMMON.DIALOGS.' +\r\n (isFolder\r\n ? 'RENAME_FOLDER.FOLDER_ALREADY_EXISTS_VALIDATION'\r\n : 'RENAME_FILE.FILE_ALREADY_EXISTS_VALIDATION')\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private emailValidation(email: string): string {\r\n if (!email) {\r\n return this.translate.instant(\r\n 'COMMON.DIALOGS.SYNC_IMAGES.EMAIL_VALIDATION'\r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public refreshList(): void {\r\n this.folderSelected(this.fTree.SelectedNode);\r\n }\r\n\r\n public fileListContextMenuSelected(): void {\r\n this.menuItems[0].disabled = this.isMultiSelected;\r\n }\r\n\r\n public startSearch(event: string): void {\r\n this.fList.selection = null;\r\n this.flService.search(\r\n event,\r\n this.fTree.SelectedNode,\r\n this.dialogType,\r\n this.fileListPageSize\r\n );\r\n }\r\n\r\n public fileDropped(event: any): void {\r\n if (!event.draggedItem) {\r\n return;\r\n }\r\n\r\n let droppedItem: FileModel;\r\n\r\n if (IsSingleFileModel(event.droppedItem)) {\r\n droppedItem = event.droppedItem as FileModel;\r\n if (!droppedItem || !droppedItem.IsFolder) {\r\n return;\r\n }\r\n }\r\n\r\n const dragged = IsTreeNode(event.draggedItem)\r\n ? [(event.draggedItem as TreeNode).data as FileModel]\r\n : this.selectedFiles || [event.draggedItem];\r\n\r\n if (\r\n dragged.some((value) => value.IsFolder && value.Id === droppedItem.Id)\r\n ) {\r\n if (event.isFolderTreeDrop) {\r\n this.fTree.tryGetAllFolders(this.fTree.SelectedNode, true);\r\n }\r\n return;\r\n }\r\n\r\n // trying to move parent into it's children will lead to cycle reference\r\n if (droppedItem.IsFolder) {\r\n const droppedParents = this.fTree.getFolderParents(droppedItem.Id);\r\n if (\r\n droppedParents.length > 0 &&\r\n dragged.some(\r\n (value) => value.IsFolder && droppedParents.indexOf(value.Id) > -1\r\n )\r\n ) {\r\n if (event.isFolderTreeDrop) {\r\n this.fTree.tryGetAllFolders(this.fTree.SelectedNode, true);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n if (event.isFolderTreeDrop) {\r\n if (\r\n dragged.some(\r\n (draggedValue) =>\r\n draggedValue.IsFolder &&\r\n draggedValue.ParentFolderId === droppedItem.Id\r\n )\r\n ) {\r\n this.fTree.tryGetAllFolders(this.fTree.SelectedNode, true);\r\n return;\r\n }\r\n } else {\r\n if (\r\n dragged[0].Id === droppedItem.Id ||\r\n this.fList.elements.some(\r\n (value) =>\r\n dragged[0].ParentFolderId === droppedItem.Id ||\r\n (dragged[0].Id === value.Id &&\r\n !(\r\n droppedItem.IsFolder &&\r\n droppedItem.Id !== dragged[0].id &&\r\n droppedItem.Id !== dragged[0].ParentFolderId\r\n ))\r\n )\r\n ) {\r\n return;\r\n }\r\n }\r\n\r\n this.spinnerService.show();\r\n this.flService\r\n .moveFiles(droppedItem, dragged)\r\n .pipe(\r\n finalize(() => {\r\n this.fTree.tryGetAllFolders(this.fTree.SelectedNode, true);\r\n this.spinnerService.hide();\r\n })\r\n )\r\n .subscribe(() => {\r\n this.selectedFiles = null;\r\n this.fList.elements = [];\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n public folderFromThreeDropped(event: DragAndDropEvent): void {\r\n this.spinnerService.show();\r\n let droppedFolderId = this.fTree.SelectedNode.key;\r\n const droppedItem = event.droppedItem as FileModel;\r\n\r\n if (droppedItem) {\r\n droppedFolderId = droppedItem.Id;\r\n }\r\n\r\n this.treeViewService\r\n .treeViewUpdateFolder({\r\n id: this.fTree.folderDrag.key,\r\n parentId: droppedFolderId,\r\n folderName: this.fTree.folderDrag.label,\r\n })\r\n .subscribe(() => {\r\n this.fTree.RefreshCommand();\r\n this.spinnerService.hide();\r\n });\r\n }\r\n\r\n public handleFilesUploaded(): void {\r\n this.filesListService.searchTerm = '';\r\n this.filesListService.refresh(false, this.fileListPageSize);\r\n }\r\n\r\n public onNewFileAdded(): void {\r\n this.filesListService.searchTerm = '';\r\n this.filesListService.refresh(true, this.fileListPageSize);\r\n }\r\n\r\n public onEditImage(event: unknown): void {\r\n if (this.isMultiSelected || this.isFolderSelected) {\r\n return;\r\n }\r\n const selectedFile = this.selectedFiles[0];\r\n this.imageFileEditorService\r\n .editImage({\r\n contentType: selectedFile.ContentType,\r\n height: selectedFile.Height,\r\n id: selectedFile.Id,\r\n name: selectedFile.Name,\r\n parentFolderId: selectedFile.ParentFolderId,\r\n size: selectedFile.Size,\r\n src: selectedFile.Link,\r\n uploadDate: selectedFile.CreatedOn.toString(),\r\n width: selectedFile.Width,\r\n })\r\n .pipe(\r\n share(),\r\n finalize(() => this.spinnerService.hide())\r\n )\r\n .subscribe((result) => {\r\n const model: FileModel = {\r\n ContentType: result.contentType,\r\n Id: result.id,\r\n CreatedOn: new Date(result.uploadDate),\r\n IsFolder: false,\r\n Height: result.height,\r\n Width: result.width,\r\n Link: result.src,\r\n Size: result.size,\r\n Name: result.name,\r\n ParentFolderId: result.parentFolderId,\r\n };\r\n this.fList.elements.push(model);\r\n this.fList.selection = [model];\r\n this.spinnerService.hide();\r\n this.selectedFileChanged.emit(model);\r\n });\r\n }\r\n\r\n public selectFolder(event: FileModel): void {\r\n const node = matchNode(event.Id, this.fTree.SelectedNode);\r\n if (!node) {\r\n return;\r\n }\r\n (this.fTree.SelectedNode as TreeNode).expanded = true;\r\n this.fList.elements.length = 0;\r\n this.fTree.SelectedNode = node;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-manager-dialog-content.component';\r\n// end:ng42.barrel\r\n\r\n","import { FolderTreeNode } from '../../../typescript-angular-client/model/folderTreeNode';\r\n\r\nexport const matchNode = (id: string, folder: FolderTreeNode): FolderTreeNode => {\r\n let node : FolderTreeNode;\r\n folder.children.forEach(child => {\r\n if (child.key === id) {\r\n node = child;\r\n };\r\n if (!node) {\r\n node = matchNode(id, child);\r\n };\r\n });\r\n return node;\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { DialogBase, DialogCloseReason } from '../../dialogs/base-dialog';\r\nimport { IImageFile } from '../../interfaces/files.interface';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\nimport { IChangedFiles } from '../manager-content/file-manager-dialog-content.component';\r\nimport {\r\n IImageManagerDialogConfig, TImageManagerDialogCancelEvent, TImageManagerDialogOKEvent\r\n} from './image-manager-dialog.model';\r\n\r\n@Component({\r\n selector: 'image-manager-dialog',\r\n viewProviders: [],\r\n templateUrl: './image-manager-dialog.html',\r\n})\r\nexport class ImageManagerDialogComponent extends DialogBase {\r\n private selectedFile: FileModel;\r\n private changedFiles: IChangedFiles;\r\n public dialogType = FileModel.FileTypeEnum.IMAGES;\r\n public maxFileSize = Math.pow(1024, 2) * 2;\r\n public enableImageEditing = true;\r\n public customTitleText: string;\r\n public showExportButton: boolean = true;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public onSelectedFileChanged = (newlySelectedFile: FileModel): void => {\r\n this.selectedFile = newlySelectedFile;\r\n };\r\n\r\n public onChangedFilesUpdated = (changedFiles: IChangedFiles): void => {\r\n this.changedFiles = changedFiles;\r\n };\r\n\r\n public onCancel = (): void => {\r\n const cancelEvent: TImageManagerDialogCancelEvent = {\r\n reason: DialogCloseReason.CANCEL,\r\n data: { changedFiles: this.changedFiles },\r\n };\r\n super.close(cancelEvent);\r\n };\r\n\r\n public initDialog = (): void => {\r\n const dialogConfig = this.extraData as IImageManagerDialogConfig;\r\n if (dialogConfig !== undefined) {\r\n this.enableImageEditing = dialogConfig.enableImageEditing;\r\n\r\n if (dialogConfig.dialogType) {\r\n this.dialogType = dialogConfig.dialogType;\r\n }\r\n\r\n if (dialogConfig.customTitleText) {\r\n this.customTitleText = dialogConfig.customTitleText;\r\n }\r\n\r\n if (dialogConfig.maxFileSize) {\r\n this.maxFileSize = dialogConfig.maxFileSize;\r\n }\r\n\r\n if (dialogConfig.showExportButton !== undefined) {\r\n this.showExportButton = dialogConfig.showExportButton;\r\n }\r\n }\r\n };\r\n\r\n public onOk = (): void => {\r\n const selectedFile: IImageFile = {\r\n contentType: this.selectedFile.ContentType,\r\n id: this.selectedFile.Id,\r\n name: this.selectedFile.Name,\r\n parentFolderId: this.selectedFile.ParentFolderId,\r\n size: this.selectedFile.Size,\r\n src: this.selectedFile.Link,\r\n width: this.selectedFile.Width,\r\n height: this.selectedFile.Height,\r\n uploadDate: this.selectedFile.CreatedOn.toString(),\r\n };\r\n const closeOkEvent: TImageManagerDialogOKEvent = {\r\n reason: DialogCloseReason.OK,\r\n data: { changedFiles: this.changedFiles, selectedFile },\r\n };\r\n super.close(closeOkEvent);\r\n };\r\n}\r\n","// start:ng42.barrel\r\nexport * from './image-manager-dialog.component';\r\n// end:ng42.barrel\r\n\r\n","// start:ng42.barrel\r\nexport * from './FileUploadError';\r\nexport * from './progress-bar-data.model';\r\nexport * from './selected-entities.model';\r\n// end:ng42.barrel\r\n\r\n","import { FileModel } from '../../typescript-angular-client';\r\n\r\n\r\nexport class SelectedEntities {\r\n private _selectedFiles: Array;\r\n private _selectedFolders: Array;\r\n\r\n get selectedFolders(): Array {\r\n return this._selectedFolders;\r\n }\r\n\r\n set selectedFolders(value: Array) {\r\n this._selectedFolders = value;\r\n }\r\n\r\n AddSelectedFile(file: FileModel) {\r\n if (this.selectedFiles == null) {\r\n this.selectedFiles = new Array();\r\n }\r\n\r\n const fileInArray = this.selectedFiles.filter((item) => item.Id === file.Id);\r\n\r\n if (fileInArray != null && fileInArray.length > 0) {\r\n const index: number = this.selectedFiles.indexOf(file);\r\n if (index !== -1) {\r\n this.selectedFiles.splice(index, 1);\r\n }\r\n } else {\r\n this.selectedFiles.push(file);\r\n }\r\n }\r\n\r\n get selectedFiles(): Array {\r\n return this._selectedFiles;\r\n }\r\n\r\n set selectedFiles(value: Array) {\r\n this._selectedFiles = value;\r\n }\r\n\r\n constructor() {\r\n this._selectedFolders = [];\r\n this._selectedFiles = [];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'elipsis', pure: true })\r\nexport class ElipsisPipe implements PipeTransform {\r\n\r\n transform(value: string, maxLength: number = 15): string {\r\n if (value && value.length > maxLength) {\r\n return value.substring(0, maxLength) + `...`;\r\n }\r\n return value;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './elipsis.pipe';\r\nexport * from './sanitize-url.pipe';\r\n// end:ng42.barrel\r\n\r\n","import { Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\ninterface ISanitizedUrlHash {\r\n [originalUrl: string]: string;\r\n}\r\n\r\n@Pipe({ name: 'sanitizeUrl', pure: true })\r\nexport class SanitizeUrlPipe implements PipeTransform {\r\n private sanitizedUrlHash: ISanitizedUrlHash = {};\r\n private defaultImageSmall = '/assets/images/folder.png';\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n transform(value: string, args?: any): string {\r\n if (!value) {\r\n return this.defaultImageSmall;\r\n }\r\n // IMPROTANT!: check the hash if we have the sanitized url and if so get that already created object.\r\n // because this is a function binded to the src prop of img element it will causes each tick call to creates a new sanitized object\r\n // and that will result a call on the network to get the image again. (resulted real slowness in FF)\r\n // this hash insures that the same object is returned each time so angular does not detect this as a change and no redundant network calls\r\n // are issued.\r\n if (this.sanitizedUrlHash[value]) {\r\n return this.sanitizedUrlHash[value];\r\n } else {\r\n const result = this._sanitizer.sanitize(SecurityContext.URL, this._sanitizer.bypassSecurityTrustResourceUrl(value));\r\n this.sanitizedUrlHash[value] = result;\r\n return this.sanitizedUrlHash[value];\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../../http/http.service';\r\nimport { DialogService, IDialogHandle } from '../../dialogs/dialog.service';\r\nimport { EAlertTypes } from '../../dialogs/alert/alert.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { tap } from 'rxjs/operators';\r\nimport { ApiEndpointService } from '../../services/api-endpoint.service';\r\nimport { Observable } from 'rxjs';\r\n\r\ninterface IQuotaData {\r\n totalStorageSpace: number;\r\n remainingStorageSpace: number;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FilesQuotaService {\r\n public remainingStorageSpace = 0;\r\n public totalStorageSpace = 500;\r\n public isQuotaExceeded = false;\r\n readonly fileManagerBaseUrl: string;\r\n\r\n constructor(\r\n private accountService: AccountService,\r\n private translate: TranslateService,\r\n private dialogService: DialogService,\r\n private httpService: HttpService,\r\n private apiEndpoint: ApiEndpointService\r\n ) {\r\n this.fileManagerBaseUrl = `${this.accountService.baseUrl}/api/FileManager_v2/`;\r\n }\r\n\r\n public subscribeToGetStorageQuota = (): Observable => {\r\n return this.getStorageQuota().pipe(\r\n tap((data: IQuotaData) => this.handleGetStorageQuotaResult(data),\r\n () => this.handleGetStorageQuotaError())\r\n );\r\n }\r\n\r\n private handleGetStorageQuotaError = () => console.log('error in handleGetStorageQuota');\r\n\r\n public openQuotaExceededDialog = (): IDialogHandle => {\r\n return this.dialogService.alert({\r\n header: this.translate.instant('COMMON.QUOTA.STORAGE_QUOTA_EXCEEDED.HEADER'),\r\n message: this.translate.instant('COMMON.QUOTA.STORAGE_QUOTA_EXCEEDED.MESSAGE'),\r\n type: EAlertTypes.Alert,\r\n okCaption: this.translate.instant('COMMON.QUOTA.STORAGE_QUOTA_EXCEEDED.OK'),\r\n });\r\n }\r\n\r\n public handleGetStorageQuotaResult = (res: IQuotaData): void => {\r\n this.remainingStorageSpace = res.remainingStorageSpace;\r\n this.totalStorageSpace = res.totalStorageSpace;\r\n if (this.remainingStorageSpace <= 0) {\r\n this.isQuotaExceeded = true;\r\n } else {\r\n this.isQuotaExceeded = false;\r\n }\r\n }\r\n\r\n public getStorageQuota = () => this.httpService.get(this.apiEndpoint.GetStorageQuotaUrl);\r\n\r\n public getAccountDataQueryString = (): string => {\r\n const accountKey = this.accountService.accountKey;\r\n const pageid = this.accountService.pageid;\r\n const typename = this.accountService.typename;\r\n const orgname = this.accountService.orgname;\r\n return `accountKey=${accountKey}&id=${pageid}&orgname=${orgname}&typename=${typename}&callerpage=ddeditor`;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './files-quota.service';\r\nexport * from './quota.component';\r\n// end:ng42.barrel\r\n\r\n","import { AfterViewInit, Component, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FilesQuotaService } from './files-quota.service';\r\nimport { FmUploaderService } from '../file-uploader/fm-uploader.service';\r\nimport { first, takeUntil } from 'rxjs/operators';\r\nimport { NewFilesListService } from '../files-list/files-list.service';\r\n\r\n@Component({\r\n selector: 'quota-image',\r\n templateUrl: './quota.html'\r\n})\r\nexport class QuotaComponent implements AfterViewInit, OnDestroy {\r\n public quotaMBAvailableLabel: string;\r\n public quotaOutOfLabel: string;\r\n public quotaMBLabel: string;\r\n private destroy = new Subject();\r\n\r\n constructor(\r\n public filesQuotaService: FilesQuotaService,\r\n translate: TranslateService,\r\n private uploaderService: FmUploaderService,\r\n private newFileListService: NewFilesListService\r\n ) {\r\n this.quotaMBAvailableLabel = translate.instant('COMMON.QUOTA.QUOTA_MB_AVAILABLE');\r\n this.quotaOutOfLabel = translate.instant('COMMON.QUOTA.QUOTA_OUT_OF');\r\n this.quotaMBLabel = translate.instant('COMMON.QUOTA.QUOTA_MB');\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.uploaderService.completedAll$.pipe(takeUntil(this.destroy)).subscribe(this.refreshStorageQuotaDetails);\r\n this.newFileListService.deletedFiles$.pipe(takeUntil(this.destroy)).subscribe(this.refreshStorageQuotaDetails);\r\n }\r\n\r\n private refreshStorageQuotaDetails = (): void => {\r\n this.filesQuotaService.subscribeToGetStorageQuota().pipe(first()).subscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy.next();\r\n this.destroy.complete();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { HttpService } from '../../http/http.service';\r\nimport { IImageFile } from '../../interfaces/files.interface';\r\nimport { ApiEndpointService } from '../../services/api-endpoint.service';\r\n\r\nexport enum FileManagerTypeEnum {\r\n ALL,\r\n IMAGES,\r\n DOCUMENTS,\r\n CONTACT,\r\n USER,\r\n LAYOUTS\r\n}\r\n\r\nexport enum OrderByEnum {\r\n CreatedOn = 'CreatedOn',\r\n Name = 'Name'\r\n}\r\n\r\nexport enum OrderDirectionEnum {\r\n DESC = 'DESC',\r\n ASC = 'ASC'\r\n}\r\n\r\nexport interface IGetFilesByFolderRequestDetails {\r\n Count: number;\r\n OrderBy: OrderByEnum;\r\n OrderByDirection: OrderDirectionEnum;\r\n Page: number;\r\n FileManagerType: FileManagerTypeEnum;\r\n searchCondition: string;\r\n folderId: string;\r\n isCountChanged: boolean;\r\n SearchAllFolders: boolean;\r\n ExcludeFolders: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class CDFileManagerAPI {\r\n private readonly baseUrlFileManager: string;\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private accountService: AccountService,\r\n private apiEndpoint: ApiEndpointService\r\n ) {\r\n this.baseUrlFileManager = `${this.accountService.baseUrl}/api/FileManager_v2/`;\r\n }\r\n\r\n private getAccountDataQueryString = (fileManagerTypeEnum: FileManagerTypeEnum): string => {\r\n const accountKey = this.accountService.accountKey;\r\n const pageid = this.accountService.pageid;\r\n const typename = this.accountService.typename;\r\n const orgname = this.accountService.orgname;\r\n return `accountKey=${accountKey}&id=${pageid}&orgname=${orgname}&typename=${typename}&callerpage=ddeditor&type=${fileManagerTypeEnum}`;\r\n }\r\n\r\n public deleteFile = (fileId: string, fileManagerTypeEnum: FileManagerTypeEnum): Observable => {\r\n const action = 'FilesList/deletefile';\r\n const param = `id=${fileId}`;\r\n const accountData = this.getAccountDataQueryString(fileManagerTypeEnum);\r\n return this.httpService.get(`${this.baseUrlFileManager}${action}/?${param}&${accountData}`);\r\n }\r\n\r\n public getUrlForUploadFiles = (folderId: string, fileManagerTypeEnum: FileManagerTypeEnum): string => {\r\n const action = 'FileUploader/upload';\r\n const accountData = this.getAccountDataQueryString(fileManagerTypeEnum);\r\n return `${this.baseUrlFileManager}${action}/?parentFolderId=${folderId}&${accountData}`;\r\n }\r\n\r\n public saveFileFromPixie = (originalFile: IImageFile, fileData: any): Observable => {\r\n const postedFile = {\r\n ContentType: 'image/jpeg',\r\n Id: originalFile.id,\r\n Link: originalFile.src,\r\n Name: originalFile.name,\r\n ParentFolderId: originalFile.parentFolderId,\r\n Size: originalFile.size,\r\n Width: originalFile.width,\r\n Height: originalFile.height,\r\n };\r\n const data = { originalFile: postedFile, fileData: fileData };\r\n return this.httpService.post(data, this.apiEndpoint.CreateFromPixieUrl);\r\n }\r\n\r\n public getBlobData(): Observable {\r\n return this.httpService.get(this.apiEndpoint.GetBlobDataUrl);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\r\nimport { share } from 'rxjs/operators';\r\nimport { TreeDragDropService } from 'primeng/api';\r\nimport { FileModel } from '../../typescript-angular-client/model/fileModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FmTreeService {\r\n private fileSelectionChange$ = new BehaviorSubject(null);\r\n private fileListLoaded$ = new BehaviorSubject([]);\r\n private startDrag$ = new Subject();\r\n private stopDrag$ = new Subject();\r\n\r\n constructor(private ddService: TreeDragDropService) { }\r\n\r\n get SelectionChangeCommand(): Observable {\r\n return this.fileSelectionChange$.asObservable().pipe(share());\r\n }\r\n\r\n get fileLoaded(): Observable {\r\n return this.fileListLoaded$.asObservable().pipe(share());\r\n }\r\n\r\n public onStartDrag = () => this.startDrag$.asObservable();\r\n\r\n public onStoptDrag = () => this.stopDrag$.asObservable();\r\n\r\n public startDrag = (model: FileModel | FileModel[]): void => {\r\n this.startDrag$.next(model);\r\n\r\n if ((model as FileModel).Id === undefined) {\r\n return;\r\n }\r\n\r\n const node = model as FileModel;\r\n this.ddService.startDrag({\r\n index: 0,\r\n scope: 'folder-tree',\r\n subNodes: [],\r\n tree: null,\r\n node: {\r\n draggable: true,\r\n droppable: true,\r\n key: node.Id,\r\n label: node.Name,\r\n data: node\r\n }\r\n });\r\n }\r\n\r\n public stopDrag = (model: FileModel | FileModel[]): void => {\r\n this.stopDrag$.next(model);\r\n\r\n if ((model as FileModel).Id === undefined) {\r\n return;\r\n }\r\n\r\n const node = model as FileModel;\r\n this.ddService.stopDrag({\r\n index: 0,\r\n scope: 'folder-tree',\r\n subNodes: [],\r\n tree: null,\r\n node: {\r\n draggable: true,\r\n droppable: true,\r\n key: node.Id,\r\n label: node.Name,\r\n data: node\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ImageEditorService } from '../../services/image-editor.service';\r\nimport { AccountService } from '../../services/account.service';\r\nimport { IImageFile } from '../../interfaces/files.interface';\r\nimport { Logger } from '../../monitoring/logger/logger';\r\nimport { FilesQuotaService } from '../quota/files-quota.service';\r\nimport { Observable } from 'rxjs';\r\nimport 'rxjs/add/observable/of';\r\nimport { CDFileManagerAPI } from './file-manager-api';\r\nimport { catchError, map, switchMap } from 'rxjs/operators';\r\n\r\ninterface IBlobData {\r\n cdnEndPoint: string;\r\n blobContainer: string;\r\n}\r\n\r\ninterface IMongoFile {\r\n Id: string;\r\n Link: string;\r\n Name: string;\r\n CreatedOn: any;\r\n Width: number;\r\n Height: number;\r\n ContentType: string;\r\n Size: number;\r\n ParentFolderId: string;\r\n}\r\n\r\n@Injectable()\r\nexport class ImageFileEditorService {\r\n cdnEndPoint: string;\r\n blobContainer: string;\r\n languageId: string;\r\n imageFile: IImageFile;\r\n\r\n constructor(\r\n private imageEditorService: ImageEditorService,\r\n accountService: AccountService,\r\n private logger: Logger,\r\n private filesQuotaService: FilesQuotaService,\r\n private cdFileManagerAPI: CDFileManagerAPI\r\n ) {\r\n this.initBlobData();\r\n this.languageId = accountService.userlcid;\r\n }\r\n\r\n public editImage = (imageFile: IImageFile): Observable => {\r\n if (this.filesQuotaService.isQuotaExceeded) {\r\n return this.filesQuotaService.openQuotaExceededDialog().onClose.pipe(map(() => {\r\n return null;\r\n }));\r\n }\r\n const publicImgUrl = this.getPublicImgUrl(imageFile.src);\r\n return this.imageEditorService.openImageEditor(publicImgUrl, this.languageId)\r\n .pipe(switchMap((fileDataFromImageEditor: any) => this.cdFileManagerAPI.saveFileFromPixie(imageFile, fileDataFromImageEditor)))\r\n .pipe(catchError(error => Observable.of(error)))\r\n .pipe(map((fileDataFromServer: IMongoFile) => {\r\n const imagefile: IImageFile = {\r\n id: fileDataFromServer.Id,\r\n src: fileDataFromServer.Link,\r\n name: fileDataFromServer.Name,\r\n uploadDate: this.formatDate(new Date(fileDataFromServer.CreatedOn)),\r\n width: fileDataFromServer.Width,\r\n height: fileDataFromServer.Height,\r\n contentType: fileDataFromServer.ContentType,\r\n size: fileDataFromServer.Size,\r\n parentFolderId: fileDataFromServer.ParentFolderId\r\n };\r\n this.filesQuotaService.subscribeToGetStorageQuota();\r\n return imagefile;\r\n }));\r\n\r\n }\r\n\r\n private getPublicImgUrl = (url: string): string => {\r\n //get url to image - to blob, without blob server handler - to pixie only (CORS issue (cross origin resurse sharing))\r\n let result = '';\r\n const questionMarkLastIndex = url.lastIndexOf('?');\r\n let fileName: string;\r\n if (questionMarkLastIndex > 0) {\r\n const fileSrcWithoutTimeStemp = url.substring(0, url.lastIndexOf('?'));\r\n fileName = fileSrcWithoutTimeStemp.substring(fileSrcWithoutTimeStemp.lastIndexOf('/') + 1);\r\n } else {\r\n fileName = url.substring(url.lastIndexOf('/') + 1);\r\n }\r\n\r\n result = `${this.cdnEndPoint}/${this.blobContainer}/files/${fileName}`;\r\n\r\n const windowLocationHref = window.location.href;\r\n const iswindowLocationHrefHttps = windowLocationHref.startsWith('https');\r\n const isImgPublicUrlsHttps = result.startsWith('https');\r\n if (iswindowLocationHrefHttps === isImgPublicUrlsHttps) {\r\n return result;\r\n }\r\n\r\n if (iswindowLocationHrefHttps === true) {\r\n result = result.replace('http', 'https');\r\n return result;\r\n }\r\n\r\n if (iswindowLocationHrefHttps === false) {\r\n result = result.replace('https', 'http');\r\n return result;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private initBlobData = () => {\r\n this.cdFileManagerAPI.getBlobData()\r\n .subscribe((blobData: IBlobData) => {\r\n if (blobData) {\r\n if (blobData.cdnEndPoint && blobData.blobContainer) {\r\n this.cdnEndPoint = blobData.cdnEndPoint;\r\n this.blobContainer = blobData.blobContainer;\r\n }\r\n }\r\n },\r\n (error) => this.logger.error(`error on loading blob container data: ${error.originalError || error}`)\r\n );\r\n }\r\n\r\n private formatDate = (d: any) => {\r\n const mS = ['Jan', 'Feb', 'March', 'April', 'May', 'June', 'July', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];\r\n const month = mS[d.getMonth()];\r\n const day = d.getDate();\r\n const year = d.getFullYear();\r\n return month + ' ' + day + ', ' + year;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './file-manager-api';\r\nexport * from './fm-tree.service';\r\nexport * from './image-file-editor.service';\r\nexport * from './ng-on-destroy.service';\r\n// end:ng42.barrel\r\n\r\n","import { Injectable, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class NgOnDestroyService extends Subject implements OnDestroy {\r\n ngOnDestroy(): void {\r\n this.next(null);\r\n this.complete();\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './upload-progress.component';\r\n// end:ng42.barrel\r\n\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvZmlsZS1tYW5hZ2VyL3VwbG9hZC1wcm9ncmVzcy91cGxvYWQtcHJvZ3Jlc3MuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, Self, Input } from '@angular/core';\r\nimport { FmUploaderService } from '../file-uploader/fm-uploader.service';\r\nimport { NgOnDestroyService } from '../services/ng-on-destroy.service';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { DialogService, UploadErrorsDialogComponent } from '../../dialogs/index';\r\nimport { FileUploadError } from '../models/FileUploadError';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FileModel } from '../../typescript-angular-client/model/models';\r\n\r\n@Component({\r\n selector: 'uploader-progress',\r\n templateUrl: './upload-progress.component.html',\r\n styleUrls: ['./upload-progress.component.scss'],\r\n providers: [NgOnDestroyService]\r\n})\r\nexport class UploadProgressComponent implements OnInit {\r\n public currentFileIndex = 0;\r\n public numberFiles: number;\r\n public status: boolean;\r\n public resultNumberFiles: number;\r\n public endUploading = false;\r\n public errors: FileUploadError[] = [];\r\n readonly imageDialogType = FileModel.FileTypeEnum.IMAGES;\r\n private timer: NodeJS.Timer;\r\n\r\n @Input() dialogType = FileModel.FileTypeEnum.IMAGES;\r\n @Input() hideAfter = 30000;\r\n\r\n constructor(\r\n private fmupload: FmUploaderService,\r\n @Self() private NgOnDestroy$: NgOnDestroyService,\r\n private dialogService: DialogService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.fmupload.onStart$.pipe(takeUntil(this.NgOnDestroy$)).subscribe((i) => {\r\n this.numberFiles = i;\r\n this.currentFileIndex = 0;\r\n this.endUploading = false;\r\n this.resultNumberFiles = 0;\r\n this.status = true;\r\n });\r\n this.fmupload.onProgress$.pipe(takeUntil(this.NgOnDestroy$)).subscribe(() => {\r\n this.currentFileIndex += 1;\r\n });\r\n this.fmupload.completedAll$.pipe(takeUntil(this.NgOnDestroy$)).subscribe((result) => {\r\n this.endUploading = true;\r\n this.resultNumberFiles = this.numberFiles <= 0 ? 0 : this.numberFiles - result.length;\r\n this.errors = result;\r\n this.timer = setTimeout(() => this.finish(), this.hideAfter);\r\n });\r\n }\r\n\r\n public openUploadErrors = (): void => {\r\n clearTimeout(this.timer);\r\n this.dialogService.createDialog(UploadErrorsDialogComponent, { files: this.errors }, {})\r\n .onClose.subscribe(() => this.timer = setTimeout(() => this.finish(), this.hideAfter));\r\n }\r\n\r\n public getStyle = () => {\r\n const progress = this.endUploading ? 100 : Math.round((this.currentFileIndex * 100) / this.numberFiles);\r\n return { width: `${progress}%` };\r\n }\r\n\r\n public getUploadedFileTypeTerm = (): string => {\r\n if (this.dialogType === FileModel.FileTypeEnum.IMAGES) {\r\n if (this.numberFiles > 1) {\r\n return this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.IMAGE_PLURAL');\r\n } else {\r\n return this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.IMAGE_SINGULAR');\r\n }\r\n } else {\r\n if (this.numberFiles > 1) {\r\n return this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.FILE_PLURAL');\r\n } else {\r\n return this.translate.instant('COMMON.DIALOGS.FILE_MANAGER.FILE_SINGULAR');\r\n }\r\n }\r\n }\r\n\r\n public finish = (): void => {\r\n this.status = false;\r\n this.currentFileIndex = 0;\r\n this.endUploading = false;\r\n this.numberFiles = 0;\r\n this.resultNumberFiles = 0;\r\n this.errors = [];\r\n this.fmupload.clear();\r\n }\r\n\r\n}\r\n","import { FileModel } from '../typescript-angular-client/model/fileModel';\r\nimport { TreeNode } from 'primeng/api';\r\n\r\nexport function IsTreeNode(model: FileModel | TreeNode | FileModel[]): model is TreeNode {\r\n return (model).key !== undefined;\r\n}\r\n\r\nexport function IsSingleFileModel(model: FileModel | FileModel[] | TreeNode): model is FileModel {\r\n return (model).Id !== undefined;\r\n}\r\n\r\nexport function IsMultiFileModel(model: FileModel | FileModel[] | TreeNode): model is FileModel[] {\r\n return (model).length !== undefined;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CustomFont, CustomFonts } from './custom.font';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { HttpService } from '../http/http.service';\r\nimport { ApiEndpointService } from '../services/api-endpoint.service';\r\n\r\n@Injectable()\r\nexport class CustomFontsApi {\r\n constructor(private httpService: HttpService,\r\n private apiEndpointService: ApiEndpointService) {\r\n }\r\n\r\n getCustomFonts(): Observable {\r\n return this.httpService.get(`${ this.apiEndpointService.CustomFonts }`)\r\n .pipe(map(data => {\r\n const customFonts = new CustomFonts();\r\n customFonts.fonts = data.map(font => {\r\n return Object.assign(new CustomFont(), font);\r\n });\r\n return customFonts;\r\n }));\r\n }\r\n\r\n deleteCustomFont(ids: string[]): Observable {\r\n return this.httpService.delete(`${ this.apiEndpointService.CustomFonts }`, ids, true);\r\n }\r\n\r\n addCustomFont(fontModel: CustomFont): Observable {\r\n return this.httpService.post(fontModel, `${ this.apiEndpointService.CustomFonts }`, null, true);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CustomFont, CustomFonts } from './custom.font';\r\nimport { BehaviorSubject } from 'rxjs/internal/BehaviorSubject';\r\nimport { CustomFontsApi } from './custom-fonts.api';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class CustomFontsService {\r\n public customFonts: Observable;\r\n private _customFonts: BehaviorSubject = new BehaviorSubject(new CustomFonts());\r\n\r\n\r\n constructor(private customFontsApi: CustomFontsApi) {\r\n this.customFonts = this._customFonts.asObservable();\r\n }\r\n\r\n getCurrentCustomFonts(): CustomFont[] {\r\n return this._customFonts.getValue().fonts;\r\n }\r\n\r\n getCustomFonts() {\r\n return this.customFontsApi.getCustomFonts().pipe(tap((fonts: CustomFonts) => {\r\n fonts.fonts = fonts.fonts\r\n .sort((a, b) => a.Name < b.Name ? -1 : a.Name > b.Name ? 1 : 0);\r\n this._customFonts.next(fonts);\r\n }));\r\n }\r\n\r\n addCustomFont(font: CustomFont) {\r\n return this.customFontsApi.addCustomFont(font).pipe(tap((customFont: CustomFont) => {\r\n this._customFonts.getValue().fonts.unshift(customFont);\r\n const fonts = new CustomFonts();\r\n fonts.fonts = this._customFonts.getValue().fonts\r\n .sort((a, b) => a.Name < b.Name ? -1 : a.Name > b.Name ? 1 : 0);\r\n this._customFonts.next(fonts);\r\n }));\r\n }\r\n\r\n deleteCustomFont(ids: string[]) {\r\n return this.customFontsApi.deleteCustomFont(ids).pipe(tap(() => {\r\n const customFont = this._customFonts.getValue().fonts.filter((font) => {\r\n return ids.every(f => f !== font.Id);\r\n });\r\n const customFonts = new CustomFonts();\r\n customFonts.fonts = customFont;\r\n this._customFonts.next(customFonts);\r\n }));\r\n }\r\n}\r\n","export class CustomFont {\r\n Id: string;\r\n Name: string;\r\n FallBackFontName: string;\r\n FontUrl: string;\r\n FontFamily: string;\r\n}\r\n\r\nexport class CustomFonts {\r\n fonts: CustomFont[] = [];\r\n}\r\n","export interface WebFonts {\r\n [fontName: string]: string;\r\n}\r\n\r\nexport const availableFonts: WebFonts = {\r\n Lato: 'https://fonts.googleapis.com/css?family=Lato&display=swap',\r\n Merriweather: 'https://fonts.googleapis.com/css?family=Merriweather&display=swap',\r\n 'Open Sans': 'https://fonts.googleapis.com/css?family=Open+Sans&display=swap',\r\n Roboto: 'https://fonts.googleapis.com/css?family=Roboto&display=swap'\r\n};\r\n\r\nexport const ckFonts = [\r\n 'Arial',\r\n 'Calibri',\r\n 'Comic Sans MS',\r\n 'Courier New',\r\n 'Georgia',\r\n 'Helvetica',\r\n 'Lucida Sans Unicode',\r\n 'Lucida Grande',\r\n 'Tahoma',\r\n 'Geneva',\r\n 'Times New Roman',\r\n 'Times',\r\n 'Trebuchet MS',\r\n 'Verdana'\r\n]\r\n","export * from './fonts';\r\nexport * from './custom-fonts.service';\r\nexport * from './custom.font';\r\nexport * from './custom-fonts.api';\r\n","/*\r\n This utility was ported to typescript from the original version of the node-moudle frame-rpc version 1.3.0\r\n since it was exported from that node module in a way that coud not be used on esNext moules. esNext must be\r\n used if you want to use lazy loaded modules in angular.\r\n https://www.npmjs.com/package/frame-rpc\r\n */\r\n\r\nconst has = (obj: any, prop: string) => {\r\n return obj.hasOwnProperty(prop);\r\n};\r\n\r\nconst isarray = Array.isArray;\r\n\r\nconst VERSION = '1.0.0';\r\n\r\nexport class RPC {\r\n public src: Window;\r\n public dst: Window;\r\n public origin: string;\r\n\r\n private _sequence: number;\r\n private _callbacks: { [key: string]: any };\r\n private _destroyed: boolean = false;\r\n private _methods: { [key: string]: Function };\r\n private _onmessageHandlerBindedFunction: EventListenerOrEventListenerObject;\r\n\r\n constructor(src: Window, dst: Window, origin: string, methods?: any) {\r\n if (origin === '*') {\r\n this.origin = '*';\r\n } else {\r\n const uorigin = new URL(origin);\r\n this.origin = uorigin.protocol + '//' + uorigin.host;\r\n }\r\n\r\n this.src = src;\r\n this.dst = dst;\r\n\r\n this._sequence = 0;\r\n this._callbacks = {};\r\n\r\n this._onmessageHandlerBindedFunction = this._onmessage.bind(this);\r\n this.src.addEventListener('message', this._onmessageHandlerBindedFunction);\r\n this._methods = typeof methods === 'function'\r\n ? methods(this)\r\n : methods || {};\r\n }\r\n\r\n\r\n private _onmessage(ev: any) {\r\n if (this._destroyed) {\r\n return;\r\n }\r\n\r\n if (this.origin !== '*' && ev.origin !== this.origin) {\r\n return;\r\n }\r\n if (!ev.data || typeof ev.data !== 'object') {\r\n return;\r\n }\r\n if (ev.data.protocol !== 'frame-rpc') {\r\n return;\r\n }\r\n if (!isarray(ev.data.arguments)) {\r\n return;\r\n }\r\n\r\n this._handle(ev.data);\r\n }\r\n\r\n\r\n public destroy() {\r\n this._destroyed = true;\r\n this.src.removeEventListener('message', this._onmessageHandlerBindedFunction);\r\n }\r\n\r\n public call(method: string, ...args: any[]) {\r\n return this.apply(method, args);\r\n }\r\n\r\n public apply(method: string, args?: any[]) {\r\n if (this._destroyed) {\r\n return;\r\n }\r\n\r\n const seq = this._sequence++;\r\n if (typeof args[args.length - 1] === 'function') {\r\n this._callbacks[seq] = args[args.length - 1];\r\n args = args.slice(0, -1);\r\n }\r\n this.dst.postMessage({\r\n protocol: 'frame-rpc',\r\n version: VERSION,\r\n sequence: seq,\r\n method: method,\r\n arguments: args\r\n }, this.origin);\r\n }\r\n\r\n private _handle(msg: any) {\r\n if (this._destroyed) {\r\n return;\r\n }\r\n\r\n if (has(msg, 'method')) {\r\n if (!has(this._methods, msg.method)) {\r\n return;\r\n }\r\n\r\n const args = msg.arguments.concat(function() {\r\n this.dst.postMessage({\r\n protocol: 'frame-rpc',\r\n version: VERSION,\r\n response: msg.sequence,\r\n arguments: [].slice.call(arguments)\r\n },\r\n this.origin);\r\n }.bind(this));\r\n\r\n this._methods[msg.method].apply(this._methods, args);\r\n\r\n } else if (has(msg, 'response')) {\r\n\r\n const cb = this._callbacks[msg.response];\r\n delete this._callbacks[msg.response];\r\n if (cb) {\r\n cb.apply(null, msg.arguments);\r\n }\r\n }\r\n }\r\n}\r\n\r\n","// start:ng42.barrel\r\nexport * from './frame-rpc';\r\n// end:ng42.barrel\r\n\r\n","import { Subscription, TimeoutError } from 'rxjs';\r\n\r\nimport { Directive, EventEmitter, Input, Output } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { BetaGroupDialogComponent } from '../components/beta-group/beta-group.component';\r\nimport { EAlertTypes } from '../dialogs/alert/alert.component';\r\nimport { DialogService, IDialogHandle } from '../dialogs/dialog.service';\r\nimport { AccountService } from '../services/account.service';\r\nimport { ErrorHandlingService } from './error-handling.service';\r\n\r\n@Directive({\r\n selector: '[errorHandling]',\r\n})\r\nexport class ErrorHandlingDirective {\r\n // optional\r\n @Output() callback: EventEmitter = new EventEmitter();\r\n @Input() shouldDisplayErrorInDialog = true;\r\n readonly baseUrl: string;\r\n private errorsSubscription: Subscription;\r\n private isDialogOpen = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private dialogService: DialogService,\r\n private accountService: AccountService,\r\n private errorHandlingService: ErrorHandlingService\r\n ) {\r\n this.baseUrl = `${this.accountService.baseUrl}/error/`;\r\n\r\n this.errorsSubscription = this.errorHandlingService.errors.subscribe(\r\n (error) => {\r\n if (this.shouldDisplayErrorInDialog) {\r\n this.openErrorDisplayDialog(error);\r\n }\r\n }\r\n );\r\n }\r\n\r\n openErrorDisplayDialog(error: any) {\r\n if (!error) {\r\n return;\r\n }\r\n\r\n // unauthorized requests\r\n if (error.status === 401 || error.status === 403) {\r\n const redirectUrl = this.baseUrl + 'Unauthorized';\r\n window.location.href = redirectUrl;\r\n } else if (error.status === 402) {\r\n // registration needed\r\n const extraData = { accountName: error.json().accountName };\r\n this.dialogService.createDialog(\r\n BetaGroupDialogComponent,\r\n extraData\r\n );\r\n } else if (error.status === 507) {\r\n /** Already handled in FileUploaderClient. */\r\n } else if (error.status >= 500) {\r\n // application exception\r\n if (!this.isDialogOpen) {\r\n this.isDialogOpen = true;\r\n const dialogHandle: IDialogHandle = this.dialogService.alert({\r\n header: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.SERVER_ERROR.HEADER'\r\n ),\r\n message: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.SERVER_ERROR.MESSAGE'\r\n ),\r\n type: EAlertTypes.Alert,\r\n okCaption: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.SERVER_ERROR.OK'\r\n ),\r\n });\r\n\r\n dialogHandle.onClose.subscribe(() => (this.isDialogOpen = false));\r\n }\r\n } else if (error instanceof TimeoutError) {\r\n // connection timout exception\r\n\r\n if (!this.isDialogOpen) {\r\n this.isDialogOpen = true;\r\n const dialogHandle: IDialogHandle = this.dialogService.alert({\r\n header: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.CONNECTION_ERROR.HEADER'\r\n ),\r\n message: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.CONNECTION_ERROR.MESSAGE'\r\n ),\r\n type: EAlertTypes.Alert,\r\n okCaption: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.CONNECTION_ERROR.OK'\r\n ),\r\n });\r\n\r\n dialogHandle.onClose.subscribe(() => (this.isDialogOpen = false));\r\n }\r\n } else {\r\n if (!this.isDialogOpen) {\r\n this.isDialogOpen = true;\r\n const dialogHandle: IDialogHandle = this.dialogService.alert({\r\n header: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.UNKNOWN_ERROR.HEADER'\r\n ),\r\n message: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.UNKNOWN_ERROR.MESSAGE'\r\n ),\r\n type: EAlertTypes.Alert,\r\n okCaption: this.translate.instant(\r\n 'COMMON.DIALOGS.ERROR_HANDLING.UNKNOWN_ERROR.OK'\r\n ),\r\n });\r\n\r\n dialogHandle.onClose.subscribe(() => (this.isDialogOpen = false));\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, throwError } from 'rxjs';\r\nimport { Observable } from 'rxjs';\r\nimport { Logger } from '../monitoring/logger/logger';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n@Injectable()\r\nexport class ErrorHandlingService {\r\n\r\n public errors: Observable;\r\n private _errors: BehaviorSubject;\r\n\r\n constructor(private logger: Logger) {\r\n this._errors = new BehaviorSubject(null);\r\n this.errors = this._errors.asObservable();\r\n }\r\n\r\n public handleError = (error: HttpErrorResponse) => {\r\n this.logger.error(error.message);\r\n if (error.error) {\r\n this.logger.error(error.error);\r\n }\r\n\r\n this._errors.next(error);\r\n return throwError(error);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { HttpService } from './http.service';\r\nimport { ErrorHandlingService } from './error-handling.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { ErrorHandlingDirective } from './error-handling.directive';\r\n\r\n@NgModule({\r\n imports: [HttpClientModule],\r\n declarations: [ErrorHandlingDirective],\r\n providers: [ErrorHandlingService, HttpService],\r\n exports: [ErrorHandlingDirective, HttpClientModule]\r\n})\r\nexport class HttpModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { share } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class HttpService {\r\n\r\n constructor(private http: HttpClient) {}\r\n\r\n post(data: any, url: string, headers = new HttpHeaders({ 'Content-Type': 'application/json' }), isSecured: boolean = false): Observable {\r\n let options = this.OptionsForGetRequest(isSecured);\r\n\r\n if (headers && !isSecured) {\r\n options = { headers: headers, withCredentials: false };\r\n }\r\n if (headers && isSecured) {\r\n options = { headers: headers, withCredentials: true };\r\n }\r\n\r\n return this.http.post(url, data, options)\r\n .pipe(share());\r\n }\r\n\r\n put(data: any, url: string, headers = new HttpHeaders({ 'Content-Type': 'application/json' }), isSecured: boolean = false): Observable {\r\n const options = { headers: headers, withCredentials: isSecured};\r\n\r\n return this.http.put(url, data, options)\r\n .pipe(share());\r\n }\r\n\r\n delete(url: string, data: any = null, isSecured: boolean = false): Observable {\r\n const options = this.OptionsForGetRequest(isSecured, data);\r\n\r\n return this.http.delete(url, options)\r\n .pipe(share());\r\n }\r\n\r\n /**\r\n * @param httpOptions httpOptions should match to structure of options parameter on get methods of HttpClient class.\r\n */\r\n get(url: string, isSecured: boolean = false, httpOptions: any = null): Observable {\r\n let options = this.OptionsForGetRequest(isSecured);\r\n if (httpOptions) {\r\n options = httpOptions;\r\n }\r\n\r\n return this.http.get(url, options)\r\n .pipe(share());\r\n }\r\n\r\n head(url: string, isSecured: boolean = false): Observable {\r\n const options = this.OptionsForGetRequest(isSecured);\r\n return this.http.head(url, options)\r\n .pipe(share());\r\n }\r\n\r\n private OptionsForGetRequest(isSecured: boolean, body: any = null) {\r\n const headers = new HttpHeaders({\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache',\r\n 'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT',\r\n });\r\n\r\n if (isSecured) {\r\n headers.append('Content-Type', 'application/json');\r\n if (body) {\r\n return { headers: headers, withCredentials: true, body: body };\r\n }\r\n return { headers: headers, withCredentials: true };\r\n } else {\r\n if (body) {\r\n return { headers: headers, body: body };\r\n }\r\n return { headers: headers };\r\n }\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './error-handling.directive';\r\nexport * from './error-handling.service';\r\nexport * from './http.module';\r\nexport * from './http.service';\r\nexport * from './interceptors/api-interceptor';\r\nexport * from './interceptors/folder-api-interceptor';\r\nexport * from './interceptors/requests-cache-busting-interceptor';\r\nexport * from './interceptors/global-http-timeout-interceptor';\r\nexport * from './interceptors/global-http-error-handler-interceptor';\r\nexport * from './interceptors/with-credentials-on-all-requests-interceptor';\r\n// end:ng42.barrel\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AccountService } from '../../services/account.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApiInterceptor implements HttpInterceptor {\r\n\r\n constructor(private accountService: AccountService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.url.includes('api/Editors_v2') || req.url.includes('api/FileManager_v2')) {\r\n let sessionParams = req.params\r\n .append('accountKey', this.accountService.accountKey)\r\n .append('id', this.accountService.pageid)\r\n .append('userlcid', this.accountService.userlcid)\r\n .append('typeName', this.accountService.typename)\r\n .append('orgName', this.accountService.orgname)\r\n .append('callerPage', 'ddeditor')\r\n .append('userid', this.accountService.userid)\r\n .append('Issplittesting', this.accountService.issplittesting)\r\n .append('sessionId', this.accountService.sessionId)\r\n .append('stpid', this.accountService.stpId);\r\n\r\n if (this.accountService.isrss) {\r\n sessionParams = sessionParams.append('isrss', 'true');\r\n }\r\n\r\n const withSessionInfoReq = req.clone({ params: sessionParams });\r\n return next.handle(withSessionInfoReq);\r\n }\r\n return next.handle(req);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpEvent, HttpInterceptor, HttpHandler, HttpRequest\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { FeatureflagService } from '../../services/featureflag.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FolderApiInterceptor implements HttpInterceptor {\r\n constructor(private featureFlagService: FeatureflagService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n // if (!this.featureFlagService.featureFlagsCollection['IMAGE_MANAGER_V2']) {\r\n // return next.handle(req);\r\n // }\r\n\r\n if (req.url.includes('api/FileManager_v2/TreeView/getAllFolders', 0) && req.method === 'GET') {\r\n const fileReq = req.clone({ headers: req.headers.set('api-version', '2.0') });\r\n return next.handle(fileReq);\r\n }\r\n return next.handle(req);\r\n }\r\n}\r\n","import { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ErrorHandlingService } from '../error-handling.service';\r\n\r\nexport interface IErrorWithText {\r\n text: string;\r\n}\r\n\r\n@Injectable()\r\nexport class GlobalHttpErrorInterceptor implements HttpInterceptor {\r\n constructor(private errorHandlingService: ErrorHandlingService) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n return next.handle(request).pipe(\r\n // retry(1), TODO: check if we want this\r\n catchError((error: HttpErrorResponse) => {\r\n if (error instanceof HttpErrorResponse) {\r\n const resp = error as HttpErrorResponse;\r\n if (resp.status !== 401 && resp.status < 500 && resp.status !== 0) {\r\n return throwError(error);\r\n }\r\n }\r\n\r\n return this.errorHandlingService.handleError(error);\r\n })\r\n );\r\n }\r\n}\r\n","import { Inject, Injectable, InjectionToken } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { timeout } from 'rxjs/operators';\r\n\r\nexport const GLOBAL_API_DEFAULT_TIMEOUT = new InjectionToken('defaultTimeout');\r\n\r\n@Injectable()\r\nexport class GlobalHttpTimeoutInterceptor implements HttpInterceptor {\r\n constructor(@Inject(GLOBAL_API_DEFAULT_TIMEOUT) protected defaultTimeout: number) {\r\n if (typeof this.defaultTimeout !== 'number') {\r\n if (defaultTimeout as any instanceof Array) {\r\n console.warn('GLOBAL_API_DEFAULT_TIMEOUT should not be defined as multi defaulting to 120 seconds!!!');\r\n }\r\n this.defaultTimeout = 120000;\r\n }\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const timeoutValue = req.headers.get('timeout') || this.defaultTimeout;\r\n const timeoutValueNumeric = Number(timeoutValue);\r\n\r\n return next.handle(req).pipe(timeout(timeoutValueNumeric));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpHandler, HttpHeaders, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\n\r\n///////////////////////////////////\r\n// This interceptor will help with preventing IE11 from caching requests to the server\r\n// you should register it in your app if IE11 is one of your target browsers for example\r\n// See: https://medium.com/better-programming/how-to-prevent-http-request-caching-with-angular-httpclient-e82abf8b157d\r\n// See https://support.microsoft.com/en-us/help/234067/how-to-prevent-caching-in-internet-explorer\r\n//\r\n// In you app.module.ts file:\r\n// ---------------------------\r\n// providers: [\r\n// {\r\n// provide: HTTP_INTERCEPTORS,\r\n// useClass: RequestsCacheBustingInterceptor,\r\n// multi: true\r\n// },\r\n// ...\r\n// ]\r\n//////////////////////////////////\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RequestsCacheBustingInterceptor implements HttpInterceptor {\r\n\r\n intercept(req: HttpRequest, next: HttpHandler) {\r\n const httpRequest = req.clone({\r\n setHeaders: {\r\n 'Cache-Control': 'no-cache',\r\n Pragma: 'no-cache',\r\n Expires: 'Sat, 01 Jan 2000 00:00:00 GMT'\r\n }\r\n });\r\n\r\n return next.handle(httpRequest);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpEvent, HttpInterceptor, HttpHandler, HttpRequest\r\n} from '@angular/common/http';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n/** Inject With Credentials into the request */\r\n@Injectable()\r\nexport class HttpWithCredentialsRequestsInterceptor implements HttpInterceptor {\r\n\r\n intercept(req: HttpRequest, next: HttpHandler):\r\n Observable> {\r\n\r\n req = req.clone({\r\n withCredentials: true\r\n });\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n","export type FormStatus = `VALID` | `INVALID` | `PENDING ` | `DISABLED`;\r\nexport enum RegExpValidations {\r\n // tslint:disable-next-line:quotemark\r\n NameValidation = \"^([a-zA-Z]{1,}'?-?[a-zA-Z]{2,}s?([a-zA-Z]{1,})?)$\",\r\n EmailValidation = '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}',\r\n DomainValidation = '^[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9-]+)*([-.]{1})[a-zA-Z]{2,10}$',\r\n DomainValidationHttps = '^(http(s|)://)[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9-]+)*([-.]{1})[a-zA-Z]{2,10}$',\r\n DomainValidationCrmUrl = '^(http(s|)://)[a-zA-Z0-9]+([-.]{1}[a-zA-Z0-9-]+)*([-.]{1})[a-zA-Z]{2,10}(/|/[a-z]+|)(:[0-9]+(/|/[a-zA-Z]+(/|)|)|)$',\r\n TwilioSenderId = '^[ A-Za-z0-9_&+-]+$', // all (letters, numbers, spaces, +, -, &, _)\r\n AtLeastOneLetter = '.*[A-Za-z].*', // must have a letter\r\n}\r\n","import { Subject } from 'rxjs';\r\n\r\nexport interface IPropertyChangedEvent {\r\n propertyName: string;\r\n oldValue: any;\r\n newValue: any;\r\n origEvent: IPropertyChangedEvent;\r\n}\r\n\r\nexport interface IBaseModel {\r\n changed: Subject;\r\n\r\n toJSON(): any;\r\n\r\n propertiesToJSON(objectToExtend: any): any;\r\n}\r\n\r\nexport class BaseModel implements IBaseModel {\r\n\r\n public changed: Subject = new Subject();\r\n public modelType: string;\r\n\r\n get modelTypeProperty(): string {\r\n return this.modelType;\r\n }\r\n\r\n static fromJSON(json: any): BaseModel {\r\n throw new Error('this should not happen, fromJSON should be implemented on the concrete class');\r\n }\r\n\r\n public toJSON(): any {\r\n const ret = this.propertiesToJSON({});\r\n ret.modelType = this.modelType;\r\n\r\n return ret;\r\n }\r\n\r\n constructor(modelType: string) {\r\n this.modelType = modelType;\r\n }\r\n\r\n protected emitChanged(event: IPropertyChangedEvent = null) {\r\n this.changed.next(event);\r\n }\r\n\r\n protected setProperty(propertyName: string, newValue: any) {\r\n const oldValue = (this)['_' + propertyName];\r\n if (oldValue !== newValue) {\r\n (this)['_' + propertyName] = newValue;\r\n const event: IPropertyChangedEvent = {\r\n propertyName: propertyName,\r\n oldValue: oldValue,\r\n newValue: newValue,\r\n origEvent: null\r\n };\r\n this.emitChanged(event);\r\n }\r\n }\r\n\r\n public propertiesToJSON(objectToExtend: any) {\r\n Object.keys(this).forEach((propertyName: string) => {\r\n const propertyNameAsString: String = String(propertyName);\r\n if (propertyNameAsString.startsWith('_')) {\r\n // we want to get only the properties starting with the underscore.\r\n const setGetPropertyName = propertyNameAsString.substring(1);\r\n objectToExtend[setGetPropertyName] = (this)[propertyName];\r\n }\r\n });\r\n\r\n // we don't have to return it since the work is being done on the given reference. but\r\n // it makes the api simpler\r\n return objectToExtend;\r\n }\r\n\r\n}\r\n","export enum AuthMethod {\r\n UsernamePassword,\r\n ServiceProviderAuth,\r\n ApplicationUser,\r\n}\r\nexport enum DataCenter {\r\n US = 1,\r\n EU = 2,\r\n AU = 3,\r\n CA = 4,\r\n Dev = 101,\r\n QA = 102,\r\n PreProd = 103,\r\n}\r\n\r\nexport interface ApiSsoState {\r\n isNewAccount: boolean;\r\n accountKey: string;\r\n redirectUrl: string;\r\n}\r\nexport enum CrmConnectionType {\r\n UsernamePassword = 0,\r\n SSO = 1,\r\n OauthV2 = 2,\r\n}\r\nexport enum CrmAuthenticationType {\r\n ADFS = 1,\r\n PASSPORT = 1,\r\n OnlineFederation = 3,\r\n}\r\nexport interface InterfaceSettingsApiResponse {\r\n options?: AnalyticsOptions;\r\n accountKey?: string | null;\r\n azureActiveDirectoryTenantId: string | null;\r\n azureActiveDirectoryApplicationId: string | null;\r\n azureActiveDirectoryApplicationKey: string | null;\r\n azureAdClientId: string;\r\n azureKeyVaultCertificateIdentifier: string | null;\r\n azureActiveDirectoryRefreshToken: string | null;\r\n contactEmail: string | null;\r\n crmAccountName: string | null;\r\n crmAuthenticationType: CrmAuthenticationType;\r\n crmConnectionType: CrmConnectionType;\r\n crmLocationsXml?: string | null;\r\n crmUserDomain?: string | null;\r\n crmLocationUrl: string;\r\n crmConnectionComputedType: CrmConnectionComputedType;\r\n crmUserName?: string | null;\r\n crmUserPassword?: string | null;\r\n hasAzureActiveDirectoryRefreshToken?: boolean;\r\n hasAzureActiveDirectoryApplicationKey: boolean;\r\n hasCrmUserPassword?: boolean;\r\n isRelay?: boolean;\r\n}\r\nexport interface AnalyticsOptions {\r\n email: string;\r\n region: DataCenter;\r\n version: CrmVersion;\r\n}\r\nexport enum CrmVersion {\r\n MS_CRM_2013 = 5,\r\n MS_CRM_2013_ONLINE_FED = 6,\r\n MS_CRM_2015 = 7,\r\n MS_CRM_2015_ONLINE_FED = 8,\r\n MS_CRM_2016 = 9,\r\n MS_CRM_2016_ONLINE_FED = 10,\r\n D365_8_2_X_8_3_X_ONLINE_FED = 11,\r\n D365_8_2_X_8_3_X = 12,\r\n D365_9_0_X = 13,\r\n D365_9_0_X_ONLINE_FED = 14,\r\n D365_9_1_OR_HIGHER = 15,\r\n D365_9_1_X_ONLINE_FED = 16,\r\n}\r\nexport enum CrmConnectionComputedType {\r\n OnPremise = 0,\r\n Online = 1,\r\n OnlineOAuth = 2,\r\n OnlineOffice365 = 3,\r\n ServiceBus = 4,\r\n SsoUserImpersonationUsingRefreshToken = 5,\r\n SsoApplicationUser = 6,\r\n SsoApplicationUserCertificate = 7,\r\n}\r\nexport enum AppUserType {\r\n Secret,\r\n Certificate,\r\n}\r\n","export interface HashTable {\r\n [key: string]: T;\r\n}\r\n\r\nexport enum FeatureFlags {\r\n CredentialsSSO = 'spa-credentials-sso',\r\n mobileMessagingSpaOnlyTwilio = 'mobile-messaging-spa-only-twilio',\r\n MobileMessagingV2 = 'mobile-messaging-v2',\r\n}\r\n","// start:ng42.barrel\r\nexport * from './base-model';\r\nexport * from './oktopost.interface';\r\nexport * from './files.interface';\r\nexport * from './general.interfaces';\r\nexport * from './angular-extras';\r\nexport * from './credentials.interfaces';\r\n// end:ng42.barrel\r\n","export interface Account {\r\n accountId: string;\r\n accountKey: string;\r\n company: string;\r\n email: string;\r\n externalID: string;\r\n firstName: string;\r\n lastName: string;\r\n licenseId: string;\r\n ownerApiKey: string;\r\n password: string;\r\n status: string;\r\n activeBoardUsers: string;\r\n activeUsers: string;\r\n campaignCount: number;\r\n created: string;\r\n credentialCount: number;\r\n lastLogin: string;\r\n name: string;\r\n ownerName: string;\r\n timezone: string;\r\n totalUsers: number;\r\n}\r\n\r\nexport interface CName {\r\n accountId: string;\r\n created: string;\r\n id: string;\r\n modified: string;\r\n name: string;\r\n hasCdIntegration: boolean;\r\n}\r\n\r\nexport interface Integration {\r\n accountId: string;\r\n cnameId: string;\r\n created: string;\r\n id: string;\r\n modified: string;\r\n name: string;\r\n settingsData: any;\r\n state: string;\r\n status: string;\r\n type: string;\r\n version: number;\r\n assets: {\r\n credentials: SocialProfile[];\r\n };\r\n}\r\nexport interface Profile {\r\n created: string;\r\n id: string;\r\n imageLink: string;\r\n name: string;\r\n displayName: string;\r\n network: string;\r\n networkUsername: string;\r\n status: string;\r\n}\r\nexport interface SocialProfile {\r\n cName?: CName;\r\n created: string;\r\n id: string;\r\n name: string;\r\n network: string;\r\n networkUsername: string;\r\n status: string;\r\n type: string;\r\n isConnected: boolean;\r\n}\r\n\r\nexport interface User {\r\n id: string;\r\n name: string;\r\n email: string;\r\n lastLogin: string;\r\n role: string;\r\n timezone: string;\r\n}\r\nexport interface SocialPost {\r\n Id: string;\r\n PostId: string;\r\n CampaignId: string;\r\n MessageId: string;\r\n CredentialId: string;\r\n LinkId: string;\r\n LinkIds: string[];\r\n Created: string;\r\n Modified: string;\r\n Status: string; // todo need to define types\r\n Network: string; // todo need to define types\r\n RemoteId: string;\r\n RemoteUrl: string;\r\n Error: string;\r\n}\r\nexport interface OktopostLink {\r\n Created: string;\r\n Hash: string;\r\n LongUrl: string;\r\n ShortUrl: string;\r\n Id: string;\r\n Modified: string;\r\n AccountId: string;\r\n CampaignId: string;\r\n MessageId: string;\r\n PostId: string;\r\n PostlogId: string;\r\n Clicks: number;\r\n Converts: number;\r\n CredentialId: string;\r\n}\r\n\r\nexport enum SocialMessageType {\r\n linkAttachment = 'link-attachment',\r\n Image = 'image',\r\n Video = 'video',\r\n Text = 'text',\r\n}\r\ntype MediaType = 'Image' | 'Video';\r\nexport interface SocialPostMessage {\r\n message: SocialMessage;\r\n socialPost: SocialPost;\r\n profile: Profile;\r\n links: OktopostLink[];\r\n}\r\nexport interface SocialMessage {\r\n Id: string;\r\n Created: string;\r\n Modified: string;\r\n Status: string;\r\n AccountId: string;\r\n CreatedBy: string;\r\n ModifiedBy: string;\r\n CampaignId: string;\r\n Network: string;\r\n Subject: string;\r\n Message: string;\r\n Md5: string;\r\n ImageUrl: string;\r\n Description: string;\r\n LinkTitle: string;\r\n LinkUrl: string;\r\n Url: string;\r\n Type: SocialMessageType;\r\n Clicks: number;\r\n ChildClicks: number;\r\n BoardClicks: number;\r\n Converts: number;\r\n ChildConverts: number;\r\n BoardConverts: number;\r\n ChildrenCount: number;\r\n Picture: string;\r\n IsBoardMessage: number;\r\n Media: Media[];\r\n}\r\nexport interface Media {\r\n Id: string;\r\n Created: string;\r\n Modified: string;\r\n AccountId: string;\r\n Status: string;\r\n CreatedBy: string;\r\n ModifiedBy: string;\r\n Type: MediaType;\r\n Size: number;\r\n Resource: string;\r\n Name: string;\r\n Description: string;\r\n}\r\n","/* tslint:disable */\r\n\r\nexport class PixiConfiguration {\r\n\r\n public pixieConfig: any = {\r\n baseUrl: '/assets/js-libs/pixie',\r\n crossOrigin: true,\r\n languages: {\r\n active: 'default',\r\n custom: {\r\n french: {\r\n filter: \"filtre\",\r\n resize: \"redimensionnement\",\r\n crop: \"rognage\",\r\n transform: \"transformation\",\r\n draw: \"dessin\",\r\n text: \"texte\",\r\n shapes: \"formes\",\r\n stickers: \"autocollants\",\r\n frame: \"cadre\",\r\n corners: \"coins\",\r\n \"History\": \"Historique\",\r\n \"Objects\": \"Objets\",\r\n \"Canvas Background\": \"Arrière-plan du canevas\",\r\n \"Width\": \"Largeur\",\r\n \"Height\": \"Hauteur\",\r\n \"Brush Color\": \"Couleur du pinceau\",\r\n \"Brush Type\": \"Type de pinceau\",\r\n \"Brush Size\": \"Taille du pinceau\",\r\n \"Cancel\": \"Annuler\",\r\n \"Close\": \"Fermer\",\r\n \"Apply\": \"Appliquer\",\r\n \"Size\": \"Taille\",\r\n \"Maintain Aspect Ratio\": \"Conserver les proportions\",\r\n \"Use Percentages\": \"Utiliser les pourcentages\",\r\n \"Radius\": \"Rayon\",\r\n \"Align Text\": \"Aligner le texte\",\r\n \"Format Text\": \"Mettre le texte en forme\",\r\n \"Color Picker\": \"Sélecteur de couleurs\",\r\n \"Add Text\": \"Ajouter du texte\",\r\n \"Font\": \"Police\",\r\n \"Upload\": \"Charger\",\r\n \"Google Fonts\": \"Polices de Google\",\r\n \"Search...\": \"Recherche...\",\r\n \"Shadow\": \"Ombre\",\r\n \"Color\": \"Couleur\",\r\n \"Outline\": \"Contour\",\r\n \"Background\": \"Arrière-plan\",\r\n \"Texture\": \"Texture\",\r\n \"Gradient\": \"Gradué\",\r\n \"Text Style\": \"Style du texte\",\r\n \"Delete\": \"Supprimer\",\r\n \"Background Color\": \"Couleur d’arrière-plan\",\r\n \"Outline Width\": \"Largeur du contour\",\r\n \"Blur\": \"Flou\",\r\n \"Offset X\": \"Décalage X\",\r\n \"Offset Y\": \"Décalage Y\",\r\n \"Open\": \"Ouvrir\",\r\n \"Save\": \"Enregistrer\",\r\n \"Zoom\": \"Zoom\",\r\n \"Editor\": \"Éditeur\",\r\n \"Initial\": \"Initial\",\r\n \"shape\": \"forme\",\r\n \"sticker\": \"autocollant\",\r\n \"main Image\": \"Image principale\",\r\n \"corner\": \"coin\",\r\n \"opacity\": \"opacité\",\r\n \"drawing\": \"dessin\",\r\n \"applied: opacity\": \"appliqué: opacité\",\r\n \"applied: shadow\": \"appliqué: ombre\",\r\n \"applied: color\": \"appliqué: couleur\",\r\n \"applied: outline\": \"appliqué: contour\",\r\n \"applied: background\": \"appliqué: arrière-plan\",\r\n \"applied: texture\": \"appliqué: texture\",\r\n \"applied: gradient\": \"appliqué: gradué\",\r\n \"applied: filter\": \"appliqué : filtre\",\r\n \"applied: resize\": \"appliqué : redimensionnement\",\r\n \"applied: crop\": \"appliqué : rognage\",\r\n \"applied: transform\": \"appliqué : transformation\",\r\n \"applied: separator\": \"appliqué : séparateur\",\r\n \"applied: draw\": \"appliqué : dessin\",\r\n \"applied: text\": \"appliqué : texte\",\r\n \"applied: shapes\": \"appliqué : formes\",\r\n \"applied: stickers\": \"appliqué : autocollants\",\r\n \"applied: frame\": \"appliqué : cadre\",\r\n \"applied: corners\": \"appliqué : coin\",\r\n \"circle\": \"cercle\",\r\n \"rectangle\": \"rectangle\",\r\n \"triangle\": \"triangle\",\r\n \"ellipse\": \"ellipse\",\r\n \"Arrow #1\": \"Flèche n°1\",\r\n \"Arrow #2\": \"Flèche n°2\",\r\n \"Arrow #3\": \"Flèche n°3\",\r\n \"Line\": \"Ligne\",\r\n \"Star\": \"Étoile\",\r\n \"Polygon\": \"Polygone\",\r\n \"Badge\": \"Badge\",\r\n \"deleted: shape\": \"Supprimé: forme\",\r\n \"deleted: opacity\": \"Supprimé: opacité\",\r\n \"deleted: shadow\": \"Supprimé: ombre\",\r\n \"deleted: color\": \"Supprimé: couleur\",\r\n \"deleted: outline\": \"Supprimé: contour\",\r\n \"deleted: background\": \"Supprimé: arrière-plan\",\r\n \"deleted: texture\": \"Supprimé: texture\",\r\n \"deleted: gradient\": \"Supprimé: dégradé\",\r\n \"deleted: filter\": \"Supprimé: filtre\",\r\n \"deleted: resize\": \"Supprimé: redimensionnement\",\r\n \"deleted: crop\": \"Supprimé: rognage\",\r\n \"deleted: transform\": \"Supprimé: transformation\",\r\n \"deleted: separator\": \"Supprimé: séparateur\",\r\n \"deleted: draw\": \"Supprimé: dessin\",\r\n \"deleted: text\": \"Supprimé: texte\",\r\n \"deleted: shapes\": \"Supprimé: formes\",\r\n \"deleted: stickers\": \"Supprimé: autocollants\",\r\n \"deleted: frame\": \"Supprimé: cadre\",\r\n \"deleted: corners\": \"Supprimé: coins\",\r\n \"deleted: color Controls\": \"Supprimé Contrôles de couleur\",\r\n \"applied: color Controls\": \"Appliqué : Contrôles de couleur\",\r\n \"Duplicate\": \"Dupliquer\",\r\n \"Flip\": \"Faire pivoter\",\r\n \"Bring to front\": \"Mettre au premier plan\",\r\n \"Customize\": \"Personnaliser\"\r\n\r\n }\r\n }\r\n },\r\n ui: {\r\n mode: 'overlay',\r\n openImageDialog: { show: false },\r\n toolbar: {\r\n hideOpenButton: true,\r\n hideCloseButton: false,\r\n },\r\n nav: {\r\n position: 'top',\r\n replaceDefault: true,\r\n items: [\r\n { name: 'filter', icon: 'filter-custom', action: 'filter' },\r\n { type: 'separator' },\r\n { name: 'resize', icon: 'resize-custom', action: 'resize' },\r\n { name: 'crop', icon: 'crop-custom', action: 'crop' },\r\n { name: 'transform', icon: 'transform-custom', action: 'transform' },\r\n { type: 'separator' },\r\n { name: 'draw', icon: 'pencil-custom', action: 'draw' },\r\n { name: 'text', icon: 'text-box-custom', action: 'text' },\r\n { name: 'shapes', icon: 'polygon-custom', action: 'shapes' },\r\n { name: 'stickers', icon: 'sticker-custom', action: 'stickers' },\r\n { name: 'frame', icon: 'frame-custom', action: 'frame' },\r\n { type: 'separator' },\r\n { name: 'corners', icon: 'rounded-corner-custom', action: 'corners' },\r\n { name: 'background', icon: 'background-custom', action: 'background' },\r\n //{ name: 'merge', icon: 'merge-custom', action: DrawerName.MERGE },\r\n ]\r\n }\r\n\r\n }\r\n }\r\n\r\n constructor() {\r\n ;\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './lookup-autocomplete-data';\r\nexport * from './lookup-autocomplete.component';\r\nexport * from './lookup-dialog.api';\r\nexport * from './lookup-dialog.component';\r\nexport * from './lookup-dialog.module';\r\nexport * from './lookup-dialog.service';\r\nexport * from './lookup-grid.component';\r\nexport * from './lookup-input/lookup-input.component';\r\n// end:ng42.barrel\r\n\r\n","import { Observable, Subscription } from 'rxjs';\r\nimport { LookupDialogService } from './lookup-dialog.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport { CompleterItem } from '../ngx-completer/model/completer-item';\r\nimport { DataService } from '../ngx-completer/services/data.service';\r\n\r\nexport class LookupAutocompleteData extends DataService {\r\n private remoteSearch: Subscription;\r\n private _dataField: string | null = null;\r\n\r\n constructor(private lookupDialogService: LookupDialogService) {\r\n super();\r\n }\r\n\r\n public dataField(dataField: string) {\r\n this._dataField = dataField;\r\n }\r\n\r\n public search(term: string): Observable {\r\n this.cancel();\r\n \r\n return this.lookupDialogService.getAutocompleteOptions(term)\r\n .pipe(map(data => this.extractValue(data.Items || [], this._dataField)))\r\n .pipe(map(values => this.extractMatches(values, term)))\r\n .pipe(map(matches => this.processResults(matches)));\r\n }\r\n\r\n public cancel() {\r\n if (this.remoteSearch) {\r\n this.remoteSearch.unsubscribe();\r\n }\r\n }\r\n\r\n public convertToItem(data: any): CompleterItem | null {\r\n return super.convertToItem(data);\r\n }\r\n}\r\n\r\n\r\nexport function autocompleteDataFactory (lookupDialogService: LookupDialogService, httpClient: HttpClient) {\r\n return () => {\r\n return new LookupAutocompleteData(lookupDialogService);\r\n };\r\n}\r\n\r\nexport let AutocompleteDataFactoryProvider = {\r\n provide: LookupAutocompleteData,\r\n useFactory: autocompleteDataFactory,\r\n deps: [LookupDialogService]\r\n};\r\n","import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';\r\nimport { LookupAutocompleteData } from './lookup-autocomplete-data';\r\nimport { DataService } from '../ngx-completer/services/data.service';\r\nimport { CompleterItem } from '../ngx-completer/model/completer-item';\r\n\r\n@Component({\r\n selector: 'lookup-autocomplete',\r\n styles: [\r\n `\r\n .searchBtn {\r\n display: block;\r\n width: 20px;\r\n height: 22px;\r\n background: url(../../../../assets/images/btn_on_lookup.png) no-repeat center center;\r\n cursor: pointer;\r\n }\r\n `\r\n ],\r\n template: `\r\n \r\n \r\n `\r\n})\r\n\r\nexport class LookupAutocompleteComponent {\r\n @Input() filter: string;\r\n @Output() newFilterSelected: EventEmitter = new EventEmitter();\r\n public dataSource: DataService;\r\n\r\n constructor(@Inject(LookupAutocompleteData) private autocompleteDataFactory: any) {\r\n this.dataSource = this.remote('EntityName', 'EntityName');\r\n }\r\n\r\n onNewFilterSelected(selected: CompleterItem) {\r\n if (selected) {\r\n this.search();\r\n }\r\n }\r\n\r\n search() {\r\n this.newFilterSelected.emit(this.filter);\r\n }\r\n\r\n remote(searchFields: string | null = '', titleField: string | null = ''): LookupAutocompleteData {\r\n const remoteData = this.autocompleteDataFactory();\r\n return remoteData\r\n .searchFields(searchFields)\r\n .titleField(titleField);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountService } from '../services/account.service';\r\nimport { Observable } from 'rxjs';\r\nimport { LookupRequestInfo } from './lookup-grid.component';\r\nimport { HttpService } from '../http/http.service';\r\n\r\n@Injectable()\r\nexport class LookupDialogApi {\r\n\r\n readonly baseUrl: string;\r\n readonly commonWebApiBaseUrl: string;\r\n \r\n private _entityId: number;\r\n\r\n get entityId(): number {\r\n return this._entityId;\r\n }\r\n\r\n set entityId(value: number) {\r\n this._entityId = value;\r\n }\r\n \r\n constructor(private httpService: HttpService, private accountService: AccountService) {\r\n this.baseUrl = `${this.accountService.baseUrl}/api/LookupDialog_v2/LookupDialog`; \r\n }\r\n\r\n getAutocompleteOptions(searchTerm: string, entityId: number, count: number = 10): Observable {\r\n const searchData = { 'entityId': entityId, 'count': count, 'searchTerm': searchTerm };\r\n return this.httpService.post(searchData, this.accountService.getUrlExternalBase('AutocompleteOptions', this.baseUrl));\r\n }\r\n\r\n getRecords(pageInfo: LookupRequestInfo) { \r\n switch (pageInfo.entityType) {\r\n // Uncomment these when start working with common web:\r\n //case CrmEntityTypeEnum.Contact:\r\n //return this.httpService.post(this.commonWebApiBaseUrl + 'contact/search', null, this.getHttpHeader());\r\n //case CrmEntityTypeEnum.Lead:\r\n //return this.httpService.post(this.commonWebApiBaseUrl + 'lead/search', null, ); \r\n default:\r\n let queryParams = `&pageType=${pageInfo.pageType}&pageSize=${pageInfo.pageSize}¤tPageIndex=${pageInfo.currentPageIndex}&` +\r\n `entityViewId=${pageInfo.entityViewId}`;\r\n\r\n if (pageInfo.entitySubType) {\r\n queryParams += `&entitySubType=${pageInfo.entitySubType}`;\r\n }\r\n if (pageInfo.filter) {\r\n queryParams += `&filter=${pageInfo.filter}`;\r\n }\r\n if (pageInfo.refresh) {\r\n queryParams += `&refresh=${pageInfo.refresh}`;\r\n }\r\n if (pageInfo.isDescendingSort) {\r\n queryParams += `&isDescendingSort=${pageInfo.isDescendingSort}`;\r\n }\r\n if (pageInfo.sortColumnName) {\r\n queryParams += `&sortColumnName=${pageInfo.sortColumnName}`;\r\n }\r\n if (pageInfo.editorType) {\r\n queryParams += `&editorType=${pageInfo.editorType}`;\r\n }\r\n\r\n return this.httpService.get(this.accountService.getUrlExternalBase('GetRecords', this.baseUrl) + queryParams);\r\n } \r\n }\r\n\r\n getEntityViews(pageInfo: LookupRequestInfo) {\r\n let queryParams = `&pageType=${pageInfo.pageType}`;\r\n if (pageInfo.entitySubType) {\r\n queryParams += `&entitySubType=${pageInfo.entitySubType}`;\r\n }\r\n\r\n if (pageInfo.includeLookupViews) {\r\n queryParams += '&includeLookupViews=true';\r\n } else {\r\n queryParams += '&includeLookupViews=false';\r\n }\r\n\r\n if (pageInfo.editorType) {\r\n queryParams += `&editorType=${pageInfo.editorType}`;\r\n }\r\n\r\n\r\n return this.httpService.get(this.accountService.getUrlExternalBase('GetEntityViews', this.baseUrl) + queryParams);\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","import { Component, TemplateRef, ViewChild } from '@angular/core';\r\nimport { DialogBase, DialogCloseReason } from '../dialogs/base-dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LookupGridComponent, LookupRequestInfo } from './lookup-grid.component';\r\nimport { LookupDialogService } from './lookup-dialog.service';\r\nimport { ISimpleDropdownOption } from '../components/simple-dropdown/simple-dropdown.component';\r\nimport { CrmEntityLookupKnownSubType, CrmEntityTypeEnum } from '../crm-entities/crm-entities.model';\r\nimport { Logger } from '../monitoring/logger/logger';\r\n\r\nexport type EntitySubTypes = { [id in CrmEntityTypeEnum]?: CrmEntityLookupKnownSubType; } | { [id in CrmEntityTypeEnum]?: string; } | { [id: number]: CrmEntityLookupKnownSubType; } | { [id: number]: string; };\r\n\r\nexport interface ILookupEntityData {\r\n name: string;\r\n id: CrmEntityTypeEnum;\r\n}\r\n\r\nexport interface BaseLookupEntity {\r\n Id: string;\r\n Name: string;\r\n CurrencyName: string;\r\n entityType: string;\r\n}\r\n\r\nexport interface ILookupDialogResultData {\r\n fieldList: ILookupColumn[];\r\n selected: any[];\r\n entityType: CrmEntityTypeEnum;\r\n entityName: string;\r\n}\r\n\r\nexport interface ILookupColumn {\r\n displayName: string;\r\n field: string;\r\n sortable: boolean;\r\n visible: boolean;\r\n width: string;\r\n}\r\n\r\nexport interface ILookupView {\r\n FetchXML: string;\r\n Id: string;\r\n IsDefault: boolean;\r\n Name: string;\r\n}\r\n\r\nexport interface ILookupDialogConfig {\r\n entityTypes?: CrmEntityTypeEnum[];\r\n entitySubTypes?: EntitySubTypes;\r\n singleSelection?: boolean;\r\n includeLookupViews?: boolean;\r\n editorType?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'lookup-dialog',\r\n templateUrl: './lookup-dialog.html'\r\n})\r\n\r\nexport class LookupDialogComponent extends DialogBase {\r\n @ViewChild('grid', {static: false}) gridComponent: LookupGridComponent;\r\n isLoading: boolean = true;\r\n entityTypes: ISimpleDropdownOption[] = [];\r\n entityType: CrmEntityTypeEnum;\r\n entitySubTypes?: { [id: number]: string; };\r\n entityName: string;\r\n entityViews: ISimpleDropdownOption[] = [];\r\n\r\n gridSelectionType: string;\r\n\r\n fieldList: ILookupColumn[] = [];\r\n selected: BaseLookupEntity[] = [];\r\n multiSelectedHash = {};\r\n multiSelectedHashIsEmpty = true;\r\n\r\n changedRequestInfoAttribute: string;\r\n\r\n requestInfo: LookupRequestInfo = {\r\n pageType: '',\r\n pageSize: 50,\r\n currentPageIndex: 1,\r\n entityViewId: '',\r\n filter: '',\r\n entityType: 0,\r\n includeLookupViews: true,\r\n };\r\n\r\n dialogConfig: ILookupDialogConfig;\r\n\r\n constructor(private lookupDialogService: LookupDialogService,\r\n private logger: Logger,\r\n private translate: TranslateService) {\r\n super();\r\n\r\n }\r\n\r\n setLoading(isLoading: boolean) {\r\n this.isLoading = isLoading;\r\n }\r\n\r\n close() {\r\n super.close({ reason: DialogCloseReason.CANCEL });\r\n }\r\n\r\n add() {\r\n const lookupDialogResultData: ILookupDialogResultData = {\r\n selected: this.dialogConfig.singleSelection ? this.selected : Object.values(this.multiSelectedHash),\r\n fieldList: this.fieldList,\r\n entityType: this.entityType,\r\n entityName: this.entityName\r\n };\r\n super.close({ reason: DialogCloseReason.OK, data: lookupDialogResultData });\r\n }\r\n\r\n onViewIdChange(entityViewId: any) {\r\n this.requestInfo.entityViewId = entityViewId;\r\n this.requestInfo.currentPageIndex = 1;\r\n this.requestInfo.filter = '';\r\n this.changedRequestInfoAttribute = 'entityViewId';\r\n this.clearChangedRequestInfoAttribute();\r\n this.requestInfo = new LookupRequestInfo(this.requestInfo);\r\n }\r\n\r\n onEntityTypeChange(entityType: CrmEntityTypeEnum) {\r\n this.entityViews = [];\r\n this.selected = [];\r\n\r\n if (entityType) {\r\n this.entityType = Number(entityType);\r\n this.entityName = CrmEntityTypeEnum[this.entityType];\r\n this.lookupDialogService.entityType = this.entityType;\r\n this.requestInfo.entityType = entityType;\r\n if (this.entitySubTypes) {\r\n this.requestInfo.entitySubType = this.entitySubTypes[this.entityType];\r\n }\r\n this.onViewIdChange('');\r\n }\r\n\r\n this.loadEntityData();\r\n }\r\n\r\n clearChangedRequestInfoAttribute() {\r\n setTimeout(() => {\r\n this.changedRequestInfoAttribute = '';\r\n }, 1000);\r\n }\r\n\r\n newFilterSelected(filter: string) {\r\n this.requestInfo.filter = filter;\r\n this.changedRequestInfoAttribute = 'filter';\r\n this.clearChangedRequestInfoAttribute();\r\n this.requestInfo = new LookupRequestInfo(this.requestInfo);\r\n }\r\n\r\n setEntityData() {\r\n switch (this.entityType) {\r\n case CrmEntityTypeEnum.MarketingList:\r\n this.requestInfo.pageType = 'list';\r\n break;\r\n case CrmEntityTypeEnum.User:\r\n this.requestInfo.pageType = 'systemuser';\r\n break;\r\n case CrmEntityTypeEnum.Contact:\r\n this.requestInfo.pageType = 'contact';\r\n break;\r\n case CrmEntityTypeEnum.Lead:\r\n this.requestInfo.pageType = 'lead';\r\n break;\r\n case CrmEntityTypeEnum.Account:\r\n this.requestInfo.pageType = 'account';\r\n break;\r\n case CrmEntityTypeEnum.Team:\r\n this.requestInfo.pageType = 'team';\r\n break;\r\n case CrmEntityTypeEnum.Workflow:\r\n this.requestInfo.pageType = 'workflow';\r\n break;\r\n case CrmEntityTypeEnum.EmailTemplate:\r\n this.requestInfo.pageType = 'cdi_emailtemplate';\r\n break;\r\n case CrmEntityTypeEnum.EmailSend:\r\n this.requestInfo.pageType = 'cdi_emailsend';\r\n break;\r\n case CrmEntityTypeEnum.WebForm:\r\n this.requestInfo.pageType = 'cdi_webcontent';\r\n break;\r\n case CrmEntityTypeEnum.FormCapture:\r\n this.requestInfo.pageType = 'cdi_formcapture';\r\n break;\r\n case CrmEntityTypeEnum.FormField:\r\n this.requestInfo.pageType = 'cdi_formfield';\r\n break;\r\n case CrmEntityTypeEnum.SurveyQuestion:\r\n this.requestInfo.pageType = 'cdi_surveyquestion';\r\n break;\r\n case CrmEntityTypeEnum.Domain:\r\n this.requestInfo.pageType = 'cdi_domain';\r\n break;\r\n case CrmEntityTypeEnum.Campaign:\r\n this.requestInfo.pageType = 'campaign';\r\n break;\r\n case CrmEntityTypeEnum.EmailCName:\r\n this.requestInfo.pageType = 'cdi_emailcname';\r\n break;\r\n case CrmEntityTypeEnum.Currency:\r\n this.requestInfo.pageType = 'transactioncurrency';\r\n break;\r\n case CrmEntityTypeEnum.Event:\r\n this.requestInfo.pageType = 'cdi_event';\r\n break;\r\n case CrmEntityTypeEnum.ContactAttributes:\r\n this.requestInfo.pageType = 'contact_attributes';\r\n break;\r\n case CrmEntityTypeEnum.LeadAttributes:\r\n this.requestInfo.pageType = 'lead_attributes';\r\n break;\r\n case CrmEntityTypeEnum.SubscriptionList:\r\n this.requestInfo.pageType = 'cdi_subscriptionlist';\r\n break;\r\n }\r\n }\r\n\r\n loadEntityData() {\r\n this.setEntityData();\r\n this.getEntityViews();\r\n }\r\n\r\n initDialog() {\r\n this.dialogConfig = this.extraData as ILookupDialogConfig;\r\n\r\n const entityTypes: CrmEntityTypeEnum[] = this.dialogConfig.entityTypes ? this.dialogConfig.entityTypes : [CrmEntityTypeEnum.User];\r\n\r\n if (this.dialogConfig.entitySubTypes) {\r\n this.entitySubTypes = this.dialogConfig.entitySubTypes;\r\n }\r\n\r\n for (let i = 0; i < entityTypes.length; i++) {\r\n if (entityTypes[i]) {\r\n const entityType: ISimpleDropdownOption = {\r\n displayText: this.translate.instant(`COMMON.CRM_ENTITY_NAMES.${CrmEntityTypeEnum[entityTypes[i]]}`),\r\n value: entityTypes[i]\r\n };\r\n this.entityTypes.push(entityType);\r\n }\r\n\r\n }\r\n\r\n this.gridSelectionType = 'single';\r\n if (this.dialogConfig.singleSelection !== undefined && this.dialogConfig.singleSelection !== null) {\r\n this.gridSelectionType = this.dialogConfig.singleSelection ? 'single' : 'multiClick';\r\n } else {\r\n this.dialogConfig.singleSelection = true;\r\n }\r\n\r\n if (this.entityTypes && this.entityTypes.length > 0) {\r\n this.entityType = this.entityTypes[0].value;\r\n this.entityName = this.translate.instant(`COMMON.CRM_ENTITY_NAMES.${CrmEntityTypeEnum[this.entityType]}`);\r\n this.lookupDialogService.entityType = this.entityType;\r\n this.requestInfo.entityType = this.entityType;\r\n if (this.entitySubTypes) {\r\n this.requestInfo.entitySubType = this.entitySubTypes[this.entityType];\r\n }\r\n this.onViewIdChange('');\r\n }\r\n\r\n if (this.dialogConfig.editorType) {\r\n this.requestInfo.editorType = this.dialogConfig.editorType;\r\n }\r\n\r\n if (this.dialogConfig.includeLookupViews !== null && this.dialogConfig.includeLookupViews !== undefined) {\r\n this.requestInfo.includeLookupViews = this.dialogConfig.includeLookupViews;\r\n }\r\n\r\n this.loadEntityData();\r\n }\r\n\r\n getEntityViews() {\r\n this.lookupDialogService.getEntityViews(this.requestInfo)\r\n .subscribe((data) => this.handleEntityViewsResult(data),\r\n (err) => {\r\n this.handleEntityViewsError(err);\r\n });\r\n }\r\n\r\n handleEntityViewsResult(res: ILookupView[]) {\r\n if (res) {\r\n const entityViews = res;\r\n this.entityViews = entityViews.map((val: ILookupView) => {\r\n return { value: val.Id, displayText: val.Name };\r\n });\r\n for (let i = 0; i < entityViews.length; i++) {\r\n if (entityViews[i].IsDefault) {\r\n this.requestInfo.entityViewId = entityViews[i].Id;\r\n break;\r\n }\r\n }\r\n if ((!this.requestInfo.entityViewId || this.requestInfo.entityViewId.length === 0) && entityViews.length > 0) {\r\n this.requestInfo.entityViewId = entityViews[0].Id;\r\n }\r\n\r\n this.onViewIdChange(this.requestInfo.entityViewId);\r\n }\r\n }\r\n\r\n handleEntityViewsError(error: any) {\r\n this.logger.error(`error in get entity views from server: ${error.originalError || error}`);\r\n }\r\n\r\n selectedRecordsChanged(selected: any[]) {\r\n this.selected = selected;\r\n }\r\n\r\n columnsChanged(fieldList: ILookupColumn[]) {\r\n this.fieldList = fieldList;\r\n }\r\n\r\n onMultiSelectRemove(entityToRemove: BaseLookupEntity | any, event: MouseEvent) {\r\n event.stopPropagation();\r\n\r\n delete this.multiSelectedHash[entityToRemove.Id];\r\n if (Object.keys(this.multiSelectedHash).length === 0) {\r\n this.multiSelectedHashIsEmpty = true;\r\n }\r\n }\r\n\r\n onMultiSelectAdd() {\r\n this.selected.forEach((selectedIntity: BaseLookupEntity) => {\r\n this.multiSelectedHash[selectedIntity.Id] = selectedIntity;\r\n this.multiSelectedHashIsEmpty = false;\r\n });\r\n\r\n this.gridComponent.clearSelected();\r\n }\r\n\r\n shouldAddBeDisabled() {\r\n return this.dialogConfig && (\r\n (this.dialogConfig.singleSelection && this.selected.length === 0) ||\r\n (!this.dialogConfig.singleSelection && this.multiSelectedHashIsEmpty)\r\n );\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DialogModule } from '../dialogs/dialogs.module';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { CommonDirectivesModule } from '../directives/common-directives.module';\r\nimport { LookupDialogComponent } from './lookup-dialog.component';\r\nimport { LookupAutocompleteComponent } from './lookup-autocomplete.component';\r\nimport { LookupGridComponent } from './lookup-grid.component';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { AutocompleteDataFactoryProvider } from './lookup-autocomplete-data';\r\nimport { LookupDialogService } from './lookup-dialog.service';\r\nimport { LookupDialogApi } from './lookup-dialog.api';\r\nimport { CommonComponentsModule } from '../components/common-components.module';\r\nimport { LookupInputComponent } from './lookup-input/lookup-input.component';\r\nimport { NgxCompleterModule } from '../ngx-completer/ngx-completer.module';\r\n\r\nconst components = [\r\n LookupDialogComponent, LookupAutocompleteComponent, LookupGridComponent, LookupInputComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n DialogModule,\r\n TranslateModule.forChild(),\r\n CommonDirectivesModule,\r\n NgxDatatableModule,\r\n CommonComponentsModule,\r\n NgxCompleterModule\r\n ],\r\n declarations: components,\r\n providers: [LookupDialogApi, LookupDialogService, AutocompleteDataFactoryProvider],\r\n entryComponents: [LookupDialogComponent],\r\n exports: [LookupDialogComponent, LookupInputComponent],\r\n schemas: []\r\n})\r\nexport class LookupDialogModule {\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LookupRequestInfo } from './lookup-grid.component';\r\nimport { LookupDialogApi } from './lookup-dialog.api';\r\n\r\n@Injectable()\r\nexport class LookupDialogService {\r\n\r\n private _entityType: number;\r\n\r\n get entityType(): number {\r\n return this._entityType;\r\n }\r\n set entityType(value: number) {\r\n this._entityType = value;\r\n }\r\n\r\n constructor(private lookupDialogApi: LookupDialogApi) {\r\n }\r\n\r\n getAutocompleteOptions(searchTerm: string): Observable {\r\n return this.lookupDialogApi.getAutocompleteOptions(searchTerm, this.entityType, 10);\r\n }\r\n\r\n getRecords(pageInfo: LookupRequestInfo) { \r\n return this.lookupDialogApi.getRecords(pageInfo);\r\n }\r\n\r\n getEntityViews(pageInfo: LookupRequestInfo) {\r\n return this.lookupDialogApi.getEntityViews(pageInfo);\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","import {\r\n Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef, ViewChild} from '@angular/core';\r\nimport { TableColumn } from '@swimlane/ngx-datatable';\r\nimport { LookupDialogService } from './lookup-dialog.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\nexport class LookupRequestInfo {\r\n pageType: string;\r\n entitySubType?: string;\r\n pageSize: number = 50;\r\n currentPageIndex: number = 1;\r\n entityViewId: string;\r\n refresh?: boolean = false;\r\n filter?: string = '';\r\n isDescendingSort?: boolean;\r\n sortColumnName?: string;\r\n entityType: number;\r\n includeLookupViews: boolean;\r\n editorType?: string;\r\n\r\n constructor(lookupRequestInfo: LookupRequestInfo) {\r\n this.pageType = lookupRequestInfo.pageType;\r\n this.entitySubType = lookupRequestInfo.entitySubType;\r\n this.pageSize = lookupRequestInfo.pageSize;\r\n this.currentPageIndex = lookupRequestInfo.currentPageIndex;\r\n this.entityViewId = lookupRequestInfo.entityViewId;\r\n this.refresh = lookupRequestInfo.refresh;\r\n this.filter = lookupRequestInfo.filter;\r\n this.isDescendingSort = lookupRequestInfo.isDescendingSort;\r\n this.sortColumnName = lookupRequestInfo.sortColumnName;\r\n this.entityType = lookupRequestInfo.entityType;\r\n this.includeLookupViews = lookupRequestInfo.includeLookupViews;\r\n this.editorType = lookupRequestInfo.editorType;\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'grid-component',\r\n templateUrl: 'lookup-grid.html'\r\n})\r\n\r\nexport class LookupGridComponent implements OnChanges {\r\n @ViewChild('checkboxTmpl', {static: false}) checkboxTmpl: TemplateRef;\r\n @Output() loadingChanged: EventEmitter = new EventEmitter();\r\n @Output() selectedRecordsChanged: EventEmitter = new EventEmitter();\r\n @Output() columnsChanged: EventEmitter = new EventEmitter();\r\n @Input() isLoading: boolean = false;\r\n @Input() requestInfo: LookupRequestInfo;\r\n @Input() selectionType: string;\r\n @Input() entityName: string;\r\n @Input() changedRequestInfoAttribute: string;\r\n\r\n cssClasses: any = {\r\n sortAscending: 'datatable-sort-asc',\r\n sortDescending: 'datatable-sort-desc'\r\n };\r\n\r\n get messages(): any {\r\n return {\r\n emptyMessage: `\r\n
\r\n ${this.gridTextNo}\r\n ${this.entityName}\r\n ${this.gridTextNoResults}.
`\r\n };\r\n }\r\n\r\n get pageSize(): number {\r\n if (!this.requestInfo || !this.requestInfo.pageSize) {\r\n return 1;\r\n }\r\n return this.requestInfo.pageSize;\r\n }\r\n\r\n set pageSize(value: number) {\r\n this.requestInfo.pageSize = value;\r\n }\r\n\r\n get currentPageIndex(): number {\r\n if (!this.requestInfo || !this.requestInfo.currentPageIndex) {\r\n return 0;\r\n }\r\n return this.requestInfo.currentPageIndex;\r\n }\r\n\r\n set currentPageIndex(value: number) {\r\n this.requestInfo.currentPageIndex = value;\r\n }\r\n\r\n get selectedCount(): number {\r\n if (!this.selected) {\r\n return 0;\r\n }\r\n return this.selected.length;\r\n }\r\n\r\n get currPageRecordsCount(): number {\r\n if (!this.rows) {\r\n return 0;\r\n }\r\n return this.rows.length;\r\n }\r\n\r\n totalRecords: number = 0;\r\n rows: any[] = [];\r\n\r\n fieldList: any[] = [];\r\n columns: TableColumn[] = [];\r\n selected: any[] = [];\r\n\r\n offsetFirstItem: number = 0;\r\n offsetLastItem: number = 0;\r\n maxRows: number = 0;\r\n maxPages: number = 0;\r\n getRecordsRequest: any;\r\n gridTextNo: string;\r\n gridTextNoResults: string;\r\n\r\n constructor(private lookupDialogService: LookupDialogService, private translate: TranslateService) {\r\n this.gridTextNo = translate.instant('COMMON.DIALOGS.LOOKUP.GRID_TEXT_NO');\r\n this.gridTextNoResults = translate.instant('COMMON.DIALOGS.LOOKUP.GRID_TEXT_NO_RESULTS');\r\n }\r\n\r\n cantPageBackward() {\r\n return !(this.requestInfo.currentPageIndex > 1);\r\n }\r\n\r\n cantPageForward() {\r\n return !(this.requestInfo.currentPageIndex < this.maxPages);\r\n }\r\n\r\n pageToFirst() {\r\n if (this.requestInfo.currentPageIndex !== 1) {\r\n this.requestInfo.currentPageIndex = 1;\r\n this.initGrid();\r\n }\r\n }\r\n\r\n pageBackward() {\r\n const prevPageIndex = Math.max(this.requestInfo.currentPageIndex - 1, 1);\r\n if (prevPageIndex < this.requestInfo.currentPageIndex) {\r\n this.requestInfo.currentPageIndex = prevPageIndex;\r\n this.initGrid();\r\n }\r\n }\r\n\r\n pageForwardToNext() {\r\n if (this.offsetLastItem >= this.totalRecords) {\r\n return;\r\n }\r\n const nextPageIndex = Math.min(this.requestInfo.currentPageIndex + 1, this.maxPages);\r\n if (nextPageIndex > this.requestInfo.currentPageIndex) {\r\n this.requestInfo.currentPageIndex = nextPageIndex;\r\n this.initGrid();\r\n }\r\n }\r\n\r\n isToResetGrid(changes: SimpleChanges) {\r\n if (changes.lookupName && changes.lookupName.currentValue !== changes.lookupName.previousValue) {\r\n return true;\r\n }\r\n return changes.changedRequestInfoAttribute\r\n && changes.changedRequestInfoAttribute.currentValue !== changes.changedRequestInfoAttribute.previousValue\r\n && changes.changedRequestInfoAttribute.currentValue !== '';\r\n\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.isToResetGrid(changes)) {\r\n this.resetGrid();\r\n }\r\n if (changes.requestInfo && changes.requestInfo.currentValue.entityViewId !== '' &&\r\n changes.requestInfo.currentValue.entityViewId !== null) {\r\n this.initGrid();\r\n }\r\n }\r\n\r\n getId(row: any) {\r\n return row.Id;\r\n }\r\n\r\n initGrid() {\r\n if (this.requestInfo.entityViewId !== '' && this.requestInfo.entityViewId !== null) {\r\n this.setPage();\r\n }\r\n }\r\n\r\n setLoading(isLoading: boolean) {\r\n this.isLoading = isLoading;\r\n setTimeout(() => {\r\n this.loadingChanged.emit(this.isLoading);\r\n }, 0);\r\n }\r\n\r\n setPage() {\r\n this.setLoading(true);\r\n\r\n if (this.getRecordsRequest) {\r\n this.getRecordsRequest.unsubscribe();\r\n }\r\n\r\n this.getRecordsRequest = this.lookupDialogService.getRecords(this.requestInfo)\r\n .pipe(finalize(() => this.setLoading(false)))\r\n .subscribe((data) => this.handleGetRecordsResult(data),\r\n (err) => {\r\n this.handleGetRecordsError(err);\r\n });\r\n }\r\n\r\n refresh() {\r\n this.requestInfo.refresh = true;\r\n this.initGrid();\r\n }\r\n\r\n resetGrid(): void {\r\n this.columns = [];\r\n this.fieldList = [];\r\n this.selected = [];\r\n this.offsetFirstItem = 0;\r\n this.offsetLastItem = 0;\r\n this.maxRows = 0;\r\n this.maxPages = 0;\r\n this.totalRecords = 0;\r\n this.requestInfo.currentPageIndex = 1;\r\n }\r\n\r\n handleGetRecordsResult(res: any) {\r\n if (res) {\r\n this.fieldList = res.fieldList;\r\n this.createColumns(res.fieldList);\r\n\r\n this.columnsChanged.emit(this.fieldList);\r\n\r\n if (this.requestInfo.currentPageIndex === 1) {\r\n this.totalRecords = res.totalRecords;\r\n }\r\n\r\n this.rows = Object.assign([], res.entityRows);\r\n\r\n const offsetFirstItem = (this.requestInfo.currentPageIndex - 1) * (this.requestInfo.pageSize) + 1;\r\n this.offsetFirstItem = Math.min(offsetFirstItem, this.totalRecords);\r\n this.maxRows = Math.max(this.totalRecords || this.rows.length, 1);\r\n const offsetLastItems = this.requestInfo.currentPageIndex * this.requestInfo.pageSize;\r\n this.offsetLastItem = Math.min(offsetLastItems, this.totalRecords);\r\n this.maxPages = Math.ceil(this.maxRows / this.requestInfo.pageSize);\r\n }\r\n }\r\n\r\n handleGetRecordsError(error: any) {\r\n console.log(`error in get records from server: ${error.originalError || error}`);\r\n }\r\n\r\n onSort(event: any) {\r\n this.isLoading = true;\r\n this.requestInfo.isDescendingSort = event.newValue === 'desc';\r\n this.requestInfo.sortColumnName = event.column.prop;\r\n this.requestInfo.currentPageIndex = 1;\r\n this.setPage();\r\n }\r\n\r\n onSelect(selectedItems: any) {\r\n this.selected.splice(0, this.selected.length);\r\n if (selectedItems.selected && selectedItems.selected.length > 0) {\r\n this.selected.push(...selectedItems.selected);\r\n }\r\n\r\n this.selectedRecordsChanged.emit(this.selected);\r\n }\r\n\r\n clearSelected(){\r\n this.selected = [];\r\n }\r\n\r\n createColumns(columns: any[]) {\r\n if (this.columns.length === 0) {\r\n const checkboxColumn: TableColumn = {\r\n // this column acts as a spacer for the check icon. there is no real value in showing the id to the user.\r\n cellTemplate: this.checkboxTmpl, prop: 'Id', name: ' ', width: 30, minWidth: 30, maxWidth: 30\r\n };\r\n\r\n this.columns = [];\r\n this.columns.push(checkboxColumn);\r\n\r\n if (typeof columns !== 'undefined' && columns != null && columns.length > 0) {\r\n for (let i = 0; i < columns.length; i++) {\r\n if (columns[i].visible) {\r\n const column: TableColumn = {\r\n prop: columns[i].field,\r\n name: columns[i].displayName,\r\n sortable: columns[i].sortable\r\n };\r\n\r\n if (columns[i].field !== 'Id') {\r\n // hide the id column, since we are not getting data into it\r\n // and the user does not care about it anyway\r\n this.columns.push(column);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { BaseLookupEntity, ILookupDialogConfig, LookupDialogComponent, EntitySubTypes } from '../lookup-dialog.component';\r\nimport { DialogService, IDialogHandle } from '../../dialogs/dialog.service';\r\nimport { DialogCloseReason, IDialogOnClose } from '../../dialogs/base-dialog';\r\nimport { CrmEntityLookupKnownSubType, CrmEntityTypeEnum } from '../../crm-entities/crm-entities.model';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nexport const CD_LOOKUPINPUT_CONTROL_INPUT_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => LookupInputComponent),\r\n multi: true\r\n};\r\n\r\n\r\nexport interface ILookupData {\r\n name: string;\r\n id: string;\r\n};\r\n\r\nexport interface ILookupDataWithType extends ILookupData\r\n{\r\n type: CrmEntityTypeEnum;\r\n additionalEntityInfo?: any;\r\n}\r\n\r\n@Component({\r\n selector: 'lookup-input',\r\n styleUrls: ['./lookup-input.scss'],\r\n templateUrl: './lookup-input.html',\r\n providers: [CD_LOOKUPINPUT_CONTROL_INPUT_VALUE_ACCESSOR]\r\n})\r\nexport class LookupInputComponent implements ControlValueAccessor {\r\n\r\n chosenEntity: ILookupDataWithType;\r\n multipleChoosenEntities: ILookupDataWithType[] = [];\r\n lookupDialogHandle: IDialogHandle;\r\n\r\n @Input() crmEntityTypes: CrmEntityTypeEnum[];\r\n @Input() entitySubTypes?: EntitySubTypes;\r\n @Input() editorType: string;\r\n @Input() includeLookupViews = true; // include additional entity viewes by default\r\n @Input() singleSelection = true;\r\n @Input() disabled = false;\r\n\r\n // When this component is consumed with ngModel directive,\r\n // the ngModel directive will override this function (by calling the registerOnChange function)\r\n // and will update the ngModel \"value\" with the parameter passed to the function. ngModel attribute\r\n // must be present on the consuming component\r\n controlAccessorNotifyChange: (_?: any) => void = function () {\r\n // insert a noop function to make things simpler when not working with forms\r\n return;\r\n };\r\n\r\n controlAccessorNotifyTouched: () => void = function () {\r\n // insert a noop function to make things simpler when not working with forms\r\n return;\r\n };\r\n\r\n constructor(private dialogService: DialogService) {\r\n this.resetSelection();\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value !== undefined && value !== null) {\r\n if (this.singleSelection) {\r\n this.chosenEntity.name = value.name;\r\n this.chosenEntity.id = value.id;\r\n } else {\r\n if (value && Array.isArray(value) && value.length > 0) {\r\n this.multipleChoosenEntities = [];\r\n value.forEach((entity: ILookupDataWithType) => {\r\n this.multipleChoosenEntities.push({\r\n name: entity.name,\r\n id: entity.id,\r\n type: entity.type\r\n });\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.controlAccessorNotifyChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.controlAccessorNotifyTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n public openLookupDialog(event: MouseEvent) {\r\n if (this.lookupDialogHandle) {\r\n // this prevents for the dialog to be opened twice while keeping the notification of the click mouse event\r\n // to the parent ourside the lookup-input (some consumers will want to register on that event)\r\n // we could have it being callled wtice since it's being triggered by the magnifying class in multy select view\r\n return;\r\n }\r\n\r\n this.controlAccessorNotifyTouched();\r\n\r\n this.lookupDialogHandle = this.dialogService.createDialog(LookupDialogComponent, {\r\n entityTypes: this.crmEntityTypes,\r\n entitySubTypes: this.entitySubTypes,\r\n singleSelection: this.singleSelection,\r\n includeLookupViews: this.includeLookupViews,\r\n editorType: this.editorType\r\n } as ILookupDialogConfig);\r\n\r\n this.lookupDialogHandle.onClose.subscribe((result: IDialogOnClose) => {\r\n // forget the handle since the dialog is closing. also acts as indication if the dialog is currently open\r\n this.lookupDialogHandle = null;\r\n\r\n if (result.reason === DialogCloseReason.OK) {\r\n const selectedRecords = result.data.selected;\r\n if (selectedRecords == null || selectedRecords.length === 0) {\r\n return;\r\n }\r\n if (this.singleSelection) {\r\n this.chosenEntity = this.entityRecordFromDialogResult(selectedRecords[0], result.data.entityType);\r\n this.controlAccessorNotifyChange(this.chosenEntity);\r\n } else {\r\n this.multipleChoosenEntities = [];\r\n selectedRecords.forEach((selectedRecord: BaseLookupEntity) => {\r\n this.multipleChoosenEntities.push(this.entityRecordFromDialogResult(selectedRecord, result.data.entityType));\r\n });\r\n this.controlAccessorNotifyChange(this.multipleChoosenEntities);\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onClearInputClicked(event: MouseEvent) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n\r\n this.resetSelection();\r\n this.controlAccessorNotifyChange(null);\r\n }\r\n\r\n public onRemoveChoosenEntityClicked(choosenEntityToRemove: ILookupDataWithType, event: MouseEvent) {\r\n event.stopPropagation();\r\n\r\n this.multipleChoosenEntities = this.multipleChoosenEntities.filter(entity => entity.id !== choosenEntityToRemove.id);\r\n this.controlAccessorNotifyChange(this.multipleChoosenEntities);\r\n }\r\n\r\n public closeLookupDialog() {\r\n this.lookupDialogHandle.close();\r\n }\r\n\r\n public onMultiViewClicked(event: MouseEvent) {\r\n if (this.multipleChoosenEntities.length === 0) {\r\n this.openLookupDialog(event);\r\n }\r\n }\r\n\r\n private resetSelection() {\r\n this.chosenEntity = {\r\n name: '',\r\n id: '',\r\n type: CrmEntityTypeEnum.None\r\n };\r\n }\r\n\r\n private entityRecordFromDialogResult(dialogResultRecord: BaseLookupEntity, entityType: CrmEntityTypeEnum) {\r\n return {\r\n name: dialogResultRecord.Name || dialogResultRecord.CurrencyName,\r\n id: dialogResultRecord.Id,\r\n type: entityType,\r\n additionalEntityInfo: dialogResultRecord\r\n };\r\n }\r\n}\r\n","export default \".lookup-input-container {\\n position: relative; }\\n\\n.single-entity-view {\\n min-height: 24px;\\n min-width: 150px;\\n border: 1px solid #a6a6a6;\\n padding: 5px 40px 5px 5px;\\n line-height: 12px;\\n color: #000;\\n font-family: \\\"Segoe UI\\\";\\n font-weight: bold;\\n cursor: pointer; }\\n\\n.single-entity-view .entity-name {\\n display: inline-block;\\n width: 100%;\\n word-break: break-word;\\n word-wrap: break-word; }\\n\\n.single-entity-view .searchBtn {\\n display: block;\\n width: 24px;\\n height: 22px;\\n background: url(\\\"/assets/common-lib/images/magnifying-glass.png\\\") no-repeat center center;\\n cursor: pointer;\\n position: absolute;\\n top: 0;\\n right: 18px; }\\n\\n.single-entity-view .clear-icon {\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n background: url(\\\"/assets/common-lib/images/close.png\\\") no-repeat center center;\\n position: absolute;\\n right: 4px;\\n top: 3px; }\\n\\n.multi-entity-view {\\n display: flex;\\n justify-content: stretch;\\n min-width: 150px;\\n border: 1px solid #a6a6a6; }\\n\\n.multi-entity-view__single-record {\\n position: relative;\\n backgound: silver;\\n border-radius: 8px;\\n margin-right: 3px;\\n margin-bottom: 3px;\\n padding-left: 5px;\\n padding-right: 5px;\\n padding-top: 3px;\\n padding-bottom: 3px;\\n background-color: #f2f2f2; }\\n\\n.multi-entity-view__list {\\n display: flex;\\n flex-wrap: wrap;\\n flex-grow: 1;\\n align-items: flex-start;\\n align-content: flex-start;\\n margin-left: 3px;\\n margin-top: 3px; }\\n\\n.multi-entity-view .searchBtn {\\n display: flex;\\n width: 24px;\\n height: 22px;\\n background: url(\\\"/assets/common-lib/images/magnifying-glass.png\\\") no-repeat center center;\\n cursor: pointer;\\n position: static; }\\n\\n.multi-entity-view .clear-icon {\\n display: inline-block;\\n width: 16px;\\n height: 16px;\\n background: url(\\\"/assets/common-lib/images/close.png\\\") no-repeat center center;\\n vertical-align: middle;\\n position: relative;\\n bottom: 1px;\\n margin-left: 3px;\\n cursor: pointer; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9sb29rdXAtZGlhbG9nLWNvbXBvbmVudC9sb29rdXAtaW5wdXQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcbGliXFxsb29rdXAtZGlhbG9nLWNvbXBvbmVudFxcbG9va3VwLWlucHV0XFxsb29rdXAtaW5wdXQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIseUJBQXlCO0VBQ3pCLHlCQUF5QjtFQUN6QixpQkFBaUI7RUFDakIsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixpQkFBaUI7RUFDakIsZUFBZSxFQUFBOztBQVRqQjtJQVlJLHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLHFCQUFxQixFQUFBOztBQWZ6QjtJQW1CSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWix5RkFBeUY7SUFDekYsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sV0FBVyxFQUFBOztBQTFCZjtJQThCSSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLFlBQVk7SUFDWiw4RUFBOEU7SUFDOUUsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixRQUFRLEVBQUE7O0FBSVo7RUFDRSxhQUFhO0VBQ2Isd0JBQXdCO0VBQ3hCLGdCQUFnQjtFQUNoQix5QkFBeUIsRUFBQTs7QUFFekI7SUFDRSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQix5QkFBeUIsRUFBQTs7QUFHM0I7SUFDRSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIseUJBQXlCO0lBRXpCLGdCQUFnQjtJQUNoQixlQUFlLEVBQUE7O0FBM0JuQjtJQStCSSxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWix5RkFBeUY7SUFDekYsZUFBZTtJQUNmLGdCQUFnQixFQUFBOztBQXBDcEI7SUF3Q0kscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxZQUFZO0lBQ1osOEVBQThFO0lBQzlFLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGdCQUFnQjtJQUNoQixlQUFlLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvY29tbW9uLWxpYi9zcmMvbGliL2xvb2t1cC1kaWFsb2ctY29tcG9uZW50L2xvb2t1cC1pbnB1dC9sb29rdXAtaW5wdXQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5sb29rdXAtaW5wdXQtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcblxyXG4uc2luZ2xlLWVudGl0eS12aWV3IHtcclxuICBtaW4taGVpZ2h0OiAyNHB4O1xyXG4gIG1pbi13aWR0aDogMTUwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YTZhNjtcclxuICBwYWRkaW5nOiA1cHggNDBweCA1cHggNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAuZW50aXR5LW5hbWUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaEJ0biB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9tYWduaWZ5aW5nLWdsYXNzLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAxOHB4O1xyXG4gIH1cclxuXHJcbiAgLmNsZWFyLWljb24ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2Nsb3NlLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiA0cHg7XHJcbiAgICB0b3A6IDNweDtcclxuICB9XHJcbn1cclxuXHJcbi5tdWx0aS1lbnRpdHktdmlldyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XHJcbiAgbWluLXdpZHRoOiAxNTBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhNmE2O1xyXG5cclxuICAmX19zaW5nbGUtcmVjb3JkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tnb3VuZDogc2lsdmVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcclxuICB9XHJcblxyXG4gICZfX2xpc3Qge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcclxuXHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaEJ0biB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL21hZ25pZnlpbmctZ2xhc3MucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICB9XHJcblxyXG4gIC5jbGVhci1pY29uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9jbG9zZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiAxcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG4iXX0= */\"","import { ErrorHandler } from '@angular/core';\r\n\r\n// This is needed so the typescript transpiler will not return an error on the global atatus property\r\n// simply checking 'if (atatus) {' did not work it causes an exception.\r\ndeclare global {\r\n interface Window {\r\n atatus: any;\r\n }\r\n}\r\n\r\nexport class AtatusErrorHandler implements ErrorHandler {\r\n constructor(private accountKey: string, private environmentName: string) {}\r\n\r\n handleError(error: any): void {\r\n // checking the atatus property on the window directly causes an error if we dont load atatus.\r\n if (window.atatus) {\r\n console.log('here');\r\n\r\n const atatus: any = window.atatus;\r\n\r\n if (!this.accountKey) {\r\n console.log('there');\r\n this.accountKey = 'NoAccountKeySupplied';\r\n }\r\n\r\n // Send the error to Atatus, adding custom data (not searchable but still could help when looking at a specific error)\r\n atatus.notify(\r\n error.originalError || error,\r\n {\r\n environmentName: this.environmentName,\r\n accountKey: this.accountKey,\r\n },\r\n this.environmentName\r\n );\r\n }\r\n\r\n // in any case show it also on the console (do not remove this otherwise it will swallow errors)\r\n console.error(error);\r\n }\r\n}\r\n\r\nexport default AtatusErrorHandler;\r\n","// start:ng42.barrel\r\nexport * from './atatus.handler';\r\nexport * from './logger/index';\r\nexport * from './monitoring.module';\r\n// end:ng42.barrel\r\n\r\n","// start:ng42.barrel\r\nexport * from './level';\r\nexport * from './logger';\r\nexport * from './providers';\r\n// end:ng42.barrel\r\n\r\n","/**\r\n * Created by Langley on 3/13/2016.\r\n */\r\n\r\n/**\r\n * The available options to set the Level of the Logger.\r\n * See {@link Logger}.\r\n */\r\nexport enum Level { OFF = 0, ERROR = 1, WARN = 2, INFO = 3, DEBUG = 4, LOG = 5 }\r\n","import { ErrorHandler, Injectable, Optional } from '@angular/core';\r\nimport {Level} from './level';\r\n/**\r\n * Logger options.\r\n * See {@link Logger}.\r\n *\r\n * level - How much detail you want to see in the logs, 0 being off, 1 being the less detailed, 5 being the most. Defaults to WARN.\r\n * global - Whether you want the created logger object to be exposed in the global scope. Defaults to true.\r\n * globalAs - The window's property name that will hold the logger object created. Defaults to 'logger'.\r\n * store - Whether you want the level config to be saved in the local storage so it doesn't get lost when you refresh. Defaults to false.\r\n * storeAs - The local storage key that will be used to save the level config if the store setting is true. Defaults to 'angular2.logger.level'.\r\n *\r\n * Created by Langley on 3/23/2016.\r\n *\r\n */\r\nexport class Options {\r\n level: Level;\r\n global: boolean;\r\n globalAs: string;\r\n storeAs: string;\r\n}\r\n\r\n// For browsers that don't implement the debug method, log will be used instead. Fixes #62.\r\nconst CONSOLE_DEBUG_METHOD = console[\"debug\"] ? \"debug\" : \"log\";\r\n\r\n// Temporal until https://github.com/angular/angular/issues/7344 gets fixed.\r\nconst DEFAULT_OPTIONS: Options = {\r\n level: Level.WARN,\r\n global: true,\r\n globalAs: \"clickdLogger\",\r\n storeAs: \"angular2.logger.level\"\r\n};\r\n\r\n@Injectable()\r\nexport class Logger {\r\n\r\n private _level: Level;\r\n private _globalAs: string;\r\n private _storeAs: string;\r\n\r\n public Level: any = Level;\r\n\r\n constructor( @Optional() options?: Options ) {\r\n\r\n // Move this to the constructor definition when optional parameters are working with @Injectable: https://github.com/angular/angular/issues/7344\r\n const { level, global, globalAs, storeAs } = Object.assign( {}, DEFAULT_OPTIONS, options );\r\n\r\n this._level = level;\r\n this._globalAs = globalAs;\r\n this._storeAs = storeAs;\r\n\r\n if (global) {\r\n this.global();\r\n }\r\n }\r\n\r\n error(message?: any, ...optionalParams: any[]) {\r\n this.isErrorEnabled() && console.error.apply( console, arguments );\r\n }\r\n\r\n warn(message?: any, ...optionalParams: any[]) {\r\n this.isWarnEnabled() && console.warn.apply( console, arguments );\r\n }\r\n\r\n info(message?: any, ...optionalParams: any[]) {\r\n this.isInfoEnabled() && console.info.apply( console, arguments );\r\n }\r\n\r\n debug(message?: any, ...optionalParams: any[]) {\r\n this.isDebugEnabled() && ( console )[ CONSOLE_DEBUG_METHOD ].apply( console, arguments );\r\n }\r\n\r\n log(message?: any, ...optionalParams: any[]) {\r\n this.isLogEnabled() && console.log.apply( console, arguments );\r\n }\r\n\r\n global = () => ( window )[this._globalAs] = this;\r\n isErrorEnabled = (): boolean => this.level >= Level.ERROR;\r\n isWarnEnabled = (): boolean => this.level >= Level.WARN;\r\n isInfoEnabled = (): boolean => this.level >= Level.INFO;\r\n isDebugEnabled = (): boolean => this.level >= Level.DEBUG;\r\n isLogEnabled = (): boolean => this.level >= Level.LOG;\r\n\r\n get level(): Level { return this._level; }\r\n\r\n set level(level: Level) {\r\n this._level = level;\r\n }\r\n}\r\n","import { Options, Logger } from './logger';\r\nimport { Level } from './level';\r\n\r\n/**\r\n * Custom Providers if the user wants to avoid some configuration for common scenarios.\r\n */\r\nexport const OFF_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.OFF } }, Logger];\r\nexport const ERROR_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.ERROR } }, Logger];\r\nexport const WARN_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.WARN } }, Logger];\r\nexport const INFO_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.INFO } }, Logger];\r\nexport const DEBUG_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.DEBUG } }, Logger];\r\nexport const LOG_LOGGER_PROVIDERS: any[] = [{ provide: Options, useValue: { level: Level.LOG } }, Logger];\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { Logger } from './logger/logger';\r\n\r\n@NgModule({})\r\nexport class MonitoringModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: MonitoringModule,\r\n providers: [ Logger ]\r\n };\r\n }\r\n}\r\n","export default \".completer-dropdown {\\r\\n border-color: #ececec;\\r\\n border-width: 1px;\\r\\n border-style: solid;\\r\\n border-radius: 2px;\\r\\n max-width: 94%;\\r\\n width: auto;\\r\\n padding: 6px;\\r\\n cursor: pointer;\\r\\n z-index: 9999;\\r\\n position: absolute;\\r\\n margin-top: -6px;\\r\\n background-color: #ffffff;\\r\\n}\\r\\n\\r\\n.completer-row {\\r\\n padding: 5px;\\r\\n color: #000000;\\r\\n margin-bottom: 4px;\\r\\n clear: both;\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.completer-selected-row {\\r\\n background-color: lightblue;\\r\\n color: #ffffff;\\r\\n}\\r\\n\\r\\n.completer-description {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9uZ3gtY29tcGxldGVyL2NvbXBvbmVudHMvbmd4LWNvbXBsZXRlci1kcm9wZG93bi9uZ3gtY29tcGxldGVyLWRyb3Bkb3duLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsY0FBYztFQUNkLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLGFBQWE7RUFDYixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsV0FBVztBQUNiOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCIiwiZmlsZSI6InByb2plY3RzL2NvbW1vbi1saWIvc3JjL2xpYi9uZ3gtY29tcGxldGVyL2NvbXBvbmVudHMvbmd4LWNvbXBsZXRlci1kcm9wZG93bi9uZ3gtY29tcGxldGVyLWRyb3Bkb3duLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29tcGxldGVyLWRyb3Bkb3duIHtcclxuICBib3JkZXItY29sb3I6ICNlY2VjZWM7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgbWF4LXdpZHRoOiA5NCU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgcGFkZGluZzogNnB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB6LWluZGV4OiA5OTk5O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5jb21wbGV0ZXItcm93IHtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgY29sb3I6ICMwMDAwMDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmNvbXBsZXRlci1zZWxlY3RlZC1yb3cge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxufVxyXG5cclxuLmNvbXBsZXRlci1kZXNjcmlwdGlvbiB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcbiJdfQ== */\"","import { OnInit, Component, Input, EventEmitter, Output } from '@angular/core';\r\nimport { CompleterItem } from '../../model/completer-item';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'ngx-completer-dropdown',\r\n templateUrl: './ngx-completer-dropdown.component.html',\r\n styleUrls: ['./ngx-completer-dropdown.component.css']\r\n})\r\nexport class NgxCompleterDropdownComponent implements OnInit {\r\n private _items: CompleterItem[];\r\n public get items() {\r\n return this._items;\r\n }\r\n @Input() public set items(i: CompleterItem[]) {\r\n this.error = null;\r\n this.currentIndex = null;\r\n this._items = i;\r\n }\r\n\r\n @Input() textNoResults: string;\r\n @Input() textSearching: string;\r\n @Input() searchActive: boolean;\r\n @Input() error: any;\r\n public currentIndex: number;\r\n public hovering: boolean;\r\n\r\n\r\n @Output() public itemClicked = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n public onClick() {\r\n const item = this.getHighlighted();\r\n if (item != null) {\r\n this.itemClicked.emit(item);\r\n }\r\n }\r\n\r\n public getHighlighted(): CompleterItem {\r\n if (this.currentIndex != null && this.items != null && this.items[this.currentIndex] != null) {\r\n return this.items[this.currentIndex];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public get hasHighlighted(): boolean {\r\n return this.getHighlighted() != null;\r\n }\r\n\r\n public moveDown() {\r\n if (this.items != null) {\r\n if (this.currentIndex == null) {\r\n this.currentIndex = 0;\r\n } else if (this.currentIndex < this.items.length - 1) {\r\n this.currentIndex++;\r\n }\r\n } else {\r\n this.currentIndex = null;\r\n }\r\n }\r\n\r\n public moveUp() {\r\n if (this.items != null && this.currentIndex >= 1) {\r\n this.currentIndex--;\r\n } else {\r\n this.currentIndex = null;\r\n }\r\n }\r\n}\r\n","import { EventEmitter, Directive, HostListener, Output } from '@angular/core';\r\n\r\n// keyboard events\r\nconst KEY_DW = 40;\r\nconst KEY_RT = 39;\r\nconst KEY_UP = 38;\r\nconst KEY_LF = 37;\r\nconst KEY_ES = 27;\r\nconst KEY_EN = 13;\r\nconst KEY_TAB = 9;\r\nconst KEY_BK = 8;\r\nconst KEY_SH = 16;\r\nconst KEY_CL = 20;\r\nconst KEY_F1 = 112;\r\nconst KEY_F12 = 123;\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n selector: '[ngx-completer-input]',\r\n})\r\nexport class NgxCompleterInputDirective {\r\n @Output() public moveUp = new EventEmitter();\r\n @Output() public moveDown = new EventEmitter();\r\n @Output() public selection = new EventEmitter();\r\n\r\n @HostListener('keydown', ['$event'])\r\n public keyHandler(event: any) {\r\n const key = event.keyCode;\r\n if (key === KEY_UP) {\r\n this.moveUp.emit();\r\n event.preventDefault();\r\n }\r\n\r\n if (key === KEY_DW) {\r\n this.moveDown.emit();\r\n event.preventDefault();\r\n }\r\n\r\n if (key === KEY_EN) {\r\n this.selection.emit();\r\n event.preventDefault();\r\n }\r\n\r\n if (key === KEY_TAB) {\r\n this.selection.emit();\r\n }\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { RemoteDataService } from '../services/remote-data.service';\r\nimport { LocalDataService } from '../services/local-data.service';\r\n\r\n\r\nexport function localDataFactory() {\r\n return () => {\r\n return new LocalDataService();\r\n };\r\n}\r\n\r\nexport function remoteDataFactory(http: HttpClient) {\r\n return () => {\r\n return new RemoteDataService(http);\r\n };\r\n}\r\n\r\nexport let LocalDataFactoryProvider = { provide: LocalDataService, useFactory: localDataFactory };\r\nexport let RemoteDataFactoryProvider = { provide: RemoteDataService, useFactory: remoteDataFactory, deps: [HttpClient] };\r\n","export const MAX_CHARS = 524288; // the default max length per the html maxlength attribute\r\nexport const MIN_SEARCH_LENGTH = 3;\r\nexport const PAUSE = 10;\r\nexport const TEXT_SEARCHING = 'Searching...';\r\nexport const TEXT_NO_RESULTS = 'No results found';\r\nexport const CLEAR_TIMEOUT = 50;\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9jb21tb24tbGliL3NyYy9saWIvbmd4LWNvbXBsZXRlci9uZ3gtY29tcGxldGVyLmNvbXBvbmVudC5jc3MifQ== */\"","import { FormControl, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport {\r\n Component, Input, OnInit, Output, EventEmitter, ViewChild, ElementRef, forwardRef, AfterViewInit, AfterViewChecked, ChangeDetectorRef\r\n} from '@angular/core';\r\nimport { CompleterItem } from './model/completer-item';\r\nimport { TEXT_NO_RESULTS, TEXT_SEARCHING, PAUSE, MIN_SEARCH_LENGTH, MAX_CHARS } from './globals/globals';\r\nimport { DataService } from './services/data.service';\r\nimport { CompleterService } from './services/completer.service';\r\nimport { of, Subscription, throwError, timer } from 'rxjs';\r\nimport { Observable } from 'rxjs';\r\nimport { Subscriber } from 'rxjs';\r\n// import 'rxjs/add/operator/debounce';\r\n// import 'rxjs/add/operator/debounceTime';\r\n// import 'rxjs/add/observable/fromEvent';\r\n// import 'rxjs/add/observable/timer';\r\n// import 'rxjs/add/observable/of';\r\n// import 'rxjs/add/operator/switchMap';\r\n// import 'rxjs/add/operator/filter';\r\n// import 'rxjs/add/operator/catch';\r\n// import 'rxjs/add/operator/do';\r\nimport { catchError, debounce, filter, map, switchMap, tap } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { NgxCompleterDropdownComponent } from './components/ngx-completer-dropdown/ngx-completer-dropdown.component';\r\n\r\n@Component({\r\n // tslint:disable-next-line:component-selector\r\n selector: 'ngx-completer',\r\n templateUrl: './ngx-completer.component.html',\r\n styleUrls: ['./ngx-completer.component.css'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NgxCompleterComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class NgxCompleterComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() public dataService: DataService;\r\n @Input() public inputName = '';\r\n @Input() public placeholder = '';\r\n @Input() public textSearching = TEXT_SEARCHING;\r\n @Input() public textNoResults = TEXT_NO_RESULTS;\r\n @Input() public inputId = '';\r\n @Input() public pause = PAUSE;\r\n @Input() public minSearchLength = MIN_SEARCH_LENGTH;\r\n @Input() public maxChars = MAX_CHARS;\r\n @Input() public clearUnselected = false;\r\n @Input() public autoMatch = false;\r\n @Input() public autoMatchBy: string;\r\n @Input() public disableInput = false;\r\n @Input() public inputClass: string;\r\n @Input() public autoHighlight = false;\r\n private _initialValue: any;\r\n @Input() public set initialValue(value: any) {\r\n if (value != null) {\r\n if (this.dataService != null && typeof this.dataService.convertToItem === 'function') {\r\n setTimeout(() => {\r\n const initialItem = this.dataService.convertToItem(value);\r\n if (initialItem) {\r\n this.onSelected(initialItem);\r\n }\r\n });\r\n } else {\r\n this._initialValue = value;\r\n }\r\n }\r\n }\r\n\r\n @Output() public selected = new EventEmitter();\r\n @ViewChild(NgxCompleterDropdownComponent, {static: false}) public completerDropdown: NgxCompleterDropdownComponent;\r\n\r\n public searchActive = false;\r\n public items: any[];\r\n public error: any;\r\n public textInputSubject: Subject;\r\n\r\n public searchStr = '';\r\n private _selectedItem: CompleterItem;\r\n private _inputHasFocus: boolean;\r\n private _onChangeCallback: (val: any) => void;\r\n private _onTouched: (val: any) => void;\r\n\r\n constructor(private completerService: CompleterService) { }\r\n\r\n public writeValue(value: any) {\r\n this.searchStr = value;\r\n }\r\n\r\n public registerOnChange(fn: any) {\r\n this._onChangeCallback = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this._onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this.disableInput = isDisabled;\r\n }\r\n\r\n @Input()\r\n public set datasource(source: DataService | string | Array) {\r\n if (source != null) {\r\n if (source instanceof Array) {\r\n this.dataService = this.completerService.local(source);\r\n } else if (typeof (source) === 'string') {\r\n this.dataService = this.completerService.remote(source);\r\n } else {\r\n this.dataService = source;\r\n }\r\n\r\n if (this._initialValue != null) {\r\n this.initialValue = this._initialValue;\r\n this._initialValue = null;\r\n }\r\n }\r\n }\r\n\r\n public ngOnInit() {\r\n this.textInputSubject = new Subject();\r\n this.textInputSubject.pipe(\r\n tap(value => this._onChangeCallback(value)),\r\n tap(() => this.searchActive = false),\r\n map(value => {\r\n return {\r\n value: value,\r\n hasValue: value != null && value.length >= this.minSearchLength\r\n };\r\n }),\r\n filter(text => {\r\n // if the text matches the previously selected item, do nothing\r\n if (text.hasValue && this._selectedItem != null && this._selectedItem.title === text.value) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }),\r\n tap(text => {\r\n // clear the results\r\n this.items = null;\r\n\r\n // if an item was previously selected, clear it\r\n if (this._selectedItem != null) {\r\n this.onSelected(null);\r\n }\r\n }),\r\n debounce(text => {\r\n if (text.hasValue) {\r\n return timer(this.pause);\r\n } else {\r\n // clear messages and cancel remaining requests with switchMap immediately\r\n return timer(0);\r\n }\r\n }),\r\n switchMap(text => {\r\n if (text.hasValue) {\r\n if (this.dataService != null) {\r\n this.searchActive = true;\r\n return this.dataService.search(text.value);\r\n } else {\r\n return throwError('Data service not set');\r\n }\r\n } else {\r\n return of(null);\r\n }\r\n }),\r\n catchError(err => {\r\n console.error(err);\r\n this.error = err;\r\n return of(null);\r\n }))\r\n .subscribe(results => {\r\n this.searchActive = false;\r\n let match: CompleterItem;\r\n\r\n if (this.autoMatch) {\r\n match = this.getSingleMatch(results);\r\n }\r\n\r\n // if a match is found select it\r\n if (match != null) {\r\n this.onSelected(match);\r\n // else, display the results if the input is still focused\r\n } else if (this.hasFocus) {\r\n this.items = results;\r\n }\r\n });\r\n }\r\n\r\n private getSingleMatch(results: CompleterItem[]): CompleterItem {\r\n const text = this.searchStr;\r\n\r\n // if just a single result exists and the input contains text\r\n if (results && results.length === 1 && text != null) {\r\n const result = results[0];\r\n // check if the item matches by configured property (autoMatchBy)\r\n const autoMatchedBy = this.autoMatchBy != null && result.originalObject[this.autoMatchBy] === text;\r\n // check if the item matches by title\r\n const autoMatched = result.title && result.title.toLocaleLowerCase() === text.toLocaleLowerCase();\r\n\r\n if (autoMatched || autoMatchedBy) {\r\n return result;\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n public onSelected(item: CompleterItem) {\r\n // clear the dropdown when an item is selected\r\n this.items = null;\r\n\r\n // if the selected item changed, update it\r\n if (this._selectedItem !== item) {\r\n this._selectedItem = item;\r\n\r\n // update the search input with the item's title\r\n if (item != null) {\r\n this.searchStr = item.title;\r\n this._onChangeCallback(this.searchStr);\r\n }\r\n\r\n // fire the event\r\n this.selected.emit(item);\r\n }\r\n }\r\n\r\n // triggered when the user hits enter or tab\r\n public onSelection() {\r\n const item = this.completerDropdown.getHighlighted();\r\n if (item != null) {\r\n this.onSelected(item);\r\n }\r\n }\r\n\r\n // the input or the dropdown has focus\r\n public get hasFocus(): boolean {\r\n return this._inputHasFocus || this.completerDropdown.hovering;\r\n }\r\n\r\n // the input was focused\r\n public onFocus(event: any) {\r\n this._inputHasFocus = true;\r\n }\r\n\r\n public onBlur(event: any) {\r\n // wait for the dropdown to refresh\r\n setTimeout(() => {\r\n // if focus is on the dropdown\r\n if (this.completerDropdown.hasHighlighted && this.completerDropdown.hovering) {\r\n // prevent the input blur so the user can keep writing\r\n event.preventDefault();\r\n } else {\r\n // if not, do the blur\r\n this.doBlur(event);\r\n }\r\n }, 200);\r\n }\r\n\r\n private doBlur(event: any) {\r\n // the input no longer has focus\r\n this._inputHasFocus = false;\r\n\r\n // hide the dropdown list\r\n this.items = null;\r\n\r\n if (this.clearUnselected) {\r\n // if no item was selected clear the search input\r\n if (this._selectedItem == null) {\r\n this.searchStr = null;\r\n this._onChangeCallback(this.searchStr);\r\n // emit empty text to cancel requests\r\n this.textInputSubject.next(null);\r\n } else if (this.searchStr !== this._selectedItem.title) {\r\n // if the search input differs from the previous selected title, clear it\r\n this.onSelected(null);\r\n // emit empty text to cancel requests\r\n this.textInputSubject.next(null);\r\n }\r\n }\r\n }\r\n}\r\n","import { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxCompleterComponent } from './ngx-completer.component';\r\nimport { RemoteDataFactoryProvider, LocalDataFactoryProvider } from './factories/completer-data.factory';\r\nimport { CompleterService } from './services/completer.service';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxCompleterDropdownComponent } from './components/ngx-completer-dropdown/ngx-completer-dropdown.component';\r\nimport { NgxCompleterInputDirective } from './directives/ngx-completer-input.directive';\r\nimport { RemoteDataService } from './services/remote-data.service';\r\nimport { LocalDataService } from './services/local-data.service';\r\nimport { DataService } from './services/data.service';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n declarations: [\r\n NgxCompleterComponent,\r\n NgxCompleterDropdownComponent,\r\n NgxCompleterInputDirective\r\n ],\r\n providers: [\r\n CompleterService,\r\n RemoteDataFactoryProvider,\r\n LocalDataFactoryProvider\r\n ],\r\n exports: [\r\n NgxCompleterComponent\r\n ]\r\n})\r\nexport class NgxCompleterModule {\r\n public static forRoot(): ModuleWithProviders {\r\n\r\n return {\r\n ngModule: NgxCompleterModule,\r\n providers: [\r\n CompleterService,\r\n RemoteDataService,\r\n LocalDataService\r\n ]\r\n };\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { RemoteDataService } from './remote-data.service';\r\nimport { LocalDataService } from './local-data.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class CompleterService {\r\n constructor(\r\n @Inject(LocalDataService) private localDataFactory: any, // Using any instead of () => LocalData because on AoT errors\r\n @Inject(RemoteDataService) private remoteDataFactory: any // Using any instead of () => LocalData because on AoT errors\r\n ) { }\r\n\r\n public local(data: any[] | Observable, searchFields: string = '', titleField: string = ''): LocalDataService {\r\n const localData = this.localDataFactory();\r\n return localData\r\n .data(data)\r\n .searchFields(searchFields)\r\n .titleField(titleField);\r\n }\r\n\r\n public remote(url?: string, searchFields: string = '', titleField: string = ''): RemoteDataService {\r\n const remoteData = this.remoteDataFactory();\r\n return remoteData\r\n .remoteUrl(url)\r\n .searchFields(searchFields)\r\n .titleField(titleField);\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { CompleterItem } from '../model/completer-item';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport abstract class DataService {\r\n public dataSourceChange?: EventEmitter;\r\n protected _searchFields: string;\r\n protected _titleField: string;\r\n protected _descriptionField: string;\r\n\r\n constructor() {\r\n }\r\n\r\n public abstract search(term: string): Observable;\r\n\r\n public cancel() { }\r\n\r\n public searchFields(searchFields: string) {\r\n this._searchFields = searchFields;\r\n return this;\r\n }\r\n\r\n public titleField(titleField: string) {\r\n this._titleField = titleField;\r\n return this;\r\n }\r\n\r\n public descriptionField(descriptionField: string) {\r\n this._descriptionField = descriptionField;\r\n return this;\r\n }\r\n\r\n public convertToItem(data: any) {\r\n let formattedText: string;\r\n let formattedDesc: string | null = null;\r\n\r\n if (this._titleField) {\r\n formattedText = this.extractTitle(data);\r\n } else {\r\n formattedText = data;\r\n }\r\n\r\n if (typeof formattedText !== 'string') {\r\n formattedText = JSON.stringify(formattedText);\r\n }\r\n\r\n if (this._descriptionField) {\r\n formattedDesc = this.extractValue(data, this._descriptionField);\r\n }\r\n\r\n if (formattedText == null) {\r\n return null;\r\n }\r\n\r\n return {\r\n title: formattedText,\r\n description: formattedDesc,\r\n originalObject: data\r\n } as CompleterItem;\r\n\r\n }\r\n\r\n protected extractMatches(data: any[], term: string) {\r\n let matches: any[] = [];\r\n const searchFields = this._searchFields ? this._searchFields.split(',') : null;\r\n if (this._searchFields !== null && this._searchFields !== undefined && term !== '') {\r\n matches = data.filter(item => {\r\n let values: any[];\r\n if (searchFields != null) {\r\n values = searchFields.map(searchField => this.extractValue(item, searchField)).filter(value => !!value);\r\n } else {\r\n values = [item];\r\n }\r\n\r\n return values.some(value => value.toString().toLowerCase().indexOf(term.toString().toLowerCase()) >= 0);\r\n });\r\n } else {\r\n matches = data;\r\n }\r\n\r\n\r\n return matches;\r\n }\r\n\r\n protected extractTitle(item: any) {\r\n // split title fields and run extractValue for each and join with ' '\r\n return this._titleField.split(',')\r\n .map((field) => {\r\n return this.extractValue(item, field);\r\n })\r\n .reduce((acc, titlePart) => acc ? `${acc} ${titlePart}` : titlePart);\r\n }\r\n\r\n protected extractValue(obj: any, key: string | null) {\r\n let keys: string[];\r\n let result: any;\r\n if (key) {\r\n keys = key.split('.');\r\n result = obj;\r\n for (let i = 0; i < keys.length; i++) {\r\n if (result) {\r\n result = result[keys[i]];\r\n }\r\n }\r\n } else {\r\n result = obj;\r\n }\r\n return result;\r\n }\r\n\r\n protected processResults(matches: string[]): CompleterItem[] {\r\n let i: number;\r\n const results: CompleterItem[] = [];\r\n\r\n if (matches && matches.length > 0) {\r\n for (i = 0; i < matches.length; i++) {\r\n const item = this.convertToItem(matches[i]);\r\n if (item) {\r\n results.push(item);\r\n }\r\n }\r\n }\r\n return results;\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { DataService } from './data.service';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { CompleterItem } from '../model/completer-item';\r\n\r\n@Injectable()\r\nexport class LocalDataService extends DataService {\r\n\r\n public dataSourceChange: EventEmitter = new EventEmitter();\r\n\r\n protected _data: any[];\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public data(data: any[] | Observable) {\r\n this._data = data;\r\n this.dataSourceChange.emit();\r\n return this;\r\n }\r\n\r\n public search(term: string): Observable {\r\n return new Observable(subscriber => {\r\n if (this._data != null) {\r\n const matches: any[] = this.extractMatches(this._data, term);\r\n subscriber.next(this.processResults(matches));\r\n subscriber.complete();\r\n } else {\r\n subscriber.next([]);\r\n subscriber.complete();\r\n }\r\n });\r\n }\r\n\r\n public convertToItem(data: any): CompleterItem {\r\n return super.convertToItem(data);\r\n }\r\n}\r\n","import { EventEmitter } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DataService } from './data.service';\r\nimport { CompleterItem } from '../model/completer-item';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport class RemoteDataService extends DataService {\r\n public dataSourceChange: EventEmitter = new EventEmitter();\r\n\r\n private _remoteUrl: string;\r\n private _urlFormater: ((term: string) => string) | null = null;\r\n private _dataField: string | null = null;\r\n private _requestOptions: any;\r\n\r\n\r\n constructor(private http: HttpClient) {\r\n super();\r\n }\r\n\r\n public remoteUrl(remoteUrl: string) {\r\n this._remoteUrl = remoteUrl;\r\n this.dataSourceChange.emit();\r\n return this;\r\n }\r\n\r\n public urlFormater(urlFormater: (term: string) => string) {\r\n this._urlFormater = urlFormater;\r\n }\r\n\r\n public dataField(dataField: string) {\r\n this._dataField = dataField;\r\n }\r\n\r\n public requestOptions(requestOptions: any) {\r\n this._requestOptions = requestOptions;\r\n }\r\n\r\n public search(term: string): Observable {\r\n let url = '';\r\n if (this._urlFormater) {\r\n url = this._urlFormater(term);\r\n } else {\r\n url = this._remoteUrl + encodeURIComponent(term);\r\n }\r\n\r\n return this.http\r\n .get(url, Object.assign({}, this._requestOptions))\r\n .pipe(\r\n map(data => this.extractValue(data, this._dataField)),\r\n map(values => this.extractMatches(values, term)),\r\n map(matches => this.processResults(matches))\r\n );\r\n }\r\n\r\n public convertToItem(data: any): CompleterItem | null {\r\n return super.convertToItem(data);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MomentDatePipe } from './moment-date.pipe';\r\nimport { TruncatePipe } from './truncate.pipe';\r\n\r\nconst pipes = [\r\n MomentDatePipe, TruncatePipe\r\n];\r\n\r\n@NgModule({\r\n declarations: pipes,\r\n providers: [],\r\n exports: [...pipes],\r\n schemas: []\r\n})\r\nexport class CommonPipesModule {\r\n}\r\n","// start:ng42.barrel\r\nexport * from './common-pipes.module';\r\nexport * from './moment-date.pipe';\r\nexport * from './truncate.pipe';\r\n// end:ng42.barrel\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\nimport * as moment_ from 'moment';\r\n\r\nconst moment = moment_;\r\n\r\n@Pipe({\r\n name: 'MomentDate'\r\n})\r\nexport class MomentDatePipe implements PipeTransform {\r\n // transform(value: any, format: string = ''): string {\r\n transform(value: any, ...args: any[]): string {\r\n const format = args[0];\r\n // Try and parse the passed value.\r\n const momentDate = moment(value);\r\n\r\n // If moment didn't understand the value, return it unformatted.\r\n if (!momentDate.isValid()) {\r\n return value;\r\n }\r\n\r\n // Otherwise, return the date formatted as requested.\r\n return momentDate.format(format);\r\n }\r\n}\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * {{ str | truncate:[20] }}\r\n * or\r\n * {{ str | truncate:[20, '...'] }}\r\n */\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n transform(value: string, args: string[]): string {\r\n const limit = args.length > 0 ? parseInt(args[0], 10) : 20;\r\n const trail = args.length > 1 ? args[1] : '...';\r\n return value.length > limit ? value.substring(0, limit) + trail : value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountColorsApi, IColorPickerSetting } from './api/account-colors.api';\r\nimport { Store } from 'rxjs-observable-store';\r\nimport { Logger } from '../monitoring/logger/logger';\r\n\r\nexport class AccountColorsState {\r\n id: string;\r\n colors: string;\r\n isLoadingColorPickerSettings: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class AccountColorsService extends Store {\r\n\r\n private readonly defaultColors = '#FFFFFF,#000000,#2889e9,#e920e9,#fff500,#90EE90';\r\n constructor(private colorEditorApi: AccountColorsApi, private logger: Logger) {\r\n super(new AccountColorsState());\r\n }\r\n\r\n getColors() {\r\n this.patchState(true as any, 'isLoadingColorPickerSettings');\r\n this.colorEditorApi.getColors().subscribe((data: IColorPickerSetting) => {\r\n let colors = data.SelectedColors;\r\n if (!colors) {\r\n colors = this.defaultColors;\r\n }\r\n this.updateState(data.Id, colors, false);\r\n }, (error: any) => {\r\n this.logger.error(error);\r\n this.updateState(null, null, false);\r\n });\r\n }\r\n\r\n setColors(colors: string) {\r\n if (this.state.isLoadingColorPickerSettings === undefined) {\r\n return;\r\n }\r\n\r\n const coclorsData: IColorPickerSetting = {\r\n SelectedColors: colors,\r\n Id: this.state.id\r\n };\r\n this.patchState(true as any, 'isLoadingColorPickerSettings');\r\n\r\n return this.colorEditorApi.setColors(coclorsData).subscribe(() => {\r\n this.updateState(this.state.id, colors, false);\r\n }, (error) => {\r\n this.logger.error(error);\r\n this.patchState(false as any, 'isLoadingColorPickerSettings');\r\n });\r\n }\r\n\r\n private updateState(id: string, colors: string, isLoadingColorPickerSettings: boolean) {\r\n const newState = Object.assign(new AccountColorsState(), {\r\n id: id,\r\n colors: colors,\r\n isLoadingColorPickerSettings: isLoadingColorPickerSettings\r\n });\r\n\r\n this.setState(newState);\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { Utils, WEB_API_URL } from '../utils/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AccountService {\r\n private _accountKey: string;\r\n private _pageid: string;\r\n private _typename: string;\r\n private _orgname: string;\r\n private _sessionId: string;\r\n private _stpId: string;\r\n private _userlcid: string;\r\n private _userid: string;\r\n private _version: string;\r\n private _id: string;\r\n private _crmSpecificVersion: string;\r\n private _issplittesting: string;\r\n private _isrss: boolean;\r\n private _scoreModelId: string\r\n\r\n get crmSpecificVersion(): string {\r\n return this._crmSpecificVersion;\r\n }\r\n\r\n set crmSpecificVersion(value: string) {\r\n this._crmSpecificVersion = value;\r\n }\r\n\r\n get orgname(): string {\r\n return this._orgname;\r\n }\r\n\r\n set orgname(value: string) {\r\n this._orgname = value;\r\n }\r\n\r\n get typename(): string {\r\n return this._typename;\r\n }\r\n\r\n set typename(value: string) {\r\n this._typename = value;\r\n }\r\n\r\n get pageid(): string {\r\n return this._pageid;\r\n }\r\n\r\n set pageid(value: string) {\r\n this._pageid = value;\r\n }\r\n\r\n get accountKey(): string {\r\n return this._accountKey;\r\n }\r\n\r\n set accountKey(value: string) {\r\n this._accountKey = value;\r\n }\r\n\r\n get sessionId(): string {\r\n return this._sessionId == null ? '' : this._sessionId;\r\n }\r\n\r\n set sessionId(value: string) {\r\n this._sessionId = value;\r\n }\r\n\r\n get userlcid(): string {\r\n return this._userlcid;\r\n }\r\n\r\n set userlcid(value: string) {\r\n this._userlcid = value;\r\n }\r\n\r\n get stpId(): string {\r\n return this._stpId;\r\n }\r\n\r\n set stpId(value: string) {\r\n this._stpId = value;\r\n }\r\n\r\n get userid(): string {\r\n return this._userid;\r\n }\r\n\r\n set userid(value: string) {\r\n this._userid = value;\r\n }\r\n\r\n get version(): string {\r\n return this._version;\r\n }\r\n\r\n set version(value: string) {\r\n this._version = value;\r\n }\r\n\r\n get id(): string {\r\n return this._id;\r\n }\r\n\r\n set id(value: string) {\r\n this._id = value;\r\n }\r\n\r\n get issplittesting(): string {\r\n return this._issplittesting;\r\n }\r\n\r\n set issplittesting(value: string) {\r\n this._issplittesting = value;\r\n }\r\n\r\n get isrss(): boolean {\r\n return this._isrss;\r\n }\r\n\r\n set isrss(value: boolean) {\r\n this._isrss = value;\r\n }\r\n\r\n get scoreModelId(): string {\r\n return this._scoreModelId;\r\n }\r\n\r\n set scoreModelId(value: string) {\r\n this._scoreModelId = value;\r\n }\r\n\r\n constructor(@Inject(WEB_API_URL) public baseUrl: string) {\r\n this.accountKey = Utils.getParameterByName('accountKey');\r\n this.pageid = Utils.getParameterByName('id');\r\n this.typename = Utils.getParameterByName('typename');\r\n this.orgname = Utils.getParameterByName('orgname');\r\n this.sessionId = Utils.getParameterByName('sessionId');\r\n this.stpId = Utils.getParameterByName('stpId') || Utils.getParameterByName('stpid');\r\n\r\n this.userlcid = Utils.getParameterByName('userlcid', '1033');\r\n this.userid = Utils.getParameterByName('userid');\r\n this.version = Utils.getParameterByName('version');\r\n this.id = Utils.getParameterByName('id'); // This is the TemplateId\r\n this.crmSpecificVersion = Utils.getParameterByName('crmSpecificVersion');\r\n this.issplittesting = Utils.getParameterByName('Issplittesting', 'false');\r\n this.isrss = this.getRss();\r\n this.scoreModelId = Utils.getParameterByName('scoreModelId', null);\r\n }\r\n\r\n getUrl(resource: string) {\r\n return `${this.baseUrl}/${resource}?` +\r\n `accountKey=${this.accountKey}&` +\r\n `id=${this.pageid}&` +\r\n `userlcid=${this.userlcid}&` +\r\n `typeName=${this.typename}&` +\r\n `orgName=${this.orgname}&` +\r\n `callerPage=ddeditor&` +\r\n `userid=${this.userid}&` +\r\n `Issplittesting=${this.issplittesting}`;\r\n\r\n let result = '';\r\n if (this.isrss) {\r\n result += '&isrss=true';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getUrlExternalBase(resource: string, baseUrl: string) {\r\n return `${baseUrl}/${resource}?` +\r\n `accountKey=${this.accountKey}&` +\r\n `id=${this.pageid}&` +\r\n `userlcid=${this.userlcid}&` +\r\n `typeName=${this.typename}&` +\r\n `orgName=${this.orgname}&` +\r\n `callerPage=ddeditor&` +\r\n `userid=${this.userid}&` +\r\n `Issplittesting=${this.issplittesting}`;\r\n }\r\n\r\n getSessionParam() {\r\n if (this.sessionId !== null && this.sessionId !== '') {\r\n return `&sessionId=${this.sessionId}`;\r\n } else if (this.stpId !== null && this.stpId !== '') {\r\n return `&stpid=${this.stpId}`;\r\n }\r\n\r\n return '';\r\n }\r\n\r\n //TODO: I guess this need to be removed from here\r\n private getRss(): boolean {\r\n const isRssString = Utils.getParameterByName('isrss', 'false').toLowerCase();\r\n return (isRssString === 'true' || isRssString === '1');\r\n }\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\n\r\nimport { WEB_API_URL } from '../utils/common';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ApiEndpointService {\r\n private readonly apiPrefix = 'api/Editors_v2/DndEditor';\r\n private readonly apiPrefixPages = 'api';\r\n private readonly apiBasePrefix = 'api/Editors_v2';\r\n private readonly apiFilePrefix = 'api/FileManager_v2';\r\n private readonly sectionFavoritesUrl = 'SectionFavorites';\r\n private readonly featureFlagsUrl = 'FeatureFlags';\r\n private readonly featureFlagIsEnabled = 'featureFlag/isEnabled';\r\n private readonly webContentUrl = 'WebContentList';\r\n private readonly checkSessionUrl = 'CheckSession';\r\n private readonly loadTemplateUrl = 'load';\r\n private readonly lockPermissionUrl = 'LockPermissionExists';\r\n private readonly webPageContentUrl = 'WebPageContent';\r\n private readonly personalAttributesUrl = 'personalizationAttributes';\r\n private readonly crmEntitiesUrl = 'CrmEntitiesData';\r\n private readonly templateItemsUrl = 'TemplateItems';\r\n private readonly templateUrl = 'DnDTemplate';\r\n private readonly saveTemplateUrl = 'save';\r\n private readonly corporateStylesUrl = 'CorporateStyle';\r\n private readonly validateFreemarkersUrl = 'ValidateFreemarkers';\r\n private readonly spamTestUrl = 'SpamTest';\r\n private readonly socialLinksUrl = 'SocialLinks';\r\n private readonly uploadSocialLinkUrl = 'UploadSocialLinkImage';\r\n private readonly testEmailUrl = 'SendTestEmail';\r\n private readonly getBlobData = 'FileUploader/GetBlobData';\r\n private readonly getStorageQuota = 'FilesList/GetStorageQuota';\r\n private readonly checkExistingFiles = 'FilesList/CheckExistingFiles';\r\n private readonly moveFiles = 'FilesList/moveFiles';\r\n private readonly deleteEntities = 'FilesList/deleteEntities';\r\n private readonly filesList = 'FilesList';\r\n private readonly getFilesListUrl = 'FilesList/get';\r\n private readonly createFromPixie = 'FileUploader/CreateFileFromPixie';\r\n private readonly uploadFile = 'FileUploader/upload';\r\n private readonly generateAndSaveVideoThumbnail =\r\n 'FileUploader/generateVideoThumbnail';\r\n private readonly subDomains = 'SubDomainList';\r\n private readonly customFonts = 'CustomFonts';\r\n private readonly loadHtml = 'loadHtml';\r\n private readonly colorPicker = 'ColorPicker';\r\n\r\n constructor(@Inject(WEB_API_URL) private baseUrl: string) {}\r\n\r\n get SectionFavoritesUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.sectionFavoritesUrl}`;\r\n }\r\n\r\n get FeatureFlagsUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.featureFlagsUrl}`;\r\n }\r\n\r\n get FeatureFlagPagesUrl() {\r\n return `${this.baseUrl}/${this.apiPrefixPages}/${this.featureFlagIsEnabled}`;\r\n }\r\n\r\n get WebContentUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.webContentUrl}`;\r\n }\r\n\r\n get CheckSessionUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.checkSessionUrl}`;\r\n }\r\n\r\n get LoadTemplateUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.loadTemplateUrl}`;\r\n }\r\n\r\n get SaveTemplateUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.saveTemplateUrl}`;\r\n }\r\n\r\n get LockPermissionUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.lockPermissionUrl}`;\r\n }\r\n\r\n get WebPageContentUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.webPageContentUrl}`;\r\n }\r\n\r\n get PersonalAttributesUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.personalAttributesUrl}`;\r\n }\r\n\r\n get CrmEntitiesUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.crmEntitiesUrl}`;\r\n }\r\n\r\n get TemplateItemsUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.templateItemsUrl}`;\r\n }\r\n\r\n get TemplateUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.templateUrl}`;\r\n }\r\n\r\n get CorporateStylesUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.corporateStylesUrl}`;\r\n }\r\n\r\n get ValidateFreemarkersUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.validateFreemarkersUrl}`;\r\n }\r\n\r\n get SpamTestUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.spamTestUrl}`;\r\n }\r\n\r\n get SocialLinksUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.socialLinksUrl}`;\r\n }\r\n\r\n get UploadSocialLinkUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.uploadSocialLinkUrl}`;\r\n }\r\n\r\n get TestEmailUrl() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.testEmailUrl}`;\r\n }\r\n\r\n get GetBlobDataUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.getBlobData}`;\r\n }\r\n\r\n get GetStorageQuotaUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.getStorageQuota}`;\r\n }\r\n\r\n get GetFilesListUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.getFilesListUrl}`;\r\n }\r\n\r\n get CheckExistingFilesUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.checkExistingFiles}`;\r\n }\r\n\r\n get MoveFilesUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.moveFiles}`;\r\n }\r\n\r\n get DeleteEntitiesUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.deleteEntities}`;\r\n }\r\n\r\n get FilesListUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.filesList}`;\r\n }\r\n\r\n get CreateFromPixieUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.createFromPixie}`;\r\n }\r\n\r\n get UploadFileUrl() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.uploadFile}`;\r\n }\r\n\r\n get GenerateAndSaveVideoThumbnail() {\r\n return `${this.baseUrl}/${this.apiFilePrefix}/${this.generateAndSaveVideoThumbnail}`;\r\n }\r\n\r\n get GetSubDomains() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.subDomains}`;\r\n }\r\n\r\n get CustomFonts() {\r\n return `${this.baseUrl}/${this.apiBasePrefix}/${this.customFonts}`;\r\n }\r\n\r\n get LoadHtml() {\r\n return `${this.baseUrl}/${this.apiPrefix}/${this.loadHtml}`;\r\n }\r\n\r\n get ColorPicker() {\r\n return `${this.baseUrl}/${this.apiBasePrefix}/${this.colorPicker}`;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../../http/http.service';\r\nimport { ApiEndpointService } from '../api-endpoint.service';\r\nimport { Observable } from 'rxjs/Observable';\r\n\r\nexport interface IColorPickerSetting {\r\n Id: string;\r\n SelectedColors: string;\r\n}\r\n\r\n@Injectable()\r\nexport class AccountColorsApi {\r\n constructor(private httpService: HttpService,\r\n private apiEndpoint: ApiEndpointService) {\r\n }\r\n\r\n getColors(): Observable {\r\n return this.httpService.get(this.apiEndpoint.ColorPicker)\r\n .pipe((data) => {\r\n return data;\r\n });\r\n }\r\n\r\n setColors(data: IColorPickerSetting): Observable {\r\n const headers: any = {\r\n 'api-version': '1.0',\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n };\r\n\r\n return this.httpService.post(data, this.apiEndpoint.ColorPicker, headers);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DeviceDetectorService, DeviceInfo, BROWSERS } from 'ngx-device-detector';\r\n\r\n@Injectable()\r\nexport class AppStateService {\r\n deviceInfo: DeviceInfo;\r\n\r\n constructor(private deviceDetectorService: DeviceDetectorService) {\r\n this.deviceInfo = this.deviceDetectorService.getDeviceInfo();\r\n }\r\n\r\n /**\r\n * returns true if the application is running on microsoft Edge browser and false if not (on another browser)\r\n */\r\n isBrowserEdge() {\r\n return this.deviceInfo.browser === BROWSERS.MS_EDGE;\r\n }\r\n\r\n isBrowserChrome() {\r\n return this.deviceInfo.browser === BROWSERS.CHROME;\r\n }\r\n\r\n isBrowserSafari() {\r\n return this.deviceInfo.browser === BROWSERS.SAFARI;\r\n }\r\n\r\n isBrowserIE() {\r\n return this.deviceInfo.browser === BROWSERS.IE;\r\n }\r\n\r\n isBrowserFireFox() {\r\n return this.deviceInfo.browser === BROWSERS.FIREFOX;\r\n }\r\n\r\n getBrowser() {\r\n return this.deviceInfo.browser;\r\n }\r\n\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { CustomFontsService } from '../fonts/custom-fonts.service';\r\nimport { AccountColorsService } from './account-colors.service';\r\nimport { AccountService } from './account.service';\r\nimport { AccountColorsApi } from './api/account-colors.api';\r\nimport { AppStateService } from './app-state.service';\r\nimport { FeatureflagService } from './featureflag.service';\r\nimport { ImageEditorService } from './image-editor.service';\r\nimport { InboxPreviewService } from './inbox-preview.service';\r\nimport { WebContentDataService } from './web-content-data.service';\r\n\r\nconst providers = [\r\n AccountService,\r\n AppStateService,\r\n FeatureflagService,\r\n WebContentDataService,\r\n ImageEditorService,\r\n InboxPreviewService,\r\n CustomFontsService,\r\n AccountColorsService,\r\n AccountColorsApi,\r\n];\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n providers,\r\n})\r\nexport class CommonServicesModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: CommonServicesModule,\r\n providers,\r\n };\r\n }\r\n}\r\n","import { BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { HttpService } from '../http/http.service';\r\nimport { FeatureFlags, HashTable } from '../interfaces';\r\nimport { ApiEndpointService } from './api-endpoint.service';\r\n\r\n@Injectable()\r\nexport class FeatureflagService {\r\n featureFlagsCollection: HashTable = {};\r\n featureFlagsBehaviorSubject: BehaviorSubject> =\r\n new BehaviorSubject>(null);\r\n\r\n constructor(\r\n private httpService: HttpService,\r\n private apiEndpoint: ApiEndpointService\r\n ) {}\r\n\r\n isEnabled(\r\n accountKey: string,\r\n featureFlagPath: FeatureFlags\r\n ): Promise {\r\n return this.httpService\r\n .get(this.apiEndpoint.FeatureFlagPagesUrl, undefined, {\r\n headers: {\r\n accountKey,\r\n featureFlagPath,\r\n },\r\n })\r\n .toPromise();\r\n }\r\n\r\n getFlags() {\r\n return this.httpService.get(this.apiEndpoint.FeatureFlagsUrl).pipe(\r\n tap((result: any) => {\r\n Object.keys(result).forEach((key: string) => {\r\n this.featureFlagsCollection[key] = result[key];\r\n });\r\n this.featureFlagsBehaviorSubject.next(this.featureFlagsCollection);\r\n })\r\n );\r\n }\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport * as URI from 'uri-js';\r\n\r\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\r\n\r\nimport { HttpService } from '../http/http.service';\r\nimport { FeatureFlags } from '../interfaces';\r\n\r\nexport const FEATURE_FLAG_API = new InjectionToken(\r\n 'please provide FEATURE_FLAG_API in the provider list of your module'\r\n);\r\n@Injectable()\r\nexport class FeatureflagServiceV2 {\r\n private isEnabledEndpoint: string;\r\n constructor(\r\n private httpService: HttpService,\r\n @Inject(FEATURE_FLAG_API) baseUrl: string\r\n ) {\r\n this.isEnabledEndpoint = URI.resolve(baseUrl, '/api/featureFlag/isEnabled');\r\n }\r\n\r\n isEnabled(\r\n accountKey: string,\r\n featureFlagPath: FeatureFlags\r\n ): Observable {\r\n console.log(this.isEnabledEndpoint);\r\n\r\n return this.httpService.get(this.isEnabledEndpoint, undefined, {\r\n headers: {\r\n accountKey,\r\n featureFlagPath,\r\n },\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HashTable } from '../interfaces/general.interfaces';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\ninterface IPersistenceNode {\r\n onValueChanged: Subject;\r\n value: string;\r\n}\r\n\r\n@Injectable()\r\nexport class GlobalUiPersistenceService {\r\n\r\n\r\n private _allowedKeys: HashTable = {}; // for unique names/keys\r\n private _persistenceStorage: HashTable = {}; // for values storage\r\n\r\n set allowedKeys(value: HashTable) {\r\n this._allowedKeys = value;\r\n this.initPersistenceStorage();\r\n }\r\n\r\n\r\n\r\n set(key: string, value: string) {\r\n\r\n if (this._allowedKeys[key]) {\r\n\r\n localStorage.setItem(key, value);\r\n\r\n this._persistenceStorage[key].value = value;\r\n this._persistenceStorage[key].onValueChanged.next(value);\r\n\r\n } else {\r\n throw new Error('The key ' + key + ' is not supported');\r\n }\r\n\r\n }\r\n\r\n get(key: string): string {\r\n if (this._persistenceStorage[key] && this._persistenceStorage[key].value !== undefined) {\r\n return this._persistenceStorage[key].value;\r\n }\r\n\r\n return localStorage.getItem(key);\r\n }\r\n\r\n getKeyObservable(key: string): Observable {\r\n return this._persistenceStorage[key].onValueChanged.asObservable();\r\n }\r\n\r\n private initPersistenceStorage() {\r\n Object.keys(this._allowedKeys).forEach((allowedKey: string) => {\r\n this._persistenceStorage[allowedKey] = { value: undefined, onValueChanged: new Subject() };\r\n });\r\n }\r\n}\r\n","import { Injectable, NgZone } from '@angular/core';\r\nimport { PixiConfiguration } from '../js-libs/pixie/config';\r\nimport { Subject } from 'rxjs/Subject';\r\nimport { IImageFile } from '../interfaces/files.interface';\r\nimport { Observable } from 'rxjs';\r\nimport { Logger } from '../monitoring/logger/logger';\r\nimport { SpinnerService } from '../components/spinner/spinner.service';\r\n\r\ndeclare var Pixie: any; // Pixie load from 3rd part code from javascript file, not type safety\r\n\r\n@Injectable()\r\nexport class ImageEditorService {\r\n\r\n pixieEditor: any;\r\n config: any;\r\n\r\n constructor(private spinnerService: SpinnerService, private zone: NgZone, private logger: Logger) {\r\n const pixiConfiguration = new PixiConfiguration();\r\n this.config = pixiConfiguration.pixieConfig;\r\n }\r\n\r\n openImageEditor(publicImgSrc: string, currentUserLanguage: string): Observable {\r\n\r\n const pixieSave: Subject = new Subject();\r\n\r\n try {\r\n\r\n if (!this.pixieEditor) {\r\n const pixieCustomConfig = JSON.parse(JSON.stringify(this.config));\r\n if (currentUserLanguage === '1036') {\r\n pixieCustomConfig.languages.active = 'french';\r\n }\r\n\r\n pixieCustomConfig.onSave = (data: any, name: any) => {\r\n this.zone.run(() => {\r\n this.spinnerService.show();\r\n this.pixieEditor.close();\r\n pixieSave.next(data);\r\n });\r\n };\r\n\r\n pixieCustomConfig.onClose = this.onPixieClose.bind(this);\r\n pixieCustomConfig.image = publicImgSrc;\r\n\r\n // run pixie outside the current application's-angular-zone since it has it's own zone to manage (it's an angular app by-itself)\r\n // I added this since there was an assertion on the console.\r\n this.zone.runOutsideAngular(() => {\r\n this.pixieEditor = new Pixie(pixieCustomConfig);\r\n });\r\n\r\n } else {\r\n this.pixieEditor.setConfig('onClose', this.onPixieClose.bind(this));\r\n this.pixieEditor.setConfig('onSave', (data: any, name: any) => {\r\n this.zone.run(() => {\r\n this.spinnerService.show();\r\n pixieSave.next(data);\r\n this.pixieEditor.close();\r\n });\r\n\r\n });\r\n this.pixieEditor.resetEditor();\r\n this.pixieEditor.resetAndOpenEditor('image', publicImgSrc);\r\n\r\n }\r\n\r\n } catch (err) {\r\n\r\n console.log(err.message);\r\n\r\n }\r\n\r\n return pixieSave.asObservable();\r\n }\r\n\r\n onPixieClose() {\r\n this.zone.run(() => {\r\n if (this.pixieEditor) {\r\n this.pixieEditor.resetEditor();\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AccountService } from './account.service';\r\n\r\n@Injectable()\r\nexport class InboxPreviewService {\r\n\r\n constructor(private accountService: AccountService) {\r\n }\r\n\r\n openInboxPreview() {\r\n const url = `${this.accountService.baseUrl}/inboxpreview?accountKey=${this.accountService.accountKey}` +\r\n `&orgname=${this.accountService.orgname}&userlcid=${this.accountService.userlcid}` +\r\n `&userid=${this.accountService.userid}&sessionId=${this.accountService.sessionId}` +\r\n `&id=${this.accountService.id}&typename=${this.accountService.typename}` +\r\n `&version=${this.accountService.version}&callerPage=ddeditor`;\r\n\r\n window.open(url, '_blank');\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './account.service';\r\nexport * from './app-state.service';\r\nexport * from './featureflag.service';\r\nexport * from './featureflag.v2.service';\r\nexport * from './global-ui-persistence-service';\r\nexport * from './inbox-preview.service';\r\nexport * from './web-content-data.api';\r\nexport * from './web-content-data.service';\r\nexport * from './image-editor.service';\r\nexport * from './api-endpoint.service';\r\nexport * from './common-services.module';\r\nexport * from './account-colors.service';\r\n// end:ng42.barrel\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpService } from '../http/http.service';\r\nimport { ApiEndpointService } from './api-endpoint.service';\r\n\r\nexport interface IWebContentDataRecord {\r\n Link: string;\r\n Name: string;\r\n}\r\n\r\nexport interface IWebContentData {\r\n LandingPageList: IWebContentDataRecord[];\r\n ProfileList: IWebContentDataRecord[];\r\n SubscriptionList: IWebContentDataRecord[];\r\n SurveyList: IWebContentDataRecord[];\r\n}\r\n\r\n@Injectable()\r\nexport class WebContentDataApi {\r\n\r\n constructor(private httpService: HttpService,\r\n private apiEndpoint: ApiEndpointService) {\r\n }\r\n\r\n getWebContentData() {\r\n return this.httpService.get(this.apiEndpoint.WebContentUrl);\r\n }\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { IWebContentData, WebContentDataApi } from './web-content-data.api';\r\nimport { Logger } from '../monitoring/logger/logger';\r\nimport { finalize, tap } from 'rxjs/operators';\r\n\r\n\r\n@Injectable()\r\nexport class WebContentDataService {\r\n public webContentDataStore: Observable;\r\n\r\n public isLoading = false;\r\n public onLoadingChanged: Observable;\r\n\r\n private _onLoadingChanged: BehaviorSubject;\r\n private _webContentDataStore: BehaviorSubject;\r\n\r\n constructor(private webContentDataApi: WebContentDataApi,\r\n private logger: Logger) {\r\n\r\n this._webContentDataStore = new BehaviorSubject(null);\r\n this.webContentDataStore = this._webContentDataStore.asObservable();\r\n\r\n this._onLoadingChanged = new BehaviorSubject(this.isLoading);\r\n this.onLoadingChanged = this._onLoadingChanged.asObservable();\r\n }\r\n\r\n getWebContentData() {\r\n this.isLoading = true;\r\n this._onLoadingChanged.next(this.isLoading);\r\n\r\n return this.webContentDataApi.getWebContentData()\r\n .pipe(\r\n tap((webContentData: IWebContentData) => {\r\n this.logger.debug('WebContentDataService: got the web content data');\r\n\r\n this._webContentDataStore.next(webContentData);\r\n }),\r\n finalize(() => {\r\n this.isLoading = false;\r\n this._onLoadingChanged.next(this.isLoading);\r\n }));\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './translations.utils';\r\nexport * from './translate-http-loader';\r\n// end:ng42.barrel\r\n","import { TranslateLoader } from '@ngx-translate/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n\r\nexport class TranslateHttpLoader implements TranslateLoader {\r\n constructor(private http: HttpClient, public prefix: string = '/assets/i18n/', public suffix: string = '.json') {\r\n }\r\n\r\n /**\r\n * Gets the translations from the server\r\n * @param lang - the language code in LCID format could be strings like 1033, 1036... (http://www.orbus.be/bosanski_jezik/language_codes.htm)\r\n */\r\n public getTranslation(lang: string): any {\r\n return this.http.get(this.getUrl(lang));\r\n }\r\n\r\n private getUrl(lang: string) {\r\n return `${this.prefix}${lang}${this.suffix}`;\r\n }\r\n}\r\n\r\n","import { LOCATION_INITIALIZED } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { InjectionToken, Injector } from '@angular/core';\r\nimport { TranslateLoader, TranslateService } from '@ngx-translate/core';\r\n\r\nimport { Utils } from '../utils/common';\r\nimport { TranslateHttpLoader } from './translate-http-loader';\r\n\r\nexport function createTranslateLoader(\r\n http: HttpClient,\r\n cacheBustingString: string\r\n) {\r\n const suffix = '.json?' + cacheBustingString;\r\n return new TranslateHttpLoader(http, '/assets/i18n/', suffix);\r\n}\r\n\r\nexport const LCID_QUERYSTRING_PARAM_NAME = new InjectionToken('lcid');\r\nexport const LCID_QUERYSTRING_PARAM_NAMES = new InjectionToken(\r\n 'lcid'\r\n);\r\n\r\nexport let languagesDictionary = {\r\n '1069': { name: 'Basque-Basque', baseLocaleId: 'eu-ES', languageCode: 'eu' },\r\n '1026': {\r\n name: 'Bulgarian-Bulgaria',\r\n baseLocaleId: 'bg-BG',\r\n languageCode: 'bg',\r\n },\r\n '1027': {\r\n name: 'Catalan-Catalan',\r\n baseLocaleId: 'ca-ES',\r\n languageCode: 'ca',\r\n },\r\n '2052': {\r\n name: 'Chinese-China',\r\n baseLocaleId: 'zh-CN',\r\n languageCode: 'zh-cn',\r\n },\r\n '3076': {\r\n name: 'Chinese-Hong Kong',\r\n baseLocaleId: 'zh-HK',\r\n languageCode: 'zh',\r\n },\r\n '1028': {\r\n name: 'Chinese-Traditional',\r\n baseLocaleId: 'zh-TW',\r\n languageCode: 'zh',\r\n },\r\n '1050': {\r\n name: 'Croatian-Croatia',\r\n baseLocaleId: 'hr-HR',\r\n languageCode: 'hr',\r\n },\r\n '1029': {\r\n name: 'Czech - Czech Republic',\r\n baseLocaleId: 'cs-CZ',\r\n languageCode: 'cs',\r\n },\r\n '1030': { name: 'Danish-Denmark', baseLocaleId: 'da-DK', languageCode: 'da' },\r\n '1043': {\r\n name: 'Dutch-Netherlands',\r\n baseLocaleId: 'nl-NL',\r\n languageCode: 'nl',\r\n },\r\n '1033': { name: 'English', baseLocaleId: 'en-US', languageCode: 'en' },\r\n '1061': {\r\n name: 'Estonian-Estonia',\r\n baseLocaleId: 'et-EE',\r\n languageCode: 'et',\r\n },\r\n '1035': {\r\n name: 'Finnish-Finland',\r\n baseLocaleId: 'fi-FI',\r\n languageCode: 'fi',\r\n },\r\n '1036': { name: 'French-France', baseLocaleId: 'fr-FR', languageCode: 'fr' },\r\n '1110': { name: 'Galician-Spain', baseLocaleId: 'gl-ES', languageCode: 'gl' },\r\n '1031': { name: 'German-Germany', baseLocaleId: 'de-DE', languageCode: 'de' },\r\n '1032': { name: 'Greek-Greece', baseLocaleId: 'el-GR', languageCode: 'el' },\r\n '1081': { name: 'Hindi-India', baseLocaleId: 'hi-IN', languageCode: 'hi' },\r\n '1038': {\r\n name: 'Hungarian-Hungary',\r\n baseLocaleId: 'hu-HU',\r\n languageCode: 'hu',\r\n },\r\n '1057': {\r\n name: 'Indonesian-Indonesia',\r\n baseLocaleId: 'id-ID',\r\n languageCode: 'id',\r\n },\r\n '1040': { name: 'Italian-Italy', baseLocaleId: 'it-IT', languageCode: 'it' },\r\n '1041': { name: 'Japanese-Japan', baseLocaleId: 'ja-JP', languageCode: 'ja' },\r\n '1087': {\r\n name: 'Kazakh-Kazakhstan',\r\n baseLocaleId: 'kk-KZ',\r\n languageCode: 'en',\r\n }, //not supports in CKEditor\r\n '1042': { name: 'Korean-Korea', baseLocaleId: 'ko-KR', languageCode: 'ko' },\r\n '1062': { name: 'Latvian-Latvia', baseLocaleId: 'lv-LV', languageCode: 'lv' },\r\n '1063': {\r\n name: 'Lithuanian-Lithuania',\r\n baseLocaleId: 'lt-LT',\r\n languageCode: 'lt',\r\n },\r\n '1086': { name: 'Malay-Malaysia', baseLocaleId: 'ms-MY', languageCode: 'ms' },\r\n '1044': {\r\n name: 'Norwegian(Bokmal) - Norway',\r\n baseLocaleId: 'nb-NO',\r\n languageCode: 'nb',\r\n },\r\n '1045': { name: 'Polish-Poland', baseLocaleId: 'pl-PL', languageCode: 'pl' },\r\n '1046': {\r\n name: 'Portuguese-Brazil',\r\n baseLocaleId: 'pt-BR',\r\n languageCode: 'pt-br',\r\n },\r\n '2070': {\r\n name: 'Portuguese-Portugal',\r\n baseLocaleId: 'pt-PT',\r\n languageCode: 'pt',\r\n },\r\n '1048': {\r\n name: 'Romanian-Romania',\r\n baseLocaleId: 'ro-RO',\r\n languageCode: 'ro',\r\n },\r\n '1049': { name: 'Russian-Russia', baseLocaleId: 'ru-RU', languageCode: 'ru' },\r\n '3098': {\r\n name: 'Serbian (Cyrillic)-Serbia',\r\n baseLocaleId: 'sr-Cyrl-CS',\r\n languageCode: 'sr',\r\n },\r\n '2074': {\r\n name: 'Serbian (Latin)',\r\n baseLocaleId: 'sr-Latn-CS',\r\n languageCode: 'sr-latn',\r\n },\r\n '1051': {\r\n name: 'Slovak-Slovakia',\r\n baseLocaleId: 'sk-SK',\r\n languageCode: 'sk',\r\n },\r\n '1060': {\r\n name: 'Slovenian-Slovenia',\r\n baseLocaleId: 'sl-SI',\r\n languageCode: 'sl',\r\n },\r\n '3082': {\r\n name: 'Spanish (Traditional Sort)',\r\n baseLocaleId: 'es-ES',\r\n languageCode: 'es',\r\n },\r\n '1053': { name: 'Swedish-Sweden', baseLocaleId: 'sv-SE', languageCode: 'sv' },\r\n '1054': { name: 'Thai-Thailand', baseLocaleId: 'th-TH', languageCode: 'th' },\r\n '1055': { name: 'Turkish-Turkey', baseLocaleId: 'tr-TR', languageCode: 'tr' },\r\n '1058': {\r\n name: 'Ukrainian-Ukraine',\r\n baseLocaleId: 'uk-UA',\r\n languageCode: 'uk',\r\n },\r\n '1066': {\r\n name: 'Vietnamese-Vietnam',\r\n baseLocaleId: 'vi-VN',\r\n languageCode: 'vi',\r\n },\r\n};\r\n\r\nexport const DEFAULT_LCID: string = '1033';\r\n\r\nexport function getLanguageCodeByUserLcid(userlcid: string): string {\r\n if (userlcid in languagesDictionary) {\r\n return languagesDictionary[userlcid].languageCode;\r\n }\r\n return languagesDictionary[DEFAULT_LCID].languageCode;\r\n}\r\n\r\n/**\r\n * initialize the languages resources. tries to download the requested language taken from the paramtere\r\n * on the query string.\r\n * translate - the translation service\r\n * injector - angular's injector\r\n * translateLoader - the supplied translate loader\r\n * queryStringLangParamName - the query string paramter to check for the language to load should be provided\r\n * as injectable token: LCID_QUERYSTRING_PARAM_NAME\r\n */\r\nexport function appTranslationsInitializerFactory(\r\n translate: TranslateService,\r\n injector: Injector,\r\n translateLoader: TranslateLoader,\r\n queryStringLangParamName: string\r\n) {\r\n return () =>\r\n new Promise((resolve: any) => {\r\n translate.setDefaultLang(DEFAULT_LCID);\r\n const locationInitialized = injector.get(\r\n LOCATION_INITIALIZED,\r\n Promise.resolve(null)\r\n );\r\n\r\n if (!queryStringLangParamName) {\r\n console.error(`appTranslationsInitializerFactory: queryStringLangParamName was not supplied. got: ${queryStringLangParamName}\r\n please check that you have defined: a provider for LCID_QUERYSTRING_PARAM_NAME`);\r\n }\r\n\r\n const userlcid = Utils.getParameterByName(queryStringLangParamName);\r\n\r\n if (!userlcid) {\r\n console.error(`appTranslationsInitializerFactory: could not locate the query string param: ${queryStringLangParamName}\r\n did you forget to add the language query string param on the link you are opening?`);\r\n }\r\n\r\n locationInitialized.then(() => {\r\n initTranslation(translate, userlcid, resolve);\r\n });\r\n });\r\n}\r\n\r\n// sdfasdf\r\nexport function appTranslationsInitializerFactoryV2(\r\n translate: TranslateService,\r\n injector: Injector,\r\n translateLoader: TranslateLoader,\r\n queryStringLangParamNames: string[]\r\n) {\r\n return () =>\r\n new Promise((resolve: any) => {\r\n translate.setDefaultLang(DEFAULT_LCID);\r\n const locationInitialized = injector.get(\r\n LOCATION_INITIALIZED,\r\n Promise.resolve(null)\r\n );\r\n\r\n if (!queryStringLangParamNames) {\r\n console.error(`appTranslationsInitializerFactory: queryStringLangParamName was not supplied. got: ${queryStringLangParamNames}\r\n please check that you have defined: a provider for LCID_QUERYSTRING_PARAM_NAME`);\r\n }\r\n\r\n // const userlcid = Utils.getParameterByName(queryStringLangParamName);\r\n const userlcid = Utils.getParameterByNames(\r\n queryStringLangParamNames,\r\n DEFAULT_LCID\r\n );\r\n\r\n if (!userlcid) {\r\n console.error(`appTranslationsInitializerFactory: could not locate the query string params: ${queryStringLangParamNames}\r\n did you forget to add the language query string param on the link you are opening?`);\r\n }\r\n\r\n locationInitialized.then(() => {\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n initTranslation(translate, userlcid, resolve);\r\n });\r\n });\r\n}\r\nfunction initTranslation(\r\n translate: TranslateService,\r\n userlcid: string,\r\n resolve: any\r\n) {\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n translate.use(userlcid).subscribe(\r\n () => {\r\n if (\r\n Object.keys(translate.store.translations[translate.currentLang])\r\n .length !== 0\r\n ) {\r\n console.log(`Successfully initialized ${userlcid} language.`);\r\n } else {\r\n console.log(\r\n `Could not find the original language requested: ${userlcid} check if the default was loaded:`\r\n );\r\n if (\r\n Object.keys(translate.store.translations[translate.defaultLang])\r\n .length === 0\r\n ) {\r\n console.error(\r\n `Problem with loading the default lang ${translate.defaultLang}`\r\n );\r\n } else {\r\n console.log(`Loaded default lang ${translate.defaultLang}`);\r\n }\r\n }\r\n },\r\n (err: any) => {\r\n console.error(\r\n `Problem with '${userlcid}' language initialization. err: '` +\r\n err.toString()\r\n );\r\n },\r\n () => {\r\n resolve(null);\r\n }\r\n );\r\n}\r\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\r\nimport { Configuration } from './configuration';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n\r\nimport { TreeViewService } from './api/treeView.service';\r\nimport { FilesListApiService } from './api/fileList/filesList.service';\r\nimport { CustomFontsApi } from '../fonts/custom-fonts.api';\r\n\r\n@NgModule({\r\n imports: [],\r\n declarations: [],\r\n exports: [],\r\n providers: [\r\n TreeViewService, FilesListApiService, CustomFontsApi]\r\n})\r\nexport class ApiModule {\r\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders {\r\n return {\r\n ngModule: ApiModule,\r\n providers: [{ provide: Configuration, useFactory: configurationFactory }]\r\n };\r\n }\r\n\r\n constructor(@Optional() @SkipSelf() parentModule: ApiModule,\r\n @Optional() http: HttpClient) {\r\n if (parentModule) {\r\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\r\n }\r\n if (!http) {\r\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\r\n 'See also https://github.com/angular/angular/issues/20575');\r\n }\r\n }\r\n}\r\n","export * from './treeView.service';\r\nexport * from './fileList/filesList.service';\r\nimport { TreeViewService } from './treeView.service';\r\nimport { FilesListApiService } from './fileList/filesList.service';\r\nexport const APIS = [TreeViewService, FilesListApiService];\r\n","import { mergeMap, catchError } from 'rxjs/operators';\r\nimport { Observable, of } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\r\nimport { FileModel, DeleteEntityModel, MoveFilesModel, FileDto } from '../../model/models';\r\nimport { IGetFilesByFolderRequestDetails } from '../../../file-manager';\r\nimport { FileManagerResult, FileManagerResults, FileParameter } from './filesList.service.model';\r\nimport { appendQueryParamToUrlString, customErrorMessage, isNotSuccessCode, parseSuccessDetails, tryAddingMoreContextToErrorMessage } from './filesList.utils';\r\nimport { ApiEndpointService } from '../../../services/api-endpoint.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FilesListApiService {\r\n constructor(private apiEndpoint: ApiEndpointService, private http: HttpClient) { }\r\n\r\n public getFiles = (data: IGetFilesByFolderRequestDetails): Observable => {\r\n const url = this.apiEndpoint.GetFilesListUrl;\r\n const options = {\r\n body: JSON.stringify(data),\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n return this.http.request>('post', url, options as unknown)\r\n .pipe(mergeMap(this.processGetFiles))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processGetFiles)));\r\n }\r\n\r\n private processGetFiles(response: HttpResponse): Observable {\r\n switch(response.status) {\r\n case 200: return parseSuccessDetails(response);\r\n case 500: return customErrorMessage(response, 'Cannot get files from folder. Server error.', true);\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return Returns only existing file names.\r\n */\r\n public checkExistingFiles = (fileNames: string[]): Observable => {\r\n const url = this.apiEndpoint.CheckExistingFilesUrl;\r\n const options = {\r\n body: JSON.stringify(fileNames),\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n\r\n return this.http.request>('post', url, options as unknown)\r\n .pipe(mergeMap(this.processCheckExistingFiles))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processCheckExistingFiles)));\r\n }\r\n\r\n private processCheckExistingFiles = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 200: return parseSuccessDetails(response);\r\n case 400: return customErrorMessage(response, 'Invalid model', true);\r\n case 500: return customErrorMessage(response, 'Cannot check existing file names. Server error.', true);\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return Return current storage quota as anonymous object.\r\n */\r\n public getStorageQuota = (): Observable => {\r\n const url = this.apiEndpoint.GetStorageQuotaUrl;\r\n const options = {\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Accept': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n return this.http.request>('get', url, options as unknown)\r\n .pipe(mergeMap(this.processGetStorageQuota))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processGetStorageQuota)));\r\n }\r\n\r\n private processGetStorageQuota = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 200: return parseSuccessDetails(response);\r\n case 500: return customErrorMessage(response, 'Cannot get storage quota. Server error.', true);\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return Files were moved\r\n */\r\n public moveFiles = (model: MoveFilesModel): Observable => {\r\n const url = this.apiEndpoint.MoveFilesUrl;\r\n const options = {\r\n body: JSON.stringify(model),\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n return this.http.request>('put', url, options as unknown)\r\n .pipe(mergeMap(this.processMoveFiles))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processMoveFiles)));\r\n }\r\n\r\n private processMoveFiles = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 204: return of(null);\r\n case 400: return customErrorMessage(response, 'Invalid model', true);\r\n case 500: return customErrorMessage(response, 'Cannot move files. Server error.');\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @return Entities were deleted\r\n */\r\n public deleteEntities = (model: DeleteEntityModel[]): Observable => {\r\n const url = this.apiEndpoint.DeleteEntitiesUrl;\r\n const options = {\r\n body: JSON.stringify(model),\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n return this.http.request>('post', url, options as unknown)\r\n .pipe(mergeMap(this.processDeleteEntities))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processDeleteEntities)));\r\n }\r\n\r\n private processDeleteEntities = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 200: return parseSuccessDetails(response);\r\n case 400: return customErrorMessage(response, 'Invalid model', true);\r\n case 500: return customErrorMessage(response, 'Cannot delete entities. Server error.');\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n\r\n public updateFile = (file: FileDto, type: FileModel.FileTypeEnum | null | undefined): Observable => {\r\n let url = this.apiEndpoint.FilesListUrl;\r\n url = appendQueryParamToUrlString(url, 'type', type);\r\n const options = {\r\n body: JSON.stringify(file),\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n\r\n return this.http.request>('put', url, options as unknown)\r\n .pipe(mergeMap(this.processUpdateFile))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processUpdateFile)));\r\n }\r\n\r\n private processUpdateFile = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 200: return of(null);\r\n case 400: return customErrorMessage(response, 'Invalid model', true);\r\n case 500: return customErrorMessage(response, 'Error with database connection');\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class FileUploaderClient {\r\n constructor(private apiEndpoint: ApiEndpointService, private http: HttpClient) { }\r\n\r\n public upload = (file: FileParameter, parentFolderId: string, type: FileModel.FileTypeEnum, isToCheckQuota?: boolean, keepBoth?: boolean): Observable => {\r\n const missingParameterMessage = (name) => `The parameter '${name}' must be defined and cannot be null.`\r\n if ([undefined, null].includes(parentFolderId)) throw new Error(missingParameterMessage('parentFolderId'));\r\n if ([undefined, null].includes(type)) throw new Error(missingParameterMessage('type'));\r\n if ([undefined, null].includes(file)) throw new Error(missingParameterMessage('file'));\r\n\r\n let url = this.apiEndpoint.UploadFileUrl;\r\n url = appendQueryParamToUrlString(url, 'parentFolderId', parentFolderId);\r\n url = appendQueryParamToUrlString(url, 'type', type);\r\n url = appendQueryParamToUrlString(url, 'isToCheckQuota', isToCheckQuota);\r\n url = appendQueryParamToUrlString(url, 'keepBoth', keepBoth);\r\n\r\n const body = new FormData();\r\n body.append('file', file.data, file.fileName || 'file');\r\n \r\n const options = {\r\n body,\r\n observe: 'response',\r\n responseType: 'blob',\r\n headers: new HttpHeaders({\r\n 'Accept': 'application/json',\r\n 'api-version': '2.0'\r\n })\r\n };\r\n return this.http.request>('post', url, options as unknown)\r\n .pipe(mergeMap(this.processUpload))\r\n .pipe(catchError(tryAddingMoreContextToErrorMessage(this.processUpload)));\r\n }\r\n\r\n private processUpload = (response: HttpResponse): Observable => {\r\n switch(response.status) {\r\n case 200: case 201: return parseSuccessDetails(response);\r\n case 400: return customErrorMessage(response, 'Invalid model', true);\r\n case 500: return customErrorMessage(response, 'Error with database connection');\r\n case 507: return customErrorMessage(response, 'Storage limit is exceeded', true);\r\n default: {\r\n if (isNotSuccessCode(response.status)) {\r\n return customErrorMessage(response, 'An unexpected server error occurred.');\r\n }\r\n return of(null);\r\n }\r\n }\r\n }\r\n}\r\n","import { HttpResponse, HttpResponseBase } from '@angular/common/http';\r\nimport { Observable, of, throwError } from 'rxjs';\r\nimport { mergeMap } from 'rxjs/operators';\r\nimport { IHeadersMap } from './filesList.service.model';\r\n\r\nclass ApiException extends Error {\r\n constructor(\r\n public message: string,\r\n public status: number,\r\n public response: string,\r\n public headers: IHeadersMap,\r\n public result: any\r\n ) {\r\n super();\r\n }\r\n}\r\n \r\nexport function throwException(message: string, status: number, response: string, headers: IHeadersMap, result?: any): Observable {\r\n const exception = result || new ApiException(message, status, response, headers, null);\r\n return throwError(exception);\r\n}\r\n\r\nexport function getResponseBlob(response: HttpResponse): Blob {\r\n let blob: Blob;\r\n if (response instanceof HttpResponse) {\r\n blob = response.body;\r\n }\r\n if (!blob && response['error'] instanceof Blob) {\r\n blob = response['error'];\r\n }\r\n return blob;\r\n}\r\n\r\nexport function getResponseHeaders(response: HttpResponse): IHeadersMap {\r\n const headers: IHeadersMap = {};\r\n if (response.headers) { \r\n for (let key of response.headers.keys()) { \r\n headers[key] = response.headers.get(key);\r\n }\r\n };\r\n return headers;\r\n}\r\n\r\nexport function blobToText(blob: Blob): Observable {\r\n return new Observable((observer: any) => {\r\n if (!blob) {\r\n observer.next('');\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next(event.target['result']);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}\r\n\r\nexport function getResponseText(response: HttpResponse): Observable {\r\n const blob = getResponseBlob(response);\r\n return blobToText(blob);\r\n}\r\n\r\nconst FAILED_TO_PARSE_BLOB_TEXT = 'Could not parse FileList endpoint response text.';\r\n\r\nexport function customErrorMessage(response: HttpResponse, message: string, parseResult = false): Observable {\r\n const headers = getResponseHeaders(response);\r\n return getResponseText(response).pipe(mergeMap(text => {\r\n if (parseResult) {\r\n let result = null;\r\n try {\r\n result = !text ? null : JSON.parse(text);\r\n } catch (error) {\r\n console.error(FAILED_TO_PARSE_BLOB_TEXT);\r\n }\r\n return throwException(message, response.status, text, headers, result);\r\n } else {\r\n return throwException(message, response.status, text, headers);\r\n }\r\n }));\r\n}\r\n\r\nexport function parseSuccessDetails(response: HttpResponse): Observable {\r\n return getResponseText(response).pipe(mergeMap(text => {\r\n let result: TParsedResponse = null;\r\n try {\r\n result = !text ? null : JSON.parse(text);\r\n } catch (error) {\r\n console.error(FAILED_TO_PARSE_BLOB_TEXT);\r\n }\r\n return of(result);\r\n }));\r\n}\r\n\r\nexport function isNotSuccessCode(statusCode: number) {\r\n return statusCode !== 200 && statusCode !== 204;\r\n}\r\n\r\nexport function tryAddingMoreContextToErrorMessage(responseHandler: (errorResponse: unknown) => Observable) {\r\n return function (errorResponse: unknown) {\r\n if (errorResponse instanceof HttpResponseBase) {\r\n try {\r\n return responseHandler(errorResponse);\r\n } catch (e) {\r\n return throwError(e);\r\n }\r\n }\r\n return throwError(errorResponse);\r\n };\r\n}\r\n\r\nexport function appendQueryParamSymbolToUrlString(url: string): string {\r\n const noTrailingQueryParamSymbol = /[?&]$/.test(url) === false;\r\n const containsQueryParamInit = url.includes('?');\r\n return noTrailingQueryParamSymbol ? `${url}${containsQueryParamInit ? '&' : '?'}` : url;\r\n}\r\n\r\nexport function appendQueryParamToUrlString(url: string, name: string, value: unknown): string {\r\n if (value === undefined) return url;\r\n return `${appendQueryParamSymbolToUrlString(url)}${name}=${encodeURIComponent(`${value}`)}`;\r\n}","import { Observable } from 'rxjs';\r\nimport { Injectable, Inject, Optional } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { COMMON_WEB_URL } from '../variables';\r\nimport { ImageSyncResults } from '../model/imageSyncModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ImageSyncApiService {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(COMMON_WEB_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl ? baseUrl : \"https://localhost\";\r\n }\r\n\r\n /**\r\n * @return response\r\n */\r\n public syncImages(accountKey: string, email: string): Observable {\r\n const url = this.baseUrl + `/api/transfer-images?accountKey=${accountKey}&email=${email}`;\r\n\r\n this.http.get(url, { withCredentials: true, headers: { accountKey: accountKey }}).subscribe();\r\n\r\n return new Observable();\r\n }\r\n}\r\n","// start:ng42.barrel\r\nexport * from './api';\r\nexport * from './fileList/filesList.service';\r\nexport * from './treeView.service';\r\n// end:ng42.barrel\r\n\r\n","/**\r\n * ClickDimensions.WebApp.MsCrm API V2\r\n * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)\r\n *\r\n * OpenAPI spec version: v2\r\n *\r\n *\r\n * NOTE: This class is auto generated by the swagger code generator program.\r\n * https://github.com/swagger-api/swagger-codegen.git\r\n * Do not edit the class manually.\r\n */\r\n/* tslint:disable:no-unused-variable member-ordering */\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport {\r\n HttpClient, HttpHeaders, HttpParams,\r\n HttpResponse, HttpEvent\r\n} from '@angular/common/http';\r\nimport { CustomHttpUrlEncodingCodec } from '../encoder';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { FolderDto } from '../model/folderDto';\r\nimport { FolderTreeNode } from '../model/folderTreeNode';\r\nimport { ModelState } from '../model/modelState';\r\n\r\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\r\nimport { Configuration } from '../configuration';\r\n\r\n\r\n@Injectable()\r\nexport class TreeViewService {\r\n\r\n protected basePath = 'https://localhost';\r\n public defaultHeaders = new HttpHeaders();\r\n public configuration = new Configuration();\r\n\r\n constructor(protected httpClient: HttpClient, @Optional() @Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\r\n if (basePath) {\r\n this.basePath = basePath;\r\n }\r\n if (configuration) {\r\n this.configuration = configuration;\r\n this.basePath = basePath || configuration.basePath || this.basePath;\r\n }\r\n }\r\n\r\n /**\r\n * @param consumes string[] mime-types\r\n * @return true: consumes contains 'multipart/form-data', false: otherwise\r\n */\r\n private canConsumeForm(consumes: string[]): boolean {\r\n const form = 'multipart/form-data';\r\n for (const consume of consumes) {\r\n if (form === consume) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n\r\n /**\r\n *\r\n *\r\n * @param dto\r\n * @param type\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public treeViewAddFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'body', reportProgress?: boolean): Observable;\r\n public treeViewAddFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'response', reportProgress?: boolean): Observable>;\r\n public treeViewAddFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'events', reportProgress?: boolean): Observable>;\r\n public treeViewAddFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n if (dto === null || dto === undefined) {\r\n throw new Error('Required parameter dto was null or undefined when calling treeViewAddFolder.');\r\n }\r\n\r\n\r\n let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });\r\n if (type !== undefined && type !== null) {\r\n queryParameters = queryParameters.set('type', type);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml',\r\n 'application/x-www-form-urlencoded'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.post(`${this.basePath}/api/FileManager_v2/TreeView/addFolder`,\r\n dto,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param folderId\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public treeViewDeleteFolder(folderId: string, observe?: 'body', reportProgress?: boolean): Observable;\r\n public treeViewDeleteFolder(folderId: string, observe?: 'response', reportProgress?: boolean): Observable>;\r\n public treeViewDeleteFolder(folderId: string, observe?: 'events', reportProgress?: boolean): Observable>;\r\n public treeViewDeleteFolder(folderId: string, observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n if (folderId === null || folderId === undefined) {\r\n throw new Error('Required parameter folderId was null or undefined when calling treeViewDeleteFolder.');\r\n }\r\n\r\n let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });\r\n if (folderId !== undefined && folderId !== null) {\r\n queryParameters = queryParameters.set('folderId', folderId);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n ];\r\n\r\n return this.httpClient.delete(`${this.basePath}/api/FileManager_v2/TreeView`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param type\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public treeViewGetAllFoldersV2(type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'body', reportProgress?: boolean): Observable;\r\n public treeViewGetAllFoldersV2(type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'response', reportProgress?: boolean): Observable>;\r\n public treeViewGetAllFoldersV2(type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'events', reportProgress?: boolean): Observable>;\r\n public treeViewGetAllFoldersV2(type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n\r\n let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });\r\n if (type !== undefined && type !== null) {\r\n queryParameters = queryParameters.set('Type', type);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [];\r\n\r\n return this.httpClient.get(`${this.basePath}/api/FileManager_v2/TreeView/getAllFolders`,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n /**\r\n *\r\n *\r\n * @param dto\r\n * @param type\r\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\r\n * @param reportProgress flag to report request and response progress.\r\n */\r\n public treeViewUpdateFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'body', reportProgress?: boolean): Observable;\r\n public treeViewUpdateFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'response', reportProgress?: boolean): Observable>;\r\n public treeViewUpdateFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe?: 'events', reportProgress?: boolean): Observable>;\r\n public treeViewUpdateFolder(dto: FolderDto, type?: 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS', observe: any = 'body', reportProgress: boolean = false): Observable {\r\n\r\n if (dto === null || dto === undefined) {\r\n throw new Error('Required parameter dto was null or undefined when calling treeViewUpdateFolder.');\r\n }\r\n\r\n\r\n let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });\r\n if (type !== undefined && type !== null) {\r\n queryParameters = queryParameters.set('type', type);\r\n }\r\n\r\n let headers = this.defaultHeaders;\r\n\r\n // to determine the Accept header\r\n let httpHeaderAccepts: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml'\r\n ];\r\n const httpHeaderAcceptSelected: string | undefined = this.configuration.selectHeaderAccept(httpHeaderAccepts);\r\n if (httpHeaderAcceptSelected != undefined) {\r\n headers = headers.set('Accept', httpHeaderAcceptSelected);\r\n }\r\n\r\n // to determine the Content-Type header\r\n const consumes: string[] = [\r\n 'application/json',\r\n 'text/json',\r\n 'application/xml',\r\n 'text/xml',\r\n 'application/x-www-form-urlencoded'\r\n ];\r\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\r\n if (httpContentTypeSelected != undefined) {\r\n headers = headers.set('Content-Type', httpContentTypeSelected);\r\n }\r\n\r\n return this.httpClient.put(`${this.basePath}/api/FileManager_v2/TreeView`,\r\n dto,\r\n {\r\n params: queryParameters,\r\n withCredentials: this.configuration.withCredentials,\r\n headers: headers,\r\n observe: observe,\r\n reportProgress: reportProgress\r\n }\r\n );\r\n }\r\n\r\n}\r\n","export interface ConfigurationParameters {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n}\r\n\r\nexport class Configuration {\r\n apiKeys?: {[ key: string ]: string};\r\n username?: string;\r\n password?: string;\r\n accessToken?: string | (() => string);\r\n basePath?: string;\r\n withCredentials?: boolean;\r\n\r\n constructor(configurationParameters: ConfigurationParameters = {}) {\r\n this.apiKeys = configurationParameters.apiKeys;\r\n this.username = configurationParameters.username;\r\n this.password = configurationParameters.password;\r\n this.accessToken = configurationParameters.accessToken;\r\n this.basePath = configurationParameters.basePath;\r\n this.withCredentials = configurationParameters.withCredentials;\r\n }\r\n\r\n /**\r\n * Select the correct content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param contentTypes - the array of content types that are available for selection\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\r\n if (contentTypes.length == 0) {\r\n return undefined;\r\n }\r\n\r\n let type = contentTypes.find(x => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return contentTypes[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Select the correct accept content-type to use for a request.\r\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\r\n * If no content type is found return the first found type if the contentTypes is not empty\r\n * @param accepts - the array of content types that are available for selection.\r\n * @returns the selected content-type or undefined if no selection could be made.\r\n */\r\n public selectHeaderAccept(accepts: string[]): string | undefined {\r\n if (accepts.length == 0) {\r\n return undefined;\r\n }\r\n\r\n let type = accepts.find(x => this.isJsonMime(x));\r\n if (type === undefined) {\r\n return accepts[0];\r\n }\r\n return type;\r\n }\r\n\r\n /**\r\n * Check if the given MIME is a JSON MIME.\r\n * JSON MIME examples:\r\n * application/json\r\n * application/json; charset=UTF8\r\n * APPLICATION/JSON\r\n * application/vnd.company+json\r\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\r\n * @return True if the given MIME is JSON, false otherwise.\r\n */\r\n public isJsonMime(mime: string): boolean {\r\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\r\n return mime != null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\r\n }\r\n}\r\n"," import { HttpUrlEncodingCodec } from '@angular/common/http';\r\n\r\n/**\r\n* CustomHttpUrlEncodingCodec\r\n* Fix plus sign (+) not encoding, so sent as blank space\r\n* See: https://github.com/angular/angular/issues/11058#issuecomment-247367318\r\n*/\r\nexport class CustomHttpUrlEncodingCodec extends HttpUrlEncodingCodec {\r\n encodeKey(k: string): string {\r\n k = super.encodeKey(k);\r\n return k.replace(/\\+/gi, '%2B');\r\n }\r\n encodeValue(v: string): string {\r\n v = super.encodeValue(v);\r\n return v.replace(/\\+/gi, '%2B');\r\n }\r\n}\r\n\r\n","export * from './api/index';\r\nexport * from './model/models';\r\nexport * from './variables';\r\nexport * from './configuration';\r\nexport * from './api.module';\r\n","import { TreeNode } from \"primeng/api\";\r\n\r\n// TODO: need fix json formatter on backend (lowerCase rule)\r\nexport interface FileModel {\r\n ContentType?: string;\r\n CreatedOn?: Date;\r\n FileType?: FileModel.FileTypeEnum;\r\n Height?: number;\r\n HtmlContent?: string;\r\n Id?: string;\r\n IsFolder?: boolean;\r\n Link?: string;\r\n Name?: string;\r\n ParentFolderId?: string;\r\n Size?: number;\r\n Width?: number;\r\n}\r\n\r\nexport namespace FileModel {\r\n export type FileTypeEnum = 'ALL' | 'IMAGES' | 'DOCUMENTS' | 'CONTACT' | 'USER' | 'LAYOUTS';\r\n export const FileTypeEnum = {\r\n ALL: 'ALL' as FileTypeEnum,\r\n IMAGES: 'IMAGES' as FileTypeEnum,\r\n DOCUMENTS: 'DOCUMENTS' as FileTypeEnum,\r\n CONTACT: 'CONTACT' as FileTypeEnum,\r\n USER: 'USER' as FileTypeEnum,\r\n LAYOUTS: 'LAYOUTS' as FileTypeEnum\r\n };\r\n}\r\n\r\nexport interface DragAndDropEvent {\r\n originalEvent: DragEvent;\r\n isFolderTreeDrop?: boolean;\r\n draggedItem: FileModel | FileModel[] | TreeNode;\r\n droppedItem: FileModel;\r\n}","export * from './fileModel';\r\nexport * from './folderDto';\r\nexport * from './folderTreeNode';\r\nexport * from './modelError';\r\nexport * from './modelState';\r\nexport * from './valueProviderResult';\r\nexport * from './deleteEntityModel';\r\nexport * from './moveFilesModel';\r\nexport * from './updateFileModel';\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const BASE_PATH = new InjectionToken('basePath');\r\nexport const COMMON_WEB_URL = new InjectionToken('basePath');\r\nexport const COLLECTION_FORMATS = {\r\n 'csv': ',',\r\n 'tsv': ' ',\r\n 'ssv': ' ',\r\n 'pipes': '|'\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n/**\r\n * Created by Shay.Libo on 4/18/2017.\r\n */\r\ndeclare var CKEDITOR: any;\r\nexport function trimFormValue(formControl: AbstractControl): void {\r\n if (formControl && formControl.value) {\r\n const trimmed = formControl.value.trim();\r\n if (trimmed.length !== formControl.value.length) {\r\n formControl.setValue(trimmed);\r\n }\r\n }\r\n}\r\n\r\nexport const WEB_API_URL = new InjectionToken(\r\n 'please provide WEB_API_URL in the provider list of your module'\r\n);\r\n\r\nexport class Utils {\r\n static focusedCKEditorTriggerBlurEvent() {\r\n if (CKEDITOR.currentInstance) {\r\n if (CKEDITOR.currentInstance.focusManager.hasFocus) {\r\n CKEDITOR.currentInstance.focusManager.blur(true);\r\n }\r\n }\r\n }\r\n\r\n static getParameterByName(name: string, defaultValue: string = null) {\r\n var url = window.location.href;\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) {\r\n if (!defaultValue) return null;\r\n else return defaultValue;\r\n }\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n static getParameterByNames(\r\n names: string[],\r\n defaultValue: string = null\r\n ): string {\r\n const params = new HttpParams({\r\n fromString: window.location.search.substring(1),\r\n });\r\n\r\n //this will just return the first one found there shouldn't be 2 lang keys\r\n const found = names.find((n) => params.get(n));\r\n return found ? params.get(found) : defaultValue;\r\n }\r\n\r\n static bytesToBase64(a: any) {\r\n if (typeof btoa === 'function') {\r\n return btoa(Utils.bytesToString(a));\r\n }\r\n\r\n let b = [];\r\n for (let c = 0; c < a.length; c += 3)\r\n for (var d = (a[c] << 16) | (a[c + 1] << 8) | a[c + 2], e = 0; e < 4; e++)\r\n c * 8 + e * 6 <= a.length * 8\r\n ? b.push(\r\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charAt(\r\n (d >>> (6 * (3 - e))) & 63\r\n )\r\n )\r\n : b.push('=');\r\n return b.join('');\r\n }\r\n\r\n static bytesToString(a: any) {\r\n let b = [];\r\n for (let c = 0; c < a.length; c++) b.push(String.fromCharCode(a[c]));\r\n return b.join('');\r\n }\r\n\r\n static stringToBytes(a: string) {\r\n let b = [];\r\n for (let c = 0; c < a.length; c++) b.push(a.charCodeAt(c) & 255);\r\n return b;\r\n }\r\n\r\n static convertUTF8ToBase64(utf8string: string) {\r\n var utf8Bytes = Utils.stringToBytes(utf8string);\r\n var stringBase64 = Utils.bytesToBase64(utf8Bytes);\r\n return stringBase64;\r\n }\r\n}\r\n\r\nexport class ArrayUtils {\r\n static getLastElement(arr: any[]): any {\r\n return arr[arr.length - 1];\r\n }\r\n}\r\n\r\nexport class HtmlUtils {\r\n static getFirstTagParent(el: HTMLElement, tag: string) {\r\n tag = tag.toUpperCase();\r\n while (el && el.nodeName !== tag) {\r\n el = el.parentElement;\r\n }\r\n return el;\r\n }\r\n}\r\n\r\nexport class Guid {\r\n static S4(): string {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n }\r\n\r\n static D4(): string {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(10).substring(1);\r\n }\r\n\r\n static GenerateGuid(): string {\r\n return (\r\n this.S4() +\r\n this.S4() +\r\n '-' +\r\n this.S4() +\r\n '-' +\r\n this.S4() +\r\n '-' +\r\n this.S4() +\r\n '-' +\r\n this.S4() +\r\n this.S4() +\r\n this.S4()\r\n );\r\n }\r\n\r\n static GenerateGuidNumber(): string {\r\n return (\r\n this.S4() +\r\n this.S4() +\r\n this.S4() +\r\n this.S4() +\r\n this.S4() +\r\n this.S4() +\r\n this.S4() +\r\n this.S4()\r\n );\r\n }\r\n}\r\n\r\nexport class ColorUtils {\r\n static hexDigits = [\r\n '0',\r\n '1',\r\n '2',\r\n '3',\r\n '4',\r\n '5',\r\n '6',\r\n '7',\r\n '8',\r\n '9',\r\n 'a',\r\n 'b',\r\n 'c',\r\n 'd',\r\n 'e',\r\n 'f',\r\n ];\r\n\r\n //Function to convert rgb color to hex format\r\n static rgb2hex(rgb: string) {\r\n let rgbMatch = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\r\n return (\r\n '#' +\r\n ColorUtils.hex(parseInt(rgbMatch[1])) +\r\n ColorUtils.hex(parseInt(rgbMatch[2])) +\r\n ColorUtils.hex(parseInt(rgbMatch[3]))\r\n );\r\n }\r\n\r\n static hex(x: number) {\r\n return isNaN(x)\r\n ? '00'\r\n : ColorUtils.hexDigits[(x - (x % 16)) / 16] +\r\n ColorUtils.hexDigits[x % 16];\r\n }\r\n}\r\n","export class InputValidation {\r\n\r\n static readonly MIN_LENGTH: number = 1;\r\n static readonly MAX_LENGTH: number = 255;\r\n static readonly STRING_LENGTH_ERROR_MSG: string = 'COMMON.VALIDATION_MESSAGES.INPUT_VALIDATION_ERROR.LENGTH_VALIDATION';\r\n\r\n static hexColorValidation(color: string): boolean {\r\n //^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\r\n ///#[0-9a-f]{6}|#[0-9a-f]{3}/gi\r\n //^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\r\n // /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i\r\n\r\n\r\n // /^(#)?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/\r\n let regColorcode = /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i;\r\n let isValid = regColorcode.test(color);\r\n return isValid;\r\n };\r\n\r\n static rgbColorValidation(color: string): boolean {\r\n //^(rgb)?\\(?([01]?\\d\\d?|2[0-4]\\d|25[0-5])(\\W+)([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\W+(([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\)?)$\r\n let regColorcode = /rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/;\r\n return regColorcode.test(color);\r\n };\r\n\r\n static validateStringLength(value: string): boolean {\r\n let strText: string = value.trim();\r\n if (strText.length < InputValidation.MIN_LENGTH || strText.length > InputValidation.MAX_LENGTH) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n static onlyNumberValidation(numberString: string) {\r\n let regNumber = /^(\\(?\\+?[0-9]*\\)?)?[0-9_\\- \\(\\)]*$/g;\r\n return regNumber.test(numberString);\r\n }\r\n}\r\n\r\n","/*\r\n * Public API Surface of common-lib\r\n */\r\n\r\nexport * from './lib/common-lib.module';\r\nexport * from './lib/monitoring/index';\r\nexport * from './lib/services/index';\r\nexport * from './lib/ck-editor-cd-list-properties-plugin/index';\r\nexport * from './lib/ck-editor-fetch-web-page-content-plugin/index';\r\nexport * from './lib/ck-editor-insert-image-plugin/index';\r\nexport * from './lib/ck-editor-personalization-plugin/index';\r\nexport * from './lib/utils/common';\r\nexport * from './lib/validations/input.validation';\r\nexport * from './lib/pipes/index';\r\nexport * from './lib/lookup-dialog-component/index';\r\nexport * from './lib/interfaces/index';\r\nexport * from './lib/http/index';\r\nexport * from './lib/directives/index';\r\nexport * from './lib/crm-entities/index';\r\nexport * from './lib/components/index';\r\nexport * from './lib/conditions/index';\r\nexport * from './lib/file-manager/index';\r\nexport * from './lib/dialogs/index';\r\nexport * from './lib/translations/index';\r\nexport * from './lib/typescript-angular-client/index';\r\nexport * from './lib/fonts/index';\r\nexport * from './lib/frame-rpc/index';\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpEvent, HttpHandler, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AccountService } from '@clickd-angular/common-lib';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AddCommonQueryStringParamsToMscrmappApisInterceptor implements HttpInterceptor {\r\n\r\n constructor(private accountService: AccountService) {\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.url.includes('api/Editors_v2') || req.url.includes('api/FileManager_v2')) {\r\n const sessionParams = req.params\r\n .append('accountKey', this.accountService.accountKey)\r\n .append('userlcid', this.accountService.userlcid);\r\n\r\n const withSessionInfoReq = req.clone({ params: sessionParams });\r\n return next.handle(withSessionInfoReq);\r\n }\r\n return next.handle(req);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\n\r\nimport { SegmentationBuilderComponent } from './segmentation-builder/segmentation-builder.component';\r\nimport { SegmentationMembersComponent } from './segmentation-members/segmentation-members.component';\r\nimport { GridComponent } from './segmentation-members/grid/grid.component';\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nconst routes: Routes = [\r\n {\r\n path: 'segmentation-builder', \r\n component: SegmentationBuilderComponent,\r\n runGuardsAndResolvers: 'always'},\r\n {\r\n path: 'segmentation-members', \r\n component: SegmentationMembersComponent,\r\n children: [\r\n {\r\n path: \"grid\", component:GridComponent}],\r\n },\r\n {\r\n path: '**',\r\n component: PageNotFoundComponent,\r\n runGuardsAndResolvers: 'always',\r\n pathMatch: 'full',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, {\r\n onSameUrlNavigation: 'reload', // needed so if the user refreshes the page we reload the whole app. it's an easier app state handling.\r\n }),\r\n ],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}","export default \":host {\\n padding: 0;\\n margin: 0; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxzZWdtZW50YXRpb25cXHNyY1xcYXBwXFxhcHAuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxVQUFVO0VBQ1YsU0FBUyxFQUFBIiwiZmlsZSI6InByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gICJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\nimport { Logger } from '@clickd-angular/common-lib';\r\n@Component({\r\n selector: 'cdp-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'segmentation';\r\n\r\n constructor(private router: Router, private logger: Logger) {\r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n if (!!event.url && event.url.match(/^\\/#/)) {\r\n const url = event.url.replace('/#', '');\r\n this.router.navigateByUrl(url);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","/* \"Barrel\" of Http Interceptors */\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport {\r\n ErrorHandlingService, GLOBAL_API_DEFAULT_TIMEOUT,\r\n GlobalHttpErrorInterceptor,\r\n GlobalHttpTimeoutInterceptor,\r\n HttpWithCredentialsRequestsInterceptor,\r\n RequestsCacheBustingInterceptor,\r\n} from '@clickd-angular/common-lib';\r\nimport { AddCommonQueryStringParamsToMscrmappApisInterceptor } from './add-common-query-string-interceptor';\r\n\r\n/** Http interceptor providers in outside-in order */\r\nexport const httpInterceptorProviders = [\r\n { provide: HTTP_INTERCEPTORS, useClass: RequestsCacheBustingInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: GlobalHttpErrorInterceptor, multi: true, deps: [ErrorHandlingService] },\r\n { provide: GLOBAL_API_DEFAULT_TIMEOUT, useValue: 120000 },\r\n { provide: HTTP_INTERCEPTORS, useClass: GlobalHttpTimeoutInterceptor, multi: true, deps: [GLOBAL_API_DEFAULT_TIMEOUT] },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpWithCredentialsRequestsInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: AddCommonQueryStringParamsToMscrmappApisInterceptor, multi: true }\r\n];\r\n","import * as atatus from 'atatus-spa';\r\nimport { MultiTranslateHttpLoader } from 'ngx-translate-multi-http-loader';\r\nimport { StepsModule } from 'primeng/steps';\r\n\r\nimport {\r\n CommonModule,\r\n LocationStrategy,\r\n PathLocationStrategy,\r\n} from '@angular/common';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport {\r\n APP_INITIALIZER,\r\n ErrorHandler,\r\n Injector,\r\n NgModule,\r\n} from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {\r\n appTranslationsInitializerFactory,\r\n AtatusErrorHandler,\r\n CkEditorPersonalizationPluginModule,\r\n CommonServicesModule,\r\n ERROR_LOGGER_PROVIDERS,\r\n HttpModule,\r\n LCID_QUERYSTRING_PARAM_NAME,\r\n LOG_LOGGER_PROVIDERS,\r\n Logger,\r\n MonitoringModule,\r\n Utils,\r\n WEB_API_URL,\r\n} from '@clickd-angular/common-lib';\r\nimport {\r\n TranslateLoader,\r\n TranslateModule,\r\n TranslateService,\r\n} from '@ngx-translate/core';\r\nimport { httpInterceptorProviders } from './app.interceptors';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { SegmentationBuilderComponent } from './segmentation-builder/segmentation-builder.component';\r\nimport { SegmentationMembersComponent } from './segmentation-members/segmentation-members.component';\r\nimport { environment } from '../environments/environment';\r\nimport { GridComponent } from './segmentation-members/grid/grid.component';\r\n\r\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\r\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\r\nimport { DialogModule } from '@clickd-angular/common-lib';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { CommonComponentsModule } from 'projects/common-lib/src/lib/components/common-components.module';\r\n\r\n\r\n\r\nif (environment.name !== 'LOCAL') {\r\n //we want atatus to run only on production environments includeing dev/qa/pre-prod\r\n atatus\r\n .config('074b38131a1748af9d90ec5f55c5f3de', {\r\n // Enable or Disable all console activity\r\n console: true,\r\n\r\n // By default Atatus will watch all console activity and include that information in the Timeline\r\n consoleTimeline: true,\r\n\r\n // Set this to false if you don't want your users seeing anything when the dev tools open.\r\n consoleDisplay: true,\r\n\r\n // Set this to false if you don't want console.error() to trigger errors.\r\n consoleErrorNotify: true,\r\n\r\n // Specify levels only if you want to watch certain console functions\r\n consoleTimelineLevels: ['log', 'debug', 'info', 'warn', 'error'],\r\n })\r\n .install()\r\n .setUser(Utils.getParameterByName('accountKey'))\r\n .setCustomData({\r\n userid: Utils.getParameterByName('userid'),\r\n });\r\n}\r\n// AoT requires an exported function for factories\r\nexport function multiHttpLoaderFactory(http: HttpClient) {\r\n \r\n return new MultiTranslateHttpLoader(http, [\r\n { prefix: './assets/i18n/common/', suffix: '.json' },\r\n { prefix: './assets/i18n/', suffix: '.json' },\r\n ]);\r\n}\r\n\r\nexport function versionLoggerFactory(logger: Logger) {\r\n return () =>\r\n new Promise((resolve: any) => {\r\n //logger.log(version);\r\n resolve();\r\n });\r\n}\r\n\r\nexport function atatusErrorHandlerFactory() {\r\n return new AtatusErrorHandler(\r\n Utils.getParameterByName('accountKey'),\r\n environment.name\r\n );\r\n}\r\n\r\n// Decide on the right logger config based on the type of environment\r\nconst LoggerProviderBasedOnEnvironment = environment.production\r\n ? ERROR_LOGGER_PROVIDERS\r\n : LOG_LOGGER_PROVIDERS;\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n PageNotFoundComponent,\r\n SegmentationBuilderComponent,\r\n SegmentationMembersComponent,\r\n GridComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n StepsModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n // common-lib modules\r\n MonitoringModule.forRoot(),\r\n CommonServicesModule.forRoot(),\r\n HttpClientModule,\r\n HttpModule,\r\n CkEditorPersonalizationPluginModule,\r\n // end of common-lib modules\r\n BrowserAnimationsModule,\r\n CommonModule,\r\n NgxDatatableModule,\r\n TranslateModule,\r\n DialogModule,\r\n CheckboxModule,\r\n FormsModule,\r\n CommonComponentsModule,\r\n DropdownModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: multiHttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n }),\r\n ],\r\n providers: [\r\n LoggerProviderBasedOnEnvironment,\r\n { provide: LCID_QUERYSTRING_PARAM_NAME, useValue: 'userlcid' },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: appTranslationsInitializerFactory,\r\n deps: [\r\n TranslateService,\r\n Injector,\r\n TranslateLoader,\r\n LCID_QUERYSTRING_PARAM_NAME,\r\n ],\r\n multi: true,\r\n },\r\n {\r\n //this is needed so version will have some reference and will not be omitted by the compiler\r\n provide: APP_INITIALIZER,\r\n useFactory: versionLoggerFactory,\r\n deps: [Logger],\r\n multi: true,\r\n },\r\n { provide: ErrorHandler, useFactory: atatusErrorHandlerFactory },\r\n { provide: LocationStrategy, useClass: PathLocationStrategy },\r\n { provide: WEB_API_URL, useValue: environment.mscrmappServiceApiUrl },\r\n httpInterceptorProviders, \r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9wYWdlLW5vdC1mb3VuZC9wYWdlLW5vdC1mb3VuZC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Logger } from '@clickd-angular/common-lib';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'cdp-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.scss']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n private textToShow: string;\r\n public safeHtml: SafeHtml;\r\n\r\n constructor(private logger: Logger,\r\n private router: Router,\r\n private sanitizer: DomSanitizer,\r\n private translationService: TranslateService) {\r\n logger.error('Angular router could not find the given rout: ' + this.router.url);\r\n }\r\n\r\n ngOnInit() {\r\n this.textToShow = this.translationService.instant('PAGES_APP.PAGE_NOT_FOUND_ERROR');\r\n this.safeHtml = this.sanitizer.bypassSecurityTrustHtml(this.textToShow);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9zZWdtZW50YXRpb24tYnVpbGRlci9zZWdtZW50YXRpb24tYnVpbGRlci5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-segmentation-builder',\r\n templateUrl: './segmentation-builder.component.html',\r\n styleUrls: ['./segmentation-builder.component.scss']\r\n})\r\nexport class SegmentationBuilderComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before, ::ng-deep .datatable-checkbox input[type='checkbox']:checked:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before, .cds-embedded-transparent .cds-icon::before, ::ng-deep .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\ninput.cds-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0 {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\ninput.cds-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:hover, input.cds-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\ninput.cds-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\ninput.cds-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\ninput.cds-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n.cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n.cds-btn:hover {\\n cursor: pointer; }\\n.cds-btn:focus {\\n outline: none; }\\n.cds-btn:active {\\n outline: none; }\\n.cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n.cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n.cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n.cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n.cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n.cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n.cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n.cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n.cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n.cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n.cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n.cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n.cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n.cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n.cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n.cds-inline-toolbar {\\n display: flex; }\\n.cds-dialog-heading-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 30px;\\n line-height: 40px; }\\n.cds-dialog-heading-subtitle {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 16px;\\n line-height: 24px; }\\n.cds-form-horizontal-separator {\\n height: 2px;\\n background-color: #92a1b5; }\\n.cds-form-horizontal-separator-small {\\n height: 1px;\\n background-color: #92a1b5; }\\n.pink-input {\\n border: 1px solid #e31a51 !important;\\n color: #e31a51 !important; }\\n.pink-input::-moz-placeholder {\\n color: #e31a51 !important; }\\n.pink-input::placeholder {\\n color: #e31a51 !important; }\\n.cds-form-section-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n line-height: 24px;\\n color: #173357; }\\n.w-auto {\\n width: auto; }\\n.cds-form-fields-container {\\n display: flex;\\n flex-direction: column; }\\n.cds-form-fields-container .cds-validation {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #df2255; }\\n.cds-form-fields-container .cds-form-label-input-container, .cds-form-fields-container .cds-form-label-input-container-col {\\n display: flex;\\n flex-direction: row; }\\n.cds-form-fields-container .cds-form-label-input-container-col {\\n flex-direction: column; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 20px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0 {\\n margin-left: 0px; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n min-width: 240px;\\n margin: auto 0;\\n font-size: 14px;\\n color: #173357;\\n flex-shrink: 0; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input-label.cds-disabled-label, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-label.cds-disabled-label {\\n color: #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:disabled {\\n box-shadow: none;\\n outline: none;\\n border: 1px solid #92a1b5; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly'], .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly'] {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n padding: 0;\\n pointer-events: none; }\\n.cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:hover, .cds-form-fields-container .cds-form-label-input-container .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0[readonly='readonly']:focus, .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0[readonly='readonly']:focus {\\n border: none;\\n box-shadow: none;\\n outline: none; }\\n.mt-15 {\\n margin-top: 15px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.cds-required:after {\\n content: '*';\\n color: #df2255;\\n margin-left: 8px; }\\n.tooltip {\\n flex: 0 0 auto;\\n width: 36px;\\n height: 36px;\\n padding: 6px 5px 5px 6px;\\n position: relative; }\\n.tooltip img {\\n height: 25px; }\\n.validation-message-row {\\n margin-left: 260px;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-style: normal;\\n font-weight: normal;\\n font-size: 14px;\\n display: flex;\\n align-items: center;\\n color: #df2255; }\\n.tooltip .tooltiptext, .tooltip .tooltiptext-right {\\n top: 30px;\\n left: -255px;\\n visibility: hidden;\\n width: 299px;\\n background: #ebecf0;\\n box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);\\n position: absolute;\\n z-index: 10;\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n color: #173357;\\n line-height: 24px; }\\n.tooltip .tooltiptext-right {\\n left: 0px; }\\n.tooltip .tooltiptext.show-above, .tooltip .show-above.tooltiptext-right {\\n top: auto;\\n bottom: 125%;\\n left: 50%;\\n margin-left: -60px; }\\n.tooltip:hover .tooltiptext, .tooltip:hover .tooltiptext-right {\\n visibility: visible;\\n white-space: pre-wrap;\\n text-align: left;\\n padding: 15px 19px 7px 19px; }\\n.cds-page-footer {\\n background-color: #ebecf0;\\n min-height: 70px;\\n padding: 0 50px;\\n align-self: flex-end;\\n margin-top: auto;\\n width: 100vw;\\n display: flex;\\n justify-content: flex-end; }\\n.cds-page-footer button {\\n margin-top: 20px;\\n margin-bottom: 20px;\\n margin-left: 10px;\\n height: 30px; }\\n.cds-inline-message-container {\\n display: flex;\\n flex: 1;\\n flex-direction: column; }\\n.cds-inline-message-container.title-filled {\\n padding: 20px; }\\n.cds-inline-message-container.title-filled .cds-message-container__text {\\n color: #173357; }\\n.cds-inline-message-container.title-empty .cds-message-container {\\n padding: 8px 20px; }\\n.cds-inline-message-container.title-empty .cds-message-container__icon {\\n margin-right: 10px; }\\n.cds-inline-message-container.warning {\\n background-color: rgba(11, 139, 227, 0.15);\\n border: none;\\n color: #0b8be3; }\\n.cds-inline-message-container.error {\\n background-color: rgba(231, 55, 103, 0.1);\\n color: #df2255; }\\n.cds-inline-message-container.info-blue {\\n background-color: #e6f3ff;\\n border: none; }\\n.cds-inline-message-container.info {\\n background-color: #ebecf0;\\n border: none;\\n color: #173357; }\\n.cds-inline-message-container.success {\\n background-color: rgba(44, 172, 96, 0.1);\\n color: #2cac60; }\\n.cds-inline-message-title {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 16px;\\n text-align: left;\\n margin-bottom: 20px; }\\n.cds-inline-message-title.info-blue {\\n color: #0b8be3; }\\n.cds-inline-message-title:empty {\\n display: none; }\\n.cds-message-container {\\n display: flex;\\n align-items: flex-start; }\\n.cds-message-container__icon {\\n display: flex;\\n margin-right: 20px;\\n width: 24px;\\n height: 24px; }\\n.cds-message-container__icon--info {\\n color: #173357;\\n content: url(\\\"/assets/common-lib/images/info.svg\\\"); }\\n.cds-message-container__icon--info-blue {\\n color: #173357;\\n content: url(\\\"/assets/common-lib/images/info-blue.svg\\\"); }\\n.cds-message-container__icon--error {\\n color: #df2255;\\n content: url(\\\"/assets/common-lib/images/error.svg\\\"); }\\n.cds-message-container__icon--warning {\\n color: #0b8be3;\\n content: url(\\\"/assets/common-lib/images/warning.svg\\\"); }\\n.cds-message-container__icon--success {\\n color: #2cac60;\\n content: url(\\\"/assets/common-lib/images/success.svg\\\"); }\\n.cds-message-container__text {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: left; }\\n::ng-deep {\\n /**\\r\\n * Checkboxes\\r\\n**/\\n /**\\r\\n * Progress bar animations\\r\\n */ }\\n@font-face {\\n ::ng-deep {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); } }\\n::ng-deep .icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n::ng-deep .icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n::ng-deep .icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n::ng-deep .icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n::ng-deep .icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n::ng-deep .icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n::ng-deep .icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n::ng-deep .icon-cds-checkmark2:before, ::ng-deep .datatable-checkbox input[type='checkbox']:checked:before {\\n content: \\\"\\\\E007\\\"; }\\n::ng-deep .icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n::ng-deep .icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n::ng-deep .icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n::ng-deep .icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n::ng-deep .icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n::ng-deep .icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n::ng-deep .icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n::ng-deep .icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n::ng-deep .icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n::ng-deep .icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n::ng-deep .icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n::ng-deep .icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n::ng-deep .icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n::ng-deep .icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n::ng-deep .icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n::ng-deep .icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n::ng-deep .icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n::ng-deep .icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n::ng-deep .icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n::ng-deep .icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n::ng-deep .icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n::ng-deep .icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n::ng-deep .icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n::ng-deep .icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n::ng-deep .icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n::ng-deep .icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n::ng-deep .icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n::ng-deep .icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n::ng-deep .icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n::ng-deep .icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n::ng-deep .icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n::ng-deep .icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n::ng-deep .icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n::ng-deep .icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n::ng-deep .icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n::ng-deep .icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n::ng-deep .icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n::ng-deep .icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n::ng-deep .icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n::ng-deep .icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n::ng-deep .icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n::ng-deep .icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n::ng-deep .icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n::ng-deep .icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n::ng-deep .icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n::ng-deep .icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n::ng-deep .icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n::ng-deep .icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n::ng-deep .icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n::ng-deep .icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n::ng-deep .icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n::ng-deep .icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n::ng-deep .icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n::ng-deep .icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n::ng-deep .icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n::ng-deep .icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n::ng-deep .icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n::ng-deep .icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n::ng-deep .icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n::ng-deep .icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n::ng-deep .icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n::ng-deep .icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n::ng-deep .icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n::ng-deep .icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n::ng-deep .icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n::ng-deep .icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n::ng-deep .icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n::ng-deep .icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n::ng-deep .icon-cds-sort-down:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n content: \\\"\\\\E04C\\\"; }\\n::ng-deep .icon-cds-sort-up:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n content: \\\"\\\\E04D\\\"; }\\n::ng-deep .icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n::ng-deep .icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n::ng-deep .icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n::ng-deep .icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n::ng-deep .icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n::ng-deep .icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n::ng-deep .icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n::ng-deep .icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n::ng-deep .icon-cds-triangle-down:before, .cds-embedded-transparent ::ng-deep .cds-icon::before, ::ng-deep .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n::ng-deep .icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n::ng-deep .icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n::ng-deep .icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n::ng-deep .icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n::ng-deep .icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n::ng-deep .icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n::ng-deep .icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n::ng-deep .icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n::ng-deep .icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n::ng-deep .icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\n::ng-deep .ngx-datatable.material {\\n display: flex;\\n overflow: auto;\\n height: 100%;\\n width: 100%;\\n justify-content: unset;\\n /**\\r\\n * Shared Styles\\r\\n */\\n /**\\r\\n * Global Row Styles\\r\\n */\\n /**\\r\\n * Header Styles\\r\\n */\\n /**\\r\\n * Body Styles\\r\\n */\\n /**\\r\\n * Footer Styles\\r\\n */ }\\n::ng-deep .ngx-datatable.material .visible {\\n display: flex;\\n flex-direction: column; }\\n::ng-deep .ngx-datatable.material.cell-selection .datatable-body-cell:hover,\\n ::ng-deep .ngx-datatable.material.cell-selection .datatable-body-cell:hover .datatable-row-group {\\n transition-property: background;\\n transition-duration: 0.3s;\\n transition-timing-function: linear; }\\n::ng-deep .ngx-datatable.material .empty-row {\\n height: 50px;\\n text-align: left;\\n padding: 0.5rem 1.2rem;\\n vertical-align: top;\\n border-top: 0; }\\n::ng-deep .ngx-datatable.material .loading-row {\\n text-align: left;\\n padding: 0.5rem 1.2rem;\\n vertical-align: top;\\n border-top: 0; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-row-left,\\n ::ng-deep .ngx-datatable.material .datatable-body .datatable-row-left {\\n background-position: 100% 0;\\n background-repeat: repeat-y;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==); }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-row-right,\\n ::ng-deep .ngx-datatable.material .datatable-body .datatable-row-right {\\n background-position: 0 0;\\n background-repeat: repeat-y;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQI12PQkNdi1VTQ5gbSwkAsDQARLAIGtOSFUAAAAABJRU5ErkJggg==); }\\n::ng-deep .ngx-datatable.material .datatable-header {\\n height: auto !important;\\n overflow: visible; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner {\\n border-bottom: 1px solid #92a1b5;\\n padding: 8px 0 8px; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n color: #173357;\\n line-height: 30px;\\n padding-left: 15px;\\n align-self: center;\\n min-height: 30px; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 30px; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .header-button {\\n margin: auto 20px; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .header-button:hover {\\n cursor: pointer; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .sort-btn {\\n display: none; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:hover:not(:first-child) {\\n cursor: pointer; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:not(:last-child) {\\n border-right: 1px solid #92a1b5; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:last-child .resize-handle {\\n display: none; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-wrapper {\\n position: relative; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.longpress .draggable::after {\\n transition: transform 400ms ease, opacity 400ms ease;\\n opacity: 0.5;\\n transform: scale(1); }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell .draggable::after {\\n content: ' ';\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -30px 0 0 -30px;\\n height: 60px;\\n width: 60px;\\n background: #eee;\\n border-radius: 100%;\\n opacity: 1;\\n -webkit-filter: none;\\n filter: none;\\n transform: scale(0);\\n z-index: 9999;\\n pointer-events: none; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.dragging .resize-handle {\\n border-right: none; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n margin-left: 14px;\\n color: #283541;\\n font-family: \\\"iconsfont\\\";\\n font-size: 14px;\\n position: absolute; }\\n::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n margin-left: 14px;\\n color: #283541;\\n font-family: \\\"iconsfont\\\";\\n font-size: 14px;\\n position: absolute; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-scroll {\\n width: auto !important; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row {\\n border-bottom: 1px solid #dadee6;\\n padding: 8px 0 8px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row.active {\\n background-color: #ebecf0; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row-detail {\\n padding: 10px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n color: #173357;\\n line-height: 30px;\\n padding-left: 15px;\\n padding-right: 15px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label {\\n height: 100%;\\n display: flex;\\n align-items: center; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label img {\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-right: 10px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label .icon {\\n width: 24px;\\n height: 24px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label .logo {\\n width: 30px;\\n height: 30px; }\\n::ng-deep .ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label span {\\n align-self: center; }\\n::ng-deep .ngx-datatable.material .datatable-body .empty-row {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 24px; }\\n::ng-deep .ngx-datatable.material .datatable-body .progress-linear {\\n display: block;\\n width: 100%;\\n height: 5px;\\n padding: 0;\\n margin: 0;\\n position: absolute; }\\n::ng-deep .ngx-datatable.material .datatable-body .progress-linear .container {\\n display: block;\\n position: relative;\\n overflow: hidden;\\n width: 100%;\\n height: 5px;\\n transform: translate(0, 0) scale(1, 1);\\n background-color: #aad1f9; }\\n::ng-deep .ngx-datatable.material .datatable-body .progress-linear .container .bar {\\n transition: all 0.2s linear;\\n animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\\n transition: transform 0.2s linear;\\n background-color: #106cc8;\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n width: 100%;\\n height: 5px; }\\n::ng-deep .ngx-datatable.material .datatable-footer {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n align-self: flex-end;\\n margin-top: auto;\\n font-size: 14px;\\n color: #173357;\\n border-top: 1px solid #dadee6;\\n overflow: visible; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer {\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n margin: 0 20px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer__pages-info {\\n margin-left: 20px;\\n margin-right: 20px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer button {\\n border: none;\\n outline: none;\\n background: transparent; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer button:hover {\\n cursor: pointer; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer__first-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_first_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer__prev-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_previous_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer__next-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_next_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .table-custom-footer__last-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_last_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .page-count {\\n line-height: 50px;\\n height: 50px;\\n padding: 0 1.2rem; }\\n::ng-deep .ngx-datatable.material .datatable-footer .datatable-pager {\\n margin: 0 10px; }\\n::ng-deep .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-left,\\n ::ng-deep .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-skip,\\n ::ng-deep .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-right,\\n ::ng-deep .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-prev {\\n font-size: 20px;\\n line-height: 20px;\\n padding: 0 3px; }\\n::ng-deep .ngx-datatable.material .datatable-summary-row .datatable-body-row .datatable-body-cell {\\n font-weight: bold; }\\n::ng-deep .datatable-checkbox {\\n display: flex;\\n align-items: center;\\n margin: 0; }\\n::ng-deep .datatable-checkbox input[type='checkbox'] {\\n position: relative;\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n z-index: 0; }\\n::ng-deep .datatable-checkbox input[type='checkbox']:before {\\n content: '';\\n position: absolute;\\n left: 0;\\n z-index: 1;\\n background-color: #ffffff;\\n border: 1px solid #92a1b5;\\n width: 20px;\\n height: 20px; }\\n::ng-deep .datatable-checkbox input[type='checkbox']:hover:before {\\n border-color: #0b8be3; }\\n::ng-deep .datatable-checkbox input[type='checkbox']:checked {\\n border: 1px solid #92a1b5; }\\n::ng-deep .datatable-checkbox input[type='checkbox']:checked:before {\\n font-family: \\\"iconsfont\\\";\\n font-size: 11px;\\n padding: 4px 2px;\\n text-align: center;\\n color: #0b8be3;\\n background-color: #ffffff;\\n border-color: #0b8be3;\\n transition: none; }\\n::ng-deep .datatable-checkbox input[type='checkbox']:after {\\n content: '';\\n position: absolute;\\n background: #fff; }\\n@keyframes query {\\n 0% {\\n opacity: 1;\\n transform: translateX(35%) scale(0.3, 1); }\\n 100% {\\n opacity: 0;\\n transform: translateX(-50%) scale(0, 1); } }\\n::ng-deep body editor-main *, ::ng-deep body dialog-container * {\\n box-sizing: border-box; }\\n::ng-deep body editor-main *:focus, ::ng-deep body dialog-container *:focus {\\n outline: none; }\\n::ng-deep dialog-container d-header {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n align-items: flex-start;\\n margin-bottom: 40px; }\\n::ng-deep dialog-container d-header .d-header-header-content {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 30px;\\n margin-top: 20px;\\n line-height: 40px; }\\n::ng-deep dialog-container d-header .d-header-close-button {\\n font-size: 18px;\\n outline: none;\\n border: none;\\n background: none;\\n padding: 0; }\\n::ng-deep dialog-container d-header .d-header-close-button:hover {\\n cursor: pointer; }\\n::ng-deep dialog-container d-body {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 24px;\\n text-align: left; }\\n::ng-deep dialog-container d-body .cds-body-header {\\n font-size: 14px;\\n margin: 10px 0; }\\n::ng-deep dialog-container d-body .cds-input, ::ng-deep dialog-container d-body .cds-form-fields-container .cds-form-label-input-container .cds-form-input, .cds-form-fields-container .cds-form-label-input-container ::ng-deep dialog-container d-body .cds-form-input, ::ng-deep dialog-container d-body .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep dialog-container d-body .cds-form-input, ::ng-deep dialog-container d-body .cds-form-fields-container .cds-form-label-input-container .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container ::ng-deep dialog-container d-body .cds-form-input-ml-0, ::ng-deep dialog-container d-body .cds-form-fields-container .cds-form-label-input-container-col .cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep dialog-container d-body .cds-form-input-ml-0 {\\n margin-top: 20px; }\\n::ng-deep dialog-container d-body .cds-table-wrap {\\n height: 300px;\\n overflow: auto; }\\n::ng-deep dialog-container d-body .cds-table-wrap .cds-table {\\n width: 100%; }\\n::ng-deep dialog-container d-body .cds-table-wrap .cds-table tr {\\n border-bottom: 1px solid #eee; }\\n::ng-deep dialog-container d-body .cds-table-wrap .cds-table tr:last-child {\\n border-bottom: 0px; }\\n::ng-deep dialog-container d-body .cds-table-wrap .cds-table tr td {\\n width: calc(100% / 3);\\n font-size: 14px;\\n padding: 5px 0; }\\n::ng-deep dialog-container d-footer.cds-dialog-footer {\\n display: flex;\\n justify-content: flex-end; }\\n::ng-deep dialog-container d-footer.cds-dialog-footer button {\\n margin: 0 0 0 10px; }\\n::ng-deep dialog-container dialog-back {\\n background-color: #000;\\n opacity: 0.7;\\n position: fixed;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n z-index: 999;\\n display: block; }\\n::ng-deep dialog-container dialog-back ~ * {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 1000;\\n height: 100%; }\\n::ng-deep dialog-container .dialog-common-container {\\n padding: 20px 20px; }\\n::ng-deep dialog-container .dialog-common-container .dialog-top-section {\\n margin-bottom: 60px; }\\n::ng-deep dialog-container .dialog-instance {\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 1000;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center; }\\n::ng-deep dialog-container .dialog-instance > section {\\n position: relative;\\n display: inline-block;\\n background-color: #ffffff;\\n border: 1px solid #001936;\\n width: 500px;\\n box-shadow: 0px 2px 4.5px 0.5px rgba(0, 0, 0, 0.5);\\n box-sizing: border-box; }\\n::ng-deep dialog-container .dialog-instance > section.error {\\n border: 1px solid #BE1E2D; }\\n::ng-deep dialog-container .dialog-instance > section.warning {\\n border: 1px solid #ffff00; }\\n::ng-deep dialog-container .dialog-instance > section d-body {\\n display: block;\\n font-size: 14px; }\\n::ng-deep dialog-container .dialog-instance > section .cds-body-option {\\n display: flex;\\n align-items: center;\\n margin: 10px 0; }\\n::ng-deep dialog-container .dialog-instance > section .cds-body-option .cds-dialog-input {\\n margin-right: .4em; }\\n::ng-deep dialog-container .dialog-instance > section .cds-body-option .cds-dialog-input-label {\\n font-size: 14px; }\\n::ng-deep dialog-container input-dialog .input-dialog-error {\\n color: #dd1939;\\n opacity: 1; }\\n@font-face {\\n ::ng-deep {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); } }\\n::ng-deep .icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n::ng-deep .icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n::ng-deep .icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n::ng-deep .icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n::ng-deep .icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n::ng-deep .icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n::ng-deep .icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n::ng-deep .icon-cds-checkmark2:before, ::ng-deep .datatable-checkbox input[type='checkbox']:checked:before {\\n content: \\\"\\\\E007\\\"; }\\n::ng-deep .icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n::ng-deep .icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n::ng-deep .icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n::ng-deep .icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n::ng-deep .icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n::ng-deep .icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n::ng-deep .icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n::ng-deep .icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n::ng-deep .icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n::ng-deep .icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n::ng-deep .icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n::ng-deep .icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n::ng-deep .icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n::ng-deep .icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n::ng-deep .icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n::ng-deep .icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n::ng-deep .icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n::ng-deep .icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n::ng-deep .icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n::ng-deep .icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n::ng-deep .icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n::ng-deep .icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n::ng-deep .icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n::ng-deep .icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n::ng-deep .icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n::ng-deep .icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n::ng-deep .icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n::ng-deep .icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n::ng-deep .icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n::ng-deep .icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n::ng-deep .icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n::ng-deep .icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n::ng-deep .icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n::ng-deep .icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n::ng-deep .icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n::ng-deep .icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n::ng-deep .icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n::ng-deep .icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n::ng-deep .icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n::ng-deep .icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n::ng-deep .icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n::ng-deep .icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n::ng-deep .icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n::ng-deep .icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n::ng-deep .icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n::ng-deep .icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n::ng-deep .icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n::ng-deep .icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n::ng-deep .icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n::ng-deep .icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n::ng-deep .icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n::ng-deep .icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n::ng-deep .icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n::ng-deep .icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n::ng-deep .icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n::ng-deep .icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n::ng-deep .icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n::ng-deep .icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n::ng-deep .icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n::ng-deep .icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n::ng-deep .icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n::ng-deep .icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n::ng-deep .icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n::ng-deep .icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n::ng-deep .icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n::ng-deep .icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n::ng-deep .icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n::ng-deep .icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n::ng-deep .icon-cds-sort-down:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n content: \\\"\\\\E04C\\\"; }\\n::ng-deep .icon-cds-sort-up:before, ::ng-deep .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n content: \\\"\\\\E04D\\\"; }\\n::ng-deep .icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n::ng-deep .icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n::ng-deep .icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n::ng-deep .icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n::ng-deep .icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n::ng-deep .icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n::ng-deep .icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n::ng-deep .icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n::ng-deep .icon-cds-triangle-down:before, .cds-embedded-transparent ::ng-deep .cds-icon::before, ::ng-deep .cds-embedded-transparent .cds-icon::before {\\n content: \\\"\\\\E056\\\"; }\\n::ng-deep .icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n::ng-deep .icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n::ng-deep .icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n::ng-deep .icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n::ng-deep .icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n::ng-deep .icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n::ng-deep .icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n::ng-deep .icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n::ng-deep .icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n::ng-deep .icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\n::ng-deep input.cds-input, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0 {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 20px;\\n text-align: left;\\n padding: 7px 20px;\\n border: 1px solid #92a1b5;\\n width: 100%; }\\n::ng-deep input.cds-input:hover, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:hover, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:hover, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:hover, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:hover, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:hover, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:hover, ::ng-deep input.cds-input:focus, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:focus, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:focus, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:focus, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:focus, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:focus, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:focus {\\n border: 1px solid #0b8be3;\\n outline: none; }\\n::ng-deep input.cds-input:disabled, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:disabled, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:disabled, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:disabled, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:disabled, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:disabled, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:disabled {\\n border: 1px solid #92a1b5;\\n box-shadow: none;\\n outline: none; }\\n::ng-deep input.cds-input:-moz-read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:-moz-read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:-moz-read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:-moz-read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-moz-read-only, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:-moz-read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\n::ng-deep input.cds-input:read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:read-only, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:read-only, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:read-only, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:read-only {\\n border: none;\\n box-shadow: none;\\n outline: none;\\n background-color: transparent; }\\n::ng-deep input.cds-input:-webkit-autofill::first-line, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input:-webkit-autofill::first-line, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input:-webkit-autofill::first-line, ::ng-deep .cds-form-fields-container .cds-form-label-input-container input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container ::ng-deep input.cds-form-input-ml-0:-webkit-autofill::first-line, ::ng-deep .cds-form-fields-container .cds-form-label-input-container-col input.cds-form-input-ml-0:-webkit-autofill::first-line, .cds-form-fields-container .cds-form-label-input-container-col ::ng-deep input.cds-form-input-ml-0:-webkit-autofill::first-line {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n -webkit-text-fill-color: #173357; }\\n::ng-deep .cds-btn {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n text-align: center;\\n padding: 5px 20px;\\n line-height: 20px;\\n min-width: 60px;\\n color: #ffffff; }\\n::ng-deep .cds-btn:hover {\\n cursor: pointer; }\\n::ng-deep .cds-btn:focus {\\n outline: none; }\\n::ng-deep .cds-btn:active {\\n outline: none; }\\n::ng-deep .cds-btn:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n::ng-deep .cds-toggle-menu-button {\\n background-color: transparent;\\n color: #173357;\\n padding-left: 0px;\\n padding-right: 0px;\\n margin-right: 20px;\\n border: 0px; }\\n::ng-deep .cds-toggle-menu-button.active {\\n border-bottom: 3px solid #0b8be3;\\n color: #173357;\\n font-weight: 700; }\\n::ng-deep .cds-dark-blue-button {\\n background-color: #173357;\\n border: none; }\\n::ng-deep .cds-dark-blue-button:hover {\\n background-color: #45658d; }\\n::ng-deep .cds-dark-blue-button:active {\\n background-color: #5c88bf; }\\n::ng-deep .cds-dark-blue-button:focus {\\n box-shadow: 0 0 0 2px #dadee6; }\\n::ng-deep .cds-dark-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal; }\\n::ng-deep .cds-light-blue-button {\\n background-color: transparent;\\n border: 1px solid #0b8be3;\\n color: #0b8be3; }\\n::ng-deep .cds-light-blue-button:hover {\\n background-color: #0b8be3;\\n color: #ffffff; }\\n::ng-deep .cds-light-blue-button:active {\\n background-color: #0b8be3;\\n opacity: 0.75;\\n color: #ffffff; }\\n::ng-deep .cds-light-blue-button:focus {\\n box-shadow: 0 0 0 2px rgba(11, 139, 227, 0.2); }\\n::ng-deep .cds-light-blue-button:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n::ng-deep .cds-embedded-transparent {\\n background-color: transparent;\\n color: #173357;\\n border: none; }\\n::ng-deep .cds-embedded-transparent:hover {\\n background-color: #dadee6; }\\n::ng-deep .cds-embedded-transparent .cds-icon::before {\\n margin-left: 5px;\\n font-family: 'iconsfont';\\n font-size: 10px;\\n color: #283541; }\\n::ng-deep .cds-embedded-transparent:disabled {\\n background-color: #dadee6;\\n color: #92a1b5;\\n font-weight: normal;\\n border: none; }\\n::ng-deep .cds-inline-toolbar {\\n display: flex; }\\n:host {\\n display: flex;\\n flex-direction: column;\\n align-items: stretch;\\n height: 100%; }\\n.header-container {\\n padding: 30px 40px; }\\n.cds-dialog-heading-title {\\n margin-bottom: 20px; }\\n::ng-deep .ngx-datatable.material .datatable-body .empty-row {\\n padding-left: 70px; }\\n.cds-inline-toolbar {\\n justify-content: flex-end;\\n padding: 0 40px; }\\n.cds-inline-toolbar button {\\n margin-left: 10px; }\\n.table-container {\\n height: 100%;\\n padding: 0px 40px 0; }\\n.table-container ngx-datatable {\\n width: 100%;\\n overflow: auto;\\n justify-content: unset; }\\n.grid-loading-overlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n z-index: 100;\\n background: white;\\n opacity: 0.5; }\\n.grid-loading-overlay .loader {\\n background-image: url('loader_x100px.gif');\\n background-size: 50px;\\n width: 50px;\\n height: 50px;\\n display: block;\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%); }\\n.inline-message {\\n margin: 20px 40px 0; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxiYXNlXFx0eXBvZ3JhcGh5LnNjc3MiLCJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9zZWdtZW50YXRpb24tbWVtYmVycy9ncmlkL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXGFzc2V0c1xcZm9udHNcXGljb25zZm9udFxcaWNvbnNmb250LmNzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxpbnB1dC5zY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvZ3JpZC9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxmb3JtLWVsZW1lbnRzLWVsZW1lbnRzLnNjc3MiLCJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9zZWdtZW50YXRpb24tbWVtYmVycy9ncmlkL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxzZWdtZW50YXRpb25cXHNyY1xcYXBwXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGZvb3Rlci5zY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvZ3JpZC9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxsaWJcXGNvbXBvbmVudHNcXGlubGluZS1tZXNzYWdlXFxpbmxpbmUtbWVzc2FnZS5jb21wb25lbnQuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXHNlZ21lbnRhdGlvblxcc3JjXFxhcHBcXHNlZ21lbnRhdGlvbi1tZW1iZXJzXFxncmlkXFxncmlkLmNvbXBvbmVudC5zY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvZ3JpZC9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGNvbXBvbmVudHNcXHN3aW1sYW5lLW5neC1kYXRhdGFibGUuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvZ3JpZC5jb21wb25lbnQuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcc3R5bGVzXFxhbnNpYmxlLXRoZW1lXFxjb21wb25lbnRzXFxkaWFsb2cuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxvSkFBWTtBQUFaLG9KQUFZO0FBQVosb0pBQVk7QUFBWixvSkFBWTtBQUFaLG9KQUFZO0FBQVosb0pBQVk7QUNIWjtFQUNDLHdCQUF3QjtFQUN4QiwrREFBK0Q7RUFDL0Qsa1VBR21GLEVBQUE7QUFHcEY7RUFDQyx3QkFBd0I7RUFDdkIsbUNBQW1DO0VBQ25DLGtDQUFrQztFQUNuQyxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiwyRkFBQTtFQUNBLHFCQUFxQjtFQUNyQixvQkFBb0IsRUFBQTtBQUlyQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pC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Z0JBQWdCLEVBQUE7QU14SWpCO0lONElDLGdCQUFnQixFQUFBO0FNNUlqQjtJTmdKQyxnQkFBZ0IsRUFBQTtBTWhKakI7SU5vSkMsZ0JBQWdCLEVBQUE7QU1wSmpCO0lOd0pDLGdCQUFnQixFQUFBO0FNeEpqQjtJTjRKQyxnQkFBZ0IsRUFBQTtBTTVKakI7SU5nS0MsZ0JBQWdCLEVBQUE7QU1oS2pCO0lOb0tDLGdCQUFnQixFQUFBO0FNcEtqQjtJTndLQyxnQkFBZ0IsRUFBQTtBTXhLakI7SU40S0MsZ0JBQWdCLEVBQUE7QU01S2pCO0lOZ0xDLGdCQUFnQixFQUFBO0FNaExqQjtJTm9MQyxnQkFBZ0IsRUFBQTtBTXBMakI7SU53TEMsZ0JBQWdCLEVBQUE7QU14TGpCO0lONExDLGdCQUFnQixFQUFBO0FNNUxqQjtJTmdNQyxnQkFBZ0IsRUFBQTtBTWhNakI7SU5vTUMsZ0JBQWdCLEVBQUE7QU1wTWpCO0lOd01DLGdCQUFnQixFQUFBO0FNeE1qQjtJTjRNQyxnQkFBZ0IsRUFBQTtBTTVNakI7SU5nTkMsZ0JBQWdCLEVBQUE7QU1oTmpCO0lOb05DLGdCQUFnQixFQUFBO0FNcE5qQjtJTndOQyxnQkFBZ0IsRUFBQTtBTXhOakI7SU40TkMsZ0JBQWdCLEVBQUE7QU01TmpCO0lOZ09DLGdCQUFnQixFQUFBO0FNaE9qQjtJTm9PQyxnQkFBZ0IsRUFBQTtBTXBPakI7SU53T0MsZ0JBQWdCLEVBQUE7QU14T2pCO0lONE9DLGdCQUFnQixFQUFBO0FNNU9qQjtJTmdQQyxnQkFBZ0IsRUFBQTtBTWhQakI7SU5vUEMsZ0JBQWdCLEVBQUE7QU1wUGpCO0lOd1BDLGdCQUFnQixFQUFBO0FNeFBqQjtJTjRQQyxnQkFBZ0IsRUFBQTtBTTVQakI7SU5nUUMsZ0JBQWdCLEVBQUE7QU1oUWpCO0lOb1FDLGdCQUFnQixFQUFBO0FNcFFqQjtJTndRQyxnQkFBZ0IsRUFBQTtBTXhRakI7SU40UUMsZ0JBQWdCLEVBQUE7QU01UWpCO0lOZ1JDLGdCQUFnQixFQUFBO0FNaFJqQjtJTm9SQyxnQkFBZ0IsRUFBQTtBTXBSakI7SU53UkMsZ0JBQWdCLEVBQUE7QU14UmpCO0lONFJDLGdCQUFnQixFQUFBO0FNNVJqQjtJTmdTQyxnQkFBZ0IsRUFBQTtBTWhTakI7SU5vU0MsZ0JBQWdCLEVBQUE7QU1wU2pCO0lOd1NDLGdCQUFnQixFQUFBO0FNeFNqQjtJTjRTQyxnQkFBZ0IsRUFBQTtBTTVTakI7SU5nVEMsZ0JBQWdCLEVBQUE7QU1oVGpCO0lOb1RDLGdCQUFnQixFQUFBO0FNcFRqQjtJTndUQyxnQkFBZ0IsRUFBQTtBTXhUakI7SU40VEMsZ0JBQWdCLEVBQUE7QU01VGpCO0lOZ1VDLGdCQUFnQixFQUFBO0FNaFVqQjtJTm9VQyxnQkFBZ0IsRUFBQTtBTXBVakI7SU53VUMsZ0JBQWdCLEVBQUE7QU14VWpCO0lONFVDLGdCQUFnQixFQUFBO0FNNVVqQjtJTmdWQyxnQkFBZ0IsRUFBQTtBTWhWakI7SU5vVkMsZ0JBQWdCLEVBQUE7QU1wVmpCO0lOd1ZDLGdCQUFnQixFQUFBO0FNeFZqQjtJTjRWQyxnQkFBZ0IsRUFBQTtBTTVWakI7SU5nV0MsZ0JBQWdCLEVBQUE7QU1oV2pCO0lOb1dDLGdCQUFnQixFQUFBO0FNcFdqQjtJTndXQyxnQkFBZ0IsRUFBQTtBTXhXakI7SU40V0MsZ0JBQWdCLEVBQUE7QU01V2pCO0lOZ1hDLGdCQUFnQixFQUFBO0FNaFhqQjtJTm9YQyxnQkFBZ0IsRUFBQTtBTXBYakI7SU53WEMsZ0JBQWdCLEVBQUE7QU14WGpCO0lONFhDLGdCQUFnQixFQUFBO0FNNVhqQjtJTmdZQyxnQkFBZ0IsRUFBQTtBTWhZakI7SU5vWUMsZ0JBQWdCLEVBQUE7QU1wWWpCO0lOd1lDLGdCQUFnQixFQUFBO0FNeFlqQjtJTjRZQyxnQkFBZ0IsRUFBQTtBTTVZakI7SUNPRSxhQUFhO0lBQ2IsY0FBYztJQUNkLFlBQVk7SUFDWixXQUFXO0lBQ1gsc0JBQXNCO0lBdUJ0Qjs7SUNxMEJFO0lEbnpCRjs7SUNzekJFO0lEcHlCRjs7SUN1eUJFO0lEenFCRjs7SUM0cUJFO0lEeGtCRjs7SUMya0JFLEVEemtCQztBRDFTTDtNQ2NJLGFBQWE7TUFDYixz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O0FNWHJCO0lOZ0JDLGdCQUFnQixFQUFBO0FNaEJqQjtJTm9CQyxnQkFBZ0IsRUFBQTtBTXBCakI7SU53QkMsZ0JBQWdCLEVBQUE7QU14QmpCO0lONEJDLGdCQUFnQixFQUFBO0FNNUJqQjtJTmdDQyxnQkFBZ0IsRUFBQTtBTWhDakI7SU5vQ0MsZ0JBQWdCLEVBQUE7QU1wQ2pCO0lOd0NDLGdCQUFnQixFQUFBO0FNeENqQjtJTjRDQyxnQkFBZ0IsRUFBQTtBTTVDakI7SU5nREMsZ0JBQWdCLEVBQUE7QU1oRGpCO0lOb0RDLGdCQUFnQixFQUFBO0FNcERqQjtJTndEQyxnQkFBZ0IsRUFBQTtBTXhEakI7SU40REMsZ0JBQWdCLEVBQUE7QU01RGpCO0lOZ0VDLGdCQUFnQixFQUFBO0FNaEVqQjtJTm9FQyxnQkFBZ0IsRUFBQTtBTXBFakI7SU53RUMsZ0JBQWdCLEVBQUE7QU14RWpCO0lONEVDLGdCQUFnQixFQUFBO0FNNUVqQjtJTmdGQyxnQkFBZ0IsRUFBQTtBTWhGakI7SU5vRkMsZ0JBQWdCLEVBQUE7QU1wRmpCO0lOd0ZDLGdCQUFnQixFQUFBO0FNeEZqQjtJTjRGQyxnQkFBZ0IsRUFBQTtBTTVGakI7SU5nR0MsZ0JBQWdCLEVBQUE7QU1oR2pCO0lOb0dDLGdCQUFnQixFQUFBO0FNcEdqQjtJTndHQyxnQkFBZ0IsRUFBQTtBTXhHakI7SU40R0MsZ0JBQWdCLEVBQUE7QU01R2pCO0lOZ0hDLGdCQUFnQixFQUFBO0FNaEhqQjtJTm9IQyxnQkFBZ0IsRUFBQTtBTXBIakI7SU53SEMsZ0JBQWdCLEVBQUE7QU14SGpCO0lONEhDLGdCQUFnQixFQUFBO0FNNUhqQjtJTmdJQyxnQkFBZ0IsRUFBQTtBTWhJakI7SU5vSUMsZ0JBQWdCLEVBQUE7QU1wSWpCO0lOd0lDLGdCQUFnQixFQUFBO0FNeElqQjtJTjRJQyxnQkFBZ0IsRUFBQTtBTTVJakI7SU5nSkMsZ0JBQWdCLEVBQUE7QU1oSmpCO0lOb0pDLGdCQUFnQixFQUFBO0FNcEpqQjtJTndKQyxnQkFBZ0IsRUFBQTtBTXhKakI7SU40SkMsZ0JBQWdCLEVBQUE7QU01SmpCO0lOZ0tDLGdCQUFnQixFQUFBO0FNaEtqQjtJTm9LQyxnQkFBZ0IsRUFBQTtBTXBLakI7SU53S0MsZ0JBQWdCLEVBQUE7QU14S2pCO0lONEtDLGdCQUFnQixFQUFBO0FNNUtqQjtJTmdMQyxnQkFBZ0IsRUFBQTtBTWhMakI7SU5vTEMsZ0JBQWdCLEVBQUE7QU1wTGpCO0lOd0xDLGdCQUFnQixFQUFBO0FNeExqQjtJTjRMQyxnQkFBZ0IsRUFBQTtBTTVMakI7SU5nTUMsZ0JBQWdCLEVBQUE7QU1oTWpCO0lOb01DLGdCQUFnQixFQUFBO0FNcE1qQjtJTndNQyxnQkFBZ0IsRUFBQTtBTXhNakI7SU40TUMsZ0JBQWdCLEVBQUE7QU01TWpCO0lOZ05DLGdCQUFnQixFQUFBO0FNaE5qQjtJTm9OQyxnQkFBZ0IsRUFBQTtBTXBOakI7SU53TkMsZ0JBQWdCLEVBQUE7QU14TmpCO0lONE5DLGdCQUFnQixFQUFBO0FNNU5qQjtJTmdPQyxnQkFBZ0IsRUFBQTtBTWhPakI7SU5vT0MsZ0JBQWdCLEVBQUE7QU1wT2pCO0lOd09DLGdCQUFnQixFQUFBO0FNeE9qQjtJTjRPQyxnQkFBZ0IsRUFBQTtBTTVPakI7SU5nUEMsZ0JBQWdCLEVBQUE7QU1oUGpCO0lOb1BDLGdCQUFnQixFQUFBO0FNcFBqQjtJTndQQyxnQkFBZ0IsRUFBQTtBTXhQakI7SU40UEMsZ0JBQWdCLEVBQUE7QU01UGpCO0lOZ1FDLGdCQUFnQixFQUFBO0FNaFFqQjtJTm9RQyxnQkFBZ0IsRUFBQTtBTXBRakI7SU53UUMsZ0JBQWdCLEVBQUE7QU14UWpCO0lONFFDLGdCQUFnQixFQUFBO0FNNVFqQjtJTmdSQyxnQkFBZ0IsRUFBQTtBTWhSakI7SU5vUkMsZ0JBQWdCLEVBQUE7QU1wUmpCO0lOd1JDLGdCQUFnQixFQUFBO0FNeFJqQjtJTjRSQyxnQkFBZ0IsRUFBQTtBTTVSakI7SU5nU0MsZ0JBQWdCLEVBQUE7QU1oU2pCO0lOb1NDLGdCQUFnQixFQUFBO0FNcFNqQjtJTndTQyxnQkFBZ0IsRUFBQTtBTXhTakI7SU40U0MsZ0JBQWdCLEVBQUE7QU01U2pCO0lOZ1RDLGdCQUFnQixFQUFBO0FNaFRqQjtJTm9UQyxnQkFBZ0IsRUFBQTtBTXBUakI7SU53VEMsZ0JBQWdCLEVBQUE7QU14VGpCO0lONFRDLGdCQUFnQixFQUFBO0FNNVRqQjtJTmdVQyxnQkFBZ0IsRUFBQTtBTWhVakI7SU5vVUMsZ0JBQWdCLEVBQUE7QU1wVWpCO0lOd1VDLGdCQUFnQixFQUFBO0FNeFVqQjtJTjRVQyxnQkFBZ0IsRUFBQTtBTTVVakI7SU5nVkMsZ0JBQWdCLEVBQUE7QU1oVmpCO0lOb1ZDLGdCQUFnQixFQUFBO0FNcFZqQjtJTndWQyxnQkFBZ0IsRUFBQTtBTXhWakI7SU40VkMsZ0JBQWdCLEVBQUE7QU01VmpCO0lOZ1dDLGdCQUFnQixFQUFBO0FNaFdqQjtJTm9XQyxnQkFBZ0IsRUFBQTtBTXBXakI7SU53V0MsZ0JBQWdCLEVBQUE7QU14V2pCO0lONFdDLGdCQUFnQixFQUFBO0FNNVdqQjtJTmdYQyxnQkFBZ0IsRUFBQTtBTWhYakI7SU5vWEMsZ0JBQWdCLEVBQUE7QU1wWGpCO0lOd1hDLGdCQUFnQixFQUFBO0FNeFhqQjtJTjRYQyxnQkFBZ0IsRUFBQTtBTTVYakI7SU5nWUMsZ0JBQWdCLEVBQUE7QU1oWWpCO0lOb1lDLGdCQUFnQixFQUFBO0FNcFlqQjtJTndZQyxnQkFBZ0IsRUFBQTtBTXhZakI7SU40WUMsZ0JBQWdCLEVBQUE7QU01WWpCO0lQVUksb0NBQW9DO0lBQ3BDLGdCQUFnQjtJRVpsQixjQ2lCcUI7SURoQnJCLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQix5QkNKd0I7SURLeEIsV0FBVyxFQUFBO0FLTGI7TUxTSSx5QkNHc0I7TURGdEIsYUFBYSxFQUFBO0FLVmpCO01MY0kseUJDZHNCO01EZXRCLGdCQUFnQjtNQUNoQixhQUFhLEVBQUE7QUtoQmpCO01Mb0JJLFlBQVk7TUFDWixnQkFBZ0I7TUFDaEIsYUFBYTtNQUNiLDZCQUE2QixFQUFBO0FLdkJqQztNTG9CSSxZQUFZO01BQ1osZ0JBQWdCO01BQ2hCLGFBQWE7TUFDYiw2QkFBNkIsRUFBQTtBS3ZCakM7TVBVSSxvQ0FBb0M7TUFDcEMsZ0JBQWdCO01Fa0JkLGVBQWU7TUFDZixnQ0NkaUIsRUFBQTtBSWhCdkI7SVBVSSxvQ0FBb0M7SUFDcEMsZ0JBQWdCO0lFMEJsQixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGNDbEN1QixFQUFBO0FJUnpCO01MNkNJLGVBQWUsRUFBQTtBSzdDbkI7TUxpREksYUFBYSxFQUFBO0FLakRqQjtNTHFESSxhQUFhLEVBQUE7QUtyRGpCO01MeURJLHlCQ3hEc0I7TUR5RHRCLGNDMURzQjtNRDJEdEIsbUJBQW1CLEVBQUE7QUszRHZCO0lMK0RFLDZCQUE2QjtJQUM3QixjQ2hEcUI7SURrRHJCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLFdBQVcsRUFBQTtBS3JFYjtNTHVFSSxnQ0MzRHNCO01ENER0QixjQ3hEbUI7TUR5RG5CLGdCQUFnQixFQUFBO0FLekVwQjtJTDZFRSx5QkM3RHFCO0lEOERyQixZQUFZLEVBQUE7QUs5RWQ7TUxpRkkseUJDdkVzQixFQUFBO0FJVjFCO01McUZJLHlCQzFFc0IsRUFBQTtBSVgxQjtNTHlGSSw2QkN4RnNCLEVBQUE7QUlEMUI7TUw2RkkseUJDNUZzQjtNRDZGdEIsY0M5RnNCO01EK0Z0QixtQkFBbUIsRUFBQTtBSy9GdkI7SUxvR0UsNkJBQTZCO0lBQzdCLHlCQ3pGd0I7SUQwRnhCLGNDMUZ3QixFQUFBO0FJWjFCO01MeUdJLHlCQzdGc0I7TUQ4RnRCLGNDbEdxQixFQUFBO0FJUnpCO01MOEdJLHlCQ2xHc0I7TURtR3RCLGFBQWE7TUFDYixjQ3hHcUIsRUFBQTtBSVJ6QjtNTG9ISSw2Q0N4R3NCLEVBQUE7QUlaMUI7TUx3SEkseUJDdkhzQjtNRHdIdEIsY0N6SHNCO01EMEh0QixtQkFBbUI7TUFDbkIsWUFBWSxFQUFBO0FLM0hoQjtJTGdJRSw2QkFBNkI7SUFDN0IsY0NqSHFCO0lEa0hyQixZQUFZLEVBQUE7QUtsSWQ7TUxxSUkseUJDcElzQixFQUFBO0FJRDFCO01MeUlJLGdCQUFnQjtNQUNoQix3QkFBd0I7TUFDeEIsZUFBZTtNQUNmLGNDOUlzQixFQUFBO0FJRTFCO01Mb0pJLHlCQ25Kc0I7TURvSnRCLGNDckpzQjtNRHNKdEIsbUJBQW1CO01BQ25CLFlBQVksRUFBQTtBS3ZKaEI7SUw0SkUsYUFBYSxFQUFBO0FLdEpmO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixvQkFBb0I7RUFDcEIsWUFBWSxFQUFBO0FBR2Q7RUFDRSxrQkFBa0IsRUFBQTtBSGhCbEI7RUdxQkUsbUJBQW1CLEVBQUE7QUFuQnZCO0VBNEJJLGtCQUFrQixFQUFBO0FMK0h0QjtFSzFIRSx5QkFBeUI7RUFDekIsZUFBZSxFQUFBO0FBRmpCO0lBS0ksaUJBQWlCLEVBQUE7QUFJckI7RUFDRSxZQUFZO0VBQ1osbUJBQW1CLEVBQUE7QUFGckI7SUFLSSxXQUFXO0lBRVgsY0FBYztJQUNkLHNCQUFzQixFQUFBO0FBSTFCO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7RUFDVCxZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFlBQVksRUFBQTtBQVJkO0lBV0ksMENBQStEO0lBQy9ELHFCQUFxQjtJQUNyQixXQUFXO0lBQ1gsWUFBWTtJQUVaLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsU0FBUztJQUNULFFBQVE7SUFDUixnQ0FBZ0MsRUFBQTtBQUlwQztFQUNFLG1CQUFtQixFQUFBIiwiZmlsZSI6InByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL2dyaWQvZ3JpZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2NvbG9yLXBhbGV0dGUnO1xyXG5cclxuLy8gT3BlbiBTYW5zIEZvbnQgRmFtaWx5XHJcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw2MDA7MCw3MDA7MCw4MDA7MSwzMDA7MSw0MDA7MSw2MDA7MSw3MDA7MSw4MDAmZGlzcGxheT1zd2FwJyk7XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWxpZ2h0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtbGlnaHQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtcmVndWxhciB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLXNlbWlib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtc2VtaWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWJvbGQtaXRhbGljIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbkBtaXhpbiBvcGVuLXNhbnMtZXh0cmFib2xkLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vLyBIZWFkaW5nc1xyXG5AbWl4aW4gaGVhZGluZy0xIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0yIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy0zIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5AbWl4aW4gaGVhZGluZy00IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLy8gQm9keSBUZXh0XHJcbkBtaXhpbiBib2R5LXRleHQtMSB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTE7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTI7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtMyB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTM7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib2R5LXRleHQtNCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAmLWxpZ2h0IHtcclxuICAgICAgICBAZXh0ZW5kIC5ib2R5LXRleHQtNDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTGlua3NcclxuQG1peGluIGxpbmsge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICAgIH1cclxufVxyXG5cclxuLy8gVGFibGUgaGVhZGVyc1xyXG5AbWl4aW4gdGFibGUtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxufVxyXG5cclxuQG1peGluIHRhYmxlLWhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXRleHQ7XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1ib2R5IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgQGluY2x1ZGUgdGFibGUtdGV4dDtcclxufVxyXG4iLCJAZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcclxuXHRzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxJyk7XHJcblx0c3JjOiB1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMSNpZWZpeCcpIGZvcm1hdCgnZW90JyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC53b2ZmPzE2MzczMzA2NTU0MjEnKSBmb3JtYXQoJ3dvZmYnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnR0Zj8xNjM3MzMwNjU1NDIxJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuc3ZnPzE2MzczMzA2NTU0MjEjaWNvbnNmb250JykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuLmljb24tY2RzOmJlZm9yZSB7XHJcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Lyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcblxyXG4uaWNvbi1jZHMtYWxsb3ctc2VuZGluZy1lbWFpbHM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDAzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1idXR0b24tYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2FsZW5kYXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2hlY2ttYXJrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNoZWNrbWFyazI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xpY2tkLWxvZ286YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY29sbGFwc2VkLXRpdGxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvbmRpdGlvbmFsOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvcHktY29udGVudDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtbGVhZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcmVhdGUtdGFzay1hY3Rpdml0eTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jcm9zczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1kZXNrdG9wOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWR1cGxpY2F0ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lZGl0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVsbGlwc2lzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXNlbmRzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0xOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0zOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMThcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci00OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMTlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci01OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVudmVsb3BlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWVycm9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMURcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LWF0dGVuZGVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMUVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV2ZW50LW1pc3NlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ldmVudC1yZWdpc3RlcmVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV4cGFuZC10aXRsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leHBvcnQtZmlsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leWUtY2hlY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXllOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWZhdm9yaXRlczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1maWx0ZXI6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZnVsbC1zY3JlZW46YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZ3JvdXAtYW5kOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWdyb3VwLW9yOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWh0bWwtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyQVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaHRtbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZS1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1pbWFnZXRleHQtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5ib3g6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW5mbzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDJGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1saW5rLWltYWdlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWxpbms6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb2JpbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbW9yZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1tb3ZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXBsYXktdmlkZW86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzNlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcGx1cy1pbi1jaXJjbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzN1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcG9zdGVkLXN1cnZleXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzOFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcHJldmlldy1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wcmV2aWV3OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0FcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXByaW50OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0JcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlYWN0aXZhdGUtY29udGFjdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZWZyZXNoOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0RcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlbW92ZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZW1vdmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVtb3ZlZC1mcm9tLWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0MFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVwbGFjZS1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlLWFzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmUtY2xvc2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0M1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZS10by1teS10ZW1wbGF0ZXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zY29yZS1zdmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2NvcmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0N1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2VuZC1zbXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0OFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29jaWFsLWxpbmtzLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvY2lhbC1saW5rczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb2NpYWwtc2hhcmUtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0QlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNENcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3BhY2VyLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXN1Ym1pdHRlZC1zdWJzY3JpcHRpb246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0RlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1cnZleTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zdWNjZXNzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRlbXBsYXRlLWxpYnJhcnk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1MlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGVzdC1lbWFpbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZXN0LXByZXZpZXc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1NFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGV4dC1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1OVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1Q1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1RVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA2MFwiO1xyXG59XHJcblxyXG5cciIsIkBpbXBvcnQgJy4uL2Jhc2UvY29sb3ItcGFsZXR0ZS5zY3NzJztcclxuQGltcG9ydCAnLi4vYmFzZS90eXBvZ3JhcGh5LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL2ljb25zZm9udCc7XHJcblxyXG5pbnB1dC5jZHMtaW5wdXQge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiA3cHggMjBweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcblxyXG4gICY6cmVhZC1vbmx5IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG5cclxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xyXG4gICAgJjo6Zmlyc3QtbGluZSB7XHJcbiAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jZHMtYnRuIHtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDVweCAyMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIG1pbi13aWR0aDogNjBweDtcclxuICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcbi5jZHMtdG9nZ2xlLW1lbnUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcblxyXG4gIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcbn1cclxuLmNkcy1kYXJrLWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTE7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMjtcclxuICB9XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRzZWNvbmRhcnktZ3JheS00O1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWxpZ2h0LWJsdWUtYnV0dG9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgb3BhY2l0eTogMC43NTtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gIH1cclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICB9XHJcbiAgLmNkcy1pY29uOjpiZWZvcmUge1xyXG4gICAgQGV4dGVuZCAuaWNvbi1jZHMtdHJpYW5nbGUtZG93bjpiZWZvcmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdpY29uc2ZvbnQnO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG4gIH1cclxuXHJcbiAgLy8gJjpmb2N1cyB7XHJcbiAgLy8gICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkc2Vjb25kYXJ5LWJsdWUtMywgMC4yKTtcclxuICAvLyB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1pbmxpbmUtdG9vbGJhciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG4iLCIvLyBQcmltYXJ5IENvbG9yc1xyXG4kcHJpbWFyeS1waW5rOiAjZTMxYTUxO1xyXG4kcHJpbWFyeS1ibHVlOiAjMTUzMjU4O1xyXG5cclxuLy8gU2Vjb25kYXJ5IENvbG9yc1xyXG4kc2Vjb25kYXJ5LWdyYXktMTogIzI4MzU0MTtcclxuJHNlY29uZGFyeS1ncmF5LTI6ICM2MTcwODI7XHJcbiRzZWNvbmRhcnktZ3JheS0zOiAjOTJhMWI1O1xyXG4kc2Vjb25kYXJ5LWdyYXktNDogI2RhZGVlNjtcclxuJHNlY29uZGFyeS1ncmF5LTU6ICNlYmVjZjA7XHJcbiRncmF5LWRhcmstMTogIzQ0NDQ0NDtcclxuJGdyYXktbGlnaHQtMTogI2Y4ZjhmODtcclxuJGdyYXktbGlnaHQtMjogI2IxYjFiMTtcclxuJGdyYXktbGlnaHQtNDogI2Q1ZDVkNTtcclxuXHJcbiRzZWNvbmRhcnktd2hpdGU6ICNmZmZmZmY7XHJcblxyXG4kc2Vjb25kYXJ5LWJsdWUtMTogIzQ1NjU4ZDtcclxuJHNlY29uZGFyeS1ibHVlLTI6ICM1Yzg4YmY7XHJcbiRzZWNvbmRhcnktYmx1ZS0zOiAjMGI4YmUzO1xyXG4kc2Vjb25kYXJ5LWJsdWUtNDogI2U2ZjNmZjtcclxuJGJsdWUtbGlnaHQtMTogI2Q3ZWJmOTtcclxuJGJsdWUtZGFyay0xOiAjMDAyMDUwO1xyXG4kbWlkbmlnaHQtYmx1ZTogIzE3MzM1NztcclxuXHJcbiRzZWNvbmRhcnktcGluazogI2MxMGUzZTtcclxuJHNlY29uZGFyeS1ncmVlbjogIzJjYWM2MDtcclxuJHNlY29uZGFyeS1ncmVlbi0yOiAjMGI4MDNiO1xyXG4kc2Vjb25kYXJ5LXllbGxvdzogI2ZjYWYxNztcclxuJHNlY29uZGFyeS1wdXJwbGU6ICM4ZTQ0YWM7XHJcbiRzZWNvbmRhcnktb3JhbmdlOiAjZmY2YzA1O1xyXG5cclxuJGNyYW5iZXJyeS1yZWQ6ICNkZjIyNTU7XHJcbiRyZWQtbGlnaHQtMTogI2VhOTk5OTtcclxuIiwiQGltcG9ydCAnLi4vYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHkuc2Nzcyc7XHJcbkBpbXBvcnQgJ2lucHV0JztcclxuXHJcbi5jZHMtZGlhbG9nLWhlYWRpbmcge1xyXG4gICYtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICB9XHJcblxyXG4gICYtc3VidGl0bGUge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtZm9ybS1ob3Jpem9udGFsLXNlcGFyYXRvciB7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgJi1zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gIH1cclxufVxyXG5cclxuLnBpbmstaW5wdXQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LXBpbmsgIWltcG9ydGFudDtcclxuICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG5cclxuICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJHByaW1hcnktcGluayAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4uY2RzLWZvcm0tc2VjdGlvbi10aXRsZSB7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxufVxyXG4udy1hdXRvIHtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4uY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIC5jZHMtdmFsaWRhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxuICB9XHJcbiAgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICYtY29sIHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgLmNkcy1mb3JtLWlucHV0IHtcclxuICAgICAgQGV4dGVuZCAuY2RzLWlucHV0O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuXHJcbiAgICAgICYtbWwtMCB7XHJcbiAgICAgICAgQGV4dGVuZCAuY2RzLWZvcm0taW5wdXQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgfVxyXG4gICAgICAmLWxhYmVsIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgJi5jZHMtZGlzYWJsZWQtbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOnJlYWQtb25seSB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9UaGlzIG1vZGlmaWVyIGlzIHVzZWQgZm9yIHJlYWRvbmx5IGZpZWxkcyBpbiBJbnRlcm5ldCBFeHBsb3JlclxyXG4gICAgICAmW3JlYWRvbmx5PSdyZWFkb25seSddIHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tdC0xNSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1yZXF1aXJlZCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnKic7XHJcbiAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gIH1cclxufVxyXG4udG9vbHRpcCB7XHJcbiAgZmxleDogMCAwIGF1dG87XHJcbiAgd2lkdGg6IDM2cHg7XHJcbiAgaGVpZ2h0OiAzNnB4O1xyXG4gIHBhZGRpbmc6IDZweCA1cHggNXB4IDZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaW1nIHtcclxuICAgIGhlaWdodDogMjVweDtcclxuICB9XHJcbn1cclxuLnZhbGlkYXRpb24tbWVzc2FnZS1yb3cge1xyXG4gIG1hcmdpbi1sZWZ0OiAyNjBweDtcclxuICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiAkY3JhbmJlcnJ5LXJlZDtcclxufVxyXG5cclxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcclxuICB0b3A6IDMwcHg7XHJcbiAgbGVmdDogLTI1NXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB3aWR0aDogMjk5cHg7XHJcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1ncmF5LTU7XHJcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxuXHJcbiAgJi1yaWdodCB7XHJcbiAgICBAZXh0ZW5kIC50b29sdGlwdGV4dDtcclxuICAgIGxlZnQ6IDBweDtcclxuICB9XHJcbiAgJi5zaG93LWFib3ZlIHtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGJvdHRvbTogMTI1JTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuICB9XHJcbn1cclxuXHJcbi50b29sdGlwOmhvdmVyIC50b29sdGlwdGV4dCB7XHJcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBwYWRkaW5nOiAxNXB4IDE5cHggN3B4IDE5cHg7XHJcbn1cclxuIiwiQGltcG9ydCAnY29tbW9uLWxpYi9zcmMvc3R5bGVzL2Fuc2libGUtdGhlbWUvYmFzZS9jb2xvci1wYWxldHRlJztcclxuXHJcbi5jZHMtcGFnZS1mb290ZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS01O1xyXG4gIG1pbi1oZWlnaHQ6IDcwcHg7XHJcbiAgcGFkZGluZzogMCA1MHB4O1xyXG5cclxuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gIHdpZHRoOiAxMDB2dztcclxuXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgLy91c2UgXCJhbGlnbi1zZWxmOiBjZW50ZXJcIiBpbnN0ZWFkIG9mIG1hcmdpbiwgd2hlbiBJRSBzdXBwb3J0IGlzIGVuZGVkXHJcbiAgICAvL2FjY29yZGluZyB0byBzdHlsZSBndWlkZSB3ZSBoYXZlIHN0cmljdCAzMHB4IGhlaWdodCBidXR0b24gYW5kIDcwcHggaGVpZ2h0IGZvb3Rlciwgc28gd2UgY2FuIGFkZCAyMHB4IG1hcmdpbiBvbiB0b3AgYW5kIGJvdHRvbSBvZiB0aGUgYnV0dG9uXHJcblxyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuXHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgfVxyXG59XHJcbiIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2Jhc2UvdHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2Jhc2UvY29sb3ItcGFsZXR0ZSc7XHJcblxyXG4uY2RzLWlubGluZS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAxO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICYudGl0bGUtZmlsbGVkIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcblxyXG4gICAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICZfX3RleHQge1xyXG4gICAgICAgIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50aXRsZS1lbXB0eSB7XHJcbiAgICAuY2RzLW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcblxyXG4gICAgICAmX19pY29uIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYud2FybmluZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAxMzksIDIyNywgMC4xNSk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgfVxyXG5cclxuICAmLmVycm9yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLCA1NSwgMTAzLCAwLjEpO1xyXG4gICAgY29sb3I6ICRjcmFuYmVycnktcmVkO1xyXG4gIH1cclxuICAmLmluZm8tYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtNDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8vIGNvbG9yOiAkbWlkbmlnaHQtYmx1ZTtcclxuICB9XHJcbiAgJi5pbmZvIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS01O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gIH1cclxuXHJcbiAgJi5zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDQsIDE3MiwgOTYsIDAuMSk7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmVlbjtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtaW5saW5lLW1lc3NhZ2UtdGl0bGUge1xyXG4gIEBpbmNsdWRlIG9wZW4tc2Fucy1ib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgJi5pbmZvLWJsdWUge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gIH1cclxuICAmOmVtcHR5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAmX19pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuXHJcbiAgICAmLS1pbmZvIHtcclxuICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICBjb250ZW50OiB1cmwoJy9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvaW5mby5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1pbmZvLWJsdWUge1xyXG4gICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9pbmZvLWJsdWUuc3ZnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZXJyb3Ige1xyXG4gICAgICBjb2xvcjogJGNyYW5iZXJyeS1yZWQ7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9lcnJvci5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS13YXJuaW5nIHtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgICBjb250ZW50OiB1cmwoJy9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvd2FybmluZy5zdmcnKTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1zdWNjZXNzIHtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnktZ3JlZW47XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9zdWNjZXNzLnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCAnY29tbW9uLWxpYi9zcmMvc3R5bGVzL2Fuc2libGUtdGhlbWUvY29tcG9uZW50cy9mb3JtLWVsZW1lbnRzLWVsZW1lbnRzJztcclxuQGltcG9ydCAnY29tbW9uLWxpYi9zcmMvc3R5bGVzL2Fuc2libGUtdGhlbWUvYmFzZS9jb2xvci1wYWxldHRlJztcclxuQGltcG9ydCAnLi4vLi4vc3R5bGVzL2Fuc2libGUtdGhlbWUvZm9vdGVyJztcclxuXHJcbi8vUmVtb3ZlIHRoaXMgaW1wb3J0IHdoZW4gd2Ugd2lsbCByZXBsYWNlIGRpdi5pbmxpbmUtbWVzc2FnZSBsYXlvdXQgd2l0aCBjZHMtaW5saW5lLW1lc3NhZ2UgY29tcG9uZW50LCBhZnRlciBJRSBzdXBwb3J0IGVuZGVkXHJcbkBpbXBvcnQgJ2NvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2lubGluZS1tZXNzYWdlL2lubGluZS1tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG46Om5nLWRlZXAge1xyXG4gIEBpbXBvcnQgJ2NvbW1vbi1saWIvc3JjL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2NvbXBvbmVudHMvc3dpbWxhbmUtbmd4LWRhdGF0YWJsZSc7XHJcbiAgQGltcG9ydCAnY29tbW9uLWxpYi9zcmMvc3R5bGVzL2Fuc2libGUtdGhlbWUvY29tcG9uZW50cy9kaWFsb2cnO1xyXG4gIEBpbXBvcnQgJ2NvbW1vbi1saWIvc3JjL3N0eWxlcy9hbnNpYmxlLXRoZW1lL2NvbXBvbmVudHMvaW5wdXQnO1xyXG59XHJcblxyXG46aG9zdCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmhlYWRlci1jb250YWluZXIge1xyXG4gIHBhZGRpbmc6IDMwcHggNDBweDtcclxufVxyXG5cclxuLmNkcy1kaWFsb2ctaGVhZGluZyB7XHJcbiAgJi10aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgJi1zdWJ0aXRsZSB7XHJcbiAgfVxyXG59XHJcblxyXG46Om5nLWRlZXAge1xyXG4gIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZW1wdHktcm93IHtcclxuICAgIHBhZGRpbmctbGVmdDogNzBweDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtaW5saW5lLXRvb2xiYXIge1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgcGFkZGluZzogMCA0MHB4O1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGFibGUtY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcGFkZGluZzogMHB4IDQwcHggMDtcclxuXHJcbiAgbmd4LWRhdGF0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4uZ3JpZC1sb2FkaW5nLW92ZXJsYXkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIG9wYWNpdHk6IDAuNTtcclxuXHJcbiAgLmxvYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9sb2FkZXJfeDEwMHB4LmdpZik7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDUwcHg7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4uaW5saW5lLW1lc3NhZ2Uge1xyXG4gIG1hcmdpbjogMjBweCA0MHB4IDA7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vYmFzZS9jb2xvci1wYWxldHRlLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHkuc2Nzcyc7XHJcbkBpbXBvcnQgJy4uL2Jhc2UvaWNvbnNmb250JztcclxuXHJcbkBtaXhpbiBjaGVja2JveC1ib3JkZXIge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG59XHJcblxyXG5AbWl4aW4gc29ydGluZy1hcnJvdyB7XHJcbiAgbWFyZ2luLWxlZnQ6IDE0cHg7XHJcbiAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0xO1xyXG59XHJcblxyXG4ubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAganVzdGlmeS1jb250ZW50OiB1bnNldDtcclxuXHJcbiAgLnZpc2libGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICAmLnN0cmlwZWQge1xyXG4gICAgLmRhdGF0YWJsZS1yb3ctb2RkIHtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuY2VsbC1zZWxlY3Rpb24ge1xyXG4gICAgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmhvdmVyIC5kYXRhdGFibGUtcm93LWdyb3VwIHtcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XHJcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hhcmVkIFN0eWxlc1xyXG4gICAqL1xyXG4gIC5lbXB0eS1yb3cge1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjJyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC5sb2FkaW5nLXJvdyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMC41cmVtIDEuMnJlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2xvYmFsIFJvdyBTdHlsZXNcclxuICAgKi9cclxuICAuZGF0YXRhYmxlLWhlYWRlcixcclxuICAuZGF0YXRhYmxlLWJvZHkge1xyXG4gICAgLmRhdGF0YWJsZS1yb3ctbGVmdCB7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFCQ0FZQUFBRDVQQS9OQUFBQUZrbEVRVlFJSFdQU2tOZVNCbUpoVFFWdGJpRE5DZ0FTYWdJSXVKWDhPZ0FBQUFCSlJVNUVya0pnZ2c9PSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGF0YWJsZS1yb3ctcmlnaHQge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVFBQUFBQkNBWUFBQUQ1UEEvTkFBQUFGa2xFUVZRSTEyUFFrTmRpMVZUUTVnYlN3a0FzRFFBUkxBSUd0T1NGVUFBQUFBQkpSVTVFcmtKZ2dnPT0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGVhZGVyIFN0eWxlc1xyXG4gICAqL1xyXG5cclxuICAuZGF0YXRhYmxlLWhlYWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMCA4cHg7XHJcblxyXG4gICAgICAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB0YWJsZS1oZWFkZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAmLXRlbXBsYXRlLXdyYXAge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcblxyXG4gICAgICAgICAgLmhlYWRlci1idXR0b24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMjBweDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5jaGVja2JveCB7XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5zb3J0LWJ0biB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgLnJlc2l6ZS1oYW5kbGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi13cmFwcGVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLmxvbmdwcmVzcyB7XHJcbiAgICAgICAgICAuZHJhZ2dhYmxlOjphZnRlciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlLCBvcGFjaXR5IDQwMG1zIGVhc2U7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kcmFnZ2FibGU6OmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIGZpbHRlcjogbm9uZTtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmRyYWdnaW5nIHtcclxuICAgICAgICAgIC5yZXNpemUtaGFuZGxlIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5zb3J0LWFzYyB7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzb3J0aW5nLWFycm93O1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuaWNvbi1jZHMtc29ydC11cDpiZWZvcmU7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc29ydC1kZXNjIHtcclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNvcnRpbmctYXJyb3c7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIC5pY29uLWNkcy1zb3J0LWRvd246YmVmb3JlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIEJvZHkgU3R5bGVzXHJcbiAgICovXHJcbiAgLmRhdGF0YWJsZS1ib2R5IHtcclxuXHJcbiAgICAuZGF0YXRhYmxlLXNjcm9sbCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktNDtcclxuICAgICAgcGFkZGluZzogOHB4IDAgOHB4O1xyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktZ3JheS01O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLWRldGFpbCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHRhYmxlLWJvZHk7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcblxyXG4gICAgICAgICYtbGFiZWwge1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmVtcHR5LXJvdyB7XHJcbiAgICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnByb2dyZXNzLWxpbmVhciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTcwLCAyMDksIDI0OSk7XHJcblxyXG4gICAgICAgIC5iYXIge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHF1ZXJ5IDAuOHMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XHJcbiAgICAgICAgICBhbmltYXRpb246IHF1ZXJ5IDAuOHMgaW5maW5pdGUgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7XHJcblxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTYsIDEwOCwgMjAwKTtcclxuXHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvb3RlciBTdHlsZXNcclxuICAgKi9cclxuXHJcbiAgLmRhdGF0YWJsZS1mb290ZXIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJG1pZG5pZ2h0LWJsdWU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgICAudGFibGUtY3VzdG9tLWZvb3RlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG5cclxuICAgICAgJl9fcmVjb3JkZXMtaW5mbyB7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19wYWdlLW5hdiB7XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19wYWdlcy1pbmZvIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fZmlyc3QtcGFnZSB7XHJcbiAgICAgICAgLmJ0bi1pbWFnZSB7XHJcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2Fycm93X2ZpcnN0X2VsZW1lbnQuc3ZnXCIpO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmX19wcmV2LXBhZ2Uge1xyXG4gICAgICAgIC5idG4taW1hZ2Uge1xyXG4gICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9hcnJvd19wcmV2aW91c19lbGVtZW50LnN2Z1wiKTtcclxuICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fbmV4dC1wYWdlIHtcclxuICAgICAgICAuYnRuLWltYWdlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfbmV4dF9lbGVtZW50LnN2Z1wiKTtcclxuICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fbGFzdC1wYWdlIHtcclxuICAgICAgICAuYnRuLWltYWdlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfbGFzdF9lbGVtZW50LnN2Z1wiKTtcclxuICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1jb3VudCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIHBhZGRpbmc6IDAgMS4ycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhdGFibGUtcGFnZXIge1xyXG4gICAgICBtYXJnaW46IDAgMTBweDtcclxuXHJcbiAgICAgIC5kYXRhdGFibGUtaWNvbi1sZWZ0LFxyXG4gICAgICAuZGF0YXRhYmxlLWljb24tc2tpcCxcclxuICAgICAgLmRhdGF0YWJsZS1pY29uLXJpZ2h0LFxyXG4gICAgICAuZGF0YXRhYmxlLWljb24tcHJldiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgM3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBTdW1tYXJ5IHJvdyBzdHlsZXNcclxuICAuZGF0YXRhYmxlLXN1bW1hcnktcm93IHtcclxuICAgIC5kYXRhdGFibGUtYm9keS1yb3cge1xyXG5cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyoqXHJcbiAqIENoZWNrYm94ZXNcclxuKiovXHJcbi5kYXRhdGFibGUtY2hlY2tib3gge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB6LWluZGV4OiAwO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94LWJvcmRlcjtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1ib3JkZXI7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1jZHMtY2hlY2ttYXJrMjpiZWZvcmU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCAycHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJsdWUtMztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFByb2dyZXNzIGJhciBhbmltYXRpb25zXHJcbiAqL1xyXG5Aa2V5ZnJhbWVzIHF1ZXJ5IHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM1JSkgc2NhbGUoMC4zLCAxKTtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLCAxKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcFwiKTtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuZW90PzE2MzczMzA2NTU0MjFcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxI2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LndvZmY/MTYzNzMzMDY1NTQyMVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQudHRmPzE2MzczMzA2NTU0MjFcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5zdmc/MTYzNzMzMDY1NTQyMSNpY29uc2ZvbnRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5pY29uLWNkczpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIHNwZWFrOiBub25lOyBvbmx5IG5lY2Vzc2FyeSBpZiBub3QgdXNpbmcgdGhlIHByaXZhdGUgdW5pY29kZSByYW5nZSAoZmlyc3RHbHlwaCBvcHRpb24pICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmljb24tY2RzLWFsbG93LXNlbmRpbmctZW1haWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cblxuLmljb24tY2RzLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uaWNvbi1jZHMtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDNcIjsgfVxuXG4uaWNvbi1jZHMtYnV0dG9uLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA0XCI7IH1cblxuLmljb24tY2RzLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA1XCI7IH1cblxuLmljb24tY2RzLWNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNlwiOyB9XG5cbi5pY29uLWNkcy1jaGVja21hcmsyOmJlZm9yZSwgOjpuZy1kZWVwIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA3XCI7IH1cblxuLmljb24tY2RzLWNsaWNrZC1sb2dvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA4XCI7IH1cblxuLmljb24tY2RzLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA5XCI7IH1cblxuLmljb24tY2RzLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBBXCI7IH1cblxuLmljb24tY2RzLWNvbGxhcHNlZC10aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwQlwiOyB9XG5cbi5pY29uLWNkcy1jb25kaXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwQ1wiOyB9XG5cbi5pY29uLWNkcy1jb3B5LWNvbnRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMERcIjsgfVxuXG4uaWNvbi1jZHMtY3JlYXRlLWxlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuXG4uaWNvbi1jZHMtY3JlYXRlLXRhc2stYWN0aXZpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEZcIjsgfVxuXG4uaWNvbi1jZHMtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTBcIjsgfVxuXG4uaWNvbi1jZHMtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMVwiOyB9XG5cbi5pY29uLWNkcy1kdXBsaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTJcIjsgfVxuXG4uaWNvbi1jZHMtZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxM1wiOyB9XG5cbi5pY29uLWNkcy1lbGxpcHNpczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNFwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC1zZW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNlwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxN1wiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOFwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQlwiOyB9XG5cbi5pY29uLWNkcy1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQ1wiOyB9XG5cbi5pY29uLWNkcy1lcnJvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRFwiOyB9XG5cbi5pY29uLWNkcy1ldmVudC1hdHRlbmRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRVwiOyB9XG5cbi5pY29uLWNkcy1ldmVudC1taXNzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMUZcIjsgfVxuXG4uaWNvbi1jZHMtZXZlbnQtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyMFwiOyB9XG5cbi5pY29uLWNkcy1leHBhbmQtdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjFcIjsgfVxuXG4uaWNvbi1jZHMtZXhwb3J0LWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjJcIjsgfVxuXG4uaWNvbi1jZHMtZXllLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIzXCI7IH1cblxuLmljb24tY2RzLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNFwiOyB9XG5cbi5pY29uLWNkcy1mYXZvcml0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjVcIjsgfVxuXG4uaWNvbi1jZHMtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI2XCI7IH1cblxuLmljb24tY2RzLWZ1bGwtc2NyZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI3XCI7IH1cblxuLmljb24tY2RzLWdyb3VwLWFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyOFwiOyB9XG5cbi5pY29uLWNkcy1ncm91cC1vcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyOVwiOyB9XG5cbi5pY29uLWNkcy1odG1sLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJBXCI7IH1cblxuLmljb24tY2RzLWh0bWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkJcIjsgfVxuXG4uaWNvbi1jZHMtaW1hZ2UtYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkNcIjsgfVxuXG4uaWNvbi1jZHMtaW1hZ2V0ZXh0LWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJEXCI7IH1cblxuLmljb24tY2RzLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJFXCI7IH1cblxuLmljb24tY2RzLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkZcIjsgfVxuXG4uaWNvbi1jZHMtbGluay1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzMFwiOyB9XG5cbi5pY29uLWNkcy1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMxXCI7IH1cblxuLmljb24tY2RzLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzJcIjsgfVxuXG4uaWNvbi1jZHMtbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMzXCI7IH1cblxuLmljb24tY2RzLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzRcIjsgfVxuXG4uaWNvbi1jZHMtbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzNVwiOyB9XG5cbi5pY29uLWNkcy1wbGF5LXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM2XCI7IH1cblxuLmljb24tY2RzLXBsdXMtaW4tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM3XCI7IH1cblxuLmljb24tY2RzLXBvc3RlZC1zdXJ2ZXlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM4XCI7IH1cblxuLmljb24tY2RzLXByZXZpZXctZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzlcIjsgfVxuXG4uaWNvbi1jZHMtcHJldmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQVwiOyB9XG5cbi5pY29uLWNkcy1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQlwiOyB9XG5cbi5pY29uLWNkcy1yZWFjdGl2YXRlLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwM0NcIjsgfVxuXG4uaWNvbi1jZHMtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzRFwiOyB9XG5cbi5pY29uLWNkcy1yZW1vdmUtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwM0VcIjsgfVxuXG4uaWNvbi1jZHMtcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNGXCI7IH1cblxuLmljb24tY2RzLXJlbW92ZWQtZnJvbS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQwXCI7IH1cblxuLmljb24tY2RzLXJlcGxhY2UtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDFcIjsgfVxuXG4uaWNvbi1jZHMtc2F2ZS1hczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0MlwiOyB9XG5cbi5pY29uLWNkcy1zYXZlLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQzXCI7IH1cblxuLmljb24tY2RzLXNhdmUtdG8tbXktdGVtcGxhdGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ0XCI7IH1cblxuLmljb24tY2RzLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDVcIjsgfVxuXG4uaWNvbi1jZHMtc2NvcmUtc3ZnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ2XCI7IH1cblxuLmljb24tY2RzLXNjb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ3XCI7IH1cblxuLmljb24tY2RzLXNlbmQtc21zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ4XCI7IH1cblxuLmljb24tY2RzLXNvY2lhbC1saW5rcy1ibG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0OVwiOyB9XG5cbi5pY29uLWNkcy1zb2NpYWwtbGlua3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEFcIjsgfVxuXG4uaWNvbi1jZHMtc29jaWFsLXNoYXJlLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDRCXCI7IH1cblxuLmljb24tY2RzLXNvcnQtZG93bjpiZWZvcmUsIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnQtZGVzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogXCJcXEUwNENcIjsgfVxuXG4uaWNvbi1jZHMtc29ydC11cDpiZWZvcmUsIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnQtYXNjIHNwYW46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcRTA0RFwiOyB9XG5cbi5pY29uLWNkcy1zcGFjZXItYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEVcIjsgfVxuXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1YnNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0RlwiOyB9XG5cbi5pY29uLWNkcy1zdWJtaXR0ZWQtc3VydmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDUwXCI7IH1cblxuLmljb24tY2RzLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTFcIjsgfVxuXG4uaWNvbi1jZHMtdGVtcGxhdGUtbGlicmFyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1MlwiOyB9XG5cbi5pY29uLWNkcy10ZXN0LWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDUzXCI7IH1cblxuLmljb24tY2RzLXRlc3QtcHJldmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1NFwiOyB9XG5cbi5pY29uLWNkcy10ZXh0LWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU1XCI7IH1cblxuLmljb24tY2RzLXRyaWFuZ2xlLWRvd246YmVmb3JlLCAuY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50IC5jZHMtaWNvbjo6YmVmb3JlLCA6Om5nLWRlZXAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCAuY2RzLWljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU2XCI7IH1cblxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1N1wiOyB9XG5cbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1OFwiOyB9XG5cbi5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTlcIjsgfVxuXG4uaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVBXCI7IH1cblxuLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1QlwiOyB9XG5cbi5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUNcIjsgfVxuXG4uaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1RFwiOyB9XG5cbi5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUVcIjsgfVxuXG4uaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVGXCI7IH1cblxuLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNjBcIjsgfVxuXG5pbnB1dC5jZHMtaW5wdXQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTAsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTAge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMTczMzU3O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiA3cHggMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzkyYTFiNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgaW5wdXQuY2RzLWlucHV0OmhvdmVyLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0OmhvdmVyLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dDpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmhvdmVyLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmhvdmVyLCBpbnB1dC5jZHMtaW5wdXQ6Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQ6Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0OmZvY3VzLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYjhiZTM7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBpbnB1dC5jZHMtaW5wdXQ6ZGlzYWJsZWQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQ6ZGlzYWJsZWQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0OmRpc2FibGVkLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6ZGlzYWJsZWQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6ZGlzYWJsZWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MmExYjU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGlucHV0LmNkcy1pbnB1dDpyZWFkLW9ubHksIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQ6cmVhZC1vbmx5LCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dDpyZWFkLW9ubHksIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpyZWFkLW9ubHksIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6cmVhZC1vbmx5IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGlucHV0LmNkcy1pbnB1dDotd2Via2l0LWF1dG9maWxsOjpmaXJzdC1saW5lLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDotd2Via2l0LWF1dG9maWxsOjpmaXJzdC1saW5lLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzE3MzM1NzsgfVxuXG4uY2RzLWJ0biB7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAyMHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWluLXdpZHRoOiA2MHB4O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2RzLWJ0bjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jZHMtYnRuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5jZHMtYnRuOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuY2RzLWJ0bjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGVlNjtcbiAgICBjb2xvcjogIzkyYTFiNTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5jZHMtdG9nZ2xlLW1lbnUtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMTczMzU3O1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGJvcmRlcjogMHB4OyB9XG4gIC5jZHMtdG9nZ2xlLW1lbnUtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwYjhiZTM7XG4gICAgY29sb3I6ICMxNzMzNTc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY2RzLWRhcmstYmx1ZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTczMzU3O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmNkcy1kYXJrLWJsdWUtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2NThkOyB9XG4gIC5jZHMtZGFyay1ibHVlLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1Yzg4YmY7IH1cbiAgLmNkcy1kYXJrLWJsdWUtYnV0dG9uOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2RhZGVlNjsgfVxuICAuY2RzLWRhcmstYmx1ZS1idXR0b246ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRlZTY7XG4gICAgY29sb3I6ICM5MmExYjU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uY2RzLWxpZ2h0LWJsdWUtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwYjhiZTM7XG4gIGNvbG9yOiAjMGI4YmUzOyB9XG4gIC5jZHMtbGlnaHQtYmx1ZS1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjhiZTM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNkcy1saWdodC1ibHVlLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwYjhiZTM7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2RzLWxpZ2h0LWJsdWUtYnV0dG9uOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxMSwgMTM5LCAyMjcsIDAuMik7IH1cbiAgLmNkcy1saWdodC1ibHVlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGVlNjtcbiAgICBjb2xvcjogIzkyYTFiNTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMTczMzU3O1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGVlNjsgfVxuICAuY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50IC5jZHMtaWNvbjo6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbnNmb250JztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICMyODM1NDE7IH1cbiAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGVlNjtcbiAgICBjb2xvcjogIzkyYTFiNTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uY2RzLWlubGluZS10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY2RzLWRpYWxvZy1oZWFkaW5nLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzE3MzM1NztcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogNDBweDsgfVxuXG4uY2RzLWRpYWxvZy1oZWFkaW5nLXN1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzE3MzM1NztcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuXG4uY2RzLWZvcm0taG9yaXpvbnRhbC1zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkyYTFiNTsgfVxuICAuY2RzLWZvcm0taG9yaXpvbnRhbC1zZXBhcmF0b3Itc21hbGwge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MmExYjU7IH1cblxuLnBpbmstaW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTMxYTUxICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTMxYTUxICFpbXBvcnRhbnQ7IH1cbiAgLnBpbmstaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2UzMWE1MSAhaW1wb3J0YW50OyB9XG5cbi5jZHMtZm9ybS1zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBjb2xvcjogIzE3MzM1NzsgfVxuXG4udy1hdXRvIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtdmFsaWRhdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNkZjIyNTU7IH1cbiAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dC1tbC0wLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXQtbWwtMCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgICAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQtbWwtMCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LW1sLTAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4OyB9XG4gICAgICAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dC1sYWJlbCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LWxhYmVsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogIzE3MzM1NztcbiAgICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgICAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQtbGFiZWwuY2RzLWRpc2FibGVkLWxhYmVsLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXQtbGFiZWwuY2RzLWRpc2FibGVkLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzkyYTFiNTsgfVxuICAgICAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQ6aG92ZXIsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dDpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQtbWwtMDpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LW1sLTA6aG92ZXIsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0OmZvY3VzLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXQ6Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0LW1sLTA6Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dC1tbC0wOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBiOGJlMztcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQ6ZGlzYWJsZWQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dDpkaXNhYmxlZCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQtbWwtMDpkaXNhYmxlZCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LW1sLTA6ZGlzYWJsZWQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTJhMWI1OyB9XG4gICAgICAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dDpyZWFkLW9ubHksIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dDpyZWFkLW9ubHksIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0LW1sLTA6cmVhZC1vbmx5LCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXQtbWwtMDpyZWFkLW9ubHkge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0W3JlYWRvbmx5PSdyZWFkb25seSddLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXRbcmVhZG9ubHk9J3JlYWRvbmx5J10sIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0LW1sLTBbcmVhZG9ubHk9J3JlYWRvbmx5J10sIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dC1tbC0wW3JlYWRvbmx5PSdyZWFkb25seSddIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dFtyZWFkb25seT0ncmVhZG9ubHknXTpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0W3JlYWRvbmx5PSdyZWFkb25seSddOmhvdmVyLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIC5jZHMtZm9ybS1pbnB1dC1tbC0wW3JlYWRvbmx5PSdyZWFkb25seSddOmhvdmVyLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCAuY2RzLWZvcm0taW5wdXQtbWwtMFtyZWFkb25seT0ncmVhZG9ubHknXTpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXRbcmVhZG9ubHk9J3JlYWRvbmx5J106Zm9jdXMsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dFtyZWFkb25seT0ncmVhZG9ubHknXTpmb2N1cywgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQtbWwtMFtyZWFkb25seT0ncmVhZG9ubHknXTpmb2N1cywgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LW1sLTBbcmVhZG9ubHk9J3JlYWRvbmx5J106Zm9jdXMge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLm10LTE1IHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uY2RzLXJlcXVpcmVkOmFmdGVyIHtcbiAgY29udGVudDogJyonO1xuICBjb2xvcjogI2RmMjI1NTtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4uY2RzLXJlcXVpcmVkOmFmdGVyIHtcbiAgY29udGVudDogJyonO1xuICBjb2xvcjogI2RmMjI1NTtcbiAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuXG4udG9vbHRpcCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBwYWRkaW5nOiA2cHggNXB4IDVweCA2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudG9vbHRpcCBpbWcge1xuICAgIGhlaWdodDogMjVweDsgfVxuXG4udmFsaWRhdGlvbi1tZXNzYWdlLXJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAyNjBweDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNkZjIyNTU7IH1cblxuLnRvb2x0aXAgLnRvb2x0aXB0ZXh0LCAudG9vbHRpcCAudG9vbHRpcHRleHQtcmlnaHQge1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IC0yNTVweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMjk5cHg7XG4gIGJhY2tncm91bmQ6ICNlYmVjZjA7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzE3MzM1NztcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgLnRvb2x0aXAgLnRvb2x0aXB0ZXh0LXJpZ2h0IHtcbiAgICBsZWZ0OiAwcHg7IH1cbiAgLnRvb2x0aXAgLnRvb2x0aXB0ZXh0LnNob3ctYWJvdmUsIC50b29sdGlwIC5zaG93LWFib3ZlLnRvb2x0aXB0ZXh0LXJpZ2h0IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMjUlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7IH1cblxuLnRvb2x0aXA6aG92ZXIgLnRvb2x0aXB0ZXh0LCAudG9vbHRpcDpob3ZlciAudG9vbHRpcHRleHQtcmlnaHQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDE1cHggMTlweCA3cHggMTlweDsgfVxuXG4uY2RzLXBhZ2UtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWNmMDtcbiAgbWluLWhlaWdodDogNzBweDtcbiAgcGFkZGluZzogMCA1MHB4O1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgd2lkdGg6IDEwMHZ3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5jZHMtcGFnZS1mb290ZXIgYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5jZHMtaW5saW5lLW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY2RzLWlubGluZS1tZXNzYWdlLWNvbnRhaW5lci50aXRsZS1maWxsZWQge1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAuY2RzLWlubGluZS1tZXNzYWdlLWNvbnRhaW5lci50aXRsZS1maWxsZWQgLmNkcy1tZXNzYWdlLWNvbnRhaW5lcl9fdGV4dCB7XG4gICAgICBjb2xvcjogIzE3MzM1NzsgfVxuICAuY2RzLWlubGluZS1tZXNzYWdlLWNvbnRhaW5lci50aXRsZS1lbXB0eSAuY2RzLW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA4cHggMjBweDsgfVxuICAgIC5jZHMtaW5saW5lLW1lc3NhZ2UtY29udGFpbmVyLnRpdGxlLWVtcHR5IC5jZHMtbWVzc2FnZS1jb250YWluZXJfX2ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5jZHMtaW5saW5lLW1lc3NhZ2UtY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDEzOSwgMjI3LCAwLjE1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMwYjhiZTM7IH1cbiAgLmNkcy1pbmxpbmUtbWVzc2FnZS1jb250YWluZXIuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMxLCA1NSwgMTAzLCAwLjEpO1xuICAgIGNvbG9yOiAjZGYyMjU1OyB9XG4gIC5jZHMtaW5saW5lLW1lc3NhZ2UtY29udGFpbmVyLmluZm8tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjNmZjtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmNkcy1pbmxpbmUtbWVzc2FnZS1jb250YWluZXIuaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWNmMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMxNzMzNTc7IH1cbiAgLmNkcy1pbmxpbmUtbWVzc2FnZS1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0NCwgMTcyLCA5NiwgMC4xKTtcbiAgICBjb2xvcjogIzJjYWM2MDsgfVxuXG4uY2RzLWlubGluZS1tZXNzYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNkcy1pbmxpbmUtbWVzc2FnZS10aXRsZS5pbmZvLWJsdWUge1xuICAgIGNvbG9yOiAjMGI4YmUzOyB9XG4gIC5jZHMtaW5saW5lLW1lc3NhZ2UtdGl0bGU6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNkcy1tZXNzYWdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jZHMtbWVzc2FnZS1jb250YWluZXJfX2ljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDsgfVxuICAgIC5jZHMtbWVzc2FnZS1jb250YWluZXJfX2ljb24tLWluZm8ge1xuICAgICAgY29sb3I6ICMxNzMzNTc7XG4gICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2luZm8uc3ZnXCIpOyB9XG4gICAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lcl9faWNvbi0taW5mby1ibHVlIHtcbiAgICAgIGNvbG9yOiAjMTczMzU3O1xuICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9pbmZvLWJsdWUuc3ZnXCIpOyB9XG4gICAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lcl9faWNvbi0tZXJyb3Ige1xuICAgICAgY29sb3I6ICNkZjIyNTU7XG4gICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2Vycm9yLnN2Z1wiKTsgfVxuICAgIC5jZHMtbWVzc2FnZS1jb250YWluZXJfX2ljb24tLXdhcm5pbmcge1xuICAgICAgY29sb3I6ICMwYjhiZTM7XG4gICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL3dhcm5pbmcuc3ZnXCIpOyB9XG4gICAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lcl9faWNvbi0tc3VjY2VzcyB7XG4gICAgICBjb2xvcjogIzJjYWM2MDtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvc3VjY2Vzcy5zdmdcIik7IH1cbiAgLmNkcy1tZXNzYWdlLWNvbnRhaW5lcl9fdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuOjpuZy1kZWVwIHtcbiAgLyoqXHJcbiAqIENoZWNrYm94ZXNcclxuKiovXG4gIC8qKlxyXG4gKiBQcm9ncmVzcyBiYXIgYW5pbWF0aW9uc1xyXG4gKi8gfVxuXG5AZm9udC1mYWNlIHtcbiAgOjpuZy1kZWVwIHtcbiAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMVwiKTtcbiAgICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMSNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC53b2ZmPzE2MzczMzA2NTU0MjFcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnR0Zj8xNjM3MzMwNjU1NDIxXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuc3ZnPzE2MzczMzA2NTU0MjEjaWNvbnNmb250XCIpIGZvcm1hdChcInN2Z1wiKTsgfSB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHM6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIC8qIHNwZWFrOiBub25lOyBvbmx5IG5lY2Vzc2FyeSBpZiBub3QgdXNpbmcgdGhlIHByaXZhdGUgdW5pY29kZSByYW5nZSAoZmlyc3RHbHlwaCBvcHRpb24pICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtYWxsb3ctc2VuZGluZy1lbWFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwMVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtYXJyb3ctbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDAyXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDAzXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1idXR0b24tYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwNFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2FsZW5kYXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwNVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2hlY2ttYXJrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMDZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNoZWNrbWFyazI6YmVmb3JlLCA6Om5nLWRlZXAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwN1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2xpY2tkLWxvZ286YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwOFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwOVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwQVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY29sbGFwc2VkLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMEJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNvbmRpdGlvbmFsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMENcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNvcHktY29udGVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDBEXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jcmVhdGUtbGVhZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDBFXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jcmVhdGUtdGFzay1hY3Rpdml0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDBGXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jcm9zczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDEwXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1kZXNrdG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWR1cGxpY2F0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDEyXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTNcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVsbGlwc2lzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTRcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXNlbmRzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0xOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTdcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0zOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMThcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci00OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTlcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci01OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMUFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMUJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVudmVsb3BlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMUNcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVycm9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMURcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV2ZW50LWF0dGVuZGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMUVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV2ZW50LW1pc3NlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDFGXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1ldmVudC1yZWdpc3RlcmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjBcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV4cGFuZC10aXRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDIxXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1leHBvcnQtZmlsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDIyXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1leWUtY2hlY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyM1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZXllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjRcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWZhdm9yaXRlczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDI1XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyNlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZnVsbC1zY3JlZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyN1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZ3JvdXAtYW5kOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjhcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWdyb3VwLW9yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjlcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWh0bWwtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyQVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtaHRtbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJCXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1pbWFnZS1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJDXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1pbWFnZXRleHQtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyRFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtaW5ib3g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyRVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtaW5mbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJGXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1saW5rLWltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMzBcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzMVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDMyXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1tb2JpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzM1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtbW9yZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDM0XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1tb3ZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMzVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXBsYXktdmlkZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzNlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcGx1cy1pbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzN1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcG9zdGVkLXN1cnZleXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzOFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcHJldmlldy1lbWFpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDM5XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1wcmV2aWV3OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwM0FcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXByaW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwM0JcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXJlYWN0aXZhdGUtY29udGFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDNDXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1yZWZyZXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwM0RcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXJlbW92ZS1pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDNFXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1yZW1vdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzRlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcmVtb3ZlZC1mcm9tLWxpc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0MFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcmVwbGFjZS1pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQxXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zYXZlLWFzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNDJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNhdmUtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0M1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc2F2ZS10by1teS10ZW1wbGF0ZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0NFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc2F2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQ1XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zY29yZS1zdmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0NlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc2NvcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0N1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc2VuZC1zbXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0OFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc29jaWFsLWxpbmtzLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNDlcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNvY2lhbC1saW5rczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDRBXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zb2NpYWwtc2hhcmUtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0QlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZSwgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwuc29ydC1kZXNjIHNwYW46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDRDXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zb3J0LXVwOmJlZm9yZSwgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwuc29ydC1hc2Mgc3BhbjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogXCJcXEUwNERcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNwYWNlci1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDRFXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zdWJtaXR0ZWQtc3Vic2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNEZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXN1Ym1pdHRlZC1zdXJ2ZXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1MFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc3VjY2VzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDUxXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy10ZW1wbGF0ZS1saWJyYXJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNTJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXRlc3QtZW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1M1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdGVzdC1wcmV2aWV3OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNTRcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXRleHQtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1NVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdHJpYW5nbGUtZG93bjpiZWZvcmUsIC5jZHMtZW1iZWRkZWQtdHJhbnNwYXJlbnQgOjpuZy1kZWVwIC5jZHMtaWNvbjo6YmVmb3JlLCA6Om5nLWRlZXAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCAuY2RzLWljb246OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNTZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDU3XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDU4XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1OVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNUFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDVCXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1Q1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDVEXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1RVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNUZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA2MFwiOyB9XG4gIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICAvKipcclxuICAgKiBTaGFyZWQgU3R5bGVzXHJcbiAgICovXG4gICAgLyoqXHJcbiAgICogR2xvYmFsIFJvdyBTdHlsZXNcclxuICAgKi9cbiAgICAvKipcclxuICAgKiBIZWFkZXIgU3R5bGVzXHJcbiAgICovXG4gICAgLyoqXHJcbiAgICogQm9keSBTdHlsZXNcclxuICAgKi9cbiAgICAvKipcclxuICAgKiBGb290ZXIgU3R5bGVzXHJcbiAgICovIH1cbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLnZpc2libGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwuY2VsbC1zZWxlY3Rpb24gLmRhdGF0YWJsZS1ib2R5LWNlbGw6aG92ZXIsXG4gICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsLmNlbGwtc2VsZWN0aW9uIC5kYXRhdGFibGUtYm9keS1jZWxsOmhvdmVyIC5kYXRhdGFibGUtcm93LWdyb3VwIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZW1wdHktcm93IHtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMS4ycmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmxvYWRpbmctcm93IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMS4ycmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1yb3ctbGVmdCxcbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtcm93LWxlZnQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVFBQUFBQkNBWUFBQUQ1UEEvTkFBQUFGa2xFUVZRSUhXUFNrTmVTQm1KaFRRVnRiaUROQ2dBU2FnSUl1Slg4T2dBQUFBQkpSVTVFcmtKZ2dnPT0pOyB9XG4gICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtcm93LXJpZ2h0LFxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1yb3ctcmlnaHQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVFBQUFBQkNBWUFBQUQ1UEEvTkFBQUFGa2xFUVZRSTEyUFFrTmRpMVZUUTVnYlN3a0FzRFFBUkxBSUd0T1NGVUFBQUFBQkpSVTVFcmtKZ2dnPT0pOyB9XG4gICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTJhMWI1O1xuICAgICAgICBwYWRkaW5nOiA4cHggMCA4cHg7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjb2xvcjogIzE3MzM1NztcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC10ZW1wbGF0ZS13cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC10ZW1wbGF0ZS13cmFwIC5oZWFkZXItYnV0dG9uIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDIwcHg7IH1cbiAgICAgICAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwtdGVtcGxhdGUtd3JhcCAuaGVhZGVyLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC10ZW1wbGF0ZS13cmFwIC5zb3J0LWJ0biB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbDpob3Zlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5MmExYjU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbDpsYXN0LWNoaWxkIC5yZXNpemUtaGFuZGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC13cmFwcGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLmxvbmdwcmVzcyAuZHJhZ2dhYmxlOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgZWFzZSwgb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsIC5kcmFnZ2FibGU6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5kcmFnZ2luZyAucmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5zb3J0LWFzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICMyODM1NDE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnQtZGVzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICMyODM1NDE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1zY3JvbGwge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGVlNjtcbiAgICAgIHBhZGRpbmc6IDhweCAwIDhweDsgfVxuICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93LmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmVjZjA7IH1cbiAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdy1kZXRhaWwge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGwge1xuICAgICAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICMxNzMzNTc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsLWxhYmVsIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsLWxhYmVsIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbC1sYWJlbCAuaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogMjRweDsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbC1sYWJlbCAubG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDsgfVxuICAgICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbC1sYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmVtcHR5LXJvdyB7XG4gICAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMxNzMzNTc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLnByb2dyZXNzLWxpbmVhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5wcm9ncmVzcy1saW5lYXIgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWQxZjk7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAucHJvZ3Jlc3MtbGluZWFyIC5jb250YWluZXIgLmJhciB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBxdWVyeSAwLjhzIGluZmluaXRlIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICAgICAgICAgIGFuaW1hdGlvbjogcXVlcnkgMC44cyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBsaW5lYXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEwNmNjODtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogNXB4OyB9XG4gICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzE3MzM1NztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkZWU2O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4OyB9XG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3Rlcl9fcGFnZXMtaW5mbyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3RlciBidXR0b24ge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyX19maXJzdC1wYWdlIC5idG4taW1hZ2Uge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfZmlyc3RfZWxlbWVudC5zdmdcIik7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIHdpZHRoOiAxNXB4OyB9XG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3Rlcl9fcHJldi1wYWdlIC5idG4taW1hZ2Uge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfcHJldmlvdXNfZWxlbWVudC5zdmdcIik7XG4gICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgIHdpZHRoOiAxNXB4OyB9XG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3Rlcl9fbmV4dC1wYWdlIC5idG4taW1hZ2Uge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfbmV4dF9lbGVtZW50LnN2Z1wiKTtcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgd2lkdGg6IDE1cHg7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyX19sYXN0LXBhZ2UgLmJ0bi1pbWFnZSB7XG4gICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9hcnJvd19sYXN0X2VsZW1lbnQuc3ZnXCIpO1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICB3aWR0aDogMTVweDsgfVxuICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC5wYWdlLWNvdW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZzogMCAxLjJyZW07IH1cbiAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLmRhdGF0YWJsZS1pY29uLWxlZnQsXG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1za2lwLFxuICAgICAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciAuZGF0YXRhYmxlLWljb24tcmlnaHQsXG4gICAgICAgIDo6bmctZGVlcCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1wcmV2IHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAzcHg7IH1cbiAgICA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1zdW1tYXJ5LXJvdyAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIDo6bmctZGVlcCAuZGF0YXRhYmxlLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgOjpuZy1kZWVwIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHotaW5kZXg6IDA7IH1cbiAgICAgIDo6bmctZGVlcCAuZGF0YXRhYmxlLWNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J106YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzkyYTFiNTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDsgfVxuICAgICAgOjpuZy1kZWVwIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYjhiZTM7IH1cbiAgICAgIDo6bmctZGVlcCAuZGF0YXRhYmxlLWNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MmExYjU7IH1cbiAgICAgICAgOjpuZy1kZWVwIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XG4gICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAycHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGNvbG9yOiAjMGI4YmUzO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGI4YmUzO1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIDo6bmctZGVlcCAuZGF0YXRhYmxlLWNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J106YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbkBrZXlmcmFtZXMgcXVlcnkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUlKSBzY2FsZSgwLjMsIDEpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAsIDEpOyB9IH1cbiAgOjpuZy1kZWVwIGJvZHkgZWRpdG9yLW1haW4gKiwgOjpuZy1kZWVwIGJvZHkgZGlhbG9nLWNvbnRhaW5lciAqIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICA6Om5nLWRlZXAgYm9keSBlZGl0b3ItbWFpbiAqOmZvY3VzLCA6Om5nLWRlZXAgYm9keSBkaWFsb2ctY29udGFpbmVyICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1oZWFkZXIgLmQtaGVhZGVyLWhlYWRlci1jb250ZW50IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzE3MzM1NztcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtaGVhZGVyIC5kLWhlYWRlci1jbG9zZS1idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWhlYWRlciAuZC1oZWFkZXItY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMxNzMzNTc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWJvZHkgLmNkcy1ib2R5LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtYm9keSAuY2RzLWlucHV0LCA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWJvZHkgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciAuY2RzLWZvcm0taW5wdXQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtZm9ybS1pbnB1dCwgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIC5jZHMtZm9ybS1pbnB1dCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtZm9ybS1pbnB1dCwgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgLmNkcy1mb3JtLWlucHV0LW1sLTAsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtZm9ybS1pbnB1dC1tbC0wLCA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWJvZHkgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgLmNkcy1mb3JtLWlucHV0LW1sLTAsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtYm9keSAuY2RzLWZvcm0taW5wdXQtbWwtMCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1ib2R5IC5jZHMtdGFibGUtd3JhcCB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtYm9keSAuY2RzLXRhYmxlLXdyYXAgLmNkcy10YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtYm9keSAuY2RzLXRhYmxlLXdyYXAgLmNkcy10YWJsZSB0ciB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWJvZHkgLmNkcy10YWJsZS13cmFwIC5jZHMtdGFibGUgdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwcHg7IH1cbiAgICAgICAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciBkLWJvZHkgLmNkcy10YWJsZS13cmFwIC5jZHMtdGFibGUgdHIgdGQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZC1mb290ZXIuY2RzLWRpYWxvZy1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGQtZm9vdGVyLmNkcy1kaWFsb2ctZm9vdGVyIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH1cbiAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZGlhbG9nLWJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogOTk5O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgZGlhbG9nLWJhY2sgfiAqIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgLmRpYWxvZy1jb21tb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbiAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciAuZGlhbG9nLWNvbW1vbi1jb250YWluZXIgLmRpYWxvZy10b3Atc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIC5kaWFsb2ctaW5zdGFuY2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgLmRpYWxvZy1pbnN0YW5jZSA+IHNlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDE5MzY7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDQuNXB4IDAuNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIC5kaWFsb2ctaW5zdGFuY2UgPiBzZWN0aW9uLmVycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JFMUUyRDsgfVxuICAgICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgLmRpYWxvZy1pbnN0YW5jZSA+IHNlY3Rpb24ud2FybmluZyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmMDA7IH1cbiAgICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIC5kaWFsb2ctaW5zdGFuY2UgPiBzZWN0aW9uIGQtYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIC5kaWFsb2ctaW5zdGFuY2UgPiBzZWN0aW9uIC5jZHMtYm9keS1vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgICA6Om5nLWRlZXAgZGlhbG9nLWNvbnRhaW5lciAuZGlhbG9nLWluc3RhbmNlID4gc2VjdGlvbiAuY2RzLWJvZHktb3B0aW9uIC5jZHMtZGlhbG9nLWlucHV0IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC40ZW07IH1cbiAgICAgICAgOjpuZy1kZWVwIGRpYWxvZy1jb250YWluZXIgLmRpYWxvZy1pbnN0YW5jZSA+IHNlY3Rpb24gLmNkcy1ib2R5LW9wdGlvbiAuY2RzLWRpYWxvZy1pbnB1dC1sYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIDo6bmctZGVlcCBkaWFsb2ctY29udGFpbmVyIGlucHV0LWRpYWxvZyAuaW5wdXQtZGlhbG9nLWVycm9yIHtcbiAgICBjb2xvcjogI2RkMTkzOTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbkBmb250LWZhY2Uge1xuICA6Om5nLWRlZXAge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xuICAgIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxXCIpO1xuICAgIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxI2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LndvZmY/MTYzNzMzMDY1NTQyMVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQudHRmPzE2MzczMzA2NTU0MjFcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5zdmc/MTYzNzMzMDY1NTQyMSNpY29uc2ZvbnRcIikgZm9ybWF0KFwic3ZnXCIpOyB9IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkczpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLyogc3BlYWs6IG5vbmU7IG9ubHkgbmVjZXNzYXJ5IGlmIG5vdCB1c2luZyB0aGUgcHJpdmF0ZSB1bmljb2RlIHJhbmdlIChmaXJzdEdseXBoIG9wdGlvbikgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1hbGxvdy1zZW5kaW5nLWVtYWlsczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMDNcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWJ1dHRvbi1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDA0XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jYWxlbmRhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDA1XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jaGVja21hcms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwNlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY2hlY2ttYXJrMjpiZWZvcmUsIDo6bmctZGVlcCAuZGF0YXRhYmxlLWNoZWNrYm94IGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDA3XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jbGlja2QtbG9nbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDA4XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDA5XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDBBXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1jb2xsYXBzZWQtdGl0bGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwQlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY29uZGl0aW9uYWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAwQ1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtY29weS1jb250ZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMERcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNyZWF0ZS1sZWFkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNyZWF0ZS10YXNrLWFjdGl2aXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMEZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWNyb3NzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTBcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWRlc2t0b3A6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxMVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZHVwbGljYXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMTJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWVkaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxM1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZWxsaXBzaXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxNFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtc2VuZHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxNlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxN1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxOFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxOVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGUtZWRpdG9yLTU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxQVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW1haWwtdGVtcGxhdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxQlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxQ1wiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZXJyb3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxRFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZXZlbnQtYXR0ZW5kZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAxRVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZXZlbnQtbWlzc2VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMUZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV2ZW50LXJlZ2lzdGVyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyMFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZXhwYW5kLXRpdGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV4cG9ydC1maWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWV5ZS1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDIzXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyNFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZmF2b3JpdGVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMjVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWZpbHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDI2XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1mdWxsLXNjcmVlbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDI3XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1ncm91cC1hbmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyOFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtZ3JvdXAtb3I6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAyOVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtaHRtbC1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJBXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1odG1sOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMkJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWltYWdlLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMkNcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWltYWdldGV4dC1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJEXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1pbmJveDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDJFXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1pbmZvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMkZcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLWxpbmstaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzMFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDMxXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1sb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMzJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLW1vYmlsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDMzXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1tb3JlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMzRcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLW1vdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzNVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcGxheS12aWRlbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDM2XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1wbHVzLWluLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDM3XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1wb3N0ZWQtc3VydmV5czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDM4XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1wcmV2aWV3LWVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwMzlcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXByZXZpZXc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzQVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcHJpbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzQlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcmVhY3RpdmF0ZS1jb250YWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwM0NcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXJlZnJlc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTAzRFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtcmVtb3ZlLWltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwM0VcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXJlbW92ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDNGXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1yZW1vdmVkLWZyb20tbGlzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQwXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1yZXBsYWNlLWltYWdlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNDFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNhdmUtYXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0MlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc2F2ZS1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQzXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zYXZlLXRvLW15LXRlbXBsYXRlczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQ0XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zYXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNDVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNjb3JlLXN2ZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQ2XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zY29yZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQ3XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zZW5kLXNtczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDQ4XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zb2NpYWwtbGlua3MtYmxvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0OVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc29jaWFsLWxpbmtzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNEFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNvY2lhbC1zaGFyZS1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDRCXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zb3J0LWRvd246YmVmb3JlLCA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5zb3J0LWRlc2Mgc3BhbjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgY29udGVudDogXCJcXEUwNENcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlLCA6Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5zb3J0LWFzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcRTA0RFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc3BhY2VyLWJsb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNEVcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXN1Ym1pdHRlZC1zdWJzY3JpcHRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA0RlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtc3VibWl0dGVkLXN1cnZleTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDUwXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy1zdWNjZXNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNTFcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXRlbXBsYXRlLWxpYnJhcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1MlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdGVzdC1lbWFpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDUzXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy10ZXN0LXByZXZpZXc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1NFwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdGV4dC1ibG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDU1XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZSwgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCA6Om5nLWRlZXAgLmNkcy1pY29uOjpiZWZvcmUsIDo6bmctZGVlcCAuY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50IC5jZHMtaWNvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1NlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdHJpYW5nbGUtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNTdcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNThcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXVubGluay1kaXNhYmxlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDU5XCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy11bmxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1QVwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtdW5sb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNUJcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXYtc2lnbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDVDXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy12YWxpZGF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEUwNURcIjsgfVxuICA6Om5nLWRlZXAgLmljb24tY2RzLXZpZXctbGlzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDVFXCI7IH1cbiAgOjpuZy1kZWVwIC5pY29uLWNkcy12aWV3LXRodW1ibmFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcRTA1RlwiOyB9XG4gIDo6bmctZGVlcCAuaWNvbi1jZHMtd2FybmluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxFMDYwXCI7IH1cbiAgOjpuZy1kZWVwIGlucHV0LmNkcy1pbnB1dCwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0LCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgaW5wdXQuY2RzLWZvcm0taW5wdXQsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dCwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMCwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTAsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wIHtcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzE3MzM1NztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiA3cHggMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTJhMWI1O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgOjpuZy1kZWVwIGlucHV0LmNkcy1pbnB1dDpob3ZlciwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQ6aG92ZXIsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0OmhvdmVyLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgaW5wdXQuY2RzLWZvcm0taW5wdXQ6aG92ZXIsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dDpob3ZlciwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpob3ZlciwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpob3ZlciwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6aG92ZXIsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmhvdmVyLCA6Om5nLWRlZXAgaW5wdXQuY2RzLWlucHV0OmZvY3VzLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dDpmb2N1cywgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQ6Zm9jdXMsIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dDpmb2N1cywgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0OmZvY3VzLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmZvY3VzLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmZvY3VzLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpmb2N1cywgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6Zm9jdXMge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzBiOGJlMztcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICA6Om5nLWRlZXAgaW5wdXQuY2RzLWlucHV0OmRpc2FibGVkLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dDpkaXNhYmxlZCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQ6ZGlzYWJsZWQsIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dDpkaXNhYmxlZCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0OmRpc2FibGVkLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmRpc2FibGVkLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOmRpc2FibGVkLCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpkaXNhYmxlZCwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6ZGlzYWJsZWQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzkyYTFiNTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgOjpuZy1kZWVwIGlucHV0LmNkcy1pbnB1dDpyZWFkLW9ubHksIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0OnJlYWQtb25seSwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQ6cmVhZC1vbmx5LCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgaW5wdXQuY2RzLWZvcm0taW5wdXQ6cmVhZC1vbmx5LCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQ6cmVhZC1vbmx5LCA6Om5nLWRlZXAgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOnJlYWQtb25seSwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lciA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDpyZWFkLW9ubHksIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOnJlYWQtb25seSwgLmNkcy1mb3JtLWZpZWxkcy1jb250YWluZXIgLmNkcy1mb3JtLWxhYmVsLWlucHV0LWNvbnRhaW5lci1jb2wgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0LW1sLTA6cmVhZC1vbmx5IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICA6Om5nLWRlZXAgaW5wdXQuY2RzLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIGlucHV0LmNkcy1mb3JtLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgOjpuZy1kZWVwIGlucHV0LmNkcy1mb3JtLWlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dDotd2Via2l0LWF1dG9maWxsOjpmaXJzdC1saW5lLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCA6Om5nLWRlZXAgaW5wdXQuY2RzLWZvcm0taW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDo6Zmlyc3QtbGluZSwgOjpuZy1kZWVwIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXIgaW5wdXQuY2RzLWZvcm0taW5wdXQtbWwtMDotd2Via2l0LWF1dG9maWxsOjpmaXJzdC1saW5lLCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIDo6bmctZGVlcCAuY2RzLWZvcm0tZmllbGRzLWNvbnRhaW5lciAuY2RzLWZvcm0tbGFiZWwtaW5wdXQtY29udGFpbmVyLWNvbCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUsIC5jZHMtZm9ybS1maWVsZHMtY29udGFpbmVyIC5jZHMtZm9ybS1sYWJlbC1pbnB1dC1jb250YWluZXItY29sIDo6bmctZGVlcCBpbnB1dC5jZHMtZm9ybS1pbnB1dC1tbC0wOi13ZWJraXQtYXV0b2ZpbGw6OmZpcnN0LWxpbmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMTczMzU3OyB9XG4gIDo6bmctZGVlcCAuY2RzLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1cHggMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1idG46aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgOjpuZy1kZWVwIC5jZHMtYnRuOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1idG46YWN0aXZlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1idG46ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGVlNjtcbiAgICAgIGNvbG9yOiAjOTJhMWI1O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICA6Om5nLWRlZXAgLmNkcy10b2dnbGUtbWVudS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMTczMzU3O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAwcHg7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy10b2dnbGUtbWVudS1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMGI4YmUzO1xuICAgICAgY29sb3I6ICMxNzMzNTc7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIDo6bmctZGVlcCAuY2RzLWRhcmstYmx1ZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzMzNTc7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgOjpuZy1kZWVwIC5jZHMtZGFyay1ibHVlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2NThkOyB9XG4gICAgOjpuZy1kZWVwIC5jZHMtZGFyay1ibHVlLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVjODhiZjsgfVxuICAgIDo6bmctZGVlcCAuY2RzLWRhcmstYmx1ZS1idXR0b246Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNkYWRlZTY7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1kYXJrLWJsdWUtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRlZTY7XG4gICAgICBjb2xvcjogIzkyYTFiNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgOjpuZy1kZWVwIC5jZHMtbGlnaHQtYmx1ZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwYjhiZTM7XG4gICAgY29sb3I6ICMwYjhiZTM7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1saWdodC1ibHVlLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI4YmUzO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1saWdodC1ibHVlLWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBiOGJlMztcbiAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIDo6bmctZGVlcCAuY2RzLWxpZ2h0LWJsdWUtYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKDExLCAxMzksIDIyNywgMC4yKTsgfVxuICAgIDo6bmctZGVlcCAuY2RzLWxpZ2h0LWJsdWUtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRlZTY7XG4gICAgICBjb2xvcjogIzkyYTFiNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgOjpuZy1kZWVwIC5jZHMtZW1iZWRkZWQtdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMTczMzU3O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIDo6bmctZGVlcCAuY2RzLWVtYmVkZGVkLXRyYW5zcGFyZW50OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRlZTY7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudCAuY2RzLWljb246OmJlZm9yZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdpY29uc2ZvbnQnO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgY29sb3I6ICMyODM1NDE7IH1cbiAgICA6Om5nLWRlZXAgLmNkcy1lbWJlZGRlZC10cmFuc3BhcmVudDpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkZWU2O1xuICAgICAgY29sb3I6ICM5MmExYjU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gIDo6bmctZGVlcCAuY2RzLWlubGluZS10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG5cbjpob3N0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uaGVhZGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDMwcHggNDBweDsgfVxuXG4uY2RzLWRpYWxvZy1oZWFkaW5nLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG46Om5nLWRlZXAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5lbXB0eS1yb3cge1xuICBwYWRkaW5nLWxlZnQ6IDcwcHg7IH1cblxuLmNkcy1pbmxpbmUtdG9vbGJhciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDAgNDBweDsgfVxuICAuY2RzLWlubGluZS10b29sYmFyIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cblxuLnRhYmxlLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMHB4IDQwcHggMDsgfVxuICAudGFibGUtY29udGFpbmVyIG5neC1kYXRhdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7IH1cblxuLmdyaWQtbG9hZGluZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNTsgfVxuICAuZ3JpZC1sb2FkaW5nLW92ZXJsYXkgLmxvYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvbG9hZGVyX3gxMDBweC5naWYpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uaW5saW5lLW1lc3NhZ2Uge1xuICBtYXJnaW46IDIwcHggNDBweCAwOyB9XG4iLCJAaW1wb3J0ICcuLi9iYXNlL2NvbG9yLXBhbGV0dGUnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL3R5cG9ncmFwaHknO1xyXG5cclxuYm9keSB7XHJcbiAgZWRpdG9yLW1haW4gKiwgZGlhbG9nLWNvbnRhaW5lciAqIHtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5kaWFsb2ctY29udGFpbmVyIHtcclxuICBkLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICAuZC1oZWFkZXItaGVhZGVyLWNvbnRlbnQge1xyXG4gICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kLWhlYWRlci1jbG9zZS1idXR0b24ge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZC1ib2R5IHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIC5jZHMtYm9keS1oZWFkZXIge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jZHMtaW5wdXQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jZHMtdGFibGUtd3JhcCB7XHJcbiAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG5cclxuICAgICAgLmNkcy10YWJsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG5cclxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDBweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBkLWZvb3Rlci5jZHMtZGlhbG9nLWZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgICBidXR0b24ge1xyXG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkaWFsb2ctYmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJiB+ICoge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRpYWxvZy1jb21tb24tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcclxuXHJcbiAgICAuZGlhbG9nLXRvcC1zZWN0aW9uIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kaWFsb2ctaW5zdGFuY2Uge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgPiBzZWN0aW9uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDE5MzY7XHJcbiAgICAgIHdpZHRoOiA1MDBweDtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0LjVweCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG4gICAgICAmLmVycm9yIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQkUxRTJEO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmMDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGQtYm9keSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2RzLWJvZHktb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcblxyXG4gICAgICAgIC5jZHMtZGlhbG9nLWlucHV0IHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjRlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jZHMtZGlhbG9nLWlucHV0LWxhYmVsIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0LWRpYWxvZyB7XHJcbiAgICAuaW5wdXQtZGlhbG9nLWVycm9yIHtcclxuICAgICAgY29sb3I6ICNkZDE5Mzk7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs/Subscription';\r\n\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {\r\n AccountService, DialogCloseReason, DialogService, IDialogHandle, IDialogOnClose, InlineMessageType, TitleFillStatus\r\n} from '@clickd-angular/common-lib';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ColumnMode, SelectionType } from '@swimlane/ngx-datatable';\r\nimport { EM1 } from '../../app.interfaces';\r\nimport {\r\n SegmentationMembersService, SegmentationMembersState\r\n} from '../segmentation-members.service';\r\n\r\n@Component({\r\n selector: 'app-grid',\r\n templateUrl: './grid.component.html',\r\n styleUrls: ['./grid.component.scss']\r\n})\r\nexport class GridComponent implements OnInit, OnDestroy {\r\n clickListener : number = 0;\r\n columnName : string = null;\r\n ascOrDesc : string = null;\r\n pageSize: number = 20;\r\n accountKeyy: string = \"atJrdi7f2EmJ0ZgoMyj97A\";\r\n segmentId: string = \"C31FB576-8311-ED11-B83D-0022481D679B\"\r\n pageId: number = 1;\r\n totalElements: number = 0;\r\n offsetFirstItem: number = 0;\r\n offsetLastItem: number = 0;\r\n currentPageIndex: number = 0;\r\n totalPages: number = 0;\r\n maxRows: number = 0;\r\n maxPages: number = 0;\r\n selected: EM1[\"leads\"];\r\n errorLogURL: string;\r\n\r\n ColumnMode = ColumnMode;\r\n SelectionType = SelectionType;\r\n \r\n\r\n private storeSubscription: Subscription;\r\n connectorsList$: Observable;\r\n connectorsAreLoading$: Observable;\r\n\r\n TitleFillStatus = TitleFillStatus;\r\n InlineMessageType = InlineMessageType;\r\n isMessageShown: boolean;\r\n isSuccess: boolean;\r\n isCreate: boolean;\r\n isUpdate: boolean;\r\n connectorName: string;\r\n connectorType: string;\r\n isReInitRequired: boolean;\r\n existingConnectors: EM1[\"leads\"];\r\n\r\n \r\n\r\n constructor(\r\n public emService: SegmentationMembersService,\r\n private router: Router,\r\n private rout: ActivatedRoute,\r\n private accountService: AccountService,\r\n private dialogService: DialogService,\r\n private translate: TranslateService,\r\n private route: ActivatedRoute\r\n ) {\r\n this.storeSubscription = emService.state$.subscribe();\r\n this.connectorsList$ = this.emService.state$.pipe(\r\n map((state: SegmentationMembersState) => {\r\n if (state.connectors) {\r\n this.totalElements = state.totalElements;\r\n this.calculateItemOffsets();\r\n\r\n state.connectors.forEach((i) => {\r\n i.updated = i.updated\r\n ? new Date(i.updated).toLocaleDateString()\r\n : '';\r\n i.createdOn = i.createdOn\r\n ? new Date(i.createdOn).toLocaleDateString()\r\n : '';\r\n });\r\n }\r\n this.existingConnectors = state.connectors;\r\n\r\n return state.connectors;\r\n })\r\n );\r\n\r\n this.connectorsAreLoading$ = this.emService.state$.pipe(\r\n map((state: SegmentationMembersState) => {\r\n return state.isLoadingConnectors;\r\n })\r\n );\r\n\r\n if (this.pageSize > 0) {\r\n this.totalPages = Math.floor(this.totalElements / this.pageSize);\r\n } else {\r\n this.totalPages = 0;\r\n }\r\n this.selected = [];\r\n\r\n rout.queryParams.subscribe((queryParam) => {\r\n this.connectorType = queryParam.connectorType;\r\n this.connectorName = queryParam.connectorName;\r\n\r\n if (queryParam.connectorName && queryParam.connectorType) {\r\n this.isCreate = true;\r\n this.isSuccess = true;\r\n this.isMessageShown = true;\r\n }\r\n if (!this.accountService.accountKey) {\r\n this.accountService.accountKey = queryParam.accountKey;\r\n }\r\n });\r\n\r\n const extras = this.router.getCurrentNavigation().extras.state;\r\n if (extras) {\r\n this.isMessageShown = extras.isMessageShown;\r\n this.isSuccess = extras.isSuccess;\r\n this.isCreate = extras.isCreate;\r\n this.isUpdate = extras.isUpdate;\r\n this.connectorName = extras.connectorName;\r\n this.connectorType = extras.connectorType;\r\n this.isReInitRequired = extras.isReInitRequired;\r\n\r\n if (!this.accountService.accountKey) {\r\n this.accountService.accountKey = extras.accountKey;\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.accountKeyy = this.route.snapshot.queryParamMap.get('accountKey');\r\n //this.segmentId = this.route.snapshot.queryParamMap.get('segmentId');\r\n this.emService.getConnectors(this.accountKeyy, this.segmentId, this.pageSize, this.pageId,this.columnName, this.ascOrDesc);\r\n }\r\n\r\n get selectedCount(): number {\r\n if (!this.selected) {\r\n return 0;\r\n }\r\n return this.selected.length;\r\n }\r\n\r\n singleSelectCheck(row: any) {\r\n return this.selected.indexOf(row) === -1;\r\n }\r\n\r\n\r\n\r\n cantPageBackward(): boolean {\r\n return this.currentPageIndex === 0;\r\n }\r\n\r\n cantPageForward(): boolean {\r\n return this.currentPageIndex + 1 === this.totalPages;\r\n }\r\n\r\n pageToFirst() {\r\n this.currentPageIndex = 0;\r\n this.pageId = 1;\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, this.pageId, this.columnName, this.ascOrDesc);\r\n this.calculateItemOffsets();\r\n }\r\n\r\n pageBackward() {\r\n this.currentPageIndex--;\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, --this.pageId, this.columnName, this.ascOrDesc);\r\n this.calculateItemOffsets();\r\n }\r\n\r\n pageForwardToNext() {\r\n this.currentPageIndex++;\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, ++this.pageId ,this.columnName, this.ascOrDesc);\r\n this.calculateItemOffsets();\r\n }\r\n\r\n pageToLast() {\r\n this.currentPageIndex = this.totalPages - 1;\r\n this.pageId = this.totalPages;\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, this.pageId, this.columnName, this.ascOrDesc);\r\n this.calculateItemOffsets();\r\n }\r\n\r\n private calculateItemOffsets() {\r\n if (this.totalElements > 0 && this.pageSize > 0) {\r\n this.offsetFirstItem = this.currentPageIndex * this.pageSize + 1;\r\n const maxRows = Math.max(this.totalElements, 1);\r\n const offsetLastItems = (this.currentPageIndex + 1) * this.pageSize;\r\n this.offsetLastItem = Math.min(offsetLastItems, this.totalElements);\r\n this.totalPages = Math.ceil(maxRows / this.pageSize);\r\n }\r\n }\r\n setOrderBy(name: string) {\r\n this.clickListener ++;\r\n if(this.columnName != name){\r\n this.clickListener = 0;\r\n }\r\n if(this.clickListener %2==0 || this.clickListener == 0){\r\n this.ascOrDesc = 'ASC';\r\n }else{\r\n this.ascOrDesc = 'DESC';\r\n }\r\n\r\n this.columnName = name;\r\n // console.log(this.columnName + \" \"+ this.clickListener + \" \"+ this.ascOrDesc);\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, this.pageId, this.columnName, this.ascOrDesc);\r\n //refresh page \r\n }\r\n\r\n refreshPage() {\r\n this.emService.getConnectors(this.accountKeyy,this.segmentId, this.pageSize, this.pageId, this.columnName, this.ascOrDesc);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.storeSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport * as URI from 'uri-js';\r\n\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { environment } from '../../environments/environment';\r\nimport { EM1 } from '../app.interfaces';\r\n\r\nexport enum EMStatus {\r\n Connectors,\r\n CreateConnector,\r\n}\r\n\r\nexport class ReAuthResponse {\r\n isSuccessful: boolean;\r\n apiToken: string;\r\n}\r\n\r\nexport class AuthorizationUrl {\r\n url: string;\r\n}\r\n\r\nexport class UpdateResponse {\r\n result: boolean;\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class SegmentationMembersApi {\r\n baseUrl: string;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n this.baseUrl = URI.resolve(\r\n environment.segmentationMembersApiUrl,\r\n 'segment/'\r\n );\r\n }\r\n\r\n getConnectors(accountKey: string, segmentId:string, pageSize: number, pageId: number, columnName:string, ascOrDesc:string ): Observable {\r\n let url = URI.resolve(this.baseUrl, `list/${accountKey}/${segmentId}/`);\r\n url += `?pageSize=${pageSize}`;\r\n url += `&pageId=${pageId}`;\r\n if(!(columnName === null) ||!( ascOrDesc === null) ){\r\n url += `&orderBy=${columnName}`;\r\n url += `&sort=${ascOrDesc}`;\r\n }\r\n \r\n return this.httpClient.get(url);\r\n }\r\n}\r\n\r\n","export default \"@import url(\\\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap\\\");\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before, .datatable-checkbox input[type='checkbox']:checked:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before, .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before, .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\n.cds-main-nav-bar {\\n background-color: #002050;\\n padding-left: 17px;\\n padding-right: 17px;\\n width: 100%; }\\n.cds-main-nav-bar .cds-nav-item {\\n display: inline-block;\\n vertical-align: top;\\n color: #fff;\\n height: 40px;\\n font-family: \\\"Segoe UI\\\";\\n font-size: 14px;\\n line-height: 40px;\\n padding: 0 20px; }\\n.cds-main-nav-bar .cds-logo-holder {\\n padding: 0;\\n font-size: 20px; }\\n.cds-main-nav-bar .cds-logo-text {\\n font-size: 17px;\\n padding-left: 10px; }\\n.cds-main-nav-bar .cds-nav-divider {\\n display: inline-block;\\n box-sizing: border-box;\\n height: 20px;\\n margin-top: 10px;\\n width: 2px;\\n background-color: #FFFFFF; }\\n.cds-dialog-content {\\n padding: 30px 40px;\\n min-height: 550px;\\n height: calc(100% - 70px); }\\n.settings-section {\\n margin-top: 35px; }\\n.settings-title-wrapper {\\n margin-bottom: 12px; }\\n.cds-field-label-name {\\n height: 26px;\\n color: #444444;\\n font-family: \\\"Segoe UI\\\";\\n font-size: 12px;\\n line-height: 26px; }\\n.settings-important-note {\\n background-color: rgba(17, 96, 183, 0.1);\\n padding: 10px;\\n margin-bottom: 30px; }\\n.settings-important-note__inner {\\n margin: 0;\\n color: #444444;\\n font-family: \\\"Segoe UI\\\";\\n font-size: 12px;\\n line-height: 16px; }\\n.settings-important-note__text {\\n font-weight: 600; }\\n.cds-link {\\n color: #1160b7;\\n text-decoration: none;\\n cursor: pointer; }\\n.cds-link.disabled {\\n pointer-events: none;\\n cursor: default;\\n opacity: 0.5;\\n color: #1160B7;\\n text-decoration: none; }\\n.cds-dialog-footer {\\n height: 46px;\\n background-color: #F8F8F8;\\n padding: 10px 30px;\\n box-sizing: border-box;\\n position: absolute;\\n bottom: 0;\\n left: 0;\\n right: 0; }\\n.cds-dialog-footer .footer-btn {\\n box-sizing: border-box;\\n height: 24px;\\n width: 84px;\\n float: right; }\\n.cds-required:after {\\n content: '*';\\n display: inline-block;\\n vertical-align: top;\\n color: red; }\\n.cds-input-container input {\\n color: #4f545b;\\n box-shadow: none;\\n line-height: 18px;\\n box-sizing: border-box;\\n border: none;\\n background-color: transparent;\\n min-height: 24px;\\n font-size: 12px;\\n display: inline-block;\\n width: 100%;\\n padding-left: 5px;\\n font-family: \\\"Segoe UI\\\"; }\\n.cds-input-container input:hover {\\n background: #f3f1f1;\\n border: 1px solid #ccc;\\n box-shadow: 1px 1px 2px #ccc;\\n transition-delay: 0s; }\\n.cds-checkbox-container {\\n display: table;\\n margin-bottom: 7px; }\\n.cds-checkbox-container .cds-checkbox {\\n margin-right: 8px;\\n display: table-cell;\\n height: 18px;\\n width: 18px;\\n background: url(/assets/images/checkbox-empty.svg) no-repeat;\\n margin: 0 3px 0 0; }\\n.cds-checkbox-container .cds-checkbox input {\\n visibility: hidden; }\\n.cds-checkbox-container .cds-checkbox.checked {\\n background: url(/assets/images/checkbox-checked.svg) no-repeat; }\\n.cds-checkbox-container .cds-checkbox-value {\\n display: table-cell;\\n padding-left: 8px;\\n vertical-align: top;\\n line-height: 17px;\\n font-weight: 600;\\n font-size: 12px;\\n color: #444444; }\\n.settings-items-wrapper .field-wrapper .cds-field-label-name {\\n display: table-cell;\\n margin-right: 10px;\\n max-width: 180px;\\n width: 180px; }\\n.settings-items-wrapper .field-wrapper .settings-item-value {\\n display: table-cell;\\n max-width: 450px;\\n width: 450px; }\\n@font-face {\\n font-family: \\\"iconsfont\\\";\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421\\\");\\n src: url(\\\"/assets/fonts/iconsfont/iconsfont.eot?1637330655421#iefix\\\") format(\\\"eot\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.woff?1637330655421\\\") format(\\\"woff\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.ttf?1637330655421\\\") format(\\\"truetype\\\"), url(\\\"/assets/fonts/iconsfont/iconsfont.svg?1637330655421#iconsfont\\\") format(\\\"svg\\\"); }\\n.icon-cds:before {\\n font-family: \\\"iconsfont\\\";\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n font-style: normal;\\n font-variant: normal;\\n font-weight: normal;\\n /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */\\n text-decoration: none;\\n text-transform: none; }\\n.icon-cds-allow-sending-emails:before {\\n content: \\\"\\\\E001\\\"; }\\n.icon-cds-arrow-left:before {\\n content: \\\"\\\\E002\\\"; }\\n.icon-cds-arrow-right:before {\\n content: \\\"\\\\E003\\\"; }\\n.icon-cds-button-block:before {\\n content: \\\"\\\\E004\\\"; }\\n.icon-cds-calendar:before {\\n content: \\\"\\\\E005\\\"; }\\n.icon-cds-checkmark:before {\\n content: \\\"\\\\E006\\\"; }\\n.icon-cds-checkmark2:before, .datatable-checkbox input[type='checkbox']:checked:before {\\n content: \\\"\\\\E007\\\"; }\\n.icon-cds-clickd-logo:before {\\n content: \\\"\\\\E008\\\"; }\\n.icon-cds-clock:before {\\n content: \\\"\\\\E009\\\"; }\\n.icon-cds-close:before {\\n content: \\\"\\\\E00A\\\"; }\\n.icon-cds-collapsed-title:before {\\n content: \\\"\\\\E00B\\\"; }\\n.icon-cds-conditional:before {\\n content: \\\"\\\\E00C\\\"; }\\n.icon-cds-copy-content:before {\\n content: \\\"\\\\E00D\\\"; }\\n.icon-cds-create-lead:before {\\n content: \\\"\\\\E00E\\\"; }\\n.icon-cds-create-task-activity:before {\\n content: \\\"\\\\E00F\\\"; }\\n.icon-cds-cross:before {\\n content: \\\"\\\\E010\\\"; }\\n.icon-cds-desktop:before {\\n content: \\\"\\\\E011\\\"; }\\n.icon-cds-duplicate:before {\\n content: \\\"\\\\E012\\\"; }\\n.icon-cds-edit:before {\\n content: \\\"\\\\E013\\\"; }\\n.icon-cds-ellipsis:before {\\n content: \\\"\\\\E014\\\"; }\\n.icon-cds-email-sends:before {\\n content: \\\"\\\\E015\\\"; }\\n.icon-cds-email-template-editor-1:before {\\n content: \\\"\\\\E016\\\"; }\\n.icon-cds-email-template-editor-2:before {\\n content: \\\"\\\\E017\\\"; }\\n.icon-cds-email-template-editor-3:before {\\n content: \\\"\\\\E018\\\"; }\\n.icon-cds-email-template-editor-4:before {\\n content: \\\"\\\\E019\\\"; }\\n.icon-cds-email-template-editor-5:before {\\n content: \\\"\\\\E01A\\\"; }\\n.icon-cds-email-template:before {\\n content: \\\"\\\\E01B\\\"; }\\n.icon-cds-envelope:before {\\n content: \\\"\\\\E01C\\\"; }\\n.icon-cds-error:before {\\n content: \\\"\\\\E01D\\\"; }\\n.icon-cds-event-attended:before {\\n content: \\\"\\\\E01E\\\"; }\\n.icon-cds-event-missed:before {\\n content: \\\"\\\\E01F\\\"; }\\n.icon-cds-event-registered:before {\\n content: \\\"\\\\E020\\\"; }\\n.icon-cds-expand-title:before {\\n content: \\\"\\\\E021\\\"; }\\n.icon-cds-export-file:before {\\n content: \\\"\\\\E022\\\"; }\\n.icon-cds-eye-check:before {\\n content: \\\"\\\\E023\\\"; }\\n.icon-cds-eye:before {\\n content: \\\"\\\\E024\\\"; }\\n.icon-cds-favorites:before {\\n content: \\\"\\\\E025\\\"; }\\n.icon-cds-filter:before {\\n content: \\\"\\\\E026\\\"; }\\n.icon-cds-full-screen:before {\\n content: \\\"\\\\E027\\\"; }\\n.icon-cds-group-and:before {\\n content: \\\"\\\\E028\\\"; }\\n.icon-cds-group-or:before {\\n content: \\\"\\\\E029\\\"; }\\n.icon-cds-html-block:before {\\n content: \\\"\\\\E02A\\\"; }\\n.icon-cds-html:before {\\n content: \\\"\\\\E02B\\\"; }\\n.icon-cds-image-block:before {\\n content: \\\"\\\\E02C\\\"; }\\n.icon-cds-imagetext-block:before {\\n content: \\\"\\\\E02D\\\"; }\\n.icon-cds-inbox:before {\\n content: \\\"\\\\E02E\\\"; }\\n.icon-cds-info:before {\\n content: \\\"\\\\E02F\\\"; }\\n.icon-cds-link-image:before {\\n content: \\\"\\\\E030\\\"; }\\n.icon-cds-link:before {\\n content: \\\"\\\\E031\\\"; }\\n.icon-cds-lock:before {\\n content: \\\"\\\\E032\\\"; }\\n.icon-cds-mobile:before {\\n content: \\\"\\\\E033\\\"; }\\n.icon-cds-more:before {\\n content: \\\"\\\\E034\\\"; }\\n.icon-cds-move:before {\\n content: \\\"\\\\E035\\\"; }\\n.icon-cds-play-video:before {\\n content: \\\"\\\\E036\\\"; }\\n.icon-cds-plus-in-circle:before {\\n content: \\\"\\\\E037\\\"; }\\n.icon-cds-posted-surveys:before {\\n content: \\\"\\\\E038\\\"; }\\n.icon-cds-preview-email:before {\\n content: \\\"\\\\E039\\\"; }\\n.icon-cds-preview:before {\\n content: \\\"\\\\E03A\\\"; }\\n.icon-cds-print:before {\\n content: \\\"\\\\E03B\\\"; }\\n.icon-cds-reactivate-contact:before {\\n content: \\\"\\\\E03C\\\"; }\\n.icon-cds-refresh:before {\\n content: \\\"\\\\E03D\\\"; }\\n.icon-cds-remove-image:before {\\n content: \\\"\\\\E03E\\\"; }\\n.icon-cds-remove:before {\\n content: \\\"\\\\E03F\\\"; }\\n.icon-cds-removed-from-list:before {\\n content: \\\"\\\\E040\\\"; }\\n.icon-cds-replace-image:before {\\n content: \\\"\\\\E041\\\"; }\\n.icon-cds-save-as:before {\\n content: \\\"\\\\E042\\\"; }\\n.icon-cds-save-close:before {\\n content: \\\"\\\\E043\\\"; }\\n.icon-cds-save-to-my-templates:before {\\n content: \\\"\\\\E044\\\"; }\\n.icon-cds-save:before {\\n content: \\\"\\\\E045\\\"; }\\n.icon-cds-score-svg:before {\\n content: \\\"\\\\E046\\\"; }\\n.icon-cds-score:before {\\n content: \\\"\\\\E047\\\"; }\\n.icon-cds-send-sms:before {\\n content: \\\"\\\\E048\\\"; }\\n.icon-cds-social-links-block:before {\\n content: \\\"\\\\E049\\\"; }\\n.icon-cds-social-links:before {\\n content: \\\"\\\\E04A\\\"; }\\n.icon-cds-social-share-block:before {\\n content: \\\"\\\\E04B\\\"; }\\n.icon-cds-sort-down:before, .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n content: \\\"\\\\E04C\\\"; }\\n.icon-cds-sort-up:before, .ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n content: \\\"\\\\E04D\\\"; }\\n.icon-cds-spacer-block:before {\\n content: \\\"\\\\E04E\\\"; }\\n.icon-cds-submitted-subscription:before {\\n content: \\\"\\\\E04F\\\"; }\\n.icon-cds-submitted-survey:before {\\n content: \\\"\\\\E050\\\"; }\\n.icon-cds-success:before {\\n content: \\\"\\\\E051\\\"; }\\n.icon-cds-template-library:before {\\n content: \\\"\\\\E052\\\"; }\\n.icon-cds-test-email:before {\\n content: \\\"\\\\E053\\\"; }\\n.icon-cds-test-preview:before {\\n content: \\\"\\\\E054\\\"; }\\n.icon-cds-text-block:before {\\n content: \\\"\\\\E055\\\"; }\\n.icon-cds-triangle-down:before {\\n content: \\\"\\\\E056\\\"; }\\n.icon-cds-triangle-right-bottom:before {\\n content: \\\"\\\\E057\\\"; }\\n.icon-cds-triangle-right:before {\\n content: \\\"\\\\E058\\\"; }\\n.icon-cds-unlink-disabled:before {\\n content: \\\"\\\\E059\\\"; }\\n.icon-cds-unlink:before {\\n content: \\\"\\\\E05A\\\"; }\\n.icon-cds-unlock:before {\\n content: \\\"\\\\E05B\\\"; }\\n.icon-cds-v-sign:before {\\n content: \\\"\\\\E05C\\\"; }\\n.icon-cds-validation:before {\\n content: \\\"\\\\E05D\\\"; }\\n.icon-cds-view-list:before {\\n content: \\\"\\\\E05E\\\"; }\\n.icon-cds-view-thumbnails:before {\\n content: \\\"\\\\E05F\\\"; }\\n.icon-cds-warning:before {\\n content: \\\"\\\\E060\\\"; }\\n.ngx-datatable.material {\\n display: flex;\\n overflow: auto;\\n height: 100%;\\n width: 100%;\\n justify-content: unset;\\n /**\\r\\n * Shared Styles\\r\\n */\\n /**\\r\\n * Global Row Styles\\r\\n */\\n /**\\r\\n * Header Styles\\r\\n */\\n /**\\r\\n * Body Styles\\r\\n */\\n /**\\r\\n * Footer Styles\\r\\n */ }\\n.ngx-datatable.material .visible {\\n display: flex;\\n flex-direction: column; }\\n.ngx-datatable.material.cell-selection .datatable-body-cell:hover,\\n .ngx-datatable.material.cell-selection .datatable-body-cell:hover .datatable-row-group {\\n transition-property: background;\\n transition-duration: 0.3s;\\n transition-timing-function: linear; }\\n.ngx-datatable.material .empty-row {\\n height: 50px;\\n text-align: left;\\n padding: 0.5rem 1.2rem;\\n vertical-align: top;\\n border-top: 0; }\\n.ngx-datatable.material .loading-row {\\n text-align: left;\\n padding: 0.5rem 1.2rem;\\n vertical-align: top;\\n border-top: 0; }\\n.ngx-datatable.material .datatable-header .datatable-row-left,\\n .ngx-datatable.material .datatable-body .datatable-row-left {\\n background-position: 100% 0;\\n background-repeat: repeat-y;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQIHWPSkNeSBmJhTQVtbiDNCgASagIIuJX8OgAAAABJRU5ErkJggg==); }\\n.ngx-datatable.material .datatable-header .datatable-row-right,\\n .ngx-datatable.material .datatable-body .datatable-row-right {\\n background-position: 0 0;\\n background-repeat: repeat-y;\\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABCAYAAAD5PA/NAAAAFklEQVQI12PQkNdi1VTQ5gbSwkAsDQARLAIGtOSFUAAAAABJRU5ErkJggg==); }\\n.ngx-datatable.material .datatable-header {\\n height: auto !important;\\n overflow: visible; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner {\\n border-bottom: 1px solid #92a1b5;\\n padding: 8px 0 8px; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 700;\\n font-size: 14px;\\n color: #173357;\\n line-height: 30px;\\n padding-left: 15px;\\n align-self: center;\\n min-height: 30px; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n height: 30px; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .header-button {\\n margin: auto 20px; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .header-button:hover {\\n cursor: pointer; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-template-wrap .sort-btn {\\n display: none; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:hover:not(:first-child) {\\n cursor: pointer; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:not(:last-child) {\\n border-right: 1px solid #92a1b5; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell:last-child .resize-handle {\\n display: none; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell-wrapper {\\n position: relative; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.longpress .draggable::after {\\n transition: transform 400ms ease, opacity 400ms ease;\\n opacity: 0.5;\\n transform: scale(1); }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell .draggable::after {\\n content: ' ';\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n margin: -30px 0 0 -30px;\\n height: 60px;\\n width: 60px;\\n background: #eee;\\n border-radius: 100%;\\n opacity: 1;\\n -webkit-filter: none;\\n filter: none;\\n transform: scale(0);\\n z-index: 9999;\\n pointer-events: none; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.dragging .resize-handle {\\n border-right: none; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-asc span:first-child:after {\\n margin-left: 14px;\\n color: #283541;\\n font-family: \\\"iconsfont\\\";\\n font-size: 14px;\\n position: absolute; }\\n.ngx-datatable.material .datatable-header .datatable-header-inner .datatable-header-cell.sort-desc span:first-child:after {\\n margin-left: 14px;\\n color: #283541;\\n font-family: \\\"iconsfont\\\";\\n font-size: 14px;\\n position: absolute; }\\n.ngx-datatable.material .datatable-body .datatable-scroll {\\n width: auto !important; }\\n.ngx-datatable.material .datatable-body .datatable-body-row {\\n border-bottom: 1px solid #dadee6;\\n padding: 8px 0 8px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row.active {\\n background-color: #ebecf0; }\\n.ngx-datatable.material .datatable-body .datatable-body-row-detail {\\n padding: 10px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n font-size: 14px;\\n color: #173357;\\n line-height: 30px;\\n padding-left: 15px;\\n padding-right: 15px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label {\\n height: 100%;\\n display: flex;\\n align-items: center; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label img {\\n margin-top: auto;\\n margin-bottom: auto;\\n margin-right: 10px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label .icon {\\n width: 24px;\\n height: 24px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label .logo {\\n width: 30px;\\n height: 30px; }\\n.ngx-datatable.material .datatable-body .datatable-body-row .datatable-body-cell-label span {\\n align-self: center; }\\n.ngx-datatable.material .datatable-body .empty-row {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n color: #173357;\\n font-size: 14px;\\n line-height: 24px; }\\n.ngx-datatable.material .datatable-body .progress-linear {\\n display: block;\\n width: 100%;\\n height: 5px;\\n padding: 0;\\n margin: 0;\\n position: absolute; }\\n.ngx-datatable.material .datatable-body .progress-linear .container {\\n display: block;\\n position: relative;\\n overflow: hidden;\\n width: 100%;\\n height: 5px;\\n transform: translate(0, 0) scale(1, 1);\\n background-color: #aad1f9; }\\n.ngx-datatable.material .datatable-body .progress-linear .container .bar {\\n transition: all 0.2s linear;\\n animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);\\n transition: transform 0.2s linear;\\n background-color: #106cc8;\\n position: absolute;\\n left: 0;\\n top: 0;\\n bottom: 0;\\n width: 100%;\\n height: 5px; }\\n.ngx-datatable.material .datatable-footer {\\n font-family: 'Open Sans', sans-serif;\\n font-weight: 400;\\n align-self: flex-end;\\n margin-top: auto;\\n font-size: 14px;\\n color: #173357;\\n border-top: 1px solid #dadee6;\\n overflow: visible; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer {\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n margin: 0 20px; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer__pages-info {\\n margin-left: 20px;\\n margin-right: 20px; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer button {\\n border: none;\\n outline: none;\\n background: transparent; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer button:hover {\\n cursor: pointer; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer__first-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_first_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer__prev-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_previous_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer__next-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_next_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n.ngx-datatable.material .datatable-footer .table-custom-footer__last-page .btn-image {\\n content: url(\\\"/assets/common-lib/images/arrow_last_element.svg\\\");\\n height: 12px;\\n width: 15px; }\\n.ngx-datatable.material .datatable-footer .page-count {\\n line-height: 50px;\\n height: 50px;\\n padding: 0 1.2rem; }\\n.ngx-datatable.material .datatable-footer .datatable-pager {\\n margin: 0 10px; }\\n.ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-left,\\n .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-skip,\\n .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-right,\\n .ngx-datatable.material .datatable-footer .datatable-pager .datatable-icon-prev {\\n font-size: 20px;\\n line-height: 20px;\\n padding: 0 3px; }\\n.ngx-datatable.material .datatable-summary-row .datatable-body-row .datatable-body-cell {\\n font-weight: bold; }\\n/**\\r\\n * Checkboxes\\r\\n**/\\n.datatable-checkbox {\\n display: flex;\\n align-items: center;\\n margin: 0; }\\n.datatable-checkbox input[type='checkbox'] {\\n position: relative;\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n z-index: 0; }\\n.datatable-checkbox input[type='checkbox']:before {\\n content: '';\\n position: absolute;\\n left: 0;\\n z-index: 1;\\n background-color: #ffffff;\\n border: 1px solid #92a1b5;\\n width: 20px;\\n height: 20px; }\\n.datatable-checkbox input[type='checkbox']:hover:before {\\n border-color: #0b8be3; }\\n.datatable-checkbox input[type='checkbox']:checked {\\n border: 1px solid #92a1b5; }\\n.datatable-checkbox input[type='checkbox']:checked:before {\\n font-family: \\\"iconsfont\\\";\\n font-size: 11px;\\n padding: 4px 2px;\\n text-align: center;\\n color: #0b8be3;\\n background-color: #ffffff;\\n border-color: #0b8be3;\\n transition: none; }\\n.datatable-checkbox input[type='checkbox']:after {\\n content: '';\\n position: absolute;\\n background: #fff; }\\n/**\\r\\n * Progress bar animations\\r\\n */\\n@keyframes query {\\n 0% {\\n opacity: 1;\\n transform: translateX(35%) scale(0.3, 1); }\\n 100% {\\n opacity: 0;\\n transform: translateX(-50%) scale(0, 1); } }\\n:host {\\n position: absolute;\\n top: 0;\\n bottom: 0;\\n right: 0;\\n left: 0;\\n display: flex;\\n flex-direction: column;\\n align-items: stretch; }\\n:host .outlet-container {\\n height: 100%; }\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXHN0eWxlc1xcYW5zaWJsZS10aGVtZVxcYmFzZVxcdHlwb2dyYXBoeS5zY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvQzpcXGFcXDFcXHMvcHJvamVjdHNcXGNvbW1vbi1saWJcXHNyY1xcYXNzZXRzXFxmb250c1xcaWNvbnNmb250XFxpY29uc2ZvbnQuY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvQzpcXGFcXDFcXHMvcHJvamVjdHNcXHNlZ21lbnRhdGlvblxcc3JjXFxhcHBcXHN0eWxlc1xcX2NsaWNrZC1zZXR0aW5ncy1hbnNpYmxlLXRoZW1lLnNjc3MiLCJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9zZWdtZW50YXRpb24tbWVtYmVycy9DOlxcYVxcMVxccy9wcm9qZWN0c1xccGFnZXNcXHNyY1xcYXBwXFxzdHlsZXNcXF9jb2xvcnMuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxjb21tb24tbGliXFxzcmNcXHN0eWxlc1xcYW5zaWJsZS10aGVtZVxcY29tcG9uZW50c1xcc3dpbWxhbmUtbmd4LWRhdGF0YWJsZS5zY3NzIiwicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvc2VnbWVudGF0aW9uLW1lbWJlcnMuY29tcG9uZW50LnNjc3MiLCJwcm9qZWN0cy9zZWdtZW50YXRpb24vc3JjL2FwcC9zZWdtZW50YXRpb24tbWVtYmVycy9DOlxcYVxcMVxccy9wcm9qZWN0c1xcY29tbW9uLWxpYlxcc3JjXFxzdHlsZXNcXGFuc2libGUtdGhlbWVcXGJhc2VcXGNvbG9yLXBhbGV0dGUuc2NzcyIsInByb2plY3RzL3NlZ21lbnRhdGlvbi9zcmMvYXBwL3NlZ21lbnRhdGlvbi1tZW1iZXJzL0M6XFxhXFwxXFxzL3Byb2plY3RzXFxzZWdtZW50YXRpb25cXHNyY1xcYXBwXFxzZWdtZW50YXRpb24tbWVtYmVyc1xcc2VnbWVudGF0aW9uLW1lbWJlcnMuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0Esb0pBQVk7QUNIWjtFQUNDLHdCQUF3QjtFQUN4QiwrREFBK0Q7RUFDL0Qsa1VBR21GLEVBQUE7QUFHcEY7RUFDQyx3QkFBd0I7RUFDdkIsbUNBQW1DO0VBQ25DLGtDQUFrQztFQUNuQyxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQiwyRkFBQTtFQUNBLHFCQUFxQjtFQUNyQixvQkFBb0IsRUFBQTtBQUlyQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFB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Q0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JBQWdCLEVBQUE7QUFHakI7RUFDQyxnQkFBZ0IsRUFBQTtBQUdqQjtFQUNDLGdCQUFnQixFQUFBO0FBR2pCO0VBQ0MsZ0JB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RTtRQUNoRSxZQUFZO1FBQ1osV0FBVyxFQUFBO0FBeFdyQjtNQStXTSxpQkFBaUI7TUFDakIsWUFBWTtNQUNaLGlCQUFpQixFQUFBO0FBalh2QjtNQXFYTSxjQUFjLEVBQUE7QUFyWHBCOzs7O1FBMlhRLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYyxFQUFBO0FBN1h0QjtJQTRZUSxpQkFBaUIsRUFBQTtBQU96Qjs7RUN1a0JFO0FEcGtCRjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsU0FBUyxFQUFBO0FBSFg7SUFNSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osVUFBVSxFQUFBO0FBVmQ7TUFhTSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLE9BQU87TUFDUCxVQUFVO01BQ1YseUJFcmFtQjtNRlZ2Qix5QkVFd0I7TUZnYnBCLFdBQVc7TUFDWCxZQUFZLEVBQUE7QUFyQmxCO01BMEJRLHFCRTFha0IsRUFBQTtBRmdaMUI7TUE5WkUseUJFRXdCLEVBQUE7QUY0WjFCO1FBbUNRLHdCQUF3QjtRQUN4QixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixjRXZia0I7UUZ3YmxCLHlCRTViaUI7UUY2YmpCLHFCRXpia0I7UUYwYmxCLGdCQUFnQixFQUFBO0FBMUN4QjtNQStDTSxXQUFXO01BQ1gsa0JBQWtCO01BQ2xCLGdCQUFnQixFQUFBO0FBS3RCOztFQ3NqQkU7QURuakJGO0VBQ0U7SUFDRSxVQUFVO0lBQ1Ysd0NBQXdDLEVBQUE7RUFHMUM7SUFDRSxVQUFVO0lBQ1YsdUNBQXVDLEVBQUEsRUFBQTtBR2plM0M7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxRQUFRO0VBQ1IsT0FBTztFQUNQLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsb0JBQW9CLEVBQUE7QUFSdEI7SUFjSSxZQUFZLEVBQUEiLCJmaWxlIjoicHJvamVjdHMvc2VnbWVudGF0aW9uL3NyYy9hcHAvc2VnbWVudGF0aW9uLW1lbWJlcnMvc2VnbWVudGF0aW9uLW1lbWJlcnMuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdjb2xvci1wYWxldHRlJztcclxuXHJcbi8vIE9wZW4gU2FucyBGb250IEZhbWlseVxyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsMzAwOzAsNDAwOzAsNjAwOzAsNzAwOzAsODAwOzEsMzAwOzEsNDAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcCcpO1xyXG5cclxuQG1peGluIG9wZW4tc2Fucy1saWdodCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWxpZ2h0LWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLXJlZ3VsYXIge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1zZW1pYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLXNlbWlib2xkLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWJvbGQge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQG1peGluIG9wZW4tc2Fucy1ib2xkLWl0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWV4dHJhYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogODAwO1xyXG59XHJcblxyXG5AbWl4aW4gb3Blbi1zYW5zLWV4dHJhYm9sZC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLy8gSGVhZGluZ3NcclxuQG1peGluIGhlYWRpbmctMSB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuQG1peGluIGhlYWRpbmctMiB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuQG1peGluIGhlYWRpbmctMyB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuQG1peGluIGhlYWRpbmctNCB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi8vIEJvZHkgVGV4dFxyXG5AbWl4aW4gYm9keS10ZXh0LTEge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC0xO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9keS10ZXh0LTIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMThweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC0yO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9keS10ZXh0LTMge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeS1ncmF5LTE7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICYtbGlnaHQge1xyXG4gICAgICAgIEBleHRlbmQgLmJvZHktdGV4dC0zO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LXdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9keS10ZXh0LTQge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLXJlZ3VsYXI7XHJcbiAgICBmb250LXNpemU6IDhweDtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgJi1saWdodCB7XHJcbiAgICAgICAgQGV4dGVuZCAuYm9keS10ZXh0LTQ7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIExpbmtzXHJcbkBtaXhpbiBsaW5rIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnktZ3JheS0yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtYm9sZDtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRhYmxlIGhlYWRlcnNcclxuQG1peGluIHRhYmxlLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJsZS1oZWFkZXIge1xyXG4gICAgQGluY2x1ZGUgb3Blbi1zYW5zLWJvbGQ7XHJcbiAgICBAaW5jbHVkZSB0YWJsZS10ZXh0O1xyXG59XHJcblxyXG5AbWl4aW4gdGFibGUtYm9keSB7XHJcbiAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgIEBpbmNsdWRlIHRhYmxlLXRleHQ7XHJcbn1cclxuIiwiQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcblx0c3JjOiB1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMScpO1xyXG5cdHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuZW90PzE2MzczMzA2NTU0MjEjaWVmaXgnKSBmb3JtYXQoJ2VvdCcpLFxyXG5cdFx0dXJsKCcvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQud29mZj8xNjM3MzMwNjU1NDIxJykgZm9ybWF0KCd3b2ZmJyksXHJcblx0XHR1cmwoJy9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC50dGY/MTYzNzMzMDY1NTQyMScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuXHRcdHVybCgnL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnN2Zz8xNjM3MzMwNjU1NDIxI2ljb25zZm9udCcpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcbi5pY29uLWNkczpiZWZvcmUge1xyXG5cdGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xyXG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuXHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdC8qIHNwZWFrOiBub25lOyBvbmx5IG5lY2Vzc2FyeSBpZiBub3QgdXNpbmcgdGhlIHByaXZhdGUgdW5pY29kZSByYW5nZSAoZmlyc3RHbHlwaCBvcHRpb24pICovXHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5cclxuLmljb24tY2RzLWFsbG93LXNlbmRpbmctZW1haWxzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWFycm93LWxlZnQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwMlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwM1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtYnV0dG9uLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNhbGVuZGFyOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNoZWNrbWFyazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDA2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jaGVja21hcmsyOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNsaWNrZC1sb2dvOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMDlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNsb3NlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMEFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWNvbGxhcHNlZC10aXRsZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jb25kaXRpb25hbDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDBDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1jb3B5LWNvbnRlbnQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwRFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY3JlYXRlLWxlYWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY3JlYXRlLXRhc2stYWN0aXZpdHk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAwRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtY3Jvc3M6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxMFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZGVza3RvcDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDExXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1kdXBsaWNhdGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxMlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZWRpdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDEzXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbGxpcHNpczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC1zZW5kczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE3XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDE5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lbnZlbG9wZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1lcnJvcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ldmVudC1hdHRlbmRlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDFFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ldmVudC1taXNzZWQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAxRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXZlbnQtcmVnaXN0ZXJlZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDIwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1leHBhbmQtdGl0bGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyMVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXhwb3J0LWZpbGU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyMlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZXllLWNoZWNrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWV5ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI0XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1mYXZvcml0ZXM6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyNVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtZmlsdGVyOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWZ1bGwtc2NyZWVuOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMjdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWdyb3VwLWFuZDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI4XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1ncm91cC1vcjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDI5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1odG1sLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWh0bWw6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyQlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW1hZ2UtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyQ1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtaW1hZ2V0ZXh0LWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWluYm94OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMkVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWluZm86YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAyRlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbGluay1pbWFnZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDMwXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1saW5rOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzFcIjtcclxufVxyXG5cclxuLmljb24tY2RzLWxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzMlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbW9iaWxlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLW1vcmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzNFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtbW92ZTpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDM1XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wbGF5LXZpZGVvOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXBsdXMtaW4tY2lyY2xlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXBvc3RlZC1zdXJ2ZXlzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwMzhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXByZXZpZXctZW1haWw6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzOVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcHJldmlldzpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1wcmludDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNCXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZWFjdGl2YXRlLWNvbnRhY3Q6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzQ1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVmcmVzaDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDNEXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1yZW1vdmUtaW1hZ2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTAzRVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtcmVtb3ZlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwM0ZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlbW92ZWQtZnJvbS1saXN0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDBcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXJlcGxhY2UtaW1hZ2U6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0MVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2F2ZS1hczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQyXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zYXZlLWNsb3NlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmUtdG8tbXktdGVtcGxhdGVzOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNhdmU6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0NVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc2NvcmUtc3ZnOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNjb3JlOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDdcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNlbmQtc21zOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNDhcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvY2lhbC1saW5rcy1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDQ5XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb2NpYWwtbGlua3M6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA0QVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc29jaWFsLXNoYXJlLWJsb2NrOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNvcnQtZG93bjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRDXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zb3J0LXVwOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNERcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXNwYWNlci1ibG9jazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDRFXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy1zdWJtaXR0ZWQtc3Vic2NyaXB0aW9uOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNEZcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXN1Ym1pdHRlZC1zdXJ2ZXk6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1MFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtc3VjY2VzczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDUxXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10ZW1wbGF0ZS1saWJyYXJ5OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTJcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRlc3QtZW1haWw6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1M1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdGVzdC1wcmV2aWV3OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTRcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXRleHQtYmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1NVwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdHJpYW5nbGUtZG93bjpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDU2XCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodC1ib3R0b206YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1N1wiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1OFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdW5saW5rLWRpc2FibGVkOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNTlcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXVubGluazpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVBXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy11bmxvY2s6YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1QlwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdi1zaWduOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUNcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXZhbGlkYXRpb246YmVmb3JlIHtcclxuXHRjb250ZW50OiBcIlxcRTA1RFwiO1xyXG59XHJcblxyXG4uaWNvbi1jZHMtdmlldy1saXN0OmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNUVcIjtcclxufVxyXG5cclxuLmljb24tY2RzLXZpZXctdGh1bWJuYWlsczpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6IFwiXFxFMDVGXCI7XHJcbn1cclxuXHJcbi5pY29uLWNkcy13YXJuaW5nOmJlZm9yZSB7XHJcblx0Y29udGVudDogXCJcXEUwNjBcIjtcclxufVxyXG5cclxuXHIiLCJAaW1wb3J0IFwicGFnZXMvc3JjL2FwcC9zdHlsZXMvX2NvbG9yc1wiO1xyXG5AaW1wb3J0IFwiY29tbW9uLWxpYi9zcmMvc3R5bGVzL2xlZ2FjeS10aGVtZS9iYXNlL19pY29uc2ZvbnRcIjtcclxuXHJcbi5jZHMtbWFpbi1uYXYtYmFyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrLTE7XHJcbiAgcGFkZGluZy1sZWZ0OiAxN3B4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDE3cHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIC5jZHMtbmF2LWl0ZW0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiU2Vnb2UgVUlcIjtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMCAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNkcy1sb2dvLWhvbGRlciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNkcy1sb2dvLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNkcy1uYXYtZGl2aWRlciB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG4gIH1cclxufVxyXG5cclxuLmNkcy1kaWFsb2ctY29udGVudCB7XHJcbiAgcGFkZGluZzogMzBweCA0MHB4O1xyXG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xyXG4gIGhlaWdodDogY2FsYygxMDAlIC0gNzBweCk7XHJcbn1cclxuXHJcbi5zZXR0aW5ncy1zZWN0aW9uIHtcclxuICBtYXJnaW4tdG9wOiAzNXB4O1xyXG59XHJcblxyXG4uc2V0dGluZ3MtdGl0bGUtd3JhcHBlciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLmNkcy1maWVsZC1sYWJlbC1uYW1lIHtcclxuICBoZWlnaHQ6IDI2cHg7XHJcbiAgY29sb3I6ICRncmF5LWRhcmstMTtcclxuICBmb250LWZhbWlseTogXCJTZWdvZSBVSVwiO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBsaW5lLWhlaWdodDogMjZweDtcclxufVxyXG5cclxuLnNldHRpbmdzLWltcG9ydGFudC1ub3RlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA5NiwgMTgzLCAwLjEpO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgJl9faW5uZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICRncmF5LWRhcmstMTtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICB9XHJcblxyXG4gICZfX3RleHQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcblxyXG59XHJcblxyXG4uY2RzLWxpbmsge1xyXG4gIGNvbG9yOiAjMTE2MGI3O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICYuZGlzYWJsZWQge1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBjb2xvcjogIzExNjBCNztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uY2RzLWRpYWxvZy1mb290ZXIge1xyXG4gIGhlaWdodDogNDZweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodC0xO1xyXG4gIHBhZGRpbmc6IDEwcHggMzBweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcblxyXG4gIC5mb290ZXItYnRuIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICB3aWR0aDogODRweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi5jZHMtcmVxdWlyZWQge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyonO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY2RzLWlucHV0LWNvbnRhaW5lciB7XHJcbiAgaW5wdXQge1xyXG4gICAgY29sb3I6ICM0ZjU0NWI7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmM2YxZjE7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMnB4ICNjY2M7XHJcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNkcy1jaGVja2JveC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIG1hcmdpbi1ib3R0b206IDdweDtcclxuXHJcbiAgLmNkcy1jaGVja2JveCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGVja2JveC1lbXB0eS5zdmcpIG5vLXJlcGVhdDtcclxuICAgIG1hcmdpbjogMCAzcHggMCAwO1xyXG5cclxuICAgIGlucHV0IHtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgICYuY2hlY2tlZCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGVja2JveC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNkcy1jaGVja2JveC12YWx1ZSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgY29sb3I6ICM0NDQ0NDQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2V0dGluZ3MtaXRlbXMtd3JhcHBlciB7XHJcblxyXG4gIC5maWVsZC13cmFwcGVyIHtcclxuXHJcbiAgICAuY2RzLWZpZWxkLWxhYmVsLW5hbWUge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgIHdpZHRoOiAxODBweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2V0dGluZ3MtaXRlbS12YWx1ZSB7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICAgIHdpZHRoOiA0NTBweDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiRibHVlLWRhcmstMTogIzAwMjA1MDtcclxuJGJsdWUtbGlnaHQtMTogI2Q3ZWJmOTtcclxuJGJsdWUtbGlnaHQtMjogIzBiOGJlMztcclxuJGdyYXktZGFyay0xOiAjNDQ0NDQ0O1xyXG4kZ3JheS1saWdodC0xOiAjRjhGOEY4O1xyXG4kZ3JheS1saWdodC0yOiAjYjFiMWIxO1xyXG4kZ3JheS1saWdodC0zOiAjZWJlY2YwO1xyXG4kZ3JheS1saWdodC00OiAjZDVkNWQ1O1xyXG4kcmVkLWxpZ2h0LTE6ICNlYTk5OTlcclxuXHJcbiIsIkBpbXBvcnQgJy4uL2Jhc2UvY29sb3ItcGFsZXR0ZS5zY3NzJztcclxuQGltcG9ydCAnLi4vYmFzZS90eXBvZ3JhcGh5LnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9iYXNlL2ljb25zZm9udCc7XHJcblxyXG5AbWl4aW4gY2hlY2tib3gtYm9yZGVyIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxufVxyXG5cclxuQG1peGluIHNvcnRpbmctYXJyb3cge1xyXG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktMTtcclxufVxyXG5cclxuLm5neC1kYXRhdGFibGUubWF0ZXJpYWwge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGp1c3RpZnktY29udGVudDogdW5zZXQ7XHJcblxyXG4gIC52aXNpYmxlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgJi5zdHJpcGVkIHtcclxuICAgIC5kYXRhdGFibGUtcm93LW9kZCB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNlbGwtc2VsZWN0aW9uIHtcclxuICAgIC5kYXRhdGFibGUtYm9keS1jZWxsIHtcclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJjpob3ZlciAuZGF0YXRhYmxlLXJvdy1ncm91cCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNoYXJlZCBTdHlsZXNcclxuICAgKi9cclxuICAuZW1wdHktcm93IHtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4ycmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAubG9hZGluZy1yb3cge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjJyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdsb2JhbCBSb3cgU3R5bGVzXHJcbiAgICovXHJcbiAgLmRhdGF0YWJsZS1oZWFkZXIsXHJcbiAgLmRhdGF0YWJsZS1ib2R5IHtcclxuICAgIC5kYXRhdGFibGUtcm93LWxlZnQge1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVFBQUFBQkNBWUFBQUQ1UEEvTkFBQUFGa2xFUVZRSUhXUFNrTmVTQm1KaFRRVnRiaUROQ2dBU2FnSUl1Slg4T2dBQUFBQkpSVTVFcmtKZ2dnPT0pO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhdGFibGUtcm93LXJpZ2h0IHtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFRQUFBQUJDQVlBQUFENVBBL05BQUFBRmtsRVFWUUkxMlBRa05kaTFWVFE1Z2JTd2tBc0RRQVJMQUlHdE9TRlVBQUFBQUJKUlU1RXJrSmdnZz09KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhlYWRlciBTdHlsZXNcclxuICAgKi9cclxuXHJcbiAgLmRhdGF0YWJsZS1oZWFkZXIge1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuXHJcbiAgICAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWdyYXktMztcclxuICAgICAgcGFkZGluZzogOHB4IDAgOHB4O1xyXG5cclxuICAgICAgLmRhdGF0YWJsZS1oZWFkZXItY2VsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGFibGUtaGVhZGVyO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgJi10ZW1wbGF0ZS13cmFwIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICAgIC5oZWFkZXItYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDIwcHg7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuY2hlY2tib3gge1xyXG5cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuc29ydC1idG4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS0zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIC5yZXNpemUtaGFuZGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtd3JhcHBlciB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJi5sb25ncHJlc3Mge1xyXG4gICAgICAgICAgLmRyYWdnYWJsZTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgZWFzZSwgb3BhY2l0eSA0MDBtcyBlYXNlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZHJhZ2dhYmxlOjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIG1hcmdpbjogLTMwcHggMCAwIC0zMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICBmaWx0ZXI6IG5vbmU7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5kcmFnZ2luZyB7XHJcbiAgICAgICAgICAucmVzaXplLWhhbmRsZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc29ydC1hc2Mge1xyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc29ydGluZy1hcnJvdztcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNvcnQtZGVzYyB7XHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzb3J0aW5nLWFycm93O1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBCb2R5IFN0eWxlc1xyXG4gICAqL1xyXG4gIC5kYXRhdGFibGUtYm9keSB7XHJcblxyXG4gICAgLmRhdGF0YWJsZS1zY3JvbGwge1xyXG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXRhdGFibGUtYm9keS1yb3cge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeS1ncmF5LTQ7XHJcbiAgICAgIHBhZGRpbmc6IDhweCAwIDhweDtcclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWdyYXktNTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi1kZXRhaWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kYXRhdGFibGUtYm9keS1jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB0YWJsZS1ib2R5O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cclxuICAgICAgICAmLWxhYmVsIHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5lbXB0eS1yb3cge1xyXG4gICAgICBAaW5jbHVkZSBvcGVuLXNhbnMtcmVndWxhcjtcclxuICAgICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wcm9ncmVzcy1saW5lYXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3MCwgMjA5LCAyNDkpO1xyXG5cclxuICAgICAgICAuYmFyIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcclxuICAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBxdWVyeSAwLjhzIGluZmluaXRlIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiBxdWVyeSAwLjhzIGluZmluaXRlIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xyXG5cclxuICAgICAgICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE2LCAxMDgsIDIwMCk7XHJcblxyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb290ZXIgU3R5bGVzXHJcbiAgICovXHJcblxyXG4gIC5kYXRhdGFibGUtZm9vdGVyIHtcclxuICAgIEBpbmNsdWRlIG9wZW4tc2Fucy1yZWd1bGFyO1xyXG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICRtaWRuaWdodC1ibHVlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRzZWNvbmRhcnktZ3JheS00O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgLnRhYmxlLWN1c3RvbS1mb290ZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDAgMjBweDtcclxuXHJcbiAgICAgICZfX3JlY29yZGVzLWluZm8ge1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fcGFnZS1uYXYge1xyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fcGFnZXMtaW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2ZpcnN0LXBhZ2Uge1xyXG4gICAgICAgIC5idG4taW1hZ2Uge1xyXG4gICAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9hcnJvd19maXJzdF9lbGVtZW50LnN2Z1wiKTtcclxuICAgICAgICAgIGhlaWdodDogMTJweDtcclxuICAgICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJl9fcHJldi1wYWdlIHtcclxuICAgICAgICAuYnRuLWltYWdlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfcHJldmlvdXNfZWxlbWVudC5zdmdcIik7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX25leHQtcGFnZSB7XHJcbiAgICAgICAgLmJ0bi1pbWFnZSB7XHJcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2Fycm93X25leHRfZWxlbWVudC5zdmdcIik7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICZfX2xhc3QtcGFnZSB7XHJcbiAgICAgICAgLmJ0bi1pbWFnZSB7XHJcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIvYXNzZXRzL2NvbW1vbi1saWIvaW1hZ2VzL2Fycm93X2xhc3RfZWxlbWVudC5zdmdcIik7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtY291bnQge1xyXG4gICAgICBsaW5lLWhlaWdodDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZGF0YXRhYmxlLXBhZ2VyIHtcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcblxyXG4gICAgICAuZGF0YXRhYmxlLWljb24tbGVmdCxcclxuICAgICAgLmRhdGF0YWJsZS1pY29uLXNraXAsXHJcbiAgICAgIC5kYXRhdGFibGUtaWNvbi1yaWdodCxcclxuICAgICAgLmRhdGF0YWJsZS1pY29uLXByZXYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDNweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gU3VtbWFyeSByb3cgc3R5bGVzXHJcbiAgLmRhdGF0YWJsZS1zdW1tYXJ5LXJvdyB7XHJcbiAgICAuZGF0YXRhYmxlLWJvZHktcm93IHtcclxuXHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5kYXRhdGFibGUtYm9keS1jZWxsIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVja2JveGVzXHJcbioqL1xyXG4uZGF0YXRhYmxlLWNoZWNrYm94IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAwO1xyXG5cclxuICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgei1pbmRleDogMDtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktd2hpdGU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBjaGVja2JveC1ib3JkZXI7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgQGluY2x1ZGUgY2hlY2tib3gtYm9yZGVyO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIEBleHRlbmQgLmljb24tY2RzLWNoZWNrbWFyazI6YmVmb3JlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImljb25zZm9udFwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgICBwYWRkaW5nOiA0cHggMnB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1ibHVlLTM7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS13aGl0ZTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYmx1ZS0zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBQcm9ncmVzcyBiYXIgYW5pbWF0aW9uc1xyXG4gKi9cclxuQGtleWZyYW1lcyBxdWVyeSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzNSUpIHNjYWxlKDAuMywgMSk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMCwgMSk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCJAaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9T3BlbitTYW5zOml0YWwsd2dodEAwLDMwMDswLDQwMDswLDYwMDswLDcwMDswLDgwMDsxLDMwMDsxLDQwMDsxLDYwMDsxLDcwMDsxLDgwMCZkaXNwbGF5PXN3YXBcIik7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxXCIpO1xuICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5lb3Q/MTYzNzMzMDY1NTQyMSNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC53b2ZmPzE2MzczMzA2NTU0MjFcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LnR0Zj8xNjM3MzMwNjU1NDIxXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuc3ZnPzE2MzczMzA2NTU0MjEjaWNvbnNmb250XCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uaWNvbi1jZHM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5pY29uLWNkcy1hbGxvdy1zZW5kaW5nLWVtYWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwMVwiOyB9XG5cbi5pY29uLWNkcy1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAyXCI7IH1cblxuLmljb24tY2RzLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAzXCI7IH1cblxuLmljb24tY2RzLWJ1dHRvbi1ibG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNFwiOyB9XG5cbi5pY29uLWNkcy1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNVwiOyB9XG5cbi5pY29uLWNkcy1jaGVja21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDZcIjsgfVxuXG4uaWNvbi1jZHMtY2hlY2ttYXJrMjpiZWZvcmUsIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA3XCI7IH1cblxuLmljb24tY2RzLWNsaWNrZC1sb2dvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA4XCI7IH1cblxuLmljb24tY2RzLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA5XCI7IH1cblxuLmljb24tY2RzLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBBXCI7IH1cblxuLmljb24tY2RzLWNvbGxhcHNlZC10aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwQlwiOyB9XG5cbi5pY29uLWNkcy1jb25kaXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwQ1wiOyB9XG5cbi5pY29uLWNkcy1jb3B5LWNvbnRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMERcIjsgfVxuXG4uaWNvbi1jZHMtY3JlYXRlLWxlYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuXG4uaWNvbi1jZHMtY3JlYXRlLXRhc2stYWN0aXZpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEZcIjsgfVxuXG4uaWNvbi1jZHMtY3Jvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTBcIjsgfVxuXG4uaWNvbi1jZHMtZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMVwiOyB9XG5cbi5pY29uLWNkcy1kdXBsaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTJcIjsgfVxuXG4uaWNvbi1jZHMtZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxM1wiOyB9XG5cbi5pY29uLWNkcy1lbGxpcHNpczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNFwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC1zZW5kczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNlwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxN1wiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOFwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZS1lZGl0b3ItNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQVwiOyB9XG5cbi5pY29uLWNkcy1lbWFpbC10ZW1wbGF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQlwiOyB9XG5cbi5pY29uLWNkcy1lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxQ1wiOyB9XG5cbi5pY29uLWNkcy1lcnJvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRFwiOyB9XG5cbi5pY29uLWNkcy1ldmVudC1hdHRlbmRlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRVwiOyB9XG5cbi5pY29uLWNkcy1ldmVudC1taXNzZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMUZcIjsgfVxuXG4uaWNvbi1jZHMtZXZlbnQtcmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyMFwiOyB9XG5cbi5pY29uLWNkcy1leHBhbmQtdGl0bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjFcIjsgfVxuXG4uaWNvbi1jZHMtZXhwb3J0LWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjJcIjsgfVxuXG4uaWNvbi1jZHMtZXllLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIzXCI7IH1cblxuLmljb24tY2RzLWV5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNFwiOyB9XG5cbi5pY29uLWNkcy1mYXZvcml0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjVcIjsgfVxuXG4uaWNvbi1jZHMtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI2XCI7IH1cblxuLmljb24tY2RzLWZ1bGwtc2NyZWVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI3XCI7IH1cblxuLmljb24tY2RzLWdyb3VwLWFuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyOFwiOyB9XG5cbi5pY29uLWNkcy1ncm91cC1vcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyOVwiOyB9XG5cbi5pY29uLWNkcy1odG1sLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJBXCI7IH1cblxuLmljb24tY2RzLWh0bWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkJcIjsgfVxuXG4uaWNvbi1jZHMtaW1hZ2UtYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkNcIjsgfVxuXG4uaWNvbi1jZHMtaW1hZ2V0ZXh0LWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJEXCI7IH1cblxuLmljb24tY2RzLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDJFXCI7IH1cblxuLmljb24tY2RzLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkZcIjsgfVxuXG4uaWNvbi1jZHMtbGluay1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzMFwiOyB9XG5cbi5pY29uLWNkcy1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMxXCI7IH1cblxuLmljb24tY2RzLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzJcIjsgfVxuXG4uaWNvbi1jZHMtbW9iaWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMzXCI7IH1cblxuLmljb24tY2RzLW1vcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzRcIjsgfVxuXG4uaWNvbi1jZHMtbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzNVwiOyB9XG5cbi5pY29uLWNkcy1wbGF5LXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM2XCI7IH1cblxuLmljb24tY2RzLXBsdXMtaW4tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM3XCI7IH1cblxuLmljb24tY2RzLXBvc3RlZC1zdXJ2ZXlzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM4XCI7IH1cblxuLmljb24tY2RzLXByZXZpZXctZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzlcIjsgfVxuXG4uaWNvbi1jZHMtcHJldmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQVwiOyB9XG5cbi5pY29uLWNkcy1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQlwiOyB9XG5cbi5pY29uLWNkcy1yZWFjdGl2YXRlLWNvbnRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwM0NcIjsgfVxuXG4uaWNvbi1jZHMtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzRFwiOyB9XG5cbi5pY29uLWNkcy1yZW1vdmUtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwM0VcIjsgfVxuXG4uaWNvbi1jZHMtcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNGXCI7IH1cblxuLmljb24tY2RzLXJlbW92ZWQtZnJvbS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQwXCI7IH1cblxuLmljb24tY2RzLXJlcGxhY2UtaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDFcIjsgfVxuXG4uaWNvbi1jZHMtc2F2ZS1hczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0MlwiOyB9XG5cbi5pY29uLWNkcy1zYXZlLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQzXCI7IH1cblxuLmljb24tY2RzLXNhdmUtdG8tbXktdGVtcGxhdGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ0XCI7IH1cblxuLmljb24tY2RzLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDVcIjsgfVxuXG4uaWNvbi1jZHMtc2NvcmUtc3ZnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ2XCI7IH1cblxuLmljb24tY2RzLXNjb3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ3XCI7IH1cblxuLmljb24tY2RzLXNlbmQtc21zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ4XCI7IH1cblxuLmljb24tY2RzLXNvY2lhbC1saW5rcy1ibG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0OVwiOyB9XG5cbi5pY29uLWNkcy1zb2NpYWwtbGlua3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEFcIjsgfVxuXG4uaWNvbi1jZHMtc29jaWFsLXNoYXJlLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDRCXCI7IH1cblxuLmljb24tY2RzLXNvcnQtZG93bjpiZWZvcmUsIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwuc29ydC1kZXNjIHNwYW46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcRTA0Q1wiOyB9XG5cbi5pY29uLWNkcy1zb3J0LXVwOmJlZm9yZSwgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5zb3J0LWFzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgY29udGVudDogXCJcXEUwNERcIjsgfVxuXG4uaWNvbi1jZHMtc3BhY2VyLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDRFXCI7IH1cblxuLmljb24tY2RzLXN1Ym1pdHRlZC1zdWJzY3JpcHRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEZcIjsgfVxuXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1cnZleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1MFwiOyB9XG5cbi5pY29uLWNkcy1zdWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDUxXCI7IH1cblxuLmljb24tY2RzLXRlbXBsYXRlLWxpYnJhcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTJcIjsgfVxuXG4uaWNvbi1jZHMtdGVzdC1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1M1wiOyB9XG5cbi5pY29uLWNkcy10ZXN0LXByZXZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTRcIjsgfVxuXG4uaWNvbi1jZHMtdGV4dC1ibG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1NVwiOyB9XG5cbi5pY29uLWNkcy10cmlhbmdsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU2XCI7IH1cblxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0LWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1N1wiOyB9XG5cbi5pY29uLWNkcy10cmlhbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1OFwiOyB9XG5cbi5pY29uLWNkcy11bmxpbmstZGlzYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTlcIjsgfVxuXG4uaWNvbi1jZHMtdW5saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVBXCI7IH1cblxuLmljb24tY2RzLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1QlwiOyB9XG5cbi5pY29uLWNkcy12LXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUNcIjsgfVxuXG4uaWNvbi1jZHMtdmFsaWRhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1RFwiOyB9XG5cbi5pY29uLWNkcy12aWV3LWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUVcIjsgfVxuXG4uaWNvbi1jZHMtdmlldy10aHVtYm5haWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVGXCI7IH1cblxuLmljb24tY2RzLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNjBcIjsgfVxuXG4uY2RzLW1haW4tbmF2LWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDIwNTA7XG4gIHBhZGRpbmctbGVmdDogMTdweDtcbiAgcGFkZGluZy1yaWdodDogMTdweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNkcy1tYWluLW5hdi1iYXIgLmNkcy1uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuY2RzLW1haW4tbmF2LWJhciAuY2RzLWxvZ28taG9sZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuY2RzLW1haW4tbmF2LWJhciAuY2RzLWxvZ28tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAuY2RzLW1haW4tbmF2LWJhciAuY2RzLW5hdi1kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxuLmNkcy1kaWFsb2ctY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgbWluLWhlaWdodDogNTUwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gNzBweCk7IH1cblxuLnNldHRpbmdzLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi5zZXR0aW5ncy10aXRsZS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDsgfVxuXG4uY2RzLWZpZWxkLWxhYmVsLW5hbWUge1xuICBoZWlnaHQ6IDI2cHg7XG4gIGNvbG9yOiAjNDQ0NDQ0O1xuICBmb250LWZhbWlseTogXCJTZWdvZSBVSVwiO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi5zZXR0aW5ncy1pbXBvcnRhbnQtbm90ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDk2LCAxODMsIDAuMSk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnNldHRpbmdzLWltcG9ydGFudC1ub3RlX19pbm5lciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNDQ0NDQ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNlZ29lIFVJXCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIC5zZXR0aW5ncy1pbXBvcnRhbnQtbm90ZV9fdGV4dCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2RzLWxpbmsge1xuICBjb2xvcjogIzExNjBiNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNkcy1saW5rLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGNvbG9yOiAjMTE2MEI3O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY2RzLWRpYWxvZy1mb290ZXIge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5jZHMtZGlhbG9nLWZvb3RlciAuZm9vdGVyLWJ0biB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDg0cHg7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5jZHMtcmVxdWlyZWQ6YWZ0ZXIge1xuICBjb250ZW50OiAnKic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgY29sb3I6IHJlZDsgfVxuXG4uY2RzLWlucHV0LWNvbnRhaW5lciBpbnB1dCB7XG4gIGNvbG9yOiAjNGY1NDViO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIC1tb3otYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBmb250LWZhbWlseTogXCJTZWdvZSBVSVwiOyB9XG4gIC5jZHMtaW5wdXQtY29udGFpbmVyIGlucHV0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmMWYxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAycHggI2NjYztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuXG4uY2RzLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW4tYm90dG9tOiA3cHg7IH1cbiAgLmNkcy1jaGVja2JveC1jb250YWluZXIgLmNkcy1jaGVja2JveCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2NoZWNrYm94LWVtcHR5LnN2Zykgbm8tcmVwZWF0O1xuICAgIG1hcmdpbjogMCAzcHggMCAwOyB9XG4gICAgLmNkcy1jaGVja2JveC1jb250YWluZXIgLmNkcy1jaGVja2JveCBpbnB1dCB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAuY2RzLWNoZWNrYm94LWNvbnRhaW5lciAuY2RzLWNoZWNrYm94LmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2NoZWNrYm94LWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQ7IH1cbiAgLmNkcy1jaGVja2JveC1jb250YWluZXIgLmNkcy1jaGVja2JveC12YWx1ZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjNDQ0NDQ0OyB9XG5cbi5zZXR0aW5ncy1pdGVtcy13cmFwcGVyIC5maWVsZC13cmFwcGVyIC5jZHMtZmllbGQtbGFiZWwtbmFtZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWF4LXdpZHRoOiAxODBweDtcbiAgd2lkdGg6IDE4MHB4OyB9XG5cbi5zZXR0aW5ncy1pdGVtcy13cmFwcGVyIC5maWVsZC13cmFwcGVyIC5zZXR0aW5ncy1pdGVtLXZhbHVlIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWF4LXdpZHRoOiA0NTBweDtcbiAgd2lkdGg6IDQ1MHB4OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQuZW90PzE2MzczMzA2NTU0MjFcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LmVvdD8xNjM3MzMwNjU1NDIxI2llZml4XCIpIGZvcm1hdChcImVvdFwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9pY29uc2ZvbnQvaWNvbnNmb250LndvZmY/MTYzNzMzMDY1NTQyMVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2ljb25zZm9udC9pY29uc2ZvbnQudHRmPzE2MzczMzA2NTU0MjFcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvaWNvbnNmb250L2ljb25zZm9udC5zdmc/MTYzNzMzMDY1NTQyMSNpY29uc2ZvbnRcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5pY29uLWNkczpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIHNwZWFrOiBub25lOyBvbmx5IG5lY2Vzc2FyeSBpZiBub3QgdXNpbmcgdGhlIHByaXZhdGUgdW5pY29kZSByYW5nZSAoZmlyc3RHbHlwaCBvcHRpb24pICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmljb24tY2RzLWFsbG93LXNlbmRpbmctZW1haWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cblxuLmljb24tY2RzLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uaWNvbi1jZHMtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDNcIjsgfVxuXG4uaWNvbi1jZHMtYnV0dG9uLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA0XCI7IH1cblxuLmljb24tY2RzLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA1XCI7IH1cblxuLmljb24tY2RzLWNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwNlwiOyB9XG5cbi5pY29uLWNkcy1jaGVja21hcmsyOmJlZm9yZSwgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDdcIjsgfVxuXG4uaWNvbi1jZHMtY2xpY2tkLWxvZ286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDhcIjsgfVxuXG4uaWNvbi1jZHMtY2xvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDlcIjsgfVxuXG4uaWNvbi1jZHMtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEFcIjsgfVxuXG4uaWNvbi1jZHMtY29sbGFwc2VkLXRpdGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBCXCI7IH1cblxuLmljb24tY2RzLWNvbmRpdGlvbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBDXCI7IH1cblxuLmljb24tY2RzLWNvcHktY29udGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRFwiOyB9XG5cbi5pY29uLWNkcy1jcmVhdGUtbGVhZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRVwiOyB9XG5cbi5pY29uLWNkcy1jcmVhdGUtdGFzay1hY3Rpdml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRlwiOyB9XG5cbi5pY29uLWNkcy1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMFwiOyB9XG5cbi5pY29uLWNkcy1kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDExXCI7IH1cblxuLmljb24tY2RzLWR1cGxpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxMlwiOyB9XG5cbi5pY29uLWNkcy1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDEzXCI7IH1cblxuLmljb24tY2RzLWVsbGlwc2lzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE0XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXNlbmRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE1XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE2XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE3XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci0zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE4XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci00OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE5XCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlLWVkaXRvci01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFBXCI7IH1cblxuLmljb24tY2RzLWVtYWlsLXRlbXBsYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFCXCI7IH1cblxuLmljb24tY2RzLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFDXCI7IH1cblxuLmljb24tY2RzLWVycm9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFEXCI7IH1cblxuLmljb24tY2RzLWV2ZW50LWF0dGVuZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFFXCI7IH1cblxuLmljb24tY2RzLWV2ZW50LW1pc3NlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxRlwiOyB9XG5cbi5pY29uLWNkcy1ldmVudC1yZWdpc3RlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDIwXCI7IH1cblxuLmljb24tY2RzLWV4cGFuZC10aXRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyMVwiOyB9XG5cbi5pY29uLWNkcy1leHBvcnQtZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyMlwiOyB9XG5cbi5pY29uLWNkcy1leWUtY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjNcIjsgfVxuXG4uaWNvbi1jZHMtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI0XCI7IH1cblxuLmljb24tY2RzLWZhdm9yaXRlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyNVwiOyB9XG5cbi5pY29uLWNkcy1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjZcIjsgfVxuXG4uaWNvbi1jZHMtZnVsbC1zY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMjdcIjsgfVxuXG4uaWNvbi1jZHMtZ3JvdXAtYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI4XCI7IH1cblxuLmljb24tY2RzLWdyb3VwLW9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDI5XCI7IH1cblxuLmljb24tY2RzLWh0bWwtYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkFcIjsgfVxuXG4uaWNvbi1jZHMtaHRtbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyQlwiOyB9XG5cbi5pY29uLWNkcy1pbWFnZS1ibG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyQ1wiOyB9XG5cbi5pY29uLWNkcy1pbWFnZXRleHQtYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkRcIjsgfVxuXG4uaWNvbi1jZHMtaW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMkVcIjsgfVxuXG4uaWNvbi1jZHMtaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAyRlwiOyB9XG5cbi5pY29uLWNkcy1saW5rLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDMwXCI7IH1cblxuLmljb24tY2RzLWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzFcIjsgfVxuXG4uaWNvbi1jZHMtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzMlwiOyB9XG5cbi5pY29uLWNkcy1tb2JpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzNcIjsgfVxuXG4uaWNvbi1jZHMtbW9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzNFwiOyB9XG5cbi5pY29uLWNkcy1tb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDM1XCI7IH1cblxuLmljb24tY2RzLXBsYXktdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzZcIjsgfVxuXG4uaWNvbi1jZHMtcGx1cy1pbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzdcIjsgfVxuXG4uaWNvbi1jZHMtcG9zdGVkLXN1cnZleXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMzhcIjsgfVxuXG4uaWNvbi1jZHMtcHJldmlldy1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzOVwiOyB9XG5cbi5pY29uLWNkcy1wcmV2aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNBXCI7IH1cblxuLmljb24tY2RzLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNCXCI7IH1cblxuLmljb24tY2RzLXJlYWN0aXZhdGUtY29udGFjdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzQ1wiOyB9XG5cbi5pY29uLWNkcy1yZWZyZXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDNEXCI7IH1cblxuLmljb24tY2RzLXJlbW92ZS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAzRVwiOyB9XG5cbi5pY29uLWNkcy1yZW1vdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwM0ZcIjsgfVxuXG4uaWNvbi1jZHMtcmVtb3ZlZC1mcm9tLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDBcIjsgfVxuXG4uaWNvbi1jZHMtcmVwbGFjZS1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0MVwiOyB9XG5cbi5pY29uLWNkcy1zYXZlLWFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQyXCI7IH1cblxuLmljb24tY2RzLXNhdmUtY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDNcIjsgfVxuXG4uaWNvbi1jZHMtc2F2ZS10by1teS10ZW1wbGF0ZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDRcIjsgfVxuXG4uaWNvbi1jZHMtc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0NVwiOyB9XG5cbi5pY29uLWNkcy1zY29yZS1zdmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDZcIjsgfVxuXG4uaWNvbi1jZHMtc2NvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDdcIjsgfVxuXG4uaWNvbi1jZHMtc2VuZC1zbXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNDhcIjsgfVxuXG4uaWNvbi1jZHMtc29jaWFsLWxpbmtzLWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDQ5XCI7IH1cblxuLmljb24tY2RzLXNvY2lhbC1saW5rczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0QVwiOyB9XG5cbi5pY29uLWNkcy1zb2NpYWwtc2hhcmUtYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEJcIjsgfVxuXG4uaWNvbi1jZHMtc29ydC1kb3duOmJlZm9yZSwgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5zb3J0LWRlc2Mgc3BhbjpmaXJzdC1jaGlsZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxFMDRDXCI7IH1cblxuLmljb24tY2RzLXNvcnQtdXA6YmVmb3JlLCAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnQtYXNjIHNwYW46Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcRTA0RFwiOyB9XG5cbi5pY29uLWNkcy1zcGFjZXItYmxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNEVcIjsgfVxuXG4uaWNvbi1jZHMtc3VibWl0dGVkLXN1YnNjcmlwdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA0RlwiOyB9XG5cbi5pY29uLWNkcy1zdWJtaXR0ZWQtc3VydmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDUwXCI7IH1cblxuLmljb24tY2RzLXN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTFcIjsgfVxuXG4uaWNvbi1jZHMtdGVtcGxhdGUtbGlicmFyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1MlwiOyB9XG5cbi5pY29uLWNkcy10ZXN0LWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDUzXCI7IH1cblxuLmljb24tY2RzLXRlc3QtcHJldmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1NFwiOyB9XG5cbi5pY29uLWNkcy10ZXh0LWJsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU1XCI7IH1cblxuLmljb24tY2RzLXRyaWFuZ2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNTZcIjsgfVxuXG4uaWNvbi1jZHMtdHJpYW5nbGUtcmlnaHQtYm90dG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU3XCI7IH1cblxuLmljb24tY2RzLXRyaWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDU4XCI7IH1cblxuLmljb24tY2RzLXVubGluay1kaXNhYmxlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1OVwiOyB9XG5cbi5pY29uLWNkcy11bmxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUFcIjsgfVxuXG4uaWNvbi1jZHMtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVCXCI7IH1cblxuLmljb24tY2RzLXYtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1Q1wiOyB9XG5cbi5pY29uLWNkcy12YWxpZGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDVEXCI7IH1cblxuLmljb24tY2RzLXZpZXctbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA1RVwiOyB9XG5cbi5pY29uLWNkcy12aWV3LXRodW1ibmFpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwNUZcIjsgfVxuXG4uaWNvbi1jZHMtd2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTA2MFwiOyB9XG5cbi5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gIC8qKlxyXG4gICAqIFNoYXJlZCBTdHlsZXNcclxuICAgKi9cbiAgLyoqXHJcbiAgICogR2xvYmFsIFJvdyBTdHlsZXNcclxuICAgKi9cbiAgLyoqXHJcbiAgICogSGVhZGVyIFN0eWxlc1xyXG4gICAqL1xuICAvKipcclxuICAgKiBCb2R5IFN0eWxlc1xyXG4gICAqL1xuICAvKipcclxuICAgKiBGb290ZXIgU3R5bGVzXHJcbiAgICovIH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLnZpc2libGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbC5jZWxsLXNlbGVjdGlvbiAuZGF0YXRhYmxlLWJvZHktY2VsbDpob3ZlcixcbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwuY2VsbC1zZWxlY3Rpb24gLmRhdGF0YWJsZS1ib2R5LWNlbGw6aG92ZXIgLmRhdGF0YWJsZS1yb3ctZ3JvdXAge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG4gIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5lbXB0eS1yb3cge1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxLjJyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5sb2FkaW5nLXJvdyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMS4ycmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLXJvdy1sZWZ0LFxuICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1yb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFCQ0FZQUFBRDVQQS9OQUFBQUZrbEVRVlFJSFdQU2tOZVNCbUpoVFFWdGJpRE5DZ0FTYWdJSXVKWDhPZ0FBQUFCSlJVNUVya0pnZ2c9PSk7IH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1yb3ctcmlnaHQsXG4gIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLXJvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBUUFBQUFCQ0FZQUFBRDVQQS9OQUFBQUZrbEVRVlFJMTJQUWtOZGkxVlRRNWdiU3drQXNEUUFSTEFJR3RPU0ZVQUFBQUFCSlJVNUVya0pnZ2c9PSk7IH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5MmExYjU7XG4gICAgICBwYWRkaW5nOiA4cHggMCA4cHg7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwge1xuICAgICAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICMxNzMzNTc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDsgfVxuICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLXRlbXBsYXRlLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC10ZW1wbGF0ZS13cmFwIC5oZWFkZXItYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAyMHB4OyB9XG4gICAgICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLXRlbXBsYXRlLXdyYXAgLmhlYWRlci1idXR0b246aG92ZXIge1xuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLXRlbXBsYXRlLXdyYXAgLnNvcnQtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbDpob3Zlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzkyYTFiNTsgfVxuICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsOmxhc3QtY2hpbGQgLnJlc2l6ZS1oYW5kbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC13cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5sb25ncHJlc3MgLmRyYWdnYWJsZTo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlLCBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbCAuZHJhZ2dhYmxlOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1oZWFkZXIgLmRhdGF0YWJsZS1oZWFkZXItaW5uZXIgLmRhdGF0YWJsZS1oZWFkZXItY2VsbC5kcmFnZ2luZyAucmVzaXplLWhhbmRsZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtaGVhZGVyIC5kYXRhdGFibGUtaGVhZGVyLWlubmVyIC5kYXRhdGFibGUtaGVhZGVyLWNlbGwuc29ydC1hc2Mgc3BhbjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE0cHg7XG4gICAgICAgICAgY29sb3I6ICMyODM1NDE7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWhlYWRlciAuZGF0YXRhYmxlLWhlYWRlci1pbm5lciAuZGF0YXRhYmxlLWhlYWRlci1jZWxsLnNvcnQtZGVzYyBzcGFuOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgICBjb2xvcjogIzI4MzU0MTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJpY29uc2ZvbnRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLXNjcm9sbCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRlZTY7XG4gICAgcGFkZGluZzogOHB4IDAgOHB4OyB9XG4gICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYmVjZjA7IH1cbiAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdy1kZXRhaWwge1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzE3MzM1NztcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGwtbGFiZWwge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGwtbGFiZWwgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtYm9keSAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsLWxhYmVsIC5pY29uIHtcbiAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDI0cHg7IH1cbiAgICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5kYXRhdGFibGUtYm9keS1yb3cgLmRhdGF0YWJsZS1ib2R5LWNlbGwtbGFiZWwgLmxvZ28ge1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzBweDsgfVxuICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLmRhdGF0YWJsZS1ib2R5LXJvdyAuZGF0YXRhYmxlLWJvZHktY2VsbC1sYWJlbCBzcGFuIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5lbXB0eS1yb3cge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMTczMzU3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWJvZHkgLnByb2dyZXNzLWxpbmVhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5wcm9ncmVzcy1saW5lYXIgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxLCAxKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEsIDEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhZDFmOTsgfVxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1ib2R5IC5wcm9ncmVzcy1saW5lYXIgLmNvbnRhaW5lciAuYmFyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcXVlcnkgMC44cyBpbmZpbml0ZSBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTtcbiAgICAgICAgYW5pbWF0aW9uOiBxdWVyeSAwLjhzIGluZmluaXRlIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGxpbmVhcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTA2Y2M4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1cHg7IH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMTczMzU3O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkZWU2O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLnRhYmxlLWN1c3RvbS1mb290ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyX19wYWdlcy1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLnRhYmxlLWN1c3RvbS1mb290ZXIgYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAudGFibGUtY3VzdG9tLWZvb3RlciBidXR0b246aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLnRhYmxlLWN1c3RvbS1mb290ZXJfX2ZpcnN0LXBhZ2UgLmJ0bi1pbWFnZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfZmlyc3RfZWxlbWVudC5zdmdcIik7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDE1cHg7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyX19wcmV2LXBhZ2UgLmJ0bi1pbWFnZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfcHJldmlvdXNfZWxlbWVudC5zdmdcIik7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgd2lkdGg6IDE1cHg7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC50YWJsZS1jdXN0b20tZm9vdGVyX19uZXh0LXBhZ2UgLmJ0bi1pbWFnZSB7XG4gICAgICAgIGNvbnRlbnQ6IHVybChcIi9hc3NldHMvY29tbW9uLWxpYi9pbWFnZXMvYXJyb3dfbmV4dF9lbGVtZW50LnN2Z1wiKTtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTVweDsgfVxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLnRhYmxlLWN1c3RvbS1mb290ZXJfX2xhc3QtcGFnZSAuYnRuLWltYWdlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiL2Fzc2V0cy9jb21tb24tbGliL2ltYWdlcy9hcnJvd19sYXN0X2VsZW1lbnQuc3ZnXCIpO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIHdpZHRoOiAxNXB4OyB9XG4gICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLnBhZ2UtY291bnQge1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEuMnJlbTsgfVxuICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIge1xuICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgIC5uZ3gtZGF0YXRhYmxlLm1hdGVyaWFsIC5kYXRhdGFibGUtZm9vdGVyIC5kYXRhdGFibGUtcGFnZXIgLmRhdGF0YWJsZS1pY29uLWxlZnQsXG4gICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1za2lwLFxuICAgICAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1mb290ZXIgLmRhdGF0YWJsZS1wYWdlciAuZGF0YXRhYmxlLWljb24tcmlnaHQsXG4gICAgICAubmd4LWRhdGF0YWJsZS5tYXRlcmlhbCAuZGF0YXRhYmxlLWZvb3RlciAuZGF0YXRhYmxlLXBhZ2VyIC5kYXRhdGFibGUtaWNvbi1wcmV2IHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7IH1cbiAgLm5neC1kYXRhdGFibGUubWF0ZXJpYWwgLmRhdGF0YWJsZS1zdW1tYXJ5LXJvdyAuZGF0YXRhYmxlLWJvZHktcm93IC5kYXRhdGFibGUtYm9keS1jZWxsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcclxuICogQ2hlY2tib3hlc1xyXG4qKi9cbi5kYXRhdGFibGUtY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cbiAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAwOyB9XG4gICAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5MmExYjU7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgIC5kYXRhdGFibGUtY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpob3ZlcjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGI4YmUzOyB9XG4gICAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzkyYTFiNTsgfVxuICAgICAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbnNmb250XCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogNHB4IDJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzBiOGJlMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGI4YmUzO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLmRhdGF0YWJsZS1jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4vKipcclxuICogUHJvZ3Jlc3MgYmFyIGFuaW1hdGlvbnNcclxuICovXG5Aa2V5ZnJhbWVzIHF1ZXJ5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM1JSkgc2NhbGUoMC4zLCAxKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLCAxKTsgfSB9XG5cbjpob3N0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIDpob3N0IC5vdXRsZXQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiIsIi8vIFByaW1hcnkgQ29sb3JzXHJcbiRwcmltYXJ5LXBpbms6ICNlMzFhNTE7XHJcbiRwcmltYXJ5LWJsdWU6ICMxNTMyNTg7XHJcblxyXG4vLyBTZWNvbmRhcnkgQ29sb3JzXHJcbiRzZWNvbmRhcnktZ3JheS0xOiAjMjgzNTQxO1xyXG4kc2Vjb25kYXJ5LWdyYXktMjogIzYxNzA4MjtcclxuJHNlY29uZGFyeS1ncmF5LTM6ICM5MmExYjU7XHJcbiRzZWNvbmRhcnktZ3JheS00OiAjZGFkZWU2O1xyXG4kc2Vjb25kYXJ5LWdyYXktNTogI2ViZWNmMDtcclxuJGdyYXktZGFyay0xOiAjNDQ0NDQ0O1xyXG4kZ3JheS1saWdodC0xOiAjZjhmOGY4O1xyXG4kZ3JheS1saWdodC0yOiAjYjFiMWIxO1xyXG4kZ3JheS1saWdodC00OiAjZDVkNWQ1O1xyXG5cclxuJHNlY29uZGFyeS13aGl0ZTogI2ZmZmZmZjtcclxuXHJcbiRzZWNvbmRhcnktYmx1ZS0xOiAjNDU2NThkO1xyXG4kc2Vjb25kYXJ5LWJsdWUtMjogIzVjODhiZjtcclxuJHNlY29uZGFyeS1ibHVlLTM6ICMwYjhiZTM7XHJcbiRzZWNvbmRhcnktYmx1ZS00OiAjZTZmM2ZmO1xyXG4kYmx1ZS1saWdodC0xOiAjZDdlYmY5O1xyXG4kYmx1ZS1kYXJrLTE6ICMwMDIwNTA7XHJcbiRtaWRuaWdodC1ibHVlOiAjMTczMzU3O1xyXG5cclxuJHNlY29uZGFyeS1waW5rOiAjYzEwZTNlO1xyXG4kc2Vjb25kYXJ5LWdyZWVuOiAjMmNhYzYwO1xyXG4kc2Vjb25kYXJ5LWdyZWVuLTI6ICMwYjgwM2I7XHJcbiRzZWNvbmRhcnkteWVsbG93OiAjZmNhZjE3O1xyXG4kc2Vjb25kYXJ5LXB1cnBsZTogIzhlNDRhYztcclxuJHNlY29uZGFyeS1vcmFuZ2U6ICNmZjZjMDU7XHJcblxyXG4kY3JhbmJlcnJ5LXJlZDogI2RmMjI1NTtcclxuJHJlZC1saWdodC0xOiAjZWE5OTk5O1xyXG4iLCJAaW1wb3J0IFwiLi4vLi4vYXBwL3N0eWxlcy9jbGlja2Qtc2V0dGluZ3MtYW5zaWJsZS10aGVtZVwiO1xyXG5AaW1wb3J0IFwiY29tbW9uLWxpYi9zcmMvc3R5bGVzL2Fuc2libGUtdGhlbWUvY29tcG9uZW50cy9zd2ltbGFuZS1uZ3gtZGF0YXRhYmxlXCI7XHJcblxyXG46aG9zdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbGVmdDogMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcblxyXG4gIC5vdXRsZXQtY29udGFpbmVyIHtcclxuICAgIC8vV2Ugc2hvdWxkIG5vdCBhZGQgcGFkZGluZyBmb3Igd2hvbGUgb3V0bGV0IGNvbnRhaW5lciBvZiBjb21wb25lbnQsIGJlY2F1c2Ugd2UgbmVlZCBkaWZmZXJlbnQgZm9vdGVyIG9uIGV2ZXJ5IHBhZ2Ugb2YgdGhpcyBjb21wb25lbnQuXHJcbiAgICAvL0FjY29yZGluZyB0byBzdHlsZSBndWlkZSBpdCBpcyAxMDAlIHdpZGVcclxuXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\n@Component({\r\n selector: 'cdp-event-management-configurations',\r\n templateUrl: './segmentation-members.component.html',\r\n styleUrls: ['./segmentation-members.component.scss']\r\n})\r\nexport class SegmentationMembersComponent implements OnInit {\r\n constructor(\r\n private router: Router,\r\n private rout: ActivatedRoute,\r\n private titleService: Title,\r\n private translate: TranslateService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.titleService.setTitle(\r\n this.translate.instant('Segmentation Members Grid')\r\n );\r\n this.router.navigate(\r\n [\"segmentation-members/grid\"],\r\n {\r\n relativeTo: this.rout.parent,\r\n queryParamsHandling: 'preserve',\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { Store } from 'rxjs-observable-store';\r\nimport { catchError, finalize } from 'rxjs/operators';\r\nimport { Logger } from '@clickd-angular/common-lib';\r\nimport { EM1 } from '../app.interfaces';\r\nimport { PagesGroups } from '../../../../pages/src/app/social-profile-configurations/social-profile-configurations.api';\r\nimport {\r\n AuthorizationUrl, EMStatus, SegmentationMembersApi, ReAuthResponse\r\n} from './segmentation-members.api';\r\n\r\n\r\nexport class SegmentationMembersState {\r\n accountKey: string = 'atJrdi7f2EmJ0ZgoMyj97A';\r\n isBasicLicense = false;\r\n emStatus: EMStatus = EMStatus.Connectors;\r\n connectors: EM1[\"leads\"];\r\n connector: EM1;\r\n isLoadingConnectors = false;\r\n totalElements: number;\r\n network: string;\r\n type: string = '';\r\n token: string = '';\r\n isUpdateValid: boolean = false;\r\n showSelection: boolean = false;\r\n pagesGroups: PagesGroups[] = [];\r\n isProfileLimitReached: boolean = false;\r\n otherError: boolean = false;\r\n isAuthSuccess: boolean = false;\r\n}\r\n\r\n@Injectable({providedIn: 'root'})\r\n\r\nexport class SegmentationMembersService extends Store {\r\n constructor(\r\n private segmentationMembersApi: SegmentationMembersApi,\r\n private logger: Logger\r\n ) {\r\n super(new SegmentationMembersState());\r\n }\r\n\r\n async getConnectors(accountKey: string, segmentId: string, pageSize: number, pageId: number ,columnName: string, ascOrDesc: string) {\r\n if (true) {\r\n this.segmentationMembersApi\r\n .getConnectors(accountKey,segmentId,pageSize,pageId,columnName,ascOrDesc)\r\n .pipe(\r\n finalize(() => {\r\n this.patchState(false, 'isLoadingConnectors');\r\n })\r\n )\r\n .subscribe(\r\n (data) => {\r\n this.setState({\r\n ...this.state,\r\n emStatus: EMStatus.Connectors,\r\n connectors: data[\"leads\"],\r\n totalElements: data.totalRecords,\r\n });\r\n },\r\n (error: any) => {\r\n this.logger.error(error);\r\n }\r\n );\r\n } \r\n }\r\n}\r\n","export const environment = {\r\n name: 'LOCAL' as 'DEV' | 'QA' | 'PREPROD' | 'LOCAL',\r\n production: false,\r\n mscrmappServiceApiUrl: 'https://localhost/',\r\n isProduction: 'false',\r\n segmentationMembersApiUrl: 'https://localhost:44389/'\r\n};\r\n","import { ApplicationRef, enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { enableDebugTools } from '@angular/platform-browser';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .then(moduleRef => {\r\n //this will add the abiltity to use ng.prob on the console in development mode to allow easier debugging\r\n const applicationRef = moduleRef.injector.get(ApplicationRef);\r\n const componentRef = applicationRef.components[0];\r\n // allows to run `ng.profiler.timeChangeDetection();`\r\n if (!(environment.production)) {\r\n enableDebugTools(componentRef);\r\n }\r\n })\r\n .catch(err => console.error(err));"],"sourceRoot":"webpack:///"}